mozilla-bmo1491289.patch
branchfirefox63
changeset 1078 9f49c406dc11
equal deleted inserted replaced
1077:d8601c72c87b 1078:9f49c406dc11
       
     1 diff --git a/third_party/prio/LICENSE b/third_party/prio/LICENSE
       
     2 deleted file mode 100644
       
     3 --- a/third_party/prio/LICENSE
       
     4 +++ /dev/null
       
     5 @@ -1,373 +0,0 @@
       
     6 -Mozilla Public License Version 2.0
       
     7 -==================================
       
     8 -
       
     9 -1. Definitions
       
    10 ---------------
       
    11 -
       
    12 -1.1. "Contributor"
       
    13 -    means each individual or legal entity that creates, contributes to
       
    14 -    the creation of, or owns Covered Software.
       
    15 -
       
    16 -1.2. "Contributor Version"
       
    17 -    means the combination of the Contributions of others (if any) used
       
    18 -    by a Contributor and that particular Contributor's Contribution.
       
    19 -
       
    20 -1.3. "Contribution"
       
    21 -    means Covered Software of a particular Contributor.
       
    22 -
       
    23 -1.4. "Covered Software"
       
    24 -    means Source Code Form to which the initial Contributor has attached
       
    25 -    the notice in Exhibit A, the Executable Form of such Source Code
       
    26 -    Form, and Modifications of such Source Code Form, in each case
       
    27 -    including portions thereof.
       
    28 -
       
    29 -1.5. "Incompatible With Secondary Licenses"
       
    30 -    means
       
    31 -
       
    32 -    (a) that the initial Contributor has attached the notice described
       
    33 -        in Exhibit B to the Covered Software; or
       
    34 -
       
    35 -    (b) that the Covered Software was made available under the terms of
       
    36 -        version 1.1 or earlier of the License, but not also under the
       
    37 -        terms of a Secondary License.
       
    38 -
       
    39 -1.6. "Executable Form"
       
    40 -    means any form of the work other than Source Code Form.
       
    41 -
       
    42 -1.7. "Larger Work"
       
    43 -    means a work that combines Covered Software with other material, in
       
    44 -    a separate file or files, that is not Covered Software.
       
    45 -
       
    46 -1.8. "License"
       
    47 -    means this document.
       
    48 -
       
    49 -1.9. "Licensable"
       
    50 -    means having the right to grant, to the maximum extent possible,
       
    51 -    whether at the time of the initial grant or subsequently, any and
       
    52 -    all of the rights conveyed by this License.
       
    53 -
       
    54 -1.10. "Modifications"
       
    55 -    means any of the following:
       
    56 -
       
    57 -    (a) any file in Source Code Form that results from an addition to,
       
    58 -        deletion from, or modification of the contents of Covered
       
    59 -        Software; or
       
    60 -
       
    61 -    (b) any new file in Source Code Form that contains any Covered
       
    62 -        Software.
       
    63 -
       
    64 -1.11. "Patent Claims" of a Contributor
       
    65 -    means any patent claim(s), including without limitation, method,
       
    66 -    process, and apparatus claims, in any patent Licensable by such
       
    67 -    Contributor that would be infringed, but for the grant of the
       
    68 -    License, by the making, using, selling, offering for sale, having
       
    69 -    made, import, or transfer of either its Contributions or its
       
    70 -    Contributor Version.
       
    71 -
       
    72 -1.12. "Secondary License"
       
    73 -    means either the GNU General Public License, Version 2.0, the GNU
       
    74 -    Lesser General Public License, Version 2.1, the GNU Affero General
       
    75 -    Public License, Version 3.0, or any later versions of those
       
    76 -    licenses.
       
    77 -
       
    78 -1.13. "Source Code Form"
       
    79 -    means the form of the work preferred for making modifications.
       
    80 -
       
    81 -1.14. "You" (or "Your")
       
    82 -    means an individual or a legal entity exercising rights under this
       
    83 -    License. For legal entities, "You" includes any entity that
       
    84 -    controls, is controlled by, or is under common control with You. For
       
    85 -    purposes of this definition, "control" means (a) the power, direct
       
    86 -    or indirect, to cause the direction or management of such entity,
       
    87 -    whether by contract or otherwise, or (b) ownership of more than
       
    88 -    fifty percent (50%) of the outstanding shares or beneficial
       
    89 -    ownership of such entity.
       
    90 -
       
    91 -2. License Grants and Conditions
       
    92 ---------------------------------
       
    93 -
       
    94 -2.1. Grants
       
    95 -
       
    96 -Each Contributor hereby grants You a world-wide, royalty-free,
       
    97 -non-exclusive license:
       
    98 -
       
    99 -(a) under intellectual property rights (other than patent or trademark)
       
   100 -    Licensable by such Contributor to use, reproduce, make available,
       
   101 -    modify, display, perform, distribute, and otherwise exploit its
       
   102 -    Contributions, either on an unmodified basis, with Modifications, or
       
   103 -    as part of a Larger Work; and
       
   104 -
       
   105 -(b) under Patent Claims of such Contributor to make, use, sell, offer
       
   106 -    for sale, have made, import, and otherwise transfer either its
       
   107 -    Contributions or its Contributor Version.
       
   108 -
       
   109 -2.2. Effective Date
       
   110 -
       
   111 -The licenses granted in Section 2.1 with respect to any Contribution
       
   112 -become effective for each Contribution on the date the Contributor first
       
   113 -distributes such Contribution.
       
   114 -
       
   115 -2.3. Limitations on Grant Scope
       
   116 -
       
   117 -The licenses granted in this Section 2 are the only rights granted under
       
   118 -this License. No additional rights or licenses will be implied from the
       
   119 -distribution or licensing of Covered Software under this License.
       
   120 -Notwithstanding Section 2.1(b) above, no patent license is granted by a
       
   121 -Contributor:
       
   122 -
       
   123 -(a) for any code that a Contributor has removed from Covered Software;
       
   124 -    or
       
   125 -
       
   126 -(b) for infringements caused by: (i) Your and any other third party's
       
   127 -    modifications of Covered Software, or (ii) the combination of its
       
   128 -    Contributions with other software (except as part of its Contributor
       
   129 -    Version); or
       
   130 -
       
   131 -(c) under Patent Claims infringed by Covered Software in the absence of
       
   132 -    its Contributions.
       
   133 -
       
   134 -This License does not grant any rights in the trademarks, service marks,
       
   135 -or logos of any Contributor (except as may be necessary to comply with
       
   136 -the notice requirements in Section 3.4).
       
   137 -
       
   138 -2.4. Subsequent Licenses
       
   139 -
       
   140 -No Contributor makes additional grants as a result of Your choice to
       
   141 -distribute the Covered Software under a subsequent version of this
       
   142 -License (see Section 10.2) or under the terms of a Secondary License (if
       
   143 -permitted under the terms of Section 3.3).
       
   144 -
       
   145 -2.5. Representation
       
   146 -
       
   147 -Each Contributor represents that the Contributor believes its
       
   148 -Contributions are its original creation(s) or it has sufficient rights
       
   149 -to grant the rights to its Contributions conveyed by this License.
       
   150 -
       
   151 -2.6. Fair Use
       
   152 -
       
   153 -This License is not intended to limit any rights You have under
       
   154 -applicable copyright doctrines of fair use, fair dealing, or other
       
   155 -equivalents.
       
   156 -
       
   157 -2.7. Conditions
       
   158 -
       
   159 -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
       
   160 -in Section 2.1.
       
   161 -
       
   162 -3. Responsibilities
       
   163 --------------------
       
   164 -
       
   165 -3.1. Distribution of Source Form
       
   166 -
       
   167 -All distribution of Covered Software in Source Code Form, including any
       
   168 -Modifications that You create or to which You contribute, must be under
       
   169 -the terms of this License. You must inform recipients that the Source
       
   170 -Code Form of the Covered Software is governed by the terms of this
       
   171 -License, and how they can obtain a copy of this License. You may not
       
   172 -attempt to alter or restrict the recipients' rights in the Source Code
       
   173 -Form.
       
   174 -
       
   175 -3.2. Distribution of Executable Form
       
   176 -
       
   177 -If You distribute Covered Software in Executable Form then:
       
   178 -
       
   179 -(a) such Covered Software must also be made available in Source Code
       
   180 -    Form, as described in Section 3.1, and You must inform recipients of
       
   181 -    the Executable Form how they can obtain a copy of such Source Code
       
   182 -    Form by reasonable means in a timely manner, at a charge no more
       
   183 -    than the cost of distribution to the recipient; and
       
   184 -
       
   185 -(b) You may distribute such Executable Form under the terms of this
       
   186 -    License, or sublicense it under different terms, provided that the
       
   187 -    license for the Executable Form does not attempt to limit or alter
       
   188 -    the recipients' rights in the Source Code Form under this License.
       
   189 -
       
   190 -3.3. Distribution of a Larger Work
       
   191 -
       
   192 -You may create and distribute a Larger Work under terms of Your choice,
       
   193 -provided that You also comply with the requirements of this License for
       
   194 -the Covered Software. If the Larger Work is a combination of Covered
       
   195 -Software with a work governed by one or more Secondary Licenses, and the
       
   196 -Covered Software is not Incompatible With Secondary Licenses, this
       
   197 -License permits You to additionally distribute such Covered Software
       
   198 -under the terms of such Secondary License(s), so that the recipient of
       
   199 -the Larger Work may, at their option, further distribute the Covered
       
   200 -Software under the terms of either this License or such Secondary
       
   201 -License(s).
       
   202 -
       
   203 -3.4. Notices
       
   204 -
       
   205 -You may not remove or alter the substance of any license notices
       
   206 -(including copyright notices, patent notices, disclaimers of warranty,
       
   207 -or limitations of liability) contained within the Source Code Form of
       
   208 -the Covered Software, except that You may alter any license notices to
       
   209 -the extent required to remedy known factual inaccuracies.
       
   210 -
       
   211 -3.5. Application of Additional Terms
       
   212 -
       
   213 -You may choose to offer, and to charge a fee for, warranty, support,
       
   214 -indemnity or liability obligations to one or more recipients of Covered
       
   215 -Software. However, You may do so only on Your own behalf, and not on
       
   216 -behalf of any Contributor. You must make it absolutely clear that any
       
   217 -such warranty, support, indemnity, or liability obligation is offered by
       
   218 -You alone, and You hereby agree to indemnify every Contributor for any
       
   219 -liability incurred by such Contributor as a result of warranty, support,
       
   220 -indemnity or liability terms You offer. You may include additional
       
   221 -disclaimers of warranty and limitations of liability specific to any
       
   222 -jurisdiction.
       
   223 -
       
   224 -4. Inability to Comply Due to Statute or Regulation
       
   225 ----------------------------------------------------
       
   226 -
       
   227 -If it is impossible for You to comply with any of the terms of this
       
   228 -License with respect to some or all of the Covered Software due to
       
   229 -statute, judicial order, or regulation then You must: (a) comply with
       
   230 -the terms of this License to the maximum extent possible; and (b)
       
   231 -describe the limitations and the code they affect. Such description must
       
   232 -be placed in a text file included with all distributions of the Covered
       
   233 -Software under this License. Except to the extent prohibited by statute
       
   234 -or regulation, such description must be sufficiently detailed for a
       
   235 -recipient of ordinary skill to be able to understand it.
       
   236 -
       
   237 -5. Termination
       
   238 ---------------
       
   239 -
       
   240 -5.1. The rights granted under this License will terminate automatically
       
   241 -if You fail to comply with any of its terms. However, if You become
       
   242 -compliant, then the rights granted under this License from a particular
       
   243 -Contributor are reinstated (a) provisionally, unless and until such
       
   244 -Contributor explicitly and finally terminates Your grants, and (b) on an
       
   245 -ongoing basis, if such Contributor fails to notify You of the
       
   246 -non-compliance by some reasonable means prior to 60 days after You have
       
   247 -come back into compliance. Moreover, Your grants from a particular
       
   248 -Contributor are reinstated on an ongoing basis if such Contributor
       
   249 -notifies You of the non-compliance by some reasonable means, this is the
       
   250 -first time You have received notice of non-compliance with this License
       
   251 -from such Contributor, and You become compliant prior to 30 days after
       
   252 -Your receipt of the notice.
       
   253 -
       
   254 -5.2. If You initiate litigation against any entity by asserting a patent
       
   255 -infringement claim (excluding declaratory judgment actions,
       
   256 -counter-claims, and cross-claims) alleging that a Contributor Version
       
   257 -directly or indirectly infringes any patent, then the rights granted to
       
   258 -You by any and all Contributors for the Covered Software under Section
       
   259 -2.1 of this License shall terminate.
       
   260 -
       
   261 -5.3. In the event of termination under Sections 5.1 or 5.2 above, all
       
   262 -end user license agreements (excluding distributors and resellers) which
       
   263 -have been validly granted by You or Your distributors under this License
       
   264 -prior to termination shall survive termination.
       
   265 -
       
   266 -************************************************************************
       
   267 -*                                                                      *
       
   268 -*  6. Disclaimer of Warranty                                           *
       
   269 -*  -------------------------                                           *
       
   270 -*                                                                      *
       
   271 -*  Covered Software is provided under this License on an "as is"       *
       
   272 -*  basis, without warranty of any kind, either expressed, implied, or  *
       
   273 -*  statutory, including, without limitation, warranties that the       *
       
   274 -*  Covered Software is free of defects, merchantable, fit for a        *
       
   275 -*  particular purpose or non-infringing. The entire risk as to the     *
       
   276 -*  quality and performance of the Covered Software is with You.        *
       
   277 -*  Should any Covered Software prove defective in any respect, You     *
       
   278 -*  (not any Contributor) assume the cost of any necessary servicing,   *
       
   279 -*  repair, or correction. This disclaimer of warranty constitutes an   *
       
   280 -*  essential part of this License. No use of any Covered Software is   *
       
   281 -*  authorized under this License except under this disclaimer.         *
       
   282 -*                                                                      *
       
   283 -************************************************************************
       
   284 -
       
   285 -************************************************************************
       
   286 -*                                                                      *
       
   287 -*  7. Limitation of Liability                                          *
       
   288 -*  --------------------------                                          *
       
   289 -*                                                                      *
       
   290 -*  Under no circumstances and under no legal theory, whether tort      *
       
   291 -*  (including negligence), contract, or otherwise, shall any           *
       
   292 -*  Contributor, or anyone who distributes Covered Software as          *
       
   293 -*  permitted above, be liable to You for any direct, indirect,         *
       
   294 -*  special, incidental, or consequential damages of any character      *
       
   295 -*  including, without limitation, damages for lost profits, loss of    *
       
   296 -*  goodwill, work stoppage, computer failure or malfunction, or any    *
       
   297 -*  and all other commercial damages or losses, even if such party      *
       
   298 -*  shall have been informed of the possibility of such damages. This   *
       
   299 -*  limitation of liability shall not apply to liability for death or   *
       
   300 -*  personal injury resulting from such party's negligence to the       *
       
   301 -*  extent applicable law prohibits such limitation. Some               *
       
   302 -*  jurisdictions do not allow the exclusion or limitation of           *
       
   303 -*  incidental or consequential damages, so this exclusion and          *
       
   304 -*  limitation may not apply to You.                                    *
       
   305 -*                                                                      *
       
   306 -************************************************************************
       
   307 -
       
   308 -8. Litigation
       
   309 --------------
       
   310 -
       
   311 -Any litigation relating to this License may be brought only in the
       
   312 -courts of a jurisdiction where the defendant maintains its principal
       
   313 -place of business and such litigation shall be governed by laws of that
       
   314 -jurisdiction, without reference to its conflict-of-law provisions.
       
   315 -Nothing in this Section shall prevent a party's ability to bring
       
   316 -cross-claims or counter-claims.
       
   317 -
       
   318 -9. Miscellaneous
       
   319 -----------------
       
   320 -
       
   321 -This License represents the complete agreement concerning the subject
       
   322 -matter hereof. If any provision of this License is held to be
       
   323 -unenforceable, such provision shall be reformed only to the extent
       
   324 -necessary to make it enforceable. Any law or regulation which provides
       
   325 -that the language of a contract shall be construed against the drafter
       
   326 -shall not be used to construe this License against a Contributor.
       
   327 -
       
   328 -10. Versions of the License
       
   329 ----------------------------
       
   330 -
       
   331 -10.1. New Versions
       
   332 -
       
   333 -Mozilla Foundation is the license steward. Except as provided in Section
       
   334 -10.3, no one other than the license steward has the right to modify or
       
   335 -publish new versions of this License. Each version will be given a
       
   336 -distinguishing version number.
       
   337 -
       
   338 -10.2. Effect of New Versions
       
   339 -
       
   340 -You may distribute the Covered Software under the terms of the version
       
   341 -of the License under which You originally received the Covered Software,
       
   342 -or under the terms of any subsequent version published by the license
       
   343 -steward.
       
   344 -
       
   345 -10.3. Modified Versions
       
   346 -
       
   347 -If you create software not governed by this License, and you want to
       
   348 -create a new license for such software, you may create and use a
       
   349 -modified version of this License if you rename the license and remove
       
   350 -any references to the name of the license steward (except to note that
       
   351 -such modified license differs from this License).
       
   352 -
       
   353 -10.4. Distributing Source Code Form that is Incompatible With Secondary
       
   354 -Licenses
       
   355 -
       
   356 -If You choose to distribute Source Code Form that is Incompatible With
       
   357 -Secondary Licenses under the terms of this version of the License, the
       
   358 -notice described in Exhibit B of this License must be attached.
       
   359 -
       
   360 -Exhibit A - Source Code Form License Notice
       
   361 --------------------------------------------
       
   362 -
       
   363 -  This Source Code Form is subject to the terms of the Mozilla Public
       
   364 -  License, v. 2.0. If a copy of the MPL was not distributed with this
       
   365 -  file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
   366 -
       
   367 -If it is not possible or desirable to put the notice in a particular
       
   368 -file, then You may include the notice in a location (such as a LICENSE
       
   369 -file in a relevant directory) where a recipient would be likely to look
       
   370 -for such a notice.
       
   371 -
       
   372 -You may add additional accurate notices of copyright ownership.
       
   373 -
       
   374 -Exhibit B - "Incompatible With Secondary Licenses" Notice
       
   375 ----------------------------------------------------------
       
   376 -
       
   377 -  This Source Code Form is "Incompatible With Secondary Licenses", as
       
   378 -  defined by the Mozilla Public License, v. 2.0.
       
   379 diff --git a/third_party/prio/README-mozilla b/third_party/prio/README-mozilla
       
   380 --- a/third_party/prio/README-mozilla
       
   381 +++ b/third_party/prio/README-mozilla
       
   382 @@ -1,7 +1,7 @@
       
   383  This directory contains the Prio source from the upstream repo:
       
   384  https://github.com/mozilla/libprio
       
   385  
       
   386 -Current version: 1.0 [commit bfbcf1f95001047c61f4a29c3e68499b2f0c9f3b]
       
   387 +Current version: 1.1 [commit 488da2d729d73f18ed45add59edd18b257e1ceaa]
       
   388  
       
   389  UPDATING:
       
   390  
       
   391 @@ -14,4 +14,4 @@
       
   392  from within the third_party/libprio directory.
       
   393  
       
   394  If the collection of source files changes, manual updates to moz.build may be
       
   395 -needed as we don't use the upstream makefiles.
       
   396 \ No newline at end of file
       
   397 +needed as we don't use the upstream makefiles.
       
   398 diff --git a/third_party/prio/README.md b/third_party/prio/README.md
       
   399 deleted file mode 100644
       
   400 --- a/third_party/prio/README.md
       
   401 +++ /dev/null
       
   402 @@ -1,136 +0,0 @@
       
   403 -# libprio - A Prio library in C using NSS 
       
   404 -
       
   405 -**Warning:**
       
   406 -We do our best to write bug-free code, but I have no doubt
       
   407 -that there are scary bugs, side-channel attacks, and memory leaks 
       
   408 -lurking herein. 
       
   409 -
       
   410 -**Important:**
       
   411 -We have not yet implemented the items
       
   412 -described in the "Security-Critical TODOs" section below.
       
   413 -Without these features, do not use the code in a production environment.
       
   414 -
       
   415 -
       
   416 -## Overview
       
   417 -
       
   418 -This is an implementation of the core cryptographic routines
       
   419 -for the [Prio system](https://crypto.stanford.edu/prio/) 
       
   420 -for the private computation of aggregate statistics:
       
   421 -> "Prio: Private, Robust, and Scalable Computation of Aggregate Statistics"<br>
       
   422 -> by Henry Corrigan-Gibbs and Dan Boneh<br>
       
   423 -> USENIX Symposium on Networked Systems Design and Implementation<br>
       
   424 -> March 2017
       
   425 ->
       
   426 -> Available online at:
       
   427 ->    https://crypto.stanford.edu/prio/
       
   428 -
       
   429 -**Usage scenario.**
       
   430 -The library implements the cryptographic routines necessary
       
   431 -for the following application scenario:
       
   432 -Each client holds a vector of boolean values.
       
   433 -Each client uses the library to encode her private vector into two 
       
   434 -encoded packets&mdash;one for server A and one for server B.
       
   435 -
       
   436 -After receiving shares from a client, the servers can use the routines
       
   437 -implemented here to check whether the client-provided packets are 
       
   438 -well formed. 
       
   439 -(Without this check, a single malicious client can corrupt the
       
   440 -output of the computation.)
       
   441 -
       
   442 -After collecting data packets from many clients, the servers
       
   443 -can combine their state to learn how many clients had the
       
   444 -*i*th bit of their data vector set to `true` and how many
       
   445 -clients had the *i*th bit of their data vector set to `false`.
       
   446 -As long as at least one of the two servers is honest 
       
   447 -(i.e., runs the correct code), 
       
   448 -the servers learn *nothing else* about the clients' data, 
       
   449 -under standard cryptographic assumptions.
       
   450 -
       
   451 -For example, the *i*th bit of the data vector could indicate
       
   452 -whether the client ever visited the *i*th-ranked website
       
   453 -in the Alexa Top 500.
       
   454 -The servers would learn how many clients visited each of the 
       
   455 -Top 500 websites *without learning* which clients visited
       
   456 -which websites.
       
   457 -
       
   458 -**Efficiency considerations.**
       
   459 -The code makes no use of public-key crypto, so it should 
       
   460 -be relatively fast.
       
   461 -When each a data packet is of length *N*, 
       
   462 -all arithmetic is modulo a prime *p* (we use an 87-bit prime by default), 
       
   463 -and "elements" are integers modulo *p*, 
       
   464 -the dominant costs of the system are:
       
   465 -* **Client compute:** O(*N* log *N*) multiplications 
       
   466 -* **Client-to-server communication:** 2*N* + O(1) elements<br>
       
   467 -* **Server compute:** O(*N* log *N*) multiplications to check each packet<br> 
       
   468 -    (NOTE: Using an optimization we haven't yet implemented, we can 
       
   469 -    drop this cost to O(*N*) multiplications per packet.)
       
   470 -* **Server-to-server communication:** O(1) elements
       
   471 -* **Server storage:** O(*N*) elements
       
   472 -
       
   473 -## Running the code
       
   474 -
       
   475 -You must first install 
       
   476 -[NSS/NSPR](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS), 
       
   477 -[scons](http://scons.org/), and 
       
   478 -[msgpack-c](https://github.com/msgpack/msgpack-c) version 2.1.5 (or newer?).
       
   479 -On Ubuntu, you can instal NSS and scons with:
       
   480 -
       
   481 -    $ sudo apt install scons libnspr4-dev libnss3-dev 
       
   482 -
       
   483 -and you will have to download [msgpack-c 2.1.5 or newer here](https://github.com/msgpack/msgpack-c/releases),
       
   484 -since the Ubuntu packages for msgpack are far out of date.
       
   485 -
       
   486 -For macOS using Homebrew:
       
   487 -    $ brew install nss nspr scons msgpack
       
   488 -
       
   489 -    $ export LDFLAGS="-L/usr/local/opt/nss/lib"
       
   490 -    $ export CPPFLAGS="-I/usr/local/opt/nss/include -I/usr/local/opt/nspr/include/nspr"
       
   491 -
       
   492 -To compile the code, run:
       
   493 -
       
   494 -    $ scons
       
   495 -
       
   496 -To run the test suite, execute:
       
   497 -
       
   498 -    $ build/ptest/ptest -v
       
   499 -
       
   500 -To print debug messages while compiling:
       
   501 -
       
   502 -    $ scons VERBOSE=1
       
   503 -
       
   504 -To compile with debug symbols, run:
       
   505 -
       
   506 -    $ scons BUILDTYPE=DEBUG
       
   507 -
       
   508 -To clean up the object and binary files, run:
       
   509 -
       
   510 -    $ scons -c
       
   511 -
       
   512 -The files in this directory are:
       
   513 -````
       
   514 -/build      - Binaries, object files, etc.
       
   515 -/include    - Exported header files
       
   516 -              (Note: The public header is <mprio.h> since
       
   517 -              NSPR already has a file called <prio.h>.)
       
   518 -/mpi        - NSS MPI bignum library 
       
   519 -/pclient    - Example code that uses the Prio library
       
   520 -/prio       - Prio library core code
       
   521 -/ptest      - Tests and test runner
       
   522 -````
       
   523 -
       
   524 -## Optimizations and features not yet implemented
       
   525 -* **Server compute.**
       
   526 -  By using a fast polynomial interpolation-and-evaluation
       
   527 -  routine, we can reduce the cost of checking a single client
       
   528 -  request from O(*N* log *N*) multiplications down to O(*N*)
       
   529 -  multiplications, for a data packet of *N* items.
       
   530 -* **Differential privacy.**
       
   531 -  It would be very straightforward to add some small amount of 
       
   532 -  noise to the final statistics to provide differential privacy.
       
   533 -  If this would be useful, I can add it.
       
   534 -* **Misc.**
       
   535 -  There are TODO notes scattered throughout code indicating
       
   536 -  places for potential performance optimizations.
       
   537 -  
       
   538 -
       
   539 diff --git a/third_party/prio/SConstruct b/third_party/prio/SConstruct
       
   540 deleted file mode 100644
       
   541 --- a/third_party/prio/SConstruct
       
   542 +++ /dev/null
       
   543 @@ -1,41 +0,0 @@
       
   544 -# This Source Code Form is subject to the terms of the Mozilla Public
       
   545 -# License, v. 2.0. If a copy of the MPL was not distributed with this
       
   546 -# file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
   547 -
       
   548 -import os
       
   549 -import SCons
       
   550 -
       
   551 -opts = Variables()
       
   552 -opts.AddVariables(
       
   553 -    BoolVariable("DEBUG", "Make debug build", 1),
       
   554 -    BoolVariable("VERBOSE", "Show full build information", 0))
       
   555 -
       
   556 -env = Environment(options = opts,
       
   557 -                  ENV = os.environ)
       
   558 -if "CFLAGS" in os.environ:
       
   559 -  env.Append(CFLAGS = SCons.Util.CLVar(os.getenv("CFLAGS")))
       
   560 -if "CPPFLAGS" in os.environ:
       
   561 -  env.Append(CPPFLAGS = SCons.Util.CLVar(os.getenv("CPPFLAGS")))
       
   562 -if "CXXFLAGS" in os.environ:
       
   563 -  env.Append(CXXFLAGS = SCons.Util.CLVar(os.getenv("CXXFLAGS")))
       
   564 -if "LDFLAGS" in os.environ:
       
   565 -  env.Append(LINKFLAGS = SCons.Util.CLVar(os.getenv("LDFLAGS")))
       
   566 -
       
   567 -if env["DEBUG"]: 
       
   568 -    print "DEBUG MODE!"
       
   569 -    env.Append(CPPFLAGS = [ "-g", "-DDEBUG"])
       
   570 -
       
   571 -env.Append(LIBS = ["mprio", "mpi", "nss3", "nspr4"], \
       
   572 -  LIBPATH = ['#build/prio', "#build/mpi"],
       
   573 -  CFLAGS = [ "-Wall", "-Werror", "-Wextra", "-O3", "-std=c99", 
       
   574 -    "-I/usr/include/nspr", "-Impi", "-DDO_PR_CLEANUP"])
       
   575 -
       
   576 -env.Append(CPPPATH = ["#include", "#."])
       
   577 -Export('env')
       
   578 -
       
   579 -SConscript('browser-test/SConscript', variant_dir='build/browser-test')
       
   580 -SConscript('mpi/SConscript', variant_dir='build/mpi')
       
   581 -SConscript('pclient/SConscript', variant_dir='build/pclient')
       
   582 -SConscript('prio/SConscript', variant_dir='build/prio')
       
   583 -SConscript('ptest/SConscript', variant_dir='build/ptest')
       
   584 -
       
   585 diff --git a/third_party/prio/browser-test/SConscript b/third_party/prio/browser-test/SConscript
       
   586 deleted file mode 100644
       
   587 --- a/third_party/prio/browser-test/SConscript
       
   588 +++ /dev/null
       
   589 @@ -1,19 +0,0 @@
       
   590 -import sys
       
   591 -
       
   592 -Import('env')
       
   593 -
       
   594 -prio_env = env.Clone()
       
   595 -
       
   596 -src = [
       
   597 -    "main.c",
       
   598 -]
       
   599 -
       
   600 -libs = [
       
   601 -  "mprio",
       
   602 -  "msgpackc",
       
   603 -]
       
   604 -
       
   605 -prio_env.Append(LIBS = libs)
       
   606 -prio_env.Install("encode-once.js")
       
   607 -prio_env.Program("browser-test", src)
       
   608 -
       
   609 diff --git a/third_party/prio/browser-test/encode-once.js b/third_party/prio/browser-test/encode-once.js
       
   610 deleted file mode 100644
       
   611 --- a/third_party/prio/browser-test/encode-once.js
       
   612 +++ /dev/null
       
   613 @@ -1,45 +0,0 @@
       
   614 -/*
       
   615 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
   616 - * 
       
   617 - * This Source Code Form is subject to the terms of the Mozilla Public
       
   618 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
   619 - * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
   620 - */
       
   621 -
       
   622 -ChromeUtils.import('resource://gre/modules/Services.jsm');
       
   623 -
       
   624 -let [publicKeyA, publicKeyB, batchID, param1, param2, param3] = arguments;
       
   625 -
       
   626 -Services.prefs.setStringPref('prio.publicKeyA', publicKeyA);
       
   627 -Services.prefs.setStringPref('prio.publicKeyB', publicKeyB);
       
   628 -
       
   629 -async function test() {
       
   630 -  let params =  {
       
   631 -    'startupCrashDetected': Number(param1),
       
   632 -    'safeModeUsage': Number(param2),
       
   633 -    'browserIsUserDefault': Number(param3)
       
   634 -  };
       
   635 -
       
   636 -  try {
       
   637 -    let result = await PrioEncoder.encode(batchID, params);
       
   638 -
       
   639 -    const toTypedArray = byteString => {
       
   640 -      let u8Array = new Uint8Array(byteString.length);
       
   641 -      for (let i in byteString) {
       
   642 -          u8Array[i] = byteString.charCodeAt(i);
       
   643 -      }
       
   644 -      return u8Array;
       
   645 -    }
       
   646 -
       
   647 -    const toHexString = bytes =>
       
   648 -      bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0') + ',', '');
       
   649 -
       
   650 -    console.log(toHexString(result.a) + '$' + toHexString(result.b));
       
   651 -    console.log('');
       
   652 -  } catch(e) {
       
   653 -    console.log('Failure.', e);
       
   654 -    console.log(v);
       
   655 -  }
       
   656 -}
       
   657 -
       
   658 -test().then();
       
   659 diff --git a/third_party/prio/browser-test/main.c b/third_party/prio/browser-test/main.c
       
   660 deleted file mode 100644
       
   661 --- a/third_party/prio/browser-test/main.c
       
   662 +++ /dev/null
       
   663 @@ -1,320 +0,0 @@
       
   664 -/*
       
   665 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
   666 - * 
       
   667 - * This Source Code Form is subject to the terms of the Mozilla Public
       
   668 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
   669 - * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
   670 - */
       
   671 -
       
   672 -#define _GNU_SOURCE
       
   673 -
       
   674 -#include <mprio.h>
       
   675 -#include <stdio.h>
       
   676 -#include <stdlib.h>
       
   677 -#include <string.h>
       
   678 -#include <time.h>
       
   679 -
       
   680 -#include "prio/encrypt.h"
       
   681 -#include "prio/util.h"
       
   682 -
       
   683 -static void 
       
   684 -init_data (bool *data, int datalen) 
       
   685 -{
       
   686 -  // The client's data submission is an arbitrary boolean vector.
       
   687 -  for (int i=0; i < datalen; i++) {
       
   688 -    // Arbitrary data
       
   689 -    data[i] = rand () % 2;
       
   690 -  }
       
   691 -}
       
   692 -
       
   693 -static SECStatus
       
   694 -read_string_from_hex (unsigned char **str_out, unsigned int *strLen,
       
   695 -    const char *input, const char **new_input)
       
   696 -{
       
   697 -  SECStatus rv = SECSuccess;
       
   698 -  *strLen = 0;
       
   699 -  int read = 0;
       
   700 -  int outCount = 0;
       
   701 -  const char *inp = input;
       
   702 -
       
   703 -  while (true) {
       
   704 -    unsigned char byte = '\0';
       
   705 -    const int retval = sscanf(inp, "%02hhx,%n", &byte, &read);
       
   706 -    if (retval < 1 || read != 3) {
       
   707 -      break;
       
   708 -    }
       
   709 -
       
   710 -    inp += read;
       
   711 -    (*str_out)[outCount] = byte;
       
   712 -    outCount++;
       
   713 -    *strLen = *strLen + 1;
       
   714 -  }
       
   715 -
       
   716 -  if (new_input)
       
   717 -    *new_input = inp + 1;
       
   718 -
       
   719 -  return rv;
       
   720 -}
       
   721 -
       
   722 -static SECStatus
       
   723 -read_browser_reply (FILE *infile,
       
   724 -    unsigned char **for_server_a, unsigned int *aLen,
       
   725 -    unsigned char **for_server_b, unsigned int *bLen)
       
   726 -{
       
   727 -  SECStatus rv = SECFailure;
       
   728 -  char *raw_input = NULL;
       
   729 -  size_t rawLen = 0;
       
   730 -
       
   731 -  puts ("Getting line of input.");
       
   732 -  P_CHECKCB (getline (&raw_input, &rawLen, infile) > 0);
       
   733 -  puts ("Got line of input.");
       
   734 -
       
   735 -  P_CHECKA (*for_server_a = malloc (rawLen * sizeof (unsigned char)));
       
   736 -  P_CHECKA (*for_server_b = malloc (rawLen * sizeof (unsigned char)));
       
   737 -
       
   738 -  *aLen = 0;
       
   739 -  *bLen = 0;
       
   740 -
       
   741 -  P_CHECKCB (rawLen > 14);
       
   742 -
       
   743 -  // Header is 14 chars long
       
   744 -  const char *new_input;
       
   745 -  puts ("Reading string A");
       
   746 -  P_CHECKC (read_string_from_hex (for_server_a, aLen, raw_input + 14, &new_input));
       
   747 -  puts ("Read string A");
       
   748 -
       
   749 -  // Skip over for_server_a string and one-char delimeter
       
   750 -  puts ("Reading string B");
       
   751 -  P_CHECKC (read_string_from_hex (for_server_b, bLen, new_input, NULL));
       
   752 -  puts ("Read string B");
       
   753 -
       
   754 -cleanup:
       
   755 -  if (raw_input) free (raw_input);
       
   756 -  return rv;
       
   757 -}
       
   758 -
       
   759 -static int
       
   760 -verify_full (const char *path_to_xpcshell, int pathlen)
       
   761 -{
       
   762 -  SECStatus rv = SECSuccess;
       
   763 -
       
   764 -  PublicKey pkA = NULL;
       
   765 -  PublicKey pkB = NULL;
       
   766 -  PrivateKey skA = NULL;
       
   767 -  PrivateKey skB = NULL;
       
   768 -
       
   769 -  PrioConfig cfg = NULL;
       
   770 -  PrioServer sA = NULL;
       
   771 -  PrioServer sB = NULL;
       
   772 -  PrioVerifier vA = NULL;
       
   773 -  PrioVerifier vB = NULL;
       
   774 -  PrioPacketVerify1 p1A = NULL;
       
   775 -  PrioPacketVerify1 p1B = NULL;
       
   776 -  PrioPacketVerify2 p2A = NULL;
       
   777 -  PrioPacketVerify2 p2B = NULL;
       
   778 -  PrioTotalShare tA = NULL;
       
   779 -  PrioTotalShare tB = NULL;
       
   780 -
       
   781 -  FILE *shell = NULL;
       
   782 -  int cmdlen = pathlen + 2*CURVE25519_KEY_LEN_HEX + 128;
       
   783 -  char cmd[cmdlen];
       
   784 -  memset (cmd, 0, cmdlen);
       
   785 -
       
   786 -  unsigned char *for_server_a = NULL;
       
   787 -  unsigned char *for_server_b = NULL;
       
   788 -
       
   789 -  const int seed = time (NULL);
       
   790 -  srand (seed);
       
   791 -  printf ("Using srand seed %d\n", seed);
       
   792 -
       
   793 -  // Number of different boolean data fields we collect.
       
   794 -  const int ndata = 3;
       
   795 -
       
   796 -  //unsigned char batch_id_str[] = "abcde";
       
   797 -  unsigned char batch_id_str[32];
       
   798 -  memset (batch_id_str, 0, sizeof batch_id_str);
       
   799 -  snprintf ((char *)batch_id_str, sizeof batch_id_str, "%d", rand());
       
   800 -  
       
   801 -  bool data_items[ndata];
       
   802 -  unsigned long output[ndata];
       
   803 -  init_data (data_items, ndata);
       
   804 -
       
   805 -  // Initialize NSS random number generator.
       
   806 -  P_CHECKC (Prio_init ());
       
   807 -
       
   808 -  // Generate keypairs for servers
       
   809 -  P_CHECKC (Keypair_new (&skA, &pkA));
       
   810 -  P_CHECKC (Keypair_new (&skB, &pkB));
       
   811 -
       
   812 -  // Export public keys to hex and print to stdout
       
   813 -  unsigned char pk_hexA[CURVE25519_KEY_LEN_HEX+1];
       
   814 -  unsigned char pk_hexB[CURVE25519_KEY_LEN_HEX+1];
       
   815 -  P_CHECKC (PublicKey_export_hex (pkA, pk_hexA));
       
   816 -  P_CHECKC (PublicKey_export_hex (pkB, pk_hexB));
       
   817 -
       
   818 -  snprintf (cmd, cmdlen, "%s %s %s %s %s %d %d %d", 
       
   819 -      path_to_xpcshell, "encode-once.js", 
       
   820 -      pk_hexA, pk_hexB, batch_id_str, 
       
   821 -      data_items[0], data_items[1], data_items[2]);
       
   822 -
       
   823 -  printf ("> %s\n", cmd);
       
   824 -  P_CHECKA (shell = popen(cmd, "r"));
       
   825 -  puts("Ran command.");
       
   826 -
       
   827 -  // Use the default configuration parameters.
       
   828 -  P_CHECKA (cfg = PrioConfig_new (ndata, pkA, pkB, batch_id_str, 
       
   829 -        strlen ((char *)batch_id_str)));
       
   830 -
       
   831 -  PrioPRGSeed server_secret;
       
   832 -  P_CHECKC (PrioPRGSeed_randomize (&server_secret));
       
   833 -
       
   834 -  // Initialize two server objects. The role of the servers need not
       
   835 -  // be symmetric. In a deployment, we envision that:
       
   836 -  //   * Server A is the main telemetry server that is always online. 
       
   837 -  //     Clients send their encrypted data packets to Server A and
       
   838 -  //     Server A stores them.
       
   839 -  //   * Server B only comes online when the two servers want to compute
       
   840 -  //     the final aggregate statistics.
       
   841 -  P_CHECKA (sA = PrioServer_new (cfg, PRIO_SERVER_A, skA, server_secret));
       
   842 -  P_CHECKA (sB = PrioServer_new (cfg, PRIO_SERVER_B, skB, server_secret));
       
   843 -
       
   844 -  // Initialize empty verifier objects
       
   845 -  P_CHECKA (vA = PrioVerifier_new (sA)); 
       
   846 -  P_CHECKA (vB = PrioVerifier_new (sB));
       
   847 -
       
   848 -  // Initialize shares of final aggregate statistics
       
   849 -  P_CHECKA (tA = PrioTotalShare_new ());
       
   850 -  P_CHECKA (tB = PrioTotalShare_new ());
       
   851 -
       
   852 -  // Initialize shares of verification packets
       
   853 -  P_CHECKA (p1A = PrioPacketVerify1_new ());
       
   854 -  P_CHECKA (p1B = PrioPacketVerify1_new ());
       
   855 -  P_CHECKA (p2A = PrioPacketVerify2_new ());
       
   856 -  P_CHECKA (p2B = PrioPacketVerify2_new ());
       
   857 -
       
   858 -  // I. CLIENT DATA SUBMISSION.
       
   859 -  //
       
   860 -  // Read in the client data packets
       
   861 -  unsigned int aLen = 0, bLen = 0;
       
   862 -
       
   863 -  puts ("Reading...");
       
   864 -  P_CHECKC (read_browser_reply (shell, &for_server_a, &aLen, &for_server_b, &bLen));
       
   865 -  printf ("Read reply from browser. LenA: %u, LenB: %u\n", aLen, bLen);
       
   866 -
       
   867 -  // II. VALIDATION PROTOCOL. (at servers)
       
   868 -  //
       
   869 -  // The servers now run a short 2-step protocol to check each 
       
   870 -  // client's packet:
       
   871 -  //    1) Servers A and B broadcast one message (PrioPacketVerify1) 
       
   872 -  //       to each other.
       
   873 -  //    2) Servers A and B broadcast another message (PrioPacketVerify2)
       
   874 -  //       to each other.
       
   875 -  //    3) Servers A and B can both determine whether the client's data
       
   876 -  //       submission is well-formed (in which case they add it to their
       
   877 -  //       running total of aggregate statistics) or ill-formed
       
   878 -  //       (in which case they ignore it).
       
   879 -  // These messages must be sent over an authenticated channel, so
       
   880 -  // that each server is assured that every received message came 
       
   881 -  // from its peer.
       
   882 -
       
   883 -  // Set up a Prio verifier object.
       
   884 -  P_CHECKC (PrioVerifier_set_data (vA, for_server_a, aLen));
       
   885 -  P_CHECKC (PrioVerifier_set_data (vB, for_server_b, bLen));
       
   886 -  puts("Imported data.");
       
   887 -
       
   888 -  // Both servers produce a packet1. Server A sends p1A to Server B
       
   889 -  // and vice versa.
       
   890 -  P_CHECKC (PrioPacketVerify1_set_data (p1A, vA));
       
   891 -  P_CHECKC (PrioPacketVerify1_set_data (p1B, vB));
       
   892 -  puts("Set data.");
       
   893 -
       
   894 -  // Both servers produce a packet2. Server A sends p2A to Server B
       
   895 -  // and vice versa.
       
   896 -  P_CHECKC (PrioPacketVerify2_set_data(p2A, vA, p1A, p1B));
       
   897 -  P_CHECKC (PrioPacketVerify2_set_data(p2B, vB, p1A, p1B));
       
   898 -
       
   899 -  // Using p2A and p2B, the servers can determine whether the request
       
   900 -  // is valid. (In fact, only Server A needs to perform this 
       
   901 -  // check, since Server A can just tell Server B whether the check 
       
   902 -  // succeeded or failed.) 
       
   903 -  puts ("Checking validity.");
       
   904 -  P_CHECKC (PrioVerifier_isValid (vA, p2A, p2B)); 
       
   905 -  P_CHECKC (PrioVerifier_isValid (vB, p2A, p2B)); 
       
   906 -  puts ("Are valid.");
       
   907 -
       
   908 -  // If we get here, the client packet is valid, so add it to the aggregate
       
   909 -  // statistic counter for both servers.
       
   910 -  P_CHECKC (PrioServer_aggregate (sA, vA));
       
   911 -  P_CHECKC (PrioServer_aggregate (sB, vB));
       
   912 -
       
   913 -  // The servers repeat the steps above for each client submission.
       
   914 -
       
   915 -  // III. PRODUCTION OF AGGREGATE STATISTICS.
       
   916 -  //
       
   917 -  // After collecting aggregates from MANY clients, the servers can compute
       
   918 -  // their shares of the aggregate statistics. 
       
   919 -  //
       
   920 -  // Server B can send tB to Server A.
       
   921 -  P_CHECKC (PrioTotalShare_set_data (tA, sA));
       
   922 -  P_CHECKC (PrioTotalShare_set_data (tB, sB));
       
   923 -
       
   924 -  // Once Server A has tA and tB, it can learn the aggregate statistics
       
   925 -  // in the clear.
       
   926 -  P_CHECKC (PrioTotalShare_final (cfg, output, tA, tB));
       
   927 - 
       
   928 -  for (int i=0; i < ndata; i++) {
       
   929 -    //printf("output[%d] = %lu\n", i, output[i]);
       
   930 -    //printf("data[%d] = %d\n", i, (int)data_items[i]);
       
   931 -    P_CHECKCB (output[i] == data_items[i]);
       
   932 -  }
       
   933 -
       
   934 -  puts ("Success!");
       
   935 -
       
   936 -cleanup:
       
   937 -  if (rv != SECSuccess) {
       
   938 -    fprintf (stderr, "Warning: unexpected failure.\n");
       
   939 -  }
       
   940 -
       
   941 -  if (for_server_a) free (for_server_a);
       
   942 -  if (for_server_b) free (for_server_b);
       
   943 -
       
   944 -  PrioTotalShare_clear (tA);
       
   945 -  PrioTotalShare_clear (tB);
       
   946 -
       
   947 -  PrioPacketVerify2_clear (p2A);
       
   948 -  PrioPacketVerify2_clear (p2B);
       
   949 -
       
   950 -  PrioPacketVerify1_clear (p1A);
       
   951 -  PrioPacketVerify1_clear (p1B);
       
   952 -
       
   953 -  PrioVerifier_clear (vA);
       
   954 -  PrioVerifier_clear (vB);
       
   955 -
       
   956 -  PrioServer_clear (sA);
       
   957 -  PrioServer_clear (sB);
       
   958 -  PrioConfig_clear (cfg);
       
   959 -
       
   960 -  PublicKey_clear (pkA);
       
   961 -  PublicKey_clear (pkB);
       
   962 -
       
   963 -  PrivateKey_clear (skA);
       
   964 -  PrivateKey_clear (skB);
       
   965 -
       
   966 -  Prio_clear ();
       
   967 -
       
   968 -  return !(rv == SECSuccess);
       
   969 -}
       
   970 -
       
   971 -int 
       
   972 -main (int argc, char **argv)
       
   973 -{
       
   974 -  puts("== Prio browser test utility. ==");
       
   975 -  puts("(Note: Expects to be run in the same directory as encode-once.js.)");
       
   976 -  if (argc != 2) {
       
   977 -    fprintf (stderr, "Usage ./%s <path_to_xpcshell>\n", argv[0]);
       
   978 -    return 1;
       
   979 -  }
       
   980 -
       
   981 -  return verify_full (argv[1], strlen (argv[1]));
       
   982 -}
       
   983 -
       
   984 diff --git a/third_party/prio/include/mprio.h b/third_party/prio/include/mprio.h
       
   985 --- a/third_party/prio/include/mprio.h
       
   986 +++ b/third_party/prio/include/mprio.h
       
   987 @@ -1,6 +1,6 @@
       
   988  /*
       
   989   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
   990 - * 
       
   991 + *
       
   992   *
       
   993   * This Source Code Form is subject to the terms of the Mozilla Public
       
   994   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
   995 @@ -13,10 +13,10 @@
       
   996  extern "C" {
       
   997  #endif
       
   998  
       
   999 +#include <blapit.h>
       
  1000  #include <msgpack.h>
       
  1001 -#include <nss/blapit.h>
       
  1002 -#include <nss/pk11pub.h>
       
  1003 -#include <nss/seccomon.h>
       
  1004 +#include <pk11pub.h>
       
  1005 +#include <seccomon.h>
       
  1006  #include <stdbool.h>
       
  1007  #include <stddef.h>
       
  1008  
       
  1009 @@ -33,47 +33,44 @@
       
  1010  /*
       
  1011   * Type for each of the two servers.
       
  1012   */
       
  1013 -typedef enum {
       
  1014 -  PRIO_SERVER_A,
       
  1015 -  PRIO_SERVER_B
       
  1016 -} PrioServerId;
       
  1017 +typedef enum { PRIO_SERVER_A, PRIO_SERVER_B } PrioServerId;
       
  1018  
       
  1019  /*
       
  1020   * Opaque types
       
  1021   */
       
  1022 -typedef struct prio_config *PrioConfig;
       
  1023 -typedef const struct prio_config *const_PrioConfig;
       
  1024 +typedef struct prio_config* PrioConfig;
       
  1025 +typedef const struct prio_config* const_PrioConfig;
       
  1026  
       
  1027 -typedef struct prio_server *PrioServer;
       
  1028 -typedef const struct prio_server *const_PrioServer;
       
  1029 +typedef struct prio_server* PrioServer;
       
  1030 +typedef const struct prio_server* const_PrioServer;
       
  1031  
       
  1032 -typedef struct prio_verifier *PrioVerifier;
       
  1033 -typedef const struct prio_verifier *const_PrioVerifier;
       
  1034 +typedef struct prio_verifier* PrioVerifier;
       
  1035 +typedef const struct prio_verifier* const_PrioVerifier;
       
  1036  
       
  1037 -typedef struct prio_packet_verify1 *PrioPacketVerify1;
       
  1038 -typedef const struct prio_packet_verify1 *const_PrioPacketVerify1;
       
  1039 +typedef struct prio_packet_verify1* PrioPacketVerify1;
       
  1040 +typedef const struct prio_packet_verify1* const_PrioPacketVerify1;
       
  1041  
       
  1042 -typedef struct prio_packet_verify2 *PrioPacketVerify2;
       
  1043 -typedef const struct prio_packet_verify2 *const_PrioPacketVerify2;
       
  1044 +typedef struct prio_packet_verify2* PrioPacketVerify2;
       
  1045 +typedef const struct prio_packet_verify2* const_PrioPacketVerify2;
       
  1046  
       
  1047 -typedef struct prio_total_share *PrioTotalShare;
       
  1048 -typedef const struct prio_total_share *const_PrioTotalShare;
       
  1049 +typedef struct prio_total_share* PrioTotalShare;
       
  1050 +typedef const struct prio_total_share* const_PrioTotalShare;
       
  1051  
       
  1052 -typedef SECKEYPublicKey *PublicKey;
       
  1053 -typedef const SECKEYPublicKey *const_PublicKey;
       
  1054 +typedef SECKEYPublicKey* PublicKey;
       
  1055 +typedef const SECKEYPublicKey* const_PublicKey;
       
  1056  
       
  1057 -typedef SECKEYPrivateKey *PrivateKey;
       
  1058 -typedef const SECKEYPrivateKey *const_PrivateKey;
       
  1059 +typedef SECKEYPrivateKey* PrivateKey;
       
  1060 +typedef const SECKEYPrivateKey* const_PrivateKey;
       
  1061  
       
  1062 -/* 
       
  1063 +/*
       
  1064   * Initialize and clear random number generator state.
       
  1065   * You must call Prio_init() before using the library.
       
  1066   * To avoid memory leaks, call Prio_clear() afterwards.
       
  1067   */
       
  1068 -SECStatus Prio_init ();
       
  1069 +SECStatus Prio_init();
       
  1070  void Prio_clear();
       
  1071  
       
  1072 -/* 
       
  1073 +/*
       
  1074   * PrioConfig holds the system parameters. The two relevant things determined
       
  1075   * by the config object are:
       
  1076   *    (1) the number of data fields we are collecting, and
       
  1077 @@ -87,35 +84,37 @@
       
  1078   * Each set of aggregate statistics should use a different `batch_id`.
       
  1079   *
       
  1080   * `PrioConfig_new` does not keep a pointer to the `batch_id` string that the
       
  1081 - * caller passes in, so you may free the `batch_id` string as soon as 
       
  1082 + * caller passes in, so you may free the `batch_id` string as soon as
       
  1083   * `PrioConfig_new` returns.
       
  1084   */
       
  1085 -PrioConfig PrioConfig_new (int n_fields, PublicKey server_a, PublicKey server_b,
       
  1086 -    const unsigned char *batch_id, unsigned int batch_id_len);
       
  1087 -void PrioConfig_clear (PrioConfig cfg);
       
  1088 -int PrioConfig_numDataFields (const_PrioConfig cfg);
       
  1089 +PrioConfig PrioConfig_new(int n_fields, PublicKey server_a, PublicKey server_b,
       
  1090 +                          const unsigned char* batch_id,
       
  1091 +                          unsigned int batch_id_len);
       
  1092 +void PrioConfig_clear(PrioConfig cfg);
       
  1093 +int PrioConfig_numDataFields(const_PrioConfig cfg);
       
  1094  
       
  1095  /*
       
  1096 - * Create a PrioConfig object with no encryption keys.  This routine is 
       
  1097 + * Create a PrioConfig object with no encryption keys.  This routine is
       
  1098   * useful for testing, but PrioClient_encode() will always fail when used with
       
  1099   * this config.
       
  1100   */
       
  1101 -PrioConfig PrioConfig_newTest (int n_fields);
       
  1102 +PrioConfig PrioConfig_newTest(int n_fields);
       
  1103  
       
  1104 -
       
  1105 -/* 
       
  1106 +/*
       
  1107   * We use the PublicKey and PrivateKey objects for public-key encryption. Each
       
  1108   * Prio server has an associated public key, and the clients use these keys to
       
  1109   * encrypt messages to the servers.
       
  1110   */
       
  1111 -SECStatus Keypair_new (PrivateKey *pvtkey, PublicKey *pubkey);
       
  1112 +SECStatus Keypair_new(PrivateKey* pvtkey, PublicKey* pubkey);
       
  1113  
       
  1114  /*
       
  1115 - * Import a new curve25519 public key from the raw bytes given. The key passed in
       
  1116 + * Import a new curve25519 public key from the raw bytes given. The key passed
       
  1117 + * in
       
  1118   * as `data` should be of length `CURVE25519_KEY_LEN`. This function allocates
       
  1119   * a new PublicKey object, which the caller must free using `PublicKey_clear`.
       
  1120   */
       
  1121 -SECStatus PublicKey_import (PublicKey *pk, const unsigned char *data, unsigned int dataLen);
       
  1122 +SECStatus PublicKey_import(PublicKey* pk, const unsigned char* data,
       
  1123 +                           unsigned int dataLen);
       
  1124  
       
  1125  /*
       
  1126   * Import a new curve25519 public key from a hex string that contains only the
       
  1127 @@ -123,138 +122,136 @@
       
  1128   * length `CURVE25519_KEY_LEN_HEX`. This function allocates a new PublicKey
       
  1129   * object, which the caller must free using `PublicKey_clear`.
       
  1130   */
       
  1131 -SECStatus PublicKey_import_hex (PublicKey *pk, const unsigned char *hex_data,
       
  1132 -    unsigned int dataLen);
       
  1133 +SECStatus PublicKey_import_hex(PublicKey* pk, const unsigned char* hex_data,
       
  1134 +                               unsigned int dataLen);
       
  1135  
       
  1136  /*
       
  1137   * Export a curve25519 public key as a raw byte-array.
       
  1138   */
       
  1139 -SECStatus PublicKey_export (const_PublicKey pk, unsigned char data[CURVE25519_KEY_LEN]);
       
  1140 +SECStatus PublicKey_export(const_PublicKey pk,
       
  1141 +                           unsigned char data[CURVE25519_KEY_LEN]);
       
  1142  
       
  1143  /*
       
  1144   * Export a curve25519 public key as a NULL-terminated hex string.
       
  1145   */
       
  1146 -SECStatus PublicKey_export_hex (const_PublicKey pk, 
       
  1147 -    unsigned char data[CURVE25519_KEY_LEN_HEX+1]);
       
  1148 -
       
  1149 +SECStatus PublicKey_export_hex(const_PublicKey pk,
       
  1150 +                               unsigned char data[CURVE25519_KEY_LEN_HEX + 1]);
       
  1151  
       
  1152 -void PublicKey_clear (PublicKey pubkey);
       
  1153 -void PrivateKey_clear (PrivateKey pvtkey);
       
  1154 -
       
  1155 +void PublicKey_clear(PublicKey pubkey);
       
  1156 +void PrivateKey_clear(PrivateKey pvtkey);
       
  1157  
       
  1158  /*
       
  1159   *  PrioPacketClient_encode
       
  1160   *
       
  1161 - * Takes as input a pointer to an array (`data_in`) of boolean values 
       
  1162 - * whose length is equal to the number of data fields specified in 
       
  1163 + * Takes as input a pointer to an array (`data_in`) of boolean values
       
  1164 + * whose length is equal to the number of data fields specified in
       
  1165   * the config. It then encodes the data for servers A and B into a
       
  1166 - * string. 
       
  1167 + * string.
       
  1168   *
       
  1169   * NOTE: The caller must free() the strings `for_server_a` and
       
  1170   * `for_server_b` to avoid memory leaks.
       
  1171   */
       
  1172 -SECStatus 
       
  1173 -PrioClient_encode (const_PrioConfig cfg, const bool *data_in, 
       
  1174 -    unsigned char **for_server_a, unsigned int *aLen,
       
  1175 -    unsigned char **for_server_b, unsigned int *bLen);
       
  1176 +SECStatus PrioClient_encode(const_PrioConfig cfg, const bool* data_in,
       
  1177 +                            unsigned char** for_server_a, unsigned int* aLen,
       
  1178 +                            unsigned char** for_server_b, unsigned int* bLen);
       
  1179  
       
  1180  /*
       
  1181   * Generate a new PRG seed using the NSS global randomness source.
       
  1182   * Use this routine to initialize the secret that the two Prio servers
       
  1183   * share.
       
  1184   */
       
  1185 -SECStatus PrioPRGSeed_randomize (PrioPRGSeed *seed);
       
  1186 +SECStatus PrioPRGSeed_randomize(PrioPRGSeed* seed);
       
  1187  
       
  1188  /*
       
  1189   * The PrioServer object holds the state of the Prio servers.
       
  1190   * Pass in the _same_ secret PRGSeed when initializing the two servers.
       
  1191   * The PRGSeed must remain secret to the two servers.
       
  1192   */
       
  1193 -PrioServer PrioServer_new (const_PrioConfig cfg, PrioServerId server_idx,
       
  1194 -    PrivateKey server_priv, const PrioPRGSeed server_shared_secret);
       
  1195 -void PrioServer_clear (PrioServer s);
       
  1196 +PrioServer PrioServer_new(const_PrioConfig cfg, PrioServerId server_idx,
       
  1197 +                          PrivateKey server_priv,
       
  1198 +                          const PrioPRGSeed server_shared_secret);
       
  1199 +void PrioServer_clear(PrioServer s);
       
  1200  
       
  1201 -
       
  1202 -/* 
       
  1203 +/*
       
  1204   * After receiving a client packet, each of the servers generate
       
  1205   * a PrioVerifier object that they use to check whether the client's
       
  1206   * encoded packet is well formed.
       
  1207   */
       
  1208 -PrioVerifier PrioVerifier_new (PrioServer s);
       
  1209 -void PrioVerifier_clear (PrioVerifier v);
       
  1210 +PrioVerifier PrioVerifier_new(PrioServer s);
       
  1211 +void PrioVerifier_clear(PrioVerifier v);
       
  1212  
       
  1213 -/* 
       
  1214 +/*
       
  1215   * Read in encrypted data from the client, decrypt it, and prepare to check the
       
  1216   * request for validity.
       
  1217   */
       
  1218 -SECStatus PrioVerifier_set_data (PrioVerifier v, 
       
  1219 -    unsigned char *data, unsigned int dataLen);
       
  1220 +SECStatus PrioVerifier_set_data(PrioVerifier v, unsigned char* data,
       
  1221 +                                unsigned int dataLen);
       
  1222  
       
  1223  /*
       
  1224   * Generate the first packet that servers need to exchange to verify the
       
  1225   * client's submission. This should be sent over a TLS connection between the
       
  1226   * servers.
       
  1227   */
       
  1228 -PrioPacketVerify1 PrioPacketVerify1_new (void);
       
  1229 -void PrioPacketVerify1_clear (PrioPacketVerify1 p1);
       
  1230 +PrioPacketVerify1 PrioPacketVerify1_new(void);
       
  1231 +void PrioPacketVerify1_clear(PrioPacketVerify1 p1);
       
  1232  
       
  1233 -SECStatus PrioPacketVerify1_set_data (PrioPacketVerify1 p1,
       
  1234 -    const_PrioVerifier v);
       
  1235 +SECStatus PrioPacketVerify1_set_data(PrioPacketVerify1 p1,
       
  1236 +                                     const_PrioVerifier v);
       
  1237  
       
  1238 -SECStatus PrioPacketVerify1_write (const_PrioPacketVerify1 p,
       
  1239 -    msgpack_packer *pk);
       
  1240 -SECStatus PrioPacketVerify1_read (PrioPacketVerify1 p,
       
  1241 -    msgpack_unpacker *upk, const_PrioConfig cfg);
       
  1242 +SECStatus PrioPacketVerify1_write(const_PrioPacketVerify1 p,
       
  1243 +                                  msgpack_packer* pk);
       
  1244 +SECStatus PrioPacketVerify1_read(PrioPacketVerify1 p, msgpack_unpacker* upk,
       
  1245 +                                 const_PrioConfig cfg);
       
  1246  
       
  1247 -/* 
       
  1248 +/*
       
  1249   * Generate the second packet that the servers need to exchange to verify the
       
  1250   * client's submission. The routine takes as input the PrioPacketVerify1
       
  1251   * packets from both server A and server B.
       
  1252   *
       
  1253   * This should be sent over a TLS connection between the servers.
       
  1254   */
       
  1255 -PrioPacketVerify2 PrioPacketVerify2_new (void);
       
  1256 -void PrioPacketVerify2_clear (PrioPacketVerify2 p);
       
  1257 +PrioPacketVerify2 PrioPacketVerify2_new(void);
       
  1258 +void PrioPacketVerify2_clear(PrioPacketVerify2 p);
       
  1259  
       
  1260 -SECStatus PrioPacketVerify2_set_data (PrioPacketVerify2 p2, const_PrioVerifier v,
       
  1261 -    const_PrioPacketVerify1 p1A, const_PrioPacketVerify1 p1B);
       
  1262 +SECStatus PrioPacketVerify2_set_data(PrioPacketVerify2 p2, const_PrioVerifier v,
       
  1263 +                                     const_PrioPacketVerify1 p1A,
       
  1264 +                                     const_PrioPacketVerify1 p1B);
       
  1265  
       
  1266 -SECStatus PrioPacketVerify2_write (const_PrioPacketVerify2 p,
       
  1267 -    msgpack_packer *pk);
       
  1268 -SECStatus PrioPacketVerify2_read (PrioPacketVerify2 p,
       
  1269 -    msgpack_unpacker *upk, const_PrioConfig cfg);
       
  1270 +SECStatus PrioPacketVerify2_write(const_PrioPacketVerify2 p,
       
  1271 +                                  msgpack_packer* pk);
       
  1272 +SECStatus PrioPacketVerify2_read(PrioPacketVerify2 p, msgpack_unpacker* upk,
       
  1273 +                                 const_PrioConfig cfg);
       
  1274  
       
  1275 -/* 
       
  1276 +/*
       
  1277   * Use the PrioPacketVerify2s from both servers to check whether
       
  1278   * the client's submission is well formed.
       
  1279   */
       
  1280 -SECStatus PrioVerifier_isValid (const_PrioVerifier v,
       
  1281 -    const_PrioPacketVerify2 pA, const_PrioPacketVerify2 pB);
       
  1282 +SECStatus PrioVerifier_isValid(const_PrioVerifier v, const_PrioPacketVerify2 pA,
       
  1283 +                               const_PrioPacketVerify2 pB);
       
  1284  
       
  1285  /*
       
  1286   * Each of the two servers calls this routine to aggregate the data
       
  1287   * submission from a client that is included in the PrioVerifier object.
       
  1288   *
       
  1289   * IMPORTANT: This routine does *not* check the validity of the client's
       
  1290 - * data packet. The servers must execute the verification checks 
       
  1291 + * data packet. The servers must execute the verification checks
       
  1292   * above before aggregating any client data.
       
  1293   */
       
  1294 -SECStatus PrioServer_aggregate (PrioServer s, PrioVerifier v);
       
  1295 +SECStatus PrioServer_aggregate(PrioServer s, PrioVerifier v);
       
  1296  
       
  1297 -/* 
       
  1298 +/*
       
  1299   * After the servers have aggregated data packets from "enough" clients
       
  1300   * (this determines the anonymity set size), each server runs this routine
       
  1301 - * to get a share of the aggregate statistics. 
       
  1302 + * to get a share of the aggregate statistics.
       
  1303   */
       
  1304 -PrioTotalShare PrioTotalShare_new (void);
       
  1305 -void PrioTotalShare_clear (PrioTotalShare t);
       
  1306 +PrioTotalShare PrioTotalShare_new(void);
       
  1307 +void PrioTotalShare_clear(PrioTotalShare t);
       
  1308  
       
  1309 -SECStatus PrioTotalShare_set_data (PrioTotalShare t, const_PrioServer s);
       
  1310 +SECStatus PrioTotalShare_set_data(PrioTotalShare t, const_PrioServer s);
       
  1311  
       
  1312 -SECStatus PrioTotalShare_write (const_PrioTotalShare t,
       
  1313 -    msgpack_packer *pk);
       
  1314 -SECStatus PrioTotalShare_read (PrioTotalShare t,
       
  1315 -    msgpack_unpacker *upk, const_PrioConfig cfg);
       
  1316 +SECStatus PrioTotalShare_write(const_PrioTotalShare t, msgpack_packer* pk);
       
  1317 +SECStatus PrioTotalShare_read(PrioTotalShare t, msgpack_unpacker* upk,
       
  1318 +                              const_PrioConfig cfg);
       
  1319  
       
  1320  /*
       
  1321   * Read the output data into an array of unsigned longs. You should
       
  1322 @@ -262,9 +259,9 @@
       
  1323   * the pointer `output` points to a buffer large enough to store
       
  1324   * one long per data field.
       
  1325   */
       
  1326 -SECStatus PrioTotalShare_final (const_PrioConfig cfg, unsigned long *output,
       
  1327 -    const_PrioTotalShare tA, const_PrioTotalShare tB);
       
  1328 -
       
  1329 +SECStatus PrioTotalShare_final(const_PrioConfig cfg, unsigned long* output,
       
  1330 +                               const_PrioTotalShare tA,
       
  1331 +                               const_PrioTotalShare tB);
       
  1332  
       
  1333  #endif /* __PRIO_H__ */
       
  1334  
       
  1335 diff --git a/third_party/prio/pclient/SConscript b/third_party/prio/pclient/SConscript
       
  1336 deleted file mode 100644
       
  1337 --- a/third_party/prio/pclient/SConscript
       
  1338 +++ /dev/null
       
  1339 @@ -1,18 +0,0 @@
       
  1340 -import sys
       
  1341 -
       
  1342 -Import('env')
       
  1343 -
       
  1344 -prio_env = env.Clone()
       
  1345 -
       
  1346 -src = [
       
  1347 -    "main.c",
       
  1348 -]
       
  1349 -
       
  1350 -libs = [
       
  1351 -  "mprio",
       
  1352 -  "msgpackc",
       
  1353 -]
       
  1354 -
       
  1355 -prio_env.Append(LIBS = libs)
       
  1356 -prio_env.Program("pclient", src)
       
  1357 -
       
  1358 diff --git a/third_party/prio/pclient/main.c b/third_party/prio/pclient/main.c
       
  1359 deleted file mode 100644
       
  1360 --- a/third_party/prio/pclient/main.c
       
  1361 +++ /dev/null
       
  1362 @@ -1,229 +0,0 @@
       
  1363 -/*
       
  1364 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  1365 - * 
       
  1366 - * This Source Code Form is subject to the terms of the Mozilla Public
       
  1367 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  1368 - * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  1369 - */
       
  1370 -
       
  1371 -#include <mprio.h>
       
  1372 -#include <stdio.h>
       
  1373 -#include <stdlib.h>
       
  1374 -
       
  1375 -#include "prio/util.h"
       
  1376 -
       
  1377 -int
       
  1378 -verify_full (void)
       
  1379 -{
       
  1380 -  SECStatus rv = SECSuccess;
       
  1381 -
       
  1382 -  PublicKey pkA = NULL;
       
  1383 -  PublicKey pkB = NULL;
       
  1384 -  PrivateKey skA = NULL;
       
  1385 -  PrivateKey skB = NULL;
       
  1386 -
       
  1387 -  PrioConfig cfg = NULL;
       
  1388 -  PrioServer sA = NULL;
       
  1389 -  PrioServer sB = NULL;
       
  1390 -  PrioVerifier vA = NULL;
       
  1391 -  PrioVerifier vB = NULL;
       
  1392 -  PrioPacketVerify1 p1A = NULL;
       
  1393 -  PrioPacketVerify1 p1B = NULL;
       
  1394 -  PrioPacketVerify2 p2A = NULL;
       
  1395 -  PrioPacketVerify2 p2B = NULL;
       
  1396 -  PrioTotalShare tA = NULL;
       
  1397 -  PrioTotalShare tB = NULL;
       
  1398 -
       
  1399 -  unsigned char *for_server_a = NULL;
       
  1400 -  unsigned char *for_server_b = NULL;
       
  1401 -
       
  1402 -  const unsigned char *batch_id = (unsigned char *)"prio_batch_2018-04-17";
       
  1403 -  const unsigned int batch_id_len = strlen ((char *)batch_id);
       
  1404 -
       
  1405 -  // Initialize NSS random number generator.
       
  1406 -  P_CHECKC (Prio_init ());
       
  1407 -
       
  1408 -  // Number of different boolean data fields we collect.
       
  1409 -  const int ndata = 100;
       
  1410 -
       
  1411 -  // Number of clients to simulate.
       
  1412 -  const int nclients = 10;
       
  1413 -
       
  1414 -
       
  1415 -  // New scope to avoid goto weirdness
       
  1416 -  {
       
  1417 -    bool data_items[ndata];
       
  1418 -
       
  1419 -    // Generate keypairs for servers
       
  1420 -    P_CHECKC (Keypair_new (&skA, &pkA));
       
  1421 -    P_CHECKC (Keypair_new (&skB, &pkB));
       
  1422 -
       
  1423 -    // Use the default configuration parameters.
       
  1424 -    P_CHECKA (cfg = PrioConfig_new (ndata, pkA, pkB, batch_id, batch_id_len));
       
  1425 -
       
  1426 -    PrioPRGSeed server_secret;
       
  1427 -    P_CHECKC (PrioPRGSeed_randomize (&server_secret));
       
  1428 -
       
  1429 -    // Initialize two server objects. The role of the servers need not
       
  1430 -    // be symmetric. In a deployment, we envision that:
       
  1431 -    //   * Server A is the main telemetry server that is always online. 
       
  1432 -    //     Clients send their encrypted data packets to Server A and
       
  1433 -    //     Server A stores them.
       
  1434 -    //   * Server B only comes online when the two servers want to compute
       
  1435 -    //     the final aggregate statistics.
       
  1436 -    P_CHECKA (sA = PrioServer_new (cfg, PRIO_SERVER_A, skA, server_secret));
       
  1437 -    P_CHECKA (sB = PrioServer_new (cfg, PRIO_SERVER_B, skB, server_secret));
       
  1438 -
       
  1439 -    // Initialize empty verifier objects
       
  1440 -    P_CHECKA (vA = PrioVerifier_new (sA)); 
       
  1441 -    P_CHECKA (vB = PrioVerifier_new (sB));
       
  1442 -
       
  1443 -    // Initialize shares of final aggregate statistics
       
  1444 -    P_CHECKA (tA = PrioTotalShare_new ());
       
  1445 -    P_CHECKA (tB = PrioTotalShare_new ());
       
  1446 -
       
  1447 -    // Initialize shares of verification packets
       
  1448 -    P_CHECKA (p1A = PrioPacketVerify1_new ());
       
  1449 -    P_CHECKA (p1B = PrioPacketVerify1_new ());
       
  1450 -    P_CHECKA (p2A = PrioPacketVerify2_new ());
       
  1451 -    P_CHECKA (p2B = PrioPacketVerify2_new ());
       
  1452 -
       
  1453 -    // Generate client data packets.
       
  1454 -    for (int c=0; c < nclients; c++) {
       
  1455 -
       
  1456 -      // The client's data submission is an arbitrary boolean vector.
       
  1457 -      for (int i=0; i < ndata; i++) {
       
  1458 -        // Arbitrary data
       
  1459 -        data_items[i] = (i % 3 == 1) || (c % 5 == 3);
       
  1460 -      }
       
  1461 -
       
  1462 -      // I. CLIENT DATA SUBMISSION.
       
  1463 -      //
       
  1464 -      // Construct the client data packets.
       
  1465 -      unsigned int aLen, bLen;
       
  1466 -      P_CHECKC (PrioClient_encode (cfg, data_items, 
       
  1467 -            &for_server_a, &aLen, &for_server_b, &bLen));
       
  1468 -
       
  1469 -      // The Prio servers A and B can come online later (e.g., at the end of
       
  1470 -      // each day) to download the encrypted telemetry packets from the
       
  1471 -      // telemetry server and run the protocol that computes the aggregate
       
  1472 -      // statistics. In this way, the client only needs to send a 
       
  1473 -      // single message (the pair of encrypted ClientPacketData packets) 
       
  1474 -      // to a single server (the telemetry-data-collection server).
       
  1475 -
       
  1476 -      // THE CLIENT'S JOB IS DONE. The rest of the processing just takes place
       
  1477 -      // between the two servers A and B.
       
  1478 -
       
  1479 -
       
  1480 -      // II. VALIDATION PROTOCOL. (at servers)
       
  1481 -      //
       
  1482 -      // The servers now run a short 2-step protocol to check each 
       
  1483 -      // client's packet:
       
  1484 -      //    1) Servers A and B broadcast one message (PrioPacketVerify1) 
       
  1485 -      //       to each other.
       
  1486 -      //    2) Servers A and B broadcast another message (PrioPacketVerify2)
       
  1487 -      //       to each other.
       
  1488 -      //    3) Servers A and B can both determine whether the client's data
       
  1489 -      //       submission is well-formed (in which case they add it to their
       
  1490 -      //       running total of aggregate statistics) or ill-formed
       
  1491 -      //       (in which case they ignore it).
       
  1492 -      // These messages must be sent over an authenticated channel, so
       
  1493 -      // that each server is assured that every received message came 
       
  1494 -      // from its peer.
       
  1495 -
       
  1496 -      // Set up a Prio verifier object.
       
  1497 -      P_CHECKC (PrioVerifier_set_data (vA, for_server_a, aLen));
       
  1498 -      P_CHECKC (PrioVerifier_set_data (vB, for_server_b, bLen));
       
  1499 -
       
  1500 -      // Both servers produce a packet1. Server A sends p1A to Server B
       
  1501 -      // and vice versa.
       
  1502 -      P_CHECKC (PrioPacketVerify1_set_data (p1A, vA));
       
  1503 -      P_CHECKC (PrioPacketVerify1_set_data (p1B, vB));
       
  1504 -
       
  1505 -      // Both servers produce a packet2. Server A sends p2A to Server B
       
  1506 -      // and vice versa.
       
  1507 -      P_CHECKC (PrioPacketVerify2_set_data(p2A, vA, p1A, p1B));
       
  1508 -      P_CHECKC (PrioPacketVerify2_set_data(p2B, vB, p1A, p1B));
       
  1509 -
       
  1510 -      // Using p2A and p2B, the servers can determine whether the request
       
  1511 -      // is valid. (In fact, only Server A needs to perform this 
       
  1512 -      // check, since Server A can just tell Server B whether the check 
       
  1513 -      // succeeded or failed.) 
       
  1514 -      P_CHECKC (PrioVerifier_isValid (vA, p2A, p2B)); 
       
  1515 -      P_CHECKC (PrioVerifier_isValid (vB, p2A, p2B)); 
       
  1516 -
       
  1517 -      // If we get here, the client packet is valid, so add it to the aggregate
       
  1518 -      // statistic counter for both servers.
       
  1519 -      P_CHECKC (PrioServer_aggregate (sA, vA));
       
  1520 -      P_CHECKC (PrioServer_aggregate (sB, vB));
       
  1521 -
       
  1522 -      free (for_server_a);
       
  1523 -      free (for_server_b);
       
  1524 -      for_server_a = NULL;
       
  1525 -      for_server_b = NULL;
       
  1526 -    }
       
  1527 -
       
  1528 -    // The servers repeat the steps above for each client submission.
       
  1529 -
       
  1530 -    // III. PRODUCTION OF AGGREGATE STATISTICS.
       
  1531 -    //
       
  1532 -    // After collecting aggregates from MANY clients, the servers can compute
       
  1533 -    // their shares of the aggregate statistics. 
       
  1534 -    //
       
  1535 -    // Server B can send tB to Server A.
       
  1536 -    P_CHECKC (PrioTotalShare_set_data (tA, sA));
       
  1537 -    P_CHECKC (PrioTotalShare_set_data (tB, sB));
       
  1538 -
       
  1539 -    // Once Server A has tA and tB, it can learn the aggregate statistics
       
  1540 -    // in the clear.
       
  1541 -    unsigned long output[ndata];
       
  1542 -    P_CHECKC (PrioTotalShare_final (cfg, output, tA, tB));
       
  1543 -    
       
  1544 -    // Now the output[i] contains a counter that indicates how many clients
       
  1545 -    // submitted TRUE for data value i.  We print out this data.
       
  1546 -    for (int i=0; i < ndata; i++) 
       
  1547 -      printf("output[%d] = %lu\n", i, output[i]);
       
  1548 -  }
       
  1549 -
       
  1550 -cleanup:
       
  1551 -  if (rv != SECSuccess) {
       
  1552 -    fprintf (stderr, "Warning: unexpected failure.\n");
       
  1553 -  }
       
  1554 -
       
  1555 -  if (for_server_a) free (for_server_a);
       
  1556 -  if (for_server_b) free (for_server_b);
       
  1557 -
       
  1558 -  PrioTotalShare_clear (tA);
       
  1559 -  PrioTotalShare_clear (tB);
       
  1560 -
       
  1561 -  PrioPacketVerify2_clear (p2A);
       
  1562 -  PrioPacketVerify2_clear (p2B);
       
  1563 -
       
  1564 -  PrioPacketVerify1_clear (p1A);
       
  1565 -  PrioPacketVerify1_clear (p1B);
       
  1566 -
       
  1567 -  PrioVerifier_clear (vA);
       
  1568 -  PrioVerifier_clear (vB);
       
  1569 -
       
  1570 -  PrioServer_clear (sA);
       
  1571 -  PrioServer_clear (sB);
       
  1572 -  PrioConfig_clear (cfg);
       
  1573 -
       
  1574 -  PublicKey_clear (pkA);
       
  1575 -  PublicKey_clear (pkB);
       
  1576 -
       
  1577 -  PrivateKey_clear (skA);
       
  1578 -  PrivateKey_clear (skB);
       
  1579 -
       
  1580 -  Prio_clear ();
       
  1581 -
       
  1582 -  return !(rv == SECSuccess);
       
  1583 -}
       
  1584 -
       
  1585 -int 
       
  1586 -main (void)
       
  1587 -{
       
  1588 -  puts ("This utility demonstrates how to invoke the Prio API.");
       
  1589 -  return verify_full ();
       
  1590 -}
       
  1591 -
       
  1592 diff --git a/third_party/prio/prio/SConscript b/third_party/prio/prio/SConscript
       
  1593 --- a/third_party/prio/prio/SConscript
       
  1594 +++ b/third_party/prio/prio/SConscript
       
  1595 @@ -21,9 +21,6 @@
       
  1596    "msgpackc"
       
  1597  ]
       
  1598  
       
  1599 -# Enable mp_print()
       
  1600 -penv.Append(CFLAGS = ['-DMP_IOFUNC'])
       
  1601 -
       
  1602  penv.Append(LIBS = libs)
       
  1603  penv.StaticLibrary("mprio", src)
       
  1604  
       
  1605 diff --git a/third_party/prio/prio/client.h b/third_party/prio/prio/client.h
       
  1606 --- a/third_party/prio/prio/client.h
       
  1607 +++ b/third_party/prio/prio/client.h
       
  1608 @@ -1,9 +1,9 @@
       
  1609  /*
       
  1610   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  1611 - * 
       
  1612 + *
       
  1613   * This Source Code Form is subject to the terms of the Mozilla Public
       
  1614   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  1615 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
  1616 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  1617   */
       
  1618  
       
  1619  #ifndef __CLIENT_H__
       
  1620 @@ -13,23 +13,24 @@
       
  1621  #include "prg.h"
       
  1622  #include "share.h"
       
  1623  
       
  1624 -
       
  1625  /*
       
  1626   * The PrioPacketClient object holds the encoded client data.
       
  1627   * The client sends one packet to server A and one packet to
       
  1628   * server B. The `for_server` parameter determines which server
       
  1629   * the packet is for.
       
  1630   */
       
  1631 -typedef struct prio_packet_client *PrioPacketClient;
       
  1632 -typedef const struct prio_packet_client *const_PrioPacketClient;
       
  1633 +typedef struct prio_packet_client* PrioPacketClient;
       
  1634 +typedef const struct prio_packet_client* const_PrioPacketClient;
       
  1635  
       
  1636 -struct server_a_data {
       
  1637 +struct server_a_data
       
  1638 +{
       
  1639    // These values are only set for server A.
       
  1640    MPArray data_shares;
       
  1641    MPArray h_points;
       
  1642  };
       
  1643  
       
  1644 -struct server_b_data {
       
  1645 +struct server_b_data
       
  1646 +{
       
  1647    // This value is only used for server B.
       
  1648    //
       
  1649    // We use a pseudo-random generator to compress the secret-shared data
       
  1650 @@ -39,9 +40,10 @@
       
  1651  };
       
  1652  
       
  1653  /*
       
  1654 - * The data that a Prio client sends to each server. 
       
  1655 + * The data that a Prio client sends to each server.
       
  1656   */
       
  1657 -struct prio_packet_client {
       
  1658 +struct prio_packet_client
       
  1659 +{
       
  1660    // TODO: Can also use a PRG to avoid need for sending Beaver triple shares.
       
  1661    // Since this optimization only saves ~30 bytes of communication, we haven't
       
  1662    // bothered implementing it yet.
       
  1663 @@ -50,25 +52,26 @@
       
  1664    mp_int f0_share, g0_share, h0_share;
       
  1665    PrioServerId for_server;
       
  1666  
       
  1667 -  union {
       
  1668 +  union
       
  1669 +  {
       
  1670      struct server_a_data A;
       
  1671      struct server_b_data B;
       
  1672    } shares;
       
  1673  };
       
  1674  
       
  1675 -
       
  1676 -PrioPacketClient PrioPacketClient_new (const_PrioConfig cfg, PrioServerId for_server);
       
  1677 -void PrioPacketClient_clear (PrioPacketClient p);
       
  1678 -SECStatus PrioPacketClient_set_data (const_PrioConfig cfg, const bool *data_in,
       
  1679 -    PrioPacketClient for_server_a, PrioPacketClient for_server_b);
       
  1680 +PrioPacketClient PrioPacketClient_new(const_PrioConfig cfg,
       
  1681 +                                      PrioServerId for_server);
       
  1682 +void PrioPacketClient_clear(PrioPacketClient p);
       
  1683 +SECStatus PrioPacketClient_set_data(const_PrioConfig cfg, const bool* data_in,
       
  1684 +                                    PrioPacketClient for_server_a,
       
  1685 +                                    PrioPacketClient for_server_b);
       
  1686  
       
  1687 -SECStatus PrioPacketClient_decrypt (PrioPacketClient p, 
       
  1688 -    const_PrioConfig cfg, PrivateKey server_priv, 
       
  1689 -    const unsigned char *data_in, unsigned int data_len);
       
  1690 +SECStatus PrioPacketClient_decrypt(PrioPacketClient p, const_PrioConfig cfg,
       
  1691 +                                   PrivateKey server_priv,
       
  1692 +                                   const unsigned char* data_in,
       
  1693 +                                   unsigned int data_len);
       
  1694  
       
  1695 -bool PrioPacketClient_areEqual (const_PrioPacketClient p1, 
       
  1696 -  const_PrioPacketClient p2);
       
  1697 -
       
  1698 +bool PrioPacketClient_areEqual(const_PrioPacketClient p1,
       
  1699 +                               const_PrioPacketClient p2);
       
  1700  
       
  1701  #endif /* __CLIENT_H__ */
       
  1702 -
       
  1703 diff --git a/third_party/prio/prio/client.c b/third_party/prio/prio/client.c
       
  1704 --- a/third_party/prio/prio/client.c
       
  1705 +++ b/third_party/prio/prio/client.c
       
  1706 @@ -1,6 +1,6 @@
       
  1707  /*
       
  1708   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  1709 - * 
       
  1710 + *
       
  1711   * This Source Code Form is subject to the terms of the Mozilla Public
       
  1712   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  1713   * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       
  1714 @@ -21,7 +21,7 @@
       
  1715  #include "util.h"
       
  1716  
       
  1717  // Let the points of data_in be [x1, x2, x3, ... ].
       
  1718 -// We construct the polynomial f such that 
       
  1719 +// We construct the polynomial f such that
       
  1720  // (a)    f(0) = random,
       
  1721  // (b)    f(i) = x_i  for all i >= 1,
       
  1722  // (c)    degree(f)+1 is a power of two.
       
  1723 @@ -30,10 +30,10 @@
       
  1724  // and we return f(0) as `const_term`.
       
  1725  static SECStatus
       
  1726  data_polynomial_evals(const_PrioConfig cfg, const_MPArray data_in,
       
  1727 -    MPArray evals_out, mp_int *const_term)
       
  1728 +                      MPArray evals_out, mp_int* const_term)
       
  1729  {
       
  1730    SECStatus rv = SECSuccess;
       
  1731 -  const mp_int *mod = &cfg->modulus;
       
  1732 +  const mp_int* mod = &cfg->modulus;
       
  1733    MPArray points_f = NULL;
       
  1734    MPArray poly_f = NULL;
       
  1735  
       
  1736 @@ -43,88 +43,87 @@
       
  1737    // Little n is the number of points on the polynomials.
       
  1738    // The constant term is randomized, so it's (mul_gates + 1).
       
  1739    const int n = mul_gates + 1;
       
  1740 - 
       
  1741 +
       
  1742    // Big N is n rounded up to a power of two.
       
  1743 -  const int N = next_power_of_two (n);
       
  1744 +  const int N = next_power_of_two(n);
       
  1745  
       
  1746 -  P_CHECKA (points_f = MPArray_new (N));
       
  1747 -  P_CHECKA (poly_f = MPArray_new (N));
       
  1748 +  P_CHECKA(points_f = MPArray_new(N));
       
  1749 +  P_CHECKA(poly_f = MPArray_new(N));
       
  1750  
       
  1751    // Set constant term f(0) to random
       
  1752 -  P_CHECKC (rand_int (&points_f->data[0], mod)); 
       
  1753 -  MP_CHECKC (mp_copy (&points_f->data[0], const_term)); 
       
  1754 +  P_CHECKC(rand_int(&points_f->data[0], mod));
       
  1755 +  MP_CHECKC(mp_copy(&points_f->data[0], const_term));
       
  1756  
       
  1757    // Set other values of f(x)
       
  1758 -  for (int i=1; i<n; i++) {
       
  1759 -    MP_CHECKC (mp_copy (&data_in->data[i-1], &points_f->data[i]));
       
  1760 +  for (int i = 1; i < n; i++) {
       
  1761 +    MP_CHECKC(mp_copy(&data_in->data[i - 1], &points_f->data[i]));
       
  1762    }
       
  1763  
       
  1764    // Interpolate through the Nth roots of unity
       
  1765 -  P_CHECKC (poly_fft(poly_f, points_f, cfg, true)); 
       
  1766 +  P_CHECKC(poly_fft(poly_f, points_f, cfg, true));
       
  1767  
       
  1768 -  // Evaluate at all 2N-th roots of unity. 
       
  1769 +  // Evaluate at all 2N-th roots of unity.
       
  1770    // To do so, first resize the eval arrays and fill upper
       
  1771    // values with zeros.
       
  1772 -  P_CHECKC (MPArray_resize (poly_f, 2*N)); 
       
  1773 -  P_CHECKC (MPArray_resize (evals_out, 2*N)); 
       
  1774 -  
       
  1775 +  P_CHECKC(MPArray_resize(poly_f, 2 * N));
       
  1776 +  P_CHECKC(MPArray_resize(evals_out, 2 * N));
       
  1777 +
       
  1778    // Evaluate at the 2N-th roots of unity
       
  1779 -  P_CHECKC (poly_fft(evals_out, poly_f, cfg, false)); 
       
  1780 +  P_CHECKC(poly_fft(evals_out, poly_f, cfg, false));
       
  1781  
       
  1782  cleanup:
       
  1783 -  MPArray_clear (points_f);
       
  1784 -  MPArray_clear (poly_f);
       
  1785 +  MPArray_clear(points_f);
       
  1786 +  MPArray_clear(poly_f);
       
  1787  
       
  1788    return rv;
       
  1789  }
       
  1790  
       
  1791 -
       
  1792  static SECStatus
       
  1793 -share_polynomials (const_PrioConfig cfg, const_MPArray data_in,
       
  1794 -    PrioPacketClient pA, PrioPacketClient pB, PRG prgB)
       
  1795 +share_polynomials(const_PrioConfig cfg, const_MPArray data_in,
       
  1796 +                  PrioPacketClient pA, PrioPacketClient pB, PRG prgB)
       
  1797  {
       
  1798    SECStatus rv = SECSuccess;
       
  1799 -  const mp_int *mod = &cfg->modulus;
       
  1800 +  const mp_int* mod = &cfg->modulus;
       
  1801    const_MPArray points_f = data_in;
       
  1802  
       
  1803    mp_int f0, g0;
       
  1804 -  MP_DIGITS (&f0) = NULL;
       
  1805 -  MP_DIGITS (&g0) = NULL;
       
  1806 +  MP_DIGITS(&f0) = NULL;
       
  1807 +  MP_DIGITS(&g0) = NULL;
       
  1808  
       
  1809    MPArray points_g = NULL;
       
  1810    MPArray evals_f_2N = NULL;
       
  1811    MPArray evals_g_2N = NULL;
       
  1812  
       
  1813 -  P_CHECKA (points_g = MPArray_dup (points_f));
       
  1814 -  P_CHECKA (evals_f_2N = MPArray_new (0));
       
  1815 -  P_CHECKA (evals_g_2N = MPArray_new (0));
       
  1816 -  MP_CHECKC (mp_init (&f0)); 
       
  1817 -  MP_CHECKC (mp_init (&g0)); 
       
  1818 +  P_CHECKA(points_g = MPArray_dup(points_f));
       
  1819 +  P_CHECKA(evals_f_2N = MPArray_new(0));
       
  1820 +  P_CHECKA(evals_g_2N = MPArray_new(0));
       
  1821 +  MP_CHECKC(mp_init(&f0));
       
  1822 +  MP_CHECKC(mp_init(&g0));
       
  1823  
       
  1824 -  for (int i=0; i<points_f->len; i++) {
       
  1825 +  for (int i = 0; i < points_f->len; i++) {
       
  1826      // For each input value x_i, we compute x_i * (x_i-1).
       
  1827      //    f(i) = x_i
       
  1828      //    g(i) = x_i - 1
       
  1829 -    MP_CHECKC (mp_sub_d (&points_g->data[i], 1, &points_g->data[i]));
       
  1830 -    MP_CHECKC (mp_mod (&points_g->data[i], mod, &points_g->data[i]));
       
  1831 +    MP_CHECKC(mp_sub_d(&points_g->data[i], 1, &points_g->data[i]));
       
  1832 +    MP_CHECKC(mp_mod(&points_g->data[i], mod, &points_g->data[i]));
       
  1833    }
       
  1834  
       
  1835 -  P_CHECKC (data_polynomial_evals(cfg, points_f, evals_f_2N, &f0));
       
  1836 -  P_CHECKC (data_polynomial_evals(cfg, points_g, evals_g_2N, &g0));
       
  1837 +  P_CHECKC(data_polynomial_evals(cfg, points_f, evals_f_2N, &f0));
       
  1838 +  P_CHECKC(data_polynomial_evals(cfg, points_g, evals_g_2N, &g0));
       
  1839  
       
  1840    // The values f(0) and g(0) are set to random values.
       
  1841    // We must send to each server a share of the points
       
  1842    //    f(0),   g(0),   and   h(0) = f(0)*g(0)
       
  1843 -  P_CHECKC (share_int (cfg, &f0, &pA->f0_share, &pB->f0_share)); 
       
  1844 -  P_CHECKC (share_int (cfg, &g0, &pA->g0_share, &pB->g0_share)); 
       
  1845 +  P_CHECKC(share_int(cfg, &f0, &pA->f0_share, &pB->f0_share));
       
  1846 +  P_CHECKC(share_int(cfg, &g0, &pA->g0_share, &pB->g0_share));
       
  1847  
       
  1848    // Compute h(0) = f(0)*g(0).
       
  1849 -  MP_CHECKC (mp_mulmod (&f0, &g0, mod, &f0));
       
  1850 +  MP_CHECKC(mp_mulmod(&f0, &g0, mod, &f0));
       
  1851    // Give one share of h(0) to each server.
       
  1852 -  P_CHECKC (share_int (cfg, &f0, &pA->h0_share, &pB->h0_share)); 
       
  1853 +  P_CHECKC(share_int(cfg, &f0, &pA->h0_share, &pB->h0_share));
       
  1854  
       
  1855 -  //const int lenN = (evals_f_2N->len/2);
       
  1856 -  //P_CHECKC (MPArray_resize (pA->shares.A.h_points, lenN)); 
       
  1857 +  // const int lenN = (evals_f_2N->len/2);
       
  1858 +  // P_CHECKC (MPArray_resize (pA->shares.A.h_points, lenN));
       
  1859  
       
  1860    // We need to send to the servers the evaluations of
       
  1861    //   f(r) * g(r)
       
  1862 @@ -135,34 +134,35 @@
       
  1863    // send a share of this value to each server.
       
  1864    int j = 0;
       
  1865    for (int i = 1; i < evals_f_2N->len; i += 2) {
       
  1866 -    MP_CHECKC (mp_mulmod (&evals_f_2N->data[i], &evals_g_2N->data[i], mod, &f0));
       
  1867 -    P_CHECKC (PRG_share_int (prgB, &pA->shares.A.h_points->data[j], &f0, cfg)); 
       
  1868 +    MP_CHECKC(mp_mulmod(&evals_f_2N->data[i], &evals_g_2N->data[i], mod, &f0));
       
  1869 +    P_CHECKC(PRG_share_int(prgB, &pA->shares.A.h_points->data[j], &f0, cfg));
       
  1870      j++;
       
  1871    }
       
  1872  
       
  1873  cleanup:
       
  1874 -  MPArray_clear (evals_f_2N);
       
  1875 -  MPArray_clear (evals_g_2N);
       
  1876 -  MPArray_clear (points_g);
       
  1877 -  mp_clear (&f0);
       
  1878 -  mp_clear (&g0);
       
  1879 +  MPArray_clear(evals_f_2N);
       
  1880 +  MPArray_clear(evals_g_2N);
       
  1881 +  MPArray_clear(points_g);
       
  1882 +  mp_clear(&f0);
       
  1883 +  mp_clear(&g0);
       
  1884    return rv;
       
  1885  }
       
  1886  
       
  1887  PrioPacketClient
       
  1888 -PrioPacketClient_new (const_PrioConfig cfg, PrioServerId for_server)
       
  1889 +PrioPacketClient_new(const_PrioConfig cfg, PrioServerId for_server)
       
  1890  {
       
  1891 -  SECStatus rv = SECSuccess; 
       
  1892 +  SECStatus rv = SECSuccess;
       
  1893    const int data_len = cfg->num_data_fields;
       
  1894    PrioPacketClient p = NULL;
       
  1895 -  p = malloc (sizeof (*p));
       
  1896 -  if (!p) return NULL;
       
  1897 +  p = malloc(sizeof(*p));
       
  1898 +  if (!p)
       
  1899 +    return NULL;
       
  1900  
       
  1901    p->for_server = for_server;
       
  1902    p->triple = NULL;
       
  1903 -  MP_DIGITS (&p->f0_share) = NULL;
       
  1904 -  MP_DIGITS (&p->g0_share) = NULL;
       
  1905 -  MP_DIGITS (&p->h0_share) = NULL;
       
  1906 +  MP_DIGITS(&p->f0_share) = NULL;
       
  1907 +  MP_DIGITS(&p->g0_share) = NULL;
       
  1908 +  MP_DIGITS(&p->h0_share) = NULL;
       
  1909  
       
  1910    switch (p->for_server) {
       
  1911      case PRIO_SERVER_A:
       
  1912 @@ -170,7 +170,7 @@
       
  1913        p->shares.A.h_points = NULL;
       
  1914        break;
       
  1915      case PRIO_SERVER_B:
       
  1916 -      memset (p->shares.B.seed, 0, PRG_SEED_LENGTH);
       
  1917 +      memset(p->shares.B.seed, 0, PRG_SEED_LENGTH);
       
  1918        break;
       
  1919      default:
       
  1920        // Should never get here
       
  1921 @@ -178,20 +178,20 @@
       
  1922        goto cleanup;
       
  1923    }
       
  1924  
       
  1925 -  MP_CHECKC (mp_init (&p->f0_share)); 
       
  1926 -  MP_CHECKC (mp_init (&p->g0_share));
       
  1927 -  MP_CHECKC (mp_init (&p->h0_share));
       
  1928 -  P_CHECKA (p->triple = BeaverTriple_new ());
       
  1929 +  MP_CHECKC(mp_init(&p->f0_share));
       
  1930 +  MP_CHECKC(mp_init(&p->g0_share));
       
  1931 +  MP_CHECKC(mp_init(&p->h0_share));
       
  1932 +  P_CHECKA(p->triple = BeaverTriple_new());
       
  1933  
       
  1934    if (p->for_server == PRIO_SERVER_A) {
       
  1935 -    const int num_h_points = PrioConfig_hPoints (cfg);
       
  1936 -    P_CHECKA (p->shares.A.data_shares = MPArray_new (data_len));
       
  1937 -    P_CHECKA (p->shares.A.h_points = MPArray_new (num_h_points));
       
  1938 +    const int num_h_points = PrioConfig_hPoints(cfg);
       
  1939 +    P_CHECKA(p->shares.A.data_shares = MPArray_new(data_len));
       
  1940 +    P_CHECKA(p->shares.A.h_points = MPArray_new(num_h_points));
       
  1941    }
       
  1942  
       
  1943  cleanup:
       
  1944    if (rv != SECSuccess) {
       
  1945 -    PrioPacketClient_clear (p);
       
  1946 +    PrioPacketClient_clear(p);
       
  1947      return NULL;
       
  1948    }
       
  1949  
       
  1950 @@ -199,69 +199,74 @@
       
  1951  }
       
  1952  
       
  1953  SECStatus
       
  1954 -PrioPacketClient_set_data (const_PrioConfig cfg, const bool *data_in,
       
  1955 -    PrioPacketClient pA, PrioPacketClient pB)
       
  1956 +PrioPacketClient_set_data(const_PrioConfig cfg, const bool* data_in,
       
  1957 +                          PrioPacketClient pA, PrioPacketClient pB)
       
  1958  {
       
  1959    MPArray client_data = NULL;
       
  1960    PRG prgB = NULL;
       
  1961    SECStatus rv = SECSuccess;
       
  1962    const int data_len = cfg->num_data_fields;
       
  1963  
       
  1964 -  if (!data_in) return SECFailure; 
       
  1965 -
       
  1966 -  P_CHECKC (PrioPRGSeed_randomize (&pB->shares.B.seed));
       
  1967 -  P_CHECKA (prgB = PRG_new (pB->shares.B.seed));
       
  1968 +  if (!data_in)
       
  1969 +    return SECFailure;
       
  1970  
       
  1971 -  P_CHECKC (BeaverTriple_set_rand (cfg, pA->triple, pB->triple)); 
       
  1972 -  P_CHECKA (client_data = MPArray_new_bool (data_len, data_in));
       
  1973 -  P_CHECKC (PRG_share_array (prgB, pA->shares.A.data_shares, 
       
  1974 -        client_data, cfg)); 
       
  1975 -  P_CHECKC (share_polynomials (cfg, client_data, pA, pB, prgB)); 
       
  1976 +  P_CHECKC(PrioPRGSeed_randomize(&pB->shares.B.seed));
       
  1977 +  P_CHECKA(prgB = PRG_new(pB->shares.B.seed));
       
  1978 +
       
  1979 +  P_CHECKC(BeaverTriple_set_rand(cfg, pA->triple, pB->triple));
       
  1980 +  P_CHECKA(client_data = MPArray_new_bool(data_len, data_in));
       
  1981 +  P_CHECKC(PRG_share_array(prgB, pA->shares.A.data_shares, client_data, cfg));
       
  1982 +  P_CHECKC(share_polynomials(cfg, client_data, pA, pB, prgB));
       
  1983  
       
  1984  cleanup:
       
  1985 -  MPArray_clear (client_data);
       
  1986 -  PRG_clear (prgB);
       
  1987 +  MPArray_clear(client_data);
       
  1988 +  PRG_clear(prgB);
       
  1989  
       
  1990    return rv;
       
  1991  }
       
  1992  
       
  1993  void
       
  1994 -PrioPacketClient_clear (PrioPacketClient p)
       
  1995 +PrioPacketClient_clear(PrioPacketClient p)
       
  1996  {
       
  1997 -  if (p == NULL) return;
       
  1998 +  if (p == NULL)
       
  1999 +    return;
       
  2000  
       
  2001    if (p->for_server == PRIO_SERVER_A) {
       
  2002 -    MPArray_clear (p->shares.A.h_points);
       
  2003 -    MPArray_clear (p->shares.A.data_shares);
       
  2004 +    MPArray_clear(p->shares.A.h_points);
       
  2005 +    MPArray_clear(p->shares.A.data_shares);
       
  2006    }
       
  2007  
       
  2008 -  BeaverTriple_clear (p->triple);
       
  2009 -  mp_clear (&p->f0_share);
       
  2010 -  mp_clear (&p->g0_share);
       
  2011 -  mp_clear (&p->h0_share);
       
  2012 -  free (p);
       
  2013 +  BeaverTriple_clear(p->triple);
       
  2014 +  mp_clear(&p->f0_share);
       
  2015 +  mp_clear(&p->g0_share);
       
  2016 +  mp_clear(&p->h0_share);
       
  2017 +  free(p);
       
  2018  }
       
  2019  
       
  2020 -bool 
       
  2021 -PrioPacketClient_areEqual (const_PrioPacketClient p1, 
       
  2022 -  const_PrioPacketClient p2)
       
  2023 +bool
       
  2024 +PrioPacketClient_areEqual(const_PrioPacketClient p1, const_PrioPacketClient p2)
       
  2025  {
       
  2026 -  if (!BeaverTriple_areEqual (p1->triple, p2->triple)) return false;
       
  2027 -  if (mp_cmp (&p1->f0_share, &p2->f0_share)) return false;
       
  2028 -  if (mp_cmp (&p1->g0_share, &p2->g0_share)) return false;
       
  2029 -  if (mp_cmp (&p1->h0_share, &p2->h0_share)) return false;
       
  2030 -  if (p1->for_server != p2->for_server) return false;
       
  2031 +  if (!BeaverTriple_areEqual(p1->triple, p2->triple))
       
  2032 +    return false;
       
  2033 +  if (mp_cmp(&p1->f0_share, &p2->f0_share))
       
  2034 +    return false;
       
  2035 +  if (mp_cmp(&p1->g0_share, &p2->g0_share))
       
  2036 +    return false;
       
  2037 +  if (mp_cmp(&p1->h0_share, &p2->h0_share))
       
  2038 +    return false;
       
  2039 +  if (p1->for_server != p2->for_server)
       
  2040 +    return false;
       
  2041  
       
  2042    switch (p1->for_server) {
       
  2043      case PRIO_SERVER_A:
       
  2044 -      if (!MPArray_areEqual (p1->shares.A.data_shares, 
       
  2045 -            p2->shares.A.data_shares)) return false;
       
  2046 -      if (!MPArray_areEqual (p1->shares.A.h_points, 
       
  2047 -            p2->shares.A.h_points)) return false;
       
  2048 -      break; 
       
  2049 +      if (!MPArray_areEqual(p1->shares.A.data_shares, p2->shares.A.data_shares))
       
  2050 +        return false;
       
  2051 +      if (!MPArray_areEqual(p1->shares.A.h_points, p2->shares.A.h_points))
       
  2052 +        return false;
       
  2053 +      break;
       
  2054      case PRIO_SERVER_B:
       
  2055 -      if (memcmp (p1->shares.B.seed, p2->shares.B.seed,
       
  2056 -            PRG_SEED_LENGTH)) return false;
       
  2057 +      if (memcmp(p1->shares.B.seed, p2->shares.B.seed, PRG_SEED_LENGTH))
       
  2058 +        return false;
       
  2059        break;
       
  2060      default:
       
  2061        // Should never get here.
       
  2062 @@ -271,83 +276,85 @@
       
  2063    return true;
       
  2064  }
       
  2065  
       
  2066 -SECStatus 
       
  2067 -PrioClient_encode (const_PrioConfig cfg, const bool *data_in,
       
  2068 -    unsigned char **for_server_a, unsigned int *aLen,
       
  2069 -    unsigned char **for_server_b, unsigned int *bLen)
       
  2070 +SECStatus
       
  2071 +PrioClient_encode(const_PrioConfig cfg, const bool* data_in,
       
  2072 +                  unsigned char** for_server_a, unsigned int* aLen,
       
  2073 +                  unsigned char** for_server_b, unsigned int* bLen)
       
  2074  {
       
  2075    SECStatus rv = SECSuccess;
       
  2076    PrioPacketClient pA = NULL;
       
  2077    PrioPacketClient pB = NULL;
       
  2078    *for_server_a = NULL;
       
  2079    *for_server_b = NULL;
       
  2080 -  
       
  2081 -  P_CHECKA (pA = PrioPacketClient_new (cfg, PRIO_SERVER_A));
       
  2082 -  P_CHECKA (pB = PrioPacketClient_new (cfg, PRIO_SERVER_B));
       
  2083 +
       
  2084 +  P_CHECKA(pA = PrioPacketClient_new(cfg, PRIO_SERVER_A));
       
  2085 +  P_CHECKA(pB = PrioPacketClient_new(cfg, PRIO_SERVER_B));
       
  2086  
       
  2087    msgpack_sbuffer sbufA, sbufB;
       
  2088    msgpack_packer packerA, packerB;
       
  2089  
       
  2090 -  msgpack_sbuffer_init (&sbufA); 
       
  2091 -  msgpack_sbuffer_init (&sbufB); 
       
  2092 -  msgpack_packer_init (&packerA, &sbufA, msgpack_sbuffer_write);
       
  2093 -  msgpack_packer_init (&packerB, &sbufB, msgpack_sbuffer_write);
       
  2094 +  msgpack_sbuffer_init(&sbufA);
       
  2095 +  msgpack_sbuffer_init(&sbufB);
       
  2096 +  msgpack_packer_init(&packerA, &sbufA, msgpack_sbuffer_write);
       
  2097 +  msgpack_packer_init(&packerB, &sbufB, msgpack_sbuffer_write);
       
  2098  
       
  2099 -  P_CHECKC (PrioPacketClient_set_data (cfg, data_in, pA, pB));
       
  2100 -  P_CHECKC (serial_write_packet_client (&packerA, pA, cfg));
       
  2101 -  P_CHECKC (serial_write_packet_client (&packerB, pB, cfg));
       
  2102 +  P_CHECKC(PrioPacketClient_set_data(cfg, data_in, pA, pB));
       
  2103 +  P_CHECKC(serial_write_packet_client(&packerA, pA, cfg));
       
  2104 +  P_CHECKC(serial_write_packet_client(&packerB, pB, cfg));
       
  2105  
       
  2106 -  P_CHECKC (PublicKey_encryptSize (sbufA.size, aLen));
       
  2107 -  P_CHECKC (PublicKey_encryptSize (sbufB.size, bLen));
       
  2108 +  P_CHECKC(PublicKey_encryptSize(sbufA.size, aLen));
       
  2109 +  P_CHECKC(PublicKey_encryptSize(sbufB.size, bLen));
       
  2110  
       
  2111 -  P_CHECKA (*for_server_a = malloc (*aLen));
       
  2112 -  P_CHECKA (*for_server_b = malloc (*bLen));
       
  2113 +  P_CHECKA(*for_server_a = malloc(*aLen));
       
  2114 +  P_CHECKA(*for_server_b = malloc(*bLen));
       
  2115  
       
  2116    unsigned int writtenA;
       
  2117    unsigned int writtenB;
       
  2118 -  P_CHECKC (PublicKey_encrypt (cfg->server_a_pub, *for_server_a, &writtenA, *aLen,
       
  2119 -        (unsigned char *)sbufA.data, sbufA.size));
       
  2120 -  P_CHECKC (PublicKey_encrypt (cfg->server_b_pub, *for_server_b, &writtenB, *bLen,
       
  2121 -        (unsigned char *)sbufB.data, sbufB.size));
       
  2122 +  P_CHECKC(PublicKey_encrypt(cfg->server_a_pub, *for_server_a, &writtenA, *aLen,
       
  2123 +                             (unsigned char*)sbufA.data, sbufA.size));
       
  2124 +  P_CHECKC(PublicKey_encrypt(cfg->server_b_pub, *for_server_b, &writtenB, *bLen,
       
  2125 +                             (unsigned char*)sbufB.data, sbufB.size));
       
  2126  
       
  2127 -  P_CHECKCB (writtenA == *aLen);
       
  2128 -  P_CHECKCB (writtenB == *bLen);
       
  2129 +  P_CHECKCB(writtenA == *aLen);
       
  2130 +  P_CHECKCB(writtenB == *bLen);
       
  2131  
       
  2132  cleanup:
       
  2133    if (rv != SECSuccess) {
       
  2134 -    if (*for_server_a) free (*for_server_a);
       
  2135 -    if (*for_server_b) free (*for_server_b);
       
  2136 +    if (*for_server_a)
       
  2137 +      free(*for_server_a);
       
  2138 +    if (*for_server_b)
       
  2139 +      free(*for_server_b);
       
  2140      *for_server_a = NULL;
       
  2141      *for_server_b = NULL;
       
  2142    }
       
  2143  
       
  2144 -  PrioPacketClient_clear (pA);
       
  2145 -  PrioPacketClient_clear (pB);
       
  2146 -  msgpack_sbuffer_destroy (&sbufA);
       
  2147 -  msgpack_sbuffer_destroy (&sbufB);
       
  2148 - 
       
  2149 +  PrioPacketClient_clear(pA);
       
  2150 +  PrioPacketClient_clear(pB);
       
  2151 +  msgpack_sbuffer_destroy(&sbufA);
       
  2152 +  msgpack_sbuffer_destroy(&sbufB);
       
  2153 +
       
  2154    return rv;
       
  2155  }
       
  2156  
       
  2157 -SECStatus 
       
  2158 -PrioPacketClient_decrypt (PrioPacketClient p, const_PrioConfig cfg, 
       
  2159 -    PrivateKey server_priv, const unsigned char *data_in, unsigned int data_len)
       
  2160 +SECStatus
       
  2161 +PrioPacketClient_decrypt(PrioPacketClient p, const_PrioConfig cfg,
       
  2162 +                         PrivateKey server_priv, const unsigned char* data_in,
       
  2163 +                         unsigned int data_len)
       
  2164  {
       
  2165    SECStatus rv = SECSuccess;
       
  2166    msgpack_unpacker upk;
       
  2167 -  P_CHECKCB (msgpack_unpacker_init (&upk, data_len));
       
  2168 +  P_CHECKCB(msgpack_unpacker_init(&upk, data_len));
       
  2169  
       
  2170    // Decrypt the ciphertext into dec_buf
       
  2171    unsigned int bytes_decrypted;
       
  2172 -  P_CHECKC (PrivateKey_decrypt (server_priv, 
       
  2173 -        (unsigned char *)msgpack_unpacker_buffer (&upk), &bytes_decrypted,
       
  2174 -        data_len, data_in, data_len));
       
  2175 -  msgpack_unpacker_buffer_consumed (&upk, bytes_decrypted);
       
  2176 +  P_CHECKC(PrivateKey_decrypt(server_priv,
       
  2177 +                              (unsigned char*)msgpack_unpacker_buffer(&upk),
       
  2178 +                              &bytes_decrypted, data_len, data_in, data_len));
       
  2179 +  msgpack_unpacker_buffer_consumed(&upk, bytes_decrypted);
       
  2180  
       
  2181 -  P_CHECKC (serial_read_packet_client (&upk, p, cfg)); 
       
  2182 +  P_CHECKC(serial_read_packet_client(&upk, p, cfg));
       
  2183  
       
  2184  cleanup:
       
  2185 -  msgpack_unpacker_destroy (&upk);
       
  2186 +  msgpack_unpacker_destroy(&upk);
       
  2187    return rv;
       
  2188  }
       
  2189 -
       
  2190 diff --git a/third_party/prio/prio/config.h b/third_party/prio/prio/config.h
       
  2191 --- a/third_party/prio/prio/config.h
       
  2192 +++ b/third_party/prio/prio/config.h
       
  2193 @@ -1,9 +1,9 @@
       
  2194  /*
       
  2195   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  2196 - * 
       
  2197 + *
       
  2198   * This Source Code Form is subject to the terms of the Mozilla Public
       
  2199   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  2200 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
  2201 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  2202   */
       
  2203  
       
  2204  #ifndef __CONFIG_H__
       
  2205 @@ -13,12 +13,12 @@
       
  2206  
       
  2207  #include "mparray.h"
       
  2208  
       
  2209 -struct prio_config {
       
  2210 +struct prio_config
       
  2211 +{
       
  2212    int num_data_fields;
       
  2213 -  unsigned char *batch_id;
       
  2214 +  unsigned char* batch_id;
       
  2215    unsigned int batch_id_len;
       
  2216  
       
  2217 -
       
  2218    PublicKey server_a_pub;
       
  2219    PublicKey server_b_pub;
       
  2220  
       
  2221 @@ -30,7 +30,6 @@
       
  2222    MPArray rootsInv;
       
  2223  };
       
  2224  
       
  2225 -int PrioConfig_hPoints (const_PrioConfig cfg);
       
  2226 +int PrioConfig_hPoints(const_PrioConfig cfg);
       
  2227  
       
  2228  #endif /* __CONFIG_H__ */
       
  2229 -
       
  2230 diff --git a/third_party/prio/prio/config.c b/third_party/prio/prio/config.c
       
  2231 --- a/third_party/prio/prio/config.c
       
  2232 +++ b/third_party/prio/prio/config.c
       
  2233 @@ -1,47 +1,47 @@
       
  2234  /*
       
  2235   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  2236 - * 
       
  2237 + *
       
  2238   * This Source Code Form is subject to the terms of the Mozilla Public
       
  2239   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  2240 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
  2241 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  2242   */
       
  2243  
       
  2244  #include <mprio.h>
       
  2245  #include <stdlib.h>
       
  2246  
       
  2247  #include "config.h"
       
  2248 +#include "mparray.h"
       
  2249  #include "params.h"
       
  2250 -#include "mparray.h"
       
  2251  #include "rand.h"
       
  2252  #include "util.h"
       
  2253  
       
  2254  // The PrioConfig object stores "2^k-th roots of unity" modulo
       
  2255 -// the prime modulus we use for all arithmetic. We use 
       
  2256 -// these roots to perform fast FFT-style polynomial 
       
  2257 +// the prime modulus we use for all arithmetic. We use
       
  2258 +// these roots to perform fast FFT-style polynomial
       
  2259  // interpolation and evaluation.
       
  2260  //
       
  2261 -// In particular, we use a prime modulus p such that 
       
  2262 +// In particular, we use a prime modulus p such that
       
  2263  //    p = (2^k)q + 1.
       
  2264  // The roots are integers such that r^{2^k} = 1 mod p.
       
  2265  static SECStatus
       
  2266 -initialize_roots (MPArray arr, const char *values[])
       
  2267 +initialize_roots(MPArray arr, const char* values[])
       
  2268  {
       
  2269    // TODO: Read in only the number of roots of unity we need.
       
  2270    // Right now we read in all 4096 roots whether or not we use
       
  2271    // them all.
       
  2272 -  for (int i=0; i < arr->len; i++) {
       
  2273 -    MP_CHECK (mp_read_radix (&arr->data[i], values[i], 16));
       
  2274 +  for (int i = 0; i < arr->len; i++) {
       
  2275 +    MP_CHECK(mp_read_radix(&arr->data[i], values[i], 16));
       
  2276    }
       
  2277 -  
       
  2278 +
       
  2279    return SECSuccess;
       
  2280  }
       
  2281  
       
  2282 -PrioConfig 
       
  2283 -PrioConfig_new (int n_fields, PublicKey server_a, PublicKey server_b,
       
  2284 -    const unsigned char *batch_id, unsigned int batch_id_len)
       
  2285 +PrioConfig
       
  2286 +PrioConfig_new(int n_fields, PublicKey server_a, PublicKey server_b,
       
  2287 +               const unsigned char* batch_id, unsigned int batch_id_len)
       
  2288  {
       
  2289    SECStatus rv = SECSuccess;
       
  2290 -  PrioConfig cfg = malloc (sizeof (*cfg));
       
  2291 +  PrioConfig cfg = malloc(sizeof(*cfg));
       
  2292    if (!cfg)
       
  2293      return NULL;
       
  2294  
       
  2295 @@ -61,72 +61,73 @@
       
  2296      goto cleanup;
       
  2297    }
       
  2298  
       
  2299 -  P_CHECKA (cfg->batch_id = malloc (batch_id_len));
       
  2300 -  strncpy ((char *)cfg->batch_id, (char *)batch_id, batch_id_len);
       
  2301 +  P_CHECKA(cfg->batch_id = malloc(batch_id_len));
       
  2302 +  strncpy((char*)cfg->batch_id, (char*)batch_id, batch_id_len);
       
  2303  
       
  2304 -  MP_CHECKC (mp_init (&cfg->modulus));
       
  2305 -  MP_CHECKC (mp_read_radix (&cfg->modulus, Modulus, 16)); 
       
  2306 +  MP_CHECKC(mp_init(&cfg->modulus));
       
  2307 +  MP_CHECKC(mp_read_radix(&cfg->modulus, Modulus, 16));
       
  2308  
       
  2309    // Compute  2^{-1} modulo M
       
  2310 -  MP_CHECKC (mp_init (&cfg->inv2));
       
  2311 -  mp_set (&cfg->inv2, 2);
       
  2312 -  MP_CHECKC (mp_invmod (&cfg->inv2, &cfg->modulus, &cfg->inv2)); 
       
  2313 +  MP_CHECKC(mp_init(&cfg->inv2));
       
  2314 +  mp_set(&cfg->inv2, 2);
       
  2315 +  MP_CHECKC(mp_invmod(&cfg->inv2, &cfg->modulus, &cfg->inv2));
       
  2316  
       
  2317 -  P_CHECKA (cfg->roots = MPArray_new (cfg->n_roots));
       
  2318 -  P_CHECKA (cfg->rootsInv = MPArray_new (cfg->n_roots));
       
  2319 -  MP_CHECKC (initialize_roots (cfg->roots, Roots)); 
       
  2320 -  MP_CHECKC (initialize_roots (cfg->rootsInv, RootsInv)); 
       
  2321 +  P_CHECKA(cfg->roots = MPArray_new(cfg->n_roots));
       
  2322 +  P_CHECKA(cfg->rootsInv = MPArray_new(cfg->n_roots));
       
  2323 +  MP_CHECKC(initialize_roots(cfg->roots, Roots));
       
  2324 +  MP_CHECKC(initialize_roots(cfg->rootsInv, RootsInv));
       
  2325  
       
  2326  cleanup:
       
  2327    if (rv != SECSuccess) {
       
  2328 -    PrioConfig_clear (cfg);
       
  2329 +    PrioConfig_clear(cfg);
       
  2330      return NULL;
       
  2331    }
       
  2332  
       
  2333    return cfg;
       
  2334  }
       
  2335  
       
  2336 -PrioConfig 
       
  2337 -PrioConfig_newTest (int nFields)
       
  2338 -{
       
  2339 -  return PrioConfig_new (nFields, NULL, NULL, 
       
  2340 -      (unsigned char *)"testBatch", 9);
       
  2341 -}
       
  2342 -
       
  2343 -void 
       
  2344 -PrioConfig_clear (PrioConfig cfg)
       
  2345 +PrioConfig
       
  2346 +PrioConfig_newTest(int nFields)
       
  2347  {
       
  2348 -  if (!cfg) return;
       
  2349 -  if (cfg->batch_id) free (cfg->batch_id);
       
  2350 -  MPArray_clear (cfg->roots);
       
  2351 -  MPArray_clear (cfg->rootsInv);
       
  2352 -  mp_clear (&cfg->modulus);
       
  2353 -  mp_clear (&cfg->inv2);
       
  2354 -  free (cfg);
       
  2355 -}
       
  2356 -
       
  2357 -int 
       
  2358 -PrioConfig_numDataFields (const_PrioConfig cfg)
       
  2359 -{
       
  2360 -  return cfg->num_data_fields;
       
  2361 -
       
  2362 -}
       
  2363 -
       
  2364 -SECStatus 
       
  2365 -Prio_init (void)
       
  2366 -{
       
  2367 -  return rand_init ();
       
  2368 +  return PrioConfig_new(nFields, NULL, NULL, (unsigned char*)"testBatch", 9);
       
  2369  }
       
  2370  
       
  2371  void
       
  2372 -Prio_clear (void)
       
  2373 +PrioConfig_clear(PrioConfig cfg)
       
  2374  {
       
  2375 -  rand_clear ();
       
  2376 +  if (!cfg)
       
  2377 +    return;
       
  2378 +  if (cfg->batch_id)
       
  2379 +    free(cfg->batch_id);
       
  2380 +  MPArray_clear(cfg->roots);
       
  2381 +  MPArray_clear(cfg->rootsInv);
       
  2382 +  mp_clear(&cfg->modulus);
       
  2383 +  mp_clear(&cfg->inv2);
       
  2384 +  free(cfg);
       
  2385 +}
       
  2386 +
       
  2387 +int
       
  2388 +PrioConfig_numDataFields(const_PrioConfig cfg)
       
  2389 +{
       
  2390 +  return cfg->num_data_fields;
       
  2391  }
       
  2392  
       
  2393 -int PrioConfig_hPoints (const_PrioConfig cfg)
       
  2394 +SECStatus
       
  2395 +Prio_init(void)
       
  2396 +{
       
  2397 +  return rand_init();
       
  2398 +}
       
  2399 +
       
  2400 +void
       
  2401 +Prio_clear(void)
       
  2402 +{
       
  2403 +  rand_clear();
       
  2404 +}
       
  2405 +
       
  2406 +int
       
  2407 +PrioConfig_hPoints(const_PrioConfig cfg)
       
  2408  {
       
  2409    const int mul_gates = cfg->num_data_fields + 1;
       
  2410 -  const int N = next_power_of_two (mul_gates);
       
  2411 +  const int N = next_power_of_two(mul_gates);
       
  2412    return N;
       
  2413  }
       
  2414 diff --git a/third_party/prio/prio/debug.h b/third_party/prio/prio/debug.h
       
  2415 --- a/third_party/prio/prio/debug.h
       
  2416 +++ b/third_party/prio/prio/debug.h
       
  2417 @@ -1,9 +1,9 @@
       
  2418  /*
       
  2419   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  2420 - * 
       
  2421 + *
       
  2422   * This Source Code Form is subject to the terms of the Mozilla Public
       
  2423   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  2424 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
  2425 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  2426   */
       
  2427  
       
  2428  #ifndef __DEBUG_H__
       
  2429 @@ -12,10 +12,12 @@
       
  2430  #include <stdio.h>
       
  2431  
       
  2432  #ifdef DEBUG
       
  2433 -#define PRIO_DEBUG(msg) do { fprintf(stderr, "Error: %s\n", msg); } while(false);
       
  2434 +#define PRIO_DEBUG(msg)                                                        \
       
  2435 +  do {                                                                         \
       
  2436 +    fprintf(stderr, "Error: %s\n", msg);                                       \
       
  2437 +  } while (false);
       
  2438  #else
       
  2439  #define PRIO_DEBUG(msg) ;
       
  2440  #endif
       
  2441  
       
  2442  #endif /* __DEBUG_H__ */
       
  2443 -
       
  2444 diff --git a/third_party/prio/prio/encrypt.h b/third_party/prio/prio/encrypt.h
       
  2445 --- a/third_party/prio/prio/encrypt.h
       
  2446 +++ b/third_party/prio/prio/encrypt.h
       
  2447 @@ -1,12 +1,11 @@
       
  2448  /*
       
  2449   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  2450 - * 
       
  2451 + *
       
  2452   * This Source Code Form is subject to the terms of the Mozilla Public
       
  2453   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  2454 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
  2455 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  2456   */
       
  2457  
       
  2458 -
       
  2459  #ifndef __ENCRYPT_H__
       
  2460  #define __ENCRYPT_H__
       
  2461  
       
  2462 @@ -15,7 +14,7 @@
       
  2463  
       
  2464  /*******
       
  2465   * These functions attempt to implement CCA-secure public-key encryption using
       
  2466 - * the NSS library. We use hashed-ElGamal encryption with Curve25519 as the 
       
  2467 + * the NSS library. We use hashed-ElGamal encryption with Curve25519 as the
       
  2468   * underlying group and AES128-GCM as the bulk encryption mode of operation.
       
  2469   *
       
  2470   * I make no guarantees that I am using NSS correctly or that this encryption
       
  2471 @@ -25,7 +24,7 @@
       
  2472   * to implement these functions.
       
  2473   */
       
  2474  
       
  2475 -/* 
       
  2476 +/*
       
  2477   * Messages encrypted using this library must be smaller than MAX_ENCRYPT_LEN.
       
  2478   * Enforcing this length limit helps avoid integer overflow.
       
  2479   */
       
  2480 @@ -38,12 +37,12 @@
       
  2481   * is too large (larger than `MAX_ENCRYPT_LEN`), this function returns
       
  2482   * an error.
       
  2483   */
       
  2484 -SECStatus PublicKey_encryptSize (unsigned int inputLen, unsigned int *outputLen);
       
  2485 +SECStatus PublicKey_encryptSize(unsigned int inputLen, unsigned int* outputLen);
       
  2486  
       
  2487  /*
       
  2488   * Generate a new keypair for public-key encryption.
       
  2489   */
       
  2490 -SECStatus Keypair_new (PrivateKey *pvtkey, PublicKey *pubkey);
       
  2491 +SECStatus Keypair_new(PrivateKey* pvtkey, PublicKey* pubkey);
       
  2492  
       
  2493  /*
       
  2494   * Encrypt an arbitrary bitstring to the specified public key. The buffer
       
  2495 @@ -53,22 +52,17 @@
       
  2496   *
       
  2497   * The value `inputLen` must be smaller than `MAX_ENCRYPT_LEN`.
       
  2498   */
       
  2499 -SECStatus PublicKey_encrypt (PublicKey pubkey, 
       
  2500 -    unsigned char *output, 
       
  2501 -    unsigned int *outputLen, 
       
  2502 -    unsigned int maxOutputLen, 
       
  2503 -    const unsigned char *input, unsigned int inputLen);
       
  2504 +SECStatus PublicKey_encrypt(PublicKey pubkey, unsigned char* output,
       
  2505 +                            unsigned int* outputLen, unsigned int maxOutputLen,
       
  2506 +                            const unsigned char* input, unsigned int inputLen);
       
  2507  
       
  2508  /*
       
  2509   * Decrypt an arbitrary bitstring using the specified private key.  The output
       
  2510   * buffer should be at least 16 bytes larger than the plaintext you expect. If
       
  2511   * `outputLen` >= `inputLen`, you should be safe.
       
  2512   */
       
  2513 -SECStatus PrivateKey_decrypt (PrivateKey privkey, 
       
  2514 -    unsigned char *output, 
       
  2515 -    unsigned int *outputLen, 
       
  2516 -    unsigned int maxOutputLen, 
       
  2517 -    const unsigned char *input, unsigned int inputLen);
       
  2518 +SECStatus PrivateKey_decrypt(PrivateKey privkey, unsigned char* output,
       
  2519 +                             unsigned int* outputLen, unsigned int maxOutputLen,
       
  2520 +                             const unsigned char* input, unsigned int inputLen);
       
  2521  
       
  2522  #endif /* __ENCRYPT_H__ */
       
  2523 -
       
  2524 diff --git a/third_party/prio/prio/encrypt.c b/third_party/prio/prio/encrypt.c
       
  2525 --- a/third_party/prio/prio/encrypt.c
       
  2526 +++ b/third_party/prio/prio/encrypt.c
       
  2527 @@ -1,14 +1,14 @@
       
  2528  /*
       
  2529   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  2530 - * 
       
  2531 + *
       
  2532   * This Source Code Form is subject to the terms of the Mozilla Public
       
  2533   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  2534 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
  2535 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  2536   */
       
  2537  
       
  2538 -#include <nss/keyhi.h>
       
  2539 -#include <nss/keythi.h>
       
  2540 -#include <nss/pk11pub.h>
       
  2541 +#include <keyhi.h>
       
  2542 +#include <keythi.h>
       
  2543 +#include <pk11pub.h>
       
  2544  #include <prerror.h>
       
  2545  
       
  2546  #include "encrypt.h"
       
  2547 @@ -24,222 +24,251 @@
       
  2548  #define GCM_TAG_LEN_BYTES 16
       
  2549  
       
  2550  #define PRIO_TAG "PrioPacket"
       
  2551 -#define AAD_LEN (strlen (PRIO_TAG) + CURVE25519_KEY_LEN + GCM_IV_LEN_BYTES)
       
  2552 +#define AAD_LEN (strlen(PRIO_TAG) + CURVE25519_KEY_LEN + GCM_IV_LEN_BYTES)
       
  2553  
       
  2554  // The all-zeros curve25519 public key, as DER-encoded SKPI blob.
       
  2555  static const uint8_t curve25519_spki_zeros[] = {
       
  2556 -  0x30, 0x39, 0x30, 0x14, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x09, 0x2b, 
       
  2557 -  0x06, 0x01, 0x04, 0x01, 0xda, 0x47, 0x0f, 0x01, 0x03, 0x21, 
       
  2558 -  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
       
  2559 -  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
       
  2560 -  0x00, 
       
  2561 +  0x30, 0x39, 0x30, 0x14, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
       
  2562 +  0x01, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xda, 0x47, 0x0f, 0x01,
       
  2563 +  0x03, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       
  2564 +  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       
  2565 +  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       
  2566  };
       
  2567  
       
  2568 +// Note that we do not use isxdigit because it is locale-dependent
       
  2569 +// See: https://github.com/mozilla/libprio/issues/20
       
  2570 +static inline char
       
  2571 +is_hex_digit(char c)
       
  2572 +{
       
  2573 +  return ('0' <= c && c <= '9') || ('a' <= c && c <= 'f') ||
       
  2574 +         ('A' <= c && c <= 'F');
       
  2575 +}
       
  2576 +
       
  2577 +// Note that we do not use toupper because it is locale-dependent
       
  2578 +// See: https://github.com/mozilla/libprio/issues/20
       
  2579 +static inline char
       
  2580 +to_upper(char c)
       
  2581 +{
       
  2582 +  if (c >= 'a' && c <= 'z') {
       
  2583 +    return c - 0x20;
       
  2584 +  } else {
       
  2585 +    return c;
       
  2586 +  }
       
  2587 +}
       
  2588 +
       
  2589  static inline uint8_t
       
  2590 -hex_to_int (char h)
       
  2591 +hex_to_int(char h)
       
  2592  {
       
  2593 -  return (h > '9') ? toupper (h) - 'A' + 10 : (h - '0');
       
  2594 +  return (h > '9') ? to_upper(h) - 'A' + 10 : (h - '0');
       
  2595  }
       
  2596  
       
  2597 -static inline unsigned char 
       
  2598 -int_to_hex (uint8_t i)
       
  2599 +static inline unsigned char
       
  2600 +int_to_hex(uint8_t i)
       
  2601  {
       
  2602    return (i > 0x09) ? ((i - 10) + 'A') : i + '0';
       
  2603  }
       
  2604  
       
  2605 -
       
  2606 -static SECStatus 
       
  2607 -derive_dh_secret (PK11SymKey **shared_secret, PrivateKey priv, PublicKey pub)
       
  2608 +static SECStatus
       
  2609 +derive_dh_secret(PK11SymKey** shared_secret, PrivateKey priv, PublicKey pub)
       
  2610  {
       
  2611 -  if (priv == NULL) return SECFailure;
       
  2612 -  if (pub == NULL) return SECFailure;
       
  2613 -  if (shared_secret == NULL) return SECFailure;
       
  2614 +  if (priv == NULL)
       
  2615 +    return SECFailure;
       
  2616 +  if (pub == NULL)
       
  2617 +    return SECFailure;
       
  2618 +  if (shared_secret == NULL)
       
  2619 +    return SECFailure;
       
  2620  
       
  2621    SECStatus rv = SECSuccess;
       
  2622    *shared_secret = NULL;
       
  2623  
       
  2624 -  P_CHECKA (*shared_secret = PK11_PubDeriveWithKDF (priv, pub, PR_FALSE,
       
  2625 -        NULL, NULL, CKM_ECDH1_DERIVE, CKM_AES_GCM, 
       
  2626 -        CKA_ENCRYPT | CKA_DECRYPT, 16,
       
  2627 -        CKD_SHA256_KDF, NULL, NULL));
       
  2628 +  P_CHECKA(*shared_secret = PK11_PubDeriveWithKDF(
       
  2629 +             priv, pub, PR_FALSE, NULL, NULL, CKM_ECDH1_DERIVE, CKM_AES_GCM,
       
  2630 +             CKA_ENCRYPT | CKA_DECRYPT, 16, CKD_SHA256_KDF, NULL, NULL));
       
  2631  
       
  2632  cleanup:
       
  2633    return rv;
       
  2634  }
       
  2635  
       
  2636  SECStatus
       
  2637 -PublicKey_import (PublicKey *pk, const unsigned char *data, unsigned int dataLen)
       
  2638 +PublicKey_import(PublicKey* pk, const unsigned char* data, unsigned int dataLen)
       
  2639  {
       
  2640    SECStatus rv = SECSuccess;
       
  2641 -  CERTSubjectPublicKeyInfo *pkinfo = NULL;
       
  2642 +  CERTSubjectPublicKeyInfo* pkinfo = NULL;
       
  2643    *pk = NULL;
       
  2644  
       
  2645    if (dataLen != CURVE25519_KEY_LEN)
       
  2646      return SECFailure;
       
  2647  
       
  2648    unsigned char key_bytes[dataLen];
       
  2649 -  memcpy (key_bytes, data, dataLen);
       
  2650 +  memcpy(key_bytes, data, dataLen);
       
  2651  
       
  2652 -  const int spki_len = sizeof (curve25519_spki_zeros);
       
  2653 +  const int spki_len = sizeof(curve25519_spki_zeros);
       
  2654    uint8_t spki_data[spki_len];
       
  2655 -  memcpy (spki_data, curve25519_spki_zeros, spki_len);
       
  2656 +  memcpy(spki_data, curve25519_spki_zeros, spki_len);
       
  2657    SECItem spki_item = { siBuffer, spki_data, spki_len };
       
  2658  
       
  2659 -  // Import the all-zeros curve25519 public key. 
       
  2660 -  P_CHECKA (pkinfo = SECKEY_DecodeDERSubjectPublicKeyInfo (&spki_item));
       
  2661 -  P_CHECKA (*pk = SECKEY_ExtractPublicKey (pkinfo));
       
  2662 +  // Import the all-zeros curve25519 public key.
       
  2663 +  P_CHECKA(pkinfo = SECKEY_DecodeDERSubjectPublicKeyInfo(&spki_item));
       
  2664 +  P_CHECKA(*pk = SECKEY_ExtractPublicKey(pkinfo));
       
  2665  
       
  2666    // Overwrite the all-zeros public key with the 32-byte curve25519 public key
       
  2667    // given as input.
       
  2668 -  memcpy ((*pk)->u.ec.publicValue.data, data, CURVE25519_KEY_LEN);
       
  2669 +  memcpy((*pk)->u.ec.publicValue.data, data, CURVE25519_KEY_LEN);
       
  2670  
       
  2671  cleanup:
       
  2672 -  if (pkinfo) 
       
  2673 -    SECKEY_DestroySubjectPublicKeyInfo (pkinfo);
       
  2674 +  if (pkinfo)
       
  2675 +    SECKEY_DestroySubjectPublicKeyInfo(pkinfo);
       
  2676  
       
  2677    if (rv != SECSuccess)
       
  2678 -    PublicKey_clear (*pk);
       
  2679 +    PublicKey_clear(*pk);
       
  2680    return rv;
       
  2681  }
       
  2682  
       
  2683  SECStatus
       
  2684 -PublicKey_import_hex (PublicKey *pk, const unsigned char *hex_data, unsigned int dataLen)
       
  2685 +PublicKey_import_hex(PublicKey* pk, const unsigned char* hex_data,
       
  2686 +                     unsigned int dataLen)
       
  2687  {
       
  2688    unsigned char raw_bytes[CURVE25519_KEY_LEN];
       
  2689  
       
  2690    if (dataLen != CURVE25519_KEY_LEN_HEX)
       
  2691      return SECFailure;
       
  2692  
       
  2693 -  for (unsigned int i=0; i<dataLen; i++) {
       
  2694 -    if (!isxdigit (hex_data[i]))
       
  2695 +  for (unsigned int i = 0; i < dataLen; i++) {
       
  2696 +    if (!is_hex_digit(hex_data[i]))
       
  2697        return SECFailure;
       
  2698    }
       
  2699  
       
  2700 -  const unsigned char *p = hex_data;
       
  2701 -  for (unsigned int i=0; i<CURVE25519_KEY_LEN; i++) {
       
  2702 -    uint8_t d0 = hex_to_int (p[0]);
       
  2703 -    uint8_t d1 = hex_to_int (p[1]);
       
  2704 +  const unsigned char* p = hex_data;
       
  2705 +  for (unsigned int i = 0; i < CURVE25519_KEY_LEN; i++) {
       
  2706 +    uint8_t d0 = hex_to_int(p[0]);
       
  2707 +    uint8_t d1 = hex_to_int(p[1]);
       
  2708      raw_bytes[i] = (d0 << 4) | d1;
       
  2709      p += 2;
       
  2710    }
       
  2711  
       
  2712 -  return PublicKey_import (pk, raw_bytes, CURVE25519_KEY_LEN);
       
  2713 +  return PublicKey_import(pk, raw_bytes, CURVE25519_KEY_LEN);
       
  2714  }
       
  2715  
       
  2716 -SECStatus 
       
  2717 -PublicKey_export (const_PublicKey pk, unsigned char data[CURVE25519_KEY_LEN])
       
  2718 +SECStatus
       
  2719 +PublicKey_export(const_PublicKey pk, unsigned char data[CURVE25519_KEY_LEN])
       
  2720  {
       
  2721 -  if (pk == NULL) return SECFailure;
       
  2722 +  if (pk == NULL)
       
  2723 +    return SECFailure;
       
  2724  
       
  2725 -  memcpy (data, pk->u.ec.publicValue.data, CURVE25519_KEY_LEN);
       
  2726 +  memcpy(data, pk->u.ec.publicValue.data, CURVE25519_KEY_LEN);
       
  2727  
       
  2728    return SECSuccess;
       
  2729  }
       
  2730  
       
  2731 -SECStatus 
       
  2732 -PublicKey_export_hex (const_PublicKey pk, unsigned char data[(2*CURVE25519_KEY_LEN)+1])
       
  2733 +SECStatus
       
  2734 +PublicKey_export_hex(const_PublicKey pk,
       
  2735 +                     unsigned char data[(2 * CURVE25519_KEY_LEN) + 1])
       
  2736  {
       
  2737    unsigned char raw_data[CURVE25519_KEY_LEN];
       
  2738 -  if (PublicKey_export (pk, raw_data) != SECSuccess)
       
  2739 +  if (PublicKey_export(pk, raw_data) != SECSuccess)
       
  2740      return SECFailure;
       
  2741  
       
  2742 -  const unsigned char *p = raw_data;
       
  2743 -  for (unsigned int i=0; i<CURVE25519_KEY_LEN; i++) {
       
  2744 +  const unsigned char* p = raw_data;
       
  2745 +  for (unsigned int i = 0; i < CURVE25519_KEY_LEN; i++) {
       
  2746      unsigned char bytel = p[0] & 0x0f;
       
  2747      unsigned char byteu = (p[0] & 0xf0) >> 4;
       
  2748 -    data[2*i] = int_to_hex (byteu);
       
  2749 -    data[2*i + 1] = int_to_hex (bytel);
       
  2750 +    data[2 * i] = int_to_hex(byteu);
       
  2751 +    data[2 * i + 1] = int_to_hex(bytel);
       
  2752      p++;
       
  2753    }
       
  2754  
       
  2755 -  data[2*CURVE25519_KEY_LEN] = '\0';
       
  2756 +  data[2 * CURVE25519_KEY_LEN] = '\0';
       
  2757    return SECSuccess;
       
  2758  }
       
  2759  
       
  2760 -SECStatus 
       
  2761 -Keypair_new (PrivateKey *pvtkey, PublicKey *pubkey)
       
  2762 +SECStatus
       
  2763 +Keypair_new(PrivateKey* pvtkey, PublicKey* pubkey)
       
  2764  {
       
  2765 -  if (pvtkey == NULL) return SECFailure;
       
  2766 -  if (pubkey == NULL) return SECFailure;
       
  2767 +  if (pvtkey == NULL)
       
  2768 +    return SECFailure;
       
  2769 +  if (pubkey == NULL)
       
  2770 +    return SECFailure;
       
  2771  
       
  2772    SECStatus rv = SECSuccess;
       
  2773 -  SECOidData *oid_data = NULL;
       
  2774 +  SECOidData* oid_data = NULL;
       
  2775    *pubkey = NULL;
       
  2776    *pvtkey = NULL;
       
  2777  
       
  2778    SECKEYECParams ecp;
       
  2779    ecp.data = NULL;
       
  2780 -  PK11SlotInfo *slot = NULL;
       
  2781 +  PK11SlotInfo* slot = NULL;
       
  2782  
       
  2783 -  P_CHECKA (oid_data = SECOID_FindOIDByTag (CURVE_OID_TAG));
       
  2784 +  P_CHECKA(oid_data = SECOID_FindOIDByTag(CURVE_OID_TAG));
       
  2785    const int oid_struct_len = 2 + oid_data->oid.len;
       
  2786  
       
  2787 -  P_CHECKA (ecp.data = malloc (oid_struct_len));
       
  2788 +  P_CHECKA(ecp.data = malloc(oid_struct_len));
       
  2789    ecp.len = oid_struct_len;
       
  2790 -  
       
  2791 +
       
  2792    ecp.type = siDEROID;
       
  2793  
       
  2794    ecp.data[0] = SEC_ASN1_OBJECT_ID;
       
  2795    ecp.data[1] = oid_data->oid.len;
       
  2796 -  memcpy (&ecp.data[2], oid_data->oid.data, oid_data->oid.len);
       
  2797 +  memcpy(&ecp.data[2], oid_data->oid.data, oid_data->oid.len);
       
  2798  
       
  2799 -  P_CHECKA (slot = PK11_GetInternalSlot ());
       
  2800 -  P_CHECKA (*pvtkey = PK11_GenerateKeyPair(slot, CKM_EC_KEY_PAIR_GEN, &ecp, 
       
  2801 -      (SECKEYPublicKey **)pubkey, PR_FALSE, PR_FALSE, NULL));
       
  2802 -  PK11_FreeSlot (slot);
       
  2803 +  P_CHECKA(slot = PK11_GetInternalSlot());
       
  2804 +  P_CHECKA(*pvtkey = PK11_GenerateKeyPair(slot, CKM_EC_KEY_PAIR_GEN, &ecp,
       
  2805 +                                          (SECKEYPublicKey**)pubkey, PR_FALSE,
       
  2806 +                                          PR_FALSE, NULL));
       
  2807 +  PK11_FreeSlot(slot);
       
  2808  
       
  2809  cleanup:
       
  2810    if (ecp.data)
       
  2811 -    free (ecp.data);
       
  2812 +    free(ecp.data);
       
  2813    if (rv != SECSuccess) {
       
  2814 -    PublicKey_clear (*pubkey);
       
  2815 -    PrivateKey_clear (*pvtkey);
       
  2816 +    PublicKey_clear(*pubkey);
       
  2817 +    PrivateKey_clear(*pvtkey);
       
  2818    }
       
  2819    return rv;
       
  2820  }
       
  2821  
       
  2822 -void 
       
  2823 -PublicKey_clear (PublicKey pubkey)
       
  2824 +void
       
  2825 +PublicKey_clear(PublicKey pubkey)
       
  2826  {
       
  2827 -  if (pubkey) 
       
  2828 +  if (pubkey)
       
  2829      SECKEY_DestroyPublicKey(pubkey);
       
  2830  }
       
  2831  
       
  2832 -void 
       
  2833 -PrivateKey_clear (PrivateKey pvtkey)
       
  2834 +void
       
  2835 +PrivateKey_clear(PrivateKey pvtkey)
       
  2836  {
       
  2837 -  if (pvtkey) 
       
  2838 -    SECKEY_DestroyPrivateKey(pvtkey); 
       
  2839 +  if (pvtkey)
       
  2840 +    SECKEY_DestroyPrivateKey(pvtkey);
       
  2841  }
       
  2842  
       
  2843 -const SECItem *
       
  2844 -PublicKey_toBytes (const_PublicKey pubkey)
       
  2845 +const SECItem*
       
  2846 +PublicKey_toBytes(const_PublicKey pubkey)
       
  2847  {
       
  2848    return &pubkey->u.ec.publicValue;
       
  2849  }
       
  2850  
       
  2851  SECStatus
       
  2852 -PublicKey_encryptSize (unsigned int inputLen, unsigned int *outputLen)
       
  2853 +PublicKey_encryptSize(unsigned int inputLen, unsigned int* outputLen)
       
  2854  {
       
  2855    if (outputLen == NULL || inputLen >= MAX_ENCRYPT_LEN)
       
  2856      return SECFailure;
       
  2857  
       
  2858    // public key, IV, tag, and input
       
  2859 -  *outputLen = CURVE25519_KEY_LEN + GCM_IV_LEN_BYTES + GCM_TAG_LEN_BYTES + inputLen;
       
  2860 +  *outputLen =
       
  2861 +    CURVE25519_KEY_LEN + GCM_IV_LEN_BYTES + GCM_TAG_LEN_BYTES + inputLen;
       
  2862    return SECSuccess;
       
  2863  }
       
  2864  
       
  2865 -static void 
       
  2866 -set_gcm_params (SECItem *paramItem, CK_GCM_PARAMS *param, unsigned char *nonce,
       
  2867 -    const_PublicKey pubkey, unsigned char *aadBuf)
       
  2868 +static void
       
  2869 +set_gcm_params(SECItem* paramItem, CK_GCM_PARAMS* param, unsigned char* nonce,
       
  2870 +               const_PublicKey pubkey, unsigned char* aadBuf)
       
  2871  {
       
  2872    int offset = 0;
       
  2873 -  memcpy (aadBuf, PRIO_TAG, strlen (PRIO_TAG));
       
  2874 -  offset += strlen (PRIO_TAG);
       
  2875 -  memcpy (aadBuf + offset, PublicKey_toBytes (pubkey)->data, CURVE25519_KEY_LEN);
       
  2876 +  memcpy(aadBuf, PRIO_TAG, strlen(PRIO_TAG));
       
  2877 +  offset += strlen(PRIO_TAG);
       
  2878 +  memcpy(aadBuf + offset, PublicKey_toBytes(pubkey)->data, CURVE25519_KEY_LEN);
       
  2879    offset += CURVE25519_KEY_LEN;
       
  2880 -  memcpy (aadBuf + offset, nonce, GCM_IV_LEN_BYTES);
       
  2881 - 
       
  2882 +  memcpy(aadBuf + offset, nonce, GCM_IV_LEN_BYTES);
       
  2883 +
       
  2884    param->pIv = nonce;
       
  2885    param->ulIvLen = GCM_IV_LEN_BYTES;
       
  2886    param->pAAD = aadBuf;
       
  2887 @@ -247,17 +276,14 @@
       
  2888    param->ulTagBits = GCM_TAG_LEN_BYTES * 8;
       
  2889  
       
  2890    paramItem->type = siBuffer;
       
  2891 -  paramItem->data = (void *)param;
       
  2892 -  paramItem->len = sizeof (*param);
       
  2893 -
       
  2894 +  paramItem->data = (void*)param;
       
  2895 +  paramItem->len = sizeof(*param);
       
  2896  }
       
  2897  
       
  2898 -SECStatus 
       
  2899 -PublicKey_encrypt (PublicKey pubkey, 
       
  2900 -    unsigned char *output, 
       
  2901 -    unsigned int *outputLen, 
       
  2902 -    unsigned int maxOutputLen, 
       
  2903 -    const unsigned char *input, unsigned int inputLen)
       
  2904 +SECStatus
       
  2905 +PublicKey_encrypt(PublicKey pubkey, unsigned char* output,
       
  2906 +                  unsigned int* outputLen, unsigned int maxOutputLen,
       
  2907 +                  const unsigned char* input, unsigned int inputLen)
       
  2908  {
       
  2909    if (pubkey == NULL)
       
  2910      return SECFailure;
       
  2911 @@ -266,55 +292,53 @@
       
  2912      return SECFailure;
       
  2913  
       
  2914    unsigned int needLen;
       
  2915 -  if (PublicKey_encryptSize (inputLen, &needLen) != SECSuccess)
       
  2916 +  if (PublicKey_encryptSize(inputLen, &needLen) != SECSuccess)
       
  2917      return SECFailure;
       
  2918  
       
  2919 -  if (maxOutputLen < needLen) 
       
  2920 +  if (maxOutputLen < needLen)
       
  2921      return SECFailure;
       
  2922  
       
  2923    SECStatus rv = SECSuccess;
       
  2924 -  PublicKey eph_pub = NULL;  
       
  2925 -  PrivateKey eph_priv = NULL;  
       
  2926 -  PK11SymKey *aes_key = NULL;  
       
  2927 +  PublicKey eph_pub = NULL;
       
  2928 +  PrivateKey eph_priv = NULL;
       
  2929 +  PK11SymKey* aes_key = NULL;
       
  2930  
       
  2931    unsigned char nonce[GCM_IV_LEN_BYTES];
       
  2932    unsigned char aadBuf[AAD_LEN];
       
  2933 -  P_CHECKC (rand_bytes (nonce, GCM_IV_LEN_BYTES));
       
  2934 +  P_CHECKC(rand_bytes(nonce, GCM_IV_LEN_BYTES));
       
  2935  
       
  2936 -  P_CHECKC (Keypair_new (&eph_priv, &eph_pub));
       
  2937 -  P_CHECKC (derive_dh_secret (&aes_key, eph_priv, pubkey));
       
  2938 +  P_CHECKC(Keypair_new(&eph_priv, &eph_pub));
       
  2939 +  P_CHECKC(derive_dh_secret(&aes_key, eph_priv, pubkey));
       
  2940  
       
  2941    CK_GCM_PARAMS param;
       
  2942    SECItem paramItem;
       
  2943 -  set_gcm_params (&paramItem, &param, nonce, eph_pub, aadBuf);
       
  2944 +  set_gcm_params(&paramItem, &param, nonce, eph_pub, aadBuf);
       
  2945  
       
  2946 -  const SECItem *pk = PublicKey_toBytes (eph_pub);
       
  2947 -  P_CHECKCB (pk->len == CURVE25519_KEY_LEN);
       
  2948 -  memcpy (output, pk->data, pk->len);
       
  2949 -  memcpy (output + CURVE25519_KEY_LEN, param.pIv, param.ulIvLen);
       
  2950 +  const SECItem* pk = PublicKey_toBytes(eph_pub);
       
  2951 +  P_CHECKCB(pk->len == CURVE25519_KEY_LEN);
       
  2952 +  memcpy(output, pk->data, pk->len);
       
  2953 +  memcpy(output + CURVE25519_KEY_LEN, param.pIv, param.ulIvLen);
       
  2954  
       
  2955    const int offset = CURVE25519_KEY_LEN + param.ulIvLen;
       
  2956 -  P_CHECKC (PK11_Encrypt (aes_key, CKM_AES_GCM, &paramItem, output + offset,
       
  2957 -        outputLen, maxOutputLen - offset, input, inputLen));
       
  2958 +  P_CHECKC(PK11_Encrypt(aes_key, CKM_AES_GCM, &paramItem, output + offset,
       
  2959 +                        outputLen, maxOutputLen - offset, input, inputLen));
       
  2960    *outputLen = *outputLen + CURVE25519_KEY_LEN + GCM_IV_LEN_BYTES;
       
  2961  
       
  2962  cleanup:
       
  2963 -  PublicKey_clear (eph_pub);
       
  2964 -  PrivateKey_clear (eph_priv);
       
  2965 -  if (aes_key) 
       
  2966 -    PK11_FreeSymKey (aes_key);
       
  2967 +  PublicKey_clear(eph_pub);
       
  2968 +  PrivateKey_clear(eph_priv);
       
  2969 +  if (aes_key)
       
  2970 +    PK11_FreeSymKey(aes_key);
       
  2971  
       
  2972    return rv;
       
  2973  }
       
  2974  
       
  2975 -SECStatus 
       
  2976 -PrivateKey_decrypt (PrivateKey privkey, 
       
  2977 -    unsigned char *output, 
       
  2978 -    unsigned int *outputLen, 
       
  2979 -    unsigned int maxOutputLen, 
       
  2980 -    const unsigned char *input, unsigned int inputLen)
       
  2981 +SECStatus
       
  2982 +PrivateKey_decrypt(PrivateKey privkey, unsigned char* output,
       
  2983 +                   unsigned int* outputLen, unsigned int maxOutputLen,
       
  2984 +                   const unsigned char* input, unsigned int inputLen)
       
  2985  {
       
  2986 -  PK11SymKey *aes_key = NULL;
       
  2987 +  PK11SymKey* aes_key = NULL;
       
  2988    PublicKey eph_pub = NULL;
       
  2989    unsigned char aad_buf[AAD_LEN];
       
  2990  
       
  2991 @@ -323,34 +347,33 @@
       
  2992  
       
  2993    SECStatus rv = SECSuccess;
       
  2994    unsigned int headerLen;
       
  2995 -  if (PublicKey_encryptSize (0, &headerLen) != SECSuccess)
       
  2996 +  if (PublicKey_encryptSize(0, &headerLen) != SECSuccess)
       
  2997      return SECFailure;
       
  2998  
       
  2999 -  if (inputLen < headerLen) 
       
  3000 +  if (inputLen < headerLen)
       
  3001      return SECFailure;
       
  3002  
       
  3003    const unsigned int msglen = inputLen - headerLen;
       
  3004    if (maxOutputLen < msglen || msglen >= MAX_ENCRYPT_LEN)
       
  3005      return SECFailure;
       
  3006  
       
  3007 -  P_CHECKC (PublicKey_import (&eph_pub, input, CURVE25519_KEY_LEN));
       
  3008 +  P_CHECKC(PublicKey_import(&eph_pub, input, CURVE25519_KEY_LEN));
       
  3009    unsigned char nonce[GCM_IV_LEN_BYTES];
       
  3010 -  memcpy (nonce, input + CURVE25519_KEY_LEN, GCM_IV_LEN_BYTES);
       
  3011 +  memcpy(nonce, input + CURVE25519_KEY_LEN, GCM_IV_LEN_BYTES);
       
  3012  
       
  3013    SECItem paramItem;
       
  3014    CK_GCM_PARAMS param;
       
  3015 -  set_gcm_params (&paramItem, &param, nonce, eph_pub, aad_buf);
       
  3016 - 
       
  3017 -  P_CHECKC (derive_dh_secret (&aes_key, privkey, eph_pub));
       
  3018 +  set_gcm_params(&paramItem, &param, nonce, eph_pub, aad_buf);
       
  3019 +
       
  3020 +  P_CHECKC(derive_dh_secret(&aes_key, privkey, eph_pub));
       
  3021  
       
  3022    const int offset = CURVE25519_KEY_LEN + GCM_IV_LEN_BYTES;
       
  3023 -  P_CHECKC (PK11_Decrypt (aes_key, CKM_AES_GCM, &paramItem, output,
       
  3024 -        outputLen, maxOutputLen, input + offset, inputLen - offset));
       
  3025 +  P_CHECKC(PK11_Decrypt(aes_key, CKM_AES_GCM, &paramItem, output, outputLen,
       
  3026 +                        maxOutputLen, input + offset, inputLen - offset));
       
  3027  
       
  3028  cleanup:
       
  3029 -  PublicKey_clear (eph_pub);
       
  3030 -  if (aes_key) 
       
  3031 -    PK11_FreeSymKey (aes_key);
       
  3032 +  PublicKey_clear(eph_pub);
       
  3033 +  if (aes_key)
       
  3034 +    PK11_FreeSymKey(aes_key);
       
  3035    return rv;
       
  3036  }
       
  3037 -
       
  3038 diff --git a/third_party/prio/prio/mparray.h b/third_party/prio/prio/mparray.h
       
  3039 --- a/third_party/prio/prio/mparray.h
       
  3040 +++ b/third_party/prio/prio/mparray.h
       
  3041 @@ -1,9 +1,9 @@
       
  3042  /*
       
  3043   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  3044 - * 
       
  3045 + *
       
  3046   * This Source Code Form is subject to the terms of the Mozilla Public
       
  3047   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  3048 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
  3049 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  3050   */
       
  3051  
       
  3052  #ifndef __MPARRAY_H__
       
  3053 @@ -12,60 +12,59 @@
       
  3054  #include <mpi.h>
       
  3055  #include <mprio.h>
       
  3056  
       
  3057 -struct mparray {
       
  3058 +struct mparray
       
  3059 +{
       
  3060    int len;
       
  3061 -  mp_int *data;
       
  3062 +  mp_int* data;
       
  3063  };
       
  3064  
       
  3065 -typedef struct mparray *MPArray;
       
  3066 -typedef const struct mparray *const_MPArray;
       
  3067 +typedef struct mparray* MPArray;
       
  3068 +typedef const struct mparray* const_MPArray;
       
  3069  
       
  3070  /*
       
  3071   * Initialize an array of `mp_int`s of the given length.
       
  3072   */
       
  3073 -MPArray MPArray_new (int len);
       
  3074 -void MPArray_clear (MPArray arr);
       
  3075 +MPArray MPArray_new(int len);
       
  3076 +void MPArray_clear(MPArray arr);
       
  3077  
       
  3078 -/* 
       
  3079 +/*
       
  3080   * Copies secret sharing of data from src into arrays
       
  3081   * arrA and arrB. The lengths of the three input arrays
       
  3082   * must be identical.
       
  3083   */
       
  3084 -SECStatus MPArray_set_share (MPArray arrA, MPArray arrB, 
       
  3085 -    const_MPArray src, const_PrioConfig cfg);
       
  3086 +SECStatus MPArray_set_share(MPArray arrA, MPArray arrB, const_MPArray src,
       
  3087 +                            const_PrioConfig cfg);
       
  3088  
       
  3089 -/* 
       
  3090 +/*
       
  3091   * Initializes array with 0/1 values specified in boolean array `data_in`
       
  3092   */
       
  3093 -MPArray MPArray_new_bool (int len, const bool *data_in);
       
  3094 +MPArray MPArray_new_bool(int len, const bool* data_in);
       
  3095  
       
  3096 -/* 
       
  3097 +/*
       
  3098   * Expands or shrinks the MPArray to the desired size. If shrinking,
       
  3099   * will clear the values on the end of array.
       
  3100   */
       
  3101 -SECStatus MPArray_resize (MPArray arr, int newlen);
       
  3102 +SECStatus MPArray_resize(MPArray arr, int newlen);
       
  3103  
       
  3104  /*
       
  3105 - * Initializes dst and creates a duplicate of the array in src. 
       
  3106 + * Initializes dst and creates a duplicate of the array in src.
       
  3107   */
       
  3108 -MPArray MPArray_dup (const_MPArray src);
       
  3109 +MPArray MPArray_dup(const_MPArray src);
       
  3110  
       
  3111  /*
       
  3112   * Copies array from src to dst. Arrays must have the same length.
       
  3113   */
       
  3114 -SECStatus MPArray_copy (MPArray dst, const_MPArray src);
       
  3115 +SECStatus MPArray_copy(MPArray dst, const_MPArray src);
       
  3116  
       
  3117  /* For each index i into the array, set:
       
  3118   *    dst[i] = dst[i] + to_add[i]   (modulo mod)
       
  3119   */
       
  3120 -SECStatus MPArray_addmod (MPArray dst, const_MPArray to_add, 
       
  3121 -    const mp_int *mod);
       
  3122 +SECStatus MPArray_addmod(MPArray dst, const_MPArray to_add, const mp_int* mod);
       
  3123  
       
  3124  /*
       
  3125   * Return true iff the two arrays are equal in length
       
  3126   * and contents. This comparison is NOT constant time.
       
  3127   */
       
  3128 -bool MPArray_areEqual (const_MPArray arr1, const_MPArray arr2);
       
  3129 +bool MPArray_areEqual(const_MPArray arr1, const_MPArray arr2);
       
  3130  
       
  3131  #endif /* __MPARRAY_H__ */
       
  3132 -
       
  3133 diff --git a/third_party/prio/prio/mparray.c b/third_party/prio/prio/mparray.c
       
  3134 --- a/third_party/prio/prio/mparray.c
       
  3135 +++ b/third_party/prio/prio/mparray.c
       
  3136 @@ -1,9 +1,9 @@
       
  3137  /*
       
  3138   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  3139 - * 
       
  3140 + *
       
  3141   * This Source Code Form is subject to the terms of the Mozilla Public
       
  3142   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  3143 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
  3144 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  3145   */
       
  3146  
       
  3147  #include <mprio.h>
       
  3148 @@ -15,31 +15,31 @@
       
  3149  #include "util.h"
       
  3150  
       
  3151  MPArray
       
  3152 -MPArray_new (int len)
       
  3153 +MPArray_new(int len)
       
  3154  {
       
  3155    SECStatus rv = SECSuccess;
       
  3156 -  MPArray arr = malloc (sizeof *arr);
       
  3157 -  if (!arr) 
       
  3158 +  MPArray arr = malloc(sizeof *arr);
       
  3159 +  if (!arr)
       
  3160      return NULL;
       
  3161  
       
  3162    arr->data = NULL;
       
  3163    arr->len = len;
       
  3164  
       
  3165 -  P_CHECKA(arr->data = calloc (len, sizeof (mp_int)));
       
  3166 +  P_CHECKA(arr->data = calloc(len, sizeof(mp_int)));
       
  3167  
       
  3168    // Initialize these to NULL so that we can figure
       
  3169    // out which allocations failed (if any)
       
  3170 -  for (int i=0; i<len; i++) {
       
  3171 -    MP_DIGITS (&arr->data[i]) = NULL;
       
  3172 +  for (int i = 0; i < len; i++) {
       
  3173 +    MP_DIGITS(&arr->data[i]) = NULL;
       
  3174    }
       
  3175  
       
  3176 -  for (int i=0; i<len; i++) {
       
  3177 -    MP_CHECKC (mp_init(&arr->data[i]));
       
  3178 +  for (int i = 0; i < len; i++) {
       
  3179 +    MP_CHECKC(mp_init(&arr->data[i]));
       
  3180    }
       
  3181  
       
  3182  cleanup:
       
  3183    if (rv != SECSuccess) {
       
  3184 -    MPArray_clear (arr);
       
  3185 +    MPArray_clear(arr);
       
  3186      return NULL;
       
  3187    }
       
  3188  
       
  3189 @@ -47,87 +47,89 @@
       
  3190  }
       
  3191  
       
  3192  MPArray
       
  3193 -MPArray_new_bool (int len, const bool *data_in)
       
  3194 +MPArray_new_bool(int len, const bool* data_in)
       
  3195  {
       
  3196 -  MPArray arr = MPArray_new (len);
       
  3197 -  if (arr == NULL) return NULL;
       
  3198 +  MPArray arr = MPArray_new(len);
       
  3199 +  if (arr == NULL)
       
  3200 +    return NULL;
       
  3201  
       
  3202 -  for (int i=0; i<len; i++) {
       
  3203 -    mp_set (&arr->data[i], data_in[i]);
       
  3204 +  for (int i = 0; i < len; i++) {
       
  3205 +    mp_set(&arr->data[i], data_in[i]);
       
  3206    }
       
  3207 - 
       
  3208 +
       
  3209    return arr;
       
  3210  }
       
  3211  
       
  3212  SECStatus
       
  3213 -MPArray_resize (MPArray arr, int newlen)
       
  3214 +MPArray_resize(MPArray arr, int newlen)
       
  3215  {
       
  3216    SECStatus rv = SECSuccess;
       
  3217    const int oldlen = arr->len;
       
  3218  
       
  3219    if (oldlen == newlen)
       
  3220 -    return rv;  
       
  3221 +    return rv;
       
  3222  
       
  3223    // TODO: Use realloc for this?
       
  3224 -  mp_int *newdata = calloc (newlen, sizeof (mp_int));
       
  3225 +  mp_int* newdata = calloc(newlen, sizeof(mp_int));
       
  3226    if (newdata == NULL)
       
  3227      return SECFailure;
       
  3228  
       
  3229    for (int i = 0; i < newlen; i++) {
       
  3230 -    MP_DIGITS (&newdata[i]) = NULL;
       
  3231 +    MP_DIGITS(&newdata[i]) = NULL;
       
  3232    }
       
  3233  
       
  3234    // Initialize new array
       
  3235    for (int i = 0; i < newlen; i++) {
       
  3236 -    MP_CHECKC (mp_init (&newdata[i]));
       
  3237 +    MP_CHECKC(mp_init(&newdata[i]));
       
  3238    }
       
  3239  
       
  3240    // Copy old data into new array
       
  3241    for (int i = 0; i < newlen && i < oldlen; i++) {
       
  3242 -    MP_CHECKC (mp_copy (&arr->data[i], &newdata[i]));
       
  3243 +    MP_CHECKC(mp_copy(&arr->data[i], &newdata[i]));
       
  3244    }
       
  3245  
       
  3246    // Free old data
       
  3247    for (int i = 0; i < oldlen; i++) {
       
  3248 -    mp_clear (&arr->data[i]);
       
  3249 +    mp_clear(&arr->data[i]);
       
  3250    }
       
  3251 -  free (arr->data);
       
  3252 +  free(arr->data);
       
  3253    arr->data = newdata;
       
  3254    arr->len = newlen;
       
  3255  
       
  3256  cleanup:
       
  3257    if (rv != SECSuccess) {
       
  3258 -    for (int i=0; i < newlen; i++) {
       
  3259 -      mp_clear (&newdata[i]);
       
  3260 +    for (int i = 0; i < newlen; i++) {
       
  3261 +      mp_clear(&newdata[i]);
       
  3262      }
       
  3263 -    free (newdata);
       
  3264 +    free(newdata);
       
  3265    }
       
  3266  
       
  3267    return rv;
       
  3268  }
       
  3269  
       
  3270  MPArray
       
  3271 -MPArray_dup (const_MPArray src)
       
  3272 +MPArray_dup(const_MPArray src)
       
  3273  {
       
  3274 -  MPArray dst = MPArray_new (src->len); 
       
  3275 -  if (!dst) return NULL;
       
  3276 +  MPArray dst = MPArray_new(src->len);
       
  3277 +  if (!dst)
       
  3278 +    return NULL;
       
  3279  
       
  3280 -  SECStatus rv = MPArray_copy (dst, src); 
       
  3281 +  SECStatus rv = MPArray_copy(dst, src);
       
  3282    if (rv == SECSuccess) {
       
  3283      return dst;
       
  3284    } else {
       
  3285 -    MPArray_clear (dst);
       
  3286 +    MPArray_clear(dst);
       
  3287      return NULL;
       
  3288    }
       
  3289  }
       
  3290  
       
  3291  SECStatus
       
  3292 -MPArray_copy (MPArray dst, const_MPArray src)
       
  3293 +MPArray_copy(MPArray dst, const_MPArray src)
       
  3294  {
       
  3295    if (dst->len != src->len)
       
  3296      return SECFailure;
       
  3297  
       
  3298 -  for (int i=0; i<src->len; i++) {
       
  3299 +  for (int i = 0; i < src->len; i++) {
       
  3300      if (mp_copy(&src->data[i], &dst->data[i]) != MP_OKAY) {
       
  3301        return SECFailure;
       
  3302      }
       
  3303 @@ -136,10 +138,9 @@
       
  3304    return SECSuccess;
       
  3305  }
       
  3306  
       
  3307 -
       
  3308  SECStatus
       
  3309 -MPArray_set_share (MPArray arrA, MPArray arrB, 
       
  3310 -    const_MPArray src, const_PrioConfig cfg)
       
  3311 +MPArray_set_share(MPArray arrA, MPArray arrB, const_MPArray src,
       
  3312 +                  const_PrioConfig cfg)
       
  3313  {
       
  3314    SECStatus rv = SECSuccess;
       
  3315    if (arrA->len != src->len || arrB->len != src->len)
       
  3316 @@ -147,48 +148,49 @@
       
  3317  
       
  3318    const int len = src->len;
       
  3319  
       
  3320 -  for (int i=0; i < len; i++) {
       
  3321 -    P_CHECK(share_int (cfg, &src->data[i], &arrA->data[i], &arrB->data[i])); 
       
  3322 +  for (int i = 0; i < len; i++) {
       
  3323 +    P_CHECK(share_int(cfg, &src->data[i], &arrA->data[i], &arrB->data[i]));
       
  3324    }
       
  3325  
       
  3326    return rv;
       
  3327  }
       
  3328  
       
  3329 -
       
  3330 -void 
       
  3331 -MPArray_clear (MPArray arr)
       
  3332 +void
       
  3333 +MPArray_clear(MPArray arr)
       
  3334  {
       
  3335 -  if (arr == NULL) return;
       
  3336 +  if (arr == NULL)
       
  3337 +    return;
       
  3338  
       
  3339    if (arr->data != NULL) {
       
  3340 -    for (int i=0; i<arr->len; i++) {
       
  3341 +    for (int i = 0; i < arr->len; i++) {
       
  3342        mp_clear(&arr->data[i]);
       
  3343      }
       
  3344 -    free (arr->data); 
       
  3345 +    free(arr->data);
       
  3346    }
       
  3347 -  free (arr);
       
  3348 +  free(arr);
       
  3349  }
       
  3350  
       
  3351  SECStatus
       
  3352 -MPArray_addmod (MPArray dst, const_MPArray to_add, const mp_int *mod)
       
  3353 +MPArray_addmod(MPArray dst, const_MPArray to_add, const mp_int* mod)
       
  3354  {
       
  3355    if (dst->len != to_add->len)
       
  3356      return SECFailure;
       
  3357  
       
  3358 -  for (int i=0; i<dst->len; i++) {
       
  3359 -    MP_CHECK (mp_addmod (&dst->data[i], &to_add->data[i], mod, &dst->data[i])); 
       
  3360 +  for (int i = 0; i < dst->len; i++) {
       
  3361 +    MP_CHECK(mp_addmod(&dst->data[i], &to_add->data[i], mod, &dst->data[i]));
       
  3362    }
       
  3363  
       
  3364    return SECSuccess;
       
  3365  }
       
  3366  
       
  3367 -bool 
       
  3368 -MPArray_areEqual (const_MPArray arr1, const_MPArray arr2)
       
  3369 +bool
       
  3370 +MPArray_areEqual(const_MPArray arr1, const_MPArray arr2)
       
  3371  {
       
  3372 -  if (arr1->len != arr2->len) return false;
       
  3373 +  if (arr1->len != arr2->len)
       
  3374 +    return false;
       
  3375  
       
  3376 -  for (int i=0; i<arr1->len; i++) {
       
  3377 -    if (mp_cmp (&arr1->data[i], &arr2->data[i]))
       
  3378 +  for (int i = 0; i < arr1->len; i++) {
       
  3379 +    if (mp_cmp(&arr1->data[i], &arr2->data[i]))
       
  3380        return false;
       
  3381    }
       
  3382  
       
  3383 diff --git a/third_party/prio/prio/params.h b/third_party/prio/prio/params.h
       
  3384 --- a/third_party/prio/prio/params.h
       
  3385 +++ b/third_party/prio/prio/params.h
       
  3386 @@ -1,9 +1,9 @@
       
  3387  /*
       
  3388   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
  3389 - * 
       
  3390 + *
       
  3391   * This Source Code Form is subject to the terms of the Mozilla Public
       
  3392   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
  3393 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
  3394 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
  3395   */
       
  3396  
       
  3397  /****
       
  3398 @@ -15,7 +15,7 @@
       
  3399  #define __PARAMS_H__
       
  3400  
       
  3401  // A prime modulus p.
       
  3402 -static const char *Modulus = "8000000000000000080001";
       
  3403 +static const char* Modulus = "8000000000000000080001";
       
  3404  
       
  3405  // A generator g of a subgroup of Z*_p.
       
  3406  // static const char *Generator = "5569560418e73ff9db709";
       
  3407 @@ -24,8203 +24,8198 @@
       
  3408  // order 2^Generator2Order in Z*_p.
       
  3409  static const int Generator2Order = 12;
       
  3410  
       
  3411 -static const char *Roots[] = {
       
  3412 -       "1",
       
  3413 -   "5569560418e73ff9db709",
       
  3414 -   "5bf795c6d548a19b6ac340",
       
  3415 -   "760df490123f6613b0a970",
       
  3416 -   "7cec29d14a0eefb222bde7",
       
  3417 -   "3c70a3f0e9c5b206031a33",
       
  3418 -   "1cec8c96472b84936bbc22",
       
  3419 -   "3315173915ca23d8c1b814",
       
  3420 -   "39a0c4e1da321f1bc126f4",
       
  3421 -   "760f3656c1130b21d369d9",
       
  3422 -   "452231c3bcde7b7b5b0af8",
       
  3423 -   "6fe27c77d57e2feb8cbcbf",
       
  3424 -   "3a7a488015e75feec809f8",
       
  3425 -   "c16d15fea9d61c8df5121",
       
  3426 -   "5a8a9b5c659b71e837ea18",
       
  3427 -   "506d84c9f4d4bc400fdd25",
       
  3428 -   "4d7566cd294f75be6620f3",
       
  3429 -   "5f80095f2580ec4cf13b51",
       
  3430 -   "34eea7a66e8ff3dcc8988e",
       
  3431 -   "899b1ac6f72ffff8aedfc",
       
  3432 -   "3cb5a124ce563c3967dbc3",
       
  3433 -   "16d5205447831696c5d6a0",
       
  3434 -   "414e761d40341e7f97c304",
       
  3435 -   "498104aa12355244a9b0d6",
       
  3436 -   "3a8c5a9525f5d62cea294d",
       
  3437 -   "1c90fea5f39d8ac4dfc2a3",
       
  3438 -   "6a716dae106b9aeff2133e",
       
  3439 -   "735cfad9acf49090fb7037",
       
  3440 -   "5f4e7c70ff55ff2f888f05",
       
  3441 -   "2f39a2788d5c2a24e16acc",
       
  3442 -   "38d9d05f9463a537f470b2",
       
  3443 -   "72b5d8f8e65cb7509a93d8",
       
  3444 -   "75066462fdbbc7301e209b",
       
  3445 -   "55afbc51e7c2cc748942ac",
       
  3446 -   "47a1f466100bf70dd5689",
       
  3447 -   "57d88b5e0b434eb1a0dc08",
       
  3448 -   "27ec8c6636679988dd1267",
       
  3449 -   "4818e9ef0ea7625cfc3d0",
       
  3450 -   "68fa3ecc3845db5d523ad9",
       
  3451 -   "4c95bed884bd87ec1d5e70",
       
  3452 -   "7136b3dd116ed121aab68",
       
  3453 -   "60617400353c1eb8e8832b",
       
  3454 -   "19772e34181f57b670bf9",
       
  3455 -   "2f58f2df794a35875efc99",
       
  3456 -   "690aa96130f8c533d77ce4",
       
  3457 -   "df261ad3b5157a525bb81",
       
  3458 -   "6a437e22c95fc6c6a4449d",
       
  3459 -   "1cc2526113f2bae9b540c1",
       
  3460 -   "7fc2bcc524b4326eb8303d",
       
  3461 -   "751e9eb348bc8239d6e118",
       
  3462 -   "2fb170a11f1aecdf586d25",
       
  3463 -   "32aafc640e8c99bda8faa7",
       
  3464 -   "552aca5af025ea1e84aadb",
       
  3465 -   "30a3461d63ca9807464dd6",
       
  3466 -   "3f68fa1a9ab7772758d0ba",
       
  3467 -   "6ba1300374acd487b23577",
       
  3468 -   "35865b2ca16d3453781f41",
       
  3469 -   "3d1155c4a53835d991a0f",
       
  3470 -   "74bb588b5553c2b2d4ac78",
       
  3471 -   "3778fd3a46ffde4755b6ce",
       
  3472 -   "1d2b9ca2f44294070d4e86",
       
  3473 -   "38596ed050f14596adc07f",
       
  3474 -   "2015aa6fc7e48fa3bc5ab5",
       
  3475 -   "2ad2546b270547fc24541b",
       
  3476 -   "1dd1b432dc809fe4c879b3",
       
  3477 -   "149e6a0b6c6543ae895e07",
       
  3478 -   "7851b3168b92e5daed021f",
       
  3479 -   "2bee268df09cc40864a917",
       
  3480 -   "76c2f0ba37187112ee4d4d",
       
  3481 -   "53016aa1427381b9f28ea5",
       
  3482 -   "397f144a181805e1a097c9",
       
  3483 -   "634478b621f7f0a455c48c",
       
  3484 -   "7cc0116bd0bc164835ee72",
       
  3485 -   "310e395e429c4494a5f850",
       
  3486 -   "63e0dbdfb13b4fbb46f00c",
       
  3487 -   "4a9e2e5d8ad0e2e82aa7de",
       
  3488 -   "7d0578a8908ba294259bd",
       
  3489 -   "17276a59aa9630c1141c17",
       
  3490 -   "393fe0be8f011593a7e1ef",
       
  3491 -   "475e84f70334cc0bc8292",
       
  3492 -   "1ccd174e9aa4e58e7414bc",
       
  3493 -   "19b666810d736e639b51f2",
       
  3494 -   "2a48d89ce122dfa7deba2f",
       
  3495 -   "6520599b30ba3568ad0f09",
       
  3496 -   "4b35e35e82bffb49d0d830",
       
  3497 -   "3943e926fbe3d426004ea9",
       
  3498 -   "4e501beb4617be0f02deb4",
       
  3499 -   "343dad4f059acb87d3b0e2",
       
  3500 -   "7bb4f9d707b4ee3a20e779",
       
  3501 -   "7de4927696bdd6d3b718",
       
  3502 -   "6da3828f2d4926651f7a27",
       
  3503 -   "3601174a7dc823bf4dc3a6",
       
  3504 -   "223160cdd1bfa322ca3e6c",
       
  3505 -   "31a504d1dcc251075e4436",
       
  3506 -   "1b1ca5d6c688c4cf99448d",
       
  3507 -   "4309c1c59a581af63d922d",
       
  3508 -   "6077a88144957827c07205",
       
  3509 -   "22e321253c3e0fb875c4df",
       
  3510 -   "6b4728ee168cd23e2fe47c",
       
  3511 -   "1c35e13f8ffb7c470fa61c",
       
  3512 -   "4bacbc68650c41520d312c",
       
  3513 -   "455c9131bfa1c33274be37",
       
  3514 -   "23c82ae839bf5380a55acf",
       
  3515 -   "171e59c89024b148534f1b",
       
  3516 -   "165ff53589519199fc1846",
       
  3517 -   "69bb33c18017fddf18d091",
       
  3518 -   "2797689917c95a9d4073ae",
       
  3519 -   "527c4b155e3708972293d1",
       
  3520 -   "6e007172a16a9c673e635d",
       
  3521 -   "1921f3262afb2f3766f357",
       
  3522 -   "70a2d453b688803716fdbf",
       
  3523 -   "4fbc987e428ed0ce9cb76c",
       
  3524 -   "58320debe89492ceee77e",
       
  3525 -   "1b0c27c7452322264822f3",
       
  3526 -   "66ffe80af410522139e92f",
       
  3527 -   "5e56a7d976f1a3334f57c3",
       
  3528 -   "536a736ad3a37793dd9f54",
       
  3529 -   "407333b3b6a3bed3ef8920",
       
  3530 -   "76fed7d89907843db9af52",
       
  3531 -   "18019c176b4c9453028db8",
       
  3532 -   "4a54d9b3589d5340a01e23",
       
  3533 -   "1a4e5bc143bf00e8928403",
       
  3534 -   "61f4a55b140e767495cd59",
       
  3535 -   "25cab751e23d8e69bb5048",
       
  3536 -   "591bac661062f64b8e3f2c",
       
  3537 -   "7006ef130d31e12bc44c5a",
       
  3538 -   "6a23876a8c802d81d83d29",
       
  3539 -   "7cf9338ca9bcab73862b81",
       
  3540 -   "e941ecc714605cea72177",
       
  3541 -   "4839c6454f97ececa9969f",
       
  3542 -   "672d7083ec424e5d883cec",
       
  3543 -   "3722a55f27f2c02b34eddc",
       
  3544 -   "4f72850630f6f8c1a68862",
       
  3545 -   "1a63315aa52cb254b65ce0",
       
  3546 -   "5a0c2602dcbbbf468b67e0",
       
  3547 -   "23f219093e9b0bb3b5217d",
       
  3548 -   "4f6d8c8b0b9b376d42c4b1",
       
  3549 -   "7abf68b2e4cc9e3a3b2c5f",
       
  3550 -   "75f4eb6de0d35eeaa16cf8",
       
  3551 -   "6a81a8d913b71671629ad5",
       
  3552 -   "3afeb7cc8f8e5bb8770da",
       
  3553 -   "2b0fed7a534d25697e5c7b",
       
  3554 -   "2964973c288dced7dae8fc",
       
  3555 -   "a6c54d0ec55adb4911efd",
       
  3556 -   "7e958697030784ae5ddf86",
       
  3557 -   "7fd4ee663460087b793a80",
       
  3558 -   "5cafa83a10f929b5076c60",
       
  3559 -   "452d3dfff11e24bf680356",
       
  3560 -   "39242760b51f2f93fd4721",
       
  3561 -   "18ec20d19a478746123b",
       
  3562 -   "30f4f5617cc73435ce74c2",
       
  3563 -   "1851e925707895d37a37f2",
       
  3564 -   "6400e87749e3bcbd750d89",
       
  3565 -   "6c8879d694e1a0b99f8e42",
       
  3566 -   "3ecf9d05cd62341c4f7784",
       
  3567 -   "7895b432001edf846b7b3e",
       
  3568 -   "7c6b359299af5c59043711",
       
  3569 -   "13f13f9f2c877cb73ba5c",
       
  3570 -   "2193bc73ac4b40415c95b5",
       
  3571 -   "6351b2a5f477112f552683",
       
  3572 -   "48eaf0293f956717b8f048",
       
  3573 -   "21a363ab0e08a4336f2e44",
       
  3574 -   "d8c34dffd92c1a20d6a9a",
       
  3575 -   "7dc98aa964908b313939a9",
       
  3576 -   "327b2b8d0b75e0d83a5b04",
       
  3577 -   "2d1b2f087facf1fbfc7e69",
       
  3578 -   "6e97dd298eaee757a3cec1",
       
  3579 -   "504d29ae2e5a021d2bb278",
       
  3580 -   "5344962f90f45cfaeb1bce",
       
  3581 -   "767dc9d34c09b03db4a0e9",
       
  3582 -   "731a7b89f357bfb855a5b2",
       
  3583 -   "42cd59499a0ef57d6b0009",
       
  3584 -   "5d711409f3faa9ea87abfc",
       
  3585 -   "352389083277fbbbe66ac3",
       
  3586 -   "30a77107da1d91a699e9f5",
       
  3587 -   "39bf9c3f1f0a1a15264530",
       
  3588 -   "5ce5e0595ad07c8855357b",
       
  3589 -   "4499c1c16fec3546d5903c",
       
  3590 -   "5b8e9d8b290e89e5d9afc3",
       
  3591 -   "214f18ae0c9aa7a1b8c02e",
       
  3592 -   "639c2fcec8b9dfcc987387",
       
  3593 -   "1536906705870049755028",
       
  3594 -   "e0800809dbab6d41345b4",
       
  3595 -   "39489c7fdb445490d498cd",
       
  3596 -   "52c4d1c2ad153a3f70bc0a",
       
  3597 -   "540f5a33d5aeafadcad19d",
       
  3598 -   "6081e77fedf3898fd66607",
       
  3599 -   "584b7d6f0b43ddd0b397e4",
       
  3600 -   "7d8b341c82b019a8d56c92",
       
  3601 -   "2478db790ed59756cef964",
       
  3602 -   "93cbb2483673e4e0dda30",
       
  3603 -   "18ba9d869c489f11ce52e7",
       
  3604 -   "52cfcbd15dfc6c476cfc76",
       
  3605 -   "7ae1d007cf030664c6b815",
       
  3606 -   "9bea90a26f9e93743a998",
       
  3607 -   "7e62c15038abb8244531b4",
       
  3608 -   "3cb748f77d638122329dca",
       
  3609 -   "1fa330f6dd5f3ca09176ce",
       
  3610 -   "779559a53e6b62275896e9",
       
  3611 -   "51a9b0945a0908b1d40d24",
       
  3612 -   "2b13e041339df4d5a521ce",
       
  3613 -   "7256923d608836710a659c",
       
  3614 -   "48a999a2dc1a23a934a6fc",
       
  3615 -   "ef75fc5d77fc146e975f7",
       
  3616 -   "a058b3353ac6290d9f864",
       
  3617 -   "290ac68bec8aa8955b7e97",
       
  3618 -   "754ffe6bc2e7525e892fe",
       
  3619 -   "5d7c2a1d1267b7a252da1",
       
  3620 -   "35714b90920ce6fe1f850",
       
  3621 -   "456138a50c3717947be48e",
       
  3622 -   "1e2093f76475f58a2dfd79",
       
  3623 -   "4d8859f357a36792b7211f",
       
  3624 -   "3505fcb3eb2690f88b3be3",
       
  3625 -   "2735b2e6f5f08a9e9418bb",
       
  3626 -   "4c1f6b587fd26654ea69e1",
       
  3627 -   "351c5a0b997e45ec21b614",
       
  3628 -   "1c960c994194a1366a2222",
       
  3629 -   "352a4a136ebd7ef294f370",
       
  3630 -   "2df28a1b78b46f16aaf53b",
       
  3631 -   "29bbe5fdf14e69065cb80c",
       
  3632 -   "30eff32d49c10f325b8e9c",
       
  3633 -   "628d18e095a8dbcb9f43bf",
       
  3634 -   "1efd2b46d4a8724e929fd9",
       
  3635 -   "13221a23af3045ec5cea35",
       
  3636 -   "15d4218f4bbf0c95cd9649",
       
  3637 -   "3f5027ce278d444a4dd243",
       
  3638 -   "2d5e8f78718c2d4660cc69",
       
  3639 -   "49cb6ac7a2bfdc54300006",
       
  3640 -   "a134915353ce113eb72dd",
       
  3641 -   "479e7025ae3fdc2bbcbe22",
       
  3642 -   "64ed03e382c11a32e34cf4",
       
  3643 -   "3d73fd3c3744e9ec5d2d04",
       
  3644 -   "116da33e19c8b80384fe28",
       
  3645 -   "68ee183b2208228da8bab7",
       
  3646 -   "1abc0d15793c655cee4a9c",
       
  3647 -   "307727bd97c5db086074b3",
       
  3648 -   "1d6812727d8421d0e03a6f",
       
  3649 -   "5b39ddb704fa58142076d",
       
  3650 -   "2f78c0f7e7a90558573941",
       
  3651 -   "35a3ab4773c5054a30c44d",
       
  3652 -   "76c132264ad2a774a55164",
       
  3653 -   "620084c5da2910137e2b10",
       
  3654 -   "31541f24753a28cc5b51d8",
       
  3655 -   "52f5adde99e4501e4d1c61",
       
  3656 -   "779eb73caa637aa28db87c",
       
  3657 -   "3a89578d6ca992f91249be",
       
  3658 -   "536be2b3e3829710aec51b",
       
  3659 -   "53c95b2787b88db0682132",
       
  3660 -   "4a0fb16cc4d1bdfbb239c",
       
  3661 -   "8b462e0f7448b549fd688",
       
  3662 -   "783e0229f219bc18b705e4",
       
  3663 -   "17dd6e40297f1d32786291",
       
  3664 -   "4f2cc1f6f7aba8c20a670c",
       
  3665 -   "479fc9912c9c81152eb474",
       
  3666 -   "117480f169f81bb3e8609c",
       
  3667 -   "df7ae04689867c9ad97d8",
       
  3668 -   "70a1107bc42bfb598164ea",
       
  3669 -   "557361125249092a7bf932",
       
  3670 -   "5cd319aa7906a96d2f6c7e",
       
  3671 -   "72a7ca4a8dc56f9c652281",
       
  3672 -   "dce90e419e8d3f96eb5b4",
       
  3673 -   "15bb5d9b44eebb27a1e60e",
       
  3674 -   "2baeaedf76503008b9e428",
       
  3675 -   "7aa81a94a5a230cf59a0b9",
       
  3676 -   "55d7bf2f5724b5dd0a04ae",
       
  3677 -   "e1ef803b3674bf39884ae",
       
  3678 -   "1738ee1c8e104064e07249",
       
  3679 -   "7ce4bd3337a7333159cb2c",
       
  3680 -   "38110b962a169200cc9f0a",
       
  3681 -   "1ddeaa1e583e9146210f69",
       
  3682 -   "cfc86f804a481df48868e",
       
  3683 -   "55a41153a33cb4649703a5",
       
  3684 -   "5eb4d93a33b2d2e2c2adad",
       
  3685 -   "4cd904fd9401eac5ad7f1c",
       
  3686 -   "502c6a2df8916b18106088",
       
  3687 -   "6259df76b87ab2eff6659f",
       
  3688 -   "2f85e68dfb9aea66d7f07c",
       
  3689 -   "1f1eea8231315133cde938",
       
  3690 -   "6863984d7793407587e8e2",
       
  3691 -   "7b5272bdeb1b01fe56bc29",
       
  3692 -   "26b7df388a02a8279b0652",
       
  3693 -   "7fe76cd2c5affa913c2b41",
       
  3694 -   "733b81816da25936e81af1",
       
  3695 -   "235baa54adcc67af92d06d",
       
  3696 -   "4e6cb8ec1b00e2f28b3a7e",
       
  3697 -   "88b8371baafc87a9713f4",
       
  3698 -   "3b0283be973d59ebf4242f",
       
  3699 -   "587cce1cbd0dee8b98f262",
       
  3700 -   "6cfdd09fe2bd66b85c2e00",
       
  3701 -   "12a3196afc09a79694eb31",
       
  3702 -   "4feae15528510f186aa1fa",
       
  3703 -   "449ccc3923e92a0bd2e3ba",
       
  3704 -   "4f74e7ee01738298062093",
       
  3705 -   "6ce98c831091728c0e73bb",
       
  3706 -   "4bfd93fb985a44ed0569f4",
       
  3707 -   "3c8b04f81e14e10396b582",
       
  3708 -   "6cf76079225189eb2608ce",
       
  3709 -   "76e87d4d2740e137511b26",
       
  3710 -   "c62790b24bc842a717e31",
       
  3711 -   "516640d56302eb15061b25",
       
  3712 -   "60c8d2e958387c0d0627a8",
       
  3713 -   "402c7149b20bce787c7e83",
       
  3714 -   "64c275af1abda385c2af0b",
       
  3715 -   "5088a2317aa34dd5bb1b4d",
       
  3716 -   "67a9131aabd5255bdce732",
       
  3717 -   "d452f805a2c35e686e107",
       
  3718 -   "5ef5512b3384aa1243daa6",
       
  3719 -   "6c1076c01e9e44fb047889",
       
  3720 -   "46bdbd32d31b2a36e04e0a",
       
  3721 -   "527456447c2748239033cf",
       
  3722 -   "356211f56936e183312837",
       
  3723 -   "449d4feccb40da2e122aa1",
       
  3724 -   "43ee4b35cb3cdc84d1d5db",
       
  3725 -   "7651ee2e0f4d348cbe95bd",
       
  3726 -   "2ef2be0f7e33ace73bab4",
       
  3727 -   "4b8968b5c5a93dbb4b2b55",
       
  3728 -   "7d2db742721c9ba686ff30",
       
  3729 -   "48e4926c40cd6ab5e92ffc",
       
  3730 -   "506e6a05e8de5c9198ae69",
       
  3731 -   "74a156e77589342bbef3d5",
       
  3732 -   "798019b397419c8d54fda1",
       
  3733 -   "5a7d2dd2aa2028d4da8f42",
       
  3734 -   "5ebb44d93cb77417b61c4f",
       
  3735 -   "1630a212afc84f038374d9",
       
  3736 -   "3ae30b1b5931eb630bbf6c",
       
  3737 -   "37ba1e609c7b12a8e32733",
       
  3738 -   "238de3e1606bc0e1c33adb",
       
  3739 -   "149d706db4fce00c71da76",
       
  3740 -   "524b77666e02692a642407",
       
  3741 -   "ac6c9987de6c73f2259d9",
       
  3742 -   "51c819b9ec191b60920096",
       
  3743 -   "a961f7b95836d3a578170",
       
  3744 -   "2bb1db818cfd733dcce0b0",
       
  3745 -   "51eb043d3564fa91215f1b",
       
  3746 -   "23693b4063cf0fa20dad42",
       
  3747 -   "4fbaae68fdb253d715d528",
       
  3748 -   "69a784edece7c38bcf7297",
       
  3749 -   "1d595362f3a1b4c77729e7",
       
  3750 -   "22f18c95264f1fb742c348",
       
  3751 -   "5637e5d4438a119a23f043",
       
  3752 -   "75a7fc26a6faacf109b345",
       
  3753 -   "3a051daeeae9770973713e",
       
  3754 -   "4b21ef5da2b744139c3cf1",
       
  3755 -   "471eec9edf3f5af18be6bf",
       
  3756 -   "341851bd5e48e20f0a412f",
       
  3757 -   "f125d56d3c0c2aaf7ad05",
       
  3758 -   "c91beeecaf54c95dc1b37",
       
  3759 -   "38e1e6200860f4072a8a1d",
       
  3760 -   "3b3a5f854ba249c04d075",
       
  3761 -   "4170c011864f5582d6a738",
       
  3762 -   "17fc45b2690c315a5249e8",
       
  3763 -   "1bab6e088abbb7a786ff3d",
       
  3764 -   "1b388caec4f8538425d93c",
       
  3765 -   "6df80f50564e811e245eb5",
       
  3766 -   "65a5c9fe061a38a8c6c2e0",
       
  3767 -   "18e5cae7f3bd61293a8c2b",
       
  3768 -   "408e6268fcd75479c3bece",
       
  3769 -   "514d622fcdfc26212b5d14",
       
  3770 -   "435abcd28c0cfc9f321db0",
       
  3771 -   "710608c33a517ea5d5359e",
       
  3772 -   "96cf28ae783cd1e477aa5",
       
  3773 -   "5685392e26e4e637394c54",
       
  3774 -   "32f953543bd07093a29e5f",
       
  3775 -   "6806f2889f5316f4c57e07",
       
  3776 -   "668c0767178119bd41ac3",
       
  3777 -   "6e885e79f7b5fe77214da5",
       
  3778 -   "3915c8d33da94da27c1249",
       
  3779 -   "762f2aec62b91b262cc99f",
       
  3780 -   "7ce0b194ba3e31249ab36d",
       
  3781 -   "5dd52a5a11350a9b7572fc",
       
  3782 -   "404ae85658f9b08174632",
       
  3783 -   "7772e0b990ccdc614c11c3",
       
  3784 -   "573747456cbe53c844796c",
       
  3785 -   "3cf5810d8c38a097a7561f",
       
  3786 -   "269c017af27ad44e6b201e",
       
  3787 -   "2835e7f4b39073c5a451bb",
       
  3788 -   "ba07dcfdd701f16f45aca",
       
  3789 -   "1b6a00fcabec41d4b43ba2",
       
  3790 -   "67da5d093fc207176dbdb2",
       
  3791 -   "311601fec45703953f2b91",
       
  3792 -   "483ca240f22946b37af3c",
       
  3793 -   "758f193f192584a42ebc31",
       
  3794 -   "16fb077509115b4c0ee442",
       
  3795 -   "2334ccde40867fa1d0bc15",
       
  3796 -   "3f0177714af6ab07d870c0",
       
  3797 -   "697c3f9accda8d3543f182",
       
  3798 -   "59a5901c521b74864c8fb2",
       
  3799 -   "17961b8be9d0332a213177",
       
  3800 -   "69defadcac1e44c7a1c0bd",
       
  3801 -   "2df92a33b308b4efdcaee3",
       
  3802 -   "3a603b28f5e57fbfd764b9",
       
  3803 -   "65c75439faa2303912b32e",
       
  3804 -   "121daf29269045f5bdd20b",
       
  3805 -   "7adedaa3d8ff64ef5910ed",
       
  3806 -   "7b59158d38abcc0653e41",
       
  3807 -   "63bd657552fcd47a1fea3b",
       
  3808 -   "3951fc47c9cf417968c09a",
       
  3809 -   "7b97dd845f9509d060f296",
       
  3810 -   "67cd089f73cfc8807dd840",
       
  3811 -   "b17adb15bd895ea825438",
       
  3812 -   "3860f5646a470f19d720f1",
       
  3813 -   "1365575dcf06e2b1987b3f",
       
  3814 -   "5fdf7c6cf80f5f4d619b9c",
       
  3815 -   "1e86f8d9f30e1c9ee2f741",
       
  3816 -   "2f4da63191088795366c81",
       
  3817 -   "1f527bd93add787e619f2f",
       
  3818 -   "1bf7de225f0abb4eae1da2",
       
  3819 -   "7eede9c7d2fd05759ff0d5",
       
  3820 -   "7c4ebd51c09994a5c2702b",
       
  3821 -   "2f27f9f5b37e53f26a3367",
       
  3822 -   "1a91f5500bd170effa0820",
       
  3823 -   "14e76412c1e117fa60f762",
       
  3824 -   "27869ae6bfa80052e928d4",
       
  3825 -   "36e5208ae458480078d5d",
       
  3826 -   "193c88995f60dbabf1ee79",
       
  3827 -   "55509fd3a52bd88fe29e11",
       
  3828 -   "60188d16e528a5d2e06d3d",
       
  3829 -   "3cd40ccabd157073f9e356",
       
  3830 -   "6f7417b6bfc27461fd2524",
       
  3831 -   "60f671cf9f662680d04313",
       
  3832 -   "6a1b97013fc782623a1d18",
       
  3833 -   "4a5a912df871eba16ca2bf",
       
  3834 -   "4bafb874450e24655961f3",
       
  3835 -   "7fa7e63240bd502dd4b06b",
       
  3836 -   "3ac9b63dfc3067c1c4627d",
       
  3837 -   "11978ed9a01677cec42ee0",
       
  3838 -   "6b488f646fce9835d43f44",
       
  3839 -   "2449f6a2ba5fdac5a9c1d4",
       
  3840 -   "1fb4d17ac6ee317ce5a547",
       
  3841 -   "230119c3b2a6b1bafca00",
       
  3842 -   "5ba00e958e1473bae28031",
       
  3843 -   "2e0a934adfe422dd136191",
       
  3844 -   "64af53c3c0ad963e3055c1",
       
  3845 -   "173ee21e60a88ae566e166",
       
  3846 -   "c25f982adccb58e81ce02",
       
  3847 -   "1c0d48f6283945e321fdac",
       
  3848 -   "15b86ea9fb5f9d46bb9d95",
       
  3849 -   "12ea1cc2026e4f5211a159",
       
  3850 -   "4948e72d6c06974bcf7212",
       
  3851 -   "474d5e705efa51e5e97d39",
       
  3852 -   "3a928b86dc180342e1f053",
       
  3853 -   "68570d0c5fc94ab3c18486",
       
  3854 -   "33294a38a5c8a431b3624c",
       
  3855 -   "7f5271355a686a4df7e516",
       
  3856 -   "2176005ea62a7fae1a0ec5",
       
  3857 -   "7b7ba8150a404335a3e978",
       
  3858 -   "7ee167869f16d0f3096184",
       
  3859 -   "37b012fbed4994b5319766",
       
  3860 -   "5a9897a2da0299756dfdb3",
       
  3861 -   "22c922d5b0fc736e5f1adc",
       
  3862 -   "7c793c0d415e26d57ec92",
       
  3863 -   "11326e189db8b15b0744ff",
       
  3864 -   "39f2517276288f74c45e3a",
       
  3865 -   "47b94fbc156b869e9d16b9",
       
  3866 -   "4a27b941aa4c6ad1e07548",
       
  3867 -   "796842dd6bfad2f98912a6",
       
  3868 -   "561331256e1d21664a1287",
       
  3869 -   "4d3db82b9d6efaedc42576",
       
  3870 -   "26293d249066a3014c3338",
       
  3871 -   "29d711357943b0afaa5b59",
       
  3872 -   "3baf4fa4e9f273acdf732c",
       
  3873 -   "22f4901fc0a8b24cf62fe4",
       
  3874 -   "fa65751eb4d84785986bf",
       
  3875 -   "1c89d8520ef104ebd20ee",
       
  3876 -   "3251a62ebf3abdb7c9ed58",
       
  3877 -   "59db917020bf7253782d5c",
       
  3878 -   "52c455dad0b267d43552f0",
       
  3879 -   "599102d1f2500d61d762c9",
       
  3880 -   "77024358b3e776b2c5e1af",
       
  3881 -   "3248d851d401112b750bc",
       
  3882 -   "36f20d7e24da8778ce35f5",
       
  3883 -   "4dbcbf0e0833361017aadd",
       
  3884 -   "7a6a150f8921047e15edcb",
       
  3885 -   "5d53571a7cc3688e6944b0",
       
  3886 -   "3de0a5abf20a4845d76439",
       
  3887 -   "330bf157841f4554c8f5de",
       
  3888 -   "7faf5fb28aa48ff83cc07",
       
  3889 -   "ff765fa35889a47189d5c",
       
  3890 -   "1bb928a5ce5b6a93e4a6be",
       
  3891 -   "443f4b4ed3b1f2c8fe8ce8",
       
  3892 -   "159314ac561f7431a71dd2",
       
  3893 -   "2ad8da8cd83b1521d7659a",
       
  3894 -   "2e6c1f41a9866f4d867e01",
       
  3895 -   "2bf095a2fbcdb3391aec69",
       
  3896 -   "7286bedeaa0c2687819d8a",
       
  3897 -   "1a1cfff05adf1a427c023e",
       
  3898 -   "7677202d8f05f9287a6047",
       
  3899 -   "144036e909f39a00a79653",
       
  3900 -   "5d5d0b6bedf48b96c5eb79",
       
  3901 -   "2aeb5606838c910769daa9",
       
  3902 -   "36b57535eb2f884ec435f1",
       
  3903 -   "26639427b4cd468207f354",
       
  3904 -   "567c07ffdf5609acdc57cd",
       
  3905 -   "46c6a4606b83331dd733e4",
       
  3906 -   "214ab6242649bf5f0673b5",
       
  3907 -   "456b75b7118ddbd9c05113",
       
  3908 -   "23f47a79fc10179e2f1aad",
       
  3909 -   "6750d083991451ddf24ddc",
       
  3910 -   "9a91d432ec896438ac971",
       
  3911 -   "62cba5cd6ece1fcc005653",
       
  3912 -   "146e2b3f7404eaa2825f64",
       
  3913 -   "73a1489a18b0815a03faf8",
       
  3914 -   "4b81add44caab6287f5254",
       
  3915 -   "43da9e4b9fc98c3225df02",
       
  3916 -   "73c9485e5e5379f878695",
       
  3917 -   "4b0e392a6b94b0716bcb0f",
       
  3918 -   "627d01094a2553e7bdde46",
       
  3919 -   "6e1c49a1adf3346b270d76",
       
  3920 -   "2c11fd859f539479044b3d",
       
  3921 -   "5ad56a9a03d1277384501c",
       
  3922 -   "538b76dc0991647c99d6ab",
       
  3923 -   "2fe38c447768175651bb27",
       
  3924 -   "2d8207ca3331c2f27a3943",
       
  3925 -   "ac1c0028dc3aa005da816",
       
  3926 -   "5830e5e1c9294904118c10",
       
  3927 -   "4fc1aa30a26bf05e1cf79e",
       
  3928 -   "37ca6d3b30cb2687e44f7a",
       
  3929 -   "3fbae766d352bf62d71ec9",
       
  3930 -   "5b8558cbc60eeb5d4d1e0c",
       
  3931 -   "3c0ef922648f93834d2bac",
       
  3932 -   "1f216750a4d1686b3b2227",
       
  3933 -   "54449f7dccf77fd8f14fff",
       
  3934 -   "25b4f424465c145a893505",
       
  3935 -   "1533a8f5ee81c2d4352c6",
       
  3936 -   "747f5812283a8ba1a43af4",
       
  3937 -   "42d3b2e606813eb48865e1",
       
  3938 -   "771e23d6155cbd6574be92",
       
  3939 -   "6937a623eafb54374944c3",
       
  3940 -   "7ebd8ffb86035ffa249a5c",
       
  3941 -   "65a59676f2a0f7f5358513",
       
  3942 -   "4cc1b8f60c7b3b604dd7f3",
       
  3943 -   "8c1b60a22d754654b3b0e",
       
  3944 -   "3542a00727cde7902f64",
       
  3945 -   "46dbb8e8c99f2d8cf603ab",
       
  3946 -   "449f89bc8e75ebc93c06c2",
       
  3947 -   "42fe3f1413aec51428fb64",
       
  3948 -   "6ea50d7820cf1c46cfdea8",
       
  3949 -   "5e81e2ee54fa1c8e9216bf",
       
  3950 -   "3cdbf096f176a11d399e68",
       
  3951 -   "1b8c58018b9ec962054ab0",
       
  3952 -   "292e4d75da1a76fa4eb730",
       
  3953 -   "23f737b6f1527cfce0303e",
       
  3954 -   "1f2e34fd7020d08b01b7f2",
       
  3955 -   "1103bc87eb4e4e572c882c",
       
  3956 -   "4796fc52e00fbc5d65fc02",
       
  3957 -   "6ecdfc4db1fa1b0104403a",
       
  3958 -   "5d780dd5bc1f62ed520130",
       
  3959 -   "403ccf27d3ff3c3686d654",
       
  3960 -   "7a42533b0f16560c421482",
       
  3961 -   "3c52f4c6c583d5b2a18105",
       
  3962 -   "32e84128c0dfcdebdcfc5e",
       
  3963 -   "db6d45038525122246c3a",
       
  3964 -   "7e9e8be590540d41cb48b7",
       
  3965 -   "4dac5ec68e30db33d790b3",
       
  3966 -   "4a9951c3005ac4b7d775a5",
       
  3967 -   "8d7ac16a6c7fb5dcaf362",
       
  3968 -   "7a7267a5eeee00421b1bd7",
       
  3969 -   "14b9cf8ea7c2a2aef663e9",
       
  3970 -   "7a75465db2452d11dbf6bf",
       
  3971 -   "49da4e6814895f7566132",
       
  3972 -   "6ac2b95852f2b3848657c4",
       
  3973 -   "29f43cc681e11325bf172b",
       
  3974 -   "41d82e9988854950bdb48c",
       
  3975 -   "6f5834f39b940405114e26",
       
  3976 -   "754181ae9689816d4fae85",
       
  3977 -   "394398fcb25e82a48b8d32",
       
  3978 -   "693e564c43456862d84db1",
       
  3979 -   "5fa8c4e879ae9ef5c6f178",
       
  3980 -   "3937d6181e67f43d9bec08",
       
  3981 -   "4bd73bb75df0b9c8f31e93",
       
  3982 -   "417a5a771b0fe4694065d",
       
  3983 -   "47ddc74fced651c57b4d1f",
       
  3984 -   "7746c161815ab2091d9e21",
       
  3985 -   "72216a00ebfc9de1e963c8",
       
  3986 -   "74c5b771dcd8c4719355d3",
       
  3987 -   "450dcdc45566039112cb21",
       
  3988 -   "1ffc37c5751a51bd676a97",
       
  3989 -   "553adfba4c4a6d20491557",
       
  3990 -   "d65fa4e9fad0f9180af7",
       
  3991 -   "6151a60a864edd0e7c7b30",
       
  3992 -   "57a6c26c5e5dea61f133ee",
       
  3993 -   "39f0a0674e65b2cad4a706",
       
  3994 -   "29105da153f2a098ad094b",
       
  3995 -   "c16242d78c3d8fbfddea4",
       
  3996 -   "235bf7672a2cda1ab01fb3",
       
  3997 -   "3faddb5ddd2bdc683de72f",
       
  3998 -   "75964f1abb3f7cc93e9f96",
       
  3999 -   "62019722b2962f2ad1787f",
       
  4000 -   "67427f6921fbdb98c3e375",
       
  4001 -   "2a0c42a5cba7fe55a006e5",
       
  4002 -   "2bcf3f6e0be988750bc0c3",
       
  4003 -   "31cc33f2d92bb3dc73372f",
       
  4004 -   "553e86c66c2fba13b95f56",
       
  4005 -   "75f53c77a2d34dd51c6882",
       
  4006 -   "6f8c0ef46d2275dfe7e84f",
       
  4007 -   "5c1c9591ed7cecac5be504",
       
  4008 -   "e0fd267f226bcb77b4105",
       
  4009 -   "1aa73126a375b6cf5e8b5",
       
  4010 -   "5e4eaaa44cce4760757194",
       
  4011 -   "a15cce75efaba6c1b571b",
       
  4012 -   "7f779a7314dbb8bea5c652",
       
  4013 -   "2359b0102f9a1f774278d",
       
  4014 -   "20bd84ec27cae248ea38a3",
       
  4015 -   "38a3fd25a6d9f4f7c85efc",
       
  4016 -   "2117da386a0ba848e04619",
       
  4017 -   "6db55a7581d577d97e45ef",
       
  4018 -   "68437c168764f9b52e36f",
       
  4019 -   "5574ce6446f5f9b2cb3ade",
       
  4020 -   "2a8fc7a338bd0e95e61238",
       
  4021 -   "6dd1e30b456df046e42f20",
       
  4022 -   "360136af955e5fa1edc1",
       
  4023 -   "403c97fd7a8e612b101803",
       
  4024 -   "e8a31983f38b3bc04d83f",
       
  4025 -   "2fc4119b8d9484cd86a0bd",
       
  4026 -   "23b23c226ec7148e9ecfd4",
       
  4027 -   "40f14f4642441c80c723a2",
       
  4028 -   "255da48e767df6db73178f",
       
  4029 -   "5f4ee2c7a7d447e781b997",
       
  4030 -   "4945531dd0d285dff322e3",
       
  4031 -   "58de9434dcaeb21007cf50",
       
  4032 -   "4eb92d6051c08bfec28d32",
       
  4033 -   "46777bd089a8dc8c44ba66",
       
  4034 -   "155305c9e80b8231f3fea7",
       
  4035 -   "27e0d5b6d5b01b974468e6",
       
  4036 -   "3337445fe49877ddd94c8c",
       
  4037 -   "23ff36317f41cdc69b5f8c",
       
  4038 -   "5798f45a6d32a5d9e220c4",
       
  4039 -   "6b1b87bf69d8ba16154459",
       
  4040 -   "d959366c9d2eed9c988e",
       
  4041 -   "7914f6f164e20860badddb",
       
  4042 -   "fca586b3bb595a8d4101",
       
  4043 -   "68bf1a165a85b17f192a39",
       
  4044 -   "7b94e69ecfb1ba4bdf42b9",
       
  4045 -   "363177aa4ad204478f4d2e",
       
  4046 -   "4ec109ed0d029a0c6bd1c3",
       
  4047 -   "ccd4be560162041ae08e2",
       
  4048 -   "3e7a71b985de5c6c7a9f57",
       
  4049 -   "1dcb001f06c75da3270a59",
       
  4050 -   "7feefa2c38e3a6212b4cc2",
       
  4051 -   "58a47971604afebfc2dfe",
       
  4052 -   "175182c7cd2ce431b0150e",
       
  4053 -   "1ff2197a0e5b3d0b65c928",
       
  4054 -   "497b40c11c5d479cab5f20",
       
  4055 -   "5448bba652328fd63e3ca2",
       
  4056 -   "748cb85b7df9ca5a82d4a0",
       
  4057 -   "5b60aca7fe85259aa048ba",
       
  4058 -   "68bba5659f4f20356a0cad",
       
  4059 -   "16a2f9f4e53133020d693f",
       
  4060 -   "75df623177a9cc914a680f",
       
  4061 -   "dfa61531c98e389318ffc",
       
  4062 -   "12502410f917e813c566e4",
       
  4063 -   "385c720d2080ae9544a074",
       
  4064 -   "15c5021e3387b5104eda39",
       
  4065 -   "6ed402123cbfe00df8030b",
       
  4066 -   "4e9e415c8033fbf3989b6d",
       
  4067 -   "1ead4bf29c5aa1e11118b1",
       
  4068 -   "3eed8387e5a22f84995caa",
       
  4069 -   "6207f87b59fc321d1fa8c5",
       
  4070 -   "5527388c03206dff6a464b",
       
  4071 -   "232706fb395f1e37b2683d",
       
  4072 -   "5eacde9e13242553f24977",
       
  4073 -   "257f0dc17de9e402db5577",
       
  4074 -   "26c8838f41263334d39302",
       
  4075 -   "5ed2c798bc4d3df9693b4a",
       
  4076 -   "59048c7bc400c1b2f055f1",
       
  4077 -   "60ea199093a4e9f80613b6",
       
  4078 -   "3fdb397b831af56c0902f1",
       
  4079 -   "47be6483decbcd32c50b44",
       
  4080 -   "715687651f6925a41a3bf1",
       
  4081 -   "5c585a64ca68d89750e9da",
       
  4082 -   "1f5e885344b51456b2195b",
       
  4083 -   "5d2602e9c7bafe79929bee",
       
  4084 -   "25b65fbcf4deba1535165c",
       
  4085 -   "4bba04cb6f7dfe33e4bd",
       
  4086 -   "4e1dab19fafdbf4d11123",
       
  4087 -   "3b79806e60c6443e5b75ae",
       
  4088 -   "28390f3626b1fdadbcbfd8",
       
  4089 -   "2ac5b705311ca0e8e6bcda",
       
  4090 -   "21cbfd5db5cf856bb6980a",
       
  4091 -   "31340daa6bee66dc702e47",
       
  4092 -   "4520d49550bf0a2328020f",
       
  4093 -   "6a91ca9f24a59bd3f77cce",
       
  4094 -   "590c069f4d458da38448fb",
       
  4095 -   "4eca5fbd35a4778cd18f80",
       
  4096 -   "288723d0eb9a25150c0772",
       
  4097 -   "6bd55e81cea4df6934b8f5",
       
  4098 -   "684e96f56360b04576ab1f",
       
  4099 -   "10c2f27dd2e5d8f77a071d",
       
  4100 -   "78b61404bffa36b135773d",
       
  4101 -   "9b13c11e290284a86caf",
       
  4102 -   "415d623b63f929b3ef879f",
       
  4103 -   "4dd2e16c6f9989907671be",
       
  4104 -   "72e3a111047449df428c07",
       
  4105 -   "27c4576460764aabe86ca",
       
  4106 -   "509ca3fe7eae200044712a",
       
  4107 -   "1488492f946cb788d721d6",
       
  4108 -   "5fd2fb0300581c5f59fa7c",
       
  4109 -   "cae1cd222ac38b9a89a19",
       
  4110 -   "62a4fc7a9af2d27e92b08f",
       
  4111 -   "2dd86ec9cb242b4e68016c",
       
  4112 -   "615326e14c6c74c717def2",
       
  4113 -   "454b67d8b7470679eeda79",
       
  4114 -   "359b739ee10f4c4f24e721",
       
  4115 -   "6714be0beb22d71708c5e6",
       
  4116 -   "571cc10547604b09ba9b69",
       
  4117 -   "64981a92737099a91d3794",
       
  4118 -   "58b898760417610a09ff41",
       
  4119 -   "5e1c654c63269bdc77fee1",
       
  4120 -   "37e704706a7967491e3628",
       
  4121 -   "76a279212b584d95ed2cd0",
       
  4122 -   "64d1d7c43b00bfc99b8bb2",
       
  4123 -   "524919eb6636c6c6c14a82",
       
  4124 -   "4176799b704bfacae7d897",
       
  4125 -   "2113e1a93f5d2f1cba0377",
       
  4126 -   "47626057be8af9d92cef74",
       
  4127 -   "31fcd9e9b87aae6bf32f83",
       
  4128 -   "2cf0b3c6e55d4f6c794d8f",
       
  4129 -   "2f36ea2bf51461b1407878",
       
  4130 -   "2840ecdbeaf847ed4e56fd",
       
  4131 -   "4dba440f7f398ce0198b25",
       
  4132 -   "6ef7e0b470470f565c088f",
       
  4133 -   "58a41d74e16c1b1fb6cbf",
       
  4134 -   "68b020f430372f0b20817e",
       
  4135 -   "396792f2585d3e823623df",
       
  4136 -   "171772c43b172c6f59b4ee",
       
  4137 -   "35da7f1fc27e6edf7e2774",
       
  4138 -   "5fe19870cf156902f09ea2",
       
  4139 -   "4a99080981fd90fd8f202c",
       
  4140 -   "4fb7ac8e103e64af4c501b",
       
  4141 -   "32124e45d595b542218cca",
       
  4142 -   "4cbbf282cb8d5b492509da",
       
  4143 -   "26e8b6fae1b81184be307f",
       
  4144 -   "4019e2ed5f4f686e75a334",
       
  4145 -   "aebf119c49f1f5d4fa77",
       
  4146 -   "214de8b9e305b92a9ebc6a",
       
  4147 -   "155503fef8a8a42650f8de",
       
  4148 -   "4cfa062853643ca21aa8e4",
       
  4149 -   "210804240b673797c1da0b",
       
  4150 -   "4499b6e3311b7fe5b9c98e",
       
  4151 -   "904098cdbfd4389279e30",
       
  4152 -   "575c81fbd5408f583cec84",
       
  4153 -   "2cb3e5c4dae6b173319195",
       
  4154 -   "411254ef95bca10cdc61b9",
       
  4155 -   "14266a10ce4302dd32d262",
       
  4156 -   "14a25dabe8f8f9bd2745b5",
       
  4157 -   "7c2bf4a989b0889ab6c2ee",
       
  4158 -   "7bb42f21df6b474c926cab",
       
  4159 -   "4edae7063e31e196fbffc4",
       
  4160 -   "706df4fd50e1c42994aed3",
       
  4161 -   "312ecee1519b0617d31186",
       
  4162 -   "32f8a36cc1b46c25cdcc28",
       
  4163 -   "6cc9f90d012be002904668",
       
  4164 -   "69498de156a0aa10a4e2dc",
       
  4165 -   "6bf558bed09b770ac7b7db",
       
  4166 -   "45166035762ea541feeea1",
       
  4167 -   "2bcddd9fb0f98505c98aa9",
       
  4168 -   "56b71258283af76e7bcfab",
       
  4169 -   "3349dac2077bfdf6a12d86",
       
  4170 -   "39450177cdd3980c4efafa",
       
  4171 -   "4ebe9580f66ecfa62bdae4",
       
  4172 -   "2d2c322dac49b5fc4277a6",
       
  4173 -   "63a2efcfe030b5eb3fd526",
       
  4174 -   "2327087d544749f348c909",
       
  4175 -   "3d49c943bed92220933501",
       
  4176 -   "2501ea3eadb12569e01e7e",
       
  4177 -   "7c2fed1746d715eb95529",
       
  4178 -   "3adbdefe2bc4d894d3eea5",
       
  4179 -   "574f9294e066c8fdb761b7",
       
  4180 -   "69527863032c1ba7d7e238",
       
  4181 -   "78778c448d7d69eeff19c7",
       
  4182 -   "63a482d47b34384d6c0abf",
       
  4183 -   "37120883f03d674fbee3d7",
       
  4184 -   "46789b05c1e88afd58b2c6",
       
  4185 -   "62e55ea318373ea102e458",
       
  4186 -   "7bfe5c12baaa86c60d8117",
       
  4187 -   "6c065cf636d6bc65762095",
       
  4188 -   "45109475272b0ee96581b7",
       
  4189 -   "1b4e22a54398ec5712c2f5",
       
  4190 -   "c0bc8c55f3b95e521ebf8",
       
  4191 -   "614224558d52e5d4eb23b8",
       
  4192 -   "532cc2e0afe1d979c42a70",
       
  4193 -   "6e48887c0bee3ba8386f63",
       
  4194 -   "726d30610282ed39d8f203",
       
  4195 -   "53a902325a9087232d64a1",
       
  4196 -   "6e72d626e97997cb842159",
       
  4197 -   "1fa48382ab305e0404adc",
       
  4198 -   "3d3a2d2ef7d22dc8adb10e",
       
  4199 -   "59aab11c164124e5cdf604",
       
  4200 -   "7529b300b4b89c580a5f62",
       
  4201 -   "206a9c38358f291b01e407",
       
  4202 -   "47267802b4baf11a616d7b",
       
  4203 -   "1d50b663f8750fc777a8a9",
       
  4204 -   "4113025c4b26d50d501a53",
       
  4205 -   "21e6a33067365b1e718020",
       
  4206 -   "1e3f1f00ee5c87d8bcc6a5",
       
  4207 -   "37902c15fea70cc2588984",
       
  4208 -   "330554538efb3452d928d9",
       
  4209 -   "eb12a34ffd8e97426aebf",
       
  4210 -   "7f53a40fb6d59c55fc0a6a",
       
  4211 -   "2ccc62a5fe0c2d164b78ac",
       
  4212 -   "3a82f64175d5b3caec9c53",
       
  4213 -   "676d8d92a92b0706da21e1",
       
  4214 -   "5c91f707bee21c71c33c34",
       
  4215 -   "2ab6145578df975521753c",
       
  4216 -   "6e20ab59697e8bf608ee9d",
       
  4217 -   "96afde4db924db62eec7",
       
  4218 -   "2d980e097ecb2ab91b9b92",
       
  4219 -   "352a1b67a355f38121c462",
       
  4220 -   "7c3ad9d6ed54817d082b65",
       
  4221 -   "65e071aa89e8e9caa17f",
       
  4222 -   "4e4d1094ae9ce9f42b1d71",
       
  4223 -   "6d82429df8c04f3e8cbdea",
       
  4224 -   "201a5f031183f9e3136174",
       
  4225 -   "4b31d20ed3a1f68f117d30",
       
  4226 -   "309eb70bbb47b20185134f",
       
  4227 -   "bf1c05f166718be1c6836",
       
  4228 -   "29dc0e371f2a3ea6cf4d60",
       
  4229 -   "610a799f5f9443dd8f333",
       
  4230 -   "7ca0b74cff2de67657aaa1",
       
  4231 -   "31018337a926110b0a5b91",
       
  4232 -   "3c066553be4fa2a741db4d",
       
  4233 -   "194fc13ec819c9e2289cea",
       
  4234 -   "3c7d066200b6ae5892048a",
       
  4235 -   "768b4e15703c2b99a95ee7",
       
  4236 -   "66673b06f4474ab9ac84e3",
       
  4237 -   "75b60c74c3f4835e0ba3f1",
       
  4238 -   "282bde17894173789173e7",
       
  4239 -   "6b386c8a9795cf0b45e160",
       
  4240 -   "1984882a708094eb26643e",
       
  4241 -   "7e84a589b79843d0f09d89",
       
  4242 -   "7f30d40bb0193bcc3bff38",
       
  4243 -   "1e9e640158c2d5ef405818",
       
  4244 -   "46f7147d837df6469c39be",
       
  4245 -   "717a62d953937ab8d63ef4",
       
  4246 -   "29d27ddd5f46b0a514ec85",
       
  4247 -   "7f5d5abee4ea627ca346c",
       
  4248 -   "1ba30d22d8ca0e3412c0e7",
       
  4249 -   "1b892a6bc6d106036dc210",
       
  4250 -   "78208a8be2c33504df2573",
       
  4251 -   "2d92e146c92e5c2141114e",
       
  4252 -   "65ccc844f43d7740c3bb83",
       
  4253 -   "6cbec7ee27571943d99309",
       
  4254 -   "7ab8d7968452d732fc3362",
       
  4255 -   "51e871e33b066886db1e57",
       
  4256 -   "70cc62d0a35cccb85972ee",
       
  4257 -   "7db23dcfd5b48847b2da44",
       
  4258 -   "38863908f348e0ff24d2ea",
       
  4259 -   "5f7998cdc984bda089a530",
       
  4260 -   "593ba411e3481cff090a6e",
       
  4261 -   "30c01b8abdb9d98a7941dd",
       
  4262 -   "46861d4c2ab5de181f3e32",
       
  4263 -   "2f44e6e7eed452c1b02ade",
       
  4264 -   "31e4383d0d65d0adfc3084",
       
  4265 -   "44b51755bfc5410d6cfad6",
       
  4266 -   "2b89a454954d4c6b2e2120",
       
  4267 -   "7a1817cf8f21c4f863437a",
       
  4268 -   "1ece2489d9c16fd0d7c093",
       
  4269 -   "7fd049d0f5d16bca84fbf0",
       
  4270 -   "284cbec8937114a1728cdb",
       
  4271 -   "2a6ced30aaeaaa3957eaf",
       
  4272 -   "41ec16a5c725c7d32d3a8d",
       
  4273 -   "2c1cf6d476ed98aad97b90",
       
  4274 -   "715fb02624875de3ce495c",
       
  4275 -   "3d325eede75d0a573042e2",
       
  4276 -   "4550a8c9126d63e137546e",
       
  4277 -   "116c396589d81e0684d5a0",
       
  4278 -   "48ad93093caf03d61b0aa8",
       
  4279 -   "29bfa87365d098b3fe8377",
       
  4280 -   "3e14120ed24ebae50e64ef",
       
  4281 -   "1924697a3681efc60e8e70",
       
  4282 -   "1e1de465daadd9547d63fe",
       
  4283 -   "32c9397c9adff65d943965",
       
  4284 -   "41ff1be99bebe99b10f273",
       
  4285 -   "cb351e8f1a28278af3af8",
       
  4286 -   "5939fc19fad9c14c8917a9",
       
  4287 -   "634af4f8ff5eecb70f9b3b",
       
  4288 -   "14b126e3c0b0f4dae2ddfb",
       
  4289 -   "39bc9fe63b4ca1891dbe7f",
       
  4290 -   "3b77afb6ec85d92608bbc9",
       
  4291 -   "6308b8f5574126f70ec3cf",
       
  4292 -   "2928531ef291fb90d243e3",
       
  4293 -   "7d43897c9a717ea4ffaf53",
       
  4294 -   "542f3c6130072ffd145c0a",
       
  4295 -   "57b79cb347145bcbe43bcf",
       
  4296 -   "68855602ae559673b8a2dc",
       
  4297 -   "77f657453333dfbed3c7e5",
       
  4298 -   "1fb7c568bdffd12b767330",
       
  4299 -   "abbcfb2e4c3da6b090978",
       
  4300 -   "36224c16a9190272a21e14",
       
  4301 -   "47df2e03e1548a16e223be",
       
  4302 -   "f6c4daf384fb3d39aa985",
       
  4303 -   "6978fb86dcb4ccc82a3738",
       
  4304 -   "670c6449f82194e5367c1d",
       
  4305 -   "75a29d53450973ae07e5b6",
       
  4306 -   "1a0cc5d78d1da3759fd0fb",
       
  4307 -   "319945f43efa75c6d6fbd6",
       
  4308 -   "4a8154e2948099e7b7c4c5",
       
  4309 -   "2353c3f920ce7af530f96d",
       
  4310 -   "781973046ae51aa956a060",
       
  4311 -   "21789b3595bc366315af2",
       
  4312 -   "4d63e68650d056d4e2cca2",
       
  4313 -   "6eceb600a9b81fd3aa7175",
       
  4314 -   "2021e0329a909a39851fe3",
       
  4315 -   "45d43d697cb8503c85839a",
       
  4316 -   "7489fd5407cd56abfcfc49",
       
  4317 -   "57bcb68e1f52791794bf4b",
       
  4318 -   "71db6b9125d5ab5b3e7493",
       
  4319 -   "4e72dcffc8f26eb136b7c7",
       
  4320 -   "890072ab6d3eb608d30ea",
       
  4321 -   "2f1b9eb8c8ceec3aba8c3f",
       
  4322 -   "269ad3cfbd18bd255786fd",
       
  4323 -   "7e18b1dc04cb3af247aa31",
       
  4324 -   "43cebcc2f248fc1fcbd6b4",
       
  4325 -   "1b9995439565d095eb8a8c",
       
  4326 -   "66e2564796168c2d0a015a",
       
  4327 -   "13c9d1e81de8cbb64a1797",
       
  4328 -   "657128352843035ba5fee1",
       
  4329 -   "58c411222783451febdf82",
       
  4330 -   "2970c6e86dd017c5341ddc",
       
  4331 -   "7bb1913bf745fa526f18a8",
       
  4332 -   "4d0a046c7ec4f54117f367",
       
  4333 -   "36f24af02e5318171bea53",
       
  4334 -   "9cf05f6855d4068390948",
       
  4335 -   "1107ffccdffb2932659325",
       
  4336 -   "2ae1383e51812f870ebf41",
       
  4337 -   "3aa6d80b7b4477df65330a",
       
  4338 -   "6cc6a998d40d1bad211cd",
       
  4339 -   "7d58cee39bf1830f1b3ec0",
       
  4340 -   "dbd1bb9693e65c5eeef4a",
       
  4341 -   "4385d494a7bdb154810c4d",
       
  4342 -   "4a64cce2fc4633dbb63e09",
       
  4343 -   "3e9654e3940c0f541b93cd",
       
  4344 -   "1207aa2a4ea7c882b5e76f",
       
  4345 -   "43bc8bffd5b4fa12491d7c",
       
  4346 -   "7df66ef2eea696dbe6ad95",
       
  4347 -   "4e203019ba4b94cd691d60",
       
  4348 -   "61978b574cf8f6d53118d6",
       
  4349 -   "14816e04a6b799d1ce9e1e",
       
  4350 -   "5c699bfc1a98ced38d7c88",
       
  4351 -   "509dfa92ab81408672391b",
       
  4352 -   "2025bd13134bf0ca69b0f6",
       
  4353 -   "675948e6670907b03227ed",
       
  4354 -   "90bd6d6fef2e358a664bf",
       
  4355 -   "2f1dd3930a2948f2187f86",
       
  4356 -   "6336954989b8a716380f64",
       
  4357 -   "2655fc5da8cafdc10e8c6c",
       
  4358 -   "be26e79f27c2fffd5718b",
       
  4359 -   "7568ac37df7da28c47bab9",
       
  4360 -   "3128342c1cd21185c739db",
       
  4361 -   "1318f3d7743d8ee4ecfdb2",
       
  4362 -   "26102582959271955d45bb",
       
  4363 -   "1118a89d656497538996f2",
       
  4364 -   "4d74065738715d35d47743",
       
  4365 -   "2644cda468b716b53c99d1",
       
  4366 -   "2aec8efef6c41604b67a83",
       
  4367 -   "76393b1564fa2cd841480e",
       
  4368 -   "87eada956963224c06418",
       
  4369 -   "44f34a642236b1e7e4c8fe",
       
  4370 -   "5edc4541d1854504d071a",
       
  4371 -   "4a292844d7aa26520c09b1",
       
  4372 -   "1526a67a2f54717285cebc",
       
  4373 -   "7decc101d84d7378c8efe2",
       
  4374 -   "1f8889a7c0321f5279b37a",
       
  4375 -   "71d26320321cdb1dc925e0",
       
  4376 -   "b8385ec48f904d72393ba",
       
  4377 -   "4a2cef4e3606d1b9422334",
       
  4378 -   "db7255fca12f37c452ffa",
       
  4379 -   "4374a87512bdcb27925ebe",
       
  4380 -   "99539a5120bf06fd3edb8",
       
  4381 -   "4f7806a65676c896ee7db9",
       
  4382 -   "365cb247c96e7933341e76",
       
  4383 -   "7964fb4049b23d750b6f0e",
       
  4384 -   "48cd6ee15c4874d342b21f",
       
  4385 -   "221728332d3142e3346be",
       
  4386 -   "198d839621f761dde4f853",
       
  4387 -   "259839d29faddb791e3548",
       
  4388 -   "15324434e27844cc4fba51",
       
  4389 -   "60e351e7834b181d30a00c",
       
  4390 -   "6337453f9c180b8ddb37c4",
       
  4391 -   "608a29bc043b54adde90b0",
       
  4392 -   "4cb0c7462e90f28fa251d",
       
  4393 -   "b5f14620587f1e8ed5a45",
       
  4394 -   "3c994e655edabd5cfbe8b8",
       
  4395 -   "35ebfb3fd5a71979daee0c",
       
  4396 -   "2a1abd32897155b55014be",
       
  4397 -   "67d12b5d61741b8623f378",
       
  4398 -   "21469f9c49fb4d2fb54baa",
       
  4399 -   "728aa131a37012e184c2b6",
       
  4400 -   "6f085a8f46a66e79fe4f92",
       
  4401 -   "1a95aa2ba56c053acf7e56",
       
  4402 -   "1f1c7eef9d0f99e1e209db",
       
  4403 -   "5b57bc12988f27dd0ed418",
       
  4404 -   "5e9464fbce6027257d92c6",
       
  4405 -   "41be4715ccf6dde8b12086",
       
  4406 -   "25ff556cf1afefe2cd2ba9",
       
  4407 -   "59f67a0c66d5e9744004c6",
       
  4408 -   "23c20aae79c2ffaa75a36c",
       
  4409 -   "574f95a475dce62a3071ca",
       
  4410 -   "4a98326f880a44e2d6ea5e",
       
  4411 -   "39f7a72e1daced6411b1a6",
       
  4412 -   "37a4477749686070e7e049",
       
  4413 -   "51524048af5a6750b1955",
       
  4414 -   "43012f86bfa02bf0033ee9",
       
  4415 -   "4253e27061630b9343ddfd",
       
  4416 -   "520db901eb8309582e12a2",
       
  4417 -   "656f70349417ef562616d7",
       
  4418 -   "13cc5c5fa7afb2b7468106",
       
  4419 -   "1916345f1ad90cf48c6472",
       
  4420 -   "a80defe299bf7c4d81738",
       
  4421 -   "673a9bc1330de8c0b0abe1",
       
  4422 -   "226f7d490aa9d47314570",
       
  4423 -   "4762e175d924ca1dff7d06",
       
  4424 -   "79ae8d3a65221805ed59d3",
       
  4425 -   "65838019d10030d2edd34c",
       
  4426 -   "46d2651ce40dd1fdd11e69",
       
  4427 -   "4277911fa0e430960db091",
       
  4428 -   "5370ef9f2399e3c803b5a6",
       
  4429 -   "69110081782c350722756f",
       
  4430 -   "be2266f15dfa6e02e4a02",
       
  4431 -   "7c64411c354fca180b974e",
       
  4432 -   "3669075c083d3a0547d7ee",
       
  4433 -   "49212e86ec70f1b328e11a",
       
  4434 -   "70628248b6cda7311de5ca",
       
  4435 -   "5593dc730a3a85d6ce77d2",
       
  4436 -   "4a2416a8cf412f996e9654",
       
  4437 -   "56f01f51a5be66f649b1d6",
       
  4438 -   "1c7c6456335bb722881302",
       
  4439 -   "4f571e68d11ba0c201ec2c",
       
  4440 -   "2f615de4e96f8f9837947f",
       
  4441 -   "9cc0a7524feb44aafa989",
       
  4442 -   "13705ad9594243161047cf",
       
  4443 -   "358734094106c4c77371f8",
       
  4444 -   "48384f03b178aecb456dbb",
       
  4445 -   "336699d6c6f15f6ab914e2",
       
  4446 -   "5dd2532249188dbe3d2539",
       
  4447 -   "520d412f22645bfa3f3a33",
       
  4448 -   "45838fc0d9bd4e814df398",
       
  4449 -   "5d172643cb569d9b2ab357",
       
  4450 -   "34470b1eee2f871c42ba71",
       
  4451 -   "16103ea0d454ef686ebf4d",
       
  4452 -   "31e4aec6d42e52c762e301",
       
  4453 -   "217d231f2ea4bf28c97e44",
       
  4454 -   "15bef1b795296c7e8862d0",
       
  4455 -   "225461e731f47cbf2cbf5f",
       
  4456 -   "520f0b6932233966b7bdb1",
       
  4457 -   "6db3eec1da4e57eacd7cf4",
       
  4458 -   "5728f13fbf1367c5292a3a",
       
  4459 -   "7856c391e8828b90a94afe",
       
  4460 -   "6b36296c1bd668243e920e",
       
  4461 -   "2f8aa359ac5538f4834ed7",
       
  4462 -   "208dfefbc938eb8f166f28",
       
  4463 -   "6506edb4005521bcb61671",
       
  4464 -   "202377a9328fcb8f661a5d",
       
  4465 -   "6f4a829757301eb1143585",
       
  4466 -   "5baffc06fe51f5caa49a4c",
       
  4467 -   "1c24006c67392d350aebe9",
       
  4468 -   "a3d31a1daca53878fe695",
       
  4469 -   "6a3f78db4e25085a772f7a",
       
  4470 -   "423813f9eb92bfadf14d9a",
       
  4471 -   "60548a10984139e59f5d8a",
       
  4472 -   "ee2c219af9300476a7d41",
       
  4473 -   "6a4862d59f8198b4ea0fd5",
       
  4474 -   "76d72d56a09f253d257f0e",
       
  4475 -   "52492b4a4856d777ca0682",
       
  4476 -   "2dd44a6d1765874cf1dbb4",
       
  4477 -   "73040349f8459e94069012",
       
  4478 -   "6c290f053f3f46327ee8ec",
       
  4479 -   "6d575f1601945a3ca29eb8",
       
  4480 -   "3aac1aff3b6e14d31a91e7",
       
  4481 -   "4972dfe88d7e4fb02ffe72",
       
  4482 -   "5a86321f172c81fbf185ef",
       
  4483 -   "50b37142bd10ca63ad3866",
       
  4484 -   "50148cebf8644fa7375aa",
       
  4485 -   "322164812a5696cb2322b0",
       
  4486 -   "4303859a49916073987344",
       
  4487 -   "bac1f8bfa0e63045ec3ea",
       
  4488 -   "67b770c97867478cc69b37",
       
  4489 -   "2cd2d00d4262f35754bb13",
       
  4490 -   "678fb8bf7f6342c5764339",
       
  4491 -   "656e5b10b9da085176e0e4",
       
  4492 -   "59dbf0c177e94a664cfe3b",
       
  4493 -   "1f8b63c5fea99ffd6a5348",
       
  4494 -   "4debfa77d5d5f3fa106f86",
       
  4495 -   "147a0d7fc26817e7251ada",
       
  4496 -   "3f26224827d27901ba392a",
       
  4497 -   "24364b397921eedc03333e",
       
  4498 -   "361de61b4e6057d1cb2274",
       
  4499 -   "14b5583a83133add54d368",
       
  4500 -   "6ead11e0936e4bb4e855e1",
       
  4501 -   "30e484fb4ce5927a937373",
       
  4502 -   "571513666bf5e4e0b1c7c0",
       
  4503 -   "4be11f1cd60954626093b7",
       
  4504 -   "775bde6bde2d0aa4187fe7",
       
  4505 -   "5a1b57c203d09cc8a22696",
       
  4506 -   "5d5e844e1fd78c36c3341e",
       
  4507 -   "33b05c78a18798e4462d45",
       
  4508 -   "624f69e6f91d2b9574cb8",
       
  4509 -   "172e3a20b269ac416b7186",
       
  4510 -   "1f08599df3ce28d2e2a99",
       
  4511 -   "3d50a612150493864e2df9",
       
  4512 -   "42e82d8613957e0acb2b09",
       
  4513 -   "50e45902fe1a308ec88670",
       
  4514 -   "23db937264552bf6dc2858",
       
  4515 -   "6395a035a6a5e009dcf586",
       
  4516 -   "23931a4d64503bc81a5a33",
       
  4517 -   "f6074b1e17e08713a2a46",
       
  4518 -   "1e604eea4a6fb7804d131c",
       
  4519 -   "246e8276fd64f7af18402a",
       
  4520 -   "7fdefc35775213402acc91",
       
  4521 -   "31f0df7953457ce90524a8",
       
  4522 -   "731437b69ca76a93992caf",
       
  4523 -   "3559d5470cc8be88bbee52",
       
  4524 -   "2a6da3e3f6425cc4caf185",
       
  4525 -   "384ac895940651e4b3df31",
       
  4526 -   "20cfa0c6bfbdce5e399a70",
       
  4527 -   "72f290cf9ea470dcec1318",
       
  4528 -   "77ae05c9ad4bb1a82ee6f6",
       
  4529 -   "33f6606f82062475e2caf5",
       
  4530 -   "373211f704832f37df113f",
       
  4531 -   "c663e7994203d116af45d",
       
  4532 -   "25b286320c27c0f91c388",
       
  4533 -   "2219a8eabaec2cc4da44cf",
       
  4534 -   "3fa82c77c11ef3ce373a08",
       
  4535 -   "6c65a41601a28b4854db0b",
       
  4536 -   "398768a52710b109c92dcd",
       
  4537 -   "45e67b0777cb6facf28d74",
       
  4538 -   "21ac3ebe991cfe1bade37d",
       
  4539 -   "6db9060a2078f4de4b4e1b",
       
  4540 -   "1f6a141f6eb54cb95d54af",
       
  4541 -   "68c1092ddd7cea180b7a8a",
       
  4542 -   "e5d22d0ba9e3194e2337d",
       
  4543 -   "68075aa010a2a7afcb2078",
       
  4544 -   "577a2773ebc9e2412cb050",
       
  4545 -   "1634b76faeb97237505ef4",
       
  4546 -   "1aadb770481974ec7ba970",
       
  4547 -   "42a1f9791054781a203d9b",
       
  4548 -   "7a520385f587099a8da6a1",
       
  4549 -   "1a88cb781abea4a70cdfa7",
       
  4550 -   "655b44d3a92231714b14c8",
       
  4551 -   "651be8b59b15d629ab774a",
       
  4552 -   "550e4c9178e5dead2f815e",
       
  4553 -   "ee736adb9b9c1860d483b",
       
  4554 -   "ceff6274c7b15ae86dcc",
       
  4555 -   "214d49f3e2681b232cf62e",
       
  4556 -   "2330589e6c22439bef95d1",
       
  4557 -   "7e1ce3bec1e98dd35947ed",
       
  4558 -   "72118d192add3aa4c1e0b6",
       
  4559 -   "67daf6ba4dc4d74236df77",
       
  4560 -   "d16f53a28b7042d305524",
       
  4561 -   "6f52ff1c7f6dba719401b2",
       
  4562 -   "6ebb0dee9291bd90cd2215",
       
  4563 -   "78dfe864170ab14a408743",
       
  4564 -   "601b382825c1515525a19c",
       
  4565 -   "2e5ffe59b5dd3843fa4c17",
       
  4566 -   "2bf32012cc6354c709ad2",
       
  4567 -   "669f3588d7a4ca7ee3dd1f",
       
  4568 -   "3de21ce46f7c8be3bab3b9",
       
  4569 -   "432c0a15a9dc31696b79c7",
       
  4570 -   "349470b19ee7a8cf922b33",
       
  4571 -   "3c53d6131f8c41d5d7317b",
       
  4572 -   "5e83dc6dedd0679793feca",
       
  4573 -   "54c245a123767ef7f22e33",
       
  4574 -   "563e208513fb23ff9ca7d",
       
  4575 -   "b512df0270e6ffe2d4a9f",
       
  4576 -   "b0715d55fe0c1edd9613b",
       
  4577 -   "c0ecef4f88f5957d4b1b",
       
  4578 -   "c8806bb60205886d4ff9d",
       
  4579 -   "32c2902887e1700cd5dddb",
       
  4580 -   "49d6a78a88159326775c2e",
       
  4581 -   "56359d56dcb06ea3ab68ec",
       
  4582 -   "2d794034e6ae324ba7041c",
       
  4583 -   "64f201a4086e40b2a3a19d",
       
  4584 -   "7eaf34148ada80711a86fe",
       
  4585 -   "2142584bb5cff6c1e5011e",
       
  4586 -   "15060a6e69612092d45768",
       
  4587 -   "4de3353d33028c5f557394",
       
  4588 -   "70594464b46de9acc11f02",
       
  4589 -   "1fc064c4398ccf6bf7b1de",
       
  4590 -   "51cf9e84f5414c7907e79a",
       
  4591 -   "71be60f1312db2fcc7f045",
       
  4592 -   "5fa826fd6352f83c34bb5e",
       
  4593 -   "62baea1b89700a3953e872",
       
  4594 -   "4a266217d4534cc588119",
       
  4595 -   "7bc0acaa724475da5a8a83",
       
  4596 -   "3d9a1023138b0e9cbe7d70",
       
  4597 -   "388d8c3c958b6abcbf6aba",
       
  4598 -   "98079c36403a029b3f0bd",
       
  4599 -   "72716051b13a2c1876c8ef",
       
  4600 -   "515a0593d1e619118d226b",
       
  4601 -   "2a035934ba5fafe2ebaf47",
       
  4602 -   "316bc661e89aeb9e7e20a6",
       
  4603 -   "25330fc3e5df50eee77cd4",
       
  4604 -   "6c8071fad8933706efff6c",
       
  4605 -   "3669984e1ddcb753afb878",
       
  4606 -   "4781781ebc739ed9d4e35",
       
  4607 -   "3915c71f3b447b64ce4513",
       
  4608 -   "726dd56f61c4c5016201f9",
       
  4609 -   "7b8ff43621b7fb13c3edd2",
       
  4610 -   "2bfe7376e8ab62fafbff59",
       
  4611 -   "207cf80fa76e8708f88dc9",
       
  4612 -   "3a4a4ac73bb38c0c48aea2",
       
  4613 -   "52e6bde0fed2ecd82f7bf",
       
  4614 -   "523ee7b96bbc2b0977b4f",
       
  4615 -   "551b691726c66f9ec1f9e8",
       
  4616 -   "361fe28e640ec02ae49613",
       
  4617 -   "71e1aa5a9aacb38b66f605",
       
  4618 -   "d427f0f9d14ecf4c54fbd",
       
  4619 -   "629e9c894bbbebf06d3299",
       
  4620 -   "37f7d323d5bf332eed1bcd",
       
  4621 -   "7fcd5bd9328b9f06223a1a",
       
  4622 -   "744db8f7e25f69bc47f2cb",
       
  4623 -   "4b0d1ff6297b378945b906",
       
  4624 -   "7c1d3420db42a6ffd37cef",
       
  4625 -   "2f8592e02ef759cdd34c72",
       
  4626 -   "4dac1ce4b87e60431b8a4d",
       
  4627 -   "451e904c04882b739d233e",
       
  4628 -   "5bb2eece8c95a515d2e2ea",
       
  4629 -   "797d4c38129f52836fa5c7",
       
  4630 -   "5d29345f097e1dc041bc7f",
       
  4631 -   "6b25878a1ec102b9e883f1",
       
  4632 -   "610d07557d991d9db3dea7",
       
  4633 -   "5d3293ca54de6a3aa06b08",
       
  4634 -   "62e4e44df51bf11734aafc",
       
  4635 -   "1945686d70d9df98093dd1",
       
  4636 -   "2c16632a312edfedcc7f72",
       
  4637 -   "19675db116558d90bb4f6",
       
  4638 -   "620c14b60053b660420c4b",
       
  4639 -   "39a26bf8336439ba9968b4",
       
  4640 -   "376c7a8d0fa0abf4c0bb7c",
       
  4641 -   "7f2209419e3163fbb4cd8a",
       
  4642 -   "6aece787aae5251b57b3ae",
       
  4643 -   "6b380bf5d71fe523ad1e4d",
       
  4644 -   "2306ed04565a9cf9fa84c2",
       
  4645 -   "7e37a126be9507ba4c717f",
       
  4646 -   "67ae2ace35fde529154a8f",
       
  4647 -   "352d204330140b3786230b",
       
  4648 -   "6927c4b12865ac8f053dcb",
       
  4649 -   "7e61e3317d07a1009894dd",
       
  4650 -   "2768a7a783d9baa4e5cce3",
       
  4651 -   "260213253056e29f0ac6e3",
       
  4652 -   "61539cf7b388689e7a260a",
       
  4653 -   "3d9131aa5802e27a83eb61",
       
  4654 -   "5f87453deb48ed6c9a1afa",
       
  4655 -   "418b73330a3b4d1a80474f",
       
  4656 -   "5cd3a1cc8bf78e4c7e3747",
       
  4657 -   "784bdef1566f244d4ff44d",
       
  4658 -   "2c4bac0a0cf06ff50ff71e",
       
  4659 -   "3608208e4497b40a62b3a0",
       
  4660 -   "6e8b2732511303a48ef731",
       
  4661 -   "1ef9edb1f958cdf81fb9d8",
       
  4662 -   "4bdbd2765933e2b1d70563",
       
  4663 -   "b2687172956319218655e",
       
  4664 -   "4f787847feba11bfcbc764",
       
  4665 -   "49ede33966bc3f0dc8757c",
       
  4666 -   "12a2fa8c4d06a694b748c6",
       
  4667 -   "2146fc84389596cf6fa8ca",
       
  4668 -   "536bfe32ac8da07b253be0",
       
  4669 -   "773a63e6b7c9e3bec91272",
       
  4670 -   "6bc6acd592c0200b749e07",
       
  4671 -   "3d28e1c12f9c60e500dce7",
       
  4672 -   "5687a42dcd55b43227f657",
       
  4673 -   "36b36922114363ceb85a26",
       
  4674 -   "51e267e9a5a7684ebfd343",
       
  4675 -   "5b4aec35da23a27808974",
       
  4676 -   "2e684b7951a2526d838fd7",
       
  4677 -   "62b2e70d411eb11bf0a695",
       
  4678 -   "6473dbfbe4a3f63d08e3f2",
       
  4679 -   "661787ba011711628186b7",
       
  4680 -   "7234cde8ecc6673caf864a",
       
  4681 -   "1e39f05dac576881e6c295",
       
  4682 -   "420c1c0074adbe0616df4b",
       
  4683 -   "177f43e8d62e87c66b9da",
       
  4684 -   "10fafca3d5f71faff8f1a",
       
  4685 -   "43dcb4450a256b9a0eb673",
       
  4686 -   "460372cf36a22fb6b9641e",
       
  4687 -   "a4d6bd96f61637d730c9c",
       
  4688 -   "1754f51aa79c3b0803bf00",
       
  4689 -   "65fe3a22c7d35ad3f875e7",
       
  4690 -   "150c29ddf5483fb74be06",
       
  4691 -   "716991a2a17f536244885f",
       
  4692 -   "475131d01f3e6dc3b169fe",
       
  4693 -   "569bfe59efe21364bf57e7",
       
  4694 -   "75ac7a48082d5afa148e7a",
       
  4695 -   "63f5fe049f46d509d141d8",
       
  4696 -   "2b90f954efc9f58a07a363",
       
  4697 -   "39c167fbee27f65e96cc7e",
       
  4698 -   "1db83df0a168bac450e4f8",
       
  4699 -   "127118c35aaf80dac2a57",
       
  4700 -   "20601a054af9d51633fab1",
       
  4701 -   "728cea43531fbac95263a5",
       
  4702 -   "ff53eda132c9a3cfecc65",
       
  4703 -   "786d54b4d5ce74ddde20a8",
       
  4704 -   "1175d70c2c07855db37245",
       
  4705 -   "2cfcb08879a9aecacf316e",
       
  4706 -   "ecef39a1ef4b4d1e8c6dd",
       
  4707 -   "70357dabf2c34c8309c723",
       
  4708 -   "4db4f1a602cec485019670",
       
  4709 -   "735a03f218370f8bd85ee7",
       
  4710 -   "3c9ecb18a83b901f901704",
       
  4711 -   "4c7d0db8193430b75f41f5",
       
  4712 -   "28eb082844c0ed277d2520",
       
  4713 -   "a3cfbf8b779e15bf28c99",
       
  4714 -   "624d49c04a48d42d76c466",
       
  4715 -   "221bb5afe07669d916e136",
       
  4716 -   "358d745e0bc4be1c3f4586",
       
  4717 -   "1ce2a05bccecd36df96b64",
       
  4718 -   "362261ed7c97591714ea9c",
       
  4719 -   "20f6e36fbf07174b587397",
       
  4720 -   "12413ef53ba7fc6fb5cd35",
       
  4721 -   "3dd366ce71f1fed428c326",
       
  4722 -   "b66201b62ddf6d13c5534",
       
  4723 -   "3164747c95104338a78b5e",
       
  4724 -   "5ca6e41b81529e38a59f6d",
       
  4725 -   "3834a1b7acb0f05d9e53ca",
       
  4726 -   "3a2f442f3b3a9a2af00b28",
       
  4727 -   "270dae1c5ccafaa07ae8ff",
       
  4728 -   "71e916ff79204bdad49695",
       
  4729 -   "4d43f85ff03e3cd18ef302",
       
  4730 -   "2a2b13112979d27489208e",
       
  4731 -   "442eb4a36ab0287728c1d2",
       
  4732 -   "4dd985f2fef5c539fa6a96",
       
  4733 -   "522619b83283553c71de74",
       
  4734 -   "794294f26a938e1caf3c0",
       
  4735 -   "25d1c185377c3cd8e704a2",
       
  4736 -   "3e7db1002a9116a5e20032",
       
  4737 -   "720aa7a7bdeaa025a23a54",
       
  4738 -   "70f2550983dbddb8957b2d",
       
  4739 -   "57aede4ca861e5051b15ea",
       
  4740 -   "52f87910ef7e6dde1f16dc",
       
  4741 -   "79c75783449d733d93b4a7",
       
  4742 -   "5186a4a6ce8351b40466bb",
       
  4743 -   "1208a98ea1dd68a01d3ec8",
       
  4744 -   "3d66483aa6674adb6569c3",
       
  4745 -   "728caa6061cb6ff29e6b21",
       
  4746 -   "3ca90695aca0fd32b28871",
       
  4747 -   "18eecc5a940548e7c51e57",
       
  4748 -   "cb8a50376e8204b8b5ea9",
       
  4749 -   "7731327e4c6ae66c8e47a1",
       
  4750 -   "16f732c5fac8192629ddb6",
       
  4751 -   "13b16e69e645c1703bf7c2",
       
  4752 -   "789addf402241ff646d77d",
       
  4753 -   "169566a480e42dcc8863ac",
       
  4754 -   "5ca4bcb81d4d03018b177",
       
  4755 -   "8ea7f70a71ad46c0c260d",
       
  4756 -   "4a67b54dcc404423e6b631",
       
  4757 -   "7b609aae44a59cf088c570",
       
  4758 -   "59fdfd7775c9750e48d811",
       
  4759 -   "5738f30e5cb40b4ed83e60",
       
  4760 -   "78b5c76a3ee8c2ef071fa1",
       
  4761 -   "2ff21a8761b9bce5f34f74",
       
  4762 -   "71af54a2496a076b559a6a",
       
  4763 -   "11f2c34fc87060adca2837",
       
  4764 -   "4476f33d15e77d3ea6c712",
       
  4765 -   "1dc0a99973375f6c4a4583",
       
  4766 -   "5cee3684d600afc7804db0",
       
  4767 -   "20fe6d6e332154329f831c",
       
  4768 -   "1b9850e5f0f8fec4d967b8",
       
  4769 -   "6b5617e9152db554d999bc",
       
  4770 -   "144303d93b170584849f6c",
       
  4771 -   "8a006b686db9c86eb0756",
       
  4772 -   "1d9a776cbeec9f5dec9407",
       
  4773 -   "503f8d64438b7a99b8de08",
       
  4774 -   "7b084b907f4fc0301dbd5",
       
  4775 -   "dea3527d089eceb4c22e3",
       
  4776 -   "38a39ada5dac01b5c2adf0",
       
  4777 -   "4cfeaacecd47507ead712a",
       
  4778 -   "3ff99310762f37d685ca95",
       
  4779 -   "492683ece46681328f9912",
       
  4780 -   "27c1b7b41af947101d694d",
       
  4781 -   "39a95d47cf87d7d7d6bc8e",
       
  4782 -   "48b438b41e1bc7e58e6ef2",
       
  4783 -   "7b0ba619013363524f168a",
       
  4784 -   "557bc3fd4a1a6866c5d19c",
       
  4785 -   "46ef25878ebd3ab0b864d2",
       
  4786 -   "70044b2b283269e2d14166",
       
  4787 -   "47226da695602ab6e77894",
       
  4788 -   "142fa830b7ba88d08608e3",
       
  4789 -   "3019d2c9a4a70055fade00",
       
  4790 -   "6bd645b33c041537bb5186",
       
  4791 -   "3fc3e580d2ad754a34bc48",
       
  4792 -   "5e8a5f959be2a17534c9bb",
       
  4793 -   "5a2cdb29cc6790b45d1f04",
       
  4794 -   "1c28b93f693054a06fb391",
       
  4795 -   "242cca5b643a5f97a01a20",
       
  4796 -   "48a0fd415822566b2ecfbd",
       
  4797 -   "308ab3a2c4d7f4df4b6a31",
       
  4798 -   "4566810f52dbdc6e52d908",
       
  4799 -   "53cf166384d9f967e4ee4a",
       
  4800 -   "32a9d4d4f421cf83f9237a",
       
  4801 -   "7f4b55a70795b9d26512fa",
       
  4802 -   "7222af7c6bff611029c53a",
       
  4803 -   "718c4a4aea9ee0da236930",
       
  4804 -   "71b31c9be0276caacd1146",
       
  4805 -   "4d89a145aa9c4acc9cbc8c",
       
  4806 -   "26b549a59dc35ee5ea7b82",
       
  4807 -   "59308e5db85655d5ae0c4",
       
  4808 -   "2f63eb0fae8122aa717440",
       
  4809 -   "4346fce81f02878bbc28d6",
       
  4810 -   "3a0c64739838b20476e0bd",
       
  4811 -   "389f7a523536bc08e2c52e",
       
  4812 -   "1a756f67d7e3e663369a04",
       
  4813 -   "732b807455afe5538cf678",
       
  4814 -   "421e7c19466e0847ffaea1",
       
  4815 -   "75aa7d0184dbe8ff376045",
       
  4816 -   "178e61138a7396d55d224e",
       
  4817 -   "2a07033e306623cf4e37d",
       
  4818 -   "25d293607604db30df2e4e",
       
  4819 -   "1e6b9387cb8fb6494ace9",
       
  4820 -   "524a00dd634d2f57ac7c6e",
       
  4821 -   "106fdb273227296116f40a",
       
  4822 -   "47efddee37fa0ef6a72a47",
       
  4823 -   "2a17c7297a08a3839ca0e1",
       
  4824 -   "4c60164f9602341914167c",
       
  4825 -   "656c647508629462e9a821",
       
  4826 -   "54e5b2458bb84fd7d4433c",
       
  4827 -   "15a3be22e80e0f6f498608",
       
  4828 -   "152b3e507f8b7898991275",
       
  4829 -   "10cc6c74c4f9fcc9428f7f",
       
  4830 -   "7e185faaca849a7f135848",
       
  4831 -   "62ae26dfe2273af99c4830",
       
  4832 -   "7255e6805e164cf9788cce",
       
  4833 -   "49b4801e9a2a64a27691d2",
       
  4834 -   "3fd90efbd4f0a4e173f589",
       
  4835 -   "4afedaa595cb8c309d3fbf",
       
  4836 -   "c57749387141da5f8fd27",
       
  4837 -   "1ba28761d3577e14d38b38",
       
  4838 -   "10a61010d82426d21109af",
       
  4839 -   "4d23f5ec809ab5057c2705",
       
  4840 -   "31e9d0607a42f7e54a8c81",
       
  4841 -   "37107b083cae132372e4d4",
       
  4842 -   "16eaf321bf41ee635d6d46",
       
  4843 -   "44bf623ac807d4c96747f7",
       
  4844 -   "b720b9f07a6b1f41654e1",
       
  4845 -   "68705a826f80224f09c337",
       
  4846 -   "798b816a4dea5ab964c64a",
       
  4847 -   "2adb843a58d472c17edcb6",
       
  4848 -   "17c5a39deb46d102235506",
       
  4849 -   "70c9c69419338ba44d6b8e",
       
  4850 -   "858c45884b129dd66817a",
       
  4851 -   "7ffd3daf76b1e818134f24",
       
  4852 -   "5b509a0106f1d06627c353",
       
  4853 -   "4d6d3f3602597781bd2ea0",
       
  4854 -   "4fb33de912dd8d2f8b8081",
       
  4855 -   "2b7758dc0945a30687fabe",
       
  4856 -   "38271b1467ee062bfe15c1",
       
  4857 -   "1d41ed28d87d24620da24",
       
  4858 -   "5b80c6e1a5c4dcb3166335",
       
  4859 -   "560e1e8aafcab315236068",
       
  4860 -   "31204f9f1e25342bbe28db",
       
  4861 -   "35d63c19d36b85b5e96648",
       
  4862 -   "38aafca45b266dbeef6fc5",
       
  4863 -   "426b930b670412d271a091",
       
  4864 -   "59f2c50a64b0c2a3e77442",
       
  4865 -   "7cb4b7b324b314195807c8",
       
  4866 -   "4a1381ccb93c34dc44cab",
       
  4867 -   "14da57f8c43c94d5133d50",
       
  4868 -   "499a1abb2a1381278175e6",
       
  4869 -   "6334fc3ff70d17dd837781",
       
  4870 -   "6717c0177a36454aef446a",
       
  4871 -   "7bd177160999a650655c6e",
       
  4872 -   "2acc282877d9cac38e38c3",
       
  4873 -   "18b021fe09fa8bdc44e567",
       
  4874 -   "45638582a87d07b0339df2",
       
  4875 -   "664ad54353749f2ad36105",
       
  4876 -   "5c53790457f0f66baaae2f",
       
  4877 -   "1edb6eab35de11d4922150",
       
  4878 -   "38c3b4008c9d0442e7b602",
       
  4879 -   "76dcede51c5087d374b20d",
       
  4880 -   "1901320882ec0093fcda5d",
       
  4881 -   "68f5ab17da1cc5dda22c36",
       
  4882 -   "4e4199871aec7ec1f99895",
       
  4883 -   "68d4b88b77dfae0da7a5d",
       
  4884 -   "a4f6b861d9a460f5b65a6",
       
  4885 -   "f7cdb22a187815c33c5e0",
       
  4886 -   "7b398d970ad745817bcb61",
       
  4887 -   "2e061928a5c3ad9bd6d9be",
       
  4888 -   "5be7c40d96f7c97153eaba",
       
  4889 -   "21887a11425a371d17db86",
       
  4890 -   "2cc7417260782c0d2394d3",
       
  4891 -   "6b421c0667b336723fc0a1",
       
  4892 -   "1d78f3d7e887debfa04bf3",
       
  4893 -   "1d165ccd9ac1e4efca4a32",
       
  4894 -   "163690a8fd51b113410cc0",
       
  4895 -   "419d9a35dec3e5f421baef",
       
  4896 -   "215c7e9a1d796b37a56336",
       
  4897 -   "541a69af40655a83e366ca",
       
  4898 -   "3f98705d2cf6346bf00972",
       
  4899 -   "4ba668ebddeaa069043875",
       
  4900 -   "2aad9e8261535baeb20b71",
       
  4901 -   "6766e290c73bba54bcc710",
       
  4902 -   "65118f1b7c366a8bbffcb8",
       
  4903 -   "7d88a8aadc667bc60fcb2e",
       
  4904 -   "16d8ad198832545831c93f",
       
  4905 -   "567508a3d2a7b4fe3b395b",
       
  4906 -   "3282cc1545c9e77ce08abd",
       
  4907 -   "57d0cd94e03404b9cc57cb",
       
  4908 -   "14f23f2aade2de50fb350d",
       
  4909 -   "280bf57e6ab95037683d33",
       
  4910 -   "15db077682cfbf170ce259",
       
  4911 -   "2e1709b850c77f2d508334",
       
  4912 -   "34ddcae84938327a3cbc30",
       
  4913 -   "ba357a389bca1484d7e54",
       
  4914 -   "bc149e667cbe5a17ed77d",
       
  4915 -   "25032025485a4979b90394",
       
  4916 -   "467db4fe225847525ef33f",
       
  4917 -   "54112eabbed42ad31637c5",
       
  4918 -   "14b68001dbf2f798322812",
       
  4919 -   "7146b897c3d924725bd0cb",
       
  4920 -   "6a76e3eb445dada83ceb12",
       
  4921 -   "30abf45ef025352e681192",
       
  4922 -   "2f687a83227d2d20f3b227",
       
  4923 -   "186605e063004c7e4a9375",
       
  4924 -   "21ba4c5acd17d59fca0ed6",
       
  4925 -   "2cad73640590abfa319b6a",
       
  4926 -   "5db729c46c687ddd7690e6",
       
  4927 -   "73673685484b4f3492976d",
       
  4928 -   "282a80b8de04941c547168",
       
  4929 -   "4b53718060040e8179d82",
       
  4930 -   "5d50e00035655b4d4ddcb7",
       
  4931 -   "546ec9785ee72a2a72d886",
       
  4932 -   "4328d17f00529ea0fead97",
       
  4933 -   "71faf2ef0654e97e0c23fb",
       
  4934 -   "49374e550d8b335cb151d2",
       
  4935 -   "42772160e3ea402851c9c6",
       
  4936 -   "c1fd8fe80d24243e7b5eb",
       
  4937 -   "111d6b945ff69be530cfca",
       
  4938 -   "2dd21df4dbce295378bd06",
       
  4939 -   "3d8509040aa8739f034dac",
       
  4940 -   "68d439e82561e55cbf1eed",
       
  4941 -   "65a1f7025bafea5088145c",
       
  4942 -   "5f70485b00138272e9a41b",
       
  4943 -   "48ede8d4a9a88f7613388e",
       
  4944 -   "1de402b5c6118ec8861aad",
       
  4945 -   "50f371336a648ade74999b",
       
  4946 -   "17da7c01f870089371d6df",
       
  4947 -   "2f64ac4f819f8343111866",
       
  4948 -   "648ea8b083a9828f8af17f",
       
  4949 -   "28d6cf3e20845dc7283634",
       
  4950 -   "7dfd6cbe22024260a179ef",
       
  4951 -   "65ab167d8e02a8df26439e",
       
  4952 -   "79d07c6a6298d34020dfe7",
       
  4953 -   "55407685456c2cb8311d26",
       
  4954 -   "413278937e6487a988805d",
       
  4955 -   "168ebadbade1cbc44496d4",
       
  4956 -   "7d6f33ec4a123fa281cabb",
       
  4957 -   "59bc93698864451646a053",
       
  4958 -   "4d1a8b95ded29dc79fd401",
       
  4959 -   "21b466e3230d809af7aa6b",
       
  4960 -   "35fa1fca985387fb7fcd19",
       
  4961 -   "1a789636807476ba5bd789",
       
  4962 -   "7b115c7c405c6e4356bac1",
       
  4963 -   "378ef780c4d32c3f15b3c3",
       
  4964 -   "23dfbd70bcc040f36d4c8d",
       
  4965 -   "6a545ca829ed278f6ee7f4",
       
  4966 -   "c06cc01bfe2a9b427102e",
       
  4967 -   "126dab6c2bfc9b83475847",
       
  4968 -   "15bf0eb485af1135b0e453",
       
  4969 -   "3b929cf6fdabeb45375120",
       
  4970 -   "11c773ac555182d789142c",
       
  4971 -   "444a50dba1a2bf390bea1e",
       
  4972 -   "1976a9fa25af6d21cad47a",
       
  4973 -   "2f88b1c87d7d02f6c2614d",
       
  4974 -   "7fa540fb3906a29b513bed",
       
  4975 -   "2b23443976252ed21088d1",
       
  4976 -   "5d9383670de64bf15eb49b",
       
  4977 -   "1540f88099c93111d6c8cd",
       
  4978 -   "2c33c53227ef5693d69f36",
       
  4979 -   "2648a635c5981b8daca07d",
       
  4980 -   "7b71ed8d456ee35292c960",
       
  4981 -   "62c36a3627b9d2b3c18de1",
       
  4982 -   "3e985c35adacaa90f5715b",
       
  4983 -   "7401d0da6ddc33225bec4e",
       
  4984 -   "740f62900b9523de37b6b0",
       
  4985 -   "3aaa2c73e60edc333c904d",
       
  4986 -   "35accc5a1e3fb474285daa",
       
  4987 -   "1d85b86a2f3f20e2832ec7",
       
  4988 -   "6dddda58fac4e8afe0c9e7",
       
  4989 -   "2fd82a7276af1cf8b372ed",
       
  4990 -   "9377e0e5c8d0de1856f6c",
       
  4991 -   "75266a81bf7f77865e6f",
       
  4992 -   "1de1227159008ec9b59ac1",
       
  4993 -   "1b5200adee3adf189b056e",
       
  4994 -   "4d8b0cd0d3401fd04e351",
       
  4995 -   "438e5a19094bce43b5b5ae",
       
  4996 -   "6f339aa4d977875b1f1f80",
       
  4997 -   "297ac1b2d19eb1e6e32d87",
       
  4998 -   "638d0229863032ef249643",
       
  4999 -   "65c9be7a29bf45e5992a7e",
       
  5000 -   "7dcf3e6b7d3d02033c946d",
       
  5001 -   "6565aab9eaab16f7430411",
       
  5002 -   "374a0e75bc76f0adac7af5",
       
  5003 -   "8649a3995ad114bb4d72f",
       
  5004 -   "45f5960a9db06a62821bf0",
       
  5005 -   "36735381ceff20a76e32eb",
       
  5006 -   "1416e580fa8bcb421dc6ae",
       
  5007 -   "64f00973a0eb117b548182",
       
  5008 -   "7507998b275e3c9bd4e10e",
       
  5009 -   "305213c4b30a9e8be153ce",
       
  5010 -   "233860a2ed2d566e131431",
       
  5011 -   "235809998758cf7e4acb1c",
       
  5012 -   "2102dede4011c5cfefb7eb",
       
  5013 -   "79486109c44990eca52723",
       
  5014 -   "43b23b71c3202b31d91018",
       
  5015 -   "63606d420b8e8397875647",
       
  5016 -   "697396e6df9539532709dc",
       
  5017 -   "581eb843dc9919f85a6644",
       
  5018 -   "3b98704f287b0ee4e659aa",
       
  5019 -   "3886dff828cc76dd830466",
       
  5020 -   "1c9f86b8742e14b6caf79b",
       
  5021 -   "bafe681e7e52073b86d32",
       
  5022 -   "1a5853834033d093c63d55",
       
  5023 -   "736d05572fd4ef85eca2b1",
       
  5024 -   "61170002cc409ddc34946c",
       
  5025 -   "5fc3c4b7f7ad5deab829bf",
       
  5026 -   "4597c1546c899a3656689",
       
  5027 -   "6667dbaf666f92bd61da79",
       
  5028 -   "a2e07f9d73c5e3effd370",
       
  5029 -   "63942ffcaaae948e9056c4",
       
  5030 -   "6a7db7fb47d3a18b620d6",
       
  5031 -   "58b95d74eb4e654735bebc",
       
  5032 -   "78a4c0445f77f31209ed17",
       
  5033 -   "7203cc213679d179eabc35",
       
  5034 -   "22884c181cdc222cad8e5c",
       
  5035 -   "7f8bc7233e2784039454db",
       
  5036 -   "aa2cbd696160321682a6c",
       
  5037 -   "4356ada1ada2921353892",
       
  5038 -   "72f7dab0b2d2a35e62478a",
       
  5039 -   "32e5682bfa3fd95762512b",
       
  5040 -   "77da1b5a2124b6c9e11847",
       
  5041 -   "593c091517fff61973996a",
       
  5042 -   "264e4b26d39119bcdc0985",
       
  5043 -   "fa33fcce55fe6a32e0915",
       
  5044 -   "127c199cd032273073f003",
       
  5045 -   "169665894aa2b356779b61",
       
  5046 -   "9dfe57d1a9a3265476d14",
       
  5047 -   "364f70dfdbb439b78e5236",
       
  5048 -   "54fb5f18b6d001ef7be401",
       
  5049 -   "321e3fdbb0b890caadc570",
       
  5050 -   "64532524c99ecb3c365a41",
       
  5051 -   "aa480c5cc76379e0cd2de",
       
  5052 -   "6ac2b70efaf88fd42c4044",
       
  5053 -   "6810dd5945e01cd2c90841",
       
  5054 -   "10aab6ed7d1b631aa4b45b",
       
  5055 -   "19537a8ee281cd28d6388e",
       
  5056 -   "5ba2a8023e5bb50b06e03",
       
  5057 -   "646ce329dbe03b0b8312de",
       
  5058 -   "4f0024b5b5580d91de0338",
       
  5059 -   "2b4b238bbabe3c70748eff",
       
  5060 -   "3bec30574a99903f587887",
       
  5061 -   "24e71c2d01e956269446cd",
       
  5062 -   "68c4a816c641b5b1090781",
       
  5063 -   "6fd170c2ab312a1f05d814",
       
  5064 -   "64d8389dc8d1b8910fc0a",
       
  5065 -   "4807e0d9a38d358d8e14c5",
       
  5066 -   "14ee39af97cd5a57b0e17c",
       
  5067 -   "24974593a8d59a89588659",
       
  5068 -   "59a7f220e101601c1d1b21",
       
  5069 -   "43fea0cf26a3e256438525",
       
  5070 -   "2b3c80a17ef583b6205fd4",
       
  5071 -   "44741cea6d95eb07e7f01d",
       
  5072 -   "2ccb45ece6ec9abb9396c7",
       
  5073 -   "5ba0eb3a703d0e42cf4094",
       
  5074 -   "400f76e25d392f347d4911",
       
  5075 -   "419e79b02e607a42e6e091",
       
  5076 -   "36c0bf9a937fe6ca772d0d",
       
  5077 -   "2244b09bebeaafafb0c481",
       
  5078 -   "1501743c447af65014399b",
       
  5079 -   "2791e42c7f90ab8d4e7fbc",
       
  5080 -   "150365cfcc4a012a673c13",
       
  5081 -   "7869636f37e63a4ffff7cd",
       
  5082 -   "211dcdb529a6bab73ad8a6",
       
  5083 -   "239309f551f303d0037140",
       
  5084 -   "3f1e6a84c6b836f245c178",
       
  5085 -   "27b94ffb61590cd0bcd89f",
       
  5086 -   "61ade8e7a0bcc40ee4c2a8",
       
  5087 -   "750f475708a1369e3fcc26",
       
  5088 -   "30bed73f7a94de9252a38c",
       
  5089 -   "3e26ac2b23b8b913845e11",
       
  5090 -   "42aa10dc273607be680d72",
       
  5091 -   "65a0cb312051f321a95f5d",
       
  5092 -   "1ae82d51e4845bef8c5d14",
       
  5093 -   "37c6007c4a0d223bec9e13",
       
  5094 -   "4f140e806dac75cc67fa3c",
       
  5095 -   "78acf4423afa2cfe1a6fc1",
       
  5096 -   "3915d17a2935e69936525d",
       
  5097 -   "7fdd8bd273e4a717226cc",
       
  5098 -   "15da282cec1859a9591ab9",
       
  5099 -   "75d3c5c33e5a2023adfd4a",
       
  5100 -   "51890cd139740ee3c35339",
       
  5101 -   "2b514798a553e5bdcd8ec1",
       
  5102 -   "722f9dc13384479d1c4455",
       
  5103 -   "1e2bd3f41ae5c299bb720f",
       
  5104 -   "5ab5c85d4bf835440ff962",
       
  5105 -   "178cb915d7350e37948956",
       
  5106 -   "184e317201ff0ac25eb6e6",
       
  5107 -   "37755ea728b820f0ab2bdf",
       
  5108 -   "5e147628ce9e9a9493f495",
       
  5109 -   "79790e81fd0d2b63f9d1b9",
       
  5110 -   "7252d249ce8cd4fb010950",
       
  5111 -   "d165a455f92b5083e0627",
       
  5112 -   "6354a865e088a0488f2701",
       
  5113 -   "43c2ec8afca87567ee9294",
       
  5114 -   "55744f373c8b8520d62370",
       
  5115 -   "63069f756c8115e5fc4c52",
       
  5116 -   "3f5c0a52d2b564cc250982",
       
  5117 -   "6b828169b3ba13bbcddb05",
       
  5118 -   "46a78cc83c010019e8b2b",
       
  5119 -   "27c6ad85e824da21b1cf9d",
       
  5120 -   "6e9f47f009d809f84a56da",
       
  5121 -   "255358696f5e9ddbfa467c",
       
  5122 -   "738abcc274fbdc4ab5efd7",
       
  5123 -   "70b9ea82f6a6c02939510c",
       
  5124 -   "5f24e71937dd097c0e8678",
       
  5125 -   "41e1bc8a63d042ba714c97",
       
  5126 -   "6da26efc24e2d57c26c090",
       
  5127 -   "575d4696bb0e4edef99446",
       
  5128 -   "4c028ddef259fa2c7d4868",
       
  5129 -   "33525d5afa91fda7d5fea5",
       
  5130 -   "49a3641c16382337f3c777",
       
  5131 -   "760b4f231686ca10ea6ea9",
       
  5132 -   "547264d2566596f18bbb5a",
       
  5133 -   "703a6cf857e651748dc09a",
       
  5134 -   "298200a0909b55e97005f2",
       
  5135 -   "5ccbc128a5721a5dd853eb",
       
  5136 -   "33d5a814c00e980600811f",
       
  5137 -   "5d66f0d9dde7339dbcd24",
       
  5138 -   "5ef30e941639d08bff19c4",
       
  5139 -   "363a65fc59f4a8184d3d78",
       
  5140 -   "366546b3844bf45b7527a5",
       
  5141 -   "18bc8168956ccd63ac68a1",
       
  5142 -   "83bfa3efcf5b970ad41cd",
       
  5143 -   "4bc9c371d07d4a025a739b",
       
  5144 -   "4636e2935765905adcc41b",
       
  5145 -   "4d08f00a99d95d0043cc4",
       
  5146 -   "3e94b32e50da81bb5afc03",
       
  5147 -   "48a13c03c03191471f1164",
       
  5148 -   "3018be3223f82c7f0c9ebe",
       
  5149 -   "185254fa056de9af1a6bd2",
       
  5150 -   "1fe069b8c57a9fbe5f6009",
       
  5151 -   "6c03f094dfe48c9743be89",
       
  5152 -   "1086eae159340e441fa0a4",
       
  5153 -   "222ea07afe042cf765ce5f",
       
  5154 -   "7754a6a5fe6be54c00f4c8",
       
  5155 -   "152dc9fc63d3c1eb6c335f",
       
  5156 -   "3f3aeb0a1df198d9c95768",
       
  5157 -   "7ef4c5361ca08ac1cb6216",
       
  5158 -   "527e969f4f6eefe6289ece",
       
  5159 -   "6b105359a1a68d94862411",
       
  5160 -   "2674d42d16e97493518d2",
       
  5161 -   "369c62fe5aafda2a550912",
       
  5162 -   "51eb860c87e1e5b70bb623",
       
  5163 -   "29f3402339c3128a1e2c1",
       
  5164 -   "413f256a64feb56e242e90",
       
  5165 -   "11ea8c21342ce42ebbf9ec",
       
  5166 -   "5517c01ca3bd4da9aef0ad",
       
  5167 -   "5d2972b12e50e727a2721d",
       
  5168 -   "4eac7fa0d6b168c3bec4e3",
       
  5169 -   "5cd8f5f9eb6806f67db613",
       
  5170 -   "412ae12837a29724832877",
       
  5171 -   "770b83b55e13465063e5a",
       
  5172 -   "76201f5e0110544f41d9be",
       
  5173 -   "c8918a059fa77676f0587",
       
  5174 -   "287593985c21589f72c821",
       
  5175 -   "6b923e02dfb1da62f37204",
       
  5176 -   "2600c04d980b2307982b22",
       
  5177 -   "25f7e1ac0d4153b6365c1c",
       
  5178 -   "484281d930b8ee32f366f0",
       
  5179 -   "3827eb26c007235c46c676",
       
  5180 -   "6cd2d14ecc5fc7c2c1b52f",
       
  5181 -   "4f0841f63a0c64aad5232e",
       
  5182 -   "77c4b593ec648025df03f6",
       
  5183 -   "81dc886feeee4945edceb",
       
  5184 -   "522afb743f67b3ca56b20",
       
  5185 -   "5505b22d0ddba48ae2020b",
       
  5186 -   "2f3b362f4b742eb82f8a34",
       
  5187 -   "1c7831e5dec267ccb26741",
       
  5188 -   "2ddac7db8be22e88618b58",
       
  5189 -   "4e6a2eb425fbd18fb02cb2",
       
  5190 -   "147b65e0e829ca30fd88c2",
       
  5191 -   "36304be3f0777300703af",
       
  5192 -   "215dcfa076749277897e0",
       
  5193 -   "3c2f54ef99be42fe30d32d",
       
  5194 -   "62a01fb38e5c88098fbcc9",
       
  5195 -   "5f84ae1685459ae7e24bf2",
       
  5196 -   "3ecd8205beb790946eaa8f",
       
  5197 -   "5ba344fee845769c2c86d8",
       
  5198 -   "36a92b305c21171dd5a616",
       
  5199 -   "3650c22d9c1072238cfcfe",
       
  5200 -   "9225712405a5bd9ade58d",
       
  5201 -   "594ae94ad86b9a719f54a7",
       
  5202 -   "59f0f5465ff1e16be9bfb2",
       
  5203 -   "4c6a0f6de7e50ac450c0c3",
       
  5204 -   "685afb7cdd699d5a8f020e",
       
  5205 -   "4f1c406e243fb2af67cd42",
       
  5206 -   "2dac9d433ff98cf24eae81",
       
  5207 -   "1167717f2d3d6238b3d21d",
       
  5208 -   "381012de4c9a82f9ef1d72",
       
  5209 -   "7047a4510b8c2107737ece",
       
  5210 -   "185033e62f44aa85a7799b",
       
  5211 -   "41e135572f9ce788481248",
       
  5212 -   "4759751a101953dd340d89",
       
  5213 -   "34d59de432c0dbb24ae55b",
       
  5214 -   "5bcd4418d37c976110b37c",
       
  5215 -   "6545cb112ea4be72bc80f7",
       
  5216 -   "52d104741cfa5fa49fa55e",
       
  5217 -   "7322c20a545b3845b54b34",
       
  5218 -   "783c78a9025283e7188a8b",
       
  5219 -   "3c81a9658bae42644c317a",
       
  5220 -   "1eb56fdccfc12b22db2048",
       
  5221 -   "3c3f770d148b4692e25b59",
       
  5222 -   "4f75e255d88657b2ba4755",
       
  5223 -   "260d6ba9444df4b85dfb92",
       
  5224 -   "34f0f61d6d8d062b6b9d9b",
       
  5225 -   "74fc1bfd19b3cbc9867bff",
       
  5226 -   "3f0d18b1efb7248950daeb",
       
  5227 -   "65b7b50446c767e6fa72fe",
       
  5228 -   "1124cfa0e070cf6fe3c638",
       
  5229 -   "2d127e6ce6bd0f1872b1",
       
  5230 -   "3fdb99cce8884ed923271f",
       
  5231 -   "2d2a15867cf9361defac4f",
       
  5232 -   "9a39acfeb3a1b4c2bc79c",
       
  5233 -   "7adeede80a05e40854e6e",
       
  5234 -   "4431184365a358de692057",
       
  5235 -   "1e4fdc54209c2229d7ffcb",
       
  5236 -   "50cfa48cfb994ab2b77aa3",
       
  5237 -   "1f4b918e0e0d47c89aa2d8",
       
  5238 -   "78ba33e419cbc7f177437f",
       
  5239 -   "5f7482c17a568566c785c9",
       
  5240 -   "6fff35974d5f0b86faa46a",
       
  5241 -   "5106bba99e6268d7bef3e4",
       
  5242 -   "67cb80a136db30b9d60d6f",
       
  5243 -   "594a3b6273b1ed2b542eaa",
       
  5244 -   "6a1d554c48496d8d543eac",
       
  5245 -   "9d8d18a72607c311d6f76",
       
  5246 -   "7047889925ed18a885358a",
       
  5247 -   "283508a2ed137e839b2207",
       
  5248 -   "65fb4589487aa5a16bd767",
       
  5249 -   "1a14d5b10cbcbb9ad3216",
       
  5250 -   "4a469bacdcaf5434109262",
       
  5251 -   "40ebb7bac65bd815945e49",
       
  5252 -   "7b2ef1bbf74c4989ed5ddc",
       
  5253 -   "5ca51c82df4def8b1588cf",
       
  5254 -   "3b22ed42f28069f29c280b",
       
  5255 -   "669e7a28f7a7c30460a80a",
       
  5256 -   "2071c913edfd4fd6daa6bc",
       
  5257 -   "3828df7e9ab6753fb83dc1",
       
  5258 -   "4cd15a66ba5a2f18c8823c",
       
  5259 -   "1ac96b01993da8677b2fd7",
       
  5260 -   "4f9634be1ae125361bd4c2",
       
  5261 -   "681fcdfe60f23e3be083f6",
       
  5262 -   "2d5bb2b553d4ed5bc0795d",
       
  5263 -   "4c4424602626193266d943",
       
  5264 -   "2df30214a49a31c21380ef",
       
  5265 -   "48b920d23514d06befaf52",
       
  5266 -   "4b4c7f0a822537ff62cdcd",
       
  5267 -   "ee9d6b69f13ec8f385e6f",
       
  5268 -   "793fd256b009d961487499",
       
  5269 -   "2d70f946f2915679b314e6",
       
  5270 -   "1bc4e87c1100a2d26aeff3",
       
  5271 -   "6b1cbac9279eaab9b503c4",
       
  5272 -   "5725842b7246179896a39d",
       
  5273 -   "4dcc6ee20983f0020ad69",
       
  5274 -   "57dbda5c8b230a87030357",
       
  5275 -   "78c437adc3b6ce946cdd",
       
  5276 -   "20ea7b335b7621642b29a6",
       
  5277 -   "179d4134709978c75bf6d2",
       
  5278 -   "36a3336f56c91232544e8c",
       
  5279 -   "e243f28e043030ee3a43f",
       
  5280 -   "2d678e77df571d7ac4859d",
       
  5281 -   "5566a844e8b1c572f69612",
       
  5282 -   "27244290f774a00786ca95",
       
  5283 -   "1812bd60b720f8920fe80d",
       
  5284 -   "7f45c48d28fd31ceeb3fd7",
       
  5285 -   "1bea5758655f1400515db4",
       
  5286 -   "249b7a4d080be0f548cabd",
       
  5287 -   "71215d6fd5e662d930a424",
       
  5288 -   "7684536a92d49a5af59f1a",
       
  5289 -   "74d39a89d87bdaa449438c",
       
  5290 -   "3e4e77e268fb6e7602e96c",
       
  5291 -   "46c6313b3914ecd376b959",
       
  5292 -   "31b9dd76b9ed5f88dd4609",
       
  5293 -   "46734211b970f8a6448a60",
       
  5294 -   "7a6d5b1013830761b58026",
       
  5295 -   "6157a651f2640a73f1f90",
       
  5296 -   "38793daa7aa086d5e70798",
       
  5297 -   "58d7de0f8254a81b5d0f5a",
       
  5298 -   "5a1fe9fffdaa20f4ab7eae",
       
  5299 -   "7e8fbf173741aea1b95c93",
       
  5300 -   "4bee7e482b290b1d3869be",
       
  5301 -   "c075fe6224a62c1010fb8",
       
  5302 -   "7340d7daed67bcc5cd4391",
       
  5303 -   "2e12097225e5783b545083",
       
  5304 -   "518711fe03b241cfb95160",
       
  5305 -   "4956721f6a2ced1fc736fe",
       
  5306 -   "636b15a893c301ff23f5f5",
       
  5307 -   "5696a96208101739ec4ba0",
       
  5308 -   "54fc920cc0125e53a92499",
       
  5309 -   "7c2e242ec2b95580a9b3bf",
       
  5310 -   "4d0e82bdf34ff4cb3a603e",
       
  5311 -   "786571b85b2768309c8ed2",
       
  5312 -   "1418facce22bf24a5e6a51",
       
  5313 -   "681a88fafe4e6f0620910",
       
  5314 -   "5e263af53ea065e044720d",
       
  5315 -   "1c614cf9a9d87d69154c21",
       
  5316 -   "346f2a2b086e1b35095d7e",
       
  5317 -   "4b6ed31d0715952774511",
       
  5318 -   "67a3f20bb5e980364816b9",
       
  5319 -   "339dd42a42d94342bf8399",
       
  5320 -   "3b55da90ad9a162be1756",
       
  5321 -   "1c07c875b3a9cdedf7611d",
       
  5322 -   "33567e972c90754c86a5ff",
       
  5323 -   "3ee5a2cc90e335867f0ce8",
       
  5324 -   "4b3a8d22fdb2c83abba9b9",
       
  5325 -   "5b6b96beb19fb0dbada937",
       
  5326 -   "5169af1cd74986160450d0",
       
  5327 -   "724f8bcd40bfc9f1ca0c68",
       
  5328 -   "51603bcc8667777e664f9d",
       
  5329 -   "78aded63d2f85ac948c449",
       
  5330 -   "73862de61086c1fd5e0678",
       
  5331 -   "5efbbe073364ace07f02c7",
       
  5332 -   "144a6c20d0a8d5dce2b12b",
       
  5333 -   "2aead0dac004faa8ab67e4",
       
  5334 -   "3f8cb5eb229acba822b48d",
       
  5335 -   "34c50fc58872b7325366",
       
  5336 -   "3c1fd5d9a6223b2ce7b02a",
       
  5337 -   "554f5cfd133bac2188241d",
       
  5338 -   "559752d946b02da4c2f657",
       
  5339 -   "3950591be73642bfa23264",
       
  5340 -   "2e8edc0b6dfcfb2392ce87",
       
  5341 -   "4c3c570182916f32a6f96c",
       
  5342 -   "65cf5014ab215afd17cef7",
       
  5343 -   "54ad7fa69dfd0b4c19f7ed",
       
  5344 -   "f4af5a6143d8f44e48afc",
       
  5345 -   "1a08e273719d3411178252",
       
  5346 -   "668b9e16f3948f582a5b94",
       
  5347 -   "3fac097802d8f5fb376d58",
       
  5348 -   "3c2dca32abbdc029f4a212",
       
  5349 -   "753f0795048443573283b2",
       
  5350 -   "622b540293b1275c5a9446",
       
  5351 -   "5a2c8ca58cb488822e9f49",
       
  5352 -   "295932427e10aface718fb",
       
  5353 -   "43e36b6d5a937387b49f6c",
       
  5354 -   "4e1162d634d0d5811a2441",
       
  5355 -   "19915afea85d27cf8df109",
       
  5356 -   "7eb8dfe838ec5ef9d3ee21",
       
  5357 -   "2c18c59d95a21961c42f21",
       
  5358 -   "7233f4136f3ace41bedb12",
       
  5359 -   "142c59f31fc82fb58a7dd5",
       
  5360 -   "452816c1b54aa2bfddcc17",
       
  5361 -   "6f24ffc802a08273be511b",
       
  5362 -   "32d68fc9b8a9c17b315382",
       
  5363 -   "5aaabbd40fa78dd417edf5",
       
  5364 -   "51d8b3e6fa0afa106abc40",
       
  5365 -   "394faf6069c716fcf8a76c",
       
  5366 -   "3f7d2ee6cb32c6bbeee194",
       
  5367 -   "4354f51efc9392bcd6e51d",
       
  5368 -   "5e73615c65ae9e74eb1ef3",
       
  5369 -   "761e42e1c908c2f09e096a",
       
  5370 -   "25df9f831698604e15991c",
       
  5371 -   "351db0dca5d74808f36d33",
       
  5372 -   "aef2488954588af921ab8",
       
  5373 -   "296a247b4b36d5c2a1884f",
       
  5374 -   "b1fe15d9ac88348f41a87",
       
  5375 -   "97342eefdbc78b9689120",
       
  5376 -   "1e47a4330f0bce93db13fd",
       
  5377 -   "7511506751237c1959933c",
       
  5378 -   "31e8a39712fb3a7a11f909",
       
  5379 -   "6116bef6a79fb2fc15f0e2",
       
  5380 -   "6d849a39e47370e473a913",
       
  5381 -   "42a81f5e10b5435180e643",
       
  5382 -   "17715e6c96cbe096c4f9c2",
       
  5383 -   "606e14eaa7d60eb7ea925a",
       
  5384 -   "30cb89652c8629b5e0dcc3",
       
  5385 -   "2625096534f2cf10d83a26",
       
  5386 -   "61036fcac29b84e5ca02ad",
       
  5387 -   "4669a41d4e444c1284d024",
       
  5388 -   "2b81c6e67e55aeb6e93a",
       
  5389 -   "23564d97f447b0091e74ce",
       
  5390 -   "494807a247f7ffab73a644",
       
  5391 -   "692eeb4ff69b42372517d7",
       
  5392 -   "3eda92314bf1d09cb5b08",
       
  5393 -   "24b22771f303ef742b8ce1",
       
  5394 -   "5c616b0d1a7bc591e70e46",
       
  5395 -   "4aad58987821ba8f33d96e",
       
  5396 -   "10d0aa100248920b9cab77",
       
  5397 -   "1ead89a48b89a75ebaa7d8",
       
  5398 -   "7fe887d8c5fb53af79cbd6",
       
  5399 -   "ab8e1dd4d27b02d09fe48",
       
  5400 -   "2294095a6b77aaa416cbd7",
       
  5401 -   "69fecb55ba6da700789d7c",
       
  5402 -   "681750fd18618072db2068",
       
  5403 -   "30a18088f5b2af396bbfd9",
       
  5404 -   "2e03d3c0794703b9605de0",
       
  5405 -   "f26a2dc235ace7b34f4b6",
       
  5406 -   "356497a9675898bccf4e79",
       
  5407 -   "3286bf159405584d85567c",
       
  5408 -   "464550e0adf269403f3e22",
       
  5409 -   "3f603c7b410b4c2db2c8e2",
       
  5410 -   "445381f98a1f5669880827",
       
  5411 -   "23eabb9cc5f4086c74bc31",
       
  5412 -   "4628eb872cffa1868b96ee",
       
  5413 -   "6ac77b7cb23565518aa2d4",
       
  5414 -   "1cfd8f0d12bcce21589c11",
       
  5415 -   "39cdc5e6675ab081ffe60b",
       
  5416 -   "1e378fb7157cdaa6fc3a50",
       
  5417 -   "669f4c5ec3934953500b78",
       
  5418 -   "46a91d898168488fd5ac51",
       
  5419 -   "64add9cabf8efdd5f7b57b",
       
  5420 -   "45813314ca1d165bcf242c",
       
  5421 -   "6f37e3a85128974cdfaa69",
       
  5422 -   "7f42b66317d26c3f938805",
       
  5423 -   "181ee17c34ab8aea52c900",
       
  5424 -   "68e8a818d524954278bbf6",
       
  5425 -   "7a6ffa939b86786a779a44",
       
  5426 -   "31d809b078cdefaaf45266",
       
  5427 -   "7f216769148f0e997c7805",
       
  5428 -   "3a82369bb1a4da519bbd70",
       
  5429 -   "25920b5c96127e9d8ab05e",
       
  5430 -   "29702fc1f57fddc3369967",
       
  5431 -   "616dbeafd6aa623c1a7d7e",
       
  5432 -   "634d2540fd670a82f219a5",
       
  5433 -   "3d9abe3ec82d9602d9dd6b",
       
  5434 -   "665bc65420c0b0a151c97e",
       
  5435 -   "37d50d7838efaf03049cd7",
       
  5436 -   "385f7f48a7be6b46d108ef",
       
  5437 -   "5f2bc99aad2f27cdee05f4",
       
  5438 -   "3b6b43619a3730d5995ae4",
       
  5439 -   "5eb76c6301d8a849a1903f",
       
  5440 -   "38910d873da8dfd237e8f0",
       
  5441 -   "41558cae58d4f9a9001b87",
       
  5442 -   "58fc1b58696f8c22cfe344",
       
  5443 -   "64520e4823f48c1f48749a",
       
  5444 -   "3827b84269040363e5e02d",
       
  5445 -   "6c9c81ea487986867245b8",
       
  5446 -   "217bd444ac8e9808b3ae5a",
       
  5447 -   "44dd70b9323f17568e4ba3",
       
  5448 -   "50226b4aa22a0465ceea0c",
       
  5449 -   "6335fb7682400180e10d15",
       
  5450 -   "1857324131e535b1b2458f",
       
  5451 -   "3845bd22f959dda9197376",
       
  5452 -   "4d7797e0b2f77a7ffee785",
       
  5453 -   "16bed27a9c005817ccf111",
       
  5454 -   "5bf1d1c71be0c49ad75d9a",
       
  5455 -   "6d16d10feb1728044f2dc3",
       
  5456 -   "3abbf8af06f889daf59c4d",
       
  5457 -   "45769a307f5593bbf72056",
       
  5458 -   "2a640efe463008db4ed634",
       
  5459 -   "57f0f7ecb2d7dad43748ee",
       
  5460 -   "8000000000000000080000",
       
  5461 -   "7aa96a9fbe718c006a48f8",
       
  5462 -   "24086a392ab75e649d3cc1",
       
  5463 -   "9f20b6fedc099ec575691",
       
  5464 -   "313d62eb5f1104de5421a",
       
  5465 -   "438f5c0f163a4dfa04e5ce",
       
  5466 -   "63137369b8d47b6c9c43df",
       
  5467 -   "4ceae8c6ea35dc274647ed",
       
  5468 -   "465f3b1e25cde0e446d90d",
       
  5469 -   "9f0c9a93eecf4de349628",
       
  5470 -   "3addce3c43218484acf509",
       
  5471 -   "101d83882a81d0147b4342",
       
  5472 -   "4585b77fea18a0113ff609",
       
  5473 -   "73e92ea015629e3728aee0",
       
  5474 -   "257564a39a648e17d015e9",
       
  5475 -   "2f927b360b2b43bff822dc",
       
  5476 -   "328a9932d6b08a41a1df0e",
       
  5477 -   "207ff6a0da7f13b316c4b0",
       
  5478 -   "4b11585991700c233f6773",
       
  5479 -   "77664e53908d00007d1205",
       
  5480 -   "434a5edb31a9c3c6a0243e",
       
  5481 -   "692adfabb87ce969422961",
       
  5482 -   "3eb189e2bfcbe180703cfd",
       
  5483 -   "367efb55edcaadbb5e4f2b",
       
  5484 -   "4573a56ada0a29d31dd6b4",
       
  5485 -   "636f015a0c62753b283d5e",
       
  5486 -   "158e9251ef94651015ecc3",
       
  5487 -   "ca30526530b6f6f0c8fca",
       
  5488 -   "20b1838f00aa00d07f70fc",
       
  5489 -   "50c65d8772a3d5db269535",
       
  5490 -   "47262fa06b9c5ac8138f4f",
       
  5491 -   "d4a270719a348af6d6c29",
       
  5492 -   "af99b9d024438cfe9df66",
       
  5493 -   "2a5043ae183d338b7ebd55",
       
  5494 -   "7b85e0b99eff408f2aa978",
       
  5495 -   "282774a1f4bcb14e6723f9",
       
  5496 -   "58137399c99866772aed9a",
       
  5497 -   "7b7e71610f1589da383c31",
       
  5498 -   "1705c133c7ba24a2b5c528",
       
  5499 -   "336a41277b427813eaa191",
       
  5500 -   "78ec94c22ee912eded5499",
       
  5501 -   "1f9e8bffcac3e1471f7cd6",
       
  5502 -   "7e688d1cbe7e0a84a0f408",
       
  5503 -   "50a70d2086b5ca78a90368",
       
  5504 -   "16f5569ecf073acc30831d",
       
  5505 -   "720d9e52c4aea85ae24480",
       
  5506 -   "15bc81dd36a0393963bb64",
       
  5507 -   "633dad9eec0d451652bf40",
       
  5508 -   "3d433adb4bcd914fcfc4",
       
  5509 -   "ae1614cb7437dc6311ee9",
       
  5510 -   "504e8f5ee0e51320af92dc",
       
  5511 -   "4d55039bf17366425f055a",
       
  5512 -   "2ad535a50fda15e1835526",
       
  5513 -   "4f5cb9e29c3567f8c1b22b",
       
  5514 -   "409705e5654888d8af2f47",
       
  5515 -   "145ecffc8b532b7855ca8a",
       
  5516 -   "4a79a4d35e92cbac8fe0c0",
       
  5517 -   "7c2eeaa3b5ac7ca26ee5f2",
       
  5518 -   "b44a774aaac3d4d335389",
       
  5519 -   "488702c5b90021b8b24933",
       
  5520 -   "62d4635d0bbd6bf8fab17b",
       
  5521 -   "47a6912faf0eba695a3f82",
       
  5522 -   "5fea5590381b705c4ba54c",
       
  5523 -   "552dab94d8fab803e3abe6",
       
  5524 -   "622e4bcd237f601b3f864e",
       
  5525 -   "6b6195f4939abc517ea1fa",
       
  5526 -   "7ae4ce9746d1a251afde2",
       
  5527 -   "5411d9720f633bf7a356ea",
       
  5528 -   "93d0f45c8e78eed19b2b4",
       
  5529 -   "2cfe955ebd8c7e4615715c",
       
  5530 -   "4680ebb5e7e7fa1e676838",
       
  5531 -   "1cbb8749de080f5bb23b75",
       
  5532 -   "33fee942f43e9b7d2118f",
       
  5533 -   "4ef1c6a1bd63bb6b6207b1",
       
  5534 -   "1c1f24204ec4b044c10ff5",
       
  5535 -   "3561d1a2752f1d17dd5823",
       
  5536 -   "782fa87576f745d6c5a644",
       
  5537 -   "68d895a65569cf3ef3e3ea",
       
  5538 -   "46c01f4170feea6c601e12",
       
  5539 -   "7b8a17b08fccb33f4b7d6f",
       
  5540 -   "6332e8b1655b1a7193eb45",
       
  5541 -   "6649997ef28c919c6cae0f",
       
  5542 -   "55b727631edd20582945d2",
       
  5543 -   "1adfa664cf45ca975af0f8",
       
  5544 -   "34ca1ca17d4004b63727d1",
       
  5545 -   "46bc16d9041c2bda07b158",
       
  5546 -   "31afe414b9e841f105214d",
       
  5547 -   "4bc252b0fa653478344f1f",
       
  5548 -   "44b0628f84b11c5e71888",
       
  5549 -   "7f821b6d896942293448e9",
       
  5550 -   "125c7d70d2b6d99ae885da",
       
  5551 -   "49fee8b58237dc40ba3c5b",
       
  5552 -   "5dce9f322e405cdd3dc195",
       
  5553 -   "4e5afb2e233daef8a9bbcb",
       
  5554 -   "64e35a2939773b306ebb74",
       
  5555 -   "3cf63e3a65a7e509ca6dd4",
       
  5556 -   "1f88577ebb6a87d8478dfc",
       
  5557 -   "5d1cdedac3c1f047923b22",
       
  5558 -   "14b8d711e9732dc1d81b85",
       
  5559 -   "63ca1ec0700483b8f859e5",
       
  5560 -   "345343979af3beadfaced5",
       
  5561 -   "3aa36ece405e3ccd9341ca",
       
  5562 -   "5c37d517c640ac7f62a532",
       
  5563 -   "68e1a6376fdb4eb7b4b0e6",
       
  5564 -   "69a00aca76ae6e660be7bb",
       
  5565 -   "1644cc3e7fe80220ef2f70",
       
  5566 -   "58689766e836a562c78c53",
       
  5567 -   "2d83b4eaa1c8f768e56c30",
       
  5568 -   "11ff8e8d5e956398c99ca4",
       
  5569 -   "66de0cd9d504d0c8a10caa",
       
  5570 -   "f5d2bac49777fc8f10242",
       
  5571 -   "30436781bd712f316b4895",
       
  5572 -   "7a7cdf214176b6d3191883",
       
  5573 -   "64f3d838badcddd9bfdd0e",
       
  5574 -   "190017f50befaddece16d2",
       
  5575 -   "21a95826890e5cccb8a83e",
       
  5576 -   "2c958c952c5c886c2a60ad",
       
  5577 -   "3f8ccc4c495c412c1876e1",
       
  5578 -   "901282766f87bc24e50af",
       
  5579 -   "67fe63e894b36bad057249",
       
  5580 -   "35ab264ca762acbf67e1de",
       
  5581 -   "65b1a43ebc40ff17757bfe",
       
  5582 -   "1e0b5aa4ebf1898b7232a8",
       
  5583 -   "5a3548ae1dc271964cafb9",
       
  5584 -   "26e45399ef9d09b479c0d5",
       
  5585 -   "ff910ecf2ce1ed443b3a7",
       
  5586 -   "15dc7895737fd27e2fc2d8",
       
  5587 -   "306cc735643548c81d480",
       
  5588 -   "716be1338eb9fa3160de8a",
       
  5589 -   "37c639bab06813135e6962",
       
  5590 -   "18d28f7c13bdb1a27fc315",
       
  5591 -   "48dd5aa0d80d3fd4d31225",
       
  5592 -   "308d7af9cf09073e61779f",
       
  5593 -   "659ccea55ad34dab51a321",
       
  5594 -   "25f3d9fd234440b97c9821",
       
  5595 -   "5c0de6f6c164f44c52de84",
       
  5596 -   "30927374f464c892c53b50",
       
  5597 -   "540974d1b3361c5ccd3a2",
       
  5598 -   "a0b14921f2ca115669309",
       
  5599 -   "157e5726ec48e98ea5652c",
       
  5600 -   "7c50148337071a44808f27",
       
  5601 -   "54f01285acb2da9689a386",
       
  5602 -   "569b68c3d77231282d1705",
       
  5603 -   "7593ab2f13aa524b76e104",
       
  5604 -   "16a7968fcf87b51aa207b",
       
  5605 -   "2b1199cb9ff7848ec581",
       
  5606 -   "235057c5ef06d64b0093a1",
       
  5607 -   "3ad2c2000ee1db409ffcab",
       
  5608 -   "46dbd89f4ae0d06c0ab8e0",
       
  5609 -   "7fe713df2e65b878c1edc6",
       
  5610 -   "4f0b0a9e8338cbca398b3f",
       
  5611 -   "67ae16da8f876a2c8dc80f",
       
  5612 -   "1bff1788b61c434292f278",
       
  5613 -   "137786296b1e5f466871bf",
       
  5614 -   "413062fa329dcbe3b8887d",
       
  5615 -   "76a4bcdffe1207b9c84c3",
       
  5616 -   "394ca6d6650a3a703c8f0",
       
  5617 -   "7ec0ec060d3788349445a5",
       
  5618 -   "5e6c438c53b4bfbeab6a4c",
       
  5619 -   "1cae4d5a0b88eed0b2d97e",
       
  5620 -   "37150fd6c06a98e84f0fb9",
       
  5621 -   "5e5c9c54f1f75bcc98d1bd",
       
  5622 -   "7273cb20026d3e5dfa9567",
       
  5623 -   "23675569b6f74cecec658",
       
  5624 -   "4d84d472f48a1f27cda4fd",
       
  5625 -   "52e4d0f780530e040b8198",
       
  5626 -   "116822d6715118a8643140",
       
  5627 -   "2fb2d651d1a5fde2dc4d89",
       
  5628 -   "2cbb69d06f0ba3051ce433",
       
  5629 -   "982362cb3f64fc2535f18",
       
  5630 -   "ce584760ca84047b25a4f",
       
  5631 -   "3d32a6b665f10a829cfff8",
       
  5632 -   "228eebf60c055615805405",
       
  5633 -   "4adc76f7cd88044421953e",
       
  5634 -   "4f588ef825e26e596e160c",
       
  5635 -   "464063c0e0f5e5eae1bad1",
       
  5636 -   "231a1fa6a52f8377b2ca86",
       
  5637 -   "3b663e3e9013cab9326fc5",
       
  5638 -   "24716274d6f1761a2e503e",
       
  5639 -   "5eb0e751f365585e4f3fd3",
       
  5640 -   "1c63d031374620336f8c7a",
       
  5641 -   "6ac96f98fa78ffb692afd9",
       
  5642 -   "71f7ff7f6245492bf4ba4d",
       
  5643 -   "46b7638024bbab6f336734",
       
  5644 -   "2d3b2e3d52eac5c09743f7",
       
  5645 -   "2bf0a5cc2a5150523d2e64",
       
  5646 -   "1f7e1880120c76703199fa",
       
  5647 -   "27b48290f4bc222f54681d",
       
  5648 -   "274cbe37d4fe65732936f",
       
  5649 -   "5b872486f12a68a939069d",
       
  5650 -   "76c344db7c98c1b1fa25d1",
       
  5651 -   "6745627963b760ee39ad1a",
       
  5652 -   "2d30342ea20393b89b038b",
       
  5653 -   "51e2ff830fcf99b4147ec",
       
  5654 -   "764156f5d90616c8c45669",
       
  5655 -   "19d3eafc75447dbc2ce4d",
       
  5656 -   "4348b708829c7eddd56237",
       
  5657 -   "605ccf0922a0c35f768933",
       
  5658 -   "86aa65ac1949dd8af6918",
       
  5659 -   "2e564f6ba5f6f74e33f2dd",
       
  5660 -   "54ec1fbecc620b2a62de33",
       
  5661 -   "da96dc29f77c98efd9a65",
       
  5662 -   "3756665d23e5dc56d35905",
       
  5663 -   "7108a03a28803eb91e8a0a",
       
  5664 -   "75fa74ccac539d6f2e079d",
       
  5665 -   "56f539741375576aac816a",
       
  5666 -   "78ab001943d18ada1f6d03",
       
  5667 -   "7a283d5e2ed98485e2d260",
       
  5668 -   "7ca8eb46f6df31902607b1",
       
  5669 -   "3a9ec75af3c8e86b8c1b73",
       
  5670 -   "61df6c089b8a0a75da0288",
       
  5671 -   "3277a60ca85c986d50dee2",
       
  5672 -   "4afa034c14d96f077cc41e",
       
  5673 -   "58ca4d190a0f756173e746",
       
  5674 -   "33e094a7802d99ab1d9620",
       
  5675 -   "4ae3a5f46681ba13e649ed",
       
  5676 -   "6369f366be6b5ec99ddddf",
       
  5677 -   "4ad5b5ec9142810d730c91",
       
  5678 -   "520d75e4874b90e95d0ac6",
       
  5679 -   "56441a020eb196f9ab47f5",
       
  5680 -   "4f100cd2b63ef0cdac7165",
       
  5681 -   "1d72e71f6a57243468bc42",
       
  5682 -   "6102d4b92b578db1756028",
       
  5683 -   "6cdde5dc50cfba13ab15cc",
       
  5684 -   "6a2bde70b440f36a3a69b8",
       
  5685 -   "40afd831d872bbb5ba2dbe",
       
  5686 -   "52a170878e73d2b9a73398",
       
  5687 -   "363495385d4023abd7fffb",
       
  5688 -   "75ecb6eacac31eec1c8d24",
       
  5689 -   "38618fda51c023d44b41df",
       
  5690 -   "1b12fc1c7d3ee5cd24b30d",
       
  5691 -   "428c02c3c8bb1613aad2fd",
       
  5692 -   "6e925cc1e63747fc8301d9",
       
  5693 -   "1711e7c4ddf7dd725f454a",
       
  5694 -   "6543f2ea86c39aa319b565",
       
  5695 -   "4f88d842683a24f7a78b4e",
       
  5696 -   "6297ed8d827bde2f27c592",
       
  5697 -   "7a4c62248fb05a7ec5f894",
       
  5698 -   "50873f081856faa7b0c6c0",
       
  5699 -   "4a5c54b88c3afab5d73bb4",
       
  5700 -   "93ecdd9b52d588b62ae9d",
       
  5701 -   "1dff7b3a25d6efec89d4f1",
       
  5702 -   "4eabe0db8ac5d733acae29",
       
  5703 -   "2d0a5221661bafe1bae3a0",
       
  5704 -   "86148c3559c855d7a4785",
       
  5705 -   "4576a87293566d06f5b643",
       
  5706 -   "2c941d4c1c7d68ef593ae6",
       
  5707 -   "2c36a4d87847724f9fdecf",
       
  5708 -   "7b5f04e933b2e4204cdc65",
       
  5709 -   "774b9d1f08bb74ab682979",
       
  5710 -   "7c1fdd60de643e750fa1d",
       
  5711 -   "682291bfd680e2cd8f9d70",
       
  5712 -   "30d33e090854573dfd98f5",
       
  5713 -   "3860366ed3637eead94b8d",
       
  5714 -   "6e8b7f0e9607e44c1f9f65",
       
  5715 -   "720851fb976798365a6829",
       
  5716 -   "f5eef843bd404a6869b17",
       
  5717 -   "2a8c9eedadb6f6d58c06cf",
       
  5718 -   "232ce65586f95692d89383",
       
  5719 -   "d5835b5723a9063a2dd80",
       
  5720 -   "72316f1be6172c06994a4d",
       
  5721 -   "6a44a264bb1144d86619f3",
       
  5722 -   "5451512089afcff74e1bd9",
       
  5723 -   "557e56b5a5dcf30ae5f48",
       
  5724 -   "2a2840d0a8db4a22fdfb53",
       
  5725 -   "71e107fc4c98b40c6f7b53",
       
  5726 -   "68c711e371efbf9b278db8",
       
  5727 -   "31b42ccc858ccceae34d5",
       
  5728 -   "47eef469d5e96dff3b60f7",
       
  5729 -   "622155e1a7c16eb9e6f098",
       
  5730 -   "73037907fb5b7e20bf7973",
       
  5731 -   "2a5beeac5cc34b9b70fc5c",
       
  5732 -   "214b26c5cc4d2d1d455254",
       
  5733 -   "3326fb026bfe153a5a80e5",
       
  5734 -   "2fd395d2076e94e7f79f79",
       
  5735 -   "1da6208947854d10119a62",
       
  5736 -   "507a197204651599300f85",
       
  5737 -   "60e1157dceceaecc3a16c9",
       
  5738 -   "179c67b2886cbf8a80171f",
       
  5739 -   "4ad8d4214e4fe01b143d8",
       
  5740 -   "594820c775fd57d86cf9af",
       
  5741 -   "18932d3a50056ecbd4c0",
       
  5742 -   "cc47e7e925da6c91fe510",
       
  5743 -   "5ca455ab52339850752f94",
       
  5744 -   "31934713e4ff1d0d7cc583",
       
  5745 -   "77747c8e4550378570ec0d",
       
  5746 -   "44fd7c4168c2a61413dbd2",
       
  5747 -   "278331e342f211746f0d9f",
       
  5748 -   "13022f601d429947abd201",
       
  5749 -   "6d5ce69503f658697314d0",
       
  5750 -   "30151eaad7aef0e79d5e07",
       
  5751 -   "3b6333c6dc16d5f4351c47",
       
  5752 -   "308b1811fe8c7d6801df6e",
       
  5753 -   "1316737cef6e8d73f98c46",
       
  5754 -   "34026c0467a5bb1302960d",
       
  5755 -   "4374fb07e1eb1efc714a7f",
       
  5756 -   "13089f86ddae7614e1f733",
       
  5757 -   "91782b2d8bf1ec8b6e4db",
       
  5758 -   "739d86f4db437bd59681d0",
       
  5759 -   "2e99bf2a9cfd14eb01e4dc",
       
  5760 -   "1f372d16a7c783f301d859",
       
  5761 -   "3fd38eb64df431878b817e",
       
  5762 -   "1b3d8a50e5425c7a4550f6",
       
  5763 -   "2f775dce855cb22a4ce4b4",
       
  5764 -   "1856ece5542adaa42b18cf",
       
  5765 -   "72bad07fa5d3ca19811efa",
       
  5766 -   "210aaed4cc7b55edc4255b",
       
  5767 -   "13ef893fe161bb05038778",
       
  5768 -   "394242cd2ce4d5c927b1f7",
       
  5769 -   "2d8ba9bb83d8b7dc77cc32",
       
  5770 -   "4a9dee0a96c91e7cd6d7ca",
       
  5771 -   "3b62b01334bf25d1f5d560",
       
  5772 -   "3c11b4ca34c3237b362a26",
       
  5773 -   "9ae11d1f0b2cb73496a44",
       
  5774 -   "7d10d41f081cc53194454d",
       
  5775 -   "3476974a3a56c244bcd4ac",
       
  5776 -   "2d248bd8de364598100d1",
       
  5777 -   "371b6d93bf32954a1ed005",
       
  5778 -   "2f9195fa1721a36e6f5198",
       
  5779 -   "b5ea9188a76cbd4490c2c",
       
  5780 -   "67fe64c68be6372b30260",
       
  5781 -   "2582d22d55dfd72b2d70bf",
       
  5782 -   "2144bb26c3488be851e3b2",
       
  5783 -   "69cf5ded5037b0fc848b28",
       
  5784 -   "451cf4e4a6ce149cfc4095",
       
  5785 -   "4845e19f6384ed5724d8ce",
       
  5786 -   "5c721c1e9f943f1e44c526",
       
  5787 -   "6b628f924b031ff396258b",
       
  5788 -   "2db4889991fd96d5a3dbfa",
       
  5789 -   "75393667821938c0e5a628",
       
  5790 -   "2e37e64613e6e49f75ff6b",
       
  5791 -   "7569e0846a7c92c5b07e91",
       
  5792 -   "544e247e73028cc23b1f51",
       
  5793 -   "2e14fbc2ca9b056ee6a0e6",
       
  5794 -   "5c96c4bf9c30f05dfa52bf",
       
  5795 -   "30455197024dac28f22ad9",
       
  5796 -   "16587b1213183c74388d6a",
       
  5797 -   "62a6ac9d0c5e4b3890d61a",
       
  5798 -   "5d0e736ad9b0e048c53cb9",
       
  5799 -   "29c81a2bbc75ee65e40fbe",
       
  5800 -   "a5803d95905530efe4cbc",
       
  5801 -   "45fae251151688f6948ec3",
       
  5802 -   "34de10a25d48bbec6bc310",
       
  5803 -   "38e1136120c0a50e7c1942",
       
  5804 -   "4be7ae42a1b71df0fdbed2",
       
  5805 -   "70eda2a92c3f3d551052fc",
       
  5806 -   "736e4111350ab36a2be4ca",
       
  5807 -   "471e19dff79f0bf8dd75e4",
       
  5808 -   "7c4c5a07ab45db64032f8c",
       
  5809 -   "3e8f3fee79b0aa7d3158c9",
       
  5810 -   "6803ba4d96f3cea5b5b619",
       
  5811 -   "645491f7754448588100c4",
       
  5812 -   "64c773513b07ac7be226c5",
       
  5813 -   "1207f0afa9b17ee1e3a14c",
       
  5814 -   "1a5a3601f9e5c757413d21",
       
  5815 -   "671a35180c429ed6cd73d6",
       
  5816 -   "3f719d970328ab86444133",
       
  5817 -   "2eb29dd03203d9dedca2ed",
       
  5818 -   "3ca5432d73f30360d5e251",
       
  5819 -   "ef9f73cc5ae815a32ca63",
       
  5820 -   "76930d75187c32e1c0855c",
       
  5821 -   "297ac6d1d91b19c8ceb3ad",
       
  5822 -   "4d06acabc42f8f6c6561a2",
       
  5823 -   "17f90d7760ace90b4281fa",
       
  5824 -   "79973f898e87ee6433e53e",
       
  5825 -   "1177a186084a0188e6b25c",
       
  5826 -   "46ea372cc256b25d8bedb8",
       
  5827 -   "9d0d5139d46e4d9db3662",
       
  5828 -   "31f4e6b45c1cedb6d4c94",
       
  5829 -   "222ad5a5eecaf564928d05",
       
  5830 -   "7bfb517a9a7064f7f0b9cf",
       
  5831 -   "88d1f466f33239ebbee3e",
       
  5832 -   "28c8b8ba9341ac37c38695",
       
  5833 -   "430a7ef273c75f6860a9e2",
       
  5834 -   "5963fe850d852bb19cdfe3",
       
  5835 -   "57ca180b4c6f8c3a63ae46",
       
  5836 -   "745f8230228fe0e913a537",
       
  5837 -   "6495ff035413be2b53c45f",
       
  5838 -   "1825a2f6c03df8e89a424f",
       
  5839 -   "4ee9fe013ba8fc6ac8d470",
       
  5840 -   "7b7c35dbf0dd6b94d050c5",
       
  5841 -   "a70e6c0e6da7b5bd943d0",
       
  5842 -   "6904f88af6eea4b3f91bbf",
       
  5843 -   "5ccb3321bf79805e3743ec",
       
  5844 -   "40fe888eb50954f82f8f41",
       
  5845 -   "1683c065332572cac40e7f",
       
  5846 -   "265a6fe3ade48b79bb704f",
       
  5847 -   "6869e474162fccd5e6ce8a",
       
  5848 -   "1621052353e1bb38663f44",
       
  5849 -   "5206d5cc4cf74b102b511e",
       
  5850 -   "459fc4d70a1a8040309b48",
       
  5851 -   "1a38abc6055dcfc6f54cd3",
       
  5852 -   "6de250d6d96fba0a4a2df6",
       
  5853 -   "521255c27009b10aeef14",
       
  5854 -   "784a6ea72c75433fa2c1c0",
       
  5855 -   "1c429a8aad032b85e815c6",
       
  5856 -   "46ae03b83630be869f3f67",
       
  5857 -   "468227ba06af62fa70d6b",
       
  5858 -   "1832f7608c30377f8a27c1",
       
  5859 -   "74e8524ea4276a1585abc9",
       
  5860 -   "479f0a9b95b8f0e630df10",
       
  5861 -   "6c9aa8a230f91d4e6f84c2",
       
  5862 -   "2020839307f0a0b2a66465",
       
  5863 -   "617907260cf1e3612508c0",
       
  5864 -   "50b259ce6ef7786ad19380",
       
  5865 -   "60ad8426c5228781a660d2",
       
  5866 -   "640821dda0f544b159e25f",
       
  5867 -   "11216382d02fa8a680f2c",
       
  5868 -   "3b142ae3f666b5a458fd6",
       
  5869 -   "50d8060a4c81ac0d9dcc9a",
       
  5870 -   "656e0aaff42e8f100df7e1",
       
  5871 -   "6b189bed3e1ee805a7089f",
       
  5872 -   "587965194057ffad1ed72d",
       
  5873 -   "7c91adf751ba7b800072a4",
       
  5874 -   "66c37766a09f2454161188",
       
  5875 -   "2aaf602c5ad427702561f0",
       
  5876 -   "1fe772e91ad75a2d2792c4",
       
  5877 -   "432bf33542ea8f8c0e1cab",
       
  5878 -   "108be849403d8b9e0adadd",
       
  5879 -   "1f098e306099d97f37bcee",
       
  5880 -   "15e468fec0387d9dcde2e9",
       
  5881 -   "35a56ed2078e145e9b5d42",
       
  5882 -   "3450478bbaf1db9aae9e0e",
       
  5883 -   "5819cdbf42afd2334f96",
       
  5884 -   "453649c203cf983e439d84",
       
  5885 -   "6e6871265fe9883143d121",
       
  5886 -   "14b7709b903167ca33c0bd",
       
  5887 -   "5bb6095d45a0253a5e3e2d",
       
  5888 -   "604b2e853911ce83225aba",
       
  5889 -   "7dcfee63c4d594e4583601",
       
  5890 -   "245ff16a71eb8c45257fd0",
       
  5891 -   "51f56cb5201bdd22f49e70",
       
  5892 -   "1b50ac3c3f5269c1d7aa40",
       
  5893 -   "68c11de19f57751aa11e9b",
       
  5894 -   "73da067d52334a718631ff",
       
  5895 -   "63f2b709d7c6ba1ce60255",
       
  5896 -   "6a47915604a062b94c626c",
       
  5897 -   "6d15e33dfd91b0adf65ea8",
       
  5898 -   "36b718d293f968b4388def",
       
  5899 -   "38b2a18fa105ae1a1e82c8",
       
  5900 -   "456d747923e7fcbd260fae",
       
  5901 -   "17a8f2f3a036b54c467b7b",
       
  5902 -   "4cd6b5c75a375bce549db5",
       
  5903 -   "ad8ecaa59795b2101aeb",
       
  5904 -   "5e89ffa159d58051edf13c",
       
  5905 -   "48457eaf5bfbcca641689",
       
  5906 -   "11e987960e92f0cfe9e7d",
       
  5907 -   "484fed0412b66b4ad6689b",
       
  5908 -   "2567685d25fd668a9a024e",
       
  5909 -   "5d36dd2a4f038c91a8e525",
       
  5910 -   "78386c3f2bea1d92b0136f",
       
  5911 -   "6ecd91e762474ea500bb02",
       
  5912 -   "460dae8d89d7708b43a1c7",
       
  5913 -   "3846b043ea9479616ae948",
       
  5914 -   "35d846be55b3952e278ab9",
       
  5915 -   "697bd2294052d067eed5b",
       
  5916 -   "29ecceda91e2de99bded7a",
       
  5917 -   "32c247d46291051243da8b",
       
  5918 -   "59d6c2db6f995cfebbccc9",
       
  5919 -   "5628eeca86bc4f505da4a8",
       
  5920 -   "4450b05b160d8c53288cd5",
       
  5921 -   "5d0b6fe03f574db311d01d",
       
  5922 -   "7059a8ae14b27b87ae7942",
       
  5923 -   "7e37627adf10efb14adf13",
       
  5924 -   "4dae59d140c542483e12a9",
       
  5925 -   "26246e8fdf408dac8fd2a5",
       
  5926 -   "2d3baa252f4d982bd2ad11",
       
  5927 -   "266efd2e0daff29e309d38",
       
  5928 -   "8fdbca74c18894d421e52",
       
  5929 -   "7cdb727ae2bfeeed50af45",
       
  5930 -   "490df281db25788739ca0c",
       
  5931 -   "324340f1f7ccc9eff05524",
       
  5932 -   "595eaf076defb81f21236",
       
  5933 -   "22aca8e5833c97719ebb51",
       
  5934 -   "421f5a540df5b7ba309bc8",
       
  5935 -   "4cf40ea87be0baab3f0a23",
       
  5936 -   "78050a04d755b7008433fa",
       
  5937 -   "70089a05ca7765b8ef62a5",
       
  5938 -   "6446d75a31a4956c235943",
       
  5939 -   "3bc0b4b12c4e0d37097319",
       
  5940 -   "6a6ceb53a9e08bce60e22f",
       
  5941 -   "5527257327c4eade309a67",
       
  5942 -   "5193e0be567990b2818200",
       
  5943 -   "540f6a5d04324cc6ed1398",
       
  5944 -   "d79412155f3d978866277",
       
  5945 -   "65e3000fa520e5bd8bfdc3",
       
  5946 -   "988dfd270fa06d78d9fba",
       
  5947 -   "6bbfc916f60c65ff6069ae",
       
  5948 -   "22a2f494120b7469421488",
       
  5949 -   "5514a9f97c736ef89e2558",
       
  5950 -   "494a8aca14d077b143ca10",
       
  5951 -   "599c6bd84b32b97e000cad",
       
  5952 -   "2983f80020a9f6532ba834",
       
  5953 -   "39395b9f947ccce230cc1d",
       
  5954 -   "5eb549dbd9b640a1018c4c",
       
  5955 -   "3a948a48ee72242647aeee",
       
  5956 -   "5c0b858603efe861d8e554",
       
  5957 -   "18af2f7c66ebae2215b225",
       
  5958 -   "7656e2bcd13769bc7d3690",
       
  5959 -   "1d345a329131e03407a9ae",
       
  5960 -   "6b91d4c08bfb155d85a09d",
       
  5961 -   "c5eb765e74f7ea6040509",
       
  5962 -   "347e522bb35549d788adad",
       
  5963 -   "3c2561b4603673cde220ff",
       
  5964 -   "78c36b7a1a1ac86080796c",
       
  5965 -   "34f1c6d5946b4f8e9c34f2",
       
  5966 -   "1d82fef6b5daac184a21bb",
       
  5967 -   "11e3b65e520ccb94e0f28b",
       
  5968 -   "53ee027a60ac6b8703b4c4",
       
  5969 -   "252a9565fc2ed88c83afe5",
       
  5970 -   "2c748923f66e9b836e2956",
       
  5971 -   "501c73bb8897e8a9b644da",
       
  5972 -   "527df835ccce3d0d8dc6be",
       
  5973 -   "753e3ffd723c55ffaa57eb",
       
  5974 -   "27cf1a1e36d6b6fbf673f1",
       
  5975 -   "303e55cf5d940fa1eb0863",
       
  5976 -   "483592c4cf34d97823b087",
       
  5977 -   "404518992cad409d30e138",
       
  5978 -   "247aa73439f114a2bae1f5",
       
  5979 -   "43f106dd9b706c7cbad455",
       
  5980 -   "60de98af5b2e9794ccddda",
       
  5981 -   "2bbb60823308802716b002",
       
  5982 -   "5a4b0bdbb9a3eba57ecafc",
       
  5983 -   "7eacc570a117e3d2c4ad3b",
       
  5984 -   "b80a7edd7c5745e63c50d",
       
  5985 -   "3d2c4d19f97ec14b7f9a20",
       
  5986 -   "8e1dc29eaa3429a93416f",
       
  5987 -   "16c859dc1504abc8bebb3e",
       
  5988 -   "142700479fca005e365a5",
       
  5989 -   "1a5a69890d5f080ad27aee",
       
  5990 -   "333e4709f384c49fba280e",
       
  5991 -   "773e49f5dd28ab9abcc4f3",
       
  5992 -   "7fcabd5ff8d8321877d09d",
       
  5993 -   "392447173660d27311fc56",
       
  5994 -   "3b607643718a1436cbf93f",
       
  5995 -   "3d01c0ebec513aebdf049d",
       
  5996 -   "115af287df30e3b9382159",
       
  5997 -   "217e1d11ab05e37175e942",
       
  5998 -   "43240f690e895ee2ce6199",
       
  5999 -   "6473a7fe7461369e02b551",
       
  6000 -   "56d1b28a25e58905b948d1",
       
  6001 -   "5c08c8490ead830327cfc3",
       
  6002 -   "60d1cb028fdf2f7506480f",
       
  6003 -   "6efc437814b1b1a8db77d5",
       
  6004 -   "386903ad1ff043a2a203ff",
       
  6005 -   "113203b24e05e4ff03bfc7",
       
  6006 -   "2287f22a43e09d12b5fed1",
       
  6007 -   "3fc330d82c00c3c98129ad",
       
  6008 -   "5bdacc4f0e9a9f3c5eb7f",
       
  6009 -   "43ad0b393a7c2a4d667efc",
       
  6010 -   "4d17bed73f2032142b03a3",
       
  6011 -   "72492bafc7adaedde393c7",
       
  6012 -   "161741a6fabf2be3cb74a",
       
  6013 -   "3253a13971cf24cc306f4e",
       
  6014 -   "3566ae3cffa53b48308a5c",
       
  6015 -   "772853e9593804a23d0c9f",
       
  6016 -   "58d985a1111ffbdece42a",
       
  6017 -   "6b463071583d5d51119c18",
       
  6018 -   "58ab9a24dbad2ee2c0942",
       
  6019 -   "7b625b197eb76a08b19ecf",
       
  6020 -   "153d46a7ad0d4c7b81a83d",
       
  6021 -   "560bc3397e1eecda48e8d6",
       
  6022 -   "3e27d166777ab6af4a4b75",
       
  6023 -   "10a7cb0c646bfbfaf6b1db",
       
  6024 -   "abe7e5169767e92b8517c",
       
  6025 -   "46bc67034da17d5b7c72cf",
       
  6026 -   "16c1a9b3bcba979d2fb250",
       
  6027 -   "20573b178651610a410e89",
       
  6028 -   "46c829e7e1980bc26c13f9",
       
  6029 -   "3428c448a20f463714e16e",
       
  6030 -   "7be85a588e4f01b973f9a4",
       
  6031 -   "382238b03129ae3a8cb2e2",
       
  6032 -   "8b93e9e7ea54df6ea61e0",
       
  6033 -   "dde95ff1403621e1e9c39",
       
  6034 -   "b3a488e23273b8e74aa2e",
       
  6035 -   "3af2323baa99fc6ef534e0",
       
  6036 -   "6003c83a8ae5ae42a0956a",
       
  6037 -   "2ac52045b3b592dfbeeaaa",
       
  6038 -   "7f29a05b16052f06eff50a",
       
  6039 -   "1eae59f579b122f18b84d1",
       
  6040 -   "28593d93a1a2159e16cc13",
       
  6041 -   "460f5f98b19a4d353358fb",
       
  6042 -   "56efa25eac0d5f675af6b6",
       
  6043 -   "73e9dbd2873c27040a215d",
       
  6044 -   "5ca40898d5d325e557e04e",
       
  6045 -   "405224a222d42397ca18d2",
       
  6046 -   "a69b0e544c08336c9606b",
       
  6047 -   "1dfe68dd4d69d0d5368782",
       
  6048 -   "18bd8096de042467441c8c",
       
  6049 -   "55f3bd5a345801aa67f91c",
       
  6050 -   "5430c091f416778afc3f3e",
       
  6051 -   "4e33cc0d26d44c2394c8d2",
       
  6052 -   "2ac1793993d045ec4ea0ab",
       
  6053 -   "a0ac3885d2cb22aeb977f",
       
  6054 -   "1073f10b92dd8a202017b2",
       
  6055 -   "23e36a6e12831353ac1afd",
       
  6056 -   "71f02d980dd943488cbefc",
       
  6057 -   "7e558ced95c8a49312174c",
       
  6058 -   "21b1555bb331b89f928e6d",
       
  6059 -   "75ea3318a1054593eca8e6",
       
  6060 -   "88658ceb2447416239af",
       
  6061 -   "7dca64fefd065e0893d874",
       
  6062 -   "5f427b13d8351db71dc75e",
       
  6063 -   "475c02da59260b083fa105",
       
  6064 -   "5ee825c795f457b727b9e8",
       
  6065 -   "124aa58a7e2a882689ba12",
       
  6066 -   "797bc83e9789b064b51c92",
       
  6067 -   "2a8b319bb90a064d3cc523",
       
  6068 -   "5570385cc742f16a21edc9",
       
  6069 -   "122e1cf4ba920fb923d0e1",
       
  6070 -   "7fc9fec9506aa1a0661240",
       
  6071 -   "3fc3680285719ed4f7e7fe",
       
  6072 -   "7175ce67c0c74c440327c2",
       
  6073 -   "503bee64726b7b32815f44",
       
  6074 -   "5c4dc3dd9138eb7169302d",
       
  6075 -   "3f0eb0b9bdbbe37f40dc5f",
       
  6076 -   "5aa25b718982092494e872",
       
  6077 -   "20b11d38582bb81886466a",
       
  6078 -   "36baace22f2d7a2014dd1e",
       
  6079 -   "27216bcb23514df00030b1",
       
  6080 -   "3146d29fae3f74014572cf",
       
  6081 -   "3988842f76572373c3459b",
       
  6082 -   "6aacfa3617f47dce14015a",
       
  6083 -   "581f2a492a4fe468c3971b",
       
  6084 -   "4cc8bba01b6788222eb375",
       
  6085 -   "5c00c9ce80be32396ca075",
       
  6086 -   "28670ba592cd5a2625df3d",
       
  6087 -   "14e47840962745e9f2bba8",
       
  6088 -   "7f26a6c99362d1126b6773",
       
  6089 -   "6eb090e9b1df79f4d2226",
       
  6090 -   "7f035a794c44a6a57abf00",
       
  6091 -   "1740e5e9a57a4e80eed5c8",
       
  6092 -   "46b1961304e45b428bd48",
       
  6093 -   "49ce8855b52dfbb878b2d3",
       
  6094 -   "313ef612f2fd65f39c2e3e",
       
  6095 -   "7332b41a9fe9dfbe59f71f",
       
  6096 -   "41858e467a21a3938d60aa",
       
  6097 -   "6234ffe0f938a25ce0f5a8",
       
  6098 -   "1105d3c71c59dedcb33f",
       
  6099 -   "7a75b868e9fb50140bd203",
       
  6100 -   "68ae7d3832d31bce57eaf3",
       
  6101 -   "600de685f1a4c2f4a236d9",
       
  6102 -   "3684bf3ee3a2b8635ca0e1",
       
  6103 -   "2bb74459adcd7029c9c35f",
       
  6104 -   "b7347a4820635a5852b61",
       
  6105 -   "249f5358017ada6567b747",
       
  6106 -   "17445a9a60b0dfca9df354",
       
  6107 -   "695d060b1aceccfdfa96c2",
       
  6108 -   "a209dce8856336ebd97f2",
       
  6109 -   "72059eace3671c76d67005",
       
  6110 -   "6dafdbef06e817ec42991d",
       
  6111 -   "47a38df2df7f516ac35f8d",
       
  6112 -   "6a3afde1cc784aefb925c8",
       
  6113 -   "112bfdedc3401ff20ffcf6",
       
  6114 -   "3161bea37fcc040c6f6494",
       
  6115 -   "6152b40d63a55e1ef6e750",
       
  6116 -   "41127c781a5dd07b6ea357",
       
  6117 -   "1df80784a603cde2e8573c",
       
  6118 -   "2ad8c773fcdf92009db9b6",
       
  6119 -   "5cd8f904c6a0e1c85597c4",
       
  6120 -   "21532161ecdbdaac15b68a",
       
  6121 -   "5a80f23e82161bfd2caa8a",
       
  6122 -   "59377c70bed9cccb346cff",
       
  6123 -   "212d386743b2c2069ec4b7",
       
  6124 -   "26fb73843bff3e4d17aa10",
       
  6125 -   "1f15e66f6c5b160801ec4b",
       
  6126 -   "4024c6847ce50a93fefd10",
       
  6127 -   "38419b7c213432cd42f4bd",
       
  6128 -   "ea9789ae096da5bedc410",
       
  6129 -   "23a7a59b35972768b71627",
       
  6130 -   "60a177acbb4aeba955e6a6",
       
  6131 -   "22d9fd1638450186756413",
       
  6132 -   "5a49a0430b2145ead2e9a5",
       
  6133 -   "7fb445fb34908201d41b44",
       
  6134 -   "7b1e254e6050240b36eede",
       
  6135 -   "44867f919f39bbc1ac8a53",
       
  6136 -   "57c6f0c9d94e02524b4029",
       
  6137 -   "553a48facee35f17214327",
       
  6138 -   "5e3402a24a307a945167f7",
       
  6139 -   "4ecbf2559411992397d1ba",
       
  6140 -   "3adf2b6aaf40f5dcdffdf2",
       
  6141 -   "156e3560db5a642c108333",
       
  6142 -   "26f3f960b2ba725c83b706",
       
  6143 -   "3135a042ca5b8873367081",
       
  6144 -   "5778dc2f1465daeafbf88f",
       
  6145 -   "142aa17e315b2096d3470c",
       
  6146 -   "17b1690a9c9f4fba9154e2",
       
  6147 -   "6f3d0d822d1a27088df8e4",
       
  6148 -   "749ebfb4005c94ed288c4",
       
  6149 -   "7f64ec3ee1d6fd7b5f9352",
       
  6150 -   "3ea29dc49c06d64c187862",
       
  6151 -   "322d1e939066766f918e43",
       
  6152 -   "d1c5eeefb8bb620c573fa",
       
  6153 -   "7d83ba89b9f89b55497937",
       
  6154 -   "2f635c018151dfffc38ed7",
       
  6155 -   "6b77b6d06b93487730de2b",
       
  6156 -   "202d04fcffa7e3a0ae0585",
       
  6157 -   "7351e32ddd53c7465f65e8",
       
  6158 -   "1d5b0385650d2d81754f72",
       
  6159 -   "5227913634dbd4b19ffe95",
       
  6160 -   "1eacd91eb3938b38f0210f",
       
  6161 -   "3ab4982748b8f986192588",
       
  6162 -   "4a648c611ef0b3b0e318e0",
       
  6163 -   "18eb41f414dd28e8ff3a1b",
       
  6164 -   "28e33efab89fb4f64d6498",
       
  6165 -   "1b67e56d8c8f6656eac86d",
       
  6166 -   "27476789fbe89ef5fe00c0",
       
  6167 -   "21e39ab39cd96423900120",
       
  6168 -   "4818fb8f958698b6e9c9d9",
       
  6169 -   "95d86ded4a7b26a1ad331",
       
  6170 -   "1b2e283bc4ff40366c744f",
       
  6171 -   "2db6e61499c9393946b57f",
       
  6172 -   "3e8986648fb4053520276a",
       
  6173 -   "5eec1e56c0a2d0e34dfc8a",
       
  6174 -   "389d9fa841750626db108d",
       
  6175 -   "4e0326164785519414d07e",
       
  6176 -   "530f4c391aa2b0938eb272",
       
  6177 -   "50c915d40aeb9e4ec78789",
       
  6178 -   "57bf13241507b812b9a904",
       
  6179 -   "3245bbf080c6731fee74dc",
       
  6180 -   "11081f4b8fb8f0a9abf772",
       
  6181 -   "7a75be28b1e93e4e0c9342",
       
  6182 -   "174fdf0bcfc8d0f4e77e83",
       
  6183 -   "46986d0da7a2c17dd1dc22",
       
  6184 -   "68e88d3bc4e8d390ae4b13",
       
  6185 -   "4a2580e03d81912089d88d",
       
  6186 -   "201e678f30ea96fd17615f",
       
  6187 -   "3566f7f67e026f0278dfd5",
       
  6188 -   "30485371efc19b50bbafe6",
       
  6189 -   "4dedb1ba2a6a4abde67337",
       
  6190 -   "33440d7d3472a4b6e2f627",
       
  6191 -   "591749051e47ee7b49cf82",
       
  6192 -   "3fe61d12a0b09791925ccd",
       
  6193 -   "7f5140ee63b60e0a33058a",
       
  6194 -   "5eb217461cfa46d5694397",
       
  6195 -   "6aaafc0107575bd9b70723",
       
  6196 -   "3305f9d7ac9bc35ded571d",
       
  6197 -   "5ef7fbdbf498c8684625f6",
       
  6198 -   "3b66491ccee4801a4e3673",
       
  6199 -   "76fbf6732402bc76e061d1",
       
  6200 -   "28a37e042abf70a7cb137d",
       
  6201 -   "534c1a3b25194e8cd66e6c",
       
  6202 -   "3eedab106a435ef32b9e48",
       
  6203 -   "6bd995ef31bcfd22d52d9f",
       
  6204 -   "6b5da25417070642e0ba4c",
       
  6205 -   "3d40b56764f7765513d13",
       
  6206 -   "44bd0de2094b8b3759356",
       
  6207 -   "312518f9c1ce1e690c003d",
       
  6208 -   "f920b02af1e3bd673512e",
       
  6209 -   "4ed1311eae64f9e834ee7b",
       
  6210 -   "4d075c933e4b93da3a33d9",
       
  6211 -   "133606f2fed41ffd77b999",
       
  6212 -   "16b6721ea95f55ef631d25",
       
  6213 -   "140aa7412f6488f5404826",
       
  6214 -   "3ae99fca89d15abe091160",
       
  6215 -   "543222604f067afa3e7558",
       
  6216 -   "2948eda7d7c508918c3056",
       
  6217 -   "4cb6253df884020966d27b",
       
  6218 -   "46bafe88322c67f3b90507",
       
  6219 -   "31416a7f09913059dc251d",
       
  6220 -   "52d3cdd253b64a03c5885b",
       
  6221 -   "1c5d10301fcf4a14c82adb",
       
  6222 -   "5cd8f782abb8b60cbf36f8",
       
  6223 -   "42b636bc4126dddf74cb00",
       
  6224 -   "5afe15c1524eda9627e183",
       
  6225 -   "783d012e8b928ea14eaad8",
       
  6226 -   "45242101d43b276b34115c",
       
  6227 -   "28b06d6b1f993702509e4a",
       
  6228 -   "16ad879cfcd3e458301dc9",
       
  6229 -   "78873bb7282961108e63a",
       
  6230 -   "1c5b7d2b84cbc7b29bf542",
       
  6231 -   "48edf77c0fc298b0491c2a",
       
  6232 -   "398764fa3e177502af4d3b",
       
  6233 -   "1d1aa15ce7c8c15f051ba9",
       
  6234 -   "401a3ed45557939fa7eea",
       
  6235 -   "13f9a309c929439a91df6c",
       
  6236 -   "3aef6b8ad8d4f116a27e4a",
       
  6237 -   "64b1dd5abc6713a8f53d0c",
       
  6238 -   "73f4373aa0c46a1ae61409",
       
  6239 -   "1ebddbaa72ad1a2b1cdc49",
       
  6240 -   "2cd33d1f501e268643d591",
       
  6241 -   "11b77783f411c457cf909e",
       
  6242 -   "d92cf9efd7d12c62f0dfe",
       
  6243 -   "2c56fdcda56f78dcda9b60",
       
  6244 -   "118d29d91686683483dea8",
       
  6245 -   "7e05b7c7d54cfa1fc7b525",
       
  6246 -   "42c5d2d1082dd2375a4ef3",
       
  6247 -   "26554ee3e9bedb1a3a09fd",
       
  6248 -   "ad64cff4b4763a7fda09f",
       
  6249 -   "5f9563c7ca70d6e5061bfa",
       
  6250 -   "38d987fd4b450ee5a69286",
       
  6251 -   "62af499c078af038905758",
       
  6252 -   "3eecfda3b4d92af2b7e5ae",
       
  6253 -   "5e195ccf98c9a4e1967fe1",
       
  6254 -   "61c0e0ff11a378274b395c",
       
  6255 -   "486fd3ea0158f33daf767d",
       
  6256 -   "4cfaabac7104cbad2ed728",
       
  6257 -   "714ed5cb0027168be15142",
       
  6258 -   "ac5bf0492a63aa0bf597",
       
  6259 -   "53339d5a01f3d2e9bc8755",
       
  6260 -   "457d09be8a2a4c351b63ae",
       
  6261 -   "1892726d56d4f8f92dde20",
       
  6262 -   "236e08f8411de38e44c3cd",
       
  6263 -   "5549ebaa872068aae68ac5",
       
  6264 -   "11df54a696817409ff1164",
       
  6265 -   "7f695021b246db24a5113a",
       
  6266 -   "5267f1f68134d546ec646f",
       
  6267 -   "4ad5e4985caa0c7ee63b9f",
       
  6268 -   "3c5262912ab7e82ffd49c",
       
  6269 -   "7f9a1f8e557617163d5e82",
       
  6270 -   "31b2ef6b5163160bdce290",
       
  6271 -   "127dbd62073fb0c17b4217",
       
  6272 -   "5fe5a0fcee7c061cf49e8d",
       
  6273 -   "34ce2df12c5e0970f682d1",
       
  6274 -   "4f6148f444b84dfe82ecb2",
       
  6275 -   "740e3fa0e998e741eb97cb",
       
  6276 -   "5623f1c8e0d5c15938b2a1",
       
  6277 -   "79ef58660a06bbc22f0cce",
       
  6278 -   "35f48b300d21989b05560",
       
  6279 -   "4efe7cc856d9eef4fda470",
       
  6280 -   "43f99aac41b05d58c624b4",
       
  6281 -   "66b03ec137e6361ddf6317",
       
  6282 -   "4382f99dff4951a775fb77",
       
  6283 -   "974b1ea8fc3d4665ea11a",
       
  6284 -   "1998c4f90bb8b5465b7b1e",
       
  6285 -   "a49f38b3c0b7ca1fc5c10",
       
  6286 -   "57d421e876be8c87768c1a",
       
  6287 -   "14c79375686a30f4c21ea1",
       
  6288 -   "667b77d58f7f6b14e19bc3",
       
  6289 -   "17b5a764867bc2f176278",
       
  6290 -   "cf2bf44fe6c433cc00c9",
       
  6291 -   "61619bfea73d2a10c7a7e9",
       
  6292 -   "3908eb827c8209b96bc643",
       
  6293 -   "e859d26ac6c854731c10d",
       
  6294 -   "562d8222a0b94f5af3137c",
       
  6295 -   "780a2a5411b159d83dcb95",
       
  6296 -   "645cf2dd2735f1cbf53f1a",
       
  6297 -   "6476d594392ef9fc9a3df1",
       
  6298 -   "7df75741d3ccafb28da8e",
       
  6299 -   "526d1eb936d1a3dec6eeb3",
       
  6300 -   "1a3337bb0bc288bf44447e",
       
  6301 -   "13413811d8a8e6bc2e6cf8",
       
  6302 -   "54728697bad28cd0bcc9f",
       
  6303 -   "2e178e1cc4f997792ce1aa",
       
  6304 -   "f339d2f5ca33347ae8d13",
       
  6305 -   "24dc2302a4b77b85525bd",
       
  6306 -   "4779c6f70cb71f00e32d17",
       
  6307 -   "20866732367b425f7e5ad1",
       
  6308 -   "26c45bee1cb7e300fef593",
       
  6309 -   "4f3fe475424626758ebe24",
       
  6310 -   "3979e2b3d54a21e7e8c1cf",
       
  6311 -   "50bb1918112bad3e57d523",
       
  6312 -   "4e1bc7c2f29a2f520bcf7d",
       
  6313 -   "3b4ae8aa403abef29b052b",
       
  6314 -   "54765bab6ab2b394d9dee1",
       
  6315 -   "5e7e83070de3b07a4bc87",
       
  6316 -   "6131db76263e902f303f6e",
       
  6317 -   "2fb62f0a2e9435830411",
       
  6318 -   "57b341376c8eeb5e957326",
       
  6319 -   "7d59312cf551555c728152",
       
  6320 -   "3e13e95a38da382cdac574",
       
  6321 -   "53e3092b891267552e8471",
       
  6322 -   "ea04fd9db78a21c39b6a5",
       
  6323 -   "42cda11218a2f5a8d7bd1f",
       
  6324 -   "3aaf5736ed929c1ed0ab93",
       
  6325 -   "6e93c69a7627e1f9832a61",
       
  6326 -   "37526cf6c350fc29ecf559",
       
  6327 -   "5640578c9a2f674c097c8a",
       
  6328 -   "41ebedf12db1451af99b12",
       
  6329 -   "66db9685c97e1039f97191",
       
  6330 -   "61e21b9a255226ab8a9c03",
       
  6331 -   "4d36c683652009a273c69c",
       
  6332 -   "3e00e41664141664f70d8e",
       
  6333 -   "734cae170e5d7d8758c509",
       
  6334 -   "26c603e605263eb37ee858",
       
  6335 -   "1cb50b0700a11348f864c6",
       
  6336 -   "6b4ed91c3f4f0b25252206",
       
  6337 -   "46436019c4b35e76ea4182",
       
  6338 -   "44885049137a26d9ff4438",
       
  6339 -   "1cf7470aa8bed908f93c32",
       
  6340 -   "56d7ace10d6e046f35bc1e",
       
  6341 -   "2bc7683658e815b0850ae",
       
  6342 -   "2bd0c39ecff8d002f3a3f7",
       
  6343 -   "2848634cb8eba43423c432",
       
  6344 -   "177aa9fd51aa698c4f5d25",
       
  6345 -   "809a8bacccc204134381c",
       
  6346 -   "60483a9742002ed4918cd1",
       
  6347 -   "7544304d1b3c2594fef689",
       
  6348 -   "49ddb3e956e6fd8d65e1ed",
       
  6349 -   "3820d1fc1eab75e925dc43",
       
  6350 -   "7093b250c7b04c2c6d567c",
       
  6351 -   "16870479234b3337ddc8c9",
       
  6352 -   "18f39bb607de6b1ad183e4",
       
  6353 -   "a5d62acbaf68c52001a4b",
       
  6354 -   "65f33a2872e25c8a682f06",
       
  6355 -   "4e66ba0bc1058a3931042b",
       
  6356 -   "357eab1d6b7f6618503b3c",
       
  6357 -   "5cac3c06df31850ad70694",
       
  6358 -   "7e68cfb951ae556b15fa1",
       
  6359 -   "7de8764ca6a43c99d6a50f",
       
  6360 -   "329c1979af2fa92b25335f",
       
  6361 -   "113149ff5647e02c5d8e8c",
       
  6362 -   "5fde1fcd656f65c682e01e",
       
  6363 -   "3a2bc2968347afc3827c67",
       
  6364 -   "b7602abf832a9540b03b8",
       
  6365 -   "28434971e0ad86e87340b6",
       
  6366 -   "e24946eda2a54a4c98b6e",
       
  6367 -   "318d2300370d914ed1483a",
       
  6368 -   "776ff8d5492c149f7acf17",
       
  6369 -   "50e46147373113c54d73c2",
       
  6370 -   "59652c3042e742dab07904",
       
  6371 -   "1e74e23fb34c50dc055d0",
       
  6372 -   "3c31433d0db703e03c294d",
       
  6373 -   "64666abc6a9a2f6a1c7575",
       
  6374 -   "191da9b869e973d2fdfea7",
       
  6375 -   "6c362e17e2173449bde86a",
       
  6376 -   "1a8ed7cad7bcfca4620120",
       
  6377 -   "273beeddd87cbae01c207f",
       
  6378 -   "568f3917922fe83ad3e225",
       
  6379 -   "44e6ec408ba05ad98e759",
       
  6380 -   "32f5fb93813b0abef00c9a",
       
  6381 -   "490db50fd1ace7e8ec15ae",
       
  6382 -   "7630fa097aa2bf97cef6b9",
       
  6383 -   "6ef800332004d6cda26cdc",
       
  6384 -   "551ec7c1ae7ed078f940c0",
       
  6385 -   "455927f484bb8820a2ccf7",
       
  6386 -   "7933956672bf2e4535ee34",
       
  6387 -   "2a7311c640e7cf0ecc141",
       
  6388 -   "7242e44696c19a3a1910b7",
       
  6389 -   "3c7a2b6b58424eab86f3b4",
       
  6390 -   "359b331d03b9cc2451c1f8",
       
  6391 -   "4169ab1c6bf3f0abec6c34",
       
  6392 -   "6df855d5b158377d521892",
       
  6393 -   "3c4374002a4b05edbee285",
       
  6394 -   "209910d1159692421526c",
       
  6395 -   "31dfcfe645b46b329ee2a1",
       
  6396 -   "1e6874a8b307092ad6e72b",
       
  6397 -   "6b7e91fb5948662e3961e3",
       
  6398 -   "23966403e567312c7a8379",
       
  6399 -   "2f62056d547ebf7995c6e6",
       
  6400 -   "5fda42ececb40f359e4f0b",
       
  6401 -   "18a6b71998f6f84fd5d814",
       
  6402 -   "76f42929010d1ca7619b42",
       
  6403 -   "50e22c6cf5d6b70def807b",
       
  6404 -   "1cc96ab6764758e9cff09d",
       
  6405 -   "59aa03a25735023ef97395",
       
  6406 -   "741d91860d83d000328e76",
       
  6407 -   "a9753c820825d73c04548",
       
  6408 -   "4ed7cbd3e32dee7a40c626",
       
  6409 -   "6ce70c288bc2711b1b024f",
       
  6410 -   "59efda7d6a6d8e6aaaba46",
       
  6411 -   "6ee757629a9b68ac7e690f",
       
  6412 -   "328bf9a8c78ea2ca3388be",
       
  6413 -   "59bb325b9748e94acb6630",
       
  6414 -   "55137101093be9fb51857e",
       
  6415 -   "9c6c4ea9b05d327c6b7f3",
       
  6416 -   "77815256a969cddb479be9",
       
  6417 -   "3b0cb59bddc94e18233703",
       
  6418 -   "7a123babe2e7abafbaf8e7",
       
  6419 -   "35d6d7bb2855d9adfbf650",
       
  6420 -   "6ad95985d0ab8e8d823145",
       
  6421 -   "2133efe27b28c873f101f",
       
  6422 -   "607776583fcde0ad8e4c87",
       
  6423 -   "e2d9cdfcde324e23eda21",
       
  6424 -   "747c7a13b706fb28e46c47",
       
  6425 -   "35d310b1c9f92e46c5dccd",
       
  6426 -   "7248daa035ed0c83c2d007",
       
  6427 -   "3c8b578aed4234d875a143",
       
  6428 -   "766ac65aedf40f90341249",
       
  6429 -   "3087f959a9893769198248",
       
  6430 -   "49a34db8369186ccd3e18b",
       
  6431 -   "69b04bfb64dc28afc90f3",
       
  6432 -   "3732911ea3b78b2cc54de2",
       
  6433 -   "7dde8d7ccd2cebd1d4b943",
       
  6434 -   "66727c69de089e222307ae",
       
  6435 -   "5a67c62d60522486e9cab9",
       
  6436 -   "6acdbbcb1d87bb33b845b0",
       
  6437 -   "1f1cae187cb4e7e2d75ff5",
       
  6438 -   "1cc8bac063e7f4722cc83d",
       
  6439 -   "1f75d643fbc4ab52296f51",
       
  6440 -   "7b34f38b9d16f0d70ddae4",
       
  6441 -   "74a0eb9dfa780e171aa5bc",
       
  6442 -   "4366b19aa12542a30c1749",
       
  6443 -   "4a1404c02a58e6862d11f5",
       
  6444 -   "55e542cd768eaa4ab7eb43",
       
  6445 -   "182ed4a29e8be479e40c89",
       
  6446 -   "5eb96063b604b2d052b457",
       
  6447 -   "d755ece5c8fed1e833d4b",
       
  6448 -   "10f7a570b959918609b06f",
       
  6449 -   "656a55d45a93fac53881ab",
       
  6450 -   "60e3811062f0661e25f626",
       
  6451 -   "24a843ed6770d822f92be9",
       
  6452 -   "216b9b04319fd8da8a6d3b",
       
  6453 -   "3e41b8ea3309221756df7b",
       
  6454 -   "5a00aa930e50101d3ad458",
       
  6455 -   "260985f3992a168bc7fb3b",
       
  6456 -   "5c3df551863d0055925c95",
       
  6457 -   "28b06a5b8a2319d5d78e37",
       
  6458 -   "3567cd9077f5bb1d3115a3",
       
  6459 -   "460858d1e253129bf64e5b",
       
  6460 -   "485bb888b6979f8f201fb8",
       
  6461 -   "7aeadbfb750a598afce6ac",
       
  6462 -   "3cfed079405fd41004c118",
       
  6463 -   "3dac1d8f9e9cf46cc42204",
       
  6464 -   "2df246fe147cf6a7d9ed5f",
       
  6465 -   "1a908fcb6be810a9e1e92a",
       
  6466 -   "6c33a3a058504d48c17efb",
       
  6467 -   "66e9cba0e526f30b7b9b8f",
       
  6468 -   "757f2101d664083b2fe8c9",
       
  6469 -   "18c5643eccf2173f575420",
       
  6470 -   "7dd9082b6f5562b8d6ba91",
       
  6471 -   "389d1e8a26db35e20882fb",
       
  6472 -   "65172c59adde7fa1aa62e",
       
  6473 -   "1a7c7fe62effcf2d1a2cb5",
       
  6474 -   "392d9ae31bf22e0236e198",
       
  6475 -   "3d886ee05f1bcf69fa4f70",
       
  6476 -   "2c8f1060dc661c38044a5b",
       
  6477 -   "16eeff7e87d3caf8e58a92",
       
  6478 -   "741dd990ea20591fd9b5ff",
       
  6479 -   "39bbee3cab035e7fc68b3",
       
  6480 -   "4996f8a3f7c2c5fac02813",
       
  6481 -   "36ded179138f0e4cdf1ee7",
       
  6482 -   "f9d7db7493258ceea1a37",
       
  6483 -   "2a6c238cf5c57a2939882f",
       
  6484 -   "35dbe95730bed0669969ad",
       
  6485 -   "290fe0ae5a419909be4e2b",
       
  6486 -   "63839ba9cca448dd7fecff",
       
  6487 -   "30a8e1972ee45f3e0613d5",
       
  6488 -   "509ea21b16907067d06b82",
       
  6489 -   "7633f58adb014bb5585678",
       
  6490 -   "6c8fa526a6bdbce9f7b832",
       
  6491 -   "4a78cbf6bef93b38948e09",
       
  6492 -   "37c7b0fc4e875134c29246",
       
  6493 -   "4c996629390ea0954eeb1f",
       
  6494 -   "222dacddb6e77241cadac8",
       
  6495 -   "2df2bed0dd9ba405c8c5ce",
       
  6496 -   "3a7c703f2642b17eba0c69",
       
  6497 -   "22e8d9bc34a96264dd4caa",
       
  6498 -   "4bb8f4e111d078e3c54590",
       
  6499 -   "69efc15f2bab10979940b4",
       
  6500 -   "4e1b51392bd1ad38a51d00",
       
  6501 -   "5e82dce0d15b40d73e81bd",
       
  6502 -   "6a410e486ad693817f9d31",
       
  6503 -   "5dab9e18ce0b8340db40a2",
       
  6504 -   "2df0f496cddcc699504250",
       
  6505 -   "124c113e25b1a8153a830d",
       
  6506 -   "28d70ec040ec983aded5c7",
       
  6507 -   "7a93c6e177d746f5eb503",
       
  6508 -   "14c9d693e42997dbc96df3",
       
  6509 -   "50755ca653aac70b84b12a",
       
  6510 -   "5f72010436c71470f190d9",
       
  6511 -   "1af9124bffaade4351e990",
       
  6512 -   "5fdc8856cd703470a1e5a4",
       
  6513 -   "10b57d68a8cfe14ef3ca7c",
       
  6514 -   "245003f901ae0a356365b5",
       
  6515 -   "63dbff9398c6d2cafd1418",
       
  6516 -   "75c2ce5e2535ac7878196c",
       
  6517 -   "15c08724b1daf7a590d087",
       
  6518 -   "3dc7ec06146d405216b267",
       
  6519 -   "1fab75ef67bec61a68a277",
       
  6520 -   "711d3de6506cffb89d82c0",
       
  6521 -   "15b79d2a607e674b1df02c",
       
  6522 -   "928d2a95f60dac2e280f3",
       
  6523 -   "2db6d4b5b7a928883df97f",
       
  6524 -   "522bb592e89a78b316244d",
       
  6525 -   "cfbfcb607ba616c016fef",
       
  6526 -   "13d6f0fac0c0b9cd891715",
       
  6527 -   "12a8a0e9fe6ba5c3656149",
       
  6528 -   "4553e500c491eb2ced6e1a",
       
  6529 -   "368d20177281b04fd8018f",
       
  6530 -   "2579cde0e8d37e04167a12",
       
  6531 -   "2f4c8ebd42ef359c5ac79b",
       
  6532 -   "7afeb7314079bb05948a57",
       
  6533 -   "4dde9b7ed5a96934e4dd51",
       
  6534 -   "3cfc7a65b66e9f8c6f8cbd",
       
  6535 -   "7453e07405f19cfba93c17",
       
  6536 -   "18488f368798b8734164ca",
       
  6537 -   "532d2ff2bd9d0ca8b344ee",
       
  6538 -   "18704740809cbd3a91bcc8",
       
  6539 -   "1a91a4ef4625f7ae911f1d",
       
  6540 -   "26240f3e8816b599bb01c6",
       
  6541 -   "60749c3a015660029dacb9",
       
  6542 -   "321405882a2a0c05f7907b",
       
  6543 -   "6b85f2803d97e818e2e527",
       
  6544 -   "40d9ddb7d82d86fe4dc6d7",
       
  6545 -   "5bc9b4c686de112404ccc3",
       
  6546 -   "49e219e4b19fa82e3cdd8d",
       
  6547 -   "6b4aa7c57cecc522b32c99",
       
  6548 -   "1152ee1f6c91b44b1faa20",
       
  6549 -   "4f1b7b04b31a6d85748c8e",
       
  6550 -   "28eaec99940a1b1f563841",
       
  6551 -   "341ee0e329f6ab9da76c4a",
       
  6552 -   "8a4219421d2f55bef801a",
       
  6553 -   "25e4a83dfc2f633765d96b",
       
  6554 -   "22a17bb1e02873c944cbe3",
       
  6555 -   "4c4fa3875e78671bc1d2bc",
       
  6556 -   "79db0961906e2d46b0b349",
       
  6557 -   "68d1c5df4d9653be9c8e7b",
       
  6558 -   "7e0f7a6620c31d72d9d568",
       
  6559 -   "42af59edeafb6c79b9d208",
       
  6560 -   "3d17d279ec6a81f53cd4f8",
       
  6561 -   "2f1ba6fd01e5cf713f7991",
       
  6562 -   "5c246c8d9baad4092bd7a9",
       
  6563 -   "1c6a5fca595a1ff62b0a7b",
       
  6564 -   "5c6ce5b29bafc437eda5ce",
       
  6565 -   "709f8b4e1e81f78ecdd5bb",
       
  6566 -   "619fb115b590487fbaece5",
       
  6567 -   "5b917d89029b0850efbfd7",
       
  6568 -   "2103ca88adecbfdd3370",
       
  6569 -   "4e0f2086acba831702db59",
       
  6570 -   "cebc8496358956c6ed352",
       
  6571 -   "4aa62ab8f33741774c11af",
       
  6572 -   "55925c1c09bda33b3d0e7c",
       
  6573 -   "47b5376a6bf9ae1b5420d0",
       
  6574 -   "5f305f39404231a1ce6591",
       
  6575 -   "d0d6f30615b8f231bece9",
       
  6576 -   "851fa3652b44e57d9190b",
       
  6577 -   "4c099f907df9db8a25350c",
       
  6578 -   "48cdee08fb7cd0c828eec2",
       
  6579 -   "7399c1866bdfc2ee9d0ba4",
       
  6580 -   "7da4d79cdf3d83f0763c79",
       
  6581 -   "5de657154513d33b2dbb32",
       
  6582 -   "4057d3883ee10c31d0c5f9",
       
  6583 -   "139a5be9fe5d74b7b324f6",
       
  6584 -   "4678975ad8ef4ef63ed234",
       
  6585 -   "3a1984f88834905315728d",
       
  6586 -   "5e53c14166e301e45a1c84",
       
  6587 -   "1246f9f5df870b21bcb1e6",
       
  6588 -   "6095ebe0914ab346aaab52",
       
  6589 -   "173ef6d2228315e7fc8577",
       
  6590 -   "71a2dd2f4561ce6b25cc84",
       
  6591 -   "17f8a55fef5d58503cdf89",
       
  6592 -   "2885d88c14361dbedb4fb1",
       
  6593 -   "69cb489051468dc8b7a10d",
       
  6594 -   "6552488fb7e68b138c5691",
       
  6595 -   "3d5e0686efab87e5e7c266",
       
  6596 -   "5adfc7a0a78f6657a5960",
       
  6597 -   "65773487e5415b58fb205a",
       
  6598 -   "1aa4bb2c56ddce8ebceb39",
       
  6599 -   "1ae4174a64ea29d65c88b7",
       
  6600 -   "2af1b36e871a2152d87ea3",
       
  6601 -   "7118c95246463e79fab7c6",
       
  6602 -   "7f31009d8b384ea51f9235",
       
  6603 -   "5eb2b60c1d97e4dcdb09d3",
       
  6604 -   "5ccfa76193ddbc64186a30",
       
  6605 -   "1e31c413e16722caeb814",
       
  6606 -   "dee72e6d522c55b461f4b",
       
  6607 -   "18250945b23b28bdd1208a",
       
  6608 -   "72e90ac5d748fbd2d7aadd",
       
  6609 -   "10ad00e38092458e73fe4f",
       
  6610 -   "1144f2116d6e426f3addec",
       
  6611 -   "720179be8f54eb5c778be",
       
  6612 -   "1fe4c7d7da3eaeaae25e65",
       
  6613 -   "51a001a64a22c7bc0db3ea",
       
  6614 -   "7d40cdfed339cab397652f",
       
  6615 -   "1960ca77285b35812422e2",
       
  6616 -   "421de31b9083741c4d4c48",
       
  6617 -   "3cd3f5ea5623ce969c863a",
       
  6618 -   "4b6b8f4e6118573075d4ce",
       
  6619 -   "43ac29ece073be2a30ce86",
       
  6620 -   "217c2392122f9868740137",
       
  6621 -   "2b3dba5edc89810815d1ce",
       
  6622 -   "7a9c1df7aec04dc00e3584",
       
  6623 -   "74aed20fd8f19001dab562",
       
  6624 -   "74f8ea2aa01f3e122e9ec6",
       
  6625 -   "7f3f1310b0770a6a8ab4e6",
       
  6626 -   "7377f9449fdfa779330064",
       
  6627 -   "4d3d6fd7781e8ff3322226",
       
  6628 -   "3629587577ea6cd990a3d3",
       
  6629 -   "29ca62a9234f915c5c9715",
       
  6630 -   "5286bfcb1951cdb460fbe5",
       
  6631 -   "1b0dfe5bf791bf4d645e64",
       
  6632 -   "150cbeb75257f8eed7903",
       
  6633 -   "5ebda7b44a30093e22fee3",
       
  6634 -   "6af9f591969edf6d33a899",
       
  6635 -   "321ccac2ccfd73a0b28c6d",
       
  6636 -   "fa6bb9b4b92165346e0ff",
       
  6637 -   "603f9b3bc6733094104e23",
       
  6638 -   "2e30617b0abeb387001867",
       
  6639 -   "e419f0eced24d03400fbc",
       
  6640 -   "2057d9029cad07c3d344a3",
       
  6641 -   "1d4515e4768ff5c6b4178f",
       
  6642 -   "7b5d99de82bacb33af7ee8",
       
  6643 -   "43f53558dbb8a25ad757e",
       
  6644 -   "4265efdcec74f163498291",
       
  6645 -   "477273c36a749543489547",
       
  6646 -   "767f863c9bfc5fd6540f44",
       
  6647 -   "d8e9fae4ec5d3e7913712",
       
  6648 -   "2ea5fa6c2e19e6ee7add96",
       
  6649 -   "55fca6cb45a0501d1c50ba",
       
  6650 -   "4e94399e1765146189df5b",
       
  6651 -   "5accf03c1a20af1120832d",
       
  6652 -   "137f8e05276cc8f9180095",
       
  6653 -   "499667b1e22348ac584789",
       
  6654 -   "7b87e87e1438c6126ab1cc",
       
  6655 -   "46ea38e0c4bb849b39baee",
       
  6656 -   "d922a909e3b3afea5fe08",
       
  6657 -   "4700bc9de4804ec44122f",
       
  6658 -   "54018c8917549d050c00a8",
       
  6659 -   "5f8307f0589178f70f7238",
       
  6660 -   "45b5b538c44c73f3bf515f",
       
  6661 -   "7ad19421f012d132850842",
       
  6662 -   "7adc118469443d4f7084b2",
       
  6663 -   "2ae496e8d9399061460619",
       
  6664 -   "49e01d719bf13fd52369ee",
       
  6665 -   "e1e55a565534c74a109fc",
       
  6666 -   "72bd80f062eb130b42b044",
       
  6667 -   "1d616376b444140f9acd68",
       
  6668 -   "48082cdc2a40ccd11ae434",
       
  6669 -   "32a426cd7460f9e5c5e7",
       
  6670 -   "bb247081da09643c00d36",
       
  6671 -   "34f2e009d684c876c246fb",
       
  6672 -   "3e2cbdf24bd5900348312",
       
  6673 -   "507a6d1fd108a63234b38f",
       
  6674 -   "3253e31b47819fbcec75b4",
       
  6675 -   "3ae16fb3fb77d48c6adcc3",
       
  6676 -   "244d1131736a5aea351d17",
       
  6677 -   "682b3c7ed60ad7c985a3a",
       
  6678 -   "22d6cba0f681e23fc64382",
       
  6679 -   "14da7875e13efd461f7c10",
       
  6680 -   "1ef2f8aa8266e26254215a",
       
  6681 -   "22cd6c35ab2195c56794f9",
       
  6682 -   "1d1b1bb20ae40ee8d35505",
       
  6683 -   "66ba97928f262067fec230",
       
  6684 -   "53e99cd5ced120123b808f",
       
  6685 -   "7e698a24ee9aa726fc4b0b",
       
  6686 -   "1df3eb49ffac499fc5f3b6",
       
  6687 -   "465d9407cc9bc6456e974d",
       
  6688 -   "48938572f05f540b474485",
       
  6689 -   "ddf6be61ce9c04533277",
       
  6690 -   "15131878551adae4b04c53",
       
  6691 -   "14c7f40a28e01adc5ae1b4",
       
  6692 -   "5cf912fba9a563060d7b3f",
       
  6693 -   "1c85ed9416af845bb8e82",
       
  6694 -   "1851d531ca021ad6f2b572",
       
  6695 -   "4ad2dfbccfebf4c881dcf6",
       
  6696 -   "16d83b4ed79a537102c236",
       
  6697 -   "19e1cce82f85eff6f6b24",
       
  6698 -   "589758587c26455b22331e",
       
  6699 -   "59fdecdacfa91d60fd391e",
       
  6700 -   "1eac63084c7797618dd9f7",
       
  6701 -   "426ece55a7fd1d858414a0",
       
  6702 -   "2078bac214b712936de507",
       
  6703 -   "3e748cccf5c4b2e587b8b2",
       
  6704 -   "232c5e33740871b389c8ba",
       
  6705 -   "7b4210ea990dbb2b80bb4",
       
  6706 -   "53b453f5f30f900af808e3",
       
  6707 -   "49f7df71bb684bf5a54c61",
       
  6708 -   "1174d8cdaeecfc5b7908d0",
       
  6709 -   "6106124e06a73207e84629",
       
  6710 -   "34242d89a6cc1d4e30fa9e",
       
  6711 -   "74d978e8d6a9ce6def9aa3",
       
  6712 -   "308787b80145ee403c389d",
       
  6713 -   "36121cc69943c0f23f8a85",
       
  6714 -   "6d5d0573b2f9596b50b73b",
       
  6715 -   "5eb9037bc76a6930985737",
       
  6716 -   "2c9401cd53725f84e2c421",
       
  6717 -   "8c59c1948361c413eed8f",
       
  6718 -   "1439532a6d3fdff49361fa",
       
  6719 -   "42d71e3ed0639f1b07231a",
       
  6720 -   "29785bd232aa4bcde009aa",
       
  6721 -   "494c96ddeebc9c314fa5db",
       
  6722 -   "2e1d98165a5897b1482cbe",
       
  6723 -   "7a4b513ca25dc5d887768d",
       
  6724 -   "5197b486ae5dad9284702a",
       
  6725 -   "1d4d18f2bee14ee417596c",
       
  6726 -   "1b8c24041b5c09c2ff1c0f",
       
  6727 -   "19e87845fee8ee9d86794a",
       
  6728 -   "dcb3217133998c35879b7",
       
  6729 -   "61c60fa253a8977e213d6c",
       
  6730 -   "3df3e3ff8b5241f9f120b6",
       
  6731 -   "7e880bc1729d1783a14627",
       
  6732 -   "7ef05035c2a08e050870e7",
       
  6733 -   "3c234bbaf5da9465f9498e",
       
  6734 -   "39fc8d30c95dd0494e9be3",
       
  6735 -   "75b29426909e9c8294f365",
       
  6736 -   "68ab0ae55863c4f8044101",
       
  6737 -   "1a01c5dd382ca52c0f8a1a",
       
  6738 -   "7eaf3d6220ab7c049341fb",
       
  6739 -   "e966e5d5e80ac9dc377a2",
       
  6740 -   "38aece2fe0c1923c569603",
       
  6741 -   "296401a6101dec9b48a81a",
       
  6742 -   "a5385b7f7d2a505f37187",
       
  6743 -   "1c0a01fb60b92af636be29",
       
  6744 -   "546f06ab10360a76005c9e",
       
  6745 -   "463e980411d809a1713383",
       
  6746 -   "6247c20f5e97453bb71b09",
       
  6747 -   "7ed8ee73ca5507f25bd5aa",
       
  6748 -   "5f9fe5fab5062ae9d40550",
       
  6749 -   "d7315bcace04536b59c5c",
       
  6750 -   "700ac125ecd365c309339c",
       
  6751 -   "792ab4b2a318b2229df59",
       
  6752 -   "6e8a28f3d3f87aa2548dbc",
       
  6753 -   "53034f778656513538ce93",
       
  6754 -   "71310c65e10b4b2e1f3924",
       
  6755 -   "fca82540d3cb37cfe38de",
       
  6756 -   "324b0e59fd313b7b066991",
       
  6757 -   "ca5fc0de7c8f0742fa11a",
       
  6758 -   "436134e757c46fe077e8fd",
       
  6759 -   "3382f247e6cbcf48a8be0c",
       
  6760 -   "5714f7d7bb3f12d88adae1",
       
  6761 -   "75c3040748861ea4157368",
       
  6762 -   "1db2b63fb5b72bd2913b9b",
       
  6763 -   "5de44a501f899626f11ecb",
       
  6764 -   "4a728ba1f43b41e3c8ba7b",
       
  6765 -   "631d5fa433132c920e949d",
       
  6766 -   "49dd9e128368a6e8f31565",
       
  6767 -   "5f091c9040f8e8b4af8c6a",
       
  6768 -   "6dbec10ac45803905232cc",
       
  6769 -   "422c99318e0e012bdf3cdb",
       
  6770 -   "7499dfe49d22092ecbaacd",
       
  6771 -   "4e9b8b836aefbcc76074a3",
       
  6772 -   "23591be47ead61c7626094",
       
  6773 -   "47cb5e48534f0fa269ac37",
       
  6774 -   "45d0bbd0c4c565d517f4d9",
       
  6775 -   "58f251e3a335055f8d1702",
       
  6776 -   "e16e90086dfb42533696c",
       
  6777 -   "32bc07a00fc1c32e790cff",
       
  6778 -   "55d4eceed6862d8b7edf73",
       
  6779 -   "3bd14b5c954fd788df3e2f",
       
  6780 -   "32267a0d010a3ac60d956b",
       
  6781 -   "2dd9e647cd7caac396218d",
       
  6782 -   "786bd6b0d956c71e3d0c41",
       
  6783 -   "5a2e3e7ac883c32720fb5f",
       
  6784 -   "41824effd56ee95a25ffcf",
       
  6785 -   "df5585842155fda65c5ad",
       
  6786 -   "f0daaf67c2422477284d4",
       
  6787 -   "285121b3579e1afaecea17",
       
  6788 -   "2d0786ef10819221e8e925",
       
  6789 -   "638a87cbb628cc2744b5a",
       
  6790 -   "2e795b59317cae4c039946",
       
  6791 -   "6df756715e22975feac139",
       
  6792 -   "4299b7c55998b524a2963e",
       
  6793 -   "d73559f9e34900d6994e0",
       
  6794 -   "4356f96a535f02cd557790",
       
  6795 -   "671133a56bfab71842e1aa",
       
  6796 -   "73475afc8917dfb47ca158",
       
  6797 -   "8cecd81b395199379b860",
       
  6798 -   "6908cd3a0537e6d9de224b",
       
  6799 -   "6c4e919619ba3e8fcc083f",
       
  6800 -   "765220bfddbe009c12884",
       
  6801 -   "696a995b7f1bd2337f9c55",
       
  6802 -   "7a35b4347e2b2fcfef4e8a",
       
  6803 -   "7715808f58e52b93fbd9f4",
       
  6804 -   "35984ab233bfbbdc2149d0",
       
  6805 -   "49f6551bb5a630f7f3a91",
       
  6806 -   "260202888a368af1bf27f0",
       
  6807 -   "28c70cf1a34bf4b12fc1a1",
       
  6808 -   "74a3895c1173d1100e060",
       
  6809 -   "500de5789e46431a14b08d",
       
  6810 -   "e50ab5db695f894b26597",
       
  6811 -   "6e0d3cb0378f9f523dd7ca",
       
  6812 -   "3b890cc2ea1882c16138ef",
       
  6813 -   "623f56668cc8a093bdba7e",
       
  6814 -   "2311c97b29ff503887b251",
       
  6815 -   "5f019291ccdeabcd687ce5",
       
  6816 -   "6467af1a0f07013b2e9849",
       
  6817 -   "14a9e816ead24aab2e6645",
       
  6818 -   "6bbcfc26c4e8fa7b836095",
       
  6819 -   "775ff949792463791cf8ab",
       
  6820 -   "62658893411360a21b6bfa",
       
  6821 -   "2fc0729bbc7485664f21f9",
       
  6822 -   "784f7b46f80b03fd06242c",
       
  6823 -   "7215cad82f761314bbdd1e",
       
  6824 -   "475c6525a253fe4a455211",
       
  6825 -   "3301553132b8af815a8ed7",
       
  6826 -   "40066cef89d0c82982356c",
       
  6827 -   "36d97c131b997ecd7866ef",
       
  6828 -   "583e484be506b8efea96b4",
       
  6829 -   "4656a2b830782828314373",
       
  6830 -   "374bc74be1e4381a79910f",
       
  6831 -   "4f459e6fecc9cadb8e977",
       
  6832 -   "2a843c02b5e59799422e65",
       
  6833 -   "3910da787142c54f4f9b2f",
       
  6834 -   "ffbb4d4d7cd961d36be9b",
       
  6835 -   "38dd92596a9fd54920876d",
       
  6836 -   "6bd057cf4845772f81f71e",
       
  6837 -   "4fe62d365b58ffaa0d2201",
       
  6838 -   "1429ba4cc3fbeac84cae7b",
       
  6839 -   "403c1a7f2d528ab5d343b9",
       
  6840 -   "2175a06a641d5e8ad33646",
       
  6841 -   "25d324d633986f4baae0fd",
       
  6842 -   "63d746c096cfab5f984c70",
       
  6843 -   "5bd335a49bc5a06867e5e1",
       
  6844 -   "375f02bea7dda994d93044",
       
  6845 -   "4f754c5d3b280b20bc95d0",
       
  6846 -   "3a997ef0ad242391b526f9",
       
  6847 -   "2c30e99c7b2606982311b7",
       
  6848 -   "4d562b2b0bde307c0edc87",
       
  6849 -   "b4aa58f86a462da2ed07",
       
  6850 -   "ddd508394009eefde3ac7",
       
  6851 -   "e73b5b515611f25e496d1",
       
  6852 -   "e4ce3641fd893553aeebb",
       
  6853 -   "32765eba5563b5336b4375",
       
  6854 -   "594ab65a623ca11a1d847f",
       
  6855 -   "7a6cf71a247a9aa2ad1f3d",
       
  6856 -   "509c14f0517edd55968bc1",
       
  6857 -   "3cb90317e0fd78744bd72b",
       
  6858 -   "45f39b8c67c74dfb911f44",
       
  6859 -   "476085adcac943f7253ad3",
       
  6860 -   "658a9098281c199cd165fd",
       
  6861 -   "cd47f8baa501aac7b0989",
       
  6862 -   "3de183e6b991f7b8085160",
       
  6863 -   "a5582fe7b241700d09fbc",
       
  6864 -   "68719eec758c692aaaddb3",
       
  6865 -   "7d5f8fcc1cf99dc3131c84",
       
  6866 -   "5a2d6c9f89fb24cf28d1b3",
       
  6867 -   "7e1946c78347049b735318",
       
  6868 -   "2db5ff229cb2d0a85b8393",
       
  6869 -   "6f9024d8cdd8d69ef10bf7",
       
  6870 -   "38102211c805f10960d5ba",
       
  6871 -   "55e838d685f75c7c6b5f20",
       
  6872 -   "339fe9b069fdcbe6f3e985",
       
  6873 -   "1a939b8af79d6b9d1e57e0",
       
  6874 -   "2b1a4dba7447b02833bcc5",
       
  6875 -   "6a5c41dd17f1f090be79f9",
       
  6876 -   "6ad4c1af807487676eed8c",
       
  6877 -   "6f33938b3b060336c57082",
       
  6878 -   "1e7a055357b6580f4a7b9",
       
  6879 -   "1d51d9201dd8c5066bb7d1",
       
  6880 -   "daa197fa1e9b3068f7333",
       
  6881 -   "364b7fe165d59b5d916e2f",
       
  6882 -   "4026f1042b0f5b1e940a78",
       
  6883 -   "3501255a6a3473cf6ac042",
       
  6884 -   "73a88b6c78ebe25a0f02da",
       
  6885 -   "645d789e2ca881eb3474c9",
       
  6886 -   "6f59efef27dbd92df6f652",
       
  6887 -   "32dc0a137f654afa8bd8fc",
       
  6888 -   "4e162f9f85bd081abd7380",
       
  6889 -   "48ef84f7c351ecdc951b2d",
       
  6890 -   "69150cde40be119caa92bb",
       
  6891 -   "3b409dc537f82b36a0b80a",
       
  6892 -   "748df460f8594e0bf1ab20",
       
  6893 -   "178fa57d907fddb0fe3cca",
       
  6894 -   "6747e95b215a546a339b7",
       
  6895 -   "55247bc5a72b8d3e89234b",
       
  6896 -   "683a5c6214b92efde4aafb",
       
  6897 -   "f36396be6cc745bba9473",
       
  6898 -   "77a73ba77b4ed622a17e87",
       
  6899 -   "2c250894e17e7f4b0dd",
       
  6900 -   "24af65fef90e2f99e03cae",
       
  6901 -   "3292c0c9fda6887e4ad161",
       
  6902 -   "304cc216ed2272d07c7f80",
       
  6903 -   "5488a723f6ba5cf9800543",
       
  6904 -   "47d8e4eb9811f9d409ea40",
       
  6905 -   "7e2be12d72782db9e725dd",
       
  6906 -   "247f391e5a3b234cf19ccc",
       
  6907 -   "29f1e17550354ceae49f99",
       
  6908 -   "4edfb060e1dacbd449d726",
       
  6909 -   "4a29c3e62c947a4a1e99b9",
       
  6910 -   "4755035ba4d9924118903c",
       
  6911 -   "3d946cf498fbed2d965f70",
       
  6912 -   "260d3af59b4f3d5c208bbf",
       
  6913 -   "34b484cdb4cebe6aff839",
       
  6914 -   "7b5ec7e3346c3cb243b356",
       
  6915 -   "6b25a8073bc36b2af4c2b1",
       
  6916 -   "3665e544d5ec7ed8868a1b",
       
  6917 -   "1ccb03c008f2e822848880",
       
  6918 -   "18e83fe885c9bab518bb97",
       
  6919 -   "42e88e9f66659afa2a393",
       
  6920 -   "5533d7d78826353c79c73e",
       
  6921 -   "674fde01f6057423c31a9a",
       
  6922 -   "3a9c7a7d5782f84fd4620f",
       
  6923 -   "19b52abcac8b60d5349efc",
       
  6924 -   "23ac86fba80f09945d51d2",
       
  6925 -   "61249154ca21ee2b75deb1",
       
  6926 -   "473c4bff7362fbbd2049ff",
       
  6927 -   "923121ae3af782c934df4",
       
  6928 -   "66fecdf77d13ff6c0b25a4",
       
  6929 -   "170a54e825e33a2265d3cb",
       
  6930 -   "31be6678e513813e0e676c",
       
  6931 -   "7972b4774882051f2d85a4",
       
  6932 -   "75b09479e265b9f0ac9a5b",
       
  6933 -   "708324dd5e787ea3d43a21",
       
  6934 -   "4c67268f528ba7e8c34a0",
       
  6935 -   "51f9e6d75a3c5264312643",
       
  6936 -   "24183bf26908368eb41547",
       
  6937 -   "5e7785eebda5c8e2f0247b",
       
  6938 -   "5338be8d9f87d3f2e46b2e",
       
  6939 -   "14bde3f9984cc98dc83f60",
       
  6940 -   "62870c281778214067b40e",
       
  6941 -   "62e9a332653e1b103db5cf",
       
  6942 -   "69c96f5702ae4eecc6f341",
       
  6943 -   "3e6265ca213c1a0be64512",
       
  6944 -   "5ea38165e28694c8629ccb",
       
  6945 -   "2be59650bf9aa57c249937",
       
  6946 -   "40678fa2d309cb9417f68f",
       
  6947 -   "3459971422155f9703c78c",
       
  6948 -   "5552617d9eaca45155f490",
       
  6949 -   "18991d6f38c445ab4b38f1",
       
  6950 -   "1aee70e483c99574480349",
       
  6951 -   "277575523998439f834d3",
       
  6952 -   "692752e677cdaba7d636c2",
       
  6953 -   "298af75c2d584b01ccc6a6",
       
  6954 -   "4d7d33eaba361883277544",
       
  6955 -   "282f326b1fcbfb463ba836",
       
  6956 -   "6b0dc0d5521d21af0ccaf4",
       
  6957 -   "57f40a819546afc89fc2ce",
       
  6958 -   "6a24f8897d3040e8fb1da8",
       
  6959 -   "51e8f647af3880d2b77ccd",
       
  6960 -   "4b223517b6c7cd85cb43d1",
       
  6961 -   "745ca85c76435eb7ba81ad",
       
  6962 -   "743eb61998341a5e892884",
       
  6963 -   "5afcdfdab7a5b6864efc6d",
       
  6964 -   "39824b01dda7b8ada90cc2",
       
  6965 -   "2beed154412bd52cf1c83c",
       
  6966 -   "6b497ffe240d0867d5d7ef",
       
  6967 -   "eb947683c26db8dac2f36",
       
  6968 -   "15891c14bba25257cb14ef",
       
  6969 -   "4f540ba10fdacad19fee6f",
       
  6970 -   "5097857cdd82d2df144dda",
       
  6971 -   "6799fa1f9cffb381bd6c8c",
       
  6972 -   "5e45b3a532e82a603df12b",
       
  6973 -   "53528c9bfa6f5405d66497",
       
  6974 -   "2248d63b93978222916f1b",
       
  6975 -   "c98c97ab7b4b0cb756894",
       
  6976 -   "57d57f4721fb6be3b38e99",
       
  6977 -   "7b4ac8e7f9ffbf17f0627f",
       
  6978 -   "22af1fffca9aa4b2ba234a",
       
  6979 -   "2b913687a118d5d595277b",
       
  6980 -   "3cd72e80ffad615f09526a",
       
  6981 -   "e050d10f9ab1681fbdc06",
       
  6982 -   "36c8b1aaf274cca356ae2f",
       
  6983 -   "3d88de9f1c15bfd7b6363b",
       
  6984 -   "73e027017f2dbdbc204a16",
       
  6985 -   "6ee2946ba009641ad73037",
       
  6986 -   "522de20b2431d6ac8f42fb",
       
  6987 -   "427af6fbf5578c6104b255",
       
  6988 -   "172bc617da9e1aa348e114",
       
  6989 -   "1a5e08fda45015af7feba5",
       
  6990 -   "208fb7a4ffec7d8d1e5be6",
       
  6991 -   "3712172b56577089f4c773",
       
  6992 -   "621bfd4a39ee713781e554",
       
  6993 -   "2f0c8ecc959b7521936666",
       
  6994 -   "682583fe078ff76c962922",
       
  6995 -   "509b53b07e607cbcf6e79b",
       
  6996 -   "1b71574f7c567d707d0e82",
       
  6997 -   "572930c1df7ba238dfc9cd",
       
  6998 -   "2029341ddfdbd9f668612",
       
  6999 -   "1a54e98271fd5720e1bc63",
       
  7000 -   "62f83959d672cbfe7201a",
       
  7001 -   "2abf897aba93d347d6e2db",
       
  7002 -   "3ecd876c819b78567f7fa4",
       
  7003 -   "69714524521e343bc3692d",
       
  7004 -   "290cc13b5edc05d863546",
       
  7005 -   "26436c96779bbae9c15fae",
       
  7006 -   "32e5746a212d6238682c00",
       
  7007 -   "5e4b991cdcf27f65105596",
       
  7008 -   "4a05e03567ac78048832e8",
       
  7009 -   "658769c97f8b8945ac2878",
       
  7010 -   "4eea383bfa391bcb14540",
       
  7011 -   "4871087f3b2cd3c0f24c3e",
       
  7012 -   "5c20428f433fbf0c9ab374",
       
  7013 -   "15aba357d612d87099180d",
       
  7014 -   "73f933fe401d564be0efd3",
       
  7015 -   "6d925493d403647cc0a7ba",
       
  7016 -   "6a40f14b7a50eeca571bae",
       
  7017 -   "446d6309025414bad0aee1",
       
  7018 -   "6e388c53aaae7d287eebd5",
       
  7019 -   "3bb5af245e5d40c6fc15e3",
       
  7020 -   "66895605da5092de3d2b87",
       
  7021 -   "50774e378282fd09459eb4",
       
  7022 -   "5abf04c6f95d64b6c414",
       
  7023 -   "54dcbbc689dad12df77730",
       
  7024 -   "226c7c98f219b40ea94b66",
       
  7025 -   "6abf077f6636ceee313734",
       
  7026 -   "53cc3acdd810a96c3160cb",
       
  7027 -   "59b759ca3a67e4725b5f84",
       
  7028 -   "48e1272ba911cad7536a1",
       
  7029 -   "1d3c95c9d8462d4c467220",
       
  7030 -   "4167a3ca5253556f128ea6",
       
  7031 -   "bfe2f259223ccddac13b3",
       
  7032 -   "bf09d6ff46adc21d04951",
       
  7033 -   "4555d38c19f123cccb6fb4",
       
  7034 -   "4a5333a5e1c04b8bdfa257",
       
  7035 -   "627a4795d0c0df1d84d13a",
       
  7036 -   "122225a7053b175027361a",
       
  7037 -   "5027d58d8950e307548d14",
       
  7038 -   "76c881f1a372f21e829095",
       
  7039 -   "7f8ad9957e40808881a192",
       
  7040 -   "621edd8ea6ff7136526540",
       
  7041 -   "64adff5211c520e76cfa93",
       
  7042 -   "7b274f32f2cbfe03031cb0",
       
  7043 -   "3c71a5e6f6b431bc524a53",
       
  7044 -   "10cc655b268878a4e8e081",
       
  7045 -   "56853e4d2e614e1924d27a",
       
  7046 -   "1c72fdd679cfcd10e369be",
       
  7047 -   "1a364185d640ba1a6ed583",
       
  7048 -   "230c19482c2fdfccb6b94",
       
  7049 -   "1a9a55461554e908c4fbf0",
       
  7050 -   "48b5f18a43890f525b850c",
       
  7051 -   "779b65c66a52eeb45328d2",
       
  7052 -   "3a0a69f5624f959d85e411",
       
  7053 -   "498cac7e3100df5899cd16",
       
  7054 -   "6be91a7f057434bdea3953",
       
  7055 -   "1b0ff68c5f14ee84b37e7f",
       
  7056 -   "af86674d8a1c364331ef3",
       
  7057 -   "4fadec3b4cf5617426ac33",
       
  7058 -   "5cc79f5d12d2a991f4ebd0",
       
  7059 -   "5ca7f66678a73081bd34e5",
       
  7060 -   "5efd2121bfee3a30184816",
       
  7061 -   "6b79ef63bb66f1362d8de",
       
  7062 -   "3c4dc48e3cdfd4ce2eefe9",
       
  7063 -   "1c9f92bdf4717c6880a9ba",
       
  7064 -   "168c6919206ac6ace0f625",
       
  7065 -   "27e147bc2366e607ad99bd",
       
  7066 -   "44678fb0d784f11b21a657",
       
  7067 -   "47792007d733892284fb9b",
       
  7068 -   "636079478bd1eb493d0866",
       
  7069 -   "7450197e181adf8c4f92cf",
       
  7070 -   "65a7ac7cbfcc2f6c41c2ac",
       
  7071 -   "c92faa8d02b107a1b5d50",
       
  7072 -   "1ee8fffd33bf6223d36b95",
       
  7073 -   "203c3b480852a2154fd642",
       
  7074 -   "7ba683eab937665ca29978",
       
  7075 -   "1998245099906d42a62588",
       
  7076 -   "75d1f80628c3a1c1082c91",
       
  7077 -   "1c6bd00355516b7177a93d",
       
  7078 -   "795824804b82c5e751df2b",
       
  7079 -   "2746a28b14b19ab8d24145",
       
  7080 -   "75b3fbba0880cedfe12ea",
       
  7081 -   "dfc33dec9862e861d43cc",
       
  7082 -   "5d77b3e7e323ddd35a71a5",
       
  7083 -   "7438dcc1d87bfc73ab26",
       
  7084 -   "755d342969e9fcde9fd595",
       
  7085 -   "7bca9525e525d6ded2c76f",
       
  7086 -   "d08254f4d2d5ca1a5b877",
       
  7087 -   "4d1a97d405c026a8a5aed6",
       
  7088 -   "825e4a5dedb493626e7ba",
       
  7089 -   "26c3f6eae80009e6946697",
       
  7090 -   "59b1b4d92c6ee6432bf67c",
       
  7091 -   "705cc0331aa0195cd9f6ec",
       
  7092 -   "6d83e6632fcdd8cf940ffe",
       
  7093 -   "69699a76b55d4ca99064a0",
       
  7094 -   "76201a82e565cd9ac092ed",
       
  7095 -   "49b08f20244bc64879adcb",
       
  7096 -   "2b04a0e7492ffe108c1c00",
       
  7097 -   "4de1c0244f476f355a3a91",
       
  7098 -   "1bacdadb366134c3d1a5c0",
       
  7099 -   "755b7f3a3389c861fb2d23",
       
  7100 -   "153d48f10507702bdbbfbd",
       
  7101 -   "17ef22a6ba1fe32d3ef7c0",
       
  7102 -   "6f55491282e49ce5634ba6",
       
  7103 -   "66ac85711d7e32d731c773",
       
  7104 -   "7a45d57fdc1a44af5791fe",
       
  7105 -   "1b931cd6241fc4f484ed23",
       
  7106 -   "30ffdb4a4aa7f26e29fcc9",
       
  7107 -   "54b4dc744541c38f937102",
       
  7108 -   "4413cfa8b5666fc0af877a",
       
  7109 -   "5b18e3d2fe16a9d973b934",
       
  7110 -   "173b57e939be4a4efef880",
       
  7111 -   "102e8f3d54ced5e10227ed",
       
  7112 -   "79b27c762372e476f703f7",
       
  7113 -   "37f81f265c72ca7279eb3c",
       
  7114 -   "6b11c6506832a5a8571e85",
       
  7115 -   "5b68ba6c572a6576af79a8",
       
  7116 -   "26580ddf1efe9fe3eae4e0",
       
  7117 -   "3c015f30d95c1da9c47adc",
       
  7118 -   "54c37f5e810a7c49e7a02d",
       
  7119 -   "3b8be315926a14f8200fe4",
       
  7120 -   "5334ba131913654474693a",
       
  7121 -   "245f14c58fc2f1bd38bf6d",
       
  7122 -   "3ff0891da2c6d0cb8ab6f0",
       
  7123 -   "3e61864fd19f85bd211f70",
       
  7124 -   "493f40656c80193590d2f4",
       
  7125 -   "5dbb4f6414155050573b80",
       
  7126 -   "6afe8bc3bb8509aff3c666",
       
  7127 -   "586e1bd3806f5472b98045",
       
  7128 -   "6afc9a3033b5fed5a0c3ee",
       
  7129 -   "7969c90c819c5b0080834",
       
  7130 -   "5ee2324ad6594548cd275b",
       
  7131 -   "5c6cf60aae0cfc30048ec1",
       
  7132 -   "40e1957b3947c90dc23e89",
       
  7133 -   "5846b0049ea6f32f4b2762",
       
  7134 -   "1e5217185f433bf1233d59",
       
  7135 -   "af0b8a8f75ec961c833db",
       
  7136 -   "4f4128c0856b216db55c75",
       
  7137 -   "41d953d4dc4746ec83a1f0",
       
  7138 -   "3d55ef23d8c9f8419ff28f",
       
  7139 -   "1a5f34cedfae0cde5ea0a4",
       
  7140 -   "6517d2ae1b7ba4107ba2ed",
       
  7141 -   "4839ff83b5f2ddc41b61ee",
       
  7142 -   "30ebf17f92538a33a005c5",
       
  7143 -   "7530bbdc505d301ed9040",
       
  7144 -   "46ea2e85d6ca1966d1ada4",
       
  7145 -   "78022742d8c1b58e95d935",
       
  7146 -   "6a25d7d313e7a656aee548",
       
  7147 -   "a2c3a3cc1a5dfdc5a02b7",
       
  7148 -   "2e76f32ec68bf11c44acc8",
       
  7149 -   "54aeb8675aac1a423a7140",
       
  7150 -   "dd0623ecc7bb862ebbbac",
       
  7151 -   "61d42c0be51a3d664c8df2",
       
  7152 -   "254a37a2b407cabbf8069f",
       
  7153 -   "687346ea28caf1c87376ab",
       
  7154 -   "67b1ce8dfe00f53da9491b",
       
  7155 -   "488aa158d747df0f5cd422",
       
  7156 -   "21eb89d73161656b740b6c",
       
  7157 -   "686f17e02f2d49c0e2e48",
       
  7158 -   "dad2db631732b0506f6b1",
       
  7159 -   "72e9a5baa06d4af7c9f9da",
       
  7160 -   "1cab579a1f775fb778d900",
       
  7161 -   "3c3d137503578a98196d6d",
       
  7162 -   "2a8bb0c8c3747adf31dc91",
       
  7163 -   "1cf9608a937eea1a0bb3af",
       
  7164 -   "40a3f5ad2d4a9b33e2f67f",
       
  7165 -   "147d7e964c45ec443a24fc",
       
  7166 -   "7b9587337c3feffe6974d6",
       
  7167 -   "5839527a17db25de563064",
       
  7168 -   "1160b80ff627f607bda927",
       
  7169 -   "5aaca79690a162240db985",
       
  7170 -   "c75433d8b0423b552102a",
       
  7171 -   "f46157d09593fd6ceaef5",
       
  7172 -   "20db18e6c822f683f97989",
       
  7173 -   "3e1e43759c2fbd4596b36a",
       
  7174 -   "125d9103db1d2a83e13f71",
       
  7175 -   "28a2b96944f1b1210e6bbb",
       
  7176 -   "33fd72210da605d38ab799",
       
  7177 -   "4cada2a5056e025832015c",
       
  7178 -   "365c9be3e9c7dcc814388a",
       
  7179 -   "9f4b0dce97935ef1d9158",
       
  7180 -   "2b8d9b2da99a690e7c44a7",
       
  7181 -   "fc59307a819ae8b7a3f67",
       
  7182 -   "567dff5f6f64aa1697fa0f",
       
  7183 -   "23343ed75a8de5a22fac16",
       
  7184 -   "4c2a57eb3ff167fa077ee2",
       
  7185 -   "7a2990f262218cc62c32dd",
       
  7186 -   "210cf16be9c62f7408e63d",
       
  7187 -   "49c59a03a60b57e7bac289",
       
  7188 -   "499ab94c7bb40ba492d85c",
       
  7189 -   "67437e976a93329c5b9760",
       
  7190 -   "77c405c1030a468f5abe34",
       
  7191 -   "34363c8e2f82b5fdad8c66",
       
  7192 -   "39c91d6ca89a6fa52b3be6",
       
  7193 -   "7b2f70ff56626a3003c33d",
       
  7194 -   "416b4cd1af257e44ad03fe",
       
  7195 -   "375ec3fc3fce6eb8e8ee9d",
       
  7196 -   "4fe741cddc07d380fb6143",
       
  7197 -   "67adab05fa921650ed942f",
       
  7198 -   "601f96473a856041a89ff8",
       
  7199 -   "13fc0f6b201b7368c44178",
       
  7200 -   "6f79151ea6cbf1bbe85f5d",
       
  7201 -   "5dd15f8501fbd308a231a2",
       
  7202 -   "8ab595a01941ab4070b39",
       
  7203 -   "6ad236039c2c3e149bcca2",
       
  7204 -   "40c514f5e20e67263ea899",
       
  7205 -   "10b3ac9e35f753e3c9deb",
       
  7206 -   "2d816960b0911019df6133",
       
  7207 -   "14efaca65e59726b81dbf0",
       
  7208 -   "7d98b2bd2e9168b6d2e72f",
       
  7209 -   "49639d01a55025d5b2f6ef",
       
  7210 -   "2e1479f3781e1a48fc49de",
       
  7211 -   "7d60cbfdcc63ced7661d40",
       
  7212 -   "3ec0da959b014a91e3d171",
       
  7213 -   "6e1573decbd31bd14c0615",
       
  7214 -   "2ae83fe35c42b256590f54",
       
  7215 -   "22d68d4ed1af18d8658de4",
       
  7216 -   "3153805f294e973c493b1e",
       
  7217 -   "23270a061497f9098a49ee",
       
  7218 -   "3ed51ed7c85d68db84d78a",
       
  7219 -   "788f47c4aa1ecb9b01c1a7",
       
  7220 -   "9dfe0a1feefabb0c62643",
       
  7221 -   "7376e75fa605889898fa7a",
       
  7222 -   "578a6c67a3dea7609537e0",
       
  7223 -   "146dc1fd204e259d148dfd",
       
  7224 -   "59ff3fb267f4dcf86fd4df",
       
  7225 -   "5a081e53f2beac49d1a3e5",
       
  7226 -   "37bd7e26cf4711cd149911",
       
  7227 -   "47d814d93ff8dca3c1398b",
       
  7228 -   "132d2eb133a0383d464ad2",
       
  7229 -   "30f7be09c5f39b5532dcd3",
       
  7230 -   "83b4a6c139b7fda28fc0b",
       
  7231 -   "77e2377901111b6ba92316",
       
  7232 -   "7add5048bc0984c36294e1",
       
  7233 -   "2afa4dd2f2245b7525fdf6",
       
  7234 -   "50c4c9d0b48bd147d875cd",
       
  7235 -   "6387ce1a213d98335598c0",
       
  7236 -   "52253824741dd177a674a9",
       
  7237 -   "3195d14bda042e7057d34f",
       
  7238 -   "6b849a1f17d635cf0a773f",
       
  7239 -   "7c9cfb41c0f888d000fc52",
       
  7240 -   "7dea2305f898b6d88f6821",
       
  7241 -   "43d0ab106641bd01d72cd4",
       
  7242 -   "1d5fe04c71a377f6784338",
       
  7243 -   "207b51e97aba651825b40f",
       
  7244 -   "41327dfa41486f6b995572",
       
  7245 -   "245cbb0117ba8963db7929",
       
  7246 -   "4956d4cfa3dee8e23259eb",
       
  7247 -   "49af3dd263ef8ddc7b0303",
       
  7248 -   "76dda8edbfa5a4265a1a74",
       
  7249 -   "26b516b52794658e68ab5a",
       
  7250 -   "260f0ab9a00e1e941e404f",
       
  7251 -   "3395f092181af53bb73f3e",
       
  7252 -   "17a50483229662a578fdf3",
       
  7253 -   "30e3bf91dbc04d50a032bf",
       
  7254 -   "525362bcc006730db95180",
       
  7255 -   "6e988e80d2c29dc7542de4",
       
  7256 -   "47efed21b3657d0618e28f",
       
  7257 -   "fb85baef473def8948133",
       
  7258 -   "67afcc19d0bb557a608666",
       
  7259 -   "3e1ecaa8d0631877bfedb9",
       
  7260 -   "38a68ae5efe6ac22d3f278",
       
  7261 -   "4b2a621bcd3f244dbd1aa6",
       
  7262 -   "2432bbe72c83689ef74c85",
       
  7263 -   "1aba34eed15b418d4b7f0a",
       
  7264 -   "2d2efb8be305a05b685aa3",
       
  7265 -   "cdd3df5aba4c7ba52b4cd",
       
  7266 -   "7c38756fdad7c18ef7576",
       
  7267 -   "437e569a7451bd9bbbce87",
       
  7268 -   "614a9023303ed4dd2cdfb9",
       
  7269 -   "43c088f2eb74b96d25a4a8",
       
  7270 -   "308a1daa2779a84d4db8ac",
       
  7271 -   "59f29456bbb20b47aa046f",
       
  7272 -   "4b0f09e29272f9d49c6266",
       
  7273 -   "b03e402e64c3436818402",
       
  7274 -   "40f2e74e1048db76b72516",
       
  7275 -   "1a484afbb93898190d8d03",
       
  7276 -   "6edb305f1f8f30902439c9",
       
  7277 -   "7fd2ed81931942f0ef8d50",
       
  7278 -   "402466331777b126e4d8e2",
       
  7279 -   "52d5ea798306c9e21853b2",
       
  7280 -   "765c653014c5e4b3dc3865",
       
  7281 -   "785211217f5fa1bf82b193",
       
  7282 -   "3bcee7bc9a5ca7219edfaa",
       
  7283 -   "61b023abdf63ddd6300036",
       
  7284 -   "2f305b730466b54d50855e",
       
  7285 -   "60b46e71f1f2b8376d5d29",
       
  7286 -   "745cc1be634380e90bc82",
       
  7287 -   "208b7d3e85a97a99407a38",
       
  7288 -   "1000ca68b2a0f4790d5b97",
       
  7289 -   "2ef94456619d9728490c1d",
       
  7290 -   "18347f5ec924cf4631f292",
       
  7291 -   "26b5c49d8c4e12d4b3d157",
       
  7292 -   "15e2aab3b7b69272b3c155",
       
  7293 -   "76272e758d9f83ceea908b",
       
  7294 -   "fb87766da12e75782ca77",
       
  7295 -   "57caf75d12ec817c6cddfa",
       
  7296 -   "1a04ba76b7855a5e9c289a",
       
  7297 -   "7e5eb2a4ef3434465acdeb",
       
  7298 -   "35b964532350abcbf76d9f",
       
  7299 -   "3f14484539a427ea73a1b8",
       
  7300 -   "4d10e4408b3b6761aa225",
       
  7301 -   "235ae37d20b21074f27732",
       
  7302 -   "44dd12bd0d7f960d6bd7f6",
       
  7303 -   "196185d708583cfba757f7",
       
  7304 -   "5f8e36ec1202b0292d5945",
       
  7305 -   "47d7208165498ac04fc240",
       
  7306 -   "332ea59945a5d0e73f7dc5",
       
  7307 -   "653694fe66c257988cd02a",
       
  7308 -   "3069cb41e51edac9ec2b3f",
       
  7309 -   "17e032019f0dc1c4277c0b",
       
  7310 -   "52a44d4aac2b12a44786a4",
       
  7311 -   "33bbdb9fd9d9e6cda126be",
       
  7312 -   "520cfdeb5b65ce3df47f12",
       
  7313 -   "3746df2dcaeb2f941850af",
       
  7314 -   "34b380f57ddac800a53234",
       
  7315 -   "7116294960ec1370cfa192",
       
  7316 -   "6c02da94ff6269ebf8b68",
       
  7317 -   "528f06b90d6ea98654eb1b",
       
  7318 -   "643b1783eeff5d2d9d100e",
       
  7319 -   "14e34536d861554652fc3d",
       
  7320 -   "28da7bd48db9e867715c64",
       
  7321 -   "7b233911df67c0ffe75298",
       
  7322 -   "282425a374dcf57904fcaa",
       
  7323 -   "7f873bc8523c4931739324",
       
  7324 -   "5f1584cca489de9bdcd65b",
       
  7325 -   "6862becb8f668738ac092f",
       
  7326 -   "495ccc90a936edcdb3b175",
       
  7327 -   "71dbc0d71fbcfcf1245bc2",
       
  7328 -   "5298718820a8e285437a64",
       
  7329 -   "2a9957bb174e3a8d1169ef",
       
  7330 -   "58dbbd6f088b5ff881356c",
       
  7331 -   "67ed429f48df076df817f4",
       
  7332 -   "ba3b72d702ce311cc02a",
       
  7333 -   "6415a8a79aa0ebffb6a24d",
       
  7334 -   "5b6485b2f7f41f0abf3544",
       
  7335 -   "edea2902a199d26d75bdd",
       
  7336 -   "97bac956d2b65a51260e7",
       
  7337 -   "b2c65762784255bbebc75",
       
  7338 -   "41b1881d9704918a051695",
       
  7339 -   "3939cec4c6eb132c9146a8",
       
  7340 -   "4e4622894612a0772ab9f8",
       
  7341 -   "398cbdee468f0759c375a1",
       
  7342 -   "592a4efec7cf89e527fdb",
       
  7343 -   "79ea859ae0d9bf58c8e071",
       
  7344 -   "4786c255855f792a20f869",
       
  7345 -   "272821f07dab57e4aaf0a7",
       
  7346 -   "25e016000255df0b5c8153",
       
  7347 -   "17040e8c8be515e4ea36e",
       
  7348 -   "341181b7d4d6f4e2cf9643",
       
  7349 -   "73f8a019ddb59d3f06f049",
       
  7350 -   "cbf28251298433a3abc70",
       
  7351 -   "51edf68dda1a87c4b3af7e",
       
  7352 -   "2e78ee01fc4dbe304eaea1",
       
  7353 -   "36a98de095d312e040c903",
       
  7354 -   "1c94ea576c3cfe00e40a0c",
       
  7355 -   "2969569df7efe8c61bb461",
       
  7356 -   "2b036df33feda1ac5edb68",
       
  7357 -   "3d1dbd13d46aa7f5e4c42",
       
  7358 -   "32f17d420cb00b34cd9fc3",
       
  7359 -   "79a8e47a4d897cf6b712f",
       
  7360 -   "6be705331dd40db5a995b0",
       
  7361 -   "797e5770501b190fa5f6f1",
       
  7362 -   "21d9c50ac15f9a1fc38df4",
       
  7363 -   "639eb30656278296f2b3e0",
       
  7364 -   "4b90d5d4f791e4cafea283",
       
  7365 -   "7b4912ce2f8ea6ad90baf0",
       
  7366 -   "185c0df44a167fc9bfe948",
       
  7367 -   "4c622bd5bd26bcbd487c68",
       
  7368 -   "7c4aa256f5265e9d49e8ab",
       
  7369 -   "63f8378a4c563212109ee4",
       
  7370 -   "4ca98168d36f8ab3815a02",
       
  7371 -   "411a5d336f1cca7988f319",
       
  7372 -   "34c572dd024d37c54c5648",
       
  7373 -   "249469414e604f245a56ca",
       
  7374 -   "2e9650e328b679ea03af31",
       
  7375 -   "db07432bf40360e3df399",
       
  7376 -   "2e9fc43379988881a1b064",
       
  7377 -   "752129c2d07a536bf3bb8",
       
  7378 -   "c79d219ef793e02a9f989",
       
  7379 -   "210441f8cc9b531f88fd3a",
       
  7380 -   "6bb593df2f572a23254ed6",
       
  7381 -   "55152f253ffb05575c981d",
       
  7382 -   "40734a14dd653457e54b74",
       
  7383 -   "7fcb3af03a778d48d5ac9b",
       
  7384 -   "43e02a2659ddc4d3204fd7",
       
  7385 -   "2ab0a302ecc453de7fdbe4",
       
  7386 -   "2a68ad26b94fd25b4509aa",
       
  7387 -   "46afa6e418c9bd4065cd9d",
       
  7388 -   "517123f4920304dc75317a",
       
  7389 -   "33c3a8fe7d6e90cd610695",
       
  7390 -   "1a30afeb54dea502f0310a",
       
  7391 -   "2b5280596202f4b3ee0814",
       
  7392 -   "70b50a59ebc270bb237505",
       
  7393 -   "65f71d8c8e62cbeef07daf",
       
  7394 -   "197461e90c6b70a7dda46d",
       
  7395 -   "4053f687fd270a04d092a9",
       
  7396 -   "43d235cd54423fd6135def",
       
  7397 -   "ac0f86afb7bbca8d57c4f",
       
  7398 -   "1dd4abfd6c4ed8a3ad6bbb",
       
  7399 -   "25d3735a734b777dd960b8",
       
  7400 -   "56a6cdbd81ef505320e706",
       
  7401 -   "3c1c9492a56c8c78536095",
       
  7402 -   "31ee9d29cb2f2a7eeddbc0",
       
  7403 -   "666ea50157a2d8307a0ef8",
       
  7404 -   "1472017c713a1063411e0",
       
  7405 -   "53e73a626a5de69e43d0e0",
       
  7406 -   "dcc0bec90c531be4924ef",
       
  7407 -   "6bd3a60ce037d04a7d822c",
       
  7408 -   "3ad7e93e4ab55d402a33ea",
       
  7409 -   "10db0037fd5f7d8c49aee6",
       
  7410 -   "4d29703647563e84d6ac7f",
       
  7411 -   "2555442bf058722bf0120c",
       
  7412 -   "2e274c1905f505ef9d43c1",
       
  7413 -   "46b0509f9638e9030f5895",
       
  7414 -   "4082d11934cd3944191e6d",
       
  7415 -   "3cab0ae1036c6d43311ae4",
       
  7416 -   "218c9ea39a51618b1ce10e",
       
  7417 -   "9e1bd1e36f73d0f69f697",
       
  7418 -   "5a20607ce9679fb1f266e5",
       
  7419 -   "4ae24f235a28b7f71492ce",
       
  7420 -   "7510db776aba775075e549",
       
  7421 -   "5695db84b4c92a3d6677b2",
       
  7422 -   "74e01ea265377cb713e57a",
       
  7423 -   "768cbd11024387469f6ee1",
       
  7424 -   "61b85bccf0f4316c2cec04",
       
  7425 -   "aeeaf98aedc83e6ae6cc5",
       
  7426 -   "4e175c68ed04c585f606f8",
       
  7427 -   "1ee9410958604d03f20f1f",
       
  7428 -   "127b65c61b8c8f1b9456ee",
       
  7429 -   "3d57e0a1ef4abcae8719be",
       
  7430 -   "688ea19369341f6943063f",
       
  7431 -   "1f91eb155829f1481d6da7",
       
  7432 -   "4f34769ad379d64a27233e",
       
  7433 -   "59daf69acb0d30ef2fc5db",
       
  7434 -   "1efc90353d647b1a3dfd54",
       
  7435 -   "39965be2b1bbb3ed832fdd",
       
  7436 -   "7fd47e391981aa515116c7",
       
  7437 -   "5ca9b2680bb84ff6e98b33",
       
  7438 -   "36b7f85db80800549459bd",
       
  7439 -   "16d114b00964bdc8e2e82a",
       
  7440 -   "7c1256dceb40e2f63ca4f9",
       
  7441 -   "5b4dd88e0cfc108bdc7320",
       
  7442 -   "239e94f2e5843a6e20f1bb",
       
  7443 -   "3552a76787de4570d42693",
       
  7444 -   "6f2f55effdb76df46b548a",
       
  7445 -   "6152765b747658a14d5829",
       
  7446 -   "1778273a04ac508e342b",
       
  7447 -   "75471e22b2d84fd2fe01b9",
       
  7448 -   "5d6bf6a59488555bf1342a",
       
  7449 -   "160134aa459258ff8f6285",
       
  7450 -   "17e8af02e79e7f8d2cdf99",
       
  7451 -   "4f5e7f770a4d50c69c4028",
       
  7452 -   "51fc2c3f86b8fc46a7a221",
       
  7453 -   "70d95d23dca53184d30b4b",
       
  7454 -   "4a9b685698a7674338b188",
       
  7455 -   "4d7940ea6bfaa7b282a985",
       
  7456 -   "39baaf1f520d96bfc8c1df",
       
  7457 -   "409fc384bef4b3d255371f",
       
  7458 -   "3bac7e0675e0a9967ff7da",
       
  7459 -   "5c1544633a0bf7939343d0",
       
  7460 -   "39d71478d3005e797c6913",
       
  7461 -   "153884834dca9aae7d5d2d",
       
  7462 -   "630270f2ed4331deaf63f0",
       
  7463 -   "46323a1998a54f7e0819f6",
       
  7464 -   "61c87048ea8325590bc5b1",
       
  7465 -   "1960b3a13c6cb6acb7f489",
       
  7466 -   "3956e2767e97b7703253b0",
       
  7467 -   "1b5226354071022a104a86",
       
  7468 -   "3a7ecceb35e2e9a438dbd5",
       
  7469 -   "10c81c57aed768b3285598",
       
  7470 -   "bd499ce82d93c07477fc",
       
  7471 -   "67e11e83cb547515b53701",
       
  7472 -   "171757e72adb6abd8f440b",
       
  7473 -   "590056c647987959065bd",
       
  7474 -   "4e27f64f8732105513ad9b",
       
  7475 -   "de9896eb70f1668b87fc",
       
  7476 -   "457dc9644e5b25ae6c4291",
       
  7477 -   "5a6df4a369ed81627d4fa3",
       
  7478 -   "568fd03e0a80223cd1669a",
       
  7479 -   "1e92415029559dc3ed8283",
       
  7480 -   "1cb2dabf0298f57d15e65c",
       
  7481 -   "426541c137d269fd2e2296",
       
  7482 -   "19a439abdf3f4f5eb63683",
       
  7483 -   "482af287c71050fd03632a",
       
  7484 -   "47a080b7584194b936f712",
       
  7485 -   "20d4366552d0d83219fa0d",
       
  7486 -   "4494bc9e65c8cf2a6ea51d",
       
  7487 -   "2148939cfe2757b6666fc2",
       
  7488 -   "476ef278c257202dd01711",
       
  7489 -   "3eaa7351a72b065707e47a",
       
  7490 -   "2703e4a7969073dd381cbd",
       
  7491 -   "1badf1b7dc0b73e0bf8b67",
       
  7492 -   "47d847bd96fbfc9c221fd4",
       
  7493 -   "13637e15b786797995ba49",
       
  7494 -   "5e842bbb537167f75451a7",
       
  7495 -   "3b228f46cdc0e8a979b45e",
       
  7496 -   "2fdd94b55dd5fb9a3915f5",
       
  7497 -   "1cca04897dbffe7f26f2ec",
       
  7498 -   "67a8cdbece1aca4e55ba72",
       
  7499 -   "47ba42dd06a62256ee8c8b",
       
  7500 -   "3288681f4d08858009187c",
       
  7501 -   "69412d8563ffa7e83b0ef0",
       
  7502 -   "240e2e38e41f3b6530a267",
       
  7503 -   "12e92ef014e8d7fbb8d23e",
       
  7504 -   "45440750f90776251263b4",
       
  7505 -   "3a8965cf80aa6c4410dfab",
       
  7506 -   "559bf101b9cff724b929cd",
       
  7507 -   "280f08134d28252bd0b713"
       
  7508 -};
       
  7509 +static const char* Roots[] = { "1",
       
  7510 +                               "5569560418e73ff9db709",
       
  7511 +                               "5bf795c6d548a19b6ac340",
       
  7512 +                               "760df490123f6613b0a970",
       
  7513 +                               "7cec29d14a0eefb222bde7",
       
  7514 +                               "3c70a3f0e9c5b206031a33",
       
  7515 +                               "1cec8c96472b84936bbc22",
       
  7516 +                               "3315173915ca23d8c1b814",
       
  7517 +                               "39a0c4e1da321f1bc126f4",
       
  7518 +                               "760f3656c1130b21d369d9",
       
  7519 +                               "452231c3bcde7b7b5b0af8",
       
  7520 +                               "6fe27c77d57e2feb8cbcbf",
       
  7521 +                               "3a7a488015e75feec809f8",
       
  7522 +                               "c16d15fea9d61c8df5121",
       
  7523 +                               "5a8a9b5c659b71e837ea18",
       
  7524 +                               "506d84c9f4d4bc400fdd25",
       
  7525 +                               "4d7566cd294f75be6620f3",
       
  7526 +                               "5f80095f2580ec4cf13b51",
       
  7527 +                               "34eea7a66e8ff3dcc8988e",
       
  7528 +                               "899b1ac6f72ffff8aedfc",
       
  7529 +                               "3cb5a124ce563c3967dbc3",
       
  7530 +                               "16d5205447831696c5d6a0",
       
  7531 +                               "414e761d40341e7f97c304",
       
  7532 +                               "498104aa12355244a9b0d6",
       
  7533 +                               "3a8c5a9525f5d62cea294d",
       
  7534 +                               "1c90fea5f39d8ac4dfc2a3",
       
  7535 +                               "6a716dae106b9aeff2133e",
       
  7536 +                               "735cfad9acf49090fb7037",
       
  7537 +                               "5f4e7c70ff55ff2f888f05",
       
  7538 +                               "2f39a2788d5c2a24e16acc",
       
  7539 +                               "38d9d05f9463a537f470b2",
       
  7540 +                               "72b5d8f8e65cb7509a93d8",
       
  7541 +                               "75066462fdbbc7301e209b",
       
  7542 +                               "55afbc51e7c2cc748942ac",
       
  7543 +                               "47a1f466100bf70dd5689",
       
  7544 +                               "57d88b5e0b434eb1a0dc08",
       
  7545 +                               "27ec8c6636679988dd1267",
       
  7546 +                               "4818e9ef0ea7625cfc3d0",
       
  7547 +                               "68fa3ecc3845db5d523ad9",
       
  7548 +                               "4c95bed884bd87ec1d5e70",
       
  7549 +                               "7136b3dd116ed121aab68",
       
  7550 +                               "60617400353c1eb8e8832b",
       
  7551 +                               "19772e34181f57b670bf9",
       
  7552 +                               "2f58f2df794a35875efc99",
       
  7553 +                               "690aa96130f8c533d77ce4",
       
  7554 +                               "df261ad3b5157a525bb81",
       
  7555 +                               "6a437e22c95fc6c6a4449d",
       
  7556 +                               "1cc2526113f2bae9b540c1",
       
  7557 +                               "7fc2bcc524b4326eb8303d",
       
  7558 +                               "751e9eb348bc8239d6e118",
       
  7559 +                               "2fb170a11f1aecdf586d25",
       
  7560 +                               "32aafc640e8c99bda8faa7",
       
  7561 +                               "552aca5af025ea1e84aadb",
       
  7562 +                               "30a3461d63ca9807464dd6",
       
  7563 +                               "3f68fa1a9ab7772758d0ba",
       
  7564 +                               "6ba1300374acd487b23577",
       
  7565 +                               "35865b2ca16d3453781f41",
       
  7566 +                               "3d1155c4a53835d991a0f",
       
  7567 +                               "74bb588b5553c2b2d4ac78",
       
  7568 +                               "3778fd3a46ffde4755b6ce",
       
  7569 +                               "1d2b9ca2f44294070d4e86",
       
  7570 +                               "38596ed050f14596adc07f",
       
  7571 +                               "2015aa6fc7e48fa3bc5ab5",
       
  7572 +                               "2ad2546b270547fc24541b",
       
  7573 +                               "1dd1b432dc809fe4c879b3",
       
  7574 +                               "149e6a0b6c6543ae895e07",
       
  7575 +                               "7851b3168b92e5daed021f",
       
  7576 +                               "2bee268df09cc40864a917",
       
  7577 +                               "76c2f0ba37187112ee4d4d",
       
  7578 +                               "53016aa1427381b9f28ea5",
       
  7579 +                               "397f144a181805e1a097c9",
       
  7580 +                               "634478b621f7f0a455c48c",
       
  7581 +                               "7cc0116bd0bc164835ee72",
       
  7582 +                               "310e395e429c4494a5f850",
       
  7583 +                               "63e0dbdfb13b4fbb46f00c",
       
  7584 +                               "4a9e2e5d8ad0e2e82aa7de",
       
  7585 +                               "7d0578a8908ba294259bd",
       
  7586 +                               "17276a59aa9630c1141c17",
       
  7587 +                               "393fe0be8f011593a7e1ef",
       
  7588 +                               "475e84f70334cc0bc8292",
       
  7589 +                               "1ccd174e9aa4e58e7414bc",
       
  7590 +                               "19b666810d736e639b51f2",
       
  7591 +                               "2a48d89ce122dfa7deba2f",
       
  7592 +                               "6520599b30ba3568ad0f09",
       
  7593 +                               "4b35e35e82bffb49d0d830",
       
  7594 +                               "3943e926fbe3d426004ea9",
       
  7595 +                               "4e501beb4617be0f02deb4",
       
  7596 +                               "343dad4f059acb87d3b0e2",
       
  7597 +                               "7bb4f9d707b4ee3a20e779",
       
  7598 +                               "7de4927696bdd6d3b718",
       
  7599 +                               "6da3828f2d4926651f7a27",
       
  7600 +                               "3601174a7dc823bf4dc3a6",
       
  7601 +                               "223160cdd1bfa322ca3e6c",
       
  7602 +                               "31a504d1dcc251075e4436",
       
  7603 +                               "1b1ca5d6c688c4cf99448d",
       
  7604 +                               "4309c1c59a581af63d922d",
       
  7605 +                               "6077a88144957827c07205",
       
  7606 +                               "22e321253c3e0fb875c4df",
       
  7607 +                               "6b4728ee168cd23e2fe47c",
       
  7608 +                               "1c35e13f8ffb7c470fa61c",
       
  7609 +                               "4bacbc68650c41520d312c",
       
  7610 +                               "455c9131bfa1c33274be37",
       
  7611 +                               "23c82ae839bf5380a55acf",
       
  7612 +                               "171e59c89024b148534f1b",
       
  7613 +                               "165ff53589519199fc1846",
       
  7614 +                               "69bb33c18017fddf18d091",
       
  7615 +                               "2797689917c95a9d4073ae",
       
  7616 +                               "527c4b155e3708972293d1",
       
  7617 +                               "6e007172a16a9c673e635d",
       
  7618 +                               "1921f3262afb2f3766f357",
       
  7619 +                               "70a2d453b688803716fdbf",
       
  7620 +                               "4fbc987e428ed0ce9cb76c",
       
  7621 +                               "58320debe89492ceee77e",
       
  7622 +                               "1b0c27c7452322264822f3",
       
  7623 +                               "66ffe80af410522139e92f",
       
  7624 +                               "5e56a7d976f1a3334f57c3",
       
  7625 +                               "536a736ad3a37793dd9f54",
       
  7626 +                               "407333b3b6a3bed3ef8920",
       
  7627 +                               "76fed7d89907843db9af52",
       
  7628 +                               "18019c176b4c9453028db8",
       
  7629 +                               "4a54d9b3589d5340a01e23",
       
  7630 +                               "1a4e5bc143bf00e8928403",
       
  7631 +                               "61f4a55b140e767495cd59",
       
  7632 +                               "25cab751e23d8e69bb5048",
       
  7633 +                               "591bac661062f64b8e3f2c",
       
  7634 +                               "7006ef130d31e12bc44c5a",
       
  7635 +                               "6a23876a8c802d81d83d29",
       
  7636 +                               "7cf9338ca9bcab73862b81",
       
  7637 +                               "e941ecc714605cea72177",
       
  7638 +                               "4839c6454f97ececa9969f",
       
  7639 +                               "672d7083ec424e5d883cec",
       
  7640 +                               "3722a55f27f2c02b34eddc",
       
  7641 +                               "4f72850630f6f8c1a68862",
       
  7642 +                               "1a63315aa52cb254b65ce0",
       
  7643 +                               "5a0c2602dcbbbf468b67e0",
       
  7644 +                               "23f219093e9b0bb3b5217d",
       
  7645 +                               "4f6d8c8b0b9b376d42c4b1",
       
  7646 +                               "7abf68b2e4cc9e3a3b2c5f",
       
  7647 +                               "75f4eb6de0d35eeaa16cf8",
       
  7648 +                               "6a81a8d913b71671629ad5",
       
  7649 +                               "3afeb7cc8f8e5bb8770da",
       
  7650 +                               "2b0fed7a534d25697e5c7b",
       
  7651 +                               "2964973c288dced7dae8fc",
       
  7652 +                               "a6c54d0ec55adb4911efd",
       
  7653 +                               "7e958697030784ae5ddf86",
       
  7654 +                               "7fd4ee663460087b793a80",
       
  7655 +                               "5cafa83a10f929b5076c60",
       
  7656 +                               "452d3dfff11e24bf680356",
       
  7657 +                               "39242760b51f2f93fd4721",
       
  7658 +                               "18ec20d19a478746123b",
       
  7659 +                               "30f4f5617cc73435ce74c2",
       
  7660 +                               "1851e925707895d37a37f2",
       
  7661 +                               "6400e87749e3bcbd750d89",
       
  7662 +                               "6c8879d694e1a0b99f8e42",
       
  7663 +                               "3ecf9d05cd62341c4f7784",
       
  7664 +                               "7895b432001edf846b7b3e",
       
  7665 +                               "7c6b359299af5c59043711",
       
  7666 +                               "13f13f9f2c877cb73ba5c",
       
  7667 +                               "2193bc73ac4b40415c95b5",
       
  7668 +                               "6351b2a5f477112f552683",
       
  7669 +                               "48eaf0293f956717b8f048",
       
  7670 +                               "21a363ab0e08a4336f2e44",
       
  7671 +                               "d8c34dffd92c1a20d6a9a",
       
  7672 +                               "7dc98aa964908b313939a9",
       
  7673 +                               "327b2b8d0b75e0d83a5b04",
       
  7674 +                               "2d1b2f087facf1fbfc7e69",
       
  7675 +                               "6e97dd298eaee757a3cec1",
       
  7676 +                               "504d29ae2e5a021d2bb278",
       
  7677 +                               "5344962f90f45cfaeb1bce",
       
  7678 +                               "767dc9d34c09b03db4a0e9",
       
  7679 +                               "731a7b89f357bfb855a5b2",
       
  7680 +                               "42cd59499a0ef57d6b0009",
       
  7681 +                               "5d711409f3faa9ea87abfc",
       
  7682 +                               "352389083277fbbbe66ac3",
       
  7683 +                               "30a77107da1d91a699e9f5",
       
  7684 +                               "39bf9c3f1f0a1a15264530",
       
  7685 +                               "5ce5e0595ad07c8855357b",
       
  7686 +                               "4499c1c16fec3546d5903c",
       
  7687 +                               "5b8e9d8b290e89e5d9afc3",
       
  7688 +                               "214f18ae0c9aa7a1b8c02e",
       
  7689 +                               "639c2fcec8b9dfcc987387",
       
  7690 +                               "1536906705870049755028",
       
  7691 +                               "e0800809dbab6d41345b4",
       
  7692 +                               "39489c7fdb445490d498cd",
       
  7693 +                               "52c4d1c2ad153a3f70bc0a",
       
  7694 +                               "540f5a33d5aeafadcad19d",
       
  7695 +                               "6081e77fedf3898fd66607",
       
  7696 +                               "584b7d6f0b43ddd0b397e4",
       
  7697 +                               "7d8b341c82b019a8d56c92",
       
  7698 +                               "2478db790ed59756cef964",
       
  7699 +                               "93cbb2483673e4e0dda30",
       
  7700 +                               "18ba9d869c489f11ce52e7",
       
  7701 +                               "52cfcbd15dfc6c476cfc76",
       
  7702 +                               "7ae1d007cf030664c6b815",
       
  7703 +                               "9bea90a26f9e93743a998",
       
  7704 +                               "7e62c15038abb8244531b4",
       
  7705 +                               "3cb748f77d638122329dca",
       
  7706 +                               "1fa330f6dd5f3ca09176ce",
       
  7707 +                               "779559a53e6b62275896e9",
       
  7708 +                               "51a9b0945a0908b1d40d24",
       
  7709 +                               "2b13e041339df4d5a521ce",
       
  7710 +                               "7256923d608836710a659c",
       
  7711 +                               "48a999a2dc1a23a934a6fc",
       
  7712 +                               "ef75fc5d77fc146e975f7",
       
  7713 +                               "a058b3353ac6290d9f864",
       
  7714 +                               "290ac68bec8aa8955b7e97",
       
  7715 +                               "754ffe6bc2e7525e892fe",
       
  7716 +                               "5d7c2a1d1267b7a252da1",
       
  7717 +                               "35714b90920ce6fe1f850",
       
  7718 +                               "456138a50c3717947be48e",
       
  7719 +                               "1e2093f76475f58a2dfd79",
       
  7720 +                               "4d8859f357a36792b7211f",
       
  7721 +                               "3505fcb3eb2690f88b3be3",
       
  7722 +                               "2735b2e6f5f08a9e9418bb",
       
  7723 +                               "4c1f6b587fd26654ea69e1",
       
  7724 +                               "351c5a0b997e45ec21b614",
       
  7725 +                               "1c960c994194a1366a2222",
       
  7726 +                               "352a4a136ebd7ef294f370",
       
  7727 +                               "2df28a1b78b46f16aaf53b",
       
  7728 +                               "29bbe5fdf14e69065cb80c",
       
  7729 +                               "30eff32d49c10f325b8e9c",
       
  7730 +                               "628d18e095a8dbcb9f43bf",
       
  7731 +                               "1efd2b46d4a8724e929fd9",
       
  7732 +                               "13221a23af3045ec5cea35",
       
  7733 +                               "15d4218f4bbf0c95cd9649",
       
  7734 +                               "3f5027ce278d444a4dd243",
       
  7735 +                               "2d5e8f78718c2d4660cc69",
       
  7736 +                               "49cb6ac7a2bfdc54300006",
       
  7737 +                               "a134915353ce113eb72dd",
       
  7738 +                               "479e7025ae3fdc2bbcbe22",
       
  7739 +                               "64ed03e382c11a32e34cf4",
       
  7740 +                               "3d73fd3c3744e9ec5d2d04",
       
  7741 +                               "116da33e19c8b80384fe28",
       
  7742 +                               "68ee183b2208228da8bab7",
       
  7743 +                               "1abc0d15793c655cee4a9c",
       
  7744 +                               "307727bd97c5db086074b3",
       
  7745 +                               "1d6812727d8421d0e03a6f",
       
  7746 +                               "5b39ddb704fa58142076d",
       
  7747 +                               "2f78c0f7e7a90558573941",
       
  7748 +                               "35a3ab4773c5054a30c44d",
       
  7749 +                               "76c132264ad2a774a55164",
       
  7750 +                               "620084c5da2910137e2b10",
       
  7751 +                               "31541f24753a28cc5b51d8",
       
  7752 +                               "52f5adde99e4501e4d1c61",
       
  7753 +                               "779eb73caa637aa28db87c",
       
  7754 +                               "3a89578d6ca992f91249be",
       
  7755 +                               "536be2b3e3829710aec51b",
       
  7756 +                               "53c95b2787b88db0682132",
       
  7757 +                               "4a0fb16cc4d1bdfbb239c",
       
  7758 +                               "8b462e0f7448b549fd688",
       
  7759 +                               "783e0229f219bc18b705e4",
       
  7760 +                               "17dd6e40297f1d32786291",
       
  7761 +                               "4f2cc1f6f7aba8c20a670c",
       
  7762 +                               "479fc9912c9c81152eb474",
       
  7763 +                               "117480f169f81bb3e8609c",
       
  7764 +                               "df7ae04689867c9ad97d8",
       
  7765 +                               "70a1107bc42bfb598164ea",
       
  7766 +                               "557361125249092a7bf932",
       
  7767 +                               "5cd319aa7906a96d2f6c7e",
       
  7768 +                               "72a7ca4a8dc56f9c652281",
       
  7769 +                               "dce90e419e8d3f96eb5b4",
       
  7770 +                               "15bb5d9b44eebb27a1e60e",
       
  7771 +                               "2baeaedf76503008b9e428",
       
  7772 +                               "7aa81a94a5a230cf59a0b9",
       
  7773 +                               "55d7bf2f5724b5dd0a04ae",
       
  7774 +                               "e1ef803b3674bf39884ae",
       
  7775 +                               "1738ee1c8e104064e07249",
       
  7776 +                               "7ce4bd3337a7333159cb2c",
       
  7777 +                               "38110b962a169200cc9f0a",
       
  7778 +                               "1ddeaa1e583e9146210f69",
       
  7779 +                               "cfc86f804a481df48868e",
       
  7780 +                               "55a41153a33cb4649703a5",
       
  7781 +                               "5eb4d93a33b2d2e2c2adad",
       
  7782 +                               "4cd904fd9401eac5ad7f1c",
       
  7783 +                               "502c6a2df8916b18106088",
       
  7784 +                               "6259df76b87ab2eff6659f",
       
  7785 +                               "2f85e68dfb9aea66d7f07c",
       
  7786 +                               "1f1eea8231315133cde938",
       
  7787 +                               "6863984d7793407587e8e2",
       
  7788 +                               "7b5272bdeb1b01fe56bc29",
       
  7789 +                               "26b7df388a02a8279b0652",
       
  7790 +                               "7fe76cd2c5affa913c2b41",
       
  7791 +                               "733b81816da25936e81af1",
       
  7792 +                               "235baa54adcc67af92d06d",
       
  7793 +                               "4e6cb8ec1b00e2f28b3a7e",
       
  7794 +                               "88b8371baafc87a9713f4",
       
  7795 +                               "3b0283be973d59ebf4242f",
       
  7796 +                               "587cce1cbd0dee8b98f262",
       
  7797 +                               "6cfdd09fe2bd66b85c2e00",
       
  7798 +                               "12a3196afc09a79694eb31",
       
  7799 +                               "4feae15528510f186aa1fa",
       
  7800 +                               "449ccc3923e92a0bd2e3ba",
       
  7801 +                               "4f74e7ee01738298062093",
       
  7802 +                               "6ce98c831091728c0e73bb",
       
  7803 +                               "4bfd93fb985a44ed0569f4",
       
  7804 +                               "3c8b04f81e14e10396b582",
       
  7805 +                               "6cf76079225189eb2608ce",
       
  7806 +                               "76e87d4d2740e137511b26",
       
  7807 +                               "c62790b24bc842a717e31",
       
  7808 +                               "516640d56302eb15061b25",
       
  7809 +                               "60c8d2e958387c0d0627a8",
       
  7810 +                               "402c7149b20bce787c7e83",
       
  7811 +                               "64c275af1abda385c2af0b",
       
  7812 +                               "5088a2317aa34dd5bb1b4d",
       
  7813 +                               "67a9131aabd5255bdce732",
       
  7814 +                               "d452f805a2c35e686e107",
       
  7815 +                               "5ef5512b3384aa1243daa6",
       
  7816 +                               "6c1076c01e9e44fb047889",
       
  7817 +                               "46bdbd32d31b2a36e04e0a",
       
  7818 +                               "527456447c2748239033cf",
       
  7819 +                               "356211f56936e183312837",
       
  7820 +                               "449d4feccb40da2e122aa1",
       
  7821 +                               "43ee4b35cb3cdc84d1d5db",
       
  7822 +                               "7651ee2e0f4d348cbe95bd",
       
  7823 +                               "2ef2be0f7e33ace73bab4",
       
  7824 +                               "4b8968b5c5a93dbb4b2b55",
       
  7825 +                               "7d2db742721c9ba686ff30",
       
  7826 +                               "48e4926c40cd6ab5e92ffc",
       
  7827 +                               "506e6a05e8de5c9198ae69",
       
  7828 +                               "74a156e77589342bbef3d5",
       
  7829 +                               "798019b397419c8d54fda1",
       
  7830 +                               "5a7d2dd2aa2028d4da8f42",
       
  7831 +                               "5ebb44d93cb77417b61c4f",
       
  7832 +                               "1630a212afc84f038374d9",
       
  7833 +                               "3ae30b1b5931eb630bbf6c",
       
  7834 +                               "37ba1e609c7b12a8e32733",
       
  7835 +                               "238de3e1606bc0e1c33adb",
       
  7836 +                               "149d706db4fce00c71da76",
       
  7837 +                               "524b77666e02692a642407",
       
  7838 +                               "ac6c9987de6c73f2259d9",
       
  7839 +                               "51c819b9ec191b60920096",
       
  7840 +                               "a961f7b95836d3a578170",
       
  7841 +                               "2bb1db818cfd733dcce0b0",
       
  7842 +                               "51eb043d3564fa91215f1b",
       
  7843 +                               "23693b4063cf0fa20dad42",
       
  7844 +                               "4fbaae68fdb253d715d528",
       
  7845 +                               "69a784edece7c38bcf7297",
       
  7846 +                               "1d595362f3a1b4c77729e7",
       
  7847 +                               "22f18c95264f1fb742c348",
       
  7848 +                               "5637e5d4438a119a23f043",
       
  7849 +                               "75a7fc26a6faacf109b345",
       
  7850 +                               "3a051daeeae9770973713e",
       
  7851 +                               "4b21ef5da2b744139c3cf1",
       
  7852 +                               "471eec9edf3f5af18be6bf",
       
  7853 +                               "341851bd5e48e20f0a412f",
       
  7854 +                               "f125d56d3c0c2aaf7ad05",
       
  7855 +                               "c91beeecaf54c95dc1b37",
       
  7856 +                               "38e1e6200860f4072a8a1d",
       
  7857 +                               "3b3a5f854ba249c04d075",
       
  7858 +                               "4170c011864f5582d6a738",
       
  7859 +                               "17fc45b2690c315a5249e8",
       
  7860 +                               "1bab6e088abbb7a786ff3d",
       
  7861 +                               "1b388caec4f8538425d93c",
       
  7862 +                               "6df80f50564e811e245eb5",
       
  7863 +                               "65a5c9fe061a38a8c6c2e0",
       
  7864 +                               "18e5cae7f3bd61293a8c2b",
       
  7865 +                               "408e6268fcd75479c3bece",
       
  7866 +                               "514d622fcdfc26212b5d14",
       
  7867 +                               "435abcd28c0cfc9f321db0",
       
  7868 +                               "710608c33a517ea5d5359e",
       
  7869 +                               "96cf28ae783cd1e477aa5",
       
  7870 +                               "5685392e26e4e637394c54",
       
  7871 +                               "32f953543bd07093a29e5f",
       
  7872 +                               "6806f2889f5316f4c57e07",
       
  7873 +                               "668c0767178119bd41ac3",
       
  7874 +                               "6e885e79f7b5fe77214da5",
       
  7875 +                               "3915c8d33da94da27c1249",
       
  7876 +                               "762f2aec62b91b262cc99f",
       
  7877 +                               "7ce0b194ba3e31249ab36d",
       
  7878 +                               "5dd52a5a11350a9b7572fc",
       
  7879 +                               "404ae85658f9b08174632",
       
  7880 +                               "7772e0b990ccdc614c11c3",
       
  7881 +                               "573747456cbe53c844796c",
       
  7882 +                               "3cf5810d8c38a097a7561f",
       
  7883 +                               "269c017af27ad44e6b201e",
       
  7884 +                               "2835e7f4b39073c5a451bb",
       
  7885 +                               "ba07dcfdd701f16f45aca",
       
  7886 +                               "1b6a00fcabec41d4b43ba2",
       
  7887 +                               "67da5d093fc207176dbdb2",
       
  7888 +                               "311601fec45703953f2b91",
       
  7889 +                               "483ca240f22946b37af3c",
       
  7890 +                               "758f193f192584a42ebc31",
       
  7891 +                               "16fb077509115b4c0ee442",
       
  7892 +                               "2334ccde40867fa1d0bc15",
       
  7893 +                               "3f0177714af6ab07d870c0",
       
  7894 +                               "697c3f9accda8d3543f182",
       
  7895 +                               "59a5901c521b74864c8fb2",
       
  7896 +                               "17961b8be9d0332a213177",
       
  7897 +                               "69defadcac1e44c7a1c0bd",
       
  7898 +                               "2df92a33b308b4efdcaee3",
       
  7899 +                               "3a603b28f5e57fbfd764b9",
       
  7900 +                               "65c75439faa2303912b32e",
       
  7901 +                               "121daf29269045f5bdd20b",
       
  7902 +                               "7adedaa3d8ff64ef5910ed",
       
  7903 +                               "7b59158d38abcc0653e41",
       
  7904 +                               "63bd657552fcd47a1fea3b",
       
  7905 +                               "3951fc47c9cf417968c09a",
       
  7906 +                               "7b97dd845f9509d060f296",
       
  7907 +                               "67cd089f73cfc8807dd840",
       
  7908 +                               "b17adb15bd895ea825438",
       
  7909 +                               "3860f5646a470f19d720f1",
       
  7910 +                               "1365575dcf06e2b1987b3f",
       
  7911 +                               "5fdf7c6cf80f5f4d619b9c",
       
  7912 +                               "1e86f8d9f30e1c9ee2f741",
       
  7913 +                               "2f4da63191088795366c81",
       
  7914 +                               "1f527bd93add787e619f2f",
       
  7915 +                               "1bf7de225f0abb4eae1da2",
       
  7916 +                               "7eede9c7d2fd05759ff0d5",
       
  7917 +                               "7c4ebd51c09994a5c2702b",
       
  7918 +                               "2f27f9f5b37e53f26a3367",
       
  7919 +                               "1a91f5500bd170effa0820",
       
  7920 +                               "14e76412c1e117fa60f762",
       
  7921 +                               "27869ae6bfa80052e928d4",
       
  7922 +                               "36e5208ae458480078d5d",
       
  7923 +                               "193c88995f60dbabf1ee79",
       
  7924 +                               "55509fd3a52bd88fe29e11",
       
  7925 +                               "60188d16e528a5d2e06d3d",
       
  7926 +                               "3cd40ccabd157073f9e356",
       
  7927 +                               "6f7417b6bfc27461fd2524",
       
  7928 +                               "60f671cf9f662680d04313",
       
  7929 +                               "6a1b97013fc782623a1d18",
       
  7930 +                               "4a5a912df871eba16ca2bf",
       
  7931 +                               "4bafb874450e24655961f3",
       
  7932 +                               "7fa7e63240bd502dd4b06b",
       
  7933 +                               "3ac9b63dfc3067c1c4627d",
       
  7934 +                               "11978ed9a01677cec42ee0",
       
  7935 +                               "6b488f646fce9835d43f44",
       
  7936 +                               "2449f6a2ba5fdac5a9c1d4",
       
  7937 +                               "1fb4d17ac6ee317ce5a547",
       
  7938 +                               "230119c3b2a6b1bafca00",
       
  7939 +                               "5ba00e958e1473bae28031",
       
  7940 +                               "2e0a934adfe422dd136191",
       
  7941 +                               "64af53c3c0ad963e3055c1",
       
  7942 +                               "173ee21e60a88ae566e166",
       
  7943 +                               "c25f982adccb58e81ce02",
       
  7944 +                               "1c0d48f6283945e321fdac",
       
  7945 +                               "15b86ea9fb5f9d46bb9d95",
       
  7946 +                               "12ea1cc2026e4f5211a159",
       
  7947 +                               "4948e72d6c06974bcf7212",
       
  7948 +                               "474d5e705efa51e5e97d39",
       
  7949 +                               "3a928b86dc180342e1f053",
       
  7950 +                               "68570d0c5fc94ab3c18486",
       
  7951 +                               "33294a38a5c8a431b3624c",
       
  7952 +                               "7f5271355a686a4df7e516",
       
  7953 +                               "2176005ea62a7fae1a0ec5",
       
  7954 +                               "7b7ba8150a404335a3e978",
       
  7955 +                               "7ee167869f16d0f3096184",
       
  7956 +                               "37b012fbed4994b5319766",
       
  7957 +                               "5a9897a2da0299756dfdb3",
       
  7958 +                               "22c922d5b0fc736e5f1adc",
       
  7959 +                               "7c793c0d415e26d57ec92",
       
  7960 +                               "11326e189db8b15b0744ff",
       
  7961 +                               "39f2517276288f74c45e3a",
       
  7962 +                               "47b94fbc156b869e9d16b9",
       
  7963 +                               "4a27b941aa4c6ad1e07548",
       
  7964 +                               "796842dd6bfad2f98912a6",
       
  7965 +                               "561331256e1d21664a1287",
       
  7966 +                               "4d3db82b9d6efaedc42576",
       
  7967 +                               "26293d249066a3014c3338",
       
  7968 +                               "29d711357943b0afaa5b59",
       
  7969 +                               "3baf4fa4e9f273acdf732c",
       
  7970 +                               "22f4901fc0a8b24cf62fe4",
       
  7971 +                               "fa65751eb4d84785986bf",
       
  7972 +                               "1c89d8520ef104ebd20ee",
       
  7973 +                               "3251a62ebf3abdb7c9ed58",
       
  7974 +                               "59db917020bf7253782d5c",
       
  7975 +                               "52c455dad0b267d43552f0",
       
  7976 +                               "599102d1f2500d61d762c9",
       
  7977 +                               "77024358b3e776b2c5e1af",
       
  7978 +                               "3248d851d401112b750bc",
       
  7979 +                               "36f20d7e24da8778ce35f5",
       
  7980 +                               "4dbcbf0e0833361017aadd",
       
  7981 +                               "7a6a150f8921047e15edcb",
       
  7982 +                               "5d53571a7cc3688e6944b0",
       
  7983 +                               "3de0a5abf20a4845d76439",
       
  7984 +                               "330bf157841f4554c8f5de",
       
  7985 +                               "7faf5fb28aa48ff83cc07",
       
  7986 +                               "ff765fa35889a47189d5c",
       
  7987 +                               "1bb928a5ce5b6a93e4a6be",
       
  7988 +                               "443f4b4ed3b1f2c8fe8ce8",
       
  7989 +                               "159314ac561f7431a71dd2",
       
  7990 +                               "2ad8da8cd83b1521d7659a",
       
  7991 +                               "2e6c1f41a9866f4d867e01",
       
  7992 +                               "2bf095a2fbcdb3391aec69",
       
  7993 +                               "7286bedeaa0c2687819d8a",
       
  7994 +                               "1a1cfff05adf1a427c023e",
       
  7995 +                               "7677202d8f05f9287a6047",
       
  7996 +                               "144036e909f39a00a79653",
       
  7997 +                               "5d5d0b6bedf48b96c5eb79",
       
  7998 +                               "2aeb5606838c910769daa9",
       
  7999 +                               "36b57535eb2f884ec435f1",
       
  8000 +                               "26639427b4cd468207f354",
       
  8001 +                               "567c07ffdf5609acdc57cd",
       
  8002 +                               "46c6a4606b83331dd733e4",
       
  8003 +                               "214ab6242649bf5f0673b5",
       
  8004 +                               "456b75b7118ddbd9c05113",
       
  8005 +                               "23f47a79fc10179e2f1aad",
       
  8006 +                               "6750d083991451ddf24ddc",
       
  8007 +                               "9a91d432ec896438ac971",
       
  8008 +                               "62cba5cd6ece1fcc005653",
       
  8009 +                               "146e2b3f7404eaa2825f64",
       
  8010 +                               "73a1489a18b0815a03faf8",
       
  8011 +                               "4b81add44caab6287f5254",
       
  8012 +                               "43da9e4b9fc98c3225df02",
       
  8013 +                               "73c9485e5e5379f878695",
       
  8014 +                               "4b0e392a6b94b0716bcb0f",
       
  8015 +                               "627d01094a2553e7bdde46",
       
  8016 +                               "6e1c49a1adf3346b270d76",
       
  8017 +                               "2c11fd859f539479044b3d",
       
  8018 +                               "5ad56a9a03d1277384501c",
       
  8019 +                               "538b76dc0991647c99d6ab",
       
  8020 +                               "2fe38c447768175651bb27",
       
  8021 +                               "2d8207ca3331c2f27a3943",
       
  8022 +                               "ac1c0028dc3aa005da816",
       
  8023 +                               "5830e5e1c9294904118c10",
       
  8024 +                               "4fc1aa30a26bf05e1cf79e",
       
  8025 +                               "37ca6d3b30cb2687e44f7a",
       
  8026 +                               "3fbae766d352bf62d71ec9",
       
  8027 +                               "5b8558cbc60eeb5d4d1e0c",
       
  8028 +                               "3c0ef922648f93834d2bac",
       
  8029 +                               "1f216750a4d1686b3b2227",
       
  8030 +                               "54449f7dccf77fd8f14fff",
       
  8031 +                               "25b4f424465c145a893505",
       
  8032 +                               "1533a8f5ee81c2d4352c6",
       
  8033 +                               "747f5812283a8ba1a43af4",
       
  8034 +                               "42d3b2e606813eb48865e1",
       
  8035 +                               "771e23d6155cbd6574be92",
       
  8036 +                               "6937a623eafb54374944c3",
       
  8037 +                               "7ebd8ffb86035ffa249a5c",
       
  8038 +                               "65a59676f2a0f7f5358513",
       
  8039 +                               "4cc1b8f60c7b3b604dd7f3",
       
  8040 +                               "8c1b60a22d754654b3b0e",
       
  8041 +                               "3542a00727cde7902f64",
       
  8042 +                               "46dbb8e8c99f2d8cf603ab",
       
  8043 +                               "449f89bc8e75ebc93c06c2",
       
  8044 +                               "42fe3f1413aec51428fb64",
       
  8045 +                               "6ea50d7820cf1c46cfdea8",
       
  8046 +                               "5e81e2ee54fa1c8e9216bf",
       
  8047 +                               "3cdbf096f176a11d399e68",
       
  8048 +                               "1b8c58018b9ec962054ab0",
       
  8049 +                               "292e4d75da1a76fa4eb730",
       
  8050 +                               "23f737b6f1527cfce0303e",
       
  8051 +                               "1f2e34fd7020d08b01b7f2",
       
  8052 +                               "1103bc87eb4e4e572c882c",
       
  8053 +                               "4796fc52e00fbc5d65fc02",
       
  8054 +                               "6ecdfc4db1fa1b0104403a",
       
  8055 +                               "5d780dd5bc1f62ed520130",
       
  8056 +                               "403ccf27d3ff3c3686d654",
       
  8057 +                               "7a42533b0f16560c421482",
       
  8058 +                               "3c52f4c6c583d5b2a18105",
       
  8059 +                               "32e84128c0dfcdebdcfc5e",
       
  8060 +                               "db6d45038525122246c3a",
       
  8061 +                               "7e9e8be590540d41cb48b7",
       
  8062 +                               "4dac5ec68e30db33d790b3",
       
  8063 +                               "4a9951c3005ac4b7d775a5",
       
  8064 +                               "8d7ac16a6c7fb5dcaf362",
       
  8065 +                               "7a7267a5eeee00421b1bd7",
       
  8066 +                               "14b9cf8ea7c2a2aef663e9",
       
  8067 +                               "7a75465db2452d11dbf6bf",
       
  8068 +                               "49da4e6814895f7566132",
       
  8069 +                               "6ac2b95852f2b3848657c4",
       
  8070 +                               "29f43cc681e11325bf172b",
       
  8071 +                               "41d82e9988854950bdb48c",
       
  8072 +                               "6f5834f39b940405114e26",
       
  8073 +                               "754181ae9689816d4fae85",
       
  8074 +                               "394398fcb25e82a48b8d32",
       
  8075 +                               "693e564c43456862d84db1",
       
  8076 +                               "5fa8c4e879ae9ef5c6f178",
       
  8077 +                               "3937d6181e67f43d9bec08",
       
  8078 +                               "4bd73bb75df0b9c8f31e93",
       
  8079 +                               "417a5a771b0fe4694065d",
       
  8080 +                               "47ddc74fced651c57b4d1f",
       
  8081 +                               "7746c161815ab2091d9e21",
       
  8082 +                               "72216a00ebfc9de1e963c8",
       
  8083 +                               "74c5b771dcd8c4719355d3",
       
  8084 +                               "450dcdc45566039112cb21",
       
  8085 +                               "1ffc37c5751a51bd676a97",
       
  8086 +                               "553adfba4c4a6d20491557",
       
  8087 +                               "d65fa4e9fad0f9180af7",
       
  8088 +                               "6151a60a864edd0e7c7b30",
       
  8089 +                               "57a6c26c5e5dea61f133ee",
       
  8090 +                               "39f0a0674e65b2cad4a706",
       
  8091 +                               "29105da153f2a098ad094b",
       
  8092 +                               "c16242d78c3d8fbfddea4",
       
  8093 +                               "235bf7672a2cda1ab01fb3",
       
  8094 +                               "3faddb5ddd2bdc683de72f",
       
  8095 +                               "75964f1abb3f7cc93e9f96",
       
  8096 +                               "62019722b2962f2ad1787f",
       
  8097 +                               "67427f6921fbdb98c3e375",
       
  8098 +                               "2a0c42a5cba7fe55a006e5",
       
  8099 +                               "2bcf3f6e0be988750bc0c3",
       
  8100 +                               "31cc33f2d92bb3dc73372f",
       
  8101 +                               "553e86c66c2fba13b95f56",
       
  8102 +                               "75f53c77a2d34dd51c6882",
       
  8103 +                               "6f8c0ef46d2275dfe7e84f",
       
  8104 +                               "5c1c9591ed7cecac5be504",
       
  8105 +                               "e0fd267f226bcb77b4105",
       
  8106 +                               "1aa73126a375b6cf5e8b5",
       
  8107 +                               "5e4eaaa44cce4760757194",
       
  8108 +                               "a15cce75efaba6c1b571b",
       
  8109 +                               "7f779a7314dbb8bea5c652",
       
  8110 +                               "2359b0102f9a1f774278d",
       
  8111 +                               "20bd84ec27cae248ea38a3",
       
  8112 +                               "38a3fd25a6d9f4f7c85efc",
       
  8113 +                               "2117da386a0ba848e04619",
       
  8114 +                               "6db55a7581d577d97e45ef",
       
  8115 +                               "68437c168764f9b52e36f",
       
  8116 +                               "5574ce6446f5f9b2cb3ade",
       
  8117 +                               "2a8fc7a338bd0e95e61238",
       
  8118 +                               "6dd1e30b456df046e42f20",
       
  8119 +                               "360136af955e5fa1edc1",
       
  8120 +                               "403c97fd7a8e612b101803",
       
  8121 +                               "e8a31983f38b3bc04d83f",
       
  8122 +                               "2fc4119b8d9484cd86a0bd",
       
  8123 +                               "23b23c226ec7148e9ecfd4",
       
  8124 +                               "40f14f4642441c80c723a2",
       
  8125 +                               "255da48e767df6db73178f",
       
  8126 +                               "5f4ee2c7a7d447e781b997",
       
  8127 +                               "4945531dd0d285dff322e3",
       
  8128 +                               "58de9434dcaeb21007cf50",
       
  8129 +                               "4eb92d6051c08bfec28d32",
       
  8130 +                               "46777bd089a8dc8c44ba66",
       
  8131 +                               "155305c9e80b8231f3fea7",
       
  8132 +                               "27e0d5b6d5b01b974468e6",
       
  8133 +                               "3337445fe49877ddd94c8c",
       
  8134 +                               "23ff36317f41cdc69b5f8c",
       
  8135 +                               "5798f45a6d32a5d9e220c4",
       
  8136 +                               "6b1b87bf69d8ba16154459",
       
  8137 +                               "d959366c9d2eed9c988e",
       
  8138 +                               "7914f6f164e20860badddb",
       
  8139 +                               "fca586b3bb595a8d4101",
       
  8140 +                               "68bf1a165a85b17f192a39",
       
  8141 +                               "7b94e69ecfb1ba4bdf42b9",
       
  8142 +                               "363177aa4ad204478f4d2e",
       
  8143 +                               "4ec109ed0d029a0c6bd1c3",
       
  8144 +                               "ccd4be560162041ae08e2",
       
  8145 +                               "3e7a71b985de5c6c7a9f57",
       
  8146 +                               "1dcb001f06c75da3270a59",
       
  8147 +                               "7feefa2c38e3a6212b4cc2",
       
  8148 +                               "58a47971604afebfc2dfe",
       
  8149 +                               "175182c7cd2ce431b0150e",
       
  8150 +                               "1ff2197a0e5b3d0b65c928",
       
  8151 +                               "497b40c11c5d479cab5f20",
       
  8152 +                               "5448bba652328fd63e3ca2",
       
  8153 +                               "748cb85b7df9ca5a82d4a0",
       
  8154 +                               "5b60aca7fe85259aa048ba",
       
  8155 +                               "68bba5659f4f20356a0cad",
       
  8156 +                               "16a2f9f4e53133020d693f",
       
  8157 +                               "75df623177a9cc914a680f",
       
  8158 +                               "dfa61531c98e389318ffc",
       
  8159 +                               "12502410f917e813c566e4",
       
  8160 +                               "385c720d2080ae9544a074",
       
  8161 +                               "15c5021e3387b5104eda39",
       
  8162 +                               "6ed402123cbfe00df8030b",
       
  8163 +                               "4e9e415c8033fbf3989b6d",
       
  8164 +                               "1ead4bf29c5aa1e11118b1",
       
  8165 +                               "3eed8387e5a22f84995caa",
       
  8166 +                               "6207f87b59fc321d1fa8c5",
       
  8167 +                               "5527388c03206dff6a464b",
       
  8168 +                               "232706fb395f1e37b2683d",
       
  8169 +                               "5eacde9e13242553f24977",
       
  8170 +                               "257f0dc17de9e402db5577",
       
  8171 +                               "26c8838f41263334d39302",
       
  8172 +                               "5ed2c798bc4d3df9693b4a",
       
  8173 +                               "59048c7bc400c1b2f055f1",
       
  8174 +                               "60ea199093a4e9f80613b6",
       
  8175 +                               "3fdb397b831af56c0902f1",
       
  8176 +                               "47be6483decbcd32c50b44",
       
  8177 +                               "715687651f6925a41a3bf1",
       
  8178 +                               "5c585a64ca68d89750e9da",
       
  8179 +                               "1f5e885344b51456b2195b",
       
  8180 +                               "5d2602e9c7bafe79929bee",
       
  8181 +                               "25b65fbcf4deba1535165c",
       
  8182 +                               "4bba04cb6f7dfe33e4bd",
       
  8183 +                               "4e1dab19fafdbf4d11123",
       
  8184 +                               "3b79806e60c6443e5b75ae",
       
  8185 +                               "28390f3626b1fdadbcbfd8",
       
  8186 +                               "2ac5b705311ca0e8e6bcda",
       
  8187 +                               "21cbfd5db5cf856bb6980a",
       
  8188 +                               "31340daa6bee66dc702e47",
       
  8189 +                               "4520d49550bf0a2328020f",
       
  8190 +                               "6a91ca9f24a59bd3f77cce",
       
  8191 +                               "590c069f4d458da38448fb",
       
  8192 +                               "4eca5fbd35a4778cd18f80",
       
  8193 +                               "288723d0eb9a25150c0772",
       
  8194 +                               "6bd55e81cea4df6934b8f5",
       
  8195 +                               "684e96f56360b04576ab1f",
       
  8196 +                               "10c2f27dd2e5d8f77a071d",
       
  8197 +                               "78b61404bffa36b135773d",
       
  8198 +                               "9b13c11e290284a86caf",
       
  8199 +                               "415d623b63f929b3ef879f",
       
  8200 +                               "4dd2e16c6f9989907671be",
       
  8201 +                               "72e3a111047449df428c07",
       
  8202 +                               "27c4576460764aabe86ca",
       
  8203 +                               "509ca3fe7eae200044712a",
       
  8204 +                               "1488492f946cb788d721d6",
       
  8205 +                               "5fd2fb0300581c5f59fa7c",
       
  8206 +                               "cae1cd222ac38b9a89a19",
       
  8207 +                               "62a4fc7a9af2d27e92b08f",
       
  8208 +                               "2dd86ec9cb242b4e68016c",
       
  8209 +                               "615326e14c6c74c717def2",
       
  8210 +                               "454b67d8b7470679eeda79",
       
  8211 +                               "359b739ee10f4c4f24e721",
       
  8212 +                               "6714be0beb22d71708c5e6",
       
  8213 +                               "571cc10547604b09ba9b69",
       
  8214 +                               "64981a92737099a91d3794",
       
  8215 +                               "58b898760417610a09ff41",
       
  8216 +                               "5e1c654c63269bdc77fee1",
       
  8217 +                               "37e704706a7967491e3628",
       
  8218 +                               "76a279212b584d95ed2cd0",
       
  8219 +                               "64d1d7c43b00bfc99b8bb2",
       
  8220 +                               "524919eb6636c6c6c14a82",
       
  8221 +                               "4176799b704bfacae7d897",
       
  8222 +                               "2113e1a93f5d2f1cba0377",
       
  8223 +                               "47626057be8af9d92cef74",
       
  8224 +                               "31fcd9e9b87aae6bf32f83",
       
  8225 +                               "2cf0b3c6e55d4f6c794d8f",
       
  8226 +                               "2f36ea2bf51461b1407878",
       
  8227 +                               "2840ecdbeaf847ed4e56fd",
       
  8228 +                               "4dba440f7f398ce0198b25",
       
  8229 +                               "6ef7e0b470470f565c088f",
       
  8230 +                               "58a41d74e16c1b1fb6cbf",
       
  8231 +                               "68b020f430372f0b20817e",
       
  8232 +                               "396792f2585d3e823623df",
       
  8233 +                               "171772c43b172c6f59b4ee",
       
  8234 +                               "35da7f1fc27e6edf7e2774",
       
  8235 +                               "5fe19870cf156902f09ea2",
       
  8236 +                               "4a99080981fd90fd8f202c",
       
  8237 +                               "4fb7ac8e103e64af4c501b",
       
  8238 +                               "32124e45d595b542218cca",
       
  8239 +                               "4cbbf282cb8d5b492509da",
       
  8240 +                               "26e8b6fae1b81184be307f",
       
  8241 +                               "4019e2ed5f4f686e75a334",
       
  8242 +                               "aebf119c49f1f5d4fa77",
       
  8243 +                               "214de8b9e305b92a9ebc6a",
       
  8244 +                               "155503fef8a8a42650f8de",
       
  8245 +                               "4cfa062853643ca21aa8e4",
       
  8246 +                               "210804240b673797c1da0b",
       
  8247 +                               "4499b6e3311b7fe5b9c98e",
       
  8248 +                               "904098cdbfd4389279e30",
       
  8249 +                               "575c81fbd5408f583cec84",
       
  8250 +                               "2cb3e5c4dae6b173319195",
       
  8251 +                               "411254ef95bca10cdc61b9",
       
  8252 +                               "14266a10ce4302dd32d262",
       
  8253 +                               "14a25dabe8f8f9bd2745b5",
       
  8254 +                               "7c2bf4a989b0889ab6c2ee",
       
  8255 +                               "7bb42f21df6b474c926cab",
       
  8256 +                               "4edae7063e31e196fbffc4",
       
  8257 +                               "706df4fd50e1c42994aed3",
       
  8258 +                               "312ecee1519b0617d31186",
       
  8259 +                               "32f8a36cc1b46c25cdcc28",
       
  8260 +                               "6cc9f90d012be002904668",
       
  8261 +                               "69498de156a0aa10a4e2dc",
       
  8262 +                               "6bf558bed09b770ac7b7db",
       
  8263 +                               "45166035762ea541feeea1",
       
  8264 +                               "2bcddd9fb0f98505c98aa9",
       
  8265 +                               "56b71258283af76e7bcfab",
       
  8266 +                               "3349dac2077bfdf6a12d86",
       
  8267 +                               "39450177cdd3980c4efafa",
       
  8268 +                               "4ebe9580f66ecfa62bdae4",
       
  8269 +                               "2d2c322dac49b5fc4277a6",
       
  8270 +                               "63a2efcfe030b5eb3fd526",
       
  8271 +                               "2327087d544749f348c909",
       
  8272 +                               "3d49c943bed92220933501",
       
  8273 +                               "2501ea3eadb12569e01e7e",
       
  8274 +                               "7c2fed1746d715eb95529",
       
  8275 +                               "3adbdefe2bc4d894d3eea5",
       
  8276 +                               "574f9294e066c8fdb761b7",
       
  8277 +                               "69527863032c1ba7d7e238",
       
  8278 +                               "78778c448d7d69eeff19c7",
       
  8279 +                               "63a482d47b34384d6c0abf",
       
  8280 +                               "37120883f03d674fbee3d7",
       
  8281 +                               "46789b05c1e88afd58b2c6",
       
  8282 +                               "62e55ea318373ea102e458",
       
  8283 +                               "7bfe5c12baaa86c60d8117",
       
  8284 +                               "6c065cf636d6bc65762095",
       
  8285 +                               "45109475272b0ee96581b7",
       
  8286 +                               "1b4e22a54398ec5712c2f5",
       
  8287 +                               "c0bc8c55f3b95e521ebf8",
       
  8288 +                               "614224558d52e5d4eb23b8",
       
  8289 +                               "532cc2e0afe1d979c42a70",
       
  8290 +                               "6e48887c0bee3ba8386f63",
       
  8291 +                               "726d30610282ed39d8f203",
       
  8292 +                               "53a902325a9087232d64a1",
       
  8293 +                               "6e72d626e97997cb842159",
       
  8294 +                               "1fa48382ab305e0404adc",
       
  8295 +                               "3d3a2d2ef7d22dc8adb10e",
       
  8296 +                               "59aab11c164124e5cdf604",
       
  8297 +                               "7529b300b4b89c580a5f62",
       
  8298 +                               "206a9c38358f291b01e407",
       
  8299 +                               "47267802b4baf11a616d7b",
       
  8300 +                               "1d50b663f8750fc777a8a9",
       
  8301 +                               "4113025c4b26d50d501a53",
       
  8302 +                               "21e6a33067365b1e718020",
       
  8303 +                               "1e3f1f00ee5c87d8bcc6a5",
       
  8304 +                               "37902c15fea70cc2588984",
       
  8305 +                               "330554538efb3452d928d9",
       
  8306 +                               "eb12a34ffd8e97426aebf",
       
  8307 +                               "7f53a40fb6d59c55fc0a6a",
       
  8308 +                               "2ccc62a5fe0c2d164b78ac",
       
  8309 +                               "3a82f64175d5b3caec9c53",
       
  8310 +                               "676d8d92a92b0706da21e1",
       
  8311 +                               "5c91f707bee21c71c33c34",
       
  8312 +                               "2ab6145578df975521753c",
       
  8313 +                               "6e20ab59697e8bf608ee9d",
       
  8314 +                               "96afde4db924db62eec7",
       
  8315 +                               "2d980e097ecb2ab91b9b92",
       
  8316 +                               "352a1b67a355f38121c462",
       
  8317 +                               "7c3ad9d6ed54817d082b65",
       
  8318 +                               "65e071aa89e8e9caa17f",
       
  8319 +                               "4e4d1094ae9ce9f42b1d71",
       
  8320 +                               "6d82429df8c04f3e8cbdea",
       
  8321 +                               "201a5f031183f9e3136174",
       
  8322 +                               "4b31d20ed3a1f68f117d30",
       
  8323 +                               "309eb70bbb47b20185134f",
       
  8324 +                               "bf1c05f166718be1c6836",
       
  8325 +                               "29dc0e371f2a3ea6cf4d60",
       
  8326 +                               "610a799f5f9443dd8f333",
       
  8327 +                               "7ca0b74cff2de67657aaa1",
       
  8328 +                               "31018337a926110b0a5b91",
       
  8329 +                               "3c066553be4fa2a741db4d",
       
  8330 +                               "194fc13ec819c9e2289cea",
       
  8331 +                               "3c7d066200b6ae5892048a",
       
  8332 +                               "768b4e15703c2b99a95ee7",
       
  8333 +                               "66673b06f4474ab9ac84e3",
       
  8334 +                               "75b60c74c3f4835e0ba3f1",
       
  8335 +                               "282bde17894173789173e7",
       
  8336 +                               "6b386c8a9795cf0b45e160",
       
  8337 +                               "1984882a708094eb26643e",
       
  8338 +                               "7e84a589b79843d0f09d89",
       
  8339 +                               "7f30d40bb0193bcc3bff38",
       
  8340 +                               "1e9e640158c2d5ef405818",
       
  8341 +                               "46f7147d837df6469c39be",
       
  8342 +                               "717a62d953937ab8d63ef4",
       
  8343 +                               "29d27ddd5f46b0a514ec85",
       
  8344 +                               "7f5d5abee4ea627ca346c",
       
  8345 +                               "1ba30d22d8ca0e3412c0e7",
       
  8346 +                               "1b892a6bc6d106036dc210",
       
  8347 +                               "78208a8be2c33504df2573",
       
  8348 +                               "2d92e146c92e5c2141114e",
       
  8349 +                               "65ccc844f43d7740c3bb83",
       
  8350 +                               "6cbec7ee27571943d99309",
       
  8351 +                               "7ab8d7968452d732fc3362",
       
  8352 +                               "51e871e33b066886db1e57",
       
  8353 +                               "70cc62d0a35cccb85972ee",
       
  8354 +                               "7db23dcfd5b48847b2da44",
       
  8355 +                               "38863908f348e0ff24d2ea",
       
  8356 +                               "5f7998cdc984bda089a530",
       
  8357 +                               "593ba411e3481cff090a6e",
       
  8358 +                               "30c01b8abdb9d98a7941dd",
       
  8359 +                               "46861d4c2ab5de181f3e32",
       
  8360 +                               "2f44e6e7eed452c1b02ade",
       
  8361 +                               "31e4383d0d65d0adfc3084",
       
  8362 +                               "44b51755bfc5410d6cfad6",
       
  8363 +                               "2b89a454954d4c6b2e2120",
       
  8364 +                               "7a1817cf8f21c4f863437a",
       
  8365 +                               "1ece2489d9c16fd0d7c093",
       
  8366 +                               "7fd049d0f5d16bca84fbf0",
       
  8367 +                               "284cbec8937114a1728cdb",
       
  8368 +                               "2a6ced30aaeaaa3957eaf",
       
  8369 +                               "41ec16a5c725c7d32d3a8d",
       
  8370 +                               "2c1cf6d476ed98aad97b90",
       
  8371 +                               "715fb02624875de3ce495c",
       
  8372 +                               "3d325eede75d0a573042e2",
       
  8373 +                               "4550a8c9126d63e137546e",
       
  8374 +                               "116c396589d81e0684d5a0",
       
  8375 +                               "48ad93093caf03d61b0aa8",
       
  8376 +                               "29bfa87365d098b3fe8377",
       
  8377 +                               "3e14120ed24ebae50e64ef",
       
  8378 +                               "1924697a3681efc60e8e70",
       
  8379 +                               "1e1de465daadd9547d63fe",
       
  8380 +                               "32c9397c9adff65d943965",
       
  8381 +                               "41ff1be99bebe99b10f273",
       
  8382 +                               "cb351e8f1a28278af3af8",
       
  8383 +                               "5939fc19fad9c14c8917a9",
       
  8384 +                               "634af4f8ff5eecb70f9b3b",
       
  8385 +                               "14b126e3c0b0f4dae2ddfb",
       
  8386 +                               "39bc9fe63b4ca1891dbe7f",
       
  8387 +                               "3b77afb6ec85d92608bbc9",
       
  8388 +                               "6308b8f5574126f70ec3cf",
       
  8389 +                               "2928531ef291fb90d243e3",
       
  8390 +                               "7d43897c9a717ea4ffaf53",
       
  8391 +                               "542f3c6130072ffd145c0a",
       
  8392 +                               "57b79cb347145bcbe43bcf",
       
  8393 +                               "68855602ae559673b8a2dc",
       
  8394 +                               "77f657453333dfbed3c7e5",
       
  8395 +                               "1fb7c568bdffd12b767330",
       
  8396 +                               "abbcfb2e4c3da6b090978",
       
  8397 +                               "36224c16a9190272a21e14",
       
  8398 +                               "47df2e03e1548a16e223be",
       
  8399 +                               "f6c4daf384fb3d39aa985",
       
  8400 +                               "6978fb86dcb4ccc82a3738",
       
  8401 +                               "670c6449f82194e5367c1d",
       
  8402 +                               "75a29d53450973ae07e5b6",
       
  8403 +                               "1a0cc5d78d1da3759fd0fb",
       
  8404 +                               "319945f43efa75c6d6fbd6",
       
  8405 +                               "4a8154e2948099e7b7c4c5",
       
  8406 +                               "2353c3f920ce7af530f96d",
       
  8407 +                               "781973046ae51aa956a060",
       
  8408 +                               "21789b3595bc366315af2",
       
  8409 +                               "4d63e68650d056d4e2cca2",
       
  8410 +                               "6eceb600a9b81fd3aa7175",
       
  8411 +                               "2021e0329a909a39851fe3",
       
  8412 +                               "45d43d697cb8503c85839a",
       
  8413 +                               "7489fd5407cd56abfcfc49",
       
  8414 +                               "57bcb68e1f52791794bf4b",
       
  8415 +                               "71db6b9125d5ab5b3e7493",
       
  8416 +                               "4e72dcffc8f26eb136b7c7",
       
  8417 +                               "890072ab6d3eb608d30ea",
       
  8418 +                               "2f1b9eb8c8ceec3aba8c3f",
       
  8419 +                               "269ad3cfbd18bd255786fd",
       
  8420 +                               "7e18b1dc04cb3af247aa31",
       
  8421 +                               "43cebcc2f248fc1fcbd6b4",
       
  8422 +                               "1b9995439565d095eb8a8c",
       
  8423 +                               "66e2564796168c2d0a015a",
       
  8424 +                               "13c9d1e81de8cbb64a1797",
       
  8425 +                               "657128352843035ba5fee1",
       
  8426 +                               "58c411222783451febdf82",
       
  8427 +                               "2970c6e86dd017c5341ddc",
       
  8428 +                               "7bb1913bf745fa526f18a8",
       
  8429 +                               "4d0a046c7ec4f54117f367",
       
  8430 +                               "36f24af02e5318171bea53",
       
  8431 +                               "9cf05f6855d4068390948",
       
  8432 +                               "1107ffccdffb2932659325",
       
  8433 +                               "2ae1383e51812f870ebf41",
       
  8434 +                               "3aa6d80b7b4477df65330a",
       
  8435 +                               "6cc6a998d40d1bad211cd",
       
  8436 +                               "7d58cee39bf1830f1b3ec0",
       
  8437 +                               "dbd1bb9693e65c5eeef4a",
       
  8438 +                               "4385d494a7bdb154810c4d",
       
  8439 +                               "4a64cce2fc4633dbb63e09",
       
  8440 +                               "3e9654e3940c0f541b93cd",
       
  8441 +                               "1207aa2a4ea7c882b5e76f",
       
  8442 +                               "43bc8bffd5b4fa12491d7c",
       
  8443 +                               "7df66ef2eea696dbe6ad95",
       
  8444 +                               "4e203019ba4b94cd691d60",
       
  8445 +                               "61978b574cf8f6d53118d6",
       
  8446 +                               "14816e04a6b799d1ce9e1e",
       
  8447 +                               "5c699bfc1a98ced38d7c88",
       
  8448 +                               "509dfa92ab81408672391b",
       
  8449 +                               "2025bd13134bf0ca69b0f6",
       
  8450 +                               "675948e6670907b03227ed",
       
  8451 +                               "90bd6d6fef2e358a664bf",
       
  8452 +                               "2f1dd3930a2948f2187f86",
       
  8453 +                               "6336954989b8a716380f64",
       
  8454 +                               "2655fc5da8cafdc10e8c6c",
       
  8455 +                               "be26e79f27c2fffd5718b",
       
  8456 +                               "7568ac37df7da28c47bab9",
       
  8457 +                               "3128342c1cd21185c739db",
       
  8458 +                               "1318f3d7743d8ee4ecfdb2",
       
  8459 +                               "26102582959271955d45bb",
       
  8460 +                               "1118a89d656497538996f2",
       
  8461 +                               "4d74065738715d35d47743",
       
  8462 +                               "2644cda468b716b53c99d1",
       
  8463 +                               "2aec8efef6c41604b67a83",
       
  8464 +                               "76393b1564fa2cd841480e",
       
  8465 +                               "87eada956963224c06418",
       
  8466 +                               "44f34a642236b1e7e4c8fe",
       
  8467 +                               "5edc4541d1854504d071a",
       
  8468 +                               "4a292844d7aa26520c09b1",
       
  8469 +                               "1526a67a2f54717285cebc",
       
  8470 +                               "7decc101d84d7378c8efe2",
       
  8471 +                               "1f8889a7c0321f5279b37a",
       
  8472 +                               "71d26320321cdb1dc925e0",
       
  8473 +                               "b8385ec48f904d72393ba",
       
  8474 +                               "4a2cef4e3606d1b9422334",
       
  8475 +                               "db7255fca12f37c452ffa",
       
  8476 +                               "4374a87512bdcb27925ebe",
       
  8477 +                               "99539a5120bf06fd3edb8",
       
  8478 +                               "4f7806a65676c896ee7db9",
       
  8479 +                               "365cb247c96e7933341e76",
       
  8480 +                               "7964fb4049b23d750b6f0e",
       
  8481 +                               "48cd6ee15c4874d342b21f",
       
  8482 +                               "221728332d3142e3346be",
       
  8483 +                               "198d839621f761dde4f853",
       
  8484 +                               "259839d29faddb791e3548",
       
  8485 +                               "15324434e27844cc4fba51",
       
  8486 +                               "60e351e7834b181d30a00c",
       
  8487 +                               "6337453f9c180b8ddb37c4",
       
  8488 +                               "608a29bc043b54adde90b0",
       
  8489 +                               "4cb0c7462e90f28fa251d",
       
  8490 +                               "b5f14620587f1e8ed5a45",
       
  8491 +                               "3c994e655edabd5cfbe8b8",
       
  8492 +                               "35ebfb3fd5a71979daee0c",
       
  8493 +                               "2a1abd32897155b55014be",
       
  8494 +                               "67d12b5d61741b8623f378",
       
  8495 +                               "21469f9c49fb4d2fb54baa",
       
  8496 +                               "728aa131a37012e184c2b6",
       
  8497 +                               "6f085a8f46a66e79fe4f92",
       
  8498 +                               "1a95aa2ba56c053acf7e56",
       
  8499 +                               "1f1c7eef9d0f99e1e209db",
       
  8500 +                               "5b57bc12988f27dd0ed418",
       
  8501 +                               "5e9464fbce6027257d92c6",
       
  8502 +                               "41be4715ccf6dde8b12086",
       
  8503 +                               "25ff556cf1afefe2cd2ba9",
       
  8504 +                               "59f67a0c66d5e9744004c6",
       
  8505 +                               "23c20aae79c2ffaa75a36c",
       
  8506 +                               "574f95a475dce62a3071ca",
       
  8507 +                               "4a98326f880a44e2d6ea5e",
       
  8508 +                               "39f7a72e1daced6411b1a6",
       
  8509 +                               "37a4477749686070e7e049",
       
  8510 +                               "51524048af5a6750b1955",
       
  8511 +                               "43012f86bfa02bf0033ee9",
       
  8512 +                               "4253e27061630b9343ddfd",
       
  8513 +                               "520db901eb8309582e12a2",
       
  8514 +                               "656f70349417ef562616d7",
       
  8515 +                               "13cc5c5fa7afb2b7468106",
       
  8516 +                               "1916345f1ad90cf48c6472",
       
  8517 +                               "a80defe299bf7c4d81738",
       
  8518 +                               "673a9bc1330de8c0b0abe1",
       
  8519 +                               "226f7d490aa9d47314570",
       
  8520 +                               "4762e175d924ca1dff7d06",
       
  8521 +                               "79ae8d3a65221805ed59d3",
       
  8522 +                               "65838019d10030d2edd34c",
       
  8523 +                               "46d2651ce40dd1fdd11e69",
       
  8524 +                               "4277911fa0e430960db091",
       
  8525 +                               "5370ef9f2399e3c803b5a6",
       
  8526 +                               "69110081782c350722756f",
       
  8527 +                               "be2266f15dfa6e02e4a02",
       
  8528 +                               "7c64411c354fca180b974e",
       
  8529 +                               "3669075c083d3a0547d7ee",
       
  8530 +                               "49212e86ec70f1b328e11a",
       
  8531 +                               "70628248b6cda7311de5ca",
       
  8532 +                               "5593dc730a3a85d6ce77d2",
       
  8533 +                               "4a2416a8cf412f996e9654",
       
  8534 +                               "56f01f51a5be66f649b1d6",
       
  8535 +                               "1c7c6456335bb722881302",
       
  8536 +                               "4f571e68d11ba0c201ec2c",
       
  8537 +                               "2f615de4e96f8f9837947f",
       
  8538 +                               "9cc0a7524feb44aafa989",
       
  8539 +                               "13705ad9594243161047cf",
       
  8540 +                               "358734094106c4c77371f8",
       
  8541 +                               "48384f03b178aecb456dbb",
       
  8542 +                               "336699d6c6f15f6ab914e2",
       
  8543 +                               "5dd2532249188dbe3d2539",
       
  8544 +                               "520d412f22645bfa3f3a33",
       
  8545 +                               "45838fc0d9bd4e814df398",
       
  8546 +                               "5d172643cb569d9b2ab357",
       
  8547 +                               "34470b1eee2f871c42ba71",
       
  8548 +                               "16103ea0d454ef686ebf4d",
       
  8549 +                               "31e4aec6d42e52c762e301",
       
  8550 +                               "217d231f2ea4bf28c97e44",
       
  8551 +                               "15bef1b795296c7e8862d0",
       
  8552 +                               "225461e731f47cbf2cbf5f",
       
  8553 +                               "520f0b6932233966b7bdb1",
       
  8554 +                               "6db3eec1da4e57eacd7cf4",
       
  8555 +                               "5728f13fbf1367c5292a3a",
       
  8556 +                               "7856c391e8828b90a94afe",
       
  8557 +                               "6b36296c1bd668243e920e",
       
  8558 +                               "2f8aa359ac5538f4834ed7",
       
  8559 +                               "208dfefbc938eb8f166f28",
       
  8560 +                               "6506edb4005521bcb61671",
       
  8561 +                               "202377a9328fcb8f661a5d",
       
  8562 +                               "6f4a829757301eb1143585",
       
  8563 +                               "5baffc06fe51f5caa49a4c",
       
  8564 +                               "1c24006c67392d350aebe9",
       
  8565 +                               "a3d31a1daca53878fe695",
       
  8566 +                               "6a3f78db4e25085a772f7a",
       
  8567 +                               "423813f9eb92bfadf14d9a",
       
  8568 +                               "60548a10984139e59f5d8a",
       
  8569 +                               "ee2c219af9300476a7d41",
       
  8570 +                               "6a4862d59f8198b4ea0fd5",
       
  8571 +                               "76d72d56a09f253d257f0e",
       
  8572 +                               "52492b4a4856d777ca0682",
       
  8573 +                               "2dd44a6d1765874cf1dbb4",
       
  8574 +                               "73040349f8459e94069012",
       
  8575 +                               "6c290f053f3f46327ee8ec",
       
  8576 +                               "6d575f1601945a3ca29eb8",
       
  8577 +                               "3aac1aff3b6e14d31a91e7",
       
  8578 +                               "4972dfe88d7e4fb02ffe72",
       
  8579 +                               "5a86321f172c81fbf185ef",
       
  8580 +                               "50b37142bd10ca63ad3866",
       
  8581 +                               "50148cebf8644fa7375aa",
       
  8582 +                               "322164812a5696cb2322b0",
       
  8583 +                               "4303859a49916073987344",
       
  8584 +                               "bac1f8bfa0e63045ec3ea",
       
  8585 +                               "67b770c97867478cc69b37",
       
  8586 +                               "2cd2d00d4262f35754bb13",
       
  8587 +                               "678fb8bf7f6342c5764339",
       
  8588 +                               "656e5b10b9da085176e0e4",
       
  8589 +                               "59dbf0c177e94a664cfe3b",
       
  8590 +                               "1f8b63c5fea99ffd6a5348",
       
  8591 +                               "4debfa77d5d5f3fa106f86",
       
  8592 +                               "147a0d7fc26817e7251ada",
       
  8593 +                               "3f26224827d27901ba392a",
       
  8594 +                               "24364b397921eedc03333e",
       
  8595 +                               "361de61b4e6057d1cb2274",
       
  8596 +                               "14b5583a83133add54d368",
       
  8597 +                               "6ead11e0936e4bb4e855e1",
       
  8598 +                               "30e484fb4ce5927a937373",
       
  8599 +                               "571513666bf5e4e0b1c7c0",
       
  8600 +                               "4be11f1cd60954626093b7",
       
  8601 +                               "775bde6bde2d0aa4187fe7",
       
  8602 +                               "5a1b57c203d09cc8a22696",
       
  8603 +                               "5d5e844e1fd78c36c3341e",
       
  8604 +                               "33b05c78a18798e4462d45",
       
  8605 +                               "624f69e6f91d2b9574cb8",
       
  8606 +                               "172e3a20b269ac416b7186",
       
  8607 +                               "1f08599df3ce28d2e2a99",
       
  8608 +                               "3d50a612150493864e2df9",
       
  8609 +                               "42e82d8613957e0acb2b09",
       
  8610 +                               "50e45902fe1a308ec88670",
       
  8611 +                               "23db937264552bf6dc2858",
       
  8612 +                               "6395a035a6a5e009dcf586",
       
  8613 +                               "23931a4d64503bc81a5a33",
       
  8614 +                               "f6074b1e17e08713a2a46",
       
  8615 +                               "1e604eea4a6fb7804d131c",
       
  8616 +                               "246e8276fd64f7af18402a",
       
  8617 +                               "7fdefc35775213402acc91",
       
  8618 +                               "31f0df7953457ce90524a8",
       
  8619 +                               "731437b69ca76a93992caf",
       
  8620 +                               "3559d5470cc8be88bbee52",
       
  8621 +                               "2a6da3e3f6425cc4caf185",
       
  8622 +                               "384ac895940651e4b3df31",
       
  8623 +                               "20cfa0c6bfbdce5e399a70",
       
  8624 +                               "72f290cf9ea470dcec1318",
       
  8625 +                               "77ae05c9ad4bb1a82ee6f6",
       
  8626 +                               "33f6606f82062475e2caf5",
       
  8627 +                               "373211f704832f37df113f",
       
  8628 +                               "c663e7994203d116af45d",
       
  8629 +                               "25b286320c27c0f91c388",
       
  8630 +                               "2219a8eabaec2cc4da44cf",
       
  8631 +                               "3fa82c77c11ef3ce373a08",
       
  8632 +                               "6c65a41601a28b4854db0b",
       
  8633 +                               "398768a52710b109c92dcd",
       
  8634 +                               "45e67b0777cb6facf28d74",
       
  8635 +                               "21ac3ebe991cfe1bade37d",
       
  8636 +                               "6db9060a2078f4de4b4e1b",
       
  8637 +                               "1f6a141f6eb54cb95d54af",
       
  8638 +                               "68c1092ddd7cea180b7a8a",
       
  8639 +                               "e5d22d0ba9e3194e2337d",
       
  8640 +                               "68075aa010a2a7afcb2078",
       
  8641 +                               "577a2773ebc9e2412cb050",
       
  8642 +                               "1634b76faeb97237505ef4",
       
  8643 +                               "1aadb770481974ec7ba970",
       
  8644 +                               "42a1f9791054781a203d9b",
       
  8645 +                               "7a520385f587099a8da6a1",
       
  8646 +                               "1a88cb781abea4a70cdfa7",
       
  8647 +                               "655b44d3a92231714b14c8",
       
  8648 +                               "651be8b59b15d629ab774a",
       
  8649 +                               "550e4c9178e5dead2f815e",
       
  8650 +                               "ee736adb9b9c1860d483b",
       
  8651 +                               "ceff6274c7b15ae86dcc",
       
  8652 +                               "214d49f3e2681b232cf62e",
       
  8653 +                               "2330589e6c22439bef95d1",
       
  8654 +                               "7e1ce3bec1e98dd35947ed",
       
  8655 +                               "72118d192add3aa4c1e0b6",
       
  8656 +                               "67daf6ba4dc4d74236df77",
       
  8657 +                               "d16f53a28b7042d305524",
       
  8658 +                               "6f52ff1c7f6dba719401b2",
       
  8659 +                               "6ebb0dee9291bd90cd2215",
       
  8660 +                               "78dfe864170ab14a408743",
       
  8661 +                               "601b382825c1515525a19c",
       
  8662 +                               "2e5ffe59b5dd3843fa4c17",
       
  8663 +                               "2bf32012cc6354c709ad2",
       
  8664 +                               "669f3588d7a4ca7ee3dd1f",
       
  8665 +                               "3de21ce46f7c8be3bab3b9",
       
  8666 +                               "432c0a15a9dc31696b79c7",
       
  8667 +                               "349470b19ee7a8cf922b33",
       
  8668 +                               "3c53d6131f8c41d5d7317b",
       
  8669 +                               "5e83dc6dedd0679793feca",
       
  8670 +                               "54c245a123767ef7f22e33",
       
  8671 +                               "563e208513fb23ff9ca7d",
       
  8672 +                               "b512df0270e6ffe2d4a9f",
       
  8673 +                               "b0715d55fe0c1edd9613b",
       
  8674 +                               "c0ecef4f88f5957d4b1b",
       
  8675 +                               "c8806bb60205886d4ff9d",
       
  8676 +                               "32c2902887e1700cd5dddb",
       
  8677 +                               "49d6a78a88159326775c2e",
       
  8678 +                               "56359d56dcb06ea3ab68ec",
       
  8679 +                               "2d794034e6ae324ba7041c",
       
  8680 +                               "64f201a4086e40b2a3a19d",
       
  8681 +                               "7eaf34148ada80711a86fe",
       
  8682 +                               "2142584bb5cff6c1e5011e",
       
  8683 +                               "15060a6e69612092d45768",
       
  8684 +                               "4de3353d33028c5f557394",
       
  8685 +                               "70594464b46de9acc11f02",
       
  8686 +                               "1fc064c4398ccf6bf7b1de",
       
  8687 +                               "51cf9e84f5414c7907e79a",
       
  8688 +                               "71be60f1312db2fcc7f045",
       
  8689 +                               "5fa826fd6352f83c34bb5e",
       
  8690 +                               "62baea1b89700a3953e872",
       
  8691 +                               "4a266217d4534cc588119",
       
  8692 +                               "7bc0acaa724475da5a8a83",
       
  8693 +                               "3d9a1023138b0e9cbe7d70",
       
  8694 +                               "388d8c3c958b6abcbf6aba",
       
  8695 +                               "98079c36403a029b3f0bd",
       
  8696 +                               "72716051b13a2c1876c8ef",
       
  8697 +                               "515a0593d1e619118d226b",
       
  8698 +                               "2a035934ba5fafe2ebaf47",
       
  8699 +                               "316bc661e89aeb9e7e20a6",
       
  8700 +                               "25330fc3e5df50eee77cd4",
       
  8701 +                               "6c8071fad8933706efff6c",
       
  8702 +                               "3669984e1ddcb753afb878",
       
  8703 +                               "4781781ebc739ed9d4e35",
       
  8704 +                               "3915c71f3b447b64ce4513",
       
  8705 +                               "726dd56f61c4c5016201f9",
       
  8706 +                               "7b8ff43621b7fb13c3edd2",
       
  8707 +                               "2bfe7376e8ab62fafbff59",
       
  8708 +                               "207cf80fa76e8708f88dc9",
       
  8709 +                               "3a4a4ac73bb38c0c48aea2",
       
  8710 +                               "52e6bde0fed2ecd82f7bf",
       
  8711 +                               "523ee7b96bbc2b0977b4f",
       
  8712 +                               "551b691726c66f9ec1f9e8",
       
  8713 +                               "361fe28e640ec02ae49613",
       
  8714 +                               "71e1aa5a9aacb38b66f605",
       
  8715 +                               "d427f0f9d14ecf4c54fbd",
       
  8716 +                               "629e9c894bbbebf06d3299",
       
  8717 +                               "37f7d323d5bf332eed1bcd",
       
  8718 +                               "7fcd5bd9328b9f06223a1a",
       
  8719 +                               "744db8f7e25f69bc47f2cb",
       
  8720 +                               "4b0d1ff6297b378945b906",
       
  8721 +                               "7c1d3420db42a6ffd37cef",
       
  8722 +                               "2f8592e02ef759cdd34c72",
       
  8723 +                               "4dac1ce4b87e60431b8a4d",
       
  8724 +                               "451e904c04882b739d233e",
       
  8725 +                               "5bb2eece8c95a515d2e2ea",
       
  8726 +                               "797d4c38129f52836fa5c7",
       
  8727 +                               "5d29345f097e1dc041bc7f",
       
  8728 +                               "6b25878a1ec102b9e883f1",
       
  8729 +                               "610d07557d991d9db3dea7",
       
  8730 +                               "5d3293ca54de6a3aa06b08",
       
  8731 +                               "62e4e44df51bf11734aafc",
       
  8732 +                               "1945686d70d9df98093dd1",
       
  8733 +                               "2c16632a312edfedcc7f72",
       
  8734 +                               "19675db116558d90bb4f6",
       
  8735 +                               "620c14b60053b660420c4b",
       
  8736 +                               "39a26bf8336439ba9968b4",
       
  8737 +                               "376c7a8d0fa0abf4c0bb7c",
       
  8738 +                               "7f2209419e3163fbb4cd8a",
       
  8739 +                               "6aece787aae5251b57b3ae",
       
  8740 +                               "6b380bf5d71fe523ad1e4d",
       
  8741 +                               "2306ed04565a9cf9fa84c2",
       
  8742 +                               "7e37a126be9507ba4c717f",
       
  8743 +                               "67ae2ace35fde529154a8f",
       
  8744 +                               "352d204330140b3786230b",
       
  8745 +                               "6927c4b12865ac8f053dcb",
       
  8746 +                               "7e61e3317d07a1009894dd",
       
  8747 +                               "2768a7a783d9baa4e5cce3",
       
  8748 +                               "260213253056e29f0ac6e3",
       
  8749 +                               "61539cf7b388689e7a260a",
       
  8750 +                               "3d9131aa5802e27a83eb61",
       
  8751 +                               "5f87453deb48ed6c9a1afa",
       
  8752 +                               "418b73330a3b4d1a80474f",
       
  8753 +                               "5cd3a1cc8bf78e4c7e3747",
       
  8754 +                               "784bdef1566f244d4ff44d",
       
  8755 +                               "2c4bac0a0cf06ff50ff71e",
       
  8756 +                               "3608208e4497b40a62b3a0",
       
  8757 +                               "6e8b2732511303a48ef731",
       
  8758 +                               "1ef9edb1f958cdf81fb9d8",
       
  8759 +                               "4bdbd2765933e2b1d70563",
       
  8760 +                               "b2687172956319218655e",
       
  8761 +                               "4f787847feba11bfcbc764",
       
  8762 +                               "49ede33966bc3f0dc8757c",
       
  8763 +                               "12a2fa8c4d06a694b748c6",
       
  8764 +                               "2146fc84389596cf6fa8ca",
       
  8765 +                               "536bfe32ac8da07b253be0",
       
  8766 +                               "773a63e6b7c9e3bec91272",
       
  8767 +                               "6bc6acd592c0200b749e07",
       
  8768 +                               "3d28e1c12f9c60e500dce7",
       
  8769 +                               "5687a42dcd55b43227f657",
       
  8770 +                               "36b36922114363ceb85a26",
       
  8771 +                               "51e267e9a5a7684ebfd343",
       
  8772 +                               "5b4aec35da23a27808974",
       
  8773 +                               "2e684b7951a2526d838fd7",
       
  8774 +                               "62b2e70d411eb11bf0a695",
       
  8775 +                               "6473dbfbe4a3f63d08e3f2",
       
  8776 +                               "661787ba011711628186b7",
       
  8777 +                               "7234cde8ecc6673caf864a",
       
  8778 +                               "1e39f05dac576881e6c295",
       
  8779 +                               "420c1c0074adbe0616df4b",
       
  8780 +                               "177f43e8d62e87c66b9da",
       
  8781 +                               "10fafca3d5f71faff8f1a",
       
  8782 +                               "43dcb4450a256b9a0eb673",
       
  8783 +                               "460372cf36a22fb6b9641e",
       
  8784 +                               "a4d6bd96f61637d730c9c",
       
  8785 +                               "1754f51aa79c3b0803bf00",
       
  8786 +                               "65fe3a22c7d35ad3f875e7",
       
  8787 +                               "150c29ddf5483fb74be06",
       
  8788 +                               "716991a2a17f536244885f",
       
  8789 +                               "475131d01f3e6dc3b169fe",
       
  8790 +                               "569bfe59efe21364bf57e7",
       
  8791 +                               "75ac7a48082d5afa148e7a",
       
  8792 +                               "63f5fe049f46d509d141d8",
       
  8793 +                               "2b90f954efc9f58a07a363",
       
  8794 +                               "39c167fbee27f65e96cc7e",
       
  8795 +                               "1db83df0a168bac450e4f8",
       
  8796 +                               "127118c35aaf80dac2a57",
       
  8797 +                               "20601a054af9d51633fab1",
       
  8798 +                               "728cea43531fbac95263a5",
       
  8799 +                               "ff53eda132c9a3cfecc65",
       
  8800 +                               "786d54b4d5ce74ddde20a8",
       
  8801 +                               "1175d70c2c07855db37245",
       
  8802 +                               "2cfcb08879a9aecacf316e",
       
  8803 +                               "ecef39a1ef4b4d1e8c6dd",
       
  8804 +                               "70357dabf2c34c8309c723",
       
  8805 +                               "4db4f1a602cec485019670",
       
  8806 +                               "735a03f218370f8bd85ee7",
       
  8807 +                               "3c9ecb18a83b901f901704",
       
  8808 +                               "4c7d0db8193430b75f41f5",
       
  8809 +                               "28eb082844c0ed277d2520",
       
  8810 +                               "a3cfbf8b779e15bf28c99",
       
  8811 +                               "624d49c04a48d42d76c466",
       
  8812 +                               "221bb5afe07669d916e136",
       
  8813 +                               "358d745e0bc4be1c3f4586",
       
  8814 +                               "1ce2a05bccecd36df96b64",
       
  8815 +                               "362261ed7c97591714ea9c",
       
  8816 +                               "20f6e36fbf07174b587397",
       
  8817 +                               "12413ef53ba7fc6fb5cd35",
       
  8818 +                               "3dd366ce71f1fed428c326",
       
  8819 +                               "b66201b62ddf6d13c5534",
       
  8820 +                               "3164747c95104338a78b5e",
       
  8821 +                               "5ca6e41b81529e38a59f6d",
       
  8822 +                               "3834a1b7acb0f05d9e53ca",
       
  8823 +                               "3a2f442f3b3a9a2af00b28",
       
  8824 +                               "270dae1c5ccafaa07ae8ff",
       
  8825 +                               "71e916ff79204bdad49695",
       
  8826 +                               "4d43f85ff03e3cd18ef302",
       
  8827 +                               "2a2b13112979d27489208e",
       
  8828 +                               "442eb4a36ab0287728c1d2",
       
  8829 +                               "4dd985f2fef5c539fa6a96",
       
  8830 +                               "522619b83283553c71de74",
       
  8831 +                               "794294f26a938e1caf3c0",
       
  8832 +                               "25d1c185377c3cd8e704a2",
       
  8833 +                               "3e7db1002a9116a5e20032",
       
  8834 +                               "720aa7a7bdeaa025a23a54",
       
  8835 +                               "70f2550983dbddb8957b2d",
       
  8836 +                               "57aede4ca861e5051b15ea",
       
  8837 +                               "52f87910ef7e6dde1f16dc",
       
  8838 +                               "79c75783449d733d93b4a7",
       
  8839 +                               "5186a4a6ce8351b40466bb",
       
  8840 +                               "1208a98ea1dd68a01d3ec8",
       
  8841 +                               "3d66483aa6674adb6569c3",
       
  8842 +                               "728caa6061cb6ff29e6b21",
       
  8843 +                               "3ca90695aca0fd32b28871",
       
  8844 +                               "18eecc5a940548e7c51e57",
       
  8845 +                               "cb8a50376e8204b8b5ea9",
       
  8846 +                               "7731327e4c6ae66c8e47a1",
       
  8847 +                               "16f732c5fac8192629ddb6",
       
  8848 +                               "13b16e69e645c1703bf7c2",
       
  8849 +                               "789addf402241ff646d77d",
       
  8850 +                               "169566a480e42dcc8863ac",
       
  8851 +                               "5ca4bcb81d4d03018b177",
       
  8852 +                               "8ea7f70a71ad46c0c260d",
       
  8853 +                               "4a67b54dcc404423e6b631",
       
  8854 +                               "7b609aae44a59cf088c570",
       
  8855 +                               "59fdfd7775c9750e48d811",
       
  8856 +                               "5738f30e5cb40b4ed83e60",
       
  8857 +                               "78b5c76a3ee8c2ef071fa1",
       
  8858 +                               "2ff21a8761b9bce5f34f74",
       
  8859 +                               "71af54a2496a076b559a6a",
       
  8860 +                               "11f2c34fc87060adca2837",
       
  8861 +                               "4476f33d15e77d3ea6c712",
       
  8862 +                               "1dc0a99973375f6c4a4583",
       
  8863 +                               "5cee3684d600afc7804db0",
       
  8864 +                               "20fe6d6e332154329f831c",
       
  8865 +                               "1b9850e5f0f8fec4d967b8",
       
  8866 +                               "6b5617e9152db554d999bc",
       
  8867 +                               "144303d93b170584849f6c",
       
  8868 +                               "8a006b686db9c86eb0756",
       
  8869 +                               "1d9a776cbeec9f5dec9407",
       
  8870 +                               "503f8d64438b7a99b8de08",
       
  8871 +                               "7b084b907f4fc0301dbd5",
       
  8872 +                               "dea3527d089eceb4c22e3",
       
  8873 +                               "38a39ada5dac01b5c2adf0",
       
  8874 +                               "4cfeaacecd47507ead712a",
       
  8875 +                               "3ff99310762f37d685ca95",
       
  8876 +                               "492683ece46681328f9912",
       
  8877 +                               "27c1b7b41af947101d694d",
       
  8878 +                               "39a95d47cf87d7d7d6bc8e",
       
  8879 +                               "48b438b41e1bc7e58e6ef2",
       
  8880 +                               "7b0ba619013363524f168a",
       
  8881 +                               "557bc3fd4a1a6866c5d19c",
       
  8882 +                               "46ef25878ebd3ab0b864d2",
       
  8883 +                               "70044b2b283269e2d14166",
       
  8884 +                               "47226da695602ab6e77894",
       
  8885 +                               "142fa830b7ba88d08608e3",
       
  8886 +                               "3019d2c9a4a70055fade00",
       
  8887 +                               "6bd645b33c041537bb5186",
       
  8888 +                               "3fc3e580d2ad754a34bc48",
       
  8889 +                               "5e8a5f959be2a17534c9bb",
       
  8890 +                               "5a2cdb29cc6790b45d1f04",
       
  8891 +                               "1c28b93f693054a06fb391",
       
  8892 +                               "242cca5b643a5f97a01a20",
       
  8893 +                               "48a0fd415822566b2ecfbd",
       
  8894 +                               "308ab3a2c4d7f4df4b6a31",
       
  8895 +                               "4566810f52dbdc6e52d908",
       
  8896 +                               "53cf166384d9f967e4ee4a",
       
  8897 +                               "32a9d4d4f421cf83f9237a",
       
  8898 +                               "7f4b55a70795b9d26512fa",
       
  8899 +                               "7222af7c6bff611029c53a",
       
  8900 +                               "718c4a4aea9ee0da236930",
       
  8901 +                               "71b31c9be0276caacd1146",
       
  8902 +                               "4d89a145aa9c4acc9cbc8c",
       
  8903 +                               "26b549a59dc35ee5ea7b82",
       
  8904 +                               "59308e5db85655d5ae0c4",
       
  8905 +                               "2f63eb0fae8122aa717440",
       
  8906 +                               "4346fce81f02878bbc28d6",
       
  8907 +                               "3a0c64739838b20476e0bd",
       
  8908 +                               "389f7a523536bc08e2c52e",
       
  8909 +                               "1a756f67d7e3e663369a04",
       
  8910 +                               "732b807455afe5538cf678",
       
  8911 +                               "421e7c19466e0847ffaea1",
       
  8912 +                               "75aa7d0184dbe8ff376045",
       
  8913 +                               "178e61138a7396d55d224e",
       
  8914 +                               "2a07033e306623cf4e37d",
       
  8915 +                               "25d293607604db30df2e4e",
       
  8916 +                               "1e6b9387cb8fb6494ace9",
       
  8917 +                               "524a00dd634d2f57ac7c6e",
       
  8918 +                               "106fdb273227296116f40a",
       
  8919 +                               "47efddee37fa0ef6a72a47",
       
  8920 +                               "2a17c7297a08a3839ca0e1",
       
  8921 +                               "4c60164f9602341914167c",
       
  8922 +                               "656c647508629462e9a821",
       
  8923 +                               "54e5b2458bb84fd7d4433c",
       
  8924 +                               "15a3be22e80e0f6f498608",
       
  8925 +                               "152b3e507f8b7898991275",
       
  8926 +                               "10cc6c74c4f9fcc9428f7f",
       
  8927 +                               "7e185faaca849a7f135848",
       
  8928 +                               "62ae26dfe2273af99c4830",
       
  8929 +                               "7255e6805e164cf9788cce",
       
  8930 +                               "49b4801e9a2a64a27691d2",
       
  8931 +                               "3fd90efbd4f0a4e173f589",
       
  8932 +                               "4afedaa595cb8c309d3fbf",
       
  8933 +                               "c57749387141da5f8fd27",
       
  8934 +                               "1ba28761d3577e14d38b38",
       
  8935 +                               "10a61010d82426d21109af",
       
  8936 +                               "4d23f5ec809ab5057c2705",
       
  8937 +                               "31e9d0607a42f7e54a8c81",
       
  8938 +                               "37107b083cae132372e4d4",
       
  8939 +                               "16eaf321bf41ee635d6d46",
       
  8940 +                               "44bf623ac807d4c96747f7",
       
  8941 +                               "b720b9f07a6b1f41654e1",
       
  8942 +                               "68705a826f80224f09c337",
       
  8943 +                               "798b816a4dea5ab964c64a",
       
  8944 +                               "2adb843a58d472c17edcb6",
       
  8945 +                               "17c5a39deb46d102235506",
       
  8946 +                               "70c9c69419338ba44d6b8e",
       
  8947 +                               "858c45884b129dd66817a",
       
  8948 +                               "7ffd3daf76b1e818134f24",
       
  8949 +                               "5b509a0106f1d06627c353",
       
  8950 +                               "4d6d3f3602597781bd2ea0",
       
  8951 +                               "4fb33de912dd8d2f8b8081",
       
  8952 +                               "2b7758dc0945a30687fabe",
       
  8953 +                               "38271b1467ee062bfe15c1",
       
  8954 +                               "1d41ed28d87d24620da24",
       
  8955 +                               "5b80c6e1a5c4dcb3166335",
       
  8956 +                               "560e1e8aafcab315236068",
       
  8957 +                               "31204f9f1e25342bbe28db",
       
  8958 +                               "35d63c19d36b85b5e96648",
       
  8959 +                               "38aafca45b266dbeef6fc5",
       
  8960 +                               "426b930b670412d271a091",
       
  8961 +                               "59f2c50a64b0c2a3e77442",
       
  8962 +                               "7cb4b7b324b314195807c8",
       
  8963 +                               "4a1381ccb93c34dc44cab",
       
  8964 +                               "14da57f8c43c94d5133d50",
       
  8965 +                               "499a1abb2a1381278175e6",
       
  8966 +                               "6334fc3ff70d17dd837781",
       
  8967 +                               "6717c0177a36454aef446a",
       
  8968 +                               "7bd177160999a650655c6e",
       
  8969 +                               "2acc282877d9cac38e38c3",
       
  8970 +                               "18b021fe09fa8bdc44e567",
       
  8971 +                               "45638582a87d07b0339df2",
       
  8972 +                               "664ad54353749f2ad36105",
       
  8973 +                               "5c53790457f0f66baaae2f",
       
  8974 +                               "1edb6eab35de11d4922150",
       
  8975 +                               "38c3b4008c9d0442e7b602",
       
  8976 +                               "76dcede51c5087d374b20d",
       
  8977 +                               "1901320882ec0093fcda5d",
       
  8978 +                               "68f5ab17da1cc5dda22c36",
       
  8979 +                               "4e4199871aec7ec1f99895",
       
  8980 +                               "68d4b88b77dfae0da7a5d",
       
  8981 +                               "a4f6b861d9a460f5b65a6",
       
  8982 +                               "f7cdb22a187815c33c5e0",
       
  8983 +                               "7b398d970ad745817bcb61",
       
  8984 +                               "2e061928a5c3ad9bd6d9be",
       
  8985 +                               "5be7c40d96f7c97153eaba",
       
  8986 +                               "21887a11425a371d17db86",
       
  8987 +                               "2cc7417260782c0d2394d3",
       
  8988 +                               "6b421c0667b336723fc0a1",
       
  8989 +                               "1d78f3d7e887debfa04bf3",
       
  8990 +                               "1d165ccd9ac1e4efca4a32",
       
  8991 +                               "163690a8fd51b113410cc0",
       
  8992 +                               "419d9a35dec3e5f421baef",
       
  8993 +                               "215c7e9a1d796b37a56336",
       
  8994 +                               "541a69af40655a83e366ca",
       
  8995 +                               "3f98705d2cf6346bf00972",
       
  8996 +                               "4ba668ebddeaa069043875",
       
  8997 +                               "2aad9e8261535baeb20b71",
       
  8998 +                               "6766e290c73bba54bcc710",
       
  8999 +                               "65118f1b7c366a8bbffcb8",
       
  9000 +                               "7d88a8aadc667bc60fcb2e",
       
  9001 +                               "16d8ad198832545831c93f",
       
  9002 +                               "567508a3d2a7b4fe3b395b",
       
  9003 +                               "3282cc1545c9e77ce08abd",
       
  9004 +                               "57d0cd94e03404b9cc57cb",
       
  9005 +                               "14f23f2aade2de50fb350d",
       
  9006 +                               "280bf57e6ab95037683d33",
       
  9007 +                               "15db077682cfbf170ce259",
       
  9008 +                               "2e1709b850c77f2d508334",
       
  9009 +                               "34ddcae84938327a3cbc30",
       
  9010 +                               "ba357a389bca1484d7e54",
       
  9011 +                               "bc149e667cbe5a17ed77d",
       
  9012 +                               "25032025485a4979b90394",
       
  9013 +                               "467db4fe225847525ef33f",
       
  9014 +                               "54112eabbed42ad31637c5",
       
  9015 +                               "14b68001dbf2f798322812",
       
  9016 +                               "7146b897c3d924725bd0cb",
       
  9017 +                               "6a76e3eb445dada83ceb12",
       
  9018 +                               "30abf45ef025352e681192",
       
  9019 +                               "2f687a83227d2d20f3b227",
       
  9020 +                               "186605e063004c7e4a9375",
       
  9021 +                               "21ba4c5acd17d59fca0ed6",
       
  9022 +                               "2cad73640590abfa319b6a",
       
  9023 +                               "5db729c46c687ddd7690e6",
       
  9024 +                               "73673685484b4f3492976d",
       
  9025 +                               "282a80b8de04941c547168",
       
  9026 +                               "4b53718060040e8179d82",
       
  9027 +                               "5d50e00035655b4d4ddcb7",
       
  9028 +                               "546ec9785ee72a2a72d886",
       
  9029 +                               "4328d17f00529ea0fead97",
       
  9030 +                               "71faf2ef0654e97e0c23fb",
       
  9031 +                               "49374e550d8b335cb151d2",
       
  9032 +                               "42772160e3ea402851c9c6",
       
  9033 +                               "c1fd8fe80d24243e7b5eb",
       
  9034 +                               "111d6b945ff69be530cfca",
       
  9035 +                               "2dd21df4dbce295378bd06",
       
  9036 +                               "3d8509040aa8739f034dac",
       
  9037 +                               "68d439e82561e55cbf1eed",
       
  9038 +                               "65a1f7025bafea5088145c",
       
  9039 +                               "5f70485b00138272e9a41b",
       
  9040 +                               "48ede8d4a9a88f7613388e",
       
  9041 +                               "1de402b5c6118ec8861aad",
       
  9042 +                               "50f371336a648ade74999b",
       
  9043 +                               "17da7c01f870089371d6df",
       
  9044 +                               "2f64ac4f819f8343111866",
       
  9045 +                               "648ea8b083a9828f8af17f",
       
  9046 +                               "28d6cf3e20845dc7283634",
       
  9047 +                               "7dfd6cbe22024260a179ef",
       
  9048 +                               "65ab167d8e02a8df26439e",
       
  9049 +                               "79d07c6a6298d34020dfe7",
       
  9050 +                               "55407685456c2cb8311d26",
       
  9051 +                               "413278937e6487a988805d",
       
  9052 +                               "168ebadbade1cbc44496d4",
       
  9053 +                               "7d6f33ec4a123fa281cabb",
       
  9054 +                               "59bc93698864451646a053",
       
  9055 +                               "4d1a8b95ded29dc79fd401",
       
  9056 +                               "21b466e3230d809af7aa6b",
       
  9057 +                               "35fa1fca985387fb7fcd19",
       
  9058 +                               "1a789636807476ba5bd789",
       
  9059 +                               "7b115c7c405c6e4356bac1",
       
  9060 +                               "378ef780c4d32c3f15b3c3",
       
  9061 +                               "23dfbd70bcc040f36d4c8d",
       
  9062 +                               "6a545ca829ed278f6ee7f4",
       
  9063 +                               "c06cc01bfe2a9b427102e",
       
  9064 +                               "126dab6c2bfc9b83475847",
       
  9065 +                               "15bf0eb485af1135b0e453",
       
  9066 +                               "3b929cf6fdabeb45375120",
       
  9067 +                               "11c773ac555182d789142c",
       
  9068 +                               "444a50dba1a2bf390bea1e",
       
  9069 +                               "1976a9fa25af6d21cad47a",
       
  9070 +                               "2f88b1c87d7d02f6c2614d",
       
  9071 +                               "7fa540fb3906a29b513bed",
       
  9072 +                               "2b23443976252ed21088d1",
       
  9073 +                               "5d9383670de64bf15eb49b",
       
  9074 +                               "1540f88099c93111d6c8cd",
       
  9075 +                               "2c33c53227ef5693d69f36",
       
  9076 +                               "2648a635c5981b8daca07d",
       
  9077 +                               "7b71ed8d456ee35292c960",
       
  9078 +                               "62c36a3627b9d2b3c18de1",
       
  9079 +                               "3e985c35adacaa90f5715b",
       
  9080 +                               "7401d0da6ddc33225bec4e",
       
  9081 +                               "740f62900b9523de37b6b0",
       
  9082 +                               "3aaa2c73e60edc333c904d",
       
  9083 +                               "35accc5a1e3fb474285daa",
       
  9084 +                               "1d85b86a2f3f20e2832ec7",
       
  9085 +                               "6dddda58fac4e8afe0c9e7",
       
  9086 +                               "2fd82a7276af1cf8b372ed",
       
  9087 +                               "9377e0e5c8d0de1856f6c",
       
  9088 +                               "75266a81bf7f77865e6f",
       
  9089 +                               "1de1227159008ec9b59ac1",
       
  9090 +                               "1b5200adee3adf189b056e",
       
  9091 +                               "4d8b0cd0d3401fd04e351",
       
  9092 +                               "438e5a19094bce43b5b5ae",
       
  9093 +                               "6f339aa4d977875b1f1f80",
       
  9094 +                               "297ac1b2d19eb1e6e32d87",
       
  9095 +                               "638d0229863032ef249643",
       
  9096 +                               "65c9be7a29bf45e5992a7e",
       
  9097 +                               "7dcf3e6b7d3d02033c946d",
       
  9098 +                               "6565aab9eaab16f7430411",
       
  9099 +                               "374a0e75bc76f0adac7af5",
       
  9100 +                               "8649a3995ad114bb4d72f",
       
  9101 +                               "45f5960a9db06a62821bf0",
       
  9102 +                               "36735381ceff20a76e32eb",
       
  9103 +                               "1416e580fa8bcb421dc6ae",
       
  9104 +                               "64f00973a0eb117b548182",
       
  9105 +                               "7507998b275e3c9bd4e10e",
       
  9106 +                               "305213c4b30a9e8be153ce",
       
  9107 +                               "233860a2ed2d566e131431",
       
  9108 +                               "235809998758cf7e4acb1c",
       
  9109 +                               "2102dede4011c5cfefb7eb",
       
  9110 +                               "79486109c44990eca52723",
       
  9111 +                               "43b23b71c3202b31d91018",
       
  9112 +                               "63606d420b8e8397875647",
       
  9113 +                               "697396e6df9539532709dc",
       
  9114 +                               "581eb843dc9919f85a6644",
       
  9115 +                               "3b98704f287b0ee4e659aa",
       
  9116 +                               "3886dff828cc76dd830466",
       
  9117 +                               "1c9f86b8742e14b6caf79b",
       
  9118 +                               "bafe681e7e52073b86d32",
       
  9119 +                               "1a5853834033d093c63d55",
       
  9120 +                               "736d05572fd4ef85eca2b1",
       
  9121 +                               "61170002cc409ddc34946c",
       
  9122 +                               "5fc3c4b7f7ad5deab829bf",
       
  9123 +                               "4597c1546c899a3656689",
       
  9124 +                               "6667dbaf666f92bd61da79",
       
  9125 +                               "a2e07f9d73c5e3effd370",
       
  9126 +                               "63942ffcaaae948e9056c4",
       
  9127 +                               "6a7db7fb47d3a18b620d6",
       
  9128 +                               "58b95d74eb4e654735bebc",
       
  9129 +                               "78a4c0445f77f31209ed17",
       
  9130 +                               "7203cc213679d179eabc35",
       
  9131 +                               "22884c181cdc222cad8e5c",
       
  9132 +                               "7f8bc7233e2784039454db",
       
  9133 +                               "aa2cbd696160321682a6c",
       
  9134 +                               "4356ada1ada2921353892",
       
  9135 +                               "72f7dab0b2d2a35e62478a",
       
  9136 +                               "32e5682bfa3fd95762512b",
       
  9137 +                               "77da1b5a2124b6c9e11847",
       
  9138 +                               "593c091517fff61973996a",
       
  9139 +                               "264e4b26d39119bcdc0985",
       
  9140 +                               "fa33fcce55fe6a32e0915",
       
  9141 +                               "127c199cd032273073f003",
       
  9142 +                               "169665894aa2b356779b61",
       
  9143 +                               "9dfe57d1a9a3265476d14",
       
  9144 +                               "364f70dfdbb439b78e5236",
       
  9145 +                               "54fb5f18b6d001ef7be401",
       
  9146 +                               "321e3fdbb0b890caadc570",
       
  9147 +                               "64532524c99ecb3c365a41",
       
  9148 +                               "aa480c5cc76379e0cd2de",
       
  9149 +                               "6ac2b70efaf88fd42c4044",
       
  9150 +                               "6810dd5945e01cd2c90841",
       
  9151 +                               "10aab6ed7d1b631aa4b45b",
       
  9152 +                               "19537a8ee281cd28d6388e",
       
  9153 +                               "5ba2a8023e5bb50b06e03",
       
  9154 +                               "646ce329dbe03b0b8312de",
       
  9155 +                               "4f0024b5b5580d91de0338",
       
  9156 +                               "2b4b238bbabe3c70748eff",
       
  9157 +                               "3bec30574a99903f587887",
       
  9158 +                               "24e71c2d01e956269446cd",
       
  9159 +                               "68c4a816c641b5b1090781",
       
  9160 +                               "6fd170c2ab312a1f05d814",
       
  9161 +                               "64d8389dc8d1b8910fc0a",
       
  9162 +                               "4807e0d9a38d358d8e14c5",
       
  9163 +                               "14ee39af97cd5a57b0e17c",
       
  9164 +                               "24974593a8d59a89588659",
       
  9165 +                               "59a7f220e101601c1d1b21",
       
  9166 +                               "43fea0cf26a3e256438525",
       
  9167 +                               "2b3c80a17ef583b6205fd4",
       
  9168 +                               "44741cea6d95eb07e7f01d",
       
  9169 +                               "2ccb45ece6ec9abb9396c7",
       
  9170 +                               "5ba0eb3a703d0e42cf4094",
       
  9171 +                               "400f76e25d392f347d4911",
       
  9172 +                               "419e79b02e607a42e6e091",
       
  9173 +                               "36c0bf9a937fe6ca772d0d",
       
  9174 +                               "2244b09bebeaafafb0c481",
       
  9175 +                               "1501743c447af65014399b",
       
  9176 +                               "2791e42c7f90ab8d4e7fbc",
       
  9177 +                               "150365cfcc4a012a673c13",
       
  9178 +                               "7869636f37e63a4ffff7cd",
       
  9179 +                               "211dcdb529a6bab73ad8a6",
       
  9180 +                               "239309f551f303d0037140",
       
  9181 +                               "3f1e6a84c6b836f245c178",
       
  9182 +                               "27b94ffb61590cd0bcd89f",
       
  9183 +                               "61ade8e7a0bcc40ee4c2a8",
       
  9184 +                               "750f475708a1369e3fcc26",
       
  9185 +                               "30bed73f7a94de9252a38c",
       
  9186 +                               "3e26ac2b23b8b913845e11",
       
  9187 +                               "42aa10dc273607be680d72",
       
  9188 +                               "65a0cb312051f321a95f5d",
       
  9189 +                               "1ae82d51e4845bef8c5d14",
       
  9190 +                               "37c6007c4a0d223bec9e13",
       
  9191 +                               "4f140e806dac75cc67fa3c",
       
  9192 +                               "78acf4423afa2cfe1a6fc1",
       
  9193 +                               "3915d17a2935e69936525d",
       
  9194 +                               "7fdd8bd273e4a717226cc",
       
  9195 +                               "15da282cec1859a9591ab9",
       
  9196 +                               "75d3c5c33e5a2023adfd4a",
       
  9197 +                               "51890cd139740ee3c35339",
       
  9198 +                               "2b514798a553e5bdcd8ec1",
       
  9199 +                               "722f9dc13384479d1c4455",
       
  9200 +                               "1e2bd3f41ae5c299bb720f",
       
  9201 +                               "5ab5c85d4bf835440ff962",
       
  9202 +                               "178cb915d7350e37948956",
       
  9203 +                               "184e317201ff0ac25eb6e6",
       
  9204 +                               "37755ea728b820f0ab2bdf",
       
  9205 +                               "5e147628ce9e9a9493f495",
       
  9206 +                               "79790e81fd0d2b63f9d1b9",
       
  9207 +                               "7252d249ce8cd4fb010950",
       
  9208 +                               "d165a455f92b5083e0627",
       
  9209 +                               "6354a865e088a0488f2701",
       
  9210 +                               "43c2ec8afca87567ee9294",
       
  9211 +                               "55744f373c8b8520d62370",
       
  9212 +                               "63069f756c8115e5fc4c52",
       
  9213 +                               "3f5c0a52d2b564cc250982",
       
  9214 +                               "6b828169b3ba13bbcddb05",
       
  9215 +                               "46a78cc83c010019e8b2b",
       
  9216 +                               "27c6ad85e824da21b1cf9d",
       
  9217 +                               "6e9f47f009d809f84a56da",
       
  9218 +                               "255358696f5e9ddbfa467c",
       
  9219 +                               "738abcc274fbdc4ab5efd7",
       
  9220 +                               "70b9ea82f6a6c02939510c",
       
  9221 +                               "5f24e71937dd097c0e8678",
       
  9222 +                               "41e1bc8a63d042ba714c97",
       
  9223 +                               "6da26efc24e2d57c26c090",
       
  9224 +                               "575d4696bb0e4edef99446",
       
  9225 +                               "4c028ddef259fa2c7d4868",
       
  9226 +                               "33525d5afa91fda7d5fea5",
       
  9227 +                               "49a3641c16382337f3c777",
       
  9228 +                               "760b4f231686ca10ea6ea9",
       
  9229 +                               "547264d2566596f18bbb5a",
       
  9230 +                               "703a6cf857e651748dc09a",
       
  9231 +                               "298200a0909b55e97005f2",
       
  9232 +                               "5ccbc128a5721a5dd853eb",
       
  9233 +                               "33d5a814c00e980600811f",
       
  9234 +                               "5d66f0d9dde7339dbcd24",
       
  9235 +                               "5ef30e941639d08bff19c4",
       
  9236 +                               "363a65fc59f4a8184d3d78",
       
  9237 +                               "366546b3844bf45b7527a5",
       
  9238 +                               "18bc8168956ccd63ac68a1",
       
  9239 +                               "83bfa3efcf5b970ad41cd",
       
  9240 +                               "4bc9c371d07d4a025a739b",
       
  9241 +                               "4636e2935765905adcc41b",
       
  9242 +                               "4d08f00a99d95d0043cc4",
       
  9243 +                               "3e94b32e50da81bb5afc03",
       
  9244 +                               "48a13c03c03191471f1164",
       
  9245 +                               "3018be3223f82c7f0c9ebe",
       
  9246 +                               "185254fa056de9af1a6bd2",
       
  9247 +                               "1fe069b8c57a9fbe5f6009",
       
  9248 +                               "6c03f094dfe48c9743be89",
       
  9249 +                               "1086eae159340e441fa0a4",
       
  9250 +                               "222ea07afe042cf765ce5f",
       
  9251 +                               "7754a6a5fe6be54c00f4c8",
       
  9252 +                               "152dc9fc63d3c1eb6c335f",
       
  9253 +                               "3f3aeb0a1df198d9c95768",
       
  9254 +                               "7ef4c5361ca08ac1cb6216",
       
  9255 +                               "527e969f4f6eefe6289ece",
       
  9256 +                               "6b105359a1a68d94862411",
       
  9257 +                               "2674d42d16e97493518d2",
       
  9258 +                               "369c62fe5aafda2a550912",
       
  9259 +                               "51eb860c87e1e5b70bb623",
       
  9260 +                               "29f3402339c3128a1e2c1",
       
  9261 +                               "413f256a64feb56e242e90",
       
  9262 +                               "11ea8c21342ce42ebbf9ec",
       
  9263 +                               "5517c01ca3bd4da9aef0ad",
       
  9264 +                               "5d2972b12e50e727a2721d",
       
  9265 +                               "4eac7fa0d6b168c3bec4e3",
       
  9266 +                               "5cd8f5f9eb6806f67db613",
       
  9267 +                               "412ae12837a29724832877",
       
  9268 +                               "770b83b55e13465063e5a",
       
  9269 +                               "76201f5e0110544f41d9be",
       
  9270 +                               "c8918a059fa77676f0587",
       
  9271 +                               "287593985c21589f72c821",
       
  9272 +                               "6b923e02dfb1da62f37204",
       
  9273 +                               "2600c04d980b2307982b22",
       
  9274 +                               "25f7e1ac0d4153b6365c1c",
       
  9275 +                               "484281d930b8ee32f366f0",
       
  9276 +                               "3827eb26c007235c46c676",
       
  9277 +                               "6cd2d14ecc5fc7c2c1b52f",
       
  9278 +                               "4f0841f63a0c64aad5232e",
       
  9279 +                               "77c4b593ec648025df03f6",
       
  9280 +                               "81dc886feeee4945edceb",
       
  9281 +                               "522afb743f67b3ca56b20",
       
  9282 +                               "5505b22d0ddba48ae2020b",
       
  9283 +                               "2f3b362f4b742eb82f8a34",
       
  9284 +                               "1c7831e5dec267ccb26741",
       
  9285 +                               "2ddac7db8be22e88618b58",
       
  9286 +                               "4e6a2eb425fbd18fb02cb2",
       
  9287 +                               "147b65e0e829ca30fd88c2",
       
  9288 +                               "36304be3f0777300703af",
       
  9289 +                               "215dcfa076749277897e0",
       
  9290 +                               "3c2f54ef99be42fe30d32d",
       
  9291 +                               "62a01fb38e5c88098fbcc9",
       
  9292 +                               "5f84ae1685459ae7e24bf2",
       
  9293 +                               "3ecd8205beb790946eaa8f",
       
  9294 +                               "5ba344fee845769c2c86d8",
       
  9295 +                               "36a92b305c21171dd5a616",
       
  9296 +                               "3650c22d9c1072238cfcfe",
       
  9297 +                               "9225712405a5bd9ade58d",
       
  9298 +                               "594ae94ad86b9a719f54a7",
       
  9299 +                               "59f0f5465ff1e16be9bfb2",
       
  9300 +                               "4c6a0f6de7e50ac450c0c3",
       
  9301 +                               "685afb7cdd699d5a8f020e",
       
  9302 +                               "4f1c406e243fb2af67cd42",
       
  9303 +                               "2dac9d433ff98cf24eae81",
       
  9304 +                               "1167717f2d3d6238b3d21d",
       
  9305 +                               "381012de4c9a82f9ef1d72",
       
  9306 +                               "7047a4510b8c2107737ece",
       
  9307 +                               "185033e62f44aa85a7799b",
       
  9308 +                               "41e135572f9ce788481248",
       
  9309 +                               "4759751a101953dd340d89",
       
  9310 +                               "34d59de432c0dbb24ae55b",
       
  9311 +                               "5bcd4418d37c976110b37c",
       
  9312 +                               "6545cb112ea4be72bc80f7",
       
  9313 +                               "52d104741cfa5fa49fa55e",
       
  9314 +                               "7322c20a545b3845b54b34",
       
  9315 +                               "783c78a9025283e7188a8b",
       
  9316 +                               "3c81a9658bae42644c317a",
       
  9317 +                               "1eb56fdccfc12b22db2048",
       
  9318 +                               "3c3f770d148b4692e25b59",
       
  9319 +                               "4f75e255d88657b2ba4755",
       
  9320 +                               "260d6ba9444df4b85dfb92",
       
  9321 +                               "34f0f61d6d8d062b6b9d9b",
       
  9322 +                               "74fc1bfd19b3cbc9867bff",
       
  9323 +                               "3f0d18b1efb7248950daeb",
       
  9324 +                               "65b7b50446c767e6fa72fe",
       
  9325 +                               "1124cfa0e070cf6fe3c638",
       
  9326 +                               "2d127e6ce6bd0f1872b1",
       
  9327 +                               "3fdb99cce8884ed923271f",
       
  9328 +                               "2d2a15867cf9361defac4f",
       
  9329 +                               "9a39acfeb3a1b4c2bc79c",
       
  9330 +                               "7adeede80a05e40854e6e",
       
  9331 +                               "4431184365a358de692057",
       
  9332 +                               "1e4fdc54209c2229d7ffcb",
       
  9333 +                               "50cfa48cfb994ab2b77aa3",
       
  9334 +                               "1f4b918e0e0d47c89aa2d8",
       
  9335 +                               "78ba33e419cbc7f177437f",
       
  9336 +                               "5f7482c17a568566c785c9",
       
  9337 +                               "6fff35974d5f0b86faa46a",
       
  9338 +                               "5106bba99e6268d7bef3e4",
       
  9339 +                               "67cb80a136db30b9d60d6f",
       
  9340 +                               "594a3b6273b1ed2b542eaa",
       
  9341 +                               "6a1d554c48496d8d543eac",
       
  9342 +                               "9d8d18a72607c311d6f76",
       
  9343 +                               "7047889925ed18a885358a",
       
  9344 +                               "283508a2ed137e839b2207",
       
  9345 +                               "65fb4589487aa5a16bd767",
       
  9346 +                               "1a14d5b10cbcbb9ad3216",
       
  9347 +                               "4a469bacdcaf5434109262",
       
  9348 +                               "40ebb7bac65bd815945e49",
       
  9349 +                               "7b2ef1bbf74c4989ed5ddc",
       
  9350 +                               "5ca51c82df4def8b1588cf",
       
  9351 +                               "3b22ed42f28069f29c280b",
       
  9352 +                               "669e7a28f7a7c30460a80a",
       
  9353 +                               "2071c913edfd4fd6daa6bc",
       
  9354 +                               "3828df7e9ab6753fb83dc1",
       
  9355 +                               "4cd15a66ba5a2f18c8823c",
       
  9356 +                               "1ac96b01993da8677b2fd7",
       
  9357 +                               "4f9634be1ae125361bd4c2",
       
  9358 +                               "681fcdfe60f23e3be083f6",
       
  9359 +                               "2d5bb2b553d4ed5bc0795d",
       
  9360 +                               "4c4424602626193266d943",
       
  9361 +                               "2df30214a49a31c21380ef",
       
  9362 +                               "48b920d23514d06befaf52",
       
  9363 +                               "4b4c7f0a822537ff62cdcd",
       
  9364 +                               "ee9d6b69f13ec8f385e6f",
       
  9365 +                               "793fd256b009d961487499",
       
  9366 +                               "2d70f946f2915679b314e6",
       
  9367 +                               "1bc4e87c1100a2d26aeff3",
       
  9368 +                               "6b1cbac9279eaab9b503c4",
       
  9369 +                               "5725842b7246179896a39d",
       
  9370 +                               "4dcc6ee20983f0020ad69",
       
  9371 +                               "57dbda5c8b230a87030357",
       
  9372 +                               "78c437adc3b6ce946cdd",
       
  9373 +                               "20ea7b335b7621642b29a6",
       
  9374 +                               "179d4134709978c75bf6d2",
       
  9375 +                               "36a3336f56c91232544e8c",
       
  9376 +                               "e243f28e043030ee3a43f",
       
  9377 +                               "2d678e77df571d7ac4859d",
       
  9378 +                               "5566a844e8b1c572f69612",
       
  9379 +                               "27244290f774a00786ca95",
       
  9380 +                               "1812bd60b720f8920fe80d",
       
  9381 +                               "7f45c48d28fd31ceeb3fd7",
       
  9382 +                               "1bea5758655f1400515db4",
       
  9383 +                               "249b7a4d080be0f548cabd",
       
  9384 +                               "71215d6fd5e662d930a424",
       
  9385 +                               "7684536a92d49a5af59f1a",
       
  9386 +                               "74d39a89d87bdaa449438c",
       
  9387 +                               "3e4e77e268fb6e7602e96c",
       
  9388 +                               "46c6313b3914ecd376b959",
       
  9389 +                               "31b9dd76b9ed5f88dd4609",
       
  9390 +                               "46734211b970f8a6448a60",
       
  9391 +                               "7a6d5b1013830761b58026",
       
  9392 +                               "6157a651f2640a73f1f90",
       
  9393 +                               "38793daa7aa086d5e70798",
       
  9394 +                               "58d7de0f8254a81b5d0f5a",
       
  9395 +                               "5a1fe9fffdaa20f4ab7eae",
       
  9396 +                               "7e8fbf173741aea1b95c93",
       
  9397 +                               "4bee7e482b290b1d3869be",
       
  9398 +                               "c075fe6224a62c1010fb8",
       
  9399 +                               "7340d7daed67bcc5cd4391",
       
  9400 +                               "2e12097225e5783b545083",
       
  9401 +                               "518711fe03b241cfb95160",
       
  9402 +                               "4956721f6a2ced1fc736fe",
       
  9403 +                               "636b15a893c301ff23f5f5",
       
  9404 +                               "5696a96208101739ec4ba0",
       
  9405 +                               "54fc920cc0125e53a92499",
       
  9406 +                               "7c2e242ec2b95580a9b3bf",
       
  9407 +                               "4d0e82bdf34ff4cb3a603e",
       
  9408 +                               "786571b85b2768309c8ed2",
       
  9409 +                               "1418facce22bf24a5e6a51",
       
  9410 +                               "681a88fafe4e6f0620910",
       
  9411 +                               "5e263af53ea065e044720d",
       
  9412 +                               "1c614cf9a9d87d69154c21",
       
  9413 +                               "346f2a2b086e1b35095d7e",
       
  9414 +                               "4b6ed31d0715952774511",
       
  9415 +                               "67a3f20bb5e980364816b9",
       
  9416 +                               "339dd42a42d94342bf8399",
       
  9417 +                               "3b55da90ad9a162be1756",
       
  9418 +                               "1c07c875b3a9cdedf7611d",
       
  9419 +                               "33567e972c90754c86a5ff",
       
  9420 +                               "3ee5a2cc90e335867f0ce8",
       
  9421 +                               "4b3a8d22fdb2c83abba9b9",
       
  9422 +                               "5b6b96beb19fb0dbada937",
       
  9423 +                               "5169af1cd74986160450d0",
       
  9424 +                               "724f8bcd40bfc9f1ca0c68",
       
  9425 +                               "51603bcc8667777e664f9d",
       
  9426 +                               "78aded63d2f85ac948c449",
       
  9427 +                               "73862de61086c1fd5e0678",
       
  9428 +                               "5efbbe073364ace07f02c7",
       
  9429 +                               "144a6c20d0a8d5dce2b12b",
       
  9430 +                               "2aead0dac004faa8ab67e4",
       
  9431 +                               "3f8cb5eb229acba822b48d",
       
  9432 +                               "34c50fc58872b7325366",
       
  9433 +                               "3c1fd5d9a6223b2ce7b02a",
       
  9434 +                               "554f5cfd133bac2188241d",
       
  9435 +                               "559752d946b02da4c2f657",
       
  9436 +                               "3950591be73642bfa23264",
       
  9437 +                               "2e8edc0b6dfcfb2392ce87",
       
  9438 +                               "4c3c570182916f32a6f96c",
       
  9439 +                               "65cf5014ab215afd17cef7",
       
  9440 +                               "54ad7fa69dfd0b4c19f7ed",
       
  9441 +                               "f4af5a6143d8f44e48afc",
       
  9442 +                               "1a08e273719d3411178252",
       
  9443 +                               "668b9e16f3948f582a5b94",
       
  9444 +                               "3fac097802d8f5fb376d58",
       
  9445 +                               "3c2dca32abbdc029f4a212",
       
  9446 +                               "753f0795048443573283b2",
       
  9447 +                               "622b540293b1275c5a9446",
       
  9448 +                               "5a2c8ca58cb488822e9f49",
       
  9449 +                               "295932427e10aface718fb",
       
  9450 +                               "43e36b6d5a937387b49f6c",
       
  9451 +                               "4e1162d634d0d5811a2441",
       
  9452 +                               "19915afea85d27cf8df109",
       
  9453 +                               "7eb8dfe838ec5ef9d3ee21",
       
  9454 +                               "2c18c59d95a21961c42f21",
       
  9455 +                               "7233f4136f3ace41bedb12",
       
  9456 +                               "142c59f31fc82fb58a7dd5",
       
  9457 +                               "452816c1b54aa2bfddcc17",
       
  9458 +                               "6f24ffc802a08273be511b",
       
  9459 +                               "32d68fc9b8a9c17b315382",
       
  9460 +                               "5aaabbd40fa78dd417edf5",
       
  9461 +                               "51d8b3e6fa0afa106abc40",
       
  9462 +                               "394faf6069c716fcf8a76c",
       
  9463 +                               "3f7d2ee6cb32c6bbeee194",
       
  9464 +                               "4354f51efc9392bcd6e51d",
       
  9465 +                               "5e73615c65ae9e74eb1ef3",
       
  9466 +                               "761e42e1c908c2f09e096a",
       
  9467 +                               "25df9f831698604e15991c",
       
  9468 +                               "351db0dca5d74808f36d33",
       
  9469 +                               "aef2488954588af921ab8",
       
  9470 +                               "296a247b4b36d5c2a1884f",
       
  9471 +                               "b1fe15d9ac88348f41a87",
       
  9472 +                               "97342eefdbc78b9689120",
       
  9473 +                               "1e47a4330f0bce93db13fd",
       
  9474 +                               "7511506751237c1959933c",
       
  9475 +                               "31e8a39712fb3a7a11f909",
       
  9476 +                               "6116bef6a79fb2fc15f0e2",
       
  9477 +                               "6d849a39e47370e473a913",
       
  9478 +                               "42a81f5e10b5435180e643",
       
  9479 +                               "17715e6c96cbe096c4f9c2",
       
  9480 +                               "606e14eaa7d60eb7ea925a",
       
  9481 +                               "30cb89652c8629b5e0dcc3",
       
  9482 +                               "2625096534f2cf10d83a26",
       
  9483 +                               "61036fcac29b84e5ca02ad",
       
  9484 +                               "4669a41d4e444c1284d024",
       
  9485 +                               "2b81c6e67e55aeb6e93a",
       
  9486 +                               "23564d97f447b0091e74ce",
       
  9487 +                               "494807a247f7ffab73a644",
       
  9488 +                               "692eeb4ff69b42372517d7",
       
  9489 +                               "3eda92314bf1d09cb5b08",
       
  9490 +                               "24b22771f303ef742b8ce1",
       
  9491 +                               "5c616b0d1a7bc591e70e46",
       
  9492 +                               "4aad58987821ba8f33d96e",
       
  9493 +                               "10d0aa100248920b9cab77",
       
  9494 +                               "1ead89a48b89a75ebaa7d8",
       
  9495 +                               "7fe887d8c5fb53af79cbd6",
       
  9496 +                               "ab8e1dd4d27b02d09fe48",
       
  9497 +                               "2294095a6b77aaa416cbd7",
       
  9498 +                               "69fecb55ba6da700789d7c",
       
  9499 +                               "681750fd18618072db2068",
       
  9500 +                               "30a18088f5b2af396bbfd9",
       
  9501 +                               "2e03d3c0794703b9605de0",
       
  9502 +                               "f26a2dc235ace7b34f4b6",
       
  9503 +                               "356497a9675898bccf4e79",
       
  9504 +                               "3286bf159405584d85567c",
       
  9505 +                               "464550e0adf269403f3e22",
       
  9506 +                               "3f603c7b410b4c2db2c8e2",
       
  9507 +                               "445381f98a1f5669880827",
       
  9508 +                               "23eabb9cc5f4086c74bc31",
       
  9509 +                               "4628eb872cffa1868b96ee",
       
  9510 +                               "6ac77b7cb23565518aa2d4",
       
  9511 +                               "1cfd8f0d12bcce21589c11",
       
  9512 +                               "39cdc5e6675ab081ffe60b",
       
  9513 +                               "1e378fb7157cdaa6fc3a50",
       
  9514 +                               "669f4c5ec3934953500b78",
       
  9515 +                               "46a91d898168488fd5ac51",
       
  9516 +                               "64add9cabf8efdd5f7b57b",
       
  9517 +                               "45813314ca1d165bcf242c",
       
  9518 +                               "6f37e3a85128974cdfaa69",
       
  9519 +                               "7f42b66317d26c3f938805",
       
  9520 +                               "181ee17c34ab8aea52c900",
       
  9521 +                               "68e8a818d524954278bbf6",
       
  9522 +                               "7a6ffa939b86786a779a44",
       
  9523 +                               "31d809b078cdefaaf45266",
       
  9524 +                               "7f216769148f0e997c7805",
       
  9525 +                               "3a82369bb1a4da519bbd70",
       
  9526 +                               "25920b5c96127e9d8ab05e",
       
  9527 +                               "29702fc1f57fddc3369967",
       
  9528 +                               "616dbeafd6aa623c1a7d7e",
       
  9529 +                               "634d2540fd670a82f219a5",
       
  9530 +                               "3d9abe3ec82d9602d9dd6b",
       
  9531 +                               "665bc65420c0b0a151c97e",
       
  9532 +                               "37d50d7838efaf03049cd7",
       
  9533 +                               "385f7f48a7be6b46d108ef",
       
  9534 +                               "5f2bc99aad2f27cdee05f4",
       
  9535 +                               "3b6b43619a3730d5995ae4",
       
  9536 +                               "5eb76c6301d8a849a1903f",
       
  9537 +                               "38910d873da8dfd237e8f0",
       
  9538 +                               "41558cae58d4f9a9001b87",
       
  9539 +                               "58fc1b58696f8c22cfe344",
       
  9540 +                               "64520e4823f48c1f48749a",
       
  9541 +                               "3827b84269040363e5e02d",
       
  9542 +                               "6c9c81ea487986867245b8",
       
  9543 +                               "217bd444ac8e9808b3ae5a",
       
  9544 +                               "44dd70b9323f17568e4ba3",
       
  9545 +                               "50226b4aa22a0465ceea0c",
       
  9546 +                               "6335fb7682400180e10d15",
       
  9547 +                               "1857324131e535b1b2458f",
       
  9548 +                               "3845bd22f959dda9197376",
       
  9549 +                               "4d7797e0b2f77a7ffee785",
       
  9550 +                               "16bed27a9c005817ccf111",
       
  9551 +                               "5bf1d1c71be0c49ad75d9a",
       
  9552 +                               "6d16d10feb1728044f2dc3",
       
  9553 +                               "3abbf8af06f889daf59c4d",
       
  9554 +                               "45769a307f5593bbf72056",
       
  9555 +                               "2a640efe463008db4ed634",
       
  9556 +                               "57f0f7ecb2d7dad43748ee",
       
  9557 +                               "8000000000000000080000",
       
  9558 +                               "7aa96a9fbe718c006a48f8",
       
  9559 +                               "24086a392ab75e649d3cc1",
       
  9560 +                               "9f20b6fedc099ec575691",
       
  9561 +                               "313d62eb5f1104de5421a",
       
  9562 +                               "438f5c0f163a4dfa04e5ce",
       
  9563 +                               "63137369b8d47b6c9c43df",
       
  9564 +                               "4ceae8c6ea35dc274647ed",
       
  9565 +                               "465f3b1e25cde0e446d90d",
       
  9566 +                               "9f0c9a93eecf4de349628",
       
  9567 +                               "3addce3c43218484acf509",
       
  9568 +                               "101d83882a81d0147b4342",
       
  9569 +                               "4585b77fea18a0113ff609",
       
  9570 +                               "73e92ea015629e3728aee0",
       
  9571 +                               "257564a39a648e17d015e9",
       
  9572 +                               "2f927b360b2b43bff822dc",
       
  9573 +                               "328a9932d6b08a41a1df0e",
       
  9574 +                               "207ff6a0da7f13b316c4b0",
       
  9575 +                               "4b11585991700c233f6773",
       
  9576 +                               "77664e53908d00007d1205",
       
  9577 +                               "434a5edb31a9c3c6a0243e",
       
  9578 +                               "692adfabb87ce969422961",
       
  9579 +                               "3eb189e2bfcbe180703cfd",
       
  9580 +                               "367efb55edcaadbb5e4f2b",
       
  9581 +                               "4573a56ada0a29d31dd6b4",
       
  9582 +                               "636f015a0c62753b283d5e",
       
  9583 +                               "158e9251ef94651015ecc3",
       
  9584 +                               "ca30526530b6f6f0c8fca",
       
  9585 +                               "20b1838f00aa00d07f70fc",
       
  9586 +                               "50c65d8772a3d5db269535",
       
  9587 +                               "47262fa06b9c5ac8138f4f",
       
  9588 +                               "d4a270719a348af6d6c29",
       
  9589 +                               "af99b9d024438cfe9df66",
       
  9590 +                               "2a5043ae183d338b7ebd55",
       
  9591 +                               "7b85e0b99eff408f2aa978",
       
  9592 +                               "282774a1f4bcb14e6723f9",
       
  9593 +                               "58137399c99866772aed9a",
       
  9594 +                               "7b7e71610f1589da383c31",
       
  9595 +                               "1705c133c7ba24a2b5c528",
       
  9596 +                               "336a41277b427813eaa191",
       
  9597 +                               "78ec94c22ee912eded5499",
       
  9598 +                               "1f9e8bffcac3e1471f7cd6",
       
  9599 +                               "7e688d1cbe7e0a84a0f408",
       
  9600 +                               "50a70d2086b5ca78a90368",
       
  9601 +                               "16f5569ecf073acc30831d",
       
  9602 +                               "720d9e52c4aea85ae24480",
       
  9603 +                               "15bc81dd36a0393963bb64",
       
  9604 +                               "633dad9eec0d451652bf40",
       
  9605 +                               "3d433adb4bcd914fcfc4",
       
  9606 +                               "ae1614cb7437dc6311ee9",
       
  9607 +                               "504e8f5ee0e51320af92dc",
       
  9608 +                               "4d55039bf17366425f055a",
       
  9609 +                               "2ad535a50fda15e1835526",
       
  9610 +                               "4f5cb9e29c3567f8c1b22b",
       
  9611 +                               "409705e5654888d8af2f47",
       
  9612 +                               "145ecffc8b532b7855ca8a",
       
  9613 +                               "4a79a4d35e92cbac8fe0c0",
       
  9614 +                               "7c2eeaa3b5ac7ca26ee5f2",
       
  9615 +                               "b44a774aaac3d4d335389",
       
  9616 +                               "488702c5b90021b8b24933",
       
  9617 +                               "62d4635d0bbd6bf8fab17b",
       
  9618 +                               "47a6912faf0eba695a3f82",
       
  9619 +                               "5fea5590381b705c4ba54c",
       
  9620 +                               "552dab94d8fab803e3abe6",
       
  9621 +                               "622e4bcd237f601b3f864e",
       
  9622 +                               "6b6195f4939abc517ea1fa",
       
  9623 +                               "7ae4ce9746d1a251afde2",
       
  9624 +                               "5411d9720f633bf7a356ea",
       
  9625 +                               "93d0f45c8e78eed19b2b4",
       
  9626 +                               "2cfe955ebd8c7e4615715c",
       
  9627 +                               "4680ebb5e7e7fa1e676838",
       
  9628 +                               "1cbb8749de080f5bb23b75",
       
  9629 +                               "33fee942f43e9b7d2118f",
       
  9630 +                               "4ef1c6a1bd63bb6b6207b1",
       
  9631 +                               "1c1f24204ec4b044c10ff5",
       
  9632 +                               "3561d1a2752f1d17dd5823",
       
  9633 +                               "782fa87576f745d6c5a644",
       
  9634 +                               "68d895a65569cf3ef3e3ea",
       
  9635 +                               "46c01f4170feea6c601e12",
       
  9636 +                               "7b8a17b08fccb33f4b7d6f",
       
  9637 +                               "6332e8b1655b1a7193eb45",
       
  9638 +                               "6649997ef28c919c6cae0f",
       
  9639 +                               "55b727631edd20582945d2",
       
  9640 +                               "1adfa664cf45ca975af0f8",
       
  9641 +                               "34ca1ca17d4004b63727d1",
       
  9642 +                               "46bc16d9041c2bda07b158",
       
  9643 +                               "31afe414b9e841f105214d",
       
  9644 +                               "4bc252b0fa653478344f1f",
       
  9645 +                               "44b0628f84b11c5e71888",
       
  9646 +                               "7f821b6d896942293448e9",
       
  9647 +                               "125c7d70d2b6d99ae885da",
       
  9648 +                               "49fee8b58237dc40ba3c5b",
       
  9649 +                               "5dce9f322e405cdd3dc195",
       
  9650 +                               "4e5afb2e233daef8a9bbcb",
       
  9651 +                               "64e35a2939773b306ebb74",
       
  9652 +                               "3cf63e3a65a7e509ca6dd4",
       
  9653 +                               "1f88577ebb6a87d8478dfc",
       
  9654 +                               "5d1cdedac3c1f047923b22",
       
  9655 +                               "14b8d711e9732dc1d81b85",
       
  9656 +                               "63ca1ec0700483b8f859e5",
       
  9657 +                               "345343979af3beadfaced5",
       
  9658 +                               "3aa36ece405e3ccd9341ca",
       
  9659 +                               "5c37d517c640ac7f62a532",
       
  9660 +                               "68e1a6376fdb4eb7b4b0e6",
       
  9661 +                               "69a00aca76ae6e660be7bb",
       
  9662 +                               "1644cc3e7fe80220ef2f70",
       
  9663 +                               "58689766e836a562c78c53",
       
  9664 +                               "2d83b4eaa1c8f768e56c30",
       
  9665 +                               "11ff8e8d5e956398c99ca4",
       
  9666 +                               "66de0cd9d504d0c8a10caa",
       
  9667 +                               "f5d2bac49777fc8f10242",
       
  9668 +                               "30436781bd712f316b4895",
       
  9669 +                               "7a7cdf214176b6d3191883",
       
  9670 +                               "64f3d838badcddd9bfdd0e",
       
  9671 +                               "190017f50befaddece16d2",
       
  9672 +                               "21a95826890e5cccb8a83e",
       
  9673 +                               "2c958c952c5c886c2a60ad",
       
  9674 +                               "3f8ccc4c495c412c1876e1",
       
  9675 +                               "901282766f87bc24e50af",
       
  9676 +                               "67fe63e894b36bad057249",
       
  9677 +                               "35ab264ca762acbf67e1de",
       
  9678 +                               "65b1a43ebc40ff17757bfe",
       
  9679 +                               "1e0b5aa4ebf1898b7232a8",
       
  9680 +                               "5a3548ae1dc271964cafb9",
       
  9681 +                               "26e45399ef9d09b479c0d5",
       
  9682 +                               "ff910ecf2ce1ed443b3a7",
       
  9683 +                               "15dc7895737fd27e2fc2d8",
       
  9684 +                               "306cc735643548c81d480",
       
  9685 +                               "716be1338eb9fa3160de8a",
       
  9686 +                               "37c639bab06813135e6962",
       
  9687 +                               "18d28f7c13bdb1a27fc315",
       
  9688 +                               "48dd5aa0d80d3fd4d31225",
       
  9689 +                               "308d7af9cf09073e61779f",
       
  9690 +                               "659ccea55ad34dab51a321",
       
  9691 +                               "25f3d9fd234440b97c9821",
       
  9692 +                               "5c0de6f6c164f44c52de84",
       
  9693 +                               "30927374f464c892c53b50",
       
  9694 +                               "540974d1b3361c5ccd3a2",
       
  9695 +                               "a0b14921f2ca115669309",
       
  9696 +                               "157e5726ec48e98ea5652c",
       
  9697 +                               "7c50148337071a44808f27",
       
  9698 +                               "54f01285acb2da9689a386",
       
  9699 +                               "569b68c3d77231282d1705",
       
  9700 +                               "7593ab2f13aa524b76e104",
       
  9701 +                               "16a7968fcf87b51aa207b",
       
  9702 +                               "2b1199cb9ff7848ec581",
       
  9703 +                               "235057c5ef06d64b0093a1",
       
  9704 +                               "3ad2c2000ee1db409ffcab",
       
  9705 +                               "46dbd89f4ae0d06c0ab8e0",
       
  9706 +                               "7fe713df2e65b878c1edc6",
       
  9707 +                               "4f0b0a9e8338cbca398b3f",
       
  9708 +                               "67ae16da8f876a2c8dc80f",
       
  9709 +                               "1bff1788b61c434292f278",
       
  9710 +                               "137786296b1e5f466871bf",
       
  9711 +                               "413062fa329dcbe3b8887d",
       
  9712 +                               "76a4bcdffe1207b9c84c3",
       
  9713 +                               "394ca6d6650a3a703c8f0",
       
  9714 +                               "7ec0ec060d3788349445a5",
       
  9715 +                               "5e6c438c53b4bfbeab6a4c",
       
  9716 +                               "1cae4d5a0b88eed0b2d97e",
       
  9717 +                               "37150fd6c06a98e84f0fb9",
       
  9718 +                               "5e5c9c54f1f75bcc98d1bd",
       
  9719 +                               "7273cb20026d3e5dfa9567",
       
  9720 +                               "23675569b6f74cecec658",
       
  9721 +                               "4d84d472f48a1f27cda4fd",
       
  9722 +                               "52e4d0f780530e040b8198",
       
  9723 +                               "116822d6715118a8643140",
       
  9724 +                               "2fb2d651d1a5fde2dc4d89",
       
  9725 +                               "2cbb69d06f0ba3051ce433",
       
  9726 +                               "982362cb3f64fc2535f18",
       
  9727 +                               "ce584760ca84047b25a4f",
       
  9728 +                               "3d32a6b665f10a829cfff8",
       
  9729 +                               "228eebf60c055615805405",
       
  9730 +                               "4adc76f7cd88044421953e",
       
  9731 +                               "4f588ef825e26e596e160c",
       
  9732 +                               "464063c0e0f5e5eae1bad1",
       
  9733 +                               "231a1fa6a52f8377b2ca86",
       
  9734 +                               "3b663e3e9013cab9326fc5",
       
  9735 +                               "24716274d6f1761a2e503e",
       
  9736 +                               "5eb0e751f365585e4f3fd3",
       
  9737 +                               "1c63d031374620336f8c7a",
       
  9738 +                               "6ac96f98fa78ffb692afd9",
       
  9739 +                               "71f7ff7f6245492bf4ba4d",
       
  9740 +                               "46b7638024bbab6f336734",
       
  9741 +                               "2d3b2e3d52eac5c09743f7",
       
  9742 +                               "2bf0a5cc2a5150523d2e64",
       
  9743 +                               "1f7e1880120c76703199fa",
       
  9744 +                               "27b48290f4bc222f54681d",
       
  9745 +                               "274cbe37d4fe65732936f",
       
  9746 +                               "5b872486f12a68a939069d",
       
  9747 +                               "76c344db7c98c1b1fa25d1",
       
  9748 +                               "6745627963b760ee39ad1a",
       
  9749 +                               "2d30342ea20393b89b038b",
       
  9750 +                               "51e2ff830fcf99b4147ec",
       
  9751 +                               "764156f5d90616c8c45669",
       
  9752 +                               "19d3eafc75447dbc2ce4d",
       
  9753 +                               "4348b708829c7eddd56237",
       
  9754 +                               "605ccf0922a0c35f768933",
       
  9755 +                               "86aa65ac1949dd8af6918",
       
  9756 +                               "2e564f6ba5f6f74e33f2dd",
       
  9757 +                               "54ec1fbecc620b2a62de33",
       
  9758 +                               "da96dc29f77c98efd9a65",
       
  9759 +                               "3756665d23e5dc56d35905",
       
  9760 +                               "7108a03a28803eb91e8a0a",
       
  9761 +                               "75fa74ccac539d6f2e079d",
       
  9762 +                               "56f539741375576aac816a",
       
  9763 +                               "78ab001943d18ada1f6d03",
       
  9764 +                               "7a283d5e2ed98485e2d260",
       
  9765 +                               "7ca8eb46f6df31902607b1",
       
  9766 +                               "3a9ec75af3c8e86b8c1b73",
       
  9767 +                               "61df6c089b8a0a75da0288",
       
  9768 +                               "3277a60ca85c986d50dee2",
       
  9769 +                               "4afa034c14d96f077cc41e",
       
  9770 +                               "58ca4d190a0f756173e746",
       
  9771 +                               "33e094a7802d99ab1d9620",
       
  9772 +                               "4ae3a5f46681ba13e649ed",
       
  9773 +                               "6369f366be6b5ec99ddddf",
       
  9774 +                               "4ad5b5ec9142810d730c91",
       
  9775 +                               "520d75e4874b90e95d0ac6",
       
  9776 +                               "56441a020eb196f9ab47f5",
       
  9777 +                               "4f100cd2b63ef0cdac7165",
       
  9778 +                               "1d72e71f6a57243468bc42",
       
  9779 +                               "6102d4b92b578db1756028",
       
  9780 +                               "6cdde5dc50cfba13ab15cc",
       
  9781 +                               "6a2bde70b440f36a3a69b8",
       
  9782 +                               "40afd831d872bbb5ba2dbe",
       
  9783 +                               "52a170878e73d2b9a73398",
       
  9784 +                               "363495385d4023abd7fffb",
       
  9785 +                               "75ecb6eacac31eec1c8d24",
       
  9786 +                               "38618fda51c023d44b41df",
       
  9787 +                               "1b12fc1c7d3ee5cd24b30d",
       
  9788 +                               "428c02c3c8bb1613aad2fd",
       
  9789 +                               "6e925cc1e63747fc8301d9",
       
  9790 +                               "1711e7c4ddf7dd725f454a",
       
  9791 +                               "6543f2ea86c39aa319b565",
       
  9792 +                               "4f88d842683a24f7a78b4e",
       
  9793 +                               "6297ed8d827bde2f27c592",
       
  9794 +                               "7a4c62248fb05a7ec5f894",
       
  9795 +                               "50873f081856faa7b0c6c0",
       
  9796 +                               "4a5c54b88c3afab5d73bb4",
       
  9797 +                               "93ecdd9b52d588b62ae9d",
       
  9798 +                               "1dff7b3a25d6efec89d4f1",
       
  9799 +                               "4eabe0db8ac5d733acae29",
       
  9800 +                               "2d0a5221661bafe1bae3a0",
       
  9801 +                               "86148c3559c855d7a4785",
       
  9802 +                               "4576a87293566d06f5b643",
       
  9803 +                               "2c941d4c1c7d68ef593ae6",
       
  9804 +                               "2c36a4d87847724f9fdecf",
       
  9805 +                               "7b5f04e933b2e4204cdc65",
       
  9806 +                               "774b9d1f08bb74ab682979",
       
  9807 +                               "7c1fdd60de643e750fa1d",
       
  9808 +                               "682291bfd680e2cd8f9d70",
       
  9809 +                               "30d33e090854573dfd98f5",
       
  9810 +                               "3860366ed3637eead94b8d",
       
  9811 +                               "6e8b7f0e9607e44c1f9f65",
       
  9812 +                               "720851fb976798365a6829",
       
  9813 +                               "f5eef843bd404a6869b17",
       
  9814 +                               "2a8c9eedadb6f6d58c06cf",
       
  9815 +                               "232ce65586f95692d89383",
       
  9816 +                               "d5835b5723a9063a2dd80",
       
  9817 +                               "72316f1be6172c06994a4d",
       
  9818 +                               "6a44a264bb1144d86619f3",
       
  9819 +                               "5451512089afcff74e1bd9",
       
  9820 +                               "557e56b5a5dcf30ae5f48",
       
  9821 +                               "2a2840d0a8db4a22fdfb53",
       
  9822 +                               "71e107fc4c98b40c6f7b53",
       
  9823 +                               "68c711e371efbf9b278db8",
       
  9824 +                               "31b42ccc858ccceae34d5",
       
  9825 +                               "47eef469d5e96dff3b60f7",
       
  9826 +                               "622155e1a7c16eb9e6f098",
       
  9827 +                               "73037907fb5b7e20bf7973",
       
  9828 +                               "2a5beeac5cc34b9b70fc5c",
       
  9829 +                               "214b26c5cc4d2d1d455254",
       
  9830 +                               "3326fb026bfe153a5a80e5",
       
  9831 +                               "2fd395d2076e94e7f79f79",
       
  9832 +                               "1da6208947854d10119a62",
       
  9833 +                               "507a197204651599300f85",
       
  9834 +                               "60e1157dceceaecc3a16c9",
       
  9835 +                               "179c67b2886cbf8a80171f",
       
  9836 +                               "4ad8d4214e4fe01b143d8",
       
  9837 +                               "594820c775fd57d86cf9af",
       
  9838 +                               "18932d3a50056ecbd4c0",
       
  9839 +                               "cc47e7e925da6c91fe510",
       
  9840 +                               "5ca455ab52339850752f94",
       
  9841 +                               "31934713e4ff1d0d7cc583",
       
  9842 +                               "77747c8e4550378570ec0d",
       
  9843 +                               "44fd7c4168c2a61413dbd2",
       
  9844 +                               "278331e342f211746f0d9f",
       
  9845 +                               "13022f601d429947abd201",
       
  9846 +                               "6d5ce69503f658697314d0",
       
  9847 +                               "30151eaad7aef0e79d5e07",
       
  9848 +                               "3b6333c6dc16d5f4351c47",
       
  9849 +                               "308b1811fe8c7d6801df6e",
       
  9850 +                               "1316737cef6e8d73f98c46",
       
  9851 +                               "34026c0467a5bb1302960d",
       
  9852 +                               "4374fb07e1eb1efc714a7f",
       
  9853 +                               "13089f86ddae7614e1f733",
       
  9854 +                               "91782b2d8bf1ec8b6e4db",
       
  9855 +                               "739d86f4db437bd59681d0",
       
  9856 +                               "2e99bf2a9cfd14eb01e4dc",
       
  9857 +                               "1f372d16a7c783f301d859",
       
  9858 +                               "3fd38eb64df431878b817e",
       
  9859 +                               "1b3d8a50e5425c7a4550f6",
       
  9860 +                               "2f775dce855cb22a4ce4b4",
       
  9861 +                               "1856ece5542adaa42b18cf",
       
  9862 +                               "72bad07fa5d3ca19811efa",
       
  9863 +                               "210aaed4cc7b55edc4255b",
       
  9864 +                               "13ef893fe161bb05038778",
       
  9865 +                               "394242cd2ce4d5c927b1f7",
       
  9866 +                               "2d8ba9bb83d8b7dc77cc32",
       
  9867 +                               "4a9dee0a96c91e7cd6d7ca",
       
  9868 +                               "3b62b01334bf25d1f5d560",
       
  9869 +                               "3c11b4ca34c3237b362a26",
       
  9870 +                               "9ae11d1f0b2cb73496a44",
       
  9871 +                               "7d10d41f081cc53194454d",
       
  9872 +                               "3476974a3a56c244bcd4ac",
       
  9873 +                               "2d248bd8de364598100d1",
       
  9874 +                               "371b6d93bf32954a1ed005",
       
  9875 +                               "2f9195fa1721a36e6f5198",
       
  9876 +                               "b5ea9188a76cbd4490c2c",
       
  9877 +                               "67fe64c68be6372b30260",
       
  9878 +                               "2582d22d55dfd72b2d70bf",
       
  9879 +                               "2144bb26c3488be851e3b2",
       
  9880 +                               "69cf5ded5037b0fc848b28",
       
  9881 +                               "451cf4e4a6ce149cfc4095",
       
  9882 +                               "4845e19f6384ed5724d8ce",
       
  9883 +                               "5c721c1e9f943f1e44c526",
       
  9884 +                               "6b628f924b031ff396258b",
       
  9885 +                               "2db4889991fd96d5a3dbfa",
       
  9886 +                               "75393667821938c0e5a628",
       
  9887 +                               "2e37e64613e6e49f75ff6b",
       
  9888 +                               "7569e0846a7c92c5b07e91",
       
  9889 +                               "544e247e73028cc23b1f51",
       
  9890 +                               "2e14fbc2ca9b056ee6a0e6",
       
  9891 +                               "5c96c4bf9c30f05dfa52bf",
       
  9892 +                               "30455197024dac28f22ad9",
       
  9893 +                               "16587b1213183c74388d6a",
       
  9894 +                               "62a6ac9d0c5e4b3890d61a",
       
  9895 +                               "5d0e736ad9b0e048c53cb9",
       
  9896 +                               "29c81a2bbc75ee65e40fbe",
       
  9897 +                               "a5803d95905530efe4cbc",
       
  9898 +                               "45fae251151688f6948ec3",
       
  9899 +                               "34de10a25d48bbec6bc310",
       
  9900 +                               "38e1136120c0a50e7c1942",
       
  9901 +                               "4be7ae42a1b71df0fdbed2",
       
  9902 +                               "70eda2a92c3f3d551052fc",
       
  9903 +                               "736e4111350ab36a2be4ca",
       
  9904 +                               "471e19dff79f0bf8dd75e4",
       
  9905 +                               "7c4c5a07ab45db64032f8c",
       
  9906 +                               "3e8f3fee79b0aa7d3158c9",
       
  9907 +                               "6803ba4d96f3cea5b5b619",
       
  9908 +                               "645491f7754448588100c4",
       
  9909 +                               "64c773513b07ac7be226c5",
       
  9910 +                               "1207f0afa9b17ee1e3a14c",
       
  9911 +                               "1a5a3601f9e5c757413d21",
       
  9912 +                               "671a35180c429ed6cd73d6",
       
  9913 +                               "3f719d970328ab86444133",
       
  9914 +                               "2eb29dd03203d9dedca2ed",
       
  9915 +                               "3ca5432d73f30360d5e251",
       
  9916 +                               "ef9f73cc5ae815a32ca63",
       
  9917 +                               "76930d75187c32e1c0855c",
       
  9918 +                               "297ac6d1d91b19c8ceb3ad",
       
  9919 +                               "4d06acabc42f8f6c6561a2",
       
  9920 +                               "17f90d7760ace90b4281fa",
       
  9921 +                               "79973f898e87ee6433e53e",
       
  9922 +                               "1177a186084a0188e6b25c",
       
  9923 +                               "46ea372cc256b25d8bedb8",
       
  9924 +                               "9d0d5139d46e4d9db3662",
       
  9925 +                               "31f4e6b45c1cedb6d4c94",
       
  9926 +                               "222ad5a5eecaf564928d05",
       
  9927 +                               "7bfb517a9a7064f7f0b9cf",
       
  9928 +                               "88d1f466f33239ebbee3e",
       
  9929 +                               "28c8b8ba9341ac37c38695",
       
  9930 +                               "430a7ef273c75f6860a9e2",
       
  9931 +                               "5963fe850d852bb19cdfe3",
       
  9932 +                               "57ca180b4c6f8c3a63ae46",
       
  9933 +                               "745f8230228fe0e913a537",
       
  9934 +                               "6495ff035413be2b53c45f",
       
  9935 +                               "1825a2f6c03df8e89a424f",
       
  9936 +                               "4ee9fe013ba8fc6ac8d470",
       
  9937 +                               "7b7c35dbf0dd6b94d050c5",
       
  9938 +                               "a70e6c0e6da7b5bd943d0",
       
  9939 +                               "6904f88af6eea4b3f91bbf",
       
  9940 +                               "5ccb3321bf79805e3743ec",
       
  9941 +                               "40fe888eb50954f82f8f41",
       
  9942 +                               "1683c065332572cac40e7f",
       
  9943 +                               "265a6fe3ade48b79bb704f",
       
  9944 +                               "6869e474162fccd5e6ce8a",
       
  9945 +                               "1621052353e1bb38663f44",
       
  9946 +                               "5206d5cc4cf74b102b511e",
       
  9947 +                               "459fc4d70a1a8040309b48",
       
  9948 +                               "1a38abc6055dcfc6f54cd3",
       
  9949 +                               "6de250d6d96fba0a4a2df6",
       
  9950 +                               "521255c27009b10aeef14",
       
  9951 +                               "784a6ea72c75433fa2c1c0",
       
  9952 +                               "1c429a8aad032b85e815c6",
       
  9953 +                               "46ae03b83630be869f3f67",
       
  9954 +                               "468227ba06af62fa70d6b",
       
  9955 +                               "1832f7608c30377f8a27c1",
       
  9956 +                               "74e8524ea4276a1585abc9",
       
  9957 +                               "479f0a9b95b8f0e630df10",
       
  9958 +                               "6c9aa8a230f91d4e6f84c2",
       
  9959 +                               "2020839307f0a0b2a66465",
       
  9960 +                               "617907260cf1e3612508c0",
       
  9961 +                               "50b259ce6ef7786ad19380",
       
  9962 +                               "60ad8426c5228781a660d2",
       
  9963 +                               "640821dda0f544b159e25f",
       
  9964 +                               "11216382d02fa8a680f2c",
       
  9965 +                               "3b142ae3f666b5a458fd6",
       
  9966 +                               "50d8060a4c81ac0d9dcc9a",
       
  9967 +                               "656e0aaff42e8f100df7e1",
       
  9968 +                               "6b189bed3e1ee805a7089f",
       
  9969 +                               "587965194057ffad1ed72d",
       
  9970 +                               "7c91adf751ba7b800072a4",
       
  9971 +                               "66c37766a09f2454161188",
       
  9972 +                               "2aaf602c5ad427702561f0",
       
  9973 +                               "1fe772e91ad75a2d2792c4",
       
  9974 +                               "432bf33542ea8f8c0e1cab",
       
  9975 +                               "108be849403d8b9e0adadd",
       
  9976 +                               "1f098e306099d97f37bcee",
       
  9977 +                               "15e468fec0387d9dcde2e9",
       
  9978 +                               "35a56ed2078e145e9b5d42",
       
  9979 +                               "3450478bbaf1db9aae9e0e",
       
  9980 +                               "5819cdbf42afd2334f96",
       
  9981 +                               "453649c203cf983e439d84",
       
  9982 +                               "6e6871265fe9883143d121",
       
  9983 +                               "14b7709b903167ca33c0bd",
       
  9984 +                               "5bb6095d45a0253a5e3e2d",
       
  9985 +                               "604b2e853911ce83225aba",
       
  9986 +                               "7dcfee63c4d594e4583601",
       
  9987 +                               "245ff16a71eb8c45257fd0",
       
  9988 +                               "51f56cb5201bdd22f49e70",
       
  9989 +                               "1b50ac3c3f5269c1d7aa40",
       
  9990 +                               "68c11de19f57751aa11e9b",
       
  9991 +                               "73da067d52334a718631ff",
       
  9992 +                               "63f2b709d7c6ba1ce60255",
       
  9993 +                               "6a47915604a062b94c626c",
       
  9994 +                               "6d15e33dfd91b0adf65ea8",
       
  9995 +                               "36b718d293f968b4388def",
       
  9996 +                               "38b2a18fa105ae1a1e82c8",
       
  9997 +                               "456d747923e7fcbd260fae",
       
  9998 +                               "17a8f2f3a036b54c467b7b",
       
  9999 +                               "4cd6b5c75a375bce549db5",
       
 10000 +                               "ad8ecaa59795b2101aeb",
       
 10001 +                               "5e89ffa159d58051edf13c",
       
 10002 +                               "48457eaf5bfbcca641689",
       
 10003 +                               "11e987960e92f0cfe9e7d",
       
 10004 +                               "484fed0412b66b4ad6689b",
       
 10005 +                               "2567685d25fd668a9a024e",
       
 10006 +                               "5d36dd2a4f038c91a8e525",
       
 10007 +                               "78386c3f2bea1d92b0136f",
       
 10008 +                               "6ecd91e762474ea500bb02",
       
 10009 +                               "460dae8d89d7708b43a1c7",
       
 10010 +                               "3846b043ea9479616ae948",
       
 10011 +                               "35d846be55b3952e278ab9",
       
 10012 +                               "697bd2294052d067eed5b",
       
 10013 +                               "29ecceda91e2de99bded7a",
       
 10014 +                               "32c247d46291051243da8b",
       
 10015 +                               "59d6c2db6f995cfebbccc9",
       
 10016 +                               "5628eeca86bc4f505da4a8",
       
 10017 +                               "4450b05b160d8c53288cd5",
       
 10018 +                               "5d0b6fe03f574db311d01d",
       
 10019 +                               "7059a8ae14b27b87ae7942",
       
 10020 +                               "7e37627adf10efb14adf13",
       
 10021 +                               "4dae59d140c542483e12a9",
       
 10022 +                               "26246e8fdf408dac8fd2a5",
       
 10023 +                               "2d3baa252f4d982bd2ad11",
       
 10024 +                               "266efd2e0daff29e309d38",
       
 10025 +                               "8fdbca74c18894d421e52",
       
 10026 +                               "7cdb727ae2bfeeed50af45",
       
 10027 +                               "490df281db25788739ca0c",
       
 10028 +                               "324340f1f7ccc9eff05524",
       
 10029 +                               "595eaf076defb81f21236",
       
 10030 +                               "22aca8e5833c97719ebb51",
       
 10031 +                               "421f5a540df5b7ba309bc8",
       
 10032 +                               "4cf40ea87be0baab3f0a23",
       
 10033 +                               "78050a04d755b7008433fa",
       
 10034 +                               "70089a05ca7765b8ef62a5",
       
 10035 +                               "6446d75a31a4956c235943",
       
 10036 +                               "3bc0b4b12c4e0d37097319",
       
 10037 +                               "6a6ceb53a9e08bce60e22f",
       
 10038 +                               "5527257327c4eade309a67",
       
 10039 +                               "5193e0be567990b2818200",
       
 10040 +                               "540f6a5d04324cc6ed1398",
       
 10041 +                               "d79412155f3d978866277",
       
 10042 +                               "65e3000fa520e5bd8bfdc3",
       
 10043 +                               "988dfd270fa06d78d9fba",
       
 10044 +                               "6bbfc916f60c65ff6069ae",
       
 10045 +                               "22a2f494120b7469421488",
       
 10046 +                               "5514a9f97c736ef89e2558",
       
 10047 +                               "494a8aca14d077b143ca10",
       
 10048 +                               "599c6bd84b32b97e000cad",
       
 10049 +                               "2983f80020a9f6532ba834",
       
 10050 +                               "39395b9f947ccce230cc1d",
       
 10051 +                               "5eb549dbd9b640a1018c4c",
       
 10052 +                               "3a948a48ee72242647aeee",
       
 10053 +                               "5c0b858603efe861d8e554",
       
 10054 +                               "18af2f7c66ebae2215b225",
       
 10055 +                               "7656e2bcd13769bc7d3690",
       
 10056 +                               "1d345a329131e03407a9ae",
       
 10057 +                               "6b91d4c08bfb155d85a09d",
       
 10058 +                               "c5eb765e74f7ea6040509",
       
 10059 +                               "347e522bb35549d788adad",
       
 10060 +                               "3c2561b4603673cde220ff",
       
 10061 +                               "78c36b7a1a1ac86080796c",
       
 10062 +                               "34f1c6d5946b4f8e9c34f2",
       
 10063 +                               "1d82fef6b5daac184a21bb",
       
 10064 +                               "11e3b65e520ccb94e0f28b",
       
 10065 +                               "53ee027a60ac6b8703b4c4",
       
 10066 +                               "252a9565fc2ed88c83afe5",
       
 10067 +                               "2c748923f66e9b836e2956",
       
 10068 +                               "501c73bb8897e8a9b644da",
       
 10069 +                               "527df835ccce3d0d8dc6be",
       
 10070 +                               "753e3ffd723c55ffaa57eb",
       
 10071 +                               "27cf1a1e36d6b6fbf673f1",
       
 10072 +                               "303e55cf5d940fa1eb0863",
       
 10073 +                               "483592c4cf34d97823b087",
       
 10074 +                               "404518992cad409d30e138",
       
 10075 +                               "247aa73439f114a2bae1f5",
       
 10076 +                               "43f106dd9b706c7cbad455",
       
 10077 +                               "60de98af5b2e9794ccddda",
       
 10078 +                               "2bbb60823308802716b002",
       
 10079 +                               "5a4b0bdbb9a3eba57ecafc",
       
 10080 +                               "7eacc570a117e3d2c4ad3b",
       
 10081 +                               "b80a7edd7c5745e63c50d",
       
 10082 +                               "3d2c4d19f97ec14b7f9a20",
       
 10083 +                               "8e1dc29eaa3429a93416f",
       
 10084 +                               "16c859dc1504abc8bebb3e",
       
 10085 +                               "142700479fca005e365a5",
       
 10086 +                               "1a5a69890d5f080ad27aee",
       
 10087 +                               "333e4709f384c49fba280e",
       
 10088 +                               "773e49f5dd28ab9abcc4f3",
       
 10089 +                               "7fcabd5ff8d8321877d09d",
       
 10090 +                               "392447173660d27311fc56",
       
 10091 +                               "3b607643718a1436cbf93f",
       
 10092 +                               "3d01c0ebec513aebdf049d",
       
 10093 +                               "115af287df30e3b9382159",
       
 10094 +                               "217e1d11ab05e37175e942",
       
 10095 +                               "43240f690e895ee2ce6199",
       
 10096 +                               "6473a7fe7461369e02b551",
       
 10097 +                               "56d1b28a25e58905b948d1",
       
 10098 +                               "5c08c8490ead830327cfc3",
       
 10099 +                               "60d1cb028fdf2f7506480f",
       
 10100 +                               "6efc437814b1b1a8db77d5",
       
 10101 +                               "386903ad1ff043a2a203ff",
       
 10102 +                               "113203b24e05e4ff03bfc7",
       
 10103 +                               "2287f22a43e09d12b5fed1",
       
 10104 +                               "3fc330d82c00c3c98129ad",
       
 10105 +                               "5bdacc4f0e9a9f3c5eb7f",
       
 10106 +                               "43ad0b393a7c2a4d667efc",
       
 10107 +                               "4d17bed73f2032142b03a3",
       
 10108 +                               "72492bafc7adaedde393c7",
       
 10109 +                               "161741a6fabf2be3cb74a",
       
 10110 +                               "3253a13971cf24cc306f4e",
       
 10111 +                               "3566ae3cffa53b48308a5c",
       
 10112 +                               "772853e9593804a23d0c9f",
       
 10113 +                               "58d985a1111ffbdece42a",
       
 10114 +                               "6b463071583d5d51119c18",
       
 10115 +                               "58ab9a24dbad2ee2c0942",
       
 10116 +                               "7b625b197eb76a08b19ecf",
       
 10117 +                               "153d46a7ad0d4c7b81a83d",
       
 10118 +                               "560bc3397e1eecda48e8d6",
       
 10119 +                               "3e27d166777ab6af4a4b75",
       
 10120 +                               "10a7cb0c646bfbfaf6b1db",
       
 10121 +                               "abe7e5169767e92b8517c",
       
 10122 +                               "46bc67034da17d5b7c72cf",
       
 10123 +                               "16c1a9b3bcba979d2fb250",
       
 10124 +                               "20573b178651610a410e89",
       
 10125 +                               "46c829e7e1980bc26c13f9",
       
 10126 +                               "3428c448a20f463714e16e",
       
 10127 +                               "7be85a588e4f01b973f9a4",
       
 10128 +                               "382238b03129ae3a8cb2e2",
       
 10129 +                               "8b93e9e7ea54df6ea61e0",
       
 10130 +                               "dde95ff1403621e1e9c39",
       
 10131 +                               "b3a488e23273b8e74aa2e",
       
 10132 +                               "3af2323baa99fc6ef534e0",
       
 10133 +                               "6003c83a8ae5ae42a0956a",
       
 10134 +                               "2ac52045b3b592dfbeeaaa",
       
 10135 +                               "7f29a05b16052f06eff50a",
       
 10136 +                               "1eae59f579b122f18b84d1",
       
 10137 +                               "28593d93a1a2159e16cc13",
       
 10138 +                               "460f5f98b19a4d353358fb",
       
 10139 +                               "56efa25eac0d5f675af6b6",
       
 10140 +                               "73e9dbd2873c27040a215d",
       
 10141 +                               "5ca40898d5d325e557e04e",
       
 10142 +                               "405224a222d42397ca18d2",
       
 10143 +                               "a69b0e544c08336c9606b",
       
 10144 +                               "1dfe68dd4d69d0d5368782",
       
 10145 +                               "18bd8096de042467441c8c",
       
 10146 +                               "55f3bd5a345801aa67f91c",
       
 10147 +                               "5430c091f416778afc3f3e",
       
 10148 +                               "4e33cc0d26d44c2394c8d2",
       
 10149 +                               "2ac1793993d045ec4ea0ab",
       
 10150 +                               "a0ac3885d2cb22aeb977f",
       
 10151 +                               "1073f10b92dd8a202017b2",
       
 10152 +                               "23e36a6e12831353ac1afd",
       
 10153 +                               "71f02d980dd943488cbefc",
       
 10154 +                               "7e558ced95c8a49312174c",
       
 10155 +                               "21b1555bb331b89f928e6d",
       
 10156 +                               "75ea3318a1054593eca8e6",
       
 10157 +                               "88658ceb2447416239af",
       
 10158 +                               "7dca64fefd065e0893d874",
       
 10159 +                               "5f427b13d8351db71dc75e",
       
 10160 +                               "475c02da59260b083fa105",
       
 10161 +                               "5ee825c795f457b727b9e8",
       
 10162 +                               "124aa58a7e2a882689ba12",
       
 10163 +                               "797bc83e9789b064b51c92",
       
 10164 +                               "2a8b319bb90a064d3cc523",
       
 10165 +                               "5570385cc742f16a21edc9",
       
 10166 +                               "122e1cf4ba920fb923d0e1",
       
 10167 +                               "7fc9fec9506aa1a0661240",
       
 10168 +                               "3fc3680285719ed4f7e7fe",
       
 10169 +                               "7175ce67c0c74c440327c2",
       
 10170 +                               "503bee64726b7b32815f44",
       
 10171 +                               "5c4dc3dd9138eb7169302d",
       
 10172 +                               "3f0eb0b9bdbbe37f40dc5f",
       
 10173 +                               "5aa25b718982092494e872",
       
 10174 +                               "20b11d38582bb81886466a",
       
 10175 +                               "36baace22f2d7a2014dd1e",
       
 10176 +                               "27216bcb23514df00030b1",
       
 10177 +                               "3146d29fae3f74014572cf",
       
 10178 +                               "3988842f76572373c3459b",
       
 10179 +                               "6aacfa3617f47dce14015a",
       
 10180 +                               "581f2a492a4fe468c3971b",
       
 10181 +                               "4cc8bba01b6788222eb375",
       
 10182 +                               "5c00c9ce80be32396ca075",
       
 10183 +                               "28670ba592cd5a2625df3d",
       
 10184 +                               "14e47840962745e9f2bba8",
       
 10185 +                               "7f26a6c99362d1126b6773",
       
 10186 +                               "6eb090e9b1df79f4d2226",
       
 10187 +                               "7f035a794c44a6a57abf00",
       
 10188 +                               "1740e5e9a57a4e80eed5c8",
       
 10189 +                               "46b1961304e45b428bd48",
       
 10190 +                               "49ce8855b52dfbb878b2d3",
       
 10191 +                               "313ef612f2fd65f39c2e3e",
       
 10192 +                               "7332b41a9fe9dfbe59f71f",
       
 10193 +                               "41858e467a21a3938d60aa",
       
 10194 +                               "6234ffe0f938a25ce0f5a8",
       
 10195 +                               "1105d3c71c59dedcb33f",
       
 10196 +                               "7a75b868e9fb50140bd203",
       
 10197 +                               "68ae7d3832d31bce57eaf3",
       
 10198 +                               "600de685f1a4c2f4a236d9",
       
 10199 +                               "3684bf3ee3a2b8635ca0e1",
       
 10200 +                               "2bb74459adcd7029c9c35f",
       
 10201 +                               "b7347a4820635a5852b61",
       
 10202 +                               "249f5358017ada6567b747",
       
 10203 +                               "17445a9a60b0dfca9df354",
       
 10204 +                               "695d060b1aceccfdfa96c2",
       
 10205 +                               "a209dce8856336ebd97f2",
       
 10206 +                               "72059eace3671c76d67005",
       
 10207 +                               "6dafdbef06e817ec42991d",
       
 10208 +                               "47a38df2df7f516ac35f8d",
       
 10209 +                               "6a3afde1cc784aefb925c8",
       
 10210 +                               "112bfdedc3401ff20ffcf6",
       
 10211 +                               "3161bea37fcc040c6f6494",
       
 10212 +                               "6152b40d63a55e1ef6e750",
       
 10213 +                               "41127c781a5dd07b6ea357",
       
 10214 +                               "1df80784a603cde2e8573c",
       
 10215 +                               "2ad8c773fcdf92009db9b6",
       
 10216 +                               "5cd8f904c6a0e1c85597c4",
       
 10217 +                               "21532161ecdbdaac15b68a",
       
 10218 +                               "5a80f23e82161bfd2caa8a",
       
 10219 +                               "59377c70bed9cccb346cff",
       
 10220 +                               "212d386743b2c2069ec4b7",
       
 10221 +                               "26fb73843bff3e4d17aa10",
       
 10222 +                               "1f15e66f6c5b160801ec4b",
       
 10223 +                               "4024c6847ce50a93fefd10",
       
 10224 +                               "38419b7c213432cd42f4bd",
       
 10225 +                               "ea9789ae096da5bedc410",
       
 10226 +                               "23a7a59b35972768b71627",
       
 10227 +                               "60a177acbb4aeba955e6a6",
       
 10228 +                               "22d9fd1638450186756413",
       
 10229 +                               "5a49a0430b2145ead2e9a5",
       
 10230 +                               "7fb445fb34908201d41b44",
       
 10231 +                               "7b1e254e6050240b36eede",
       
 10232 +                               "44867f919f39bbc1ac8a53",
       
 10233 +                               "57c6f0c9d94e02524b4029",
       
 10234 +                               "553a48facee35f17214327",
       
 10235 +                               "5e3402a24a307a945167f7",
       
 10236 +                               "4ecbf2559411992397d1ba",
       
 10237 +                               "3adf2b6aaf40f5dcdffdf2",
       
 10238 +                               "156e3560db5a642c108333",
       
 10239 +                               "26f3f960b2ba725c83b706",
       
 10240 +                               "3135a042ca5b8873367081",
       
 10241 +                               "5778dc2f1465daeafbf88f",
       
 10242 +                               "142aa17e315b2096d3470c",
       
 10243 +                               "17b1690a9c9f4fba9154e2",
       
 10244 +                               "6f3d0d822d1a27088df8e4",
       
 10245 +                               "749ebfb4005c94ed288c4",
       
 10246 +                               "7f64ec3ee1d6fd7b5f9352",
       
 10247 +                               "3ea29dc49c06d64c187862",
       
 10248 +                               "322d1e939066766f918e43",
       
 10249 +                               "d1c5eeefb8bb620c573fa",
       
 10250 +                               "7d83ba89b9f89b55497937",
       
 10251 +                               "2f635c018151dfffc38ed7",
       
 10252 +                               "6b77b6d06b93487730de2b",
       
 10253 +                               "202d04fcffa7e3a0ae0585",
       
 10254 +                               "7351e32ddd53c7465f65e8",
       
 10255 +                               "1d5b0385650d2d81754f72",
       
 10256 +                               "5227913634dbd4b19ffe95",
       
 10257 +                               "1eacd91eb3938b38f0210f",
       
 10258 +                               "3ab4982748b8f986192588",
       
 10259 +                               "4a648c611ef0b3b0e318e0",
       
 10260 +                               "18eb41f414dd28e8ff3a1b",
       
 10261 +                               "28e33efab89fb4f64d6498",
       
 10262 +                               "1b67e56d8c8f6656eac86d",
       
 10263 +                               "27476789fbe89ef5fe00c0",
       
 10264 +                               "21e39ab39cd96423900120",
       
 10265 +                               "4818fb8f958698b6e9c9d9",
       
 10266 +                               "95d86ded4a7b26a1ad331",
       
 10267 +                               "1b2e283bc4ff40366c744f",
       
 10268 +                               "2db6e61499c9393946b57f",
       
 10269 +                               "3e8986648fb4053520276a",
       
 10270 +                               "5eec1e56c0a2d0e34dfc8a",
       
 10271 +                               "389d9fa841750626db108d",
       
 10272 +                               "4e0326164785519414d07e",
       
 10273 +                               "530f4c391aa2b0938eb272",
       
 10274 +                               "50c915d40aeb9e4ec78789",
       
 10275 +                               "57bf13241507b812b9a904",
       
 10276 +                               "3245bbf080c6731fee74dc",
       
 10277 +                               "11081f4b8fb8f0a9abf772",
       
 10278 +                               "7a75be28b1e93e4e0c9342",
       
 10279 +                               "174fdf0bcfc8d0f4e77e83",
       
 10280 +                               "46986d0da7a2c17dd1dc22",
       
 10281 +                               "68e88d3bc4e8d390ae4b13",
       
 10282 +                               "4a2580e03d81912089d88d",
       
 10283 +                               "201e678f30ea96fd17615f",
       
 10284 +                               "3566f7f67e026f0278dfd5",
       
 10285 +                               "30485371efc19b50bbafe6",
       
 10286 +                               "4dedb1ba2a6a4abde67337",
       
 10287 +                               "33440d7d3472a4b6e2f627",
       
 10288 +                               "591749051e47ee7b49cf82",
       
 10289 +                               "3fe61d12a0b09791925ccd",
       
 10290 +                               "7f5140ee63b60e0a33058a",
       
 10291 +                               "5eb217461cfa46d5694397",
       
 10292 +                               "6aaafc0107575bd9b70723",
       
 10293 +                               "3305f9d7ac9bc35ded571d",
       
 10294 +                               "5ef7fbdbf498c8684625f6",
       
 10295 +                               "3b66491ccee4801a4e3673",
       
 10296 +                               "76fbf6732402bc76e061d1",
       
 10297 +                               "28a37e042abf70a7cb137d",
       
 10298 +                               "534c1a3b25194e8cd66e6c",
       
 10299 +                               "3eedab106a435ef32b9e48",
       
 10300 +                               "6bd995ef31bcfd22d52d9f",
       
 10301 +                               "6b5da25417070642e0ba4c",
       
 10302 +                               "3d40b56764f7765513d13",
       
 10303 +                               "44bd0de2094b8b3759356",
       
 10304 +                               "312518f9c1ce1e690c003d",
       
 10305 +                               "f920b02af1e3bd673512e",
       
 10306 +                               "4ed1311eae64f9e834ee7b",
       
 10307 +                               "4d075c933e4b93da3a33d9",
       
 10308 +                               "133606f2fed41ffd77b999",
       
 10309 +                               "16b6721ea95f55ef631d25",
       
 10310 +                               "140aa7412f6488f5404826",
       
 10311 +                               "3ae99fca89d15abe091160",
       
 10312 +                               "543222604f067afa3e7558",
       
 10313 +                               "2948eda7d7c508918c3056",
       
 10314 +                               "4cb6253df884020966d27b",
       
 10315 +                               "46bafe88322c67f3b90507",
       
 10316 +                               "31416a7f09913059dc251d",
       
 10317 +                               "52d3cdd253b64a03c5885b",
       
 10318 +                               "1c5d10301fcf4a14c82adb",
       
 10319 +                               "5cd8f782abb8b60cbf36f8",
       
 10320 +                               "42b636bc4126dddf74cb00",
       
 10321 +                               "5afe15c1524eda9627e183",
       
 10322 +                               "783d012e8b928ea14eaad8",
       
 10323 +                               "45242101d43b276b34115c",
       
 10324 +                               "28b06d6b1f993702509e4a",
       
 10325 +                               "16ad879cfcd3e458301dc9",
       
 10326 +                               "78873bb7282961108e63a",
       
 10327 +                               "1c5b7d2b84cbc7b29bf542",
       
 10328 +                               "48edf77c0fc298b0491c2a",
       
 10329 +                               "398764fa3e177502af4d3b",
       
 10330 +                               "1d1aa15ce7c8c15f051ba9",
       
 10331 +                               "401a3ed45557939fa7eea",
       
 10332 +                               "13f9a309c929439a91df6c",
       
 10333 +                               "3aef6b8ad8d4f116a27e4a",
       
 10334 +                               "64b1dd5abc6713a8f53d0c",
       
 10335 +                               "73f4373aa0c46a1ae61409",
       
 10336 +                               "1ebddbaa72ad1a2b1cdc49",
       
 10337 +                               "2cd33d1f501e268643d591",
       
 10338 +                               "11b77783f411c457cf909e",
       
 10339 +                               "d92cf9efd7d12c62f0dfe",
       
 10340 +                               "2c56fdcda56f78dcda9b60",
       
 10341 +                               "118d29d91686683483dea8",
       
 10342 +                               "7e05b7c7d54cfa1fc7b525",
       
 10343 +                               "42c5d2d1082dd2375a4ef3",
       
 10344 +                               "26554ee3e9bedb1a3a09fd",
       
 10345 +                               "ad64cff4b4763a7fda09f",
       
 10346 +                               "5f9563c7ca70d6e5061bfa",
       
 10347 +                               "38d987fd4b450ee5a69286",
       
 10348 +                               "62af499c078af038905758",
       
 10349 +                               "3eecfda3b4d92af2b7e5ae",
       
 10350 +                               "5e195ccf98c9a4e1967fe1",
       
 10351 +                               "61c0e0ff11a378274b395c",
       
 10352 +                               "486fd3ea0158f33daf767d",
       
 10353 +                               "4cfaabac7104cbad2ed728",
       
 10354 +                               "714ed5cb0027168be15142",
       
 10355 +                               "ac5bf0492a63aa0bf597",
       
 10356 +                               "53339d5a01f3d2e9bc8755",
       
 10357 +                               "457d09be8a2a4c351b63ae",
       
 10358 +                               "1892726d56d4f8f92dde20",
       
 10359 +                               "236e08f8411de38e44c3cd",
       
 10360 +                               "5549ebaa872068aae68ac5",
       
 10361 +                               "11df54a696817409ff1164",
       
 10362 +                               "7f695021b246db24a5113a",
       
 10363 +                               "5267f1f68134d546ec646f",
       
 10364 +                               "4ad5e4985caa0c7ee63b9f",
       
 10365 +                               "3c5262912ab7e82ffd49c",
       
 10366 +                               "7f9a1f8e557617163d5e82",
       
 10367 +                               "31b2ef6b5163160bdce290",
       
 10368 +                               "127dbd62073fb0c17b4217",
       
 10369 +                               "5fe5a0fcee7c061cf49e8d",
       
 10370 +                               "34ce2df12c5e0970f682d1",
       
 10371 +                               "4f6148f444b84dfe82ecb2",
       
 10372 +                               "740e3fa0e998e741eb97cb",
       
 10373 +                               "5623f1c8e0d5c15938b2a1",
       
 10374 +                               "79ef58660a06bbc22f0cce",
       
 10375 +                               "35f48b300d21989b05560",
       
 10376 +                               "4efe7cc856d9eef4fda470",
       
 10377 +                               "43f99aac41b05d58c624b4",
       
 10378 +                               "66b03ec137e6361ddf6317",
       
 10379 +                               "4382f99dff4951a775fb77",
       
 10380 +                               "974b1ea8fc3d4665ea11a",
       
 10381 +                               "1998c4f90bb8b5465b7b1e",
       
 10382 +                               "a49f38b3c0b7ca1fc5c10",
       
 10383 +                               "57d421e876be8c87768c1a",
       
 10384 +                               "14c79375686a30f4c21ea1",
       
 10385 +                               "667b77d58f7f6b14e19bc3",
       
 10386 +                               "17b5a764867bc2f176278",
       
 10387 +                               "cf2bf44fe6c433cc00c9",
       
 10388 +                               "61619bfea73d2a10c7a7e9",
       
 10389 +                               "3908eb827c8209b96bc643",
       
 10390 +                               "e859d26ac6c854731c10d",
       
 10391 +                               "562d8222a0b94f5af3137c",
       
 10392 +                               "780a2a5411b159d83dcb95",
       
 10393 +                               "645cf2dd2735f1cbf53f1a",
       
 10394 +                               "6476d594392ef9fc9a3df1",
       
 10395 +                               "7df75741d3ccafb28da8e",
       
 10396 +                               "526d1eb936d1a3dec6eeb3",
       
 10397 +                               "1a3337bb0bc288bf44447e",
       
 10398 +                               "13413811d8a8e6bc2e6cf8",
       
 10399 +                               "54728697bad28cd0bcc9f",
       
 10400 +                               "2e178e1cc4f997792ce1aa",
       
 10401 +                               "f339d2f5ca33347ae8d13",
       
 10402 +                               "24dc2302a4b77b85525bd",
       
 10403 +                               "4779c6f70cb71f00e32d17",
       
 10404 +                               "20866732367b425f7e5ad1",
       
 10405 +                               "26c45bee1cb7e300fef593",
       
 10406 +                               "4f3fe475424626758ebe24",
       
 10407 +                               "3979e2b3d54a21e7e8c1cf",
       
 10408 +                               "50bb1918112bad3e57d523",
       
 10409 +                               "4e1bc7c2f29a2f520bcf7d",
       
 10410 +                               "3b4ae8aa403abef29b052b",
       
 10411 +                               "54765bab6ab2b394d9dee1",
       
 10412 +                               "5e7e83070de3b07a4bc87",
       
 10413 +                               "6131db76263e902f303f6e",
       
 10414 +                               "2fb62f0a2e9435830411",
       
 10415 +                               "57b341376c8eeb5e957326",
       
 10416 +                               "7d59312cf551555c728152",
       
 10417 +                               "3e13e95a38da382cdac574",
       
 10418 +                               "53e3092b891267552e8471",
       
 10419 +                               "ea04fd9db78a21c39b6a5",
       
 10420 +                               "42cda11218a2f5a8d7bd1f",
       
 10421 +                               "3aaf5736ed929c1ed0ab93",
       
 10422 +                               "6e93c69a7627e1f9832a61",
       
 10423 +                               "37526cf6c350fc29ecf559",
       
 10424 +                               "5640578c9a2f674c097c8a",
       
 10425 +                               "41ebedf12db1451af99b12",
       
 10426 +                               "66db9685c97e1039f97191",
       
 10427 +                               "61e21b9a255226ab8a9c03",
       
 10428 +                               "4d36c683652009a273c69c",
       
 10429 +                               "3e00e41664141664f70d8e",
       
 10430 +                               "734cae170e5d7d8758c509",
       
 10431 +                               "26c603e605263eb37ee858",
       
 10432 +                               "1cb50b0700a11348f864c6",
       
 10433 +                               "6b4ed91c3f4f0b25252206",
       
 10434 +                               "46436019c4b35e76ea4182",
       
 10435 +                               "44885049137a26d9ff4438",
       
 10436 +                               "1cf7470aa8bed908f93c32",
       
 10437 +                               "56d7ace10d6e046f35bc1e",
       
 10438 +                               "2bc7683658e815b0850ae",
       
 10439 +                               "2bd0c39ecff8d002f3a3f7",
       
 10440 +                               "2848634cb8eba43423c432",
       
 10441 +                               "177aa9fd51aa698c4f5d25",
       
 10442 +                               "809a8bacccc204134381c",
       
 10443 +                               "60483a9742002ed4918cd1",
       
 10444 +                               "7544304d1b3c2594fef689",
       
 10445 +                               "49ddb3e956e6fd8d65e1ed",
       
 10446 +                               "3820d1fc1eab75e925dc43",
       
 10447 +                               "7093b250c7b04c2c6d567c",
       
 10448 +                               "16870479234b3337ddc8c9",
       
 10449 +                               "18f39bb607de6b1ad183e4",
       
 10450 +                               "a5d62acbaf68c52001a4b",
       
 10451 +                               "65f33a2872e25c8a682f06",
       
 10452 +                               "4e66ba0bc1058a3931042b",
       
 10453 +                               "357eab1d6b7f6618503b3c",
       
 10454 +                               "5cac3c06df31850ad70694",
       
 10455 +                               "7e68cfb951ae556b15fa1",
       
 10456 +                               "7de8764ca6a43c99d6a50f",
       
 10457 +                               "329c1979af2fa92b25335f",
       
 10458 +                               "113149ff5647e02c5d8e8c",
       
 10459 +                               "5fde1fcd656f65c682e01e",
       
 10460 +                               "3a2bc2968347afc3827c67",
       
 10461 +                               "b7602abf832a9540b03b8",
       
 10462 +                               "28434971e0ad86e87340b6",
       
 10463 +                               "e24946eda2a54a4c98b6e",
       
 10464 +                               "318d2300370d914ed1483a",
       
 10465 +                               "776ff8d5492c149f7acf17",
       
 10466 +                               "50e46147373113c54d73c2",
       
 10467 +                               "59652c3042e742dab07904",
       
 10468 +                               "1e74e23fb34c50dc055d0",
       
 10469 +                               "3c31433d0db703e03c294d",
       
 10470 +                               "64666abc6a9a2f6a1c7575",
       
 10471 +                               "191da9b869e973d2fdfea7",
       
 10472 +                               "6c362e17e2173449bde86a",
       
 10473 +                               "1a8ed7cad7bcfca4620120",
       
 10474 +                               "273beeddd87cbae01c207f",
       
 10475 +                               "568f3917922fe83ad3e225",
       
 10476 +                               "44e6ec408ba05ad98e759",
       
 10477 +                               "32f5fb93813b0abef00c9a",
       
 10478 +                               "490db50fd1ace7e8ec15ae",
       
 10479 +                               "7630fa097aa2bf97cef6b9",
       
 10480 +                               "6ef800332004d6cda26cdc",
       
 10481 +                               "551ec7c1ae7ed078f940c0",
       
 10482 +                               "455927f484bb8820a2ccf7",
       
 10483 +                               "7933956672bf2e4535ee34",
       
 10484 +                               "2a7311c640e7cf0ecc141",
       
 10485 +                               "7242e44696c19a3a1910b7",
       
 10486 +                               "3c7a2b6b58424eab86f3b4",
       
 10487 +                               "359b331d03b9cc2451c1f8",
       
 10488 +                               "4169ab1c6bf3f0abec6c34",
       
 10489 +                               "6df855d5b158377d521892",
       
 10490 +                               "3c4374002a4b05edbee285",
       
 10491 +                               "209910d1159692421526c",
       
 10492 +                               "31dfcfe645b46b329ee2a1",
       
 10493 +                               "1e6874a8b307092ad6e72b",
       
 10494 +                               "6b7e91fb5948662e3961e3",
       
 10495 +                               "23966403e567312c7a8379",
       
 10496 +                               "2f62056d547ebf7995c6e6",
       
 10497 +                               "5fda42ececb40f359e4f0b",
       
 10498 +                               "18a6b71998f6f84fd5d814",
       
 10499 +                               "76f42929010d1ca7619b42",
       
 10500 +                               "50e22c6cf5d6b70def807b",
       
 10501 +                               "1cc96ab6764758e9cff09d",
       
 10502 +                               "59aa03a25735023ef97395",
       
 10503 +                               "741d91860d83d000328e76",
       
 10504 +                               "a9753c820825d73c04548",
       
 10505 +                               "4ed7cbd3e32dee7a40c626",
       
 10506 +                               "6ce70c288bc2711b1b024f",
       
 10507 +                               "59efda7d6a6d8e6aaaba46",
       
 10508 +                               "6ee757629a9b68ac7e690f",
       
 10509 +                               "328bf9a8c78ea2ca3388be",
       
 10510 +                               "59bb325b9748e94acb6630",
       
 10511 +                               "55137101093be9fb51857e",
       
 10512 +                               "9c6c4ea9b05d327c6b7f3",
       
 10513 +                               "77815256a969cddb479be9",
       
 10514 +                               "3b0cb59bddc94e18233703",
       
 10515 +                               "7a123babe2e7abafbaf8e7",
       
 10516 +                               "35d6d7bb2855d9adfbf650",
       
 10517 +                               "6ad95985d0ab8e8d823145",
       
 10518 +                               "2133efe27b28c873f101f",
       
 10519 +                               "607776583fcde0ad8e4c87",
       
 10520 +                               "e2d9cdfcde324e23eda21",
       
 10521 +                               "747c7a13b706fb28e46c47",
       
 10522 +                               "35d310b1c9f92e46c5dccd",
       
 10523 +                               "7248daa035ed0c83c2d007",
       
 10524 +                               "3c8b578aed4234d875a143",
       
 10525 +                               "766ac65aedf40f90341249",
       
 10526 +                               "3087f959a9893769198248",
       
 10527 +                               "49a34db8369186ccd3e18b",
       
 10528 +                               "69b04bfb64dc28afc90f3",
       
 10529 +                               "3732911ea3b78b2cc54de2",
       
 10530 +                               "7dde8d7ccd2cebd1d4b943",
       
 10531 +                               "66727c69de089e222307ae",
       
 10532 +                               "5a67c62d60522486e9cab9",
       
 10533 +                               "6acdbbcb1d87bb33b845b0",
       
 10534 +                               "1f1cae187cb4e7e2d75ff5",
       
 10535 +                               "1cc8bac063e7f4722cc83d",
       
 10536 +                               "1f75d643fbc4ab52296f51",
       
 10537 +                               "7b34f38b9d16f0d70ddae4",
       
 10538 +                               "74a0eb9dfa780e171aa5bc",
       
 10539 +                               "4366b19aa12542a30c1749",
       
 10540 +                               "4a1404c02a58e6862d11f5",
       
 10541 +                               "55e542cd768eaa4ab7eb43",
       
 10542 +                               "182ed4a29e8be479e40c89",
       
 10543 +                               "5eb96063b604b2d052b457",
       
 10544 +                               "d755ece5c8fed1e833d4b",
       
 10545 +                               "10f7a570b959918609b06f",
       
 10546 +                               "656a55d45a93fac53881ab",
       
 10547 +                               "60e3811062f0661e25f626",
       
 10548 +                               "24a843ed6770d822f92be9",
       
 10549 +                               "216b9b04319fd8da8a6d3b",
       
 10550 +                               "3e41b8ea3309221756df7b",
       
 10551 +                               "5a00aa930e50101d3ad458",
       
 10552 +                               "260985f3992a168bc7fb3b",
       
 10553 +                               "5c3df551863d0055925c95",
       
 10554 +                               "28b06a5b8a2319d5d78e37",
       
 10555 +                               "3567cd9077f5bb1d3115a3",
       
 10556 +                               "460858d1e253129bf64e5b",
       
 10557 +                               "485bb888b6979f8f201fb8",
       
 10558 +                               "7aeadbfb750a598afce6ac",
       
 10559 +                               "3cfed079405fd41004c118",
       
 10560 +                               "3dac1d8f9e9cf46cc42204",
       
 10561 +                               "2df246fe147cf6a7d9ed5f",
       
 10562 +                               "1a908fcb6be810a9e1e92a",
       
 10563 +                               "6c33a3a058504d48c17efb",
       
 10564 +                               "66e9cba0e526f30b7b9b8f",
       
 10565 +                               "757f2101d664083b2fe8c9",
       
 10566 +                               "18c5643eccf2173f575420",
       
 10567 +                               "7dd9082b6f5562b8d6ba91",
       
 10568 +                               "389d1e8a26db35e20882fb",
       
 10569 +                               "65172c59adde7fa1aa62e",
       
 10570 +                               "1a7c7fe62effcf2d1a2cb5",
       
 10571 +                               "392d9ae31bf22e0236e198",
       
 10572 +                               "3d886ee05f1bcf69fa4f70",
       
 10573 +                               "2c8f1060dc661c38044a5b",
       
 10574 +                               "16eeff7e87d3caf8e58a92",
       
 10575 +                               "741dd990ea20591fd9b5ff",
       
 10576 +                               "39bbee3cab035e7fc68b3",
       
 10577 +                               "4996f8a3f7c2c5fac02813",
       
 10578 +                               "36ded179138f0e4cdf1ee7",
       
 10579 +                               "f9d7db7493258ceea1a37",
       
 10580 +                               "2a6c238cf5c57a2939882f",
       
 10581 +                               "35dbe95730bed0669969ad",
       
 10582 +                               "290fe0ae5a419909be4e2b",
       
 10583 +                               "63839ba9cca448dd7fecff",
       
 10584 +                               "30a8e1972ee45f3e0613d5",
       
 10585 +                               "509ea21b16907067d06b82",
       
 10586 +                               "7633f58adb014bb5585678",
       
 10587 +                               "6c8fa526a6bdbce9f7b832",
       
 10588 +                               "4a78cbf6bef93b38948e09",
       
 10589 +                               "37c7b0fc4e875134c29246",
       
 10590 +                               "4c996629390ea0954eeb1f",
       
 10591 +                               "222dacddb6e77241cadac8",
       
 10592 +                               "2df2bed0dd9ba405c8c5ce",
       
 10593 +                               "3a7c703f2642b17eba0c69",
       
 10594 +                               "22e8d9bc34a96264dd4caa",
       
 10595 +                               "4bb8f4e111d078e3c54590",
       
 10596 +                               "69efc15f2bab10979940b4",
       
 10597 +                               "4e1b51392bd1ad38a51d00",
       
 10598 +                               "5e82dce0d15b40d73e81bd",
       
 10599 +                               "6a410e486ad693817f9d31",
       
 10600 +                               "5dab9e18ce0b8340db40a2",
       
 10601 +                               "2df0f496cddcc699504250",
       
 10602 +                               "124c113e25b1a8153a830d",
       
 10603 +                               "28d70ec040ec983aded5c7",
       
 10604 +                               "7a93c6e177d746f5eb503",
       
 10605 +                               "14c9d693e42997dbc96df3",
       
 10606 +                               "50755ca653aac70b84b12a",
       
 10607 +                               "5f72010436c71470f190d9",
       
 10608 +                               "1af9124bffaade4351e990",
       
 10609 +                               "5fdc8856cd703470a1e5a4",
       
 10610 +                               "10b57d68a8cfe14ef3ca7c",
       
 10611 +                               "245003f901ae0a356365b5",
       
 10612 +                               "63dbff9398c6d2cafd1418",
       
 10613 +                               "75c2ce5e2535ac7878196c",
       
 10614 +                               "15c08724b1daf7a590d087",
       
 10615 +                               "3dc7ec06146d405216b267",
       
 10616 +                               "1fab75ef67bec61a68a277",
       
 10617 +                               "711d3de6506cffb89d82c0",
       
 10618 +                               "15b79d2a607e674b1df02c",
       
 10619 +                               "928d2a95f60dac2e280f3",
       
 10620 +                               "2db6d4b5b7a928883df97f",
       
 10621 +                               "522bb592e89a78b316244d",
       
 10622 +                               "cfbfcb607ba616c016fef",
       
 10623 +                               "13d6f0fac0c0b9cd891715",
       
 10624 +                               "12a8a0e9fe6ba5c3656149",
       
 10625 +                               "4553e500c491eb2ced6e1a",
       
 10626 +                               "368d20177281b04fd8018f",
       
 10627 +                               "2579cde0e8d37e04167a12",
       
 10628 +                               "2f4c8ebd42ef359c5ac79b",
       
 10629 +                               "7afeb7314079bb05948a57",
       
 10630 +                               "4dde9b7ed5a96934e4dd51",
       
 10631 +                               "3cfc7a65b66e9f8c6f8cbd",
       
 10632 +                               "7453e07405f19cfba93c17",
       
 10633 +                               "18488f368798b8734164ca",
       
 10634 +                               "532d2ff2bd9d0ca8b344ee",
       
 10635 +                               "18704740809cbd3a91bcc8",
       
 10636 +                               "1a91a4ef4625f7ae911f1d",
       
 10637 +                               "26240f3e8816b599bb01c6",
       
 10638 +                               "60749c3a015660029dacb9",
       
 10639 +                               "321405882a2a0c05f7907b",
       
 10640 +                               "6b85f2803d97e818e2e527",
       
 10641 +                               "40d9ddb7d82d86fe4dc6d7",
       
 10642 +                               "5bc9b4c686de112404ccc3",
       
 10643 +                               "49e219e4b19fa82e3cdd8d",
       
 10644 +                               "6b4aa7c57cecc522b32c99",
       
 10645 +                               "1152ee1f6c91b44b1faa20",
       
 10646 +                               "4f1b7b04b31a6d85748c8e",
       
 10647 +                               "28eaec99940a1b1f563841",
       
 10648 +                               "341ee0e329f6ab9da76c4a",
       
 10649 +                               "8a4219421d2f55bef801a",
       
 10650 +                               "25e4a83dfc2f633765d96b",
       
 10651 +                               "22a17bb1e02873c944cbe3",
       
 10652 +                               "4c4fa3875e78671bc1d2bc",
       
 10653 +                               "79db0961906e2d46b0b349",
       
 10654 +                               "68d1c5df4d9653be9c8e7b",
       
 10655 +                               "7e0f7a6620c31d72d9d568",
       
 10656 +                               "42af59edeafb6c79b9d208",
       
 10657 +                               "3d17d279ec6a81f53cd4f8",
       
 10658 +                               "2f1ba6fd01e5cf713f7991",
       
 10659 +                               "5c246c8d9baad4092bd7a9",
       
 10660 +                               "1c6a5fca595a1ff62b0a7b",
       
 10661 +                               "5c6ce5b29bafc437eda5ce",
       
 10662 +                               "709f8b4e1e81f78ecdd5bb",
       
 10663 +                               "619fb115b590487fbaece5",
       
 10664 +                               "5b917d89029b0850efbfd7",
       
 10665 +                               "2103ca88adecbfdd3370",
       
 10666 +                               "4e0f2086acba831702db59",
       
 10667 +                               "cebc8496358956c6ed352",
       
 10668 +                               "4aa62ab8f33741774c11af",
       
 10669 +                               "55925c1c09bda33b3d0e7c",
       
 10670 +                               "47b5376a6bf9ae1b5420d0",
       
 10671 +                               "5f305f39404231a1ce6591",
       
 10672 +                               "d0d6f30615b8f231bece9",
       
 10673 +                               "851fa3652b44e57d9190b",
       
 10674 +                               "4c099f907df9db8a25350c",
       
 10675 +                               "48cdee08fb7cd0c828eec2",
       
 10676 +                               "7399c1866bdfc2ee9d0ba4",
       
 10677 +                               "7da4d79cdf3d83f0763c79",
       
 10678 +                               "5de657154513d33b2dbb32",
       
 10679 +                               "4057d3883ee10c31d0c5f9",
       
 10680 +                               "139a5be9fe5d74b7b324f6",
       
 10681 +                               "4678975ad8ef4ef63ed234",
       
 10682 +                               "3a1984f88834905315728d",
       
 10683 +                               "5e53c14166e301e45a1c84",
       
 10684 +                               "1246f9f5df870b21bcb1e6",
       
 10685 +                               "6095ebe0914ab346aaab52",
       
 10686 +                               "173ef6d2228315e7fc8577",
       
 10687 +                               "71a2dd2f4561ce6b25cc84",
       
 10688 +                               "17f8a55fef5d58503cdf89",
       
 10689 +                               "2885d88c14361dbedb4fb1",
       
 10690 +                               "69cb489051468dc8b7a10d",
       
 10691 +                               "6552488fb7e68b138c5691",
       
 10692 +                               "3d5e0686efab87e5e7c266",
       
 10693 +                               "5adfc7a0a78f6657a5960",
       
 10694 +                               "65773487e5415b58fb205a",
       
 10695 +                               "1aa4bb2c56ddce8ebceb39",
       
 10696 +                               "1ae4174a64ea29d65c88b7",
       
 10697 +                               "2af1b36e871a2152d87ea3",
       
 10698 +                               "7118c95246463e79fab7c6",
       
 10699 +                               "7f31009d8b384ea51f9235",
       
 10700 +                               "5eb2b60c1d97e4dcdb09d3",
       
 10701 +                               "5ccfa76193ddbc64186a30",
       
 10702 +                               "1e31c413e16722caeb814",
       
 10703 +                               "dee72e6d522c55b461f4b",
       
 10704 +                               "18250945b23b28bdd1208a",
       
 10705 +                               "72e90ac5d748fbd2d7aadd",
       
 10706 +                               "10ad00e38092458e73fe4f",
       
 10707 +                               "1144f2116d6e426f3addec",
       
 10708 +                               "720179be8f54eb5c778be",
       
 10709 +                               "1fe4c7d7da3eaeaae25e65",
       
 10710 +                               "51a001a64a22c7bc0db3ea",
       
 10711 +                               "7d40cdfed339cab397652f",
       
 10712 +                               "1960ca77285b35812422e2",
       
 10713 +                               "421de31b9083741c4d4c48",
       
 10714 +                               "3cd3f5ea5623ce969c863a",
       
 10715 +                               "4b6b8f4e6118573075d4ce",
       
 10716 +                               "43ac29ece073be2a30ce86",
       
 10717 +                               "217c2392122f9868740137",
       
 10718 +                               "2b3dba5edc89810815d1ce",
       
 10719 +                               "7a9c1df7aec04dc00e3584",
       
 10720 +                               "74aed20fd8f19001dab562",
       
 10721 +                               "74f8ea2aa01f3e122e9ec6",
       
 10722 +                               "7f3f1310b0770a6a8ab4e6",
       
 10723 +                               "7377f9449fdfa779330064",
       
 10724 +                               "4d3d6fd7781e8ff3322226",
       
 10725 +                               "3629587577ea6cd990a3d3",
       
 10726 +                               "29ca62a9234f915c5c9715",
       
 10727 +                               "5286bfcb1951cdb460fbe5",
       
 10728 +                               "1b0dfe5bf791bf4d645e64",
       
 10729 +                               "150cbeb75257f8eed7903",
       
 10730 +                               "5ebda7b44a30093e22fee3",
       
 10731 +                               "6af9f591969edf6d33a899",
       
 10732 +                               "321ccac2ccfd73a0b28c6d",
       
 10733 +                               "fa6bb9b4b92165346e0ff",
       
 10734 +                               "603f9b3bc6733094104e23",
       
 10735 +                               "2e30617b0abeb387001867",
       
 10736 +                               "e419f0eced24d03400fbc",
       
 10737 +                               "2057d9029cad07c3d344a3",
       
 10738 +                               "1d4515e4768ff5c6b4178f",
       
 10739 +                               "7b5d99de82bacb33af7ee8",
       
 10740 +                               "43f53558dbb8a25ad757e",
       
 10741 +                               "4265efdcec74f163498291",
       
 10742 +                               "477273c36a749543489547",
       
 10743 +                               "767f863c9bfc5fd6540f44",
       
 10744 +                               "d8e9fae4ec5d3e7913712",
       
 10745 +                               "2ea5fa6c2e19e6ee7add96",
       
 10746 +                               "55fca6cb45a0501d1c50ba",
       
 10747 +                               "4e94399e1765146189df5b",
       
 10748 +                               "5accf03c1a20af1120832d",
       
 10749 +                               "137f8e05276cc8f9180095",
       
 10750 +                               "499667b1e22348ac584789",
       
 10751 +                               "7b87e87e1438c6126ab1cc",
       
 10752 +                               "46ea38e0c4bb849b39baee",
       
 10753 +                               "d922a909e3b3afea5fe08",
       
 10754 +                               "4700bc9de4804ec44122f",
       
 10755 +                               "54018c8917549d050c00a8",
       
 10756 +                               "5f8307f0589178f70f7238",
       
 10757 +                               "45b5b538c44c73f3bf515f",
       
 10758 +                               "7ad19421f012d132850842",
       
 10759 +                               "7adc118469443d4f7084b2",
       
 10760 +                               "2ae496e8d9399061460619",
       
 10761 +                               "49e01d719bf13fd52369ee",
       
 10762 +                               "e1e55a565534c74a109fc",
       
 10763 +                               "72bd80f062eb130b42b044",
       
 10764 +                               "1d616376b444140f9acd68",
       
 10765 +                               "48082cdc2a40ccd11ae434",
       
 10766 +                               "32a426cd7460f9e5c5e7",
       
 10767 +                               "bb247081da09643c00d36",
       
 10768 +                               "34f2e009d684c876c246fb",
       
 10769 +                               "3e2cbdf24bd5900348312",
       
 10770 +                               "507a6d1fd108a63234b38f",
       
 10771 +                               "3253e31b47819fbcec75b4",
       
 10772 +                               "3ae16fb3fb77d48c6adcc3",
       
 10773 +                               "244d1131736a5aea351d17",
       
 10774 +                               "682b3c7ed60ad7c985a3a",
       
 10775 +                               "22d6cba0f681e23fc64382",
       
 10776 +                               "14da7875e13efd461f7c10",
       
 10777 +                               "1ef2f8aa8266e26254215a",
       
 10778 +                               "22cd6c35ab2195c56794f9",
       
 10779 +                               "1d1b1bb20ae40ee8d35505",
       
 10780 +                               "66ba97928f262067fec230",
       
 10781 +                               "53e99cd5ced120123b808f",
       
 10782 +                               "7e698a24ee9aa726fc4b0b",
       
 10783 +                               "1df3eb49ffac499fc5f3b6",
       
 10784 +                               "465d9407cc9bc6456e974d",
       
 10785 +                               "48938572f05f540b474485",
       
 10786 +                               "ddf6be61ce9c04533277",
       
 10787 +                               "15131878551adae4b04c53",
       
 10788 +                               "14c7f40a28e01adc5ae1b4",
       
 10789 +                               "5cf912fba9a563060d7b3f",
       
 10790 +                               "1c85ed9416af845bb8e82",
       
 10791 +                               "1851d531ca021ad6f2b572",
       
 10792 +                               "4ad2dfbccfebf4c881dcf6",
       
 10793 +                               "16d83b4ed79a537102c236",
       
 10794 +                               "19e1cce82f85eff6f6b24",
       
 10795 +                               "589758587c26455b22331e",
       
 10796 +                               "59fdecdacfa91d60fd391e",
       
 10797 +                               "1eac63084c7797618dd9f7",
       
 10798 +                               "426ece55a7fd1d858414a0",
       
 10799 +                               "2078bac214b712936de507",
       
 10800 +                               "3e748cccf5c4b2e587b8b2",
       
 10801 +                               "232c5e33740871b389c8ba",
       
 10802 +                               "7b4210ea990dbb2b80bb4",
       
 10803 +                               "53b453f5f30f900af808e3",
       
 10804 +                               "49f7df71bb684bf5a54c61",
       
 10805 +                               "1174d8cdaeecfc5b7908d0",
       
 10806 +                               "6106124e06a73207e84629",
       
 10807 +                               "34242d89a6cc1d4e30fa9e",
       
 10808 +                               "74d978e8d6a9ce6def9aa3",
       
 10809 +                               "308787b80145ee403c389d",
       
 10810 +                               "36121cc69943c0f23f8a85",
       
 10811 +                               "6d5d0573b2f9596b50b73b",
       
 10812 +                               "5eb9037bc76a6930985737",
       
 10813 +                               "2c9401cd53725f84e2c421",
       
 10814 +                               "8c59c1948361c413eed8f",
       
 10815 +                               "1439532a6d3fdff49361fa",
       
 10816 +                               "42d71e3ed0639f1b07231a",
       
 10817 +                               "29785bd232aa4bcde009aa",
       
 10818 +                               "494c96ddeebc9c314fa5db",
       
 10819 +                               "2e1d98165a5897b1482cbe",
       
 10820 +                               "7a4b513ca25dc5d887768d",
       
 10821 +                               "5197b486ae5dad9284702a",
       
 10822 +                               "1d4d18f2bee14ee417596c",
       
 10823 +                               "1b8c24041b5c09c2ff1c0f",
       
 10824 +                               "19e87845fee8ee9d86794a",
       
 10825 +                               "dcb3217133998c35879b7",
       
 10826 +                               "61c60fa253a8977e213d6c",
       
 10827 +                               "3df3e3ff8b5241f9f120b6",
       
 10828 +                               "7e880bc1729d1783a14627",
       
 10829 +                               "7ef05035c2a08e050870e7",
       
 10830 +                               "3c234bbaf5da9465f9498e",
       
 10831 +                               "39fc8d30c95dd0494e9be3",
       
 10832 +                               "75b29426909e9c8294f365",
       
 10833 +                               "68ab0ae55863c4f8044101",
       
 10834 +                               "1a01c5dd382ca52c0f8a1a",
       
 10835 +                               "7eaf3d6220ab7c049341fb",
       
 10836 +                               "e966e5d5e80ac9dc377a2",
       
 10837 +                               "38aece2fe0c1923c569603",
       
 10838 +                               "296401a6101dec9b48a81a",
       
 10839 +                               "a5385b7f7d2a505f37187",
       
 10840 +                               "1c0a01fb60b92af636be29",
       
 10841 +                               "546f06ab10360a76005c9e",
       
 10842 +                               "463e980411d809a1713383",
       
 10843 +                               "6247c20f5e97453bb71b09",
       
 10844 +                               "7ed8ee73ca5507f25bd5aa",
       
 10845 +                               "5f9fe5fab5062ae9d40550",
       
 10846 +                               "d7315bcace04536b59c5c",
       
 10847 +                               "700ac125ecd365c309339c",
       
 10848 +                               "792ab4b2a318b2229df59",
       
 10849 +                               "6e8a28f3d3f87aa2548dbc",
       
 10850 +                               "53034f778656513538ce93",
       
 10851 +                               "71310c65e10b4b2e1f3924",
       
 10852 +                               "fca82540d3cb37cfe38de",
       
 10853 +                               "324b0e59fd313b7b066991",
       
 10854 +                               "ca5fc0de7c8f0742fa11a",
       
 10855 +                               "436134e757c46fe077e8fd",
       
 10856 +                               "3382f247e6cbcf48a8be0c",
       
 10857 +                               "5714f7d7bb3f12d88adae1",
       
 10858 +                               "75c3040748861ea4157368",
       
 10859 +                               "1db2b63fb5b72bd2913b9b",
       
 10860 +                               "5de44a501f899626f11ecb",
       
 10861 +                               "4a728ba1f43b41e3c8ba7b",
       
 10862 +                               "631d5fa433132c920e949d",
       
 10863 +                               "49dd9e128368a6e8f31565",
       
 10864 +                               "5f091c9040f8e8b4af8c6a",
       
 10865 +                               "6dbec10ac45803905232cc",
       
 10866 +                               "422c99318e0e012bdf3cdb",
       
 10867 +                               "7499dfe49d22092ecbaacd",
       
 10868 +                               "4e9b8b836aefbcc76074a3",
       
 10869 +                               "23591be47ead61c7626094",
       
 10870 +                               "47cb5e48534f0fa269ac37",
       
 10871 +                               "45d0bbd0c4c565d517f4d9",
       
 10872 +                               "58f251e3a335055f8d1702",
       
 10873 +                               "e16e90086dfb42533696c",
       
 10874 +                               "32bc07a00fc1c32e790cff",
       
 10875 +                               "55d4eceed6862d8b7edf73",
       
 10876 +                               "3bd14b5c954fd788df3e2f",
       
 10877 +                               "32267a0d010a3ac60d956b",
       
 10878 +                               "2dd9e647cd7caac396218d",
       
 10879 +                               "786bd6b0d956c71e3d0c41",
       
 10880 +                               "5a2e3e7ac883c32720fb5f",
       
 10881 +                               "41824effd56ee95a25ffcf",
       
 10882 +                               "df5585842155fda65c5ad",
       
 10883 +                               "f0daaf67c2422477284d4",
       
 10884 +                               "285121b3579e1afaecea17",
       
 10885 +                               "2d0786ef10819221e8e925",
       
 10886 +                               "638a87cbb628cc2744b5a",
       
 10887 +                               "2e795b59317cae4c039946",
       
 10888 +                               "6df756715e22975feac139",
       
 10889 +                               "4299b7c55998b524a2963e",
       
 10890 +                               "d73559f9e34900d6994e0",
       
 10891 +                               "4356f96a535f02cd557790",
       
 10892 +                               "671133a56bfab71842e1aa",
       
 10893 +                               "73475afc8917dfb47ca158",
       
 10894 +                               "8cecd81b395199379b860",
       
 10895 +                               "6908cd3a0537e6d9de224b",
       
 10896 +                               "6c4e919619ba3e8fcc083f",
       
 10897 +                               "765220bfddbe009c12884",
       
 10898 +                               "696a995b7f1bd2337f9c55",
       
 10899 +                               "7a35b4347e2b2fcfef4e8a",
       
 10900 +                               "7715808f58e52b93fbd9f4",
       
 10901 +                               "35984ab233bfbbdc2149d0",
       
 10902 +                               "49f6551bb5a630f7f3a91",
       
 10903 +                               "260202888a368af1bf27f0",
       
 10904 +                               "28c70cf1a34bf4b12fc1a1",
       
 10905 +                               "74a3895c1173d1100e060",
       
 10906 +                               "500de5789e46431a14b08d",
       
 10907 +                               "e50ab5db695f894b26597",
       
 10908 +                               "6e0d3cb0378f9f523dd7ca",
       
 10909 +                               "3b890cc2ea1882c16138ef",
       
 10910 +                               "623f56668cc8a093bdba7e",
       
 10911 +                               "2311c97b29ff503887b251",
       
 10912 +                               "5f019291ccdeabcd687ce5",
       
 10913 +                               "6467af1a0f07013b2e9849",
       
 10914 +                               "14a9e816ead24aab2e6645",
       
 10915 +                               "6bbcfc26c4e8fa7b836095",
       
 10916 +                               "775ff949792463791cf8ab",
       
 10917 +                               "62658893411360a21b6bfa",
       
 10918 +                               "2fc0729bbc7485664f21f9",
       
 10919 +                               "784f7b46f80b03fd06242c",
       
 10920 +                               "7215cad82f761314bbdd1e",
       
 10921 +                               "475c6525a253fe4a455211",
       
 10922 +                               "3301553132b8af815a8ed7",
       
 10923 +                               "40066cef89d0c82982356c",
       
 10924 +                               "36d97c131b997ecd7866ef",
       
 10925 +                               "583e484be506b8efea96b4",
       
 10926 +                               "4656a2b830782828314373",
       
 10927 +                               "374bc74be1e4381a79910f",
       
 10928 +                               "4f459e6fecc9cadb8e977",
       
 10929 +                               "2a843c02b5e59799422e65",
       
 10930 +                               "3910da787142c54f4f9b2f",
       
 10931 +                               "ffbb4d4d7cd961d36be9b",
       
 10932 +                               "38dd92596a9fd54920876d",
       
 10933 +                               "6bd057cf4845772f81f71e",
       
 10934 +                               "4fe62d365b58ffaa0d2201",
       
 10935 +                               "1429ba4cc3fbeac84cae7b",
       
 10936 +                               "403c1a7f2d528ab5d343b9",
       
 10937 +                               "2175a06a641d5e8ad33646",
       
 10938 +                               "25d324d633986f4baae0fd",
       
 10939 +                               "63d746c096cfab5f984c70",
       
 10940 +                               "5bd335a49bc5a06867e5e1",
       
 10941 +                               "375f02bea7dda994d93044",
       
 10942 +                               "4f754c5d3b280b20bc95d0",
       
 10943 +                               "3a997ef0ad242391b526f9",
       
 10944 +                               "2c30e99c7b2606982311b7",
       
 10945 +                               "4d562b2b0bde307c0edc87",
       
 10946 +                               "b4aa58f86a462da2ed07",
       
 10947 +                               "ddd508394009eefde3ac7",
       
 10948 +                               "e73b5b515611f25e496d1",
       
 10949 +                               "e4ce3641fd893553aeebb",
       
 10950 +                               "32765eba5563b5336b4375",
       
 10951 +                               "594ab65a623ca11a1d847f",
       
 10952 +                               "7a6cf71a247a9aa2ad1f3d",
       
 10953 +                               "509c14f0517edd55968bc1",
       
 10954 +                               "3cb90317e0fd78744bd72b",
       
 10955 +                               "45f39b8c67c74dfb911f44",
       
 10956 +                               "476085adcac943f7253ad3",
       
 10957 +                               "658a9098281c199cd165fd",
       
 10958 +                               "cd47f8baa501aac7b0989",
       
 10959 +                               "3de183e6b991f7b8085160",
       
 10960 +                               "a5582fe7b241700d09fbc",
       
 10961 +                               "68719eec758c692aaaddb3",
       
 10962 +                               "7d5f8fcc1cf99dc3131c84",
       
 10963 +                               "5a2d6c9f89fb24cf28d1b3",
       
 10964 +                               "7e1946c78347049b735318",
       
 10965 +                               "2db5ff229cb2d0a85b8393",
       
 10966 +                               "6f9024d8cdd8d69ef10bf7",
       
 10967 +                               "38102211c805f10960d5ba",
       
 10968 +                               "55e838d685f75c7c6b5f20",
       
 10969 +                               "339fe9b069fdcbe6f3e985",
       
 10970 +                               "1a939b8af79d6b9d1e57e0",
       
 10971 +                               "2b1a4dba7447b02833bcc5",
       
 10972 +                               "6a5c41dd17f1f090be79f9",
       
 10973 +                               "6ad4c1af807487676eed8c",
       
 10974 +                               "6f33938b3b060336c57082",
       
 10975 +                               "1e7a055357b6580f4a7b9",
       
 10976 +                               "1d51d9201dd8c5066bb7d1",
       
 10977 +                               "daa197fa1e9b3068f7333",
       
 10978 +                               "364b7fe165d59b5d916e2f",
       
 10979 +                               "4026f1042b0f5b1e940a78",
       
 10980 +                               "3501255a6a3473cf6ac042",
       
 10981 +                               "73a88b6c78ebe25a0f02da",
       
 10982 +                               "645d789e2ca881eb3474c9",
       
 10983 +                               "6f59efef27dbd92df6f652",
       
 10984 +                               "32dc0a137f654afa8bd8fc",
       
 10985 +                               "4e162f9f85bd081abd7380",
       
 10986 +                               "48ef84f7c351ecdc951b2d",
       
 10987 +                               "69150cde40be119caa92bb",
       
 10988 +                               "3b409dc537f82b36a0b80a",
       
 10989 +                               "748df460f8594e0bf1ab20",
       
 10990 +                               "178fa57d907fddb0fe3cca",
       
 10991 +                               "6747e95b215a546a339b7",
       
 10992 +                               "55247bc5a72b8d3e89234b",
       
 10993 +                               "683a5c6214b92efde4aafb",
       
 10994 +                               "f36396be6cc745bba9473",
       
 10995 +                               "77a73ba77b4ed622a17e87",
       
 10996 +                               "2c250894e17e7f4b0dd",
       
 10997 +                               "24af65fef90e2f99e03cae",
       
 10998 +                               "3292c0c9fda6887e4ad161",
       
 10999 +                               "304cc216ed2272d07c7f80",
       
 11000 +                               "5488a723f6ba5cf9800543",
       
 11001 +                               "47d8e4eb9811f9d409ea40",
       
 11002 +                               "7e2be12d72782db9e725dd",
       
 11003 +                               "247f391e5a3b234cf19ccc",
       
 11004 +                               "29f1e17550354ceae49f99",
       
 11005 +                               "4edfb060e1dacbd449d726",
       
 11006 +                               "4a29c3e62c947a4a1e99b9",
       
 11007 +                               "4755035ba4d9924118903c",
       
 11008 +                               "3d946cf498fbed2d965f70",
       
 11009 +                               "260d3af59b4f3d5c208bbf",
       
 11010 +                               "34b484cdb4cebe6aff839",
       
 11011 +                               "7b5ec7e3346c3cb243b356",
       
 11012 +                               "6b25a8073bc36b2af4c2b1",
       
 11013 +                               "3665e544d5ec7ed8868a1b",
       
 11014 +                               "1ccb03c008f2e822848880",
       
 11015 +                               "18e83fe885c9bab518bb97",
       
 11016 +                               "42e88e9f66659afa2a393",
       
 11017 +                               "5533d7d78826353c79c73e",
       
 11018 +                               "674fde01f6057423c31a9a",
       
 11019 +                               "3a9c7a7d5782f84fd4620f",
       
 11020 +                               "19b52abcac8b60d5349efc",
       
 11021 +                               "23ac86fba80f09945d51d2",
       
 11022 +                               "61249154ca21ee2b75deb1",
       
 11023 +                               "473c4bff7362fbbd2049ff",
       
 11024 +                               "923121ae3af782c934df4",
       
 11025 +                               "66fecdf77d13ff6c0b25a4",
       
 11026 +                               "170a54e825e33a2265d3cb",
       
 11027 +                               "31be6678e513813e0e676c",
       
 11028 +                               "7972b4774882051f2d85a4",
       
 11029 +                               "75b09479e265b9f0ac9a5b",
       
 11030 +                               "708324dd5e787ea3d43a21",
       
 11031 +                               "4c67268f528ba7e8c34a0",
       
 11032 +                               "51f9e6d75a3c5264312643",
       
 11033 +                               "24183bf26908368eb41547",
       
 11034 +                               "5e7785eebda5c8e2f0247b",
       
 11035 +                               "5338be8d9f87d3f2e46b2e",
       
 11036 +                               "14bde3f9984cc98dc83f60",
       
 11037 +                               "62870c281778214067b40e",
       
 11038 +                               "62e9a332653e1b103db5cf",
       
 11039 +                               "69c96f5702ae4eecc6f341",
       
 11040 +                               "3e6265ca213c1a0be64512",
       
 11041 +                               "5ea38165e28694c8629ccb",
       
 11042 +                               "2be59650bf9aa57c249937",
       
 11043 +                               "40678fa2d309cb9417f68f",
       
 11044 +                               "3459971422155f9703c78c",
       
 11045 +                               "5552617d9eaca45155f490",
       
 11046 +                               "18991d6f38c445ab4b38f1",
       
 11047 +                               "1aee70e483c99574480349",
       
 11048 +                               "277575523998439f834d3",
       
 11049 +                               "692752e677cdaba7d636c2",
       
 11050 +                               "298af75c2d584b01ccc6a6",
       
 11051 +                               "4d7d33eaba361883277544",
       
 11052 +                               "282f326b1fcbfb463ba836",
       
 11053 +                               "6b0dc0d5521d21af0ccaf4",
       
 11054 +                               "57f40a819546afc89fc2ce",
       
 11055 +                               "6a24f8897d3040e8fb1da8",
       
 11056 +                               "51e8f647af3880d2b77ccd",
       
 11057 +                               "4b223517b6c7cd85cb43d1",
       
 11058 +                               "745ca85c76435eb7ba81ad",
       
 11059 +                               "743eb61998341a5e892884",
       
 11060 +                               "5afcdfdab7a5b6864efc6d",
       
 11061 +                               "39824b01dda7b8ada90cc2",
       
 11062 +                               "2beed154412bd52cf1c83c",
       
 11063 +                               "6b497ffe240d0867d5d7ef",
       
 11064 +                               "eb947683c26db8dac2f36",
       
 11065 +                               "15891c14bba25257cb14ef",
       
 11066 +                               "4f540ba10fdacad19fee6f",
       
 11067 +                               "5097857cdd82d2df144dda",
       
 11068 +                               "6799fa1f9cffb381bd6c8c",
       
 11069 +                               "5e45b3a532e82a603df12b",
       
 11070 +                               "53528c9bfa6f5405d66497",
       
 11071 +                               "2248d63b93978222916f1b",
       
 11072 +                               "c98c97ab7b4b0cb756894",
       
 11073 +                               "57d57f4721fb6be3b38e99",
       
 11074 +                               "7b4ac8e7f9ffbf17f0627f",
       
 11075 +                               "22af1fffca9aa4b2ba234a",
       
 11076 +                               "2b913687a118d5d595277b",
       
 11077 +                               "3cd72e80ffad615f09526a",
       
 11078 +                               "e050d10f9ab1681fbdc06",
       
 11079 +                               "36c8b1aaf274cca356ae2f",
       
 11080 +                               "3d88de9f1c15bfd7b6363b",
       
 11081 +                               "73e027017f2dbdbc204a16",
       
 11082 +                               "6ee2946ba009641ad73037",
       
 11083 +                               "522de20b2431d6ac8f42fb",
       
 11084 +                               "427af6fbf5578c6104b255",
       
 11085 +                               "172bc617da9e1aa348e114",
       
 11086 +                               "1a5e08fda45015af7feba5",
       
 11087 +                               "208fb7a4ffec7d8d1e5be6",
       
 11088 +                               "3712172b56577089f4c773",
       
 11089 +                               "621bfd4a39ee713781e554",
       
 11090 +                               "2f0c8ecc959b7521936666",
       
 11091 +                               "682583fe078ff76c962922",
       
 11092 +                               "509b53b07e607cbcf6e79b",
       
 11093 +                               "1b71574f7c567d707d0e82",
       
 11094 +                               "572930c1df7ba238dfc9cd",
       
 11095 +                               "2029341ddfdbd9f668612",
       
 11096 +                               "1a54e98271fd5720e1bc63",
       
 11097 +                               "62f83959d672cbfe7201a",
       
 11098 +                               "2abf897aba93d347d6e2db",
       
 11099 +                               "3ecd876c819b78567f7fa4",
       
 11100 +                               "69714524521e343bc3692d",
       
 11101 +                               "290cc13b5edc05d863546",
       
 11102 +                               "26436c96779bbae9c15fae",
       
 11103 +                               "32e5746a212d6238682c00",
       
 11104 +                               "5e4b991cdcf27f65105596",
       
 11105 +                               "4a05e03567ac78048832e8",
       
 11106 +                               "658769c97f8b8945ac2878",
       
 11107 +                               "4eea383bfa391bcb14540",
       
 11108 +                               "4871087f3b2cd3c0f24c3e",
       
 11109 +                               "5c20428f433fbf0c9ab374",
       
 11110 +                               "15aba357d612d87099180d",
       
 11111 +                               "73f933fe401d564be0efd3",
       
 11112 +                               "6d925493d403647cc0a7ba",
       
 11113 +                               "6a40f14b7a50eeca571bae",
       
 11114 +                               "446d6309025414bad0aee1",
       
 11115 +                               "6e388c53aaae7d287eebd5",
       
 11116 +                               "3bb5af245e5d40c6fc15e3",
       
 11117 +                               "66895605da5092de3d2b87",
       
 11118 +                               "50774e378282fd09459eb4",
       
 11119 +                               "5abf04c6f95d64b6c414",
       
 11120 +                               "54dcbbc689dad12df77730",
       
 11121 +                               "226c7c98f219b40ea94b66",
       
 11122 +                               "6abf077f6636ceee313734",
       
 11123 +                               "53cc3acdd810a96c3160cb",
       
 11124 +                               "59b759ca3a67e4725b5f84",
       
 11125 +                               "48e1272ba911cad7536a1",
       
 11126 +                               "1d3c95c9d8462d4c467220",
       
 11127 +                               "4167a3ca5253556f128ea6",
       
 11128 +                               "bfe2f259223ccddac13b3",
       
 11129 +                               "bf09d6ff46adc21d04951",
       
 11130 +                               "4555d38c19f123cccb6fb4",
       
 11131 +                               "4a5333a5e1c04b8bdfa257",
       
 11132 +                               "627a4795d0c0df1d84d13a",
       
 11133 +                               "122225a7053b175027361a",
       
 11134 +                               "5027d58d8950e307548d14",
       
 11135 +                               "76c881f1a372f21e829095",
       
 11136 +                               "7f8ad9957e40808881a192",
       
 11137 +                               "621edd8ea6ff7136526540",
       
 11138 +                               "64adff5211c520e76cfa93",
       
 11139 +                               "7b274f32f2cbfe03031cb0",
       
 11140 +                               "3c71a5e6f6b431bc524a53",
       
 11141 +                               "10cc655b268878a4e8e081",
       
 11142 +                               "56853e4d2e614e1924d27a",
       
 11143 +                               "1c72fdd679cfcd10e369be",
       
 11144 +                               "1a364185d640ba1a6ed583",
       
 11145 +                               "230c19482c2fdfccb6b94",
       
 11146 +                               "1a9a55461554e908c4fbf0",
       
 11147 +                               "48b5f18a43890f525b850c",
       
 11148 +                               "779b65c66a52eeb45328d2",
       
 11149 +                               "3a0a69f5624f959d85e411",
       
 11150 +                               "498cac7e3100df5899cd16",
       
 11151 +                               "6be91a7f057434bdea3953",
       
 11152 +                               "1b0ff68c5f14ee84b37e7f",
       
 11153 +                               "af86674d8a1c364331ef3",
       
 11154 +                               "4fadec3b4cf5617426ac33",
       
 11155 +                               "5cc79f5d12d2a991f4ebd0",
       
 11156 +                               "5ca7f66678a73081bd34e5",
       
 11157 +                               "5efd2121bfee3a30184816",
       
 11158 +                               "6b79ef63bb66f1362d8de",
       
 11159 +                               "3c4dc48e3cdfd4ce2eefe9",
       
 11160 +                               "1c9f92bdf4717c6880a9ba",
       
 11161 +                               "168c6919206ac6ace0f625",
       
 11162 +                               "27e147bc2366e607ad99bd",
       
 11163 +                               "44678fb0d784f11b21a657",
       
 11164 +                               "47792007d733892284fb9b",
       
 11165 +                               "636079478bd1eb493d0866",
       
 11166 +                               "7450197e181adf8c4f92cf",
       
 11167 +                               "65a7ac7cbfcc2f6c41c2ac",
       
 11168 +                               "c92faa8d02b107a1b5d50",
       
 11169 +                               "1ee8fffd33bf6223d36b95",
       
 11170 +                               "203c3b480852a2154fd642",
       
 11171 +                               "7ba683eab937665ca29978",
       
 11172 +                               "1998245099906d42a62588",
       
 11173 +                               "75d1f80628c3a1c1082c91",
       
 11174 +                               "1c6bd00355516b7177a93d",
       
 11175 +                               "795824804b82c5e751df2b",
       
 11176 +                               "2746a28b14b19ab8d24145",
       
 11177 +                               "75b3fbba0880cedfe12ea",
       
 11178 +                               "dfc33dec9862e861d43cc",
       
 11179 +                               "5d77b3e7e323ddd35a71a5",
       
 11180 +                               "7438dcc1d87bfc73ab26",
       
 11181 +                               "755d342969e9fcde9fd595",
       
 11182 +                               "7bca9525e525d6ded2c76f",
       
 11183 +                               "d08254f4d2d5ca1a5b877",
       
 11184 +                               "4d1a97d405c026a8a5aed6",
       
 11185 +                               "825e4a5dedb493626e7ba",
       
 11186 +                               "26c3f6eae80009e6946697",
       
 11187 +                               "59b1b4d92c6ee6432bf67c",
       
 11188 +                               "705cc0331aa0195cd9f6ec",
       
 11189 +                               "6d83e6632fcdd8cf940ffe",
       
 11190 +                               "69699a76b55d4ca99064a0",
       
 11191 +                               "76201a82e565cd9ac092ed",
       
 11192 +                               "49b08f20244bc64879adcb",
       
 11193 +                               "2b04a0e7492ffe108c1c00",
       
 11194 +                               "4de1c0244f476f355a3a91",
       
 11195 +                               "1bacdadb366134c3d1a5c0",
       
 11196 +                               "755b7f3a3389c861fb2d23",
       
 11197 +                               "153d48f10507702bdbbfbd",
       
 11198 +                               "17ef22a6ba1fe32d3ef7c0",
       
 11199 +                               "6f55491282e49ce5634ba6",
       
 11200 +                               "66ac85711d7e32d731c773",
       
 11201 +                               "7a45d57fdc1a44af5791fe",
       
 11202 +                               "1b931cd6241fc4f484ed23",
       
 11203 +                               "30ffdb4a4aa7f26e29fcc9",
       
 11204 +                               "54b4dc744541c38f937102",
       
 11205 +                               "4413cfa8b5666fc0af877a",
       
 11206 +                               "5b18e3d2fe16a9d973b934",
       
 11207 +                               "173b57e939be4a4efef880",
       
 11208 +                               "102e8f3d54ced5e10227ed",
       
 11209 +                               "79b27c762372e476f703f7",
       
 11210 +                               "37f81f265c72ca7279eb3c",
       
 11211 +                               "6b11c6506832a5a8571e85",
       
 11212 +                               "5b68ba6c572a6576af79a8",
       
 11213 +                               "26580ddf1efe9fe3eae4e0",
       
 11214 +                               "3c015f30d95c1da9c47adc",
       
 11215 +                               "54c37f5e810a7c49e7a02d",
       
 11216 +                               "3b8be315926a14f8200fe4",
       
 11217 +                               "5334ba131913654474693a",
       
 11218 +                               "245f14c58fc2f1bd38bf6d",
       
 11219 +                               "3ff0891da2c6d0cb8ab6f0",
       
 11220 +                               "3e61864fd19f85bd211f70",
       
 11221 +                               "493f40656c80193590d2f4",
       
 11222 +                               "5dbb4f6414155050573b80",
       
 11223 +                               "6afe8bc3bb8509aff3c666",
       
 11224 +                               "586e1bd3806f5472b98045",
       
 11225 +                               "6afc9a3033b5fed5a0c3ee",
       
 11226 +                               "7969c90c819c5b0080834",
       
 11227 +                               "5ee2324ad6594548cd275b",
       
 11228 +                               "5c6cf60aae0cfc30048ec1",
       
 11229 +                               "40e1957b3947c90dc23e89",
       
 11230 +                               "5846b0049ea6f32f4b2762",
       
 11231 +                               "1e5217185f433bf1233d59",
       
 11232 +                               "af0b8a8f75ec961c833db",
       
 11233 +                               "4f4128c0856b216db55c75",
       
 11234 +                               "41d953d4dc4746ec83a1f0",
       
 11235 +                               "3d55ef23d8c9f8419ff28f",
       
 11236 +                               "1a5f34cedfae0cde5ea0a4",
       
 11237 +                               "6517d2ae1b7ba4107ba2ed",
       
 11238 +                               "4839ff83b5f2ddc41b61ee",
       
 11239 +                               "30ebf17f92538a33a005c5",
       
 11240 +                               "7530bbdc505d301ed9040",
       
 11241 +                               "46ea2e85d6ca1966d1ada4",
       
 11242 +                               "78022742d8c1b58e95d935",
       
 11243 +                               "6a25d7d313e7a656aee548",
       
 11244 +                               "a2c3a3cc1a5dfdc5a02b7",
       
 11245 +                               "2e76f32ec68bf11c44acc8",
       
 11246 +                               "54aeb8675aac1a423a7140",
       
 11247 +                               "dd0623ecc7bb862ebbbac",
       
 11248 +                               "61d42c0be51a3d664c8df2",
       
 11249 +                               "254a37a2b407cabbf8069f",
       
 11250 +                               "687346ea28caf1c87376ab",
       
 11251 +                               "67b1ce8dfe00f53da9491b",
       
 11252 +                               "488aa158d747df0f5cd422",
       
 11253 +                               "21eb89d73161656b740b6c",
       
 11254 +                               "686f17e02f2d49c0e2e48",
       
 11255 +                               "dad2db631732b0506f6b1",
       
 11256 +                               "72e9a5baa06d4af7c9f9da",
       
 11257 +                               "1cab579a1f775fb778d900",
       
 11258 +                               "3c3d137503578a98196d6d",
       
 11259 +                               "2a8bb0c8c3747adf31dc91",
       
 11260 +                               "1cf9608a937eea1a0bb3af",
       
 11261 +                               "40a3f5ad2d4a9b33e2f67f",
       
 11262 +                               "147d7e964c45ec443a24fc",
       
 11263 +                               "7b9587337c3feffe6974d6",
       
 11264 +                               "5839527a17db25de563064",
       
 11265 +                               "1160b80ff627f607bda927",
       
 11266 +                               "5aaca79690a162240db985",
       
 11267 +                               "c75433d8b0423b552102a",
       
 11268 +                               "f46157d09593fd6ceaef5",
       
 11269 +                               "20db18e6c822f683f97989",
       
 11270 +                               "3e1e43759c2fbd4596b36a",
       
 11271 +                               "125d9103db1d2a83e13f71",
       
 11272 +                               "28a2b96944f1b1210e6bbb",
       
 11273 +                               "33fd72210da605d38ab799",
       
 11274 +                               "4cada2a5056e025832015c",
       
 11275 +                               "365c9be3e9c7dcc814388a",
       
 11276 +                               "9f4b0dce97935ef1d9158",
       
 11277 +                               "2b8d9b2da99a690e7c44a7",
       
 11278 +                               "fc59307a819ae8b7a3f67",
       
 11279 +                               "567dff5f6f64aa1697fa0f",
       
 11280 +                               "23343ed75a8de5a22fac16",
       
 11281 +                               "4c2a57eb3ff167fa077ee2",
       
 11282 +                               "7a2990f262218cc62c32dd",
       
 11283 +                               "210cf16be9c62f7408e63d",
       
 11284 +                               "49c59a03a60b57e7bac289",
       
 11285 +                               "499ab94c7bb40ba492d85c",
       
 11286 +                               "67437e976a93329c5b9760",
       
 11287 +                               "77c405c1030a468f5abe34",
       
 11288 +                               "34363c8e2f82b5fdad8c66",
       
 11289 +                               "39c91d6ca89a6fa52b3be6",
       
 11290 +                               "7b2f70ff56626a3003c33d",
       
 11291 +                               "416b4cd1af257e44ad03fe",
       
 11292 +                               "375ec3fc3fce6eb8e8ee9d",
       
 11293 +                               "4fe741cddc07d380fb6143",
       
 11294 +                               "67adab05fa921650ed942f",
       
 11295 +                               "601f96473a856041a89ff8",
       
 11296 +                               "13fc0f6b201b7368c44178",
       
 11297 +                               "6f79151ea6cbf1bbe85f5d",
       
 11298 +                               "5dd15f8501fbd308a231a2",
       
 11299 +                               "8ab595a01941ab4070b39",
       
 11300 +                               "6ad236039c2c3e149bcca2",
       
 11301 +                               "40c514f5e20e67263ea899",
       
 11302 +                               "10b3ac9e35f753e3c9deb",
       
 11303 +                               "2d816960b0911019df6133",
       
 11304 +                               "14efaca65e59726b81dbf0",
       
 11305 +                               "7d98b2bd2e9168b6d2e72f",
       
 11306 +                               "49639d01a55025d5b2f6ef",
       
 11307 +                               "2e1479f3781e1a48fc49de",
       
 11308 +                               "7d60cbfdcc63ced7661d40",
       
 11309 +                               "3ec0da959b014a91e3d171",
       
 11310 +                               "6e1573decbd31bd14c0615",
       
 11311 +                               "2ae83fe35c42b256590f54",
       
 11312 +                               "22d68d4ed1af18d8658de4",
       
 11313 +                               "3153805f294e973c493b1e",
       
 11314 +                               "23270a061497f9098a49ee",
       
 11315 +                               "3ed51ed7c85d68db84d78a",
       
 11316 +                               "788f47c4aa1ecb9b01c1a7",
       
 11317 +                               "9dfe0a1feefabb0c62643",
       
 11318 +                               "7376e75fa605889898fa7a",
       
 11319 +                               "578a6c67a3dea7609537e0",
       
 11320 +                               "146dc1fd204e259d148dfd",
       
 11321 +                               "59ff3fb267f4dcf86fd4df",
       
 11322 +                               "5a081e53f2beac49d1a3e5",
       
 11323 +                               "37bd7e26cf4711cd149911",
       
 11324 +                               "47d814d93ff8dca3c1398b",
       
 11325 +                               "132d2eb133a0383d464ad2",
       
 11326 +                               "30f7be09c5f39b5532dcd3",
       
 11327 +                               "83b4a6c139b7fda28fc0b",
       
 11328 +                               "77e2377901111b6ba92316",
       
 11329 +                               "7add5048bc0984c36294e1",
       
 11330 +                               "2afa4dd2f2245b7525fdf6",
       
 11331 +                               "50c4c9d0b48bd147d875cd",
       
 11332 +                               "6387ce1a213d98335598c0",
       
 11333 +                               "52253824741dd177a674a9",
       
 11334 +                               "3195d14bda042e7057d34f",
       
 11335 +                               "6b849a1f17d635cf0a773f",
       
 11336 +                               "7c9cfb41c0f888d000fc52",
       
 11337 +                               "7dea2305f898b6d88f6821",
       
 11338 +                               "43d0ab106641bd01d72cd4",
       
 11339 +                               "1d5fe04c71a377f6784338",
       
 11340 +                               "207b51e97aba651825b40f",
       
 11341 +                               "41327dfa41486f6b995572",
       
 11342 +                               "245cbb0117ba8963db7929",
       
 11343 +                               "4956d4cfa3dee8e23259eb",
       
 11344 +                               "49af3dd263ef8ddc7b0303",
       
 11345 +                               "76dda8edbfa5a4265a1a74",
       
 11346 +                               "26b516b52794658e68ab5a",
       
 11347 +                               "260f0ab9a00e1e941e404f",
       
 11348 +                               "3395f092181af53bb73f3e",
       
 11349 +                               "17a50483229662a578fdf3",
       
 11350 +                               "30e3bf91dbc04d50a032bf",
       
 11351 +                               "525362bcc006730db95180",
       
 11352 +                               "6e988e80d2c29dc7542de4",
       
 11353 +                               "47efed21b3657d0618e28f",
       
 11354 +                               "fb85baef473def8948133",
       
 11355 +                               "67afcc19d0bb557a608666",
       
 11356 +                               "3e1ecaa8d0631877bfedb9",
       
 11357 +                               "38a68ae5efe6ac22d3f278",
       
 11358 +                               "4b2a621bcd3f244dbd1aa6",
       
 11359 +                               "2432bbe72c83689ef74c85",
       
 11360 +                               "1aba34eed15b418d4b7f0a",
       
 11361 +                               "2d2efb8be305a05b685aa3",
       
 11362 +                               "cdd3df5aba4c7ba52b4cd",
       
 11363 +                               "7c38756fdad7c18ef7576",
       
 11364 +                               "437e569a7451bd9bbbce87",
       
 11365 +                               "614a9023303ed4dd2cdfb9",
       
 11366 +                               "43c088f2eb74b96d25a4a8",
       
 11367 +                               "308a1daa2779a84d4db8ac",
       
 11368 +                               "59f29456bbb20b47aa046f",
       
 11369 +                               "4b0f09e29272f9d49c6266",
       
 11370 +                               "b03e402e64c3436818402",
       
 11371 +                               "40f2e74e1048db76b72516",
       
 11372 +                               "1a484afbb93898190d8d03",
       
 11373 +                               "6edb305f1f8f30902439c9",
       
 11374 +                               "7fd2ed81931942f0ef8d50",
       
 11375 +                               "402466331777b126e4d8e2",
       
 11376 +                               "52d5ea798306c9e21853b2",
       
 11377 +                               "765c653014c5e4b3dc3865",
       
 11378 +                               "785211217f5fa1bf82b193",
       
 11379 +                               "3bcee7bc9a5ca7219edfaa",
       
 11380 +                               "61b023abdf63ddd6300036",
       
 11381 +                               "2f305b730466b54d50855e",
       
 11382 +                               "60b46e71f1f2b8376d5d29",
       
 11383 +                               "745cc1be634380e90bc82",
       
 11384 +                               "208b7d3e85a97a99407a38",
       
 11385 +                               "1000ca68b2a0f4790d5b97",
       
 11386 +                               "2ef94456619d9728490c1d",
       
 11387 +                               "18347f5ec924cf4631f292",
       
 11388 +                               "26b5c49d8c4e12d4b3d157",
       
 11389 +                               "15e2aab3b7b69272b3c155",
       
 11390 +                               "76272e758d9f83ceea908b",
       
 11391 +                               "fb87766da12e75782ca77",
       
 11392 +                               "57caf75d12ec817c6cddfa",
       
 11393 +                               "1a04ba76b7855a5e9c289a",
       
 11394 +                               "7e5eb2a4ef3434465acdeb",
       
 11395 +                               "35b964532350abcbf76d9f",
       
 11396 +                               "3f14484539a427ea73a1b8",
       
 11397 +                               "4d10e4408b3b6761aa225",
       
 11398 +                               "235ae37d20b21074f27732",
       
 11399 +                               "44dd12bd0d7f960d6bd7f6",
       
 11400 +                               "196185d708583cfba757f7",
       
 11401 +                               "5f8e36ec1202b0292d5945",
       
 11402 +                               "47d7208165498ac04fc240",
       
 11403 +                               "332ea59945a5d0e73f7dc5",
       
 11404 +                               "653694fe66c257988cd02a",
       
 11405 +                               "3069cb41e51edac9ec2b3f",
       
 11406 +                               "17e032019f0dc1c4277c0b",
       
 11407 +                               "52a44d4aac2b12a44786a4",
       
 11408 +                               "33bbdb9fd9d9e6cda126be",
       
 11409 +                               "520cfdeb5b65ce3df47f12",
       
 11410 +                               "3746df2dcaeb2f941850af",
       
 11411 +                               "34b380f57ddac800a53234",
       
 11412 +                               "7116294960ec1370cfa192",
       
 11413 +                               "6c02da94ff6269ebf8b68",
       
 11414 +                               "528f06b90d6ea98654eb1b",
       
 11415 +                               "643b1783eeff5d2d9d100e",
       
 11416 +                               "14e34536d861554652fc3d",
       
 11417 +                               "28da7bd48db9e867715c64",
       
 11418 +                               "7b233911df67c0ffe75298",
       
 11419 +                               "282425a374dcf57904fcaa",
       
 11420 +                               "7f873bc8523c4931739324",
       
 11421 +                               "5f1584cca489de9bdcd65b",
       
 11422 +                               "6862becb8f668738ac092f",
       
 11423 +                               "495ccc90a936edcdb3b175",
       
 11424 +                               "71dbc0d71fbcfcf1245bc2",
       
 11425 +                               "5298718820a8e285437a64",
       
 11426 +                               "2a9957bb174e3a8d1169ef",
       
 11427 +                               "58dbbd6f088b5ff881356c",
       
 11428 +                               "67ed429f48df076df817f4",
       
 11429 +                               "ba3b72d702ce311cc02a",
       
 11430 +                               "6415a8a79aa0ebffb6a24d",
       
 11431 +                               "5b6485b2f7f41f0abf3544",
       
 11432 +                               "edea2902a199d26d75bdd",
       
 11433 +                               "97bac956d2b65a51260e7",
       
 11434 +                               "b2c65762784255bbebc75",
       
 11435 +                               "41b1881d9704918a051695",
       
 11436 +                               "3939cec4c6eb132c9146a8",
       
 11437 +                               "4e4622894612a0772ab9f8",
       
 11438 +                               "398cbdee468f0759c375a1",
       
 11439 +                               "592a4efec7cf89e527fdb",
       
 11440 +                               "79ea859ae0d9bf58c8e071",
       
 11441 +                               "4786c255855f792a20f869",
       
 11442 +                               "272821f07dab57e4aaf0a7",
       
 11443 +                               "25e016000255df0b5c8153",
       
 11444 +                               "17040e8c8be515e4ea36e",
       
 11445 +                               "341181b7d4d6f4e2cf9643",
       
 11446 +                               "73f8a019ddb59d3f06f049",
       
 11447 +                               "cbf28251298433a3abc70",
       
 11448 +                               "51edf68dda1a87c4b3af7e",
       
 11449 +                               "2e78ee01fc4dbe304eaea1",
       
 11450 +                               "36a98de095d312e040c903",
       
 11451 +                               "1c94ea576c3cfe00e40a0c",
       
 11452 +                               "2969569df7efe8c61bb461",
       
 11453 +                               "2b036df33feda1ac5edb68",
       
 11454 +                               "3d1dbd13d46aa7f5e4c42",
       
 11455 +                               "32f17d420cb00b34cd9fc3",
       
 11456 +                               "79a8e47a4d897cf6b712f",
       
 11457 +                               "6be705331dd40db5a995b0",
       
 11458 +                               "797e5770501b190fa5f6f1",
       
 11459 +                               "21d9c50ac15f9a1fc38df4",
       
 11460 +                               "639eb30656278296f2b3e0",
       
 11461 +                               "4b90d5d4f791e4cafea283",
       
 11462 +                               "7b4912ce2f8ea6ad90baf0",
       
 11463 +                               "185c0df44a167fc9bfe948",
       
 11464 +                               "4c622bd5bd26bcbd487c68",
       
 11465 +                               "7c4aa256f5265e9d49e8ab",
       
 11466 +                               "63f8378a4c563212109ee4",
       
 11467 +                               "4ca98168d36f8ab3815a02",
       
 11468 +                               "411a5d336f1cca7988f319",
       
 11469 +                               "34c572dd024d37c54c5648",
       
 11470 +                               "249469414e604f245a56ca",
       
 11471 +                               "2e9650e328b679ea03af31",
       
 11472 +                               "db07432bf40360e3df399",
       
 11473 +                               "2e9fc43379988881a1b064",
       
 11474 +                               "752129c2d07a536bf3bb8",
       
 11475 +                               "c79d219ef793e02a9f989",
       
 11476 +                               "210441f8cc9b531f88fd3a",
       
 11477 +                               "6bb593df2f572a23254ed6",
       
 11478 +                               "55152f253ffb05575c981d",
       
 11479 +                               "40734a14dd653457e54b74",
       
 11480 +                               "7fcb3af03a778d48d5ac9b",
       
 11481 +                               "43e02a2659ddc4d3204fd7",
       
 11482 +                               "2ab0a302ecc453de7fdbe4",
       
 11483 +                               "2a68ad26b94fd25b4509aa",
       
 11484 +                               "46afa6e418c9bd4065cd9d",
       
 11485 +                               "517123f4920304dc75317a",
       
 11486 +                               "33c3a8fe7d6e90cd610695",
       
 11487 +                               "1a30afeb54dea502f0310a",
       
 11488 +                               "2b5280596202f4b3ee0814",
       
 11489 +                               "70b50a59ebc270bb237505",
       
 11490 +                               "65f71d8c8e62cbeef07daf",
       
 11491 +                               "197461e90c6b70a7dda46d",
       
 11492 +                               "4053f687fd270a04d092a9",
       
 11493 +                               "43d235cd54423fd6135def",
       
 11494 +                               "ac0f86afb7bbca8d57c4f",
       
 11495 +                               "1dd4abfd6c4ed8a3ad6bbb",
       
 11496 +                               "25d3735a734b777dd960b8",
       
 11497 +                               "56a6cdbd81ef505320e706",
       
 11498 +                               "3c1c9492a56c8c78536095",
       
 11499 +                               "31ee9d29cb2f2a7eeddbc0",
       
 11500 +                               "666ea50157a2d8307a0ef8",
       
 11501 +                               "1472017c713a1063411e0",
       
 11502 +                               "53e73a626a5de69e43d0e0",
       
 11503 +                               "dcc0bec90c531be4924ef",
       
 11504 +                               "6bd3a60ce037d04a7d822c",
       
 11505 +                               "3ad7e93e4ab55d402a33ea",
       
 11506 +                               "10db0037fd5f7d8c49aee6",
       
 11507 +                               "4d29703647563e84d6ac7f",
       
 11508 +                               "2555442bf058722bf0120c",
       
 11509 +                               "2e274c1905f505ef9d43c1",
       
 11510 +                               "46b0509f9638e9030f5895",
       
 11511 +                               "4082d11934cd3944191e6d",
       
 11512 +                               "3cab0ae1036c6d43311ae4",
       
 11513 +                               "218c9ea39a51618b1ce10e",
       
 11514 +                               "9e1bd1e36f73d0f69f697",
       
 11515 +                               "5a20607ce9679fb1f266e5",
       
 11516 +                               "4ae24f235a28b7f71492ce",
       
 11517 +                               "7510db776aba775075e549",
       
 11518 +                               "5695db84b4c92a3d6677b2",
       
 11519 +                               "74e01ea265377cb713e57a",
       
 11520 +                               "768cbd11024387469f6ee1",
       
 11521 +                               "61b85bccf0f4316c2cec04",
       
 11522 +                               "aeeaf98aedc83e6ae6cc5",
       
 11523 +                               "4e175c68ed04c585f606f8",
       
 11524 +                               "1ee9410958604d03f20f1f",
       
 11525 +                               "127b65c61b8c8f1b9456ee",
       
 11526 +                               "3d57e0a1ef4abcae8719be",
       
 11527 +                               "688ea19369341f6943063f",
       
 11528 +                               "1f91eb155829f1481d6da7",
       
 11529 +                               "4f34769ad379d64a27233e",
       
 11530 +                               "59daf69acb0d30ef2fc5db",
       
 11531 +                               "1efc90353d647b1a3dfd54",
       
 11532 +                               "39965be2b1bbb3ed832fdd",
       
 11533 +                               "7fd47e391981aa515116c7",
       
 11534 +                               "5ca9b2680bb84ff6e98b33",
       
 11535 +                               "36b7f85db80800549459bd",
       
 11536 +                               "16d114b00964bdc8e2e82a",
       
 11537 +                               "7c1256dceb40e2f63ca4f9",
       
 11538 +                               "5b4dd88e0cfc108bdc7320",
       
 11539 +                               "239e94f2e5843a6e20f1bb",
       
 11540 +                               "3552a76787de4570d42693",
       
 11541 +                               "6f2f55effdb76df46b548a",
       
 11542 +                               "6152765b747658a14d5829",
       
 11543 +                               "1778273a04ac508e342b",
       
 11544 +                               "75471e22b2d84fd2fe01b9",
       
 11545 +                               "5d6bf6a59488555bf1342a",
       
 11546 +                               "160134aa459258ff8f6285",
       
 11547 +                               "17e8af02e79e7f8d2cdf99",
       
 11548 +                               "4f5e7f770a4d50c69c4028",
       
 11549 +                               "51fc2c3f86b8fc46a7a221",
       
 11550 +                               "70d95d23dca53184d30b4b",
       
 11551 +                               "4a9b685698a7674338b188",
       
 11552 +                               "4d7940ea6bfaa7b282a985",
       
 11553 +                               "39baaf1f520d96bfc8c1df",
       
 11554 +                               "409fc384bef4b3d255371f",
       
 11555 +                               "3bac7e0675e0a9967ff7da",
       
 11556 +                               "5c1544633a0bf7939343d0",
       
 11557 +                               "39d71478d3005e797c6913",
       
 11558 +                               "153884834dca9aae7d5d2d",
       
 11559 +                               "630270f2ed4331deaf63f0",
       
 11560 +                               "46323a1998a54f7e0819f6",
       
 11561 +                               "61c87048ea8325590bc5b1",
       
 11562 +                               "1960b3a13c6cb6acb7f489",
       
 11563 +                               "3956e2767e97b7703253b0",
       
 11564 +                               "1b5226354071022a104a86",
       
 11565 +                               "3a7ecceb35e2e9a438dbd5",
       
 11566 +                               "10c81c57aed768b3285598",
       
 11567 +                               "bd499ce82d93c07477fc",
       
 11568 +                               "67e11e83cb547515b53701",
       
 11569 +                               "171757e72adb6abd8f440b",
       
 11570 +                               "590056c647987959065bd",
       
 11571 +                               "4e27f64f8732105513ad9b",
       
 11572 +                               "de9896eb70f1668b87fc",
       
 11573 +                               "457dc9644e5b25ae6c4291",
       
 11574 +                               "5a6df4a369ed81627d4fa3",
       
 11575 +                               "568fd03e0a80223cd1669a",
       
 11576 +                               "1e92415029559dc3ed8283",
       
 11577 +                               "1cb2dabf0298f57d15e65c",
       
 11578 +                               "426541c137d269fd2e2296",
       
 11579 +                               "19a439abdf3f4f5eb63683",
       
 11580 +                               "482af287c71050fd03632a",
       
 11581 +                               "47a080b7584194b936f712",
       
 11582 +                               "20d4366552d0d83219fa0d",
       
 11583 +                               "4494bc9e65c8cf2a6ea51d",
       
 11584 +                               "2148939cfe2757b6666fc2",
       
 11585 +                               "476ef278c257202dd01711",
       
 11586 +                               "3eaa7351a72b065707e47a",
       
 11587 +                               "2703e4a7969073dd381cbd",
       
 11588 +                               "1badf1b7dc0b73e0bf8b67",
       
 11589 +                               "47d847bd96fbfc9c221fd4",
       
 11590 +                               "13637e15b786797995ba49",
       
 11591 +                               "5e842bbb537167f75451a7",
       
 11592 +                               "3b228f46cdc0e8a979b45e",
       
 11593 +                               "2fdd94b55dd5fb9a3915f5",
       
 11594 +                               "1cca04897dbffe7f26f2ec",
       
 11595 +                               "67a8cdbece1aca4e55ba72",
       
 11596 +                               "47ba42dd06a62256ee8c8b",
       
 11597 +                               "3288681f4d08858009187c",
       
 11598 +                               "69412d8563ffa7e83b0ef0",
       
 11599 +                               "240e2e38e41f3b6530a267",
       
 11600 +                               "12e92ef014e8d7fbb8d23e",
       
 11601 +                               "45440750f90776251263b4",
       
 11602 +                               "3a8965cf80aa6c4410dfab",
       
 11603 +                               "559bf101b9cff724b929cd",
       
 11604 +                               "280f08134d28252bd0b713" };
       
 11605  
       
 11606 -static const char *RootsInv[] = {
       
 11607 -       "1",
       
 11608 -   "280f08134d28252bd0b713",
       
 11609 -   "559bf101b9cff724b929cd",
       
 11610 -   "3a8965cf80aa6c4410dfab",
       
 11611 -   "45440750f90776251263b4",
       
 11612 -   "12e92ef014e8d7fbb8d23e",
       
 11613 -   "240e2e38e41f3b6530a267",
       
 11614 -   "69412d8563ffa7e83b0ef0",
       
 11615 -   "3288681f4d08858009187c",
       
 11616 -   "47ba42dd06a62256ee8c8b",
       
 11617 -   "67a8cdbece1aca4e55ba72",
       
 11618 -   "1cca04897dbffe7f26f2ec",
       
 11619 -   "2fdd94b55dd5fb9a3915f5",
       
 11620 -   "3b228f46cdc0e8a979b45e",
       
 11621 -   "5e842bbb537167f75451a7",
       
 11622 -   "13637e15b786797995ba49",
       
 11623 -   "47d847bd96fbfc9c221fd4",
       
 11624 -   "1badf1b7dc0b73e0bf8b67",
       
 11625 -   "2703e4a7969073dd381cbd",
       
 11626 -   "3eaa7351a72b065707e47a",
       
 11627 -   "476ef278c257202dd01711",
       
 11628 -   "2148939cfe2757b6666fc2",
       
 11629 -   "4494bc9e65c8cf2a6ea51d",
       
 11630 -   "20d4366552d0d83219fa0d",
       
 11631 -   "47a080b7584194b936f712",
       
 11632 -   "482af287c71050fd03632a",
       
 11633 -   "19a439abdf3f4f5eb63683",
       
 11634 -   "426541c137d269fd2e2296",
       
 11635 -   "1cb2dabf0298f57d15e65c",
       
 11636 -   "1e92415029559dc3ed8283",
       
 11637 -   "568fd03e0a80223cd1669a",
       
 11638 -   "5a6df4a369ed81627d4fa3",
       
 11639 -   "457dc9644e5b25ae6c4291",
       
 11640 -   "de9896eb70f1668b87fc",
       
 11641 -   "4e27f64f8732105513ad9b",
       
 11642 -   "590056c647987959065bd",
       
 11643 -   "171757e72adb6abd8f440b",
       
 11644 -   "67e11e83cb547515b53701",
       
 11645 -   "bd499ce82d93c07477fc",
       
 11646 -   "10c81c57aed768b3285598",
       
 11647 -   "3a7ecceb35e2e9a438dbd5",
       
 11648 -   "1b5226354071022a104a86",
       
 11649 -   "3956e2767e97b7703253b0",
       
 11650 -   "1960b3a13c6cb6acb7f489",
       
 11651 -   "61c87048ea8325590bc5b1",
       
 11652 -   "46323a1998a54f7e0819f6",
       
 11653 -   "630270f2ed4331deaf63f0",
       
 11654 -   "153884834dca9aae7d5d2d",
       
 11655 -   "39d71478d3005e797c6913",
       
 11656 -   "5c1544633a0bf7939343d0",
       
 11657 -   "3bac7e0675e0a9967ff7da",
       
 11658 -   "409fc384bef4b3d255371f",
       
 11659 -   "39baaf1f520d96bfc8c1df",
       
 11660 -   "4d7940ea6bfaa7b282a985",
       
 11661 -   "4a9b685698a7674338b188",
       
 11662 -   "70d95d23dca53184d30b4b",
       
 11663 -   "51fc2c3f86b8fc46a7a221",
       
 11664 -   "4f5e7f770a4d50c69c4028",
       
 11665 -   "17e8af02e79e7f8d2cdf99",
       
 11666 -   "160134aa459258ff8f6285",
       
 11667 -   "5d6bf6a59488555bf1342a",
       
 11668 -   "75471e22b2d84fd2fe01b9",
       
 11669 -   "1778273a04ac508e342b",
       
 11670 -   "6152765b747658a14d5829",
       
 11671 -   "6f2f55effdb76df46b548a",
       
 11672 -   "3552a76787de4570d42693",
       
 11673 -   "239e94f2e5843a6e20f1bb",
       
 11674 -   "5b4dd88e0cfc108bdc7320",
       
 11675 -   "7c1256dceb40e2f63ca4f9",
       
 11676 -   "16d114b00964bdc8e2e82a",
       
 11677 -   "36b7f85db80800549459bd",
       
 11678 -   "5ca9b2680bb84ff6e98b33",
       
 11679 -   "7fd47e391981aa515116c7",
       
 11680 -   "39965be2b1bbb3ed832fdd",
       
 11681 -   "1efc90353d647b1a3dfd54",
       
 11682 -   "59daf69acb0d30ef2fc5db",
       
 11683 -   "4f34769ad379d64a27233e",
       
 11684 -   "1f91eb155829f1481d6da7",
       
 11685 -   "688ea19369341f6943063f",
       
 11686 -   "3d57e0a1ef4abcae8719be",
       
 11687 -   "127b65c61b8c8f1b9456ee",
       
 11688 -   "1ee9410958604d03f20f1f",
       
 11689 -   "4e175c68ed04c585f606f8",
       
 11690 -   "aeeaf98aedc83e6ae6cc5",
       
 11691 -   "61b85bccf0f4316c2cec04",
       
 11692 -   "768cbd11024387469f6ee1",
       
 11693 -   "74e01ea265377cb713e57a",
       
 11694 -   "5695db84b4c92a3d6677b2",
       
 11695 -   "7510db776aba775075e549",
       
 11696 -   "4ae24f235a28b7f71492ce",
       
 11697 -   "5a20607ce9679fb1f266e5",
       
 11698 -   "9e1bd1e36f73d0f69f697",
       
 11699 -   "218c9ea39a51618b1ce10e",
       
 11700 -   "3cab0ae1036c6d43311ae4",
       
 11701 -   "4082d11934cd3944191e6d",
       
 11702 -   "46b0509f9638e9030f5895",
       
 11703 -   "2e274c1905f505ef9d43c1",
       
 11704 -   "2555442bf058722bf0120c",
       
 11705 -   "4d29703647563e84d6ac7f",
       
 11706 -   "10db0037fd5f7d8c49aee6",
       
 11707 -   "3ad7e93e4ab55d402a33ea",
       
 11708 -   "6bd3a60ce037d04a7d822c",
       
 11709 -   "dcc0bec90c531be4924ef",
       
 11710 -   "53e73a626a5de69e43d0e0",
       
 11711 -   "1472017c713a1063411e0",
       
 11712 -   "666ea50157a2d8307a0ef8",
       
 11713 -   "31ee9d29cb2f2a7eeddbc0",
       
 11714 -   "3c1c9492a56c8c78536095",
       
 11715 -   "56a6cdbd81ef505320e706",
       
 11716 -   "25d3735a734b777dd960b8",
       
 11717 -   "1dd4abfd6c4ed8a3ad6bbb",
       
 11718 -   "ac0f86afb7bbca8d57c4f",
       
 11719 -   "43d235cd54423fd6135def",
       
 11720 -   "4053f687fd270a04d092a9",
       
 11721 -   "197461e90c6b70a7dda46d",
       
 11722 -   "65f71d8c8e62cbeef07daf",
       
 11723 -   "70b50a59ebc270bb237505",
       
 11724 -   "2b5280596202f4b3ee0814",
       
 11725 -   "1a30afeb54dea502f0310a",
       
 11726 -   "33c3a8fe7d6e90cd610695",
       
 11727 -   "517123f4920304dc75317a",
       
 11728 -   "46afa6e418c9bd4065cd9d",
       
 11729 -   "2a68ad26b94fd25b4509aa",
       
 11730 -   "2ab0a302ecc453de7fdbe4",
       
 11731 -   "43e02a2659ddc4d3204fd7",
       
 11732 -   "7fcb3af03a778d48d5ac9b",
       
 11733 -   "40734a14dd653457e54b74",
       
 11734 -   "55152f253ffb05575c981d",
       
 11735 -   "6bb593df2f572a23254ed6",
       
 11736 -   "210441f8cc9b531f88fd3a",
       
 11737 -   "c79d219ef793e02a9f989",
       
 11738 -   "752129c2d07a536bf3bb8",
       
 11739 -   "2e9fc43379988881a1b064",
       
 11740 -   "db07432bf40360e3df399",
       
 11741 -   "2e9650e328b679ea03af31",
       
 11742 -   "249469414e604f245a56ca",
       
 11743 -   "34c572dd024d37c54c5648",
       
 11744 -   "411a5d336f1cca7988f319",
       
 11745 -   "4ca98168d36f8ab3815a02",
       
 11746 -   "63f8378a4c563212109ee4",
       
 11747 -   "7c4aa256f5265e9d49e8ab",
       
 11748 -   "4c622bd5bd26bcbd487c68",
       
 11749 -   "185c0df44a167fc9bfe948",
       
 11750 -   "7b4912ce2f8ea6ad90baf0",
       
 11751 -   "4b90d5d4f791e4cafea283",
       
 11752 -   "639eb30656278296f2b3e0",
       
 11753 -   "21d9c50ac15f9a1fc38df4",
       
 11754 -   "797e5770501b190fa5f6f1",
       
 11755 -   "6be705331dd40db5a995b0",
       
 11756 -   "79a8e47a4d897cf6b712f",
       
 11757 -   "32f17d420cb00b34cd9fc3",
       
 11758 -   "3d1dbd13d46aa7f5e4c42",
       
 11759 -   "2b036df33feda1ac5edb68",
       
 11760 -   "2969569df7efe8c61bb461",
       
 11761 -   "1c94ea576c3cfe00e40a0c",
       
 11762 -   "36a98de095d312e040c903",
       
 11763 -   "2e78ee01fc4dbe304eaea1",
       
 11764 -   "51edf68dda1a87c4b3af7e",
       
 11765 -   "cbf28251298433a3abc70",
       
 11766 -   "73f8a019ddb59d3f06f049",
       
 11767 -   "341181b7d4d6f4e2cf9643",
       
 11768 -   "17040e8c8be515e4ea36e",
       
 11769 -   "25e016000255df0b5c8153",
       
 11770 -   "272821f07dab57e4aaf0a7",
       
 11771 -   "4786c255855f792a20f869",
       
 11772 -   "79ea859ae0d9bf58c8e071",
       
 11773 -   "592a4efec7cf89e527fdb",
       
 11774 -   "398cbdee468f0759c375a1",
       
 11775 -   "4e4622894612a0772ab9f8",
       
 11776 -   "3939cec4c6eb132c9146a8",
       
 11777 -   "41b1881d9704918a051695",
       
 11778 -   "b2c65762784255bbebc75",
       
 11779 -   "97bac956d2b65a51260e7",
       
 11780 -   "edea2902a199d26d75bdd",
       
 11781 -   "5b6485b2f7f41f0abf3544",
       
 11782 -   "6415a8a79aa0ebffb6a24d",
       
 11783 -   "ba3b72d702ce311cc02a",
       
 11784 -   "67ed429f48df076df817f4",
       
 11785 -   "58dbbd6f088b5ff881356c",
       
 11786 -   "2a9957bb174e3a8d1169ef",
       
 11787 -   "5298718820a8e285437a64",
       
 11788 -   "71dbc0d71fbcfcf1245bc2",
       
 11789 -   "495ccc90a936edcdb3b175",
       
 11790 -   "6862becb8f668738ac092f",
       
 11791 -   "5f1584cca489de9bdcd65b",
       
 11792 -   "7f873bc8523c4931739324",
       
 11793 -   "282425a374dcf57904fcaa",
       
 11794 -   "7b233911df67c0ffe75298",
       
 11795 -   "28da7bd48db9e867715c64",
       
 11796 -   "14e34536d861554652fc3d",
       
 11797 -   "643b1783eeff5d2d9d100e",
       
 11798 -   "528f06b90d6ea98654eb1b",
       
 11799 -   "6c02da94ff6269ebf8b68",
       
 11800 -   "7116294960ec1370cfa192",
       
 11801 -   "34b380f57ddac800a53234",
       
 11802 -   "3746df2dcaeb2f941850af",
       
 11803 -   "520cfdeb5b65ce3df47f12",
       
 11804 -   "33bbdb9fd9d9e6cda126be",
       
 11805 -   "52a44d4aac2b12a44786a4",
       
 11806 -   "17e032019f0dc1c4277c0b",
       
 11807 -   "3069cb41e51edac9ec2b3f",
       
 11808 -   "653694fe66c257988cd02a",
       
 11809 -   "332ea59945a5d0e73f7dc5",
       
 11810 -   "47d7208165498ac04fc240",
       
 11811 -   "5f8e36ec1202b0292d5945",
       
 11812 -   "196185d708583cfba757f7",
       
 11813 -   "44dd12bd0d7f960d6bd7f6",
       
 11814 -   "235ae37d20b21074f27732",
       
 11815 -   "4d10e4408b3b6761aa225",
       
 11816 -   "3f14484539a427ea73a1b8",
       
 11817 -   "35b964532350abcbf76d9f",
       
 11818 -   "7e5eb2a4ef3434465acdeb",
       
 11819 -   "1a04ba76b7855a5e9c289a",
       
 11820 -   "57caf75d12ec817c6cddfa",
       
 11821 -   "fb87766da12e75782ca77",
       
 11822 -   "76272e758d9f83ceea908b",
       
 11823 -   "15e2aab3b7b69272b3c155",
       
 11824 -   "26b5c49d8c4e12d4b3d157",
       
 11825 -   "18347f5ec924cf4631f292",
       
 11826 -   "2ef94456619d9728490c1d",
       
 11827 -   "1000ca68b2a0f4790d5b97",
       
 11828 -   "208b7d3e85a97a99407a38",
       
 11829 -   "745cc1be634380e90bc82",
       
 11830 -   "60b46e71f1f2b8376d5d29",
       
 11831 -   "2f305b730466b54d50855e",
       
 11832 -   "61b023abdf63ddd6300036",
       
 11833 -   "3bcee7bc9a5ca7219edfaa",
       
 11834 -   "785211217f5fa1bf82b193",
       
 11835 -   "765c653014c5e4b3dc3865",
       
 11836 -   "52d5ea798306c9e21853b2",
       
 11837 -   "402466331777b126e4d8e2",
       
 11838 -   "7fd2ed81931942f0ef8d50",
       
 11839 -   "6edb305f1f8f30902439c9",
       
 11840 -   "1a484afbb93898190d8d03",
       
 11841 -   "40f2e74e1048db76b72516",
       
 11842 -   "b03e402e64c3436818402",
       
 11843 -   "4b0f09e29272f9d49c6266",
       
 11844 -   "59f29456bbb20b47aa046f",
       
 11845 -   "308a1daa2779a84d4db8ac",
       
 11846 -   "43c088f2eb74b96d25a4a8",
       
 11847 -   "614a9023303ed4dd2cdfb9",
       
 11848 -   "437e569a7451bd9bbbce87",
       
 11849 -   "7c38756fdad7c18ef7576",
       
 11850 -   "cdd3df5aba4c7ba52b4cd",
       
 11851 -   "2d2efb8be305a05b685aa3",
       
 11852 -   "1aba34eed15b418d4b7f0a",
       
 11853 -   "2432bbe72c83689ef74c85",
       
 11854 -   "4b2a621bcd3f244dbd1aa6",
       
 11855 -   "38a68ae5efe6ac22d3f278",
       
 11856 -   "3e1ecaa8d0631877bfedb9",
       
 11857 -   "67afcc19d0bb557a608666",
       
 11858 -   "fb85baef473def8948133",
       
 11859 -   "47efed21b3657d0618e28f",
       
 11860 -   "6e988e80d2c29dc7542de4",
       
 11861 -   "525362bcc006730db95180",
       
 11862 -   "30e3bf91dbc04d50a032bf",
       
 11863 -   "17a50483229662a578fdf3",
       
 11864 -   "3395f092181af53bb73f3e",
       
 11865 -   "260f0ab9a00e1e941e404f",
       
 11866 -   "26b516b52794658e68ab5a",
       
 11867 -   "76dda8edbfa5a4265a1a74",
       
 11868 -   "49af3dd263ef8ddc7b0303",
       
 11869 -   "4956d4cfa3dee8e23259eb",
       
 11870 -   "245cbb0117ba8963db7929",
       
 11871 -   "41327dfa41486f6b995572",
       
 11872 -   "207b51e97aba651825b40f",
       
 11873 -   "1d5fe04c71a377f6784338",
       
 11874 -   "43d0ab106641bd01d72cd4",
       
 11875 -   "7dea2305f898b6d88f6821",
       
 11876 -   "7c9cfb41c0f888d000fc52",
       
 11877 -   "6b849a1f17d635cf0a773f",
       
 11878 -   "3195d14bda042e7057d34f",
       
 11879 -   "52253824741dd177a674a9",
       
 11880 -   "6387ce1a213d98335598c0",
       
 11881 -   "50c4c9d0b48bd147d875cd",
       
 11882 -   "2afa4dd2f2245b7525fdf6",
       
 11883 -   "7add5048bc0984c36294e1",
       
 11884 -   "77e2377901111b6ba92316",
       
 11885 -   "83b4a6c139b7fda28fc0b",
       
 11886 -   "30f7be09c5f39b5532dcd3",
       
 11887 -   "132d2eb133a0383d464ad2",
       
 11888 -   "47d814d93ff8dca3c1398b",
       
 11889 -   "37bd7e26cf4711cd149911",
       
 11890 -   "5a081e53f2beac49d1a3e5",
       
 11891 -   "59ff3fb267f4dcf86fd4df",
       
 11892 -   "146dc1fd204e259d148dfd",
       
 11893 -   "578a6c67a3dea7609537e0",
       
 11894 -   "7376e75fa605889898fa7a",
       
 11895 -   "9dfe0a1feefabb0c62643",
       
 11896 -   "788f47c4aa1ecb9b01c1a7",
       
 11897 -   "3ed51ed7c85d68db84d78a",
       
 11898 -   "23270a061497f9098a49ee",
       
 11899 -   "3153805f294e973c493b1e",
       
 11900 -   "22d68d4ed1af18d8658de4",
       
 11901 -   "2ae83fe35c42b256590f54",
       
 11902 -   "6e1573decbd31bd14c0615",
       
 11903 -   "3ec0da959b014a91e3d171",
       
 11904 -   "7d60cbfdcc63ced7661d40",
       
 11905 -   "2e1479f3781e1a48fc49de",
       
 11906 -   "49639d01a55025d5b2f6ef",
       
 11907 -   "7d98b2bd2e9168b6d2e72f",
       
 11908 -   "14efaca65e59726b81dbf0",
       
 11909 -   "2d816960b0911019df6133",
       
 11910 -   "10b3ac9e35f753e3c9deb",
       
 11911 -   "40c514f5e20e67263ea899",
       
 11912 -   "6ad236039c2c3e149bcca2",
       
 11913 -   "8ab595a01941ab4070b39",
       
 11914 -   "5dd15f8501fbd308a231a2",
       
 11915 -   "6f79151ea6cbf1bbe85f5d",
       
 11916 -   "13fc0f6b201b7368c44178",
       
 11917 -   "601f96473a856041a89ff8",
       
 11918 -   "67adab05fa921650ed942f",
       
 11919 -   "4fe741cddc07d380fb6143",
       
 11920 -   "375ec3fc3fce6eb8e8ee9d",
       
 11921 -   "416b4cd1af257e44ad03fe",
       
 11922 -   "7b2f70ff56626a3003c33d",
       
 11923 -   "39c91d6ca89a6fa52b3be6",
       
 11924 -   "34363c8e2f82b5fdad8c66",
       
 11925 -   "77c405c1030a468f5abe34",
       
 11926 -   "67437e976a93329c5b9760",
       
 11927 -   "499ab94c7bb40ba492d85c",
       
 11928 -   "49c59a03a60b57e7bac289",
       
 11929 -   "210cf16be9c62f7408e63d",
       
 11930 -   "7a2990f262218cc62c32dd",
       
 11931 -   "4c2a57eb3ff167fa077ee2",
       
 11932 -   "23343ed75a8de5a22fac16",
       
 11933 -   "567dff5f6f64aa1697fa0f",
       
 11934 -   "fc59307a819ae8b7a3f67",
       
 11935 -   "2b8d9b2da99a690e7c44a7",
       
 11936 -   "9f4b0dce97935ef1d9158",
       
 11937 -   "365c9be3e9c7dcc814388a",
       
 11938 -   "4cada2a5056e025832015c",
       
 11939 -   "33fd72210da605d38ab799",
       
 11940 -   "28a2b96944f1b1210e6bbb",
       
 11941 -   "125d9103db1d2a83e13f71",
       
 11942 -   "3e1e43759c2fbd4596b36a",
       
 11943 -   "20db18e6c822f683f97989",
       
 11944 -   "f46157d09593fd6ceaef5",
       
 11945 -   "c75433d8b0423b552102a",
       
 11946 -   "5aaca79690a162240db985",
       
 11947 -   "1160b80ff627f607bda927",
       
 11948 -   "5839527a17db25de563064",
       
 11949 -   "7b9587337c3feffe6974d6",
       
 11950 -   "147d7e964c45ec443a24fc",
       
 11951 -   "40a3f5ad2d4a9b33e2f67f",
       
 11952 -   "1cf9608a937eea1a0bb3af",
       
 11953 -   "2a8bb0c8c3747adf31dc91",
       
 11954 -   "3c3d137503578a98196d6d",
       
 11955 -   "1cab579a1f775fb778d900",
       
 11956 -   "72e9a5baa06d4af7c9f9da",
       
 11957 -   "dad2db631732b0506f6b1",
       
 11958 -   "686f17e02f2d49c0e2e48",
       
 11959 -   "21eb89d73161656b740b6c",
       
 11960 -   "488aa158d747df0f5cd422",
       
 11961 -   "67b1ce8dfe00f53da9491b",
       
 11962 -   "687346ea28caf1c87376ab",
       
 11963 -   "254a37a2b407cabbf8069f",
       
 11964 -   "61d42c0be51a3d664c8df2",
       
 11965 -   "dd0623ecc7bb862ebbbac",
       
 11966 -   "54aeb8675aac1a423a7140",
       
 11967 -   "2e76f32ec68bf11c44acc8",
       
 11968 -   "a2c3a3cc1a5dfdc5a02b7",
       
 11969 -   "6a25d7d313e7a656aee548",
       
 11970 -   "78022742d8c1b58e95d935",
       
 11971 -   "46ea2e85d6ca1966d1ada4",
       
 11972 -   "7530bbdc505d301ed9040",
       
 11973 -   "30ebf17f92538a33a005c5",
       
 11974 -   "4839ff83b5f2ddc41b61ee",
       
 11975 -   "6517d2ae1b7ba4107ba2ed",
       
 11976 -   "1a5f34cedfae0cde5ea0a4",
       
 11977 -   "3d55ef23d8c9f8419ff28f",
       
 11978 -   "41d953d4dc4746ec83a1f0",
       
 11979 -   "4f4128c0856b216db55c75",
       
 11980 -   "af0b8a8f75ec961c833db",
       
 11981 -   "1e5217185f433bf1233d59",
       
 11982 -   "5846b0049ea6f32f4b2762",
       
 11983 -   "40e1957b3947c90dc23e89",
       
 11984 -   "5c6cf60aae0cfc30048ec1",
       
 11985 -   "5ee2324ad6594548cd275b",
       
 11986 -   "7969c90c819c5b0080834",
       
 11987 -   "6afc9a3033b5fed5a0c3ee",
       
 11988 -   "586e1bd3806f5472b98045",
       
 11989 -   "6afe8bc3bb8509aff3c666",
       
 11990 -   "5dbb4f6414155050573b80",
       
 11991 -   "493f40656c80193590d2f4",
       
 11992 -   "3e61864fd19f85bd211f70",
       
 11993 -   "3ff0891da2c6d0cb8ab6f0",
       
 11994 -   "245f14c58fc2f1bd38bf6d",
       
 11995 -   "5334ba131913654474693a",
       
 11996 -   "3b8be315926a14f8200fe4",
       
 11997 -   "54c37f5e810a7c49e7a02d",
       
 11998 -   "3c015f30d95c1da9c47adc",
       
 11999 -   "26580ddf1efe9fe3eae4e0",
       
 12000 -   "5b68ba6c572a6576af79a8",
       
 12001 -   "6b11c6506832a5a8571e85",
       
 12002 -   "37f81f265c72ca7279eb3c",
       
 12003 -   "79b27c762372e476f703f7",
       
 12004 -   "102e8f3d54ced5e10227ed",
       
 12005 -   "173b57e939be4a4efef880",
       
 12006 -   "5b18e3d2fe16a9d973b934",
       
 12007 -   "4413cfa8b5666fc0af877a",
       
 12008 -   "54b4dc744541c38f937102",
       
 12009 -   "30ffdb4a4aa7f26e29fcc9",
       
 12010 -   "1b931cd6241fc4f484ed23",
       
 12011 -   "7a45d57fdc1a44af5791fe",
       
 12012 -   "66ac85711d7e32d731c773",
       
 12013 -   "6f55491282e49ce5634ba6",
       
 12014 -   "17ef22a6ba1fe32d3ef7c0",
       
 12015 -   "153d48f10507702bdbbfbd",
       
 12016 -   "755b7f3a3389c861fb2d23",
       
 12017 -   "1bacdadb366134c3d1a5c0",
       
 12018 -   "4de1c0244f476f355a3a91",
       
 12019 -   "2b04a0e7492ffe108c1c00",
       
 12020 -   "49b08f20244bc64879adcb",
       
 12021 -   "76201a82e565cd9ac092ed",
       
 12022 -   "69699a76b55d4ca99064a0",
       
 12023 -   "6d83e6632fcdd8cf940ffe",
       
 12024 -   "705cc0331aa0195cd9f6ec",
       
 12025 -   "59b1b4d92c6ee6432bf67c",
       
 12026 -   "26c3f6eae80009e6946697",
       
 12027 -   "825e4a5dedb493626e7ba",
       
 12028 -   "4d1a97d405c026a8a5aed6",
       
 12029 -   "d08254f4d2d5ca1a5b877",
       
 12030 -   "7bca9525e525d6ded2c76f",
       
 12031 -   "755d342969e9fcde9fd595",
       
 12032 -   "7438dcc1d87bfc73ab26",
       
 12033 -   "5d77b3e7e323ddd35a71a5",
       
 12034 -   "dfc33dec9862e861d43cc",
       
 12035 -   "75b3fbba0880cedfe12ea",
       
 12036 -   "2746a28b14b19ab8d24145",
       
 12037 -   "795824804b82c5e751df2b",
       
 12038 -   "1c6bd00355516b7177a93d",
       
 12039 -   "75d1f80628c3a1c1082c91",
       
 12040 -   "1998245099906d42a62588",
       
 12041 -   "7ba683eab937665ca29978",
       
 12042 -   "203c3b480852a2154fd642",
       
 12043 -   "1ee8fffd33bf6223d36b95",
       
 12044 -   "c92faa8d02b107a1b5d50",
       
 12045 -   "65a7ac7cbfcc2f6c41c2ac",
       
 12046 -   "7450197e181adf8c4f92cf",
       
 12047 -   "636079478bd1eb493d0866",
       
 12048 -   "47792007d733892284fb9b",
       
 12049 -   "44678fb0d784f11b21a657",
       
 12050 -   "27e147bc2366e607ad99bd",
       
 12051 -   "168c6919206ac6ace0f625",
       
 12052 -   "1c9f92bdf4717c6880a9ba",
       
 12053 -   "3c4dc48e3cdfd4ce2eefe9",
       
 12054 -   "6b79ef63bb66f1362d8de",
       
 12055 -   "5efd2121bfee3a30184816",
       
 12056 -   "5ca7f66678a73081bd34e5",
       
 12057 -   "5cc79f5d12d2a991f4ebd0",
       
 12058 -   "4fadec3b4cf5617426ac33",
       
 12059 -   "af86674d8a1c364331ef3",
       
 12060 -   "1b0ff68c5f14ee84b37e7f",
       
 12061 -   "6be91a7f057434bdea3953",
       
 12062 -   "498cac7e3100df5899cd16",
       
 12063 -   "3a0a69f5624f959d85e411",
       
 12064 -   "779b65c66a52eeb45328d2",
       
 12065 -   "48b5f18a43890f525b850c",
       
 12066 -   "1a9a55461554e908c4fbf0",
       
 12067 -   "230c19482c2fdfccb6b94",
       
 12068 -   "1a364185d640ba1a6ed583",
       
 12069 -   "1c72fdd679cfcd10e369be",
       
 12070 -   "56853e4d2e614e1924d27a",
       
 12071 -   "10cc655b268878a4e8e081",
       
 12072 -   "3c71a5e6f6b431bc524a53",
       
 12073 -   "7b274f32f2cbfe03031cb0",
       
 12074 -   "64adff5211c520e76cfa93",
       
 12075 -   "621edd8ea6ff7136526540",
       
 12076 -   "7f8ad9957e40808881a192",
       
 12077 -   "76c881f1a372f21e829095",
       
 12078 -   "5027d58d8950e307548d14",
       
 12079 -   "122225a7053b175027361a",
       
 12080 -   "627a4795d0c0df1d84d13a",
       
 12081 -   "4a5333a5e1c04b8bdfa257",
       
 12082 -   "4555d38c19f123cccb6fb4",
       
 12083 -   "bf09d6ff46adc21d04951",
       
 12084 -   "bfe2f259223ccddac13b3",
       
 12085 -   "4167a3ca5253556f128ea6",
       
 12086 -   "1d3c95c9d8462d4c467220",
       
 12087 -   "48e1272ba911cad7536a1",
       
 12088 -   "59b759ca3a67e4725b5f84",
       
 12089 -   "53cc3acdd810a96c3160cb",
       
 12090 -   "6abf077f6636ceee313734",
       
 12091 -   "226c7c98f219b40ea94b66",
       
 12092 -   "54dcbbc689dad12df77730",
       
 12093 -   "5abf04c6f95d64b6c414",
       
 12094 -   "50774e378282fd09459eb4",
       
 12095 -   "66895605da5092de3d2b87",
       
 12096 -   "3bb5af245e5d40c6fc15e3",
       
 12097 -   "6e388c53aaae7d287eebd5",
       
 12098 -   "446d6309025414bad0aee1",
       
 12099 -   "6a40f14b7a50eeca571bae",
       
 12100 -   "6d925493d403647cc0a7ba",
       
 12101 -   "73f933fe401d564be0efd3",
       
 12102 -   "15aba357d612d87099180d",
       
 12103 -   "5c20428f433fbf0c9ab374",
       
 12104 -   "4871087f3b2cd3c0f24c3e",
       
 12105 -   "4eea383bfa391bcb14540",
       
 12106 -   "658769c97f8b8945ac2878",
       
 12107 -   "4a05e03567ac78048832e8",
       
 12108 -   "5e4b991cdcf27f65105596",
       
 12109 -   "32e5746a212d6238682c00",
       
 12110 -   "26436c96779bbae9c15fae",
       
 12111 -   "290cc13b5edc05d863546",
       
 12112 -   "69714524521e343bc3692d",
       
 12113 -   "3ecd876c819b78567f7fa4",
       
 12114 -   "2abf897aba93d347d6e2db",
       
 12115 -   "62f83959d672cbfe7201a",
       
 12116 -   "1a54e98271fd5720e1bc63",
       
 12117 -   "2029341ddfdbd9f668612",
       
 12118 -   "572930c1df7ba238dfc9cd",
       
 12119 -   "1b71574f7c567d707d0e82",
       
 12120 -   "509b53b07e607cbcf6e79b",
       
 12121 -   "682583fe078ff76c962922",
       
 12122 -   "2f0c8ecc959b7521936666",
       
 12123 -   "621bfd4a39ee713781e554",
       
 12124 -   "3712172b56577089f4c773",
       
 12125 -   "208fb7a4ffec7d8d1e5be6",
       
 12126 -   "1a5e08fda45015af7feba5",
       
 12127 -   "172bc617da9e1aa348e114",
       
 12128 -   "427af6fbf5578c6104b255",
       
 12129 -   "522de20b2431d6ac8f42fb",
       
 12130 -   "6ee2946ba009641ad73037",
       
 12131 -   "73e027017f2dbdbc204a16",
       
 12132 -   "3d88de9f1c15bfd7b6363b",
       
 12133 -   "36c8b1aaf274cca356ae2f",
       
 12134 -   "e050d10f9ab1681fbdc06",
       
 12135 -   "3cd72e80ffad615f09526a",
       
 12136 -   "2b913687a118d5d595277b",
       
 12137 -   "22af1fffca9aa4b2ba234a",
       
 12138 -   "7b4ac8e7f9ffbf17f0627f",
       
 12139 -   "57d57f4721fb6be3b38e99",
       
 12140 -   "c98c97ab7b4b0cb756894",
       
 12141 -   "2248d63b93978222916f1b",
       
 12142 -   "53528c9bfa6f5405d66497",
       
 12143 -   "5e45b3a532e82a603df12b",
       
 12144 -   "6799fa1f9cffb381bd6c8c",
       
 12145 -   "5097857cdd82d2df144dda",
       
 12146 -   "4f540ba10fdacad19fee6f",
       
 12147 -   "15891c14bba25257cb14ef",
       
 12148 -   "eb947683c26db8dac2f36",
       
 12149 -   "6b497ffe240d0867d5d7ef",
       
 12150 -   "2beed154412bd52cf1c83c",
       
 12151 -   "39824b01dda7b8ada90cc2",
       
 12152 -   "5afcdfdab7a5b6864efc6d",
       
 12153 -   "743eb61998341a5e892884",
       
 12154 -   "745ca85c76435eb7ba81ad",
       
 12155 -   "4b223517b6c7cd85cb43d1",
       
 12156 -   "51e8f647af3880d2b77ccd",
       
 12157 -   "6a24f8897d3040e8fb1da8",
       
 12158 -   "57f40a819546afc89fc2ce",
       
 12159 -   "6b0dc0d5521d21af0ccaf4",
       
 12160 -   "282f326b1fcbfb463ba836",
       
 12161 -   "4d7d33eaba361883277544",
       
 12162 -   "298af75c2d584b01ccc6a6",
       
 12163 -   "692752e677cdaba7d636c2",
       
 12164 -   "277575523998439f834d3",
       
 12165 -   "1aee70e483c99574480349",
       
 12166 -   "18991d6f38c445ab4b38f1",
       
 12167 -   "5552617d9eaca45155f490",
       
 12168 -   "3459971422155f9703c78c",
       
 12169 -   "40678fa2d309cb9417f68f",
       
 12170 -   "2be59650bf9aa57c249937",
       
 12171 -   "5ea38165e28694c8629ccb",
       
 12172 -   "3e6265ca213c1a0be64512",
       
 12173 -   "69c96f5702ae4eecc6f341",
       
 12174 -   "62e9a332653e1b103db5cf",
       
 12175 -   "62870c281778214067b40e",
       
 12176 -   "14bde3f9984cc98dc83f60",
       
 12177 -   "5338be8d9f87d3f2e46b2e",
       
 12178 -   "5e7785eebda5c8e2f0247b",
       
 12179 -   "24183bf26908368eb41547",
       
 12180 -   "51f9e6d75a3c5264312643",
       
 12181 -   "4c67268f528ba7e8c34a0",
       
 12182 -   "708324dd5e787ea3d43a21",
       
 12183 -   "75b09479e265b9f0ac9a5b",
       
 12184 -   "7972b4774882051f2d85a4",
       
 12185 -   "31be6678e513813e0e676c",
       
 12186 -   "170a54e825e33a2265d3cb",
       
 12187 -   "66fecdf77d13ff6c0b25a4",
       
 12188 -   "923121ae3af782c934df4",
       
 12189 -   "473c4bff7362fbbd2049ff",
       
 12190 -   "61249154ca21ee2b75deb1",
       
 12191 -   "23ac86fba80f09945d51d2",
       
 12192 -   "19b52abcac8b60d5349efc",
       
 12193 -   "3a9c7a7d5782f84fd4620f",
       
 12194 -   "674fde01f6057423c31a9a",
       
 12195 -   "5533d7d78826353c79c73e",
       
 12196 -   "42e88e9f66659afa2a393",
       
 12197 -   "18e83fe885c9bab518bb97",
       
 12198 -   "1ccb03c008f2e822848880",
       
 12199 -   "3665e544d5ec7ed8868a1b",
       
 12200 -   "6b25a8073bc36b2af4c2b1",
       
 12201 -   "7b5ec7e3346c3cb243b356",
       
 12202 -   "34b484cdb4cebe6aff839",
       
 12203 -   "260d3af59b4f3d5c208bbf",
       
 12204 -   "3d946cf498fbed2d965f70",
       
 12205 -   "4755035ba4d9924118903c",
       
 12206 -   "4a29c3e62c947a4a1e99b9",
       
 12207 -   "4edfb060e1dacbd449d726",
       
 12208 -   "29f1e17550354ceae49f99",
       
 12209 -   "247f391e5a3b234cf19ccc",
       
 12210 -   "7e2be12d72782db9e725dd",
       
 12211 -   "47d8e4eb9811f9d409ea40",
       
 12212 -   "5488a723f6ba5cf9800543",
       
 12213 -   "304cc216ed2272d07c7f80",
       
 12214 -   "3292c0c9fda6887e4ad161",
       
 12215 -   "24af65fef90e2f99e03cae",
       
 12216 -   "2c250894e17e7f4b0dd",
       
 12217 -   "77a73ba77b4ed622a17e87",
       
 12218 -   "f36396be6cc745bba9473",
       
 12219 -   "683a5c6214b92efde4aafb",
       
 12220 -   "55247bc5a72b8d3e89234b",
       
 12221 -   "6747e95b215a546a339b7",
       
 12222 -   "178fa57d907fddb0fe3cca",
       
 12223 -   "748df460f8594e0bf1ab20",
       
 12224 -   "3b409dc537f82b36a0b80a",
       
 12225 -   "69150cde40be119caa92bb",
       
 12226 -   "48ef84f7c351ecdc951b2d",
       
 12227 -   "4e162f9f85bd081abd7380",
       
 12228 -   "32dc0a137f654afa8bd8fc",
       
 12229 -   "6f59efef27dbd92df6f652",
       
 12230 -   "645d789e2ca881eb3474c9",
       
 12231 -   "73a88b6c78ebe25a0f02da",
       
 12232 -   "3501255a6a3473cf6ac042",
       
 12233 -   "4026f1042b0f5b1e940a78",
       
 12234 -   "364b7fe165d59b5d916e2f",
       
 12235 -   "daa197fa1e9b3068f7333",
       
 12236 -   "1d51d9201dd8c5066bb7d1",
       
 12237 -   "1e7a055357b6580f4a7b9",
       
 12238 -   "6f33938b3b060336c57082",
       
 12239 -   "6ad4c1af807487676eed8c",
       
 12240 -   "6a5c41dd17f1f090be79f9",
       
 12241 -   "2b1a4dba7447b02833bcc5",
       
 12242 -   "1a939b8af79d6b9d1e57e0",
       
 12243 -   "339fe9b069fdcbe6f3e985",
       
 12244 -   "55e838d685f75c7c6b5f20",
       
 12245 -   "38102211c805f10960d5ba",
       
 12246 -   "6f9024d8cdd8d69ef10bf7",
       
 12247 -   "2db5ff229cb2d0a85b8393",
       
 12248 -   "7e1946c78347049b735318",
       
 12249 -   "5a2d6c9f89fb24cf28d1b3",
       
 12250 -   "7d5f8fcc1cf99dc3131c84",
       
 12251 -   "68719eec758c692aaaddb3",
       
 12252 -   "a5582fe7b241700d09fbc",
       
 12253 -   "3de183e6b991f7b8085160",
       
 12254 -   "cd47f8baa501aac7b0989",
       
 12255 -   "658a9098281c199cd165fd",
       
 12256 -   "476085adcac943f7253ad3",
       
 12257 -   "45f39b8c67c74dfb911f44",
       
 12258 -   "3cb90317e0fd78744bd72b",
       
 12259 -   "509c14f0517edd55968bc1",
       
 12260 -   "7a6cf71a247a9aa2ad1f3d",
       
 12261 -   "594ab65a623ca11a1d847f",
       
 12262 -   "32765eba5563b5336b4375",
       
 12263 -   "e4ce3641fd893553aeebb",
       
 12264 -   "e73b5b515611f25e496d1",
       
 12265 -   "ddd508394009eefde3ac7",
       
 12266 -   "b4aa58f86a462da2ed07",
       
 12267 -   "4d562b2b0bde307c0edc87",
       
 12268 -   "2c30e99c7b2606982311b7",
       
 12269 -   "3a997ef0ad242391b526f9",
       
 12270 -   "4f754c5d3b280b20bc95d0",
       
 12271 -   "375f02bea7dda994d93044",
       
 12272 -   "5bd335a49bc5a06867e5e1",
       
 12273 -   "63d746c096cfab5f984c70",
       
 12274 -   "25d324d633986f4baae0fd",
       
 12275 -   "2175a06a641d5e8ad33646",
       
 12276 -   "403c1a7f2d528ab5d343b9",
       
 12277 -   "1429ba4cc3fbeac84cae7b",
       
 12278 -   "4fe62d365b58ffaa0d2201",
       
 12279 -   "6bd057cf4845772f81f71e",
       
 12280 -   "38dd92596a9fd54920876d",
       
 12281 -   "ffbb4d4d7cd961d36be9b",
       
 12282 -   "3910da787142c54f4f9b2f",
       
 12283 -   "2a843c02b5e59799422e65",
       
 12284 -   "4f459e6fecc9cadb8e977",
       
 12285 -   "374bc74be1e4381a79910f",
       
 12286 -   "4656a2b830782828314373",
       
 12287 -   "583e484be506b8efea96b4",
       
 12288 -   "36d97c131b997ecd7866ef",
       
 12289 -   "40066cef89d0c82982356c",
       
 12290 -   "3301553132b8af815a8ed7",
       
 12291 -   "475c6525a253fe4a455211",
       
 12292 -   "7215cad82f761314bbdd1e",
       
 12293 -   "784f7b46f80b03fd06242c",
       
 12294 -   "2fc0729bbc7485664f21f9",
       
 12295 -   "62658893411360a21b6bfa",
       
 12296 -   "775ff949792463791cf8ab",
       
 12297 -   "6bbcfc26c4e8fa7b836095",
       
 12298 -   "14a9e816ead24aab2e6645",
       
 12299 -   "6467af1a0f07013b2e9849",
       
 12300 -   "5f019291ccdeabcd687ce5",
       
 12301 -   "2311c97b29ff503887b251",
       
 12302 -   "623f56668cc8a093bdba7e",
       
 12303 -   "3b890cc2ea1882c16138ef",
       
 12304 -   "6e0d3cb0378f9f523dd7ca",
       
 12305 -   "e50ab5db695f894b26597",
       
 12306 -   "500de5789e46431a14b08d",
       
 12307 -   "74a3895c1173d1100e060",
       
 12308 -   "28c70cf1a34bf4b12fc1a1",
       
 12309 -   "260202888a368af1bf27f0",
       
 12310 -   "49f6551bb5a630f7f3a91",
       
 12311 -   "35984ab233bfbbdc2149d0",
       
 12312 -   "7715808f58e52b93fbd9f4",
       
 12313 -   "7a35b4347e2b2fcfef4e8a",
       
 12314 -   "696a995b7f1bd2337f9c55",
       
 12315 -   "765220bfddbe009c12884",
       
 12316 -   "6c4e919619ba3e8fcc083f",
       
 12317 -   "6908cd3a0537e6d9de224b",
       
 12318 -   "8cecd81b395199379b860",
       
 12319 -   "73475afc8917dfb47ca158",
       
 12320 -   "671133a56bfab71842e1aa",
       
 12321 -   "4356f96a535f02cd557790",
       
 12322 -   "d73559f9e34900d6994e0",
       
 12323 -   "4299b7c55998b524a2963e",
       
 12324 -   "6df756715e22975feac139",
       
 12325 -   "2e795b59317cae4c039946",
       
 12326 -   "638a87cbb628cc2744b5a",
       
 12327 -   "2d0786ef10819221e8e925",
       
 12328 -   "285121b3579e1afaecea17",
       
 12329 -   "f0daaf67c2422477284d4",
       
 12330 -   "df5585842155fda65c5ad",
       
 12331 -   "41824effd56ee95a25ffcf",
       
 12332 -   "5a2e3e7ac883c32720fb5f",
       
 12333 -   "786bd6b0d956c71e3d0c41",
       
 12334 -   "2dd9e647cd7caac396218d",
       
 12335 -   "32267a0d010a3ac60d956b",
       
 12336 -   "3bd14b5c954fd788df3e2f",
       
 12337 -   "55d4eceed6862d8b7edf73",
       
 12338 -   "32bc07a00fc1c32e790cff",
       
 12339 -   "e16e90086dfb42533696c",
       
 12340 -   "58f251e3a335055f8d1702",
       
 12341 -   "45d0bbd0c4c565d517f4d9",
       
 12342 -   "47cb5e48534f0fa269ac37",
       
 12343 -   "23591be47ead61c7626094",
       
 12344 -   "4e9b8b836aefbcc76074a3",
       
 12345 -   "7499dfe49d22092ecbaacd",
       
 12346 -   "422c99318e0e012bdf3cdb",
       
 12347 -   "6dbec10ac45803905232cc",
       
 12348 -   "5f091c9040f8e8b4af8c6a",
       
 12349 -   "49dd9e128368a6e8f31565",
       
 12350 -   "631d5fa433132c920e949d",
       
 12351 -   "4a728ba1f43b41e3c8ba7b",
       
 12352 -   "5de44a501f899626f11ecb",
       
 12353 -   "1db2b63fb5b72bd2913b9b",
       
 12354 -   "75c3040748861ea4157368",
       
 12355 -   "5714f7d7bb3f12d88adae1",
       
 12356 -   "3382f247e6cbcf48a8be0c",
       
 12357 -   "436134e757c46fe077e8fd",
       
 12358 -   "ca5fc0de7c8f0742fa11a",
       
 12359 -   "324b0e59fd313b7b066991",
       
 12360 -   "fca82540d3cb37cfe38de",
       
 12361 -   "71310c65e10b4b2e1f3924",
       
 12362 -   "53034f778656513538ce93",
       
 12363 -   "6e8a28f3d3f87aa2548dbc",
       
 12364 -   "792ab4b2a318b2229df59",
       
 12365 -   "700ac125ecd365c309339c",
       
 12366 -   "d7315bcace04536b59c5c",
       
 12367 -   "5f9fe5fab5062ae9d40550",
       
 12368 -   "7ed8ee73ca5507f25bd5aa",
       
 12369 -   "6247c20f5e97453bb71b09",
       
 12370 -   "463e980411d809a1713383",
       
 12371 -   "546f06ab10360a76005c9e",
       
 12372 -   "1c0a01fb60b92af636be29",
       
 12373 -   "a5385b7f7d2a505f37187",
       
 12374 -   "296401a6101dec9b48a81a",
       
 12375 -   "38aece2fe0c1923c569603",
       
 12376 -   "e966e5d5e80ac9dc377a2",
       
 12377 -   "7eaf3d6220ab7c049341fb",
       
 12378 -   "1a01c5dd382ca52c0f8a1a",
       
 12379 -   "68ab0ae55863c4f8044101",
       
 12380 -   "75b29426909e9c8294f365",
       
 12381 -   "39fc8d30c95dd0494e9be3",
       
 12382 -   "3c234bbaf5da9465f9498e",
       
 12383 -   "7ef05035c2a08e050870e7",
       
 12384 -   "7e880bc1729d1783a14627",
       
 12385 -   "3df3e3ff8b5241f9f120b6",
       
 12386 -   "61c60fa253a8977e213d6c",
       
 12387 -   "dcb3217133998c35879b7",
       
 12388 -   "19e87845fee8ee9d86794a",
       
 12389 -   "1b8c24041b5c09c2ff1c0f",
       
 12390 -   "1d4d18f2bee14ee417596c",
       
 12391 -   "5197b486ae5dad9284702a",
       
 12392 -   "7a4b513ca25dc5d887768d",
       
 12393 -   "2e1d98165a5897b1482cbe",
       
 12394 -   "494c96ddeebc9c314fa5db",
       
 12395 -   "29785bd232aa4bcde009aa",
       
 12396 -   "42d71e3ed0639f1b07231a",
       
 12397 -   "1439532a6d3fdff49361fa",
       
 12398 -   "8c59c1948361c413eed8f",
       
 12399 -   "2c9401cd53725f84e2c421",
       
 12400 -   "5eb9037bc76a6930985737",
       
 12401 -   "6d5d0573b2f9596b50b73b",
       
 12402 -   "36121cc69943c0f23f8a85",
       
 12403 -   "308787b80145ee403c389d",
       
 12404 -   "74d978e8d6a9ce6def9aa3",
       
 12405 -   "34242d89a6cc1d4e30fa9e",
       
 12406 -   "6106124e06a73207e84629",
       
 12407 -   "1174d8cdaeecfc5b7908d0",
       
 12408 -   "49f7df71bb684bf5a54c61",
       
 12409 -   "53b453f5f30f900af808e3",
       
 12410 -   "7b4210ea990dbb2b80bb4",
       
 12411 -   "232c5e33740871b389c8ba",
       
 12412 -   "3e748cccf5c4b2e587b8b2",
       
 12413 -   "2078bac214b712936de507",
       
 12414 -   "426ece55a7fd1d858414a0",
       
 12415 -   "1eac63084c7797618dd9f7",
       
 12416 -   "59fdecdacfa91d60fd391e",
       
 12417 -   "589758587c26455b22331e",
       
 12418 -   "19e1cce82f85eff6f6b24",
       
 12419 -   "16d83b4ed79a537102c236",
       
 12420 -   "4ad2dfbccfebf4c881dcf6",
       
 12421 -   "1851d531ca021ad6f2b572",
       
 12422 -   "1c85ed9416af845bb8e82",
       
 12423 -   "5cf912fba9a563060d7b3f",
       
 12424 -   "14c7f40a28e01adc5ae1b4",
       
 12425 -   "15131878551adae4b04c53",
       
 12426 -   "ddf6be61ce9c04533277",
       
 12427 -   "48938572f05f540b474485",
       
 12428 -   "465d9407cc9bc6456e974d",
       
 12429 -   "1df3eb49ffac499fc5f3b6",
       
 12430 -   "7e698a24ee9aa726fc4b0b",
       
 12431 -   "53e99cd5ced120123b808f",
       
 12432 -   "66ba97928f262067fec230",
       
 12433 -   "1d1b1bb20ae40ee8d35505",
       
 12434 -   "22cd6c35ab2195c56794f9",
       
 12435 -   "1ef2f8aa8266e26254215a",
       
 12436 -   "14da7875e13efd461f7c10",
       
 12437 -   "22d6cba0f681e23fc64382",
       
 12438 -   "682b3c7ed60ad7c985a3a",
       
 12439 -   "244d1131736a5aea351d17",
       
 12440 -   "3ae16fb3fb77d48c6adcc3",
       
 12441 -   "3253e31b47819fbcec75b4",
       
 12442 -   "507a6d1fd108a63234b38f",
       
 12443 -   "3e2cbdf24bd5900348312",
       
 12444 -   "34f2e009d684c876c246fb",
       
 12445 -   "bb247081da09643c00d36",
       
 12446 -   "32a426cd7460f9e5c5e7",
       
 12447 -   "48082cdc2a40ccd11ae434",
       
 12448 -   "1d616376b444140f9acd68",
       
 12449 -   "72bd80f062eb130b42b044",
       
 12450 -   "e1e55a565534c74a109fc",
       
 12451 -   "49e01d719bf13fd52369ee",
       
 12452 -   "2ae496e8d9399061460619",
       
 12453 -   "7adc118469443d4f7084b2",
       
 12454 -   "7ad19421f012d132850842",
       
 12455 -   "45b5b538c44c73f3bf515f",
       
 12456 -   "5f8307f0589178f70f7238",
       
 12457 -   "54018c8917549d050c00a8",
       
 12458 -   "4700bc9de4804ec44122f",
       
 12459 -   "d922a909e3b3afea5fe08",
       
 12460 -   "46ea38e0c4bb849b39baee",
       
 12461 -   "7b87e87e1438c6126ab1cc",
       
 12462 -   "499667b1e22348ac584789",
       
 12463 -   "137f8e05276cc8f9180095",
       
 12464 -   "5accf03c1a20af1120832d",
       
 12465 -   "4e94399e1765146189df5b",
       
 12466 -   "55fca6cb45a0501d1c50ba",
       
 12467 -   "2ea5fa6c2e19e6ee7add96",
       
 12468 -   "d8e9fae4ec5d3e7913712",
       
 12469 -   "767f863c9bfc5fd6540f44",
       
 12470 -   "477273c36a749543489547",
       
 12471 -   "4265efdcec74f163498291",
       
 12472 -   "43f53558dbb8a25ad757e",
       
 12473 -   "7b5d99de82bacb33af7ee8",
       
 12474 -   "1d4515e4768ff5c6b4178f",
       
 12475 -   "2057d9029cad07c3d344a3",
       
 12476 -   "e419f0eced24d03400fbc",
       
 12477 -   "2e30617b0abeb387001867",
       
 12478 -   "603f9b3bc6733094104e23",
       
 12479 -   "fa6bb9b4b92165346e0ff",
       
 12480 -   "321ccac2ccfd73a0b28c6d",
       
 12481 -   "6af9f591969edf6d33a899",
       
 12482 -   "5ebda7b44a30093e22fee3",
       
 12483 -   "150cbeb75257f8eed7903",
       
 12484 -   "1b0dfe5bf791bf4d645e64",
       
 12485 -   "5286bfcb1951cdb460fbe5",
       
 12486 -   "29ca62a9234f915c5c9715",
       
 12487 -   "3629587577ea6cd990a3d3",
       
 12488 -   "4d3d6fd7781e8ff3322226",
       
 12489 -   "7377f9449fdfa779330064",
       
 12490 -   "7f3f1310b0770a6a8ab4e6",
       
 12491 -   "74f8ea2aa01f3e122e9ec6",
       
 12492 -   "74aed20fd8f19001dab562",
       
 12493 -   "7a9c1df7aec04dc00e3584",
       
 12494 -   "2b3dba5edc89810815d1ce",
       
 12495 -   "217c2392122f9868740137",
       
 12496 -   "43ac29ece073be2a30ce86",
       
 12497 -   "4b6b8f4e6118573075d4ce",
       
 12498 -   "3cd3f5ea5623ce969c863a",
       
 12499 -   "421de31b9083741c4d4c48",
       
 12500 -   "1960ca77285b35812422e2",
       
 12501 -   "7d40cdfed339cab397652f",
       
 12502 -   "51a001a64a22c7bc0db3ea",
       
 12503 -   "1fe4c7d7da3eaeaae25e65",
       
 12504 -   "720179be8f54eb5c778be",
       
 12505 -   "1144f2116d6e426f3addec",
       
 12506 -   "10ad00e38092458e73fe4f",
       
 12507 -   "72e90ac5d748fbd2d7aadd",
       
 12508 -   "18250945b23b28bdd1208a",
       
 12509 -   "dee72e6d522c55b461f4b",
       
 12510 -   "1e31c413e16722caeb814",
       
 12511 -   "5ccfa76193ddbc64186a30",
       
 12512 -   "5eb2b60c1d97e4dcdb09d3",
       
 12513 -   "7f31009d8b384ea51f9235",
       
 12514 -   "7118c95246463e79fab7c6",
       
 12515 -   "2af1b36e871a2152d87ea3",
       
 12516 -   "1ae4174a64ea29d65c88b7",
       
 12517 -   "1aa4bb2c56ddce8ebceb39",
       
 12518 -   "65773487e5415b58fb205a",
       
 12519 -   "5adfc7a0a78f6657a5960",
       
 12520 -   "3d5e0686efab87e5e7c266",
       
 12521 -   "6552488fb7e68b138c5691",
       
 12522 -   "69cb489051468dc8b7a10d",
       
 12523 -   "2885d88c14361dbedb4fb1",
       
 12524 -   "17f8a55fef5d58503cdf89",
       
 12525 -   "71a2dd2f4561ce6b25cc84",
       
 12526 -   "173ef6d2228315e7fc8577",
       
 12527 -   "6095ebe0914ab346aaab52",
       
 12528 -   "1246f9f5df870b21bcb1e6",
       
 12529 -   "5e53c14166e301e45a1c84",
       
 12530 -   "3a1984f88834905315728d",
       
 12531 -   "4678975ad8ef4ef63ed234",
       
 12532 -   "139a5be9fe5d74b7b324f6",
       
 12533 -   "4057d3883ee10c31d0c5f9",
       
 12534 -   "5de657154513d33b2dbb32",
       
 12535 -   "7da4d79cdf3d83f0763c79",
       
 12536 -   "7399c1866bdfc2ee9d0ba4",
       
 12537 -   "48cdee08fb7cd0c828eec2",
       
 12538 -   "4c099f907df9db8a25350c",
       
 12539 -   "851fa3652b44e57d9190b",
       
 12540 -   "d0d6f30615b8f231bece9",
       
 12541 -   "5f305f39404231a1ce6591",
       
 12542 -   "47b5376a6bf9ae1b5420d0",
       
 12543 -   "55925c1c09bda33b3d0e7c",
       
 12544 -   "4aa62ab8f33741774c11af",
       
 12545 -   "cebc8496358956c6ed352",
       
 12546 -   "4e0f2086acba831702db59",
       
 12547 -   "2103ca88adecbfdd3370",
       
 12548 -   "5b917d89029b0850efbfd7",
       
 12549 -   "619fb115b590487fbaece5",
       
 12550 -   "709f8b4e1e81f78ecdd5bb",
       
 12551 -   "5c6ce5b29bafc437eda5ce",
       
 12552 -   "1c6a5fca595a1ff62b0a7b",
       
 12553 -   "5c246c8d9baad4092bd7a9",
       
 12554 -   "2f1ba6fd01e5cf713f7991",
       
 12555 -   "3d17d279ec6a81f53cd4f8",
       
 12556 -   "42af59edeafb6c79b9d208",
       
 12557 -   "7e0f7a6620c31d72d9d568",
       
 12558 -   "68d1c5df4d9653be9c8e7b",
       
 12559 -   "79db0961906e2d46b0b349",
       
 12560 -   "4c4fa3875e78671bc1d2bc",
       
 12561 -   "22a17bb1e02873c944cbe3",
       
 12562 -   "25e4a83dfc2f633765d96b",
       
 12563 -   "8a4219421d2f55bef801a",
       
 12564 -   "341ee0e329f6ab9da76c4a",
       
 12565 -   "28eaec99940a1b1f563841",
       
 12566 -   "4f1b7b04b31a6d85748c8e",
       
 12567 -   "1152ee1f6c91b44b1faa20",
       
 12568 -   "6b4aa7c57cecc522b32c99",
       
 12569 -   "49e219e4b19fa82e3cdd8d",
       
 12570 -   "5bc9b4c686de112404ccc3",
       
 12571 -   "40d9ddb7d82d86fe4dc6d7",
       
 12572 -   "6b85f2803d97e818e2e527",
       
 12573 -   "321405882a2a0c05f7907b",
       
 12574 -   "60749c3a015660029dacb9",
       
 12575 -   "26240f3e8816b599bb01c6",
       
 12576 -   "1a91a4ef4625f7ae911f1d",
       
 12577 -   "18704740809cbd3a91bcc8",
       
 12578 -   "532d2ff2bd9d0ca8b344ee",
       
 12579 -   "18488f368798b8734164ca",
       
 12580 -   "7453e07405f19cfba93c17",
       
 12581 -   "3cfc7a65b66e9f8c6f8cbd",
       
 12582 -   "4dde9b7ed5a96934e4dd51",
       
 12583 -   "7afeb7314079bb05948a57",
       
 12584 -   "2f4c8ebd42ef359c5ac79b",
       
 12585 -   "2579cde0e8d37e04167a12",
       
 12586 -   "368d20177281b04fd8018f",
       
 12587 -   "4553e500c491eb2ced6e1a",
       
 12588 -   "12a8a0e9fe6ba5c3656149",
       
 12589 -   "13d6f0fac0c0b9cd891715",
       
 12590 -   "cfbfcb607ba616c016fef",
       
 12591 -   "522bb592e89a78b316244d",
       
 12592 -   "2db6d4b5b7a928883df97f",
       
 12593 -   "928d2a95f60dac2e280f3",
       
 12594 -   "15b79d2a607e674b1df02c",
       
 12595 -   "711d3de6506cffb89d82c0",
       
 12596 -   "1fab75ef67bec61a68a277",
       
 12597 -   "3dc7ec06146d405216b267",
       
 12598 -   "15c08724b1daf7a590d087",
       
 12599 -   "75c2ce5e2535ac7878196c",
       
 12600 -   "63dbff9398c6d2cafd1418",
       
 12601 -   "245003f901ae0a356365b5",
       
 12602 -   "10b57d68a8cfe14ef3ca7c",
       
 12603 -   "5fdc8856cd703470a1e5a4",
       
 12604 -   "1af9124bffaade4351e990",
       
 12605 -   "5f72010436c71470f190d9",
       
 12606 -   "50755ca653aac70b84b12a",
       
 12607 -   "14c9d693e42997dbc96df3",
       
 12608 -   "7a93c6e177d746f5eb503",
       
 12609 -   "28d70ec040ec983aded5c7",
       
 12610 -   "124c113e25b1a8153a830d",
       
 12611 -   "2df0f496cddcc699504250",
       
 12612 -   "5dab9e18ce0b8340db40a2",
       
 12613 -   "6a410e486ad693817f9d31",
       
 12614 -   "5e82dce0d15b40d73e81bd",
       
 12615 -   "4e1b51392bd1ad38a51d00",
       
 12616 -   "69efc15f2bab10979940b4",
       
 12617 -   "4bb8f4e111d078e3c54590",
       
 12618 -   "22e8d9bc34a96264dd4caa",
       
 12619 -   "3a7c703f2642b17eba0c69",
       
 12620 -   "2df2bed0dd9ba405c8c5ce",
       
 12621 -   "222dacddb6e77241cadac8",
       
 12622 -   "4c996629390ea0954eeb1f",
       
 12623 -   "37c7b0fc4e875134c29246",
       
 12624 -   "4a78cbf6bef93b38948e09",
       
 12625 -   "6c8fa526a6bdbce9f7b832",
       
 12626 -   "7633f58adb014bb5585678",
       
 12627 -   "509ea21b16907067d06b82",
       
 12628 -   "30a8e1972ee45f3e0613d5",
       
 12629 -   "63839ba9cca448dd7fecff",
       
 12630 -   "290fe0ae5a419909be4e2b",
       
 12631 -   "35dbe95730bed0669969ad",
       
 12632 -   "2a6c238cf5c57a2939882f",
       
 12633 -   "f9d7db7493258ceea1a37",
       
 12634 -   "36ded179138f0e4cdf1ee7",
       
 12635 -   "4996f8a3f7c2c5fac02813",
       
 12636 -   "39bbee3cab035e7fc68b3",
       
 12637 -   "741dd990ea20591fd9b5ff",
       
 12638 -   "16eeff7e87d3caf8e58a92",
       
 12639 -   "2c8f1060dc661c38044a5b",
       
 12640 -   "3d886ee05f1bcf69fa4f70",
       
 12641 -   "392d9ae31bf22e0236e198",
       
 12642 -   "1a7c7fe62effcf2d1a2cb5",
       
 12643 -   "65172c59adde7fa1aa62e",
       
 12644 -   "389d1e8a26db35e20882fb",
       
 12645 -   "7dd9082b6f5562b8d6ba91",
       
 12646 -   "18c5643eccf2173f575420",
       
 12647 -   "757f2101d664083b2fe8c9",
       
 12648 -   "66e9cba0e526f30b7b9b8f",
       
 12649 -   "6c33a3a058504d48c17efb",
       
 12650 -   "1a908fcb6be810a9e1e92a",
       
 12651 -   "2df246fe147cf6a7d9ed5f",
       
 12652 -   "3dac1d8f9e9cf46cc42204",
       
 12653 -   "3cfed079405fd41004c118",
       
 12654 -   "7aeadbfb750a598afce6ac",
       
 12655 -   "485bb888b6979f8f201fb8",
       
 12656 -   "460858d1e253129bf64e5b",
       
 12657 -   "3567cd9077f5bb1d3115a3",
       
 12658 -   "28b06a5b8a2319d5d78e37",
       
 12659 -   "5c3df551863d0055925c95",
       
 12660 -   "260985f3992a168bc7fb3b",
       
 12661 -   "5a00aa930e50101d3ad458",
       
 12662 -   "3e41b8ea3309221756df7b",
       
 12663 -   "216b9b04319fd8da8a6d3b",
       
 12664 -   "24a843ed6770d822f92be9",
       
 12665 -   "60e3811062f0661e25f626",
       
 12666 -   "656a55d45a93fac53881ab",
       
 12667 -   "10f7a570b959918609b06f",
       
 12668 -   "d755ece5c8fed1e833d4b",
       
 12669 -   "5eb96063b604b2d052b457",
       
 12670 -   "182ed4a29e8be479e40c89",
       
 12671 -   "55e542cd768eaa4ab7eb43",
       
 12672 -   "4a1404c02a58e6862d11f5",
       
 12673 -   "4366b19aa12542a30c1749",
       
 12674 -   "74a0eb9dfa780e171aa5bc",
       
 12675 -   "7b34f38b9d16f0d70ddae4",
       
 12676 -   "1f75d643fbc4ab52296f51",
       
 12677 -   "1cc8bac063e7f4722cc83d",
       
 12678 -   "1f1cae187cb4e7e2d75ff5",
       
 12679 -   "6acdbbcb1d87bb33b845b0",
       
 12680 -   "5a67c62d60522486e9cab9",
       
 12681 -   "66727c69de089e222307ae",
       
 12682 -   "7dde8d7ccd2cebd1d4b943",
       
 12683 -   "3732911ea3b78b2cc54de2",
       
 12684 -   "69b04bfb64dc28afc90f3",
       
 12685 -   "49a34db8369186ccd3e18b",
       
 12686 -   "3087f959a9893769198248",
       
 12687 -   "766ac65aedf40f90341249",
       
 12688 -   "3c8b578aed4234d875a143",
       
 12689 -   "7248daa035ed0c83c2d007",
       
 12690 -   "35d310b1c9f92e46c5dccd",
       
 12691 -   "747c7a13b706fb28e46c47",
       
 12692 -   "e2d9cdfcde324e23eda21",
       
 12693 -   "607776583fcde0ad8e4c87",
       
 12694 -   "2133efe27b28c873f101f",
       
 12695 -   "6ad95985d0ab8e8d823145",
       
 12696 -   "35d6d7bb2855d9adfbf650",
       
 12697 -   "7a123babe2e7abafbaf8e7",
       
 12698 -   "3b0cb59bddc94e18233703",
       
 12699 -   "77815256a969cddb479be9",
       
 12700 -   "9c6c4ea9b05d327c6b7f3",
       
 12701 -   "55137101093be9fb51857e",
       
 12702 -   "59bb325b9748e94acb6630",
       
 12703 -   "328bf9a8c78ea2ca3388be",
       
 12704 -   "6ee757629a9b68ac7e690f",
       
 12705 -   "59efda7d6a6d8e6aaaba46",
       
 12706 -   "6ce70c288bc2711b1b024f",
       
 12707 -   "4ed7cbd3e32dee7a40c626",
       
 12708 -   "a9753c820825d73c04548",
       
 12709 -   "741d91860d83d000328e76",
       
 12710 -   "59aa03a25735023ef97395",
       
 12711 -   "1cc96ab6764758e9cff09d",
       
 12712 -   "50e22c6cf5d6b70def807b",
       
 12713 -   "76f42929010d1ca7619b42",
       
 12714 -   "18a6b71998f6f84fd5d814",
       
 12715 -   "5fda42ececb40f359e4f0b",
       
 12716 -   "2f62056d547ebf7995c6e6",
       
 12717 -   "23966403e567312c7a8379",
       
 12718 -   "6b7e91fb5948662e3961e3",
       
 12719 -   "1e6874a8b307092ad6e72b",
       
 12720 -   "31dfcfe645b46b329ee2a1",
       
 12721 -   "209910d1159692421526c",
       
 12722 -   "3c4374002a4b05edbee285",
       
 12723 -   "6df855d5b158377d521892",
       
 12724 -   "4169ab1c6bf3f0abec6c34",
       
 12725 -   "359b331d03b9cc2451c1f8",
       
 12726 -   "3c7a2b6b58424eab86f3b4",
       
 12727 -   "7242e44696c19a3a1910b7",
       
 12728 -   "2a7311c640e7cf0ecc141",
       
 12729 -   "7933956672bf2e4535ee34",
       
 12730 -   "455927f484bb8820a2ccf7",
       
 12731 -   "551ec7c1ae7ed078f940c0",
       
 12732 -   "6ef800332004d6cda26cdc",
       
 12733 -   "7630fa097aa2bf97cef6b9",
       
 12734 -   "490db50fd1ace7e8ec15ae",
       
 12735 -   "32f5fb93813b0abef00c9a",
       
 12736 -   "44e6ec408ba05ad98e759",
       
 12737 -   "568f3917922fe83ad3e225",
       
 12738 -   "273beeddd87cbae01c207f",
       
 12739 -   "1a8ed7cad7bcfca4620120",
       
 12740 -   "6c362e17e2173449bde86a",
       
 12741 -   "191da9b869e973d2fdfea7",
       
 12742 -   "64666abc6a9a2f6a1c7575",
       
 12743 -   "3c31433d0db703e03c294d",
       
 12744 -   "1e74e23fb34c50dc055d0",
       
 12745 -   "59652c3042e742dab07904",
       
 12746 -   "50e46147373113c54d73c2",
       
 12747 -   "776ff8d5492c149f7acf17",
       
 12748 -   "318d2300370d914ed1483a",
       
 12749 -   "e24946eda2a54a4c98b6e",
       
 12750 -   "28434971e0ad86e87340b6",
       
 12751 -   "b7602abf832a9540b03b8",
       
 12752 -   "3a2bc2968347afc3827c67",
       
 12753 -   "5fde1fcd656f65c682e01e",
       
 12754 -   "113149ff5647e02c5d8e8c",
       
 12755 -   "329c1979af2fa92b25335f",
       
 12756 -   "7de8764ca6a43c99d6a50f",
       
 12757 -   "7e68cfb951ae556b15fa1",
       
 12758 -   "5cac3c06df31850ad70694",
       
 12759 -   "357eab1d6b7f6618503b3c",
       
 12760 -   "4e66ba0bc1058a3931042b",
       
 12761 -   "65f33a2872e25c8a682f06",
       
 12762 -   "a5d62acbaf68c52001a4b",
       
 12763 -   "18f39bb607de6b1ad183e4",
       
 12764 -   "16870479234b3337ddc8c9",
       
 12765 -   "7093b250c7b04c2c6d567c",
       
 12766 -   "3820d1fc1eab75e925dc43",
       
 12767 -   "49ddb3e956e6fd8d65e1ed",
       
 12768 -   "7544304d1b3c2594fef689",
       
 12769 -   "60483a9742002ed4918cd1",
       
 12770 -   "809a8bacccc204134381c",
       
 12771 -   "177aa9fd51aa698c4f5d25",
       
 12772 -   "2848634cb8eba43423c432",
       
 12773 -   "2bd0c39ecff8d002f3a3f7",
       
 12774 -   "2bc7683658e815b0850ae",
       
 12775 -   "56d7ace10d6e046f35bc1e",
       
 12776 -   "1cf7470aa8bed908f93c32",
       
 12777 -   "44885049137a26d9ff4438",
       
 12778 -   "46436019c4b35e76ea4182",
       
 12779 -   "6b4ed91c3f4f0b25252206",
       
 12780 -   "1cb50b0700a11348f864c6",
       
 12781 -   "26c603e605263eb37ee858",
       
 12782 -   "734cae170e5d7d8758c509",
       
 12783 -   "3e00e41664141664f70d8e",
       
 12784 -   "4d36c683652009a273c69c",
       
 12785 -   "61e21b9a255226ab8a9c03",
       
 12786 -   "66db9685c97e1039f97191",
       
 12787 -   "41ebedf12db1451af99b12",
       
 12788 -   "5640578c9a2f674c097c8a",
       
 12789 -   "37526cf6c350fc29ecf559",
       
 12790 -   "6e93c69a7627e1f9832a61",
       
 12791 -   "3aaf5736ed929c1ed0ab93",
       
 12792 -   "42cda11218a2f5a8d7bd1f",
       
 12793 -   "ea04fd9db78a21c39b6a5",
       
 12794 -   "53e3092b891267552e8471",
       
 12795 -   "3e13e95a38da382cdac574",
       
 12796 -   "7d59312cf551555c728152",
       
 12797 -   "57b341376c8eeb5e957326",
       
 12798 -   "2fb62f0a2e9435830411",
       
 12799 -   "6131db76263e902f303f6e",
       
 12800 -   "5e7e83070de3b07a4bc87",
       
 12801 -   "54765bab6ab2b394d9dee1",
       
 12802 -   "3b4ae8aa403abef29b052b",
       
 12803 -   "4e1bc7c2f29a2f520bcf7d",
       
 12804 -   "50bb1918112bad3e57d523",
       
 12805 -   "3979e2b3d54a21e7e8c1cf",
       
 12806 -   "4f3fe475424626758ebe24",
       
 12807 -   "26c45bee1cb7e300fef593",
       
 12808 -   "20866732367b425f7e5ad1",
       
 12809 -   "4779c6f70cb71f00e32d17",
       
 12810 -   "24dc2302a4b77b85525bd",
       
 12811 -   "f339d2f5ca33347ae8d13",
       
 12812 -   "2e178e1cc4f997792ce1aa",
       
 12813 -   "54728697bad28cd0bcc9f",
       
 12814 -   "13413811d8a8e6bc2e6cf8",
       
 12815 -   "1a3337bb0bc288bf44447e",
       
 12816 -   "526d1eb936d1a3dec6eeb3",
       
 12817 -   "7df75741d3ccafb28da8e",
       
 12818 -   "6476d594392ef9fc9a3df1",
       
 12819 -   "645cf2dd2735f1cbf53f1a",
       
 12820 -   "780a2a5411b159d83dcb95",
       
 12821 -   "562d8222a0b94f5af3137c",
       
 12822 -   "e859d26ac6c854731c10d",
       
 12823 -   "3908eb827c8209b96bc643",
       
 12824 -   "61619bfea73d2a10c7a7e9",
       
 12825 -   "cf2bf44fe6c433cc00c9",
       
 12826 -   "17b5a764867bc2f176278",
       
 12827 -   "667b77d58f7f6b14e19bc3",
       
 12828 -   "14c79375686a30f4c21ea1",
       
 12829 -   "57d421e876be8c87768c1a",
       
 12830 -   "a49f38b3c0b7ca1fc5c10",
       
 12831 -   "1998c4f90bb8b5465b7b1e",
       
 12832 -   "974b1ea8fc3d4665ea11a",
       
 12833 -   "4382f99dff4951a775fb77",
       
 12834 -   "66b03ec137e6361ddf6317",
       
 12835 -   "43f99aac41b05d58c624b4",
       
 12836 -   "4efe7cc856d9eef4fda470",
       
 12837 -   "35f48b300d21989b05560",
       
 12838 -   "79ef58660a06bbc22f0cce",
       
 12839 -   "5623f1c8e0d5c15938b2a1",
       
 12840 -   "740e3fa0e998e741eb97cb",
       
 12841 -   "4f6148f444b84dfe82ecb2",
       
 12842 -   "34ce2df12c5e0970f682d1",
       
 12843 -   "5fe5a0fcee7c061cf49e8d",
       
 12844 -   "127dbd62073fb0c17b4217",
       
 12845 -   "31b2ef6b5163160bdce290",
       
 12846 -   "7f9a1f8e557617163d5e82",
       
 12847 -   "3c5262912ab7e82ffd49c",
       
 12848 -   "4ad5e4985caa0c7ee63b9f",
       
 12849 -   "5267f1f68134d546ec646f",
       
 12850 -   "7f695021b246db24a5113a",
       
 12851 -   "11df54a696817409ff1164",
       
 12852 -   "5549ebaa872068aae68ac5",
       
 12853 -   "236e08f8411de38e44c3cd",
       
 12854 -   "1892726d56d4f8f92dde20",
       
 12855 -   "457d09be8a2a4c351b63ae",
       
 12856 -   "53339d5a01f3d2e9bc8755",
       
 12857 -   "ac5bf0492a63aa0bf597",
       
 12858 -   "714ed5cb0027168be15142",
       
 12859 -   "4cfaabac7104cbad2ed728",
       
 12860 -   "486fd3ea0158f33daf767d",
       
 12861 -   "61c0e0ff11a378274b395c",
       
 12862 -   "5e195ccf98c9a4e1967fe1",
       
 12863 -   "3eecfda3b4d92af2b7e5ae",
       
 12864 -   "62af499c078af038905758",
       
 12865 -   "38d987fd4b450ee5a69286",
       
 12866 -   "5f9563c7ca70d6e5061bfa",
       
 12867 -   "ad64cff4b4763a7fda09f",
       
 12868 -   "26554ee3e9bedb1a3a09fd",
       
 12869 -   "42c5d2d1082dd2375a4ef3",
       
 12870 -   "7e05b7c7d54cfa1fc7b525",
       
 12871 -   "118d29d91686683483dea8",
       
 12872 -   "2c56fdcda56f78dcda9b60",
       
 12873 -   "d92cf9efd7d12c62f0dfe",
       
 12874 -   "11b77783f411c457cf909e",
       
 12875 -   "2cd33d1f501e268643d591",
       
 12876 -   "1ebddbaa72ad1a2b1cdc49",
       
 12877 -   "73f4373aa0c46a1ae61409",
       
 12878 -   "64b1dd5abc6713a8f53d0c",
       
 12879 -   "3aef6b8ad8d4f116a27e4a",
       
 12880 -   "13f9a309c929439a91df6c",
       
 12881 -   "401a3ed45557939fa7eea",
       
 12882 -   "1d1aa15ce7c8c15f051ba9",
       
 12883 -   "398764fa3e177502af4d3b",
       
 12884 -   "48edf77c0fc298b0491c2a",
       
 12885 -   "1c5b7d2b84cbc7b29bf542",
       
 12886 -   "78873bb7282961108e63a",
       
 12887 -   "16ad879cfcd3e458301dc9",
       
 12888 -   "28b06d6b1f993702509e4a",
       
 12889 -   "45242101d43b276b34115c",
       
 12890 -   "783d012e8b928ea14eaad8",
       
 12891 -   "5afe15c1524eda9627e183",
       
 12892 -   "42b636bc4126dddf74cb00",
       
 12893 -   "5cd8f782abb8b60cbf36f8",
       
 12894 -   "1c5d10301fcf4a14c82adb",
       
 12895 -   "52d3cdd253b64a03c5885b",
       
 12896 -   "31416a7f09913059dc251d",
       
 12897 -   "46bafe88322c67f3b90507",
       
 12898 -   "4cb6253df884020966d27b",
       
 12899 -   "2948eda7d7c508918c3056",
       
 12900 -   "543222604f067afa3e7558",
       
 12901 -   "3ae99fca89d15abe091160",
       
 12902 -   "140aa7412f6488f5404826",
       
 12903 -   "16b6721ea95f55ef631d25",
       
 12904 -   "133606f2fed41ffd77b999",
       
 12905 -   "4d075c933e4b93da3a33d9",
       
 12906 -   "4ed1311eae64f9e834ee7b",
       
 12907 -   "f920b02af1e3bd673512e",
       
 12908 -   "312518f9c1ce1e690c003d",
       
 12909 -   "44bd0de2094b8b3759356",
       
 12910 -   "3d40b56764f7765513d13",
       
 12911 -   "6b5da25417070642e0ba4c",
       
 12912 -   "6bd995ef31bcfd22d52d9f",
       
 12913 -   "3eedab106a435ef32b9e48",
       
 12914 -   "534c1a3b25194e8cd66e6c",
       
 12915 -   "28a37e042abf70a7cb137d",
       
 12916 -   "76fbf6732402bc76e061d1",
       
 12917 -   "3b66491ccee4801a4e3673",
       
 12918 -   "5ef7fbdbf498c8684625f6",
       
 12919 -   "3305f9d7ac9bc35ded571d",
       
 12920 -   "6aaafc0107575bd9b70723",
       
 12921 -   "5eb217461cfa46d5694397",
       
 12922 -   "7f5140ee63b60e0a33058a",
       
 12923 -   "3fe61d12a0b09791925ccd",
       
 12924 -   "591749051e47ee7b49cf82",
       
 12925 -   "33440d7d3472a4b6e2f627",
       
 12926 -   "4dedb1ba2a6a4abde67337",
       
 12927 -   "30485371efc19b50bbafe6",
       
 12928 -   "3566f7f67e026f0278dfd5",
       
 12929 -   "201e678f30ea96fd17615f",
       
 12930 -   "4a2580e03d81912089d88d",
       
 12931 -   "68e88d3bc4e8d390ae4b13",
       
 12932 -   "46986d0da7a2c17dd1dc22",
       
 12933 -   "174fdf0bcfc8d0f4e77e83",
       
 12934 -   "7a75be28b1e93e4e0c9342",
       
 12935 -   "11081f4b8fb8f0a9abf772",
       
 12936 -   "3245bbf080c6731fee74dc",
       
 12937 -   "57bf13241507b812b9a904",
       
 12938 -   "50c915d40aeb9e4ec78789",
       
 12939 -   "530f4c391aa2b0938eb272",
       
 12940 -   "4e0326164785519414d07e",
       
 12941 -   "389d9fa841750626db108d",
       
 12942 -   "5eec1e56c0a2d0e34dfc8a",
       
 12943 -   "3e8986648fb4053520276a",
       
 12944 -   "2db6e61499c9393946b57f",
       
 12945 -   "1b2e283bc4ff40366c744f",
       
 12946 -   "95d86ded4a7b26a1ad331",
       
 12947 -   "4818fb8f958698b6e9c9d9",
       
 12948 -   "21e39ab39cd96423900120",
       
 12949 -   "27476789fbe89ef5fe00c0",
       
 12950 -   "1b67e56d8c8f6656eac86d",
       
 12951 -   "28e33efab89fb4f64d6498",
       
 12952 -   "18eb41f414dd28e8ff3a1b",
       
 12953 -   "4a648c611ef0b3b0e318e0",
       
 12954 -   "3ab4982748b8f986192588",
       
 12955 -   "1eacd91eb3938b38f0210f",
       
 12956 -   "5227913634dbd4b19ffe95",
       
 12957 -   "1d5b0385650d2d81754f72",
       
 12958 -   "7351e32ddd53c7465f65e8",
       
 12959 -   "202d04fcffa7e3a0ae0585",
       
 12960 -   "6b77b6d06b93487730de2b",
       
 12961 -   "2f635c018151dfffc38ed7",
       
 12962 -   "7d83ba89b9f89b55497937",
       
 12963 -   "d1c5eeefb8bb620c573fa",
       
 12964 -   "322d1e939066766f918e43",
       
 12965 -   "3ea29dc49c06d64c187862",
       
 12966 -   "7f64ec3ee1d6fd7b5f9352",
       
 12967 -   "749ebfb4005c94ed288c4",
       
 12968 -   "6f3d0d822d1a27088df8e4",
       
 12969 -   "17b1690a9c9f4fba9154e2",
       
 12970 -   "142aa17e315b2096d3470c",
       
 12971 -   "5778dc2f1465daeafbf88f",
       
 12972 -   "3135a042ca5b8873367081",
       
 12973 -   "26f3f960b2ba725c83b706",
       
 12974 -   "156e3560db5a642c108333",
       
 12975 -   "3adf2b6aaf40f5dcdffdf2",
       
 12976 -   "4ecbf2559411992397d1ba",
       
 12977 -   "5e3402a24a307a945167f7",
       
 12978 -   "553a48facee35f17214327",
       
 12979 -   "57c6f0c9d94e02524b4029",
       
 12980 -   "44867f919f39bbc1ac8a53",
       
 12981 -   "7b1e254e6050240b36eede",
       
 12982 -   "7fb445fb34908201d41b44",
       
 12983 -   "5a49a0430b2145ead2e9a5",
       
 12984 -   "22d9fd1638450186756413",
       
 12985 -   "60a177acbb4aeba955e6a6",
       
 12986 -   "23a7a59b35972768b71627",
       
 12987 -   "ea9789ae096da5bedc410",
       
 12988 -   "38419b7c213432cd42f4bd",
       
 12989 -   "4024c6847ce50a93fefd10",
       
 12990 -   "1f15e66f6c5b160801ec4b",
       
 12991 -   "26fb73843bff3e4d17aa10",
       
 12992 -   "212d386743b2c2069ec4b7",
       
 12993 -   "59377c70bed9cccb346cff",
       
 12994 -   "5a80f23e82161bfd2caa8a",
       
 12995 -   "21532161ecdbdaac15b68a",
       
 12996 -   "5cd8f904c6a0e1c85597c4",
       
 12997 -   "2ad8c773fcdf92009db9b6",
       
 12998 -   "1df80784a603cde2e8573c",
       
 12999 -   "41127c781a5dd07b6ea357",
       
 13000 -   "6152b40d63a55e1ef6e750",
       
 13001 -   "3161bea37fcc040c6f6494",
       
 13002 -   "112bfdedc3401ff20ffcf6",
       
 13003 -   "6a3afde1cc784aefb925c8",
       
 13004 -   "47a38df2df7f516ac35f8d",
       
 13005 -   "6dafdbef06e817ec42991d",
       
 13006 -   "72059eace3671c76d67005",
       
 13007 -   "a209dce8856336ebd97f2",
       
 13008 -   "695d060b1aceccfdfa96c2",
       
 13009 -   "17445a9a60b0dfca9df354",
       
 13010 -   "249f5358017ada6567b747",
       
 13011 -   "b7347a4820635a5852b61",
       
 13012 -   "2bb74459adcd7029c9c35f",
       
 13013 -   "3684bf3ee3a2b8635ca0e1",
       
 13014 -   "600de685f1a4c2f4a236d9",
       
 13015 -   "68ae7d3832d31bce57eaf3",
       
 13016 -   "7a75b868e9fb50140bd203",
       
 13017 -   "1105d3c71c59dedcb33f",
       
 13018 -   "6234ffe0f938a25ce0f5a8",
       
 13019 -   "41858e467a21a3938d60aa",
       
 13020 -   "7332b41a9fe9dfbe59f71f",
       
 13021 -   "313ef612f2fd65f39c2e3e",
       
 13022 -   "49ce8855b52dfbb878b2d3",
       
 13023 -   "46b1961304e45b428bd48",
       
 13024 -   "1740e5e9a57a4e80eed5c8",
       
 13025 -   "7f035a794c44a6a57abf00",
       
 13026 -   "6eb090e9b1df79f4d2226",
       
 13027 -   "7f26a6c99362d1126b6773",
       
 13028 -   "14e47840962745e9f2bba8",
       
 13029 -   "28670ba592cd5a2625df3d",
       
 13030 -   "5c00c9ce80be32396ca075",
       
 13031 -   "4cc8bba01b6788222eb375",
       
 13032 -   "581f2a492a4fe468c3971b",
       
 13033 -   "6aacfa3617f47dce14015a",
       
 13034 -   "3988842f76572373c3459b",
       
 13035 -   "3146d29fae3f74014572cf",
       
 13036 -   "27216bcb23514df00030b1",
       
 13037 -   "36baace22f2d7a2014dd1e",
       
 13038 -   "20b11d38582bb81886466a",
       
 13039 -   "5aa25b718982092494e872",
       
 13040 -   "3f0eb0b9bdbbe37f40dc5f",
       
 13041 -   "5c4dc3dd9138eb7169302d",
       
 13042 -   "503bee64726b7b32815f44",
       
 13043 -   "7175ce67c0c74c440327c2",
       
 13044 -   "3fc3680285719ed4f7e7fe",
       
 13045 -   "7fc9fec9506aa1a0661240",
       
 13046 -   "122e1cf4ba920fb923d0e1",
       
 13047 -   "5570385cc742f16a21edc9",
       
 13048 -   "2a8b319bb90a064d3cc523",
       
 13049 -   "797bc83e9789b064b51c92",
       
 13050 -   "124aa58a7e2a882689ba12",
       
 13051 -   "5ee825c795f457b727b9e8",
       
 13052 -   "475c02da59260b083fa105",
       
 13053 -   "5f427b13d8351db71dc75e",
       
 13054 -   "7dca64fefd065e0893d874",
       
 13055 -   "88658ceb2447416239af",
       
 13056 -   "75ea3318a1054593eca8e6",
       
 13057 -   "21b1555bb331b89f928e6d",
       
 13058 -   "7e558ced95c8a49312174c",
       
 13059 -   "71f02d980dd943488cbefc",
       
 13060 -   "23e36a6e12831353ac1afd",
       
 13061 -   "1073f10b92dd8a202017b2",
       
 13062 -   "a0ac3885d2cb22aeb977f",
       
 13063 -   "2ac1793993d045ec4ea0ab",
       
 13064 -   "4e33cc0d26d44c2394c8d2",
       
 13065 -   "5430c091f416778afc3f3e",
       
 13066 -   "55f3bd5a345801aa67f91c",
       
 13067 -   "18bd8096de042467441c8c",
       
 13068 -   "1dfe68dd4d69d0d5368782",
       
 13069 -   "a69b0e544c08336c9606b",
       
 13070 -   "405224a222d42397ca18d2",
       
 13071 -   "5ca40898d5d325e557e04e",
       
 13072 -   "73e9dbd2873c27040a215d",
       
 13073 -   "56efa25eac0d5f675af6b6",
       
 13074 -   "460f5f98b19a4d353358fb",
       
 13075 -   "28593d93a1a2159e16cc13",
       
 13076 -   "1eae59f579b122f18b84d1",
       
 13077 -   "7f29a05b16052f06eff50a",
       
 13078 -   "2ac52045b3b592dfbeeaaa",
       
 13079 -   "6003c83a8ae5ae42a0956a",
       
 13080 -   "3af2323baa99fc6ef534e0",
       
 13081 -   "b3a488e23273b8e74aa2e",
       
 13082 -   "dde95ff1403621e1e9c39",
       
 13083 -   "8b93e9e7ea54df6ea61e0",
       
 13084 -   "382238b03129ae3a8cb2e2",
       
 13085 -   "7be85a588e4f01b973f9a4",
       
 13086 -   "3428c448a20f463714e16e",
       
 13087 -   "46c829e7e1980bc26c13f9",
       
 13088 -   "20573b178651610a410e89",
       
 13089 -   "16c1a9b3bcba979d2fb250",
       
 13090 -   "46bc67034da17d5b7c72cf",
       
 13091 -   "abe7e5169767e92b8517c",
       
 13092 -   "10a7cb0c646bfbfaf6b1db",
       
 13093 -   "3e27d166777ab6af4a4b75",
       
 13094 -   "560bc3397e1eecda48e8d6",
       
 13095 -   "153d46a7ad0d4c7b81a83d",
       
 13096 -   "7b625b197eb76a08b19ecf",
       
 13097 -   "58ab9a24dbad2ee2c0942",
       
 13098 -   "6b463071583d5d51119c18",
       
 13099 -   "58d985a1111ffbdece42a",
       
 13100 -   "772853e9593804a23d0c9f",
       
 13101 -   "3566ae3cffa53b48308a5c",
       
 13102 -   "3253a13971cf24cc306f4e",
       
 13103 -   "161741a6fabf2be3cb74a",
       
 13104 -   "72492bafc7adaedde393c7",
       
 13105 -   "4d17bed73f2032142b03a3",
       
 13106 -   "43ad0b393a7c2a4d667efc",
       
 13107 -   "5bdacc4f0e9a9f3c5eb7f",
       
 13108 -   "3fc330d82c00c3c98129ad",
       
 13109 -   "2287f22a43e09d12b5fed1",
       
 13110 -   "113203b24e05e4ff03bfc7",
       
 13111 -   "386903ad1ff043a2a203ff",
       
 13112 -   "6efc437814b1b1a8db77d5",
       
 13113 -   "60d1cb028fdf2f7506480f",
       
 13114 -   "5c08c8490ead830327cfc3",
       
 13115 -   "56d1b28a25e58905b948d1",
       
 13116 -   "6473a7fe7461369e02b551",
       
 13117 -   "43240f690e895ee2ce6199",
       
 13118 -   "217e1d11ab05e37175e942",
       
 13119 -   "115af287df30e3b9382159",
       
 13120 -   "3d01c0ebec513aebdf049d",
       
 13121 -   "3b607643718a1436cbf93f",
       
 13122 -   "392447173660d27311fc56",
       
 13123 -   "7fcabd5ff8d8321877d09d",
       
 13124 -   "773e49f5dd28ab9abcc4f3",
       
 13125 -   "333e4709f384c49fba280e",
       
 13126 -   "1a5a69890d5f080ad27aee",
       
 13127 -   "142700479fca005e365a5",
       
 13128 -   "16c859dc1504abc8bebb3e",
       
 13129 -   "8e1dc29eaa3429a93416f",
       
 13130 -   "3d2c4d19f97ec14b7f9a20",
       
 13131 -   "b80a7edd7c5745e63c50d",
       
 13132 -   "7eacc570a117e3d2c4ad3b",
       
 13133 -   "5a4b0bdbb9a3eba57ecafc",
       
 13134 -   "2bbb60823308802716b002",
       
 13135 -   "60de98af5b2e9794ccddda",
       
 13136 -   "43f106dd9b706c7cbad455",
       
 13137 -   "247aa73439f114a2bae1f5",
       
 13138 -   "404518992cad409d30e138",
       
 13139 -   "483592c4cf34d97823b087",
       
 13140 -   "303e55cf5d940fa1eb0863",
       
 13141 -   "27cf1a1e36d6b6fbf673f1",
       
 13142 -   "753e3ffd723c55ffaa57eb",
       
 13143 -   "527df835ccce3d0d8dc6be",
       
 13144 -   "501c73bb8897e8a9b644da",
       
 13145 -   "2c748923f66e9b836e2956",
       
 13146 -   "252a9565fc2ed88c83afe5",
       
 13147 -   "53ee027a60ac6b8703b4c4",
       
 13148 -   "11e3b65e520ccb94e0f28b",
       
 13149 -   "1d82fef6b5daac184a21bb",
       
 13150 -   "34f1c6d5946b4f8e9c34f2",
       
 13151 -   "78c36b7a1a1ac86080796c",
       
 13152 -   "3c2561b4603673cde220ff",
       
 13153 -   "347e522bb35549d788adad",
       
 13154 -   "c5eb765e74f7ea6040509",
       
 13155 -   "6b91d4c08bfb155d85a09d",
       
 13156 -   "1d345a329131e03407a9ae",
       
 13157 -   "7656e2bcd13769bc7d3690",
       
 13158 -   "18af2f7c66ebae2215b225",
       
 13159 -   "5c0b858603efe861d8e554",
       
 13160 -   "3a948a48ee72242647aeee",
       
 13161 -   "5eb549dbd9b640a1018c4c",
       
 13162 -   "39395b9f947ccce230cc1d",
       
 13163 -   "2983f80020a9f6532ba834",
       
 13164 -   "599c6bd84b32b97e000cad",
       
 13165 -   "494a8aca14d077b143ca10",
       
 13166 -   "5514a9f97c736ef89e2558",
       
 13167 -   "22a2f494120b7469421488",
       
 13168 -   "6bbfc916f60c65ff6069ae",
       
 13169 -   "988dfd270fa06d78d9fba",
       
 13170 -   "65e3000fa520e5bd8bfdc3",
       
 13171 -   "d79412155f3d978866277",
       
 13172 -   "540f6a5d04324cc6ed1398",
       
 13173 -   "5193e0be567990b2818200",
       
 13174 -   "5527257327c4eade309a67",
       
 13175 -   "6a6ceb53a9e08bce60e22f",
       
 13176 -   "3bc0b4b12c4e0d37097319",
       
 13177 -   "6446d75a31a4956c235943",
       
 13178 -   "70089a05ca7765b8ef62a5",
       
 13179 -   "78050a04d755b7008433fa",
       
 13180 -   "4cf40ea87be0baab3f0a23",
       
 13181 -   "421f5a540df5b7ba309bc8",
       
 13182 -   "22aca8e5833c97719ebb51",
       
 13183 -   "595eaf076defb81f21236",
       
 13184 -   "324340f1f7ccc9eff05524",
       
 13185 -   "490df281db25788739ca0c",
       
 13186 -   "7cdb727ae2bfeeed50af45",
       
 13187 -   "8fdbca74c18894d421e52",
       
 13188 -   "266efd2e0daff29e309d38",
       
 13189 -   "2d3baa252f4d982bd2ad11",
       
 13190 -   "26246e8fdf408dac8fd2a5",
       
 13191 -   "4dae59d140c542483e12a9",
       
 13192 -   "7e37627adf10efb14adf13",
       
 13193 -   "7059a8ae14b27b87ae7942",
       
 13194 -   "5d0b6fe03f574db311d01d",
       
 13195 -   "4450b05b160d8c53288cd5",
       
 13196 -   "5628eeca86bc4f505da4a8",
       
 13197 -   "59d6c2db6f995cfebbccc9",
       
 13198 -   "32c247d46291051243da8b",
       
 13199 -   "29ecceda91e2de99bded7a",
       
 13200 -   "697bd2294052d067eed5b",
       
 13201 -   "35d846be55b3952e278ab9",
       
 13202 -   "3846b043ea9479616ae948",
       
 13203 -   "460dae8d89d7708b43a1c7",
       
 13204 -   "6ecd91e762474ea500bb02",
       
 13205 -   "78386c3f2bea1d92b0136f",
       
 13206 -   "5d36dd2a4f038c91a8e525",
       
 13207 -   "2567685d25fd668a9a024e",
       
 13208 -   "484fed0412b66b4ad6689b",
       
 13209 -   "11e987960e92f0cfe9e7d",
       
 13210 -   "48457eaf5bfbcca641689",
       
 13211 -   "5e89ffa159d58051edf13c",
       
 13212 -   "ad8ecaa59795b2101aeb",
       
 13213 -   "4cd6b5c75a375bce549db5",
       
 13214 -   "17a8f2f3a036b54c467b7b",
       
 13215 -   "456d747923e7fcbd260fae",
       
 13216 -   "38b2a18fa105ae1a1e82c8",
       
 13217 -   "36b718d293f968b4388def",
       
 13218 -   "6d15e33dfd91b0adf65ea8",
       
 13219 -   "6a47915604a062b94c626c",
       
 13220 -   "63f2b709d7c6ba1ce60255",
       
 13221 -   "73da067d52334a718631ff",
       
 13222 -   "68c11de19f57751aa11e9b",
       
 13223 -   "1b50ac3c3f5269c1d7aa40",
       
 13224 -   "51f56cb5201bdd22f49e70",
       
 13225 -   "245ff16a71eb8c45257fd0",
       
 13226 -   "7dcfee63c4d594e4583601",
       
 13227 -   "604b2e853911ce83225aba",
       
 13228 -   "5bb6095d45a0253a5e3e2d",
       
 13229 -   "14b7709b903167ca33c0bd",
       
 13230 -   "6e6871265fe9883143d121",
       
 13231 -   "453649c203cf983e439d84",
       
 13232 -   "5819cdbf42afd2334f96",
       
 13233 -   "3450478bbaf1db9aae9e0e",
       
 13234 -   "35a56ed2078e145e9b5d42",
       
 13235 -   "15e468fec0387d9dcde2e9",
       
 13236 -   "1f098e306099d97f37bcee",
       
 13237 -   "108be849403d8b9e0adadd",
       
 13238 -   "432bf33542ea8f8c0e1cab",
       
 13239 -   "1fe772e91ad75a2d2792c4",
       
 13240 -   "2aaf602c5ad427702561f0",
       
 13241 -   "66c37766a09f2454161188",
       
 13242 -   "7c91adf751ba7b800072a4",
       
 13243 -   "587965194057ffad1ed72d",
       
 13244 -   "6b189bed3e1ee805a7089f",
       
 13245 -   "656e0aaff42e8f100df7e1",
       
 13246 -   "50d8060a4c81ac0d9dcc9a",
       
 13247 -   "3b142ae3f666b5a458fd6",
       
 13248 -   "11216382d02fa8a680f2c",
       
 13249 -   "640821dda0f544b159e25f",
       
 13250 -   "60ad8426c5228781a660d2",
       
 13251 -   "50b259ce6ef7786ad19380",
       
 13252 -   "617907260cf1e3612508c0",
       
 13253 -   "2020839307f0a0b2a66465",
       
 13254 -   "6c9aa8a230f91d4e6f84c2",
       
 13255 -   "479f0a9b95b8f0e630df10",
       
 13256 -   "74e8524ea4276a1585abc9",
       
 13257 -   "1832f7608c30377f8a27c1",
       
 13258 -   "468227ba06af62fa70d6b",
       
 13259 -   "46ae03b83630be869f3f67",
       
 13260 -   "1c429a8aad032b85e815c6",
       
 13261 -   "784a6ea72c75433fa2c1c0",
       
 13262 -   "521255c27009b10aeef14",
       
 13263 -   "6de250d6d96fba0a4a2df6",
       
 13264 -   "1a38abc6055dcfc6f54cd3",
       
 13265 -   "459fc4d70a1a8040309b48",
       
 13266 -   "5206d5cc4cf74b102b511e",
       
 13267 -   "1621052353e1bb38663f44",
       
 13268 -   "6869e474162fccd5e6ce8a",
       
 13269 -   "265a6fe3ade48b79bb704f",
       
 13270 -   "1683c065332572cac40e7f",
       
 13271 -   "40fe888eb50954f82f8f41",
       
 13272 -   "5ccb3321bf79805e3743ec",
       
 13273 -   "6904f88af6eea4b3f91bbf",
       
 13274 -   "a70e6c0e6da7b5bd943d0",
       
 13275 -   "7b7c35dbf0dd6b94d050c5",
       
 13276 -   "4ee9fe013ba8fc6ac8d470",
       
 13277 -   "1825a2f6c03df8e89a424f",
       
 13278 -   "6495ff035413be2b53c45f",
       
 13279 -   "745f8230228fe0e913a537",
       
 13280 -   "57ca180b4c6f8c3a63ae46",
       
 13281 -   "5963fe850d852bb19cdfe3",
       
 13282 -   "430a7ef273c75f6860a9e2",
       
 13283 -   "28c8b8ba9341ac37c38695",
       
 13284 -   "88d1f466f33239ebbee3e",
       
 13285 -   "7bfb517a9a7064f7f0b9cf",
       
 13286 -   "222ad5a5eecaf564928d05",
       
 13287 -   "31f4e6b45c1cedb6d4c94",
       
 13288 -   "9d0d5139d46e4d9db3662",
       
 13289 -   "46ea372cc256b25d8bedb8",
       
 13290 -   "1177a186084a0188e6b25c",
       
 13291 -   "79973f898e87ee6433e53e",
       
 13292 -   "17f90d7760ace90b4281fa",
       
 13293 -   "4d06acabc42f8f6c6561a2",
       
 13294 -   "297ac6d1d91b19c8ceb3ad",
       
 13295 -   "76930d75187c32e1c0855c",
       
 13296 -   "ef9f73cc5ae815a32ca63",
       
 13297 -   "3ca5432d73f30360d5e251",
       
 13298 -   "2eb29dd03203d9dedca2ed",
       
 13299 -   "3f719d970328ab86444133",
       
 13300 -   "671a35180c429ed6cd73d6",
       
 13301 -   "1a5a3601f9e5c757413d21",
       
 13302 -   "1207f0afa9b17ee1e3a14c",
       
 13303 -   "64c773513b07ac7be226c5",
       
 13304 -   "645491f7754448588100c4",
       
 13305 -   "6803ba4d96f3cea5b5b619",
       
 13306 -   "3e8f3fee79b0aa7d3158c9",
       
 13307 -   "7c4c5a07ab45db64032f8c",
       
 13308 -   "471e19dff79f0bf8dd75e4",
       
 13309 -   "736e4111350ab36a2be4ca",
       
 13310 -   "70eda2a92c3f3d551052fc",
       
 13311 -   "4be7ae42a1b71df0fdbed2",
       
 13312 -   "38e1136120c0a50e7c1942",
       
 13313 -   "34de10a25d48bbec6bc310",
       
 13314 -   "45fae251151688f6948ec3",
       
 13315 -   "a5803d95905530efe4cbc",
       
 13316 -   "29c81a2bbc75ee65e40fbe",
       
 13317 -   "5d0e736ad9b0e048c53cb9",
       
 13318 -   "62a6ac9d0c5e4b3890d61a",
       
 13319 -   "16587b1213183c74388d6a",
       
 13320 -   "30455197024dac28f22ad9",
       
 13321 -   "5c96c4bf9c30f05dfa52bf",
       
 13322 -   "2e14fbc2ca9b056ee6a0e6",
       
 13323 -   "544e247e73028cc23b1f51",
       
 13324 -   "7569e0846a7c92c5b07e91",
       
 13325 -   "2e37e64613e6e49f75ff6b",
       
 13326 -   "75393667821938c0e5a628",
       
 13327 -   "2db4889991fd96d5a3dbfa",
       
 13328 -   "6b628f924b031ff396258b",
       
 13329 -   "5c721c1e9f943f1e44c526",
       
 13330 -   "4845e19f6384ed5724d8ce",
       
 13331 -   "451cf4e4a6ce149cfc4095",
       
 13332 -   "69cf5ded5037b0fc848b28",
       
 13333 -   "2144bb26c3488be851e3b2",
       
 13334 -   "2582d22d55dfd72b2d70bf",
       
 13335 -   "67fe64c68be6372b30260",
       
 13336 -   "b5ea9188a76cbd4490c2c",
       
 13337 -   "2f9195fa1721a36e6f5198",
       
 13338 -   "371b6d93bf32954a1ed005",
       
 13339 -   "2d248bd8de364598100d1",
       
 13340 -   "3476974a3a56c244bcd4ac",
       
 13341 -   "7d10d41f081cc53194454d",
       
 13342 -   "9ae11d1f0b2cb73496a44",
       
 13343 -   "3c11b4ca34c3237b362a26",
       
 13344 -   "3b62b01334bf25d1f5d560",
       
 13345 -   "4a9dee0a96c91e7cd6d7ca",
       
 13346 -   "2d8ba9bb83d8b7dc77cc32",
       
 13347 -   "394242cd2ce4d5c927b1f7",
       
 13348 -   "13ef893fe161bb05038778",
       
 13349 -   "210aaed4cc7b55edc4255b",
       
 13350 -   "72bad07fa5d3ca19811efa",
       
 13351 -   "1856ece5542adaa42b18cf",
       
 13352 -   "2f775dce855cb22a4ce4b4",
       
 13353 -   "1b3d8a50e5425c7a4550f6",
       
 13354 -   "3fd38eb64df431878b817e",
       
 13355 -   "1f372d16a7c783f301d859",
       
 13356 -   "2e99bf2a9cfd14eb01e4dc",
       
 13357 -   "739d86f4db437bd59681d0",
       
 13358 -   "91782b2d8bf1ec8b6e4db",
       
 13359 -   "13089f86ddae7614e1f733",
       
 13360 -   "4374fb07e1eb1efc714a7f",
       
 13361 -   "34026c0467a5bb1302960d",
       
 13362 -   "1316737cef6e8d73f98c46",
       
 13363 -   "308b1811fe8c7d6801df6e",
       
 13364 -   "3b6333c6dc16d5f4351c47",
       
 13365 -   "30151eaad7aef0e79d5e07",
       
 13366 -   "6d5ce69503f658697314d0",
       
 13367 -   "13022f601d429947abd201",
       
 13368 -   "278331e342f211746f0d9f",
       
 13369 -   "44fd7c4168c2a61413dbd2",
       
 13370 -   "77747c8e4550378570ec0d",
       
 13371 -   "31934713e4ff1d0d7cc583",
       
 13372 -   "5ca455ab52339850752f94",
       
 13373 -   "cc47e7e925da6c91fe510",
       
 13374 -   "18932d3a50056ecbd4c0",
       
 13375 -   "594820c775fd57d86cf9af",
       
 13376 -   "4ad8d4214e4fe01b143d8",
       
 13377 -   "179c67b2886cbf8a80171f",
       
 13378 -   "60e1157dceceaecc3a16c9",
       
 13379 -   "507a197204651599300f85",
       
 13380 -   "1da6208947854d10119a62",
       
 13381 -   "2fd395d2076e94e7f79f79",
       
 13382 -   "3326fb026bfe153a5a80e5",
       
 13383 -   "214b26c5cc4d2d1d455254",
       
 13384 -   "2a5beeac5cc34b9b70fc5c",
       
 13385 -   "73037907fb5b7e20bf7973",
       
 13386 -   "622155e1a7c16eb9e6f098",
       
 13387 -   "47eef469d5e96dff3b60f7",
       
 13388 -   "31b42ccc858ccceae34d5",
       
 13389 -   "68c711e371efbf9b278db8",
       
 13390 -   "71e107fc4c98b40c6f7b53",
       
 13391 -   "2a2840d0a8db4a22fdfb53",
       
 13392 -   "557e56b5a5dcf30ae5f48",
       
 13393 -   "5451512089afcff74e1bd9",
       
 13394 -   "6a44a264bb1144d86619f3",
       
 13395 -   "72316f1be6172c06994a4d",
       
 13396 -   "d5835b5723a9063a2dd80",
       
 13397 -   "232ce65586f95692d89383",
       
 13398 -   "2a8c9eedadb6f6d58c06cf",
       
 13399 -   "f5eef843bd404a6869b17",
       
 13400 -   "720851fb976798365a6829",
       
 13401 -   "6e8b7f0e9607e44c1f9f65",
       
 13402 -   "3860366ed3637eead94b8d",
       
 13403 -   "30d33e090854573dfd98f5",
       
 13404 -   "682291bfd680e2cd8f9d70",
       
 13405 -   "7c1fdd60de643e750fa1d",
       
 13406 -   "774b9d1f08bb74ab682979",
       
 13407 -   "7b5f04e933b2e4204cdc65",
       
 13408 -   "2c36a4d87847724f9fdecf",
       
 13409 -   "2c941d4c1c7d68ef593ae6",
       
 13410 -   "4576a87293566d06f5b643",
       
 13411 -   "86148c3559c855d7a4785",
       
 13412 -   "2d0a5221661bafe1bae3a0",
       
 13413 -   "4eabe0db8ac5d733acae29",
       
 13414 -   "1dff7b3a25d6efec89d4f1",
       
 13415 -   "93ecdd9b52d588b62ae9d",
       
 13416 -   "4a5c54b88c3afab5d73bb4",
       
 13417 -   "50873f081856faa7b0c6c0",
       
 13418 -   "7a4c62248fb05a7ec5f894",
       
 13419 -   "6297ed8d827bde2f27c592",
       
 13420 -   "4f88d842683a24f7a78b4e",
       
 13421 -   "6543f2ea86c39aa319b565",
       
 13422 -   "1711e7c4ddf7dd725f454a",
       
 13423 -   "6e925cc1e63747fc8301d9",
       
 13424 -   "428c02c3c8bb1613aad2fd",
       
 13425 -   "1b12fc1c7d3ee5cd24b30d",
       
 13426 -   "38618fda51c023d44b41df",
       
 13427 -   "75ecb6eacac31eec1c8d24",
       
 13428 -   "363495385d4023abd7fffb",
       
 13429 -   "52a170878e73d2b9a73398",
       
 13430 -   "40afd831d872bbb5ba2dbe",
       
 13431 -   "6a2bde70b440f36a3a69b8",
       
 13432 -   "6cdde5dc50cfba13ab15cc",
       
 13433 -   "6102d4b92b578db1756028",
       
 13434 -   "1d72e71f6a57243468bc42",
       
 13435 -   "4f100cd2b63ef0cdac7165",
       
 13436 -   "56441a020eb196f9ab47f5",
       
 13437 -   "520d75e4874b90e95d0ac6",
       
 13438 -   "4ad5b5ec9142810d730c91",
       
 13439 -   "6369f366be6b5ec99ddddf",
       
 13440 -   "4ae3a5f46681ba13e649ed",
       
 13441 -   "33e094a7802d99ab1d9620",
       
 13442 -   "58ca4d190a0f756173e746",
       
 13443 -   "4afa034c14d96f077cc41e",
       
 13444 -   "3277a60ca85c986d50dee2",
       
 13445 -   "61df6c089b8a0a75da0288",
       
 13446 -   "3a9ec75af3c8e86b8c1b73",
       
 13447 -   "7ca8eb46f6df31902607b1",
       
 13448 -   "7a283d5e2ed98485e2d260",
       
 13449 -   "78ab001943d18ada1f6d03",
       
 13450 -   "56f539741375576aac816a",
       
 13451 -   "75fa74ccac539d6f2e079d",
       
 13452 -   "7108a03a28803eb91e8a0a",
       
 13453 -   "3756665d23e5dc56d35905",
       
 13454 -   "da96dc29f77c98efd9a65",
       
 13455 -   "54ec1fbecc620b2a62de33",
       
 13456 -   "2e564f6ba5f6f74e33f2dd",
       
 13457 -   "86aa65ac1949dd8af6918",
       
 13458 -   "605ccf0922a0c35f768933",
       
 13459 -   "4348b708829c7eddd56237",
       
 13460 -   "19d3eafc75447dbc2ce4d",
       
 13461 -   "764156f5d90616c8c45669",
       
 13462 -   "51e2ff830fcf99b4147ec",
       
 13463 -   "2d30342ea20393b89b038b",
       
 13464 -   "6745627963b760ee39ad1a",
       
 13465 -   "76c344db7c98c1b1fa25d1",
       
 13466 -   "5b872486f12a68a939069d",
       
 13467 -   "274cbe37d4fe65732936f",
       
 13468 -   "27b48290f4bc222f54681d",
       
 13469 -   "1f7e1880120c76703199fa",
       
 13470 -   "2bf0a5cc2a5150523d2e64",
       
 13471 -   "2d3b2e3d52eac5c09743f7",
       
 13472 -   "46b7638024bbab6f336734",
       
 13473 -   "71f7ff7f6245492bf4ba4d",
       
 13474 -   "6ac96f98fa78ffb692afd9",
       
 13475 -   "1c63d031374620336f8c7a",
       
 13476 -   "5eb0e751f365585e4f3fd3",
       
 13477 -   "24716274d6f1761a2e503e",
       
 13478 -   "3b663e3e9013cab9326fc5",
       
 13479 -   "231a1fa6a52f8377b2ca86",
       
 13480 -   "464063c0e0f5e5eae1bad1",
       
 13481 -   "4f588ef825e26e596e160c",
       
 13482 -   "4adc76f7cd88044421953e",
       
 13483 -   "228eebf60c055615805405",
       
 13484 -   "3d32a6b665f10a829cfff8",
       
 13485 -   "ce584760ca84047b25a4f",
       
 13486 -   "982362cb3f64fc2535f18",
       
 13487 -   "2cbb69d06f0ba3051ce433",
       
 13488 -   "2fb2d651d1a5fde2dc4d89",
       
 13489 -   "116822d6715118a8643140",
       
 13490 -   "52e4d0f780530e040b8198",
       
 13491 -   "4d84d472f48a1f27cda4fd",
       
 13492 -   "23675569b6f74cecec658",
       
 13493 -   "7273cb20026d3e5dfa9567",
       
 13494 -   "5e5c9c54f1f75bcc98d1bd",
       
 13495 -   "37150fd6c06a98e84f0fb9",
       
 13496 -   "1cae4d5a0b88eed0b2d97e",
       
 13497 -   "5e6c438c53b4bfbeab6a4c",
       
 13498 -   "7ec0ec060d3788349445a5",
       
 13499 -   "394ca6d6650a3a703c8f0",
       
 13500 -   "76a4bcdffe1207b9c84c3",
       
 13501 -   "413062fa329dcbe3b8887d",
       
 13502 -   "137786296b1e5f466871bf",
       
 13503 -   "1bff1788b61c434292f278",
       
 13504 -   "67ae16da8f876a2c8dc80f",
       
 13505 -   "4f0b0a9e8338cbca398b3f",
       
 13506 -   "7fe713df2e65b878c1edc6",
       
 13507 -   "46dbd89f4ae0d06c0ab8e0",
       
 13508 -   "3ad2c2000ee1db409ffcab",
       
 13509 -   "235057c5ef06d64b0093a1",
       
 13510 -   "2b1199cb9ff7848ec581",
       
 13511 -   "16a7968fcf87b51aa207b",
       
 13512 -   "7593ab2f13aa524b76e104",
       
 13513 -   "569b68c3d77231282d1705",
       
 13514 -   "54f01285acb2da9689a386",
       
 13515 -   "7c50148337071a44808f27",
       
 13516 -   "157e5726ec48e98ea5652c",
       
 13517 -   "a0b14921f2ca115669309",
       
 13518 -   "540974d1b3361c5ccd3a2",
       
 13519 -   "30927374f464c892c53b50",
       
 13520 -   "5c0de6f6c164f44c52de84",
       
 13521 -   "25f3d9fd234440b97c9821",
       
 13522 -   "659ccea55ad34dab51a321",
       
 13523 -   "308d7af9cf09073e61779f",
       
 13524 -   "48dd5aa0d80d3fd4d31225",
       
 13525 -   "18d28f7c13bdb1a27fc315",
       
 13526 -   "37c639bab06813135e6962",
       
 13527 -   "716be1338eb9fa3160de8a",
       
 13528 -   "306cc735643548c81d480",
       
 13529 -   "15dc7895737fd27e2fc2d8",
       
 13530 -   "ff910ecf2ce1ed443b3a7",
       
 13531 -   "26e45399ef9d09b479c0d5",
       
 13532 -   "5a3548ae1dc271964cafb9",
       
 13533 -   "1e0b5aa4ebf1898b7232a8",
       
 13534 -   "65b1a43ebc40ff17757bfe",
       
 13535 -   "35ab264ca762acbf67e1de",
       
 13536 -   "67fe63e894b36bad057249",
       
 13537 -   "901282766f87bc24e50af",
       
 13538 -   "3f8ccc4c495c412c1876e1",
       
 13539 -   "2c958c952c5c886c2a60ad",
       
 13540 -   "21a95826890e5cccb8a83e",
       
 13541 -   "190017f50befaddece16d2",
       
 13542 -   "64f3d838badcddd9bfdd0e",
       
 13543 -   "7a7cdf214176b6d3191883",
       
 13544 -   "30436781bd712f316b4895",
       
 13545 -   "f5d2bac49777fc8f10242",
       
 13546 -   "66de0cd9d504d0c8a10caa",
       
 13547 -   "11ff8e8d5e956398c99ca4",
       
 13548 -   "2d83b4eaa1c8f768e56c30",
       
 13549 -   "58689766e836a562c78c53",
       
 13550 -   "1644cc3e7fe80220ef2f70",
       
 13551 -   "69a00aca76ae6e660be7bb",
       
 13552 -   "68e1a6376fdb4eb7b4b0e6",
       
 13553 -   "5c37d517c640ac7f62a532",
       
 13554 -   "3aa36ece405e3ccd9341ca",
       
 13555 -   "345343979af3beadfaced5",
       
 13556 -   "63ca1ec0700483b8f859e5",
       
 13557 -   "14b8d711e9732dc1d81b85",
       
 13558 -   "5d1cdedac3c1f047923b22",
       
 13559 -   "1f88577ebb6a87d8478dfc",
       
 13560 -   "3cf63e3a65a7e509ca6dd4",
       
 13561 -   "64e35a2939773b306ebb74",
       
 13562 -   "4e5afb2e233daef8a9bbcb",
       
 13563 -   "5dce9f322e405cdd3dc195",
       
 13564 -   "49fee8b58237dc40ba3c5b",
       
 13565 -   "125c7d70d2b6d99ae885da",
       
 13566 -   "7f821b6d896942293448e9",
       
 13567 -   "44b0628f84b11c5e71888",
       
 13568 -   "4bc252b0fa653478344f1f",
       
 13569 -   "31afe414b9e841f105214d",
       
 13570 -   "46bc16d9041c2bda07b158",
       
 13571 -   "34ca1ca17d4004b63727d1",
       
 13572 -   "1adfa664cf45ca975af0f8",
       
 13573 -   "55b727631edd20582945d2",
       
 13574 -   "6649997ef28c919c6cae0f",
       
 13575 -   "6332e8b1655b1a7193eb45",
       
 13576 -   "7b8a17b08fccb33f4b7d6f",
       
 13577 -   "46c01f4170feea6c601e12",
       
 13578 -   "68d895a65569cf3ef3e3ea",
       
 13579 -   "782fa87576f745d6c5a644",
       
 13580 -   "3561d1a2752f1d17dd5823",
       
 13581 -   "1c1f24204ec4b044c10ff5",
       
 13582 -   "4ef1c6a1bd63bb6b6207b1",
       
 13583 -   "33fee942f43e9b7d2118f",
       
 13584 -   "1cbb8749de080f5bb23b75",
       
 13585 -   "4680ebb5e7e7fa1e676838",
       
 13586 -   "2cfe955ebd8c7e4615715c",
       
 13587 -   "93d0f45c8e78eed19b2b4",
       
 13588 -   "5411d9720f633bf7a356ea",
       
 13589 -   "7ae4ce9746d1a251afde2",
       
 13590 -   "6b6195f4939abc517ea1fa",
       
 13591 -   "622e4bcd237f601b3f864e",
       
 13592 -   "552dab94d8fab803e3abe6",
       
 13593 -   "5fea5590381b705c4ba54c",
       
 13594 -   "47a6912faf0eba695a3f82",
       
 13595 -   "62d4635d0bbd6bf8fab17b",
       
 13596 -   "488702c5b90021b8b24933",
       
 13597 -   "b44a774aaac3d4d335389",
       
 13598 -   "7c2eeaa3b5ac7ca26ee5f2",
       
 13599 -   "4a79a4d35e92cbac8fe0c0",
       
 13600 -   "145ecffc8b532b7855ca8a",
       
 13601 -   "409705e5654888d8af2f47",
       
 13602 -   "4f5cb9e29c3567f8c1b22b",
       
 13603 -   "2ad535a50fda15e1835526",
       
 13604 -   "4d55039bf17366425f055a",
       
 13605 -   "504e8f5ee0e51320af92dc",
       
 13606 -   "ae1614cb7437dc6311ee9",
       
 13607 -   "3d433adb4bcd914fcfc4",
       
 13608 -   "633dad9eec0d451652bf40",
       
 13609 -   "15bc81dd36a0393963bb64",
       
 13610 -   "720d9e52c4aea85ae24480",
       
 13611 -   "16f5569ecf073acc30831d",
       
 13612 -   "50a70d2086b5ca78a90368",
       
 13613 -   "7e688d1cbe7e0a84a0f408",
       
 13614 -   "1f9e8bffcac3e1471f7cd6",
       
 13615 -   "78ec94c22ee912eded5499",
       
 13616 -   "336a41277b427813eaa191",
       
 13617 -   "1705c133c7ba24a2b5c528",
       
 13618 -   "7b7e71610f1589da383c31",
       
 13619 -   "58137399c99866772aed9a",
       
 13620 -   "282774a1f4bcb14e6723f9",
       
 13621 -   "7b85e0b99eff408f2aa978",
       
 13622 -   "2a5043ae183d338b7ebd55",
       
 13623 -   "af99b9d024438cfe9df66",
       
 13624 -   "d4a270719a348af6d6c29",
       
 13625 -   "47262fa06b9c5ac8138f4f",
       
 13626 -   "50c65d8772a3d5db269535",
       
 13627 -   "20b1838f00aa00d07f70fc",
       
 13628 -   "ca30526530b6f6f0c8fca",
       
 13629 -   "158e9251ef94651015ecc3",
       
 13630 -   "636f015a0c62753b283d5e",
       
 13631 -   "4573a56ada0a29d31dd6b4",
       
 13632 -   "367efb55edcaadbb5e4f2b",
       
 13633 -   "3eb189e2bfcbe180703cfd",
       
 13634 -   "692adfabb87ce969422961",
       
 13635 -   "434a5edb31a9c3c6a0243e",
       
 13636 -   "77664e53908d00007d1205",
       
 13637 -   "4b11585991700c233f6773",
       
 13638 -   "207ff6a0da7f13b316c4b0",
       
 13639 -   "328a9932d6b08a41a1df0e",
       
 13640 -   "2f927b360b2b43bff822dc",
       
 13641 -   "257564a39a648e17d015e9",
       
 13642 -   "73e92ea015629e3728aee0",
       
 13643 -   "4585b77fea18a0113ff609",
       
 13644 -   "101d83882a81d0147b4342",
       
 13645 -   "3addce3c43218484acf509",
       
 13646 -   "9f0c9a93eecf4de349628",
       
 13647 -   "465f3b1e25cde0e446d90d",
       
 13648 -   "4ceae8c6ea35dc274647ed",
       
 13649 -   "63137369b8d47b6c9c43df",
       
 13650 -   "438f5c0f163a4dfa04e5ce",
       
 13651 -   "313d62eb5f1104de5421a",
       
 13652 -   "9f20b6fedc099ec575691",
       
 13653 -   "24086a392ab75e649d3cc1",
       
 13654 -   "7aa96a9fbe718c006a48f8",
       
 13655 -   "8000000000000000080000",
       
 13656 -   "57f0f7ecb2d7dad43748ee",
       
 13657 -   "2a640efe463008db4ed634",
       
 13658 -   "45769a307f5593bbf72056",
       
 13659 -   "3abbf8af06f889daf59c4d",
       
 13660 -   "6d16d10feb1728044f2dc3",
       
 13661 -   "5bf1d1c71be0c49ad75d9a",
       
 13662 -   "16bed27a9c005817ccf111",
       
 13663 -   "4d7797e0b2f77a7ffee785",
       
 13664 -   "3845bd22f959dda9197376",
       
 13665 -   "1857324131e535b1b2458f",
       
 13666 -   "6335fb7682400180e10d15",
       
 13667 -   "50226b4aa22a0465ceea0c",
       
 13668 -   "44dd70b9323f17568e4ba3",
       
 13669 -   "217bd444ac8e9808b3ae5a",
       
 13670 -   "6c9c81ea487986867245b8",
       
 13671 -   "3827b84269040363e5e02d",
       
 13672 -   "64520e4823f48c1f48749a",
       
 13673 -   "58fc1b58696f8c22cfe344",
       
 13674 -   "41558cae58d4f9a9001b87",
       
 13675 -   "38910d873da8dfd237e8f0",
       
 13676 -   "5eb76c6301d8a849a1903f",
       
 13677 -   "3b6b43619a3730d5995ae4",
       
 13678 -   "5f2bc99aad2f27cdee05f4",
       
 13679 -   "385f7f48a7be6b46d108ef",
       
 13680 -   "37d50d7838efaf03049cd7",
       
 13681 -   "665bc65420c0b0a151c97e",
       
 13682 -   "3d9abe3ec82d9602d9dd6b",
       
 13683 -   "634d2540fd670a82f219a5",
       
 13684 -   "616dbeafd6aa623c1a7d7e",
       
 13685 -   "29702fc1f57fddc3369967",
       
 13686 -   "25920b5c96127e9d8ab05e",
       
 13687 -   "3a82369bb1a4da519bbd70",
       
 13688 -   "7f216769148f0e997c7805",
       
 13689 -   "31d809b078cdefaaf45266",
       
 13690 -   "7a6ffa939b86786a779a44",
       
 13691 -   "68e8a818d524954278bbf6",
       
 13692 -   "181ee17c34ab8aea52c900",
       
 13693 -   "7f42b66317d26c3f938805",
       
 13694 -   "6f37e3a85128974cdfaa69",
       
 13695 -   "45813314ca1d165bcf242c",
       
 13696 -   "64add9cabf8efdd5f7b57b",
       
 13697 -   "46a91d898168488fd5ac51",
       
 13698 -   "669f4c5ec3934953500b78",
       
 13699 -   "1e378fb7157cdaa6fc3a50",
       
 13700 -   "39cdc5e6675ab081ffe60b",
       
 13701 -   "1cfd8f0d12bcce21589c11",
       
 13702 -   "6ac77b7cb23565518aa2d4",
       
 13703 -   "4628eb872cffa1868b96ee",
       
 13704 -   "23eabb9cc5f4086c74bc31",
       
 13705 -   "445381f98a1f5669880827",
       
 13706 -   "3f603c7b410b4c2db2c8e2",
       
 13707 -   "464550e0adf269403f3e22",
       
 13708 -   "3286bf159405584d85567c",
       
 13709 -   "356497a9675898bccf4e79",
       
 13710 -   "f26a2dc235ace7b34f4b6",
       
 13711 -   "2e03d3c0794703b9605de0",
       
 13712 -   "30a18088f5b2af396bbfd9",
       
 13713 -   "681750fd18618072db2068",
       
 13714 -   "69fecb55ba6da700789d7c",
       
 13715 -   "2294095a6b77aaa416cbd7",
       
 13716 -   "ab8e1dd4d27b02d09fe48",
       
 13717 -   "7fe887d8c5fb53af79cbd6",
       
 13718 -   "1ead89a48b89a75ebaa7d8",
       
 13719 -   "10d0aa100248920b9cab77",
       
 13720 -   "4aad58987821ba8f33d96e",
       
 13721 -   "5c616b0d1a7bc591e70e46",
       
 13722 -   "24b22771f303ef742b8ce1",
       
 13723 -   "3eda92314bf1d09cb5b08",
       
 13724 -   "692eeb4ff69b42372517d7",
       
 13725 -   "494807a247f7ffab73a644",
       
 13726 -   "23564d97f447b0091e74ce",
       
 13727 -   "2b81c6e67e55aeb6e93a",
       
 13728 -   "4669a41d4e444c1284d024",
       
 13729 -   "61036fcac29b84e5ca02ad",
       
 13730 -   "2625096534f2cf10d83a26",
       
 13731 -   "30cb89652c8629b5e0dcc3",
       
 13732 -   "606e14eaa7d60eb7ea925a",
       
 13733 -   "17715e6c96cbe096c4f9c2",
       
 13734 -   "42a81f5e10b5435180e643",
       
 13735 -   "6d849a39e47370e473a913",
       
 13736 -   "6116bef6a79fb2fc15f0e2",
       
 13737 -   "31e8a39712fb3a7a11f909",
       
 13738 -   "7511506751237c1959933c",
       
 13739 -   "1e47a4330f0bce93db13fd",
       
 13740 -   "97342eefdbc78b9689120",
       
 13741 -   "b1fe15d9ac88348f41a87",
       
 13742 -   "296a247b4b36d5c2a1884f",
       
 13743 -   "aef2488954588af921ab8",
       
 13744 -   "351db0dca5d74808f36d33",
       
 13745 -   "25df9f831698604e15991c",
       
 13746 -   "761e42e1c908c2f09e096a",
       
 13747 -   "5e73615c65ae9e74eb1ef3",
       
 13748 -   "4354f51efc9392bcd6e51d",
       
 13749 -   "3f7d2ee6cb32c6bbeee194",
       
 13750 -   "394faf6069c716fcf8a76c",
       
 13751 -   "51d8b3e6fa0afa106abc40",
       
 13752 -   "5aaabbd40fa78dd417edf5",
       
 13753 -   "32d68fc9b8a9c17b315382",
       
 13754 -   "6f24ffc802a08273be511b",
       
 13755 -   "452816c1b54aa2bfddcc17",
       
 13756 -   "142c59f31fc82fb58a7dd5",
       
 13757 -   "7233f4136f3ace41bedb12",
       
 13758 -   "2c18c59d95a21961c42f21",
       
 13759 -   "7eb8dfe838ec5ef9d3ee21",
       
 13760 -   "19915afea85d27cf8df109",
       
 13761 -   "4e1162d634d0d5811a2441",
       
 13762 -   "43e36b6d5a937387b49f6c",
       
 13763 -   "295932427e10aface718fb",
       
 13764 -   "5a2c8ca58cb488822e9f49",
       
 13765 -   "622b540293b1275c5a9446",
       
 13766 -   "753f0795048443573283b2",
       
 13767 -   "3c2dca32abbdc029f4a212",
       
 13768 -   "3fac097802d8f5fb376d58",
       
 13769 -   "668b9e16f3948f582a5b94",
       
 13770 -   "1a08e273719d3411178252",
       
 13771 -   "f4af5a6143d8f44e48afc",
       
 13772 -   "54ad7fa69dfd0b4c19f7ed",
       
 13773 -   "65cf5014ab215afd17cef7",
       
 13774 -   "4c3c570182916f32a6f96c",
       
 13775 -   "2e8edc0b6dfcfb2392ce87",
       
 13776 -   "3950591be73642bfa23264",
       
 13777 -   "559752d946b02da4c2f657",
       
 13778 -   "554f5cfd133bac2188241d",
       
 13779 -   "3c1fd5d9a6223b2ce7b02a",
       
 13780 -   "34c50fc58872b7325366",
       
 13781 -   "3f8cb5eb229acba822b48d",
       
 13782 -   "2aead0dac004faa8ab67e4",
       
 13783 -   "144a6c20d0a8d5dce2b12b",
       
 13784 -   "5efbbe073364ace07f02c7",
       
 13785 -   "73862de61086c1fd5e0678",
       
 13786 -   "78aded63d2f85ac948c449",
       
 13787 -   "51603bcc8667777e664f9d",
       
 13788 -   "724f8bcd40bfc9f1ca0c68",
       
 13789 -   "5169af1cd74986160450d0",
       
 13790 -   "5b6b96beb19fb0dbada937",
       
 13791 -   "4b3a8d22fdb2c83abba9b9",
       
 13792 -   "3ee5a2cc90e335867f0ce8",
       
 13793 -   "33567e972c90754c86a5ff",
       
 13794 -   "1c07c875b3a9cdedf7611d",
       
 13795 -   "3b55da90ad9a162be1756",
       
 13796 -   "339dd42a42d94342bf8399",
       
 13797 -   "67a3f20bb5e980364816b9",
       
 13798 -   "4b6ed31d0715952774511",
       
 13799 -   "346f2a2b086e1b35095d7e",
       
 13800 -   "1c614cf9a9d87d69154c21",
       
 13801 -   "5e263af53ea065e044720d",
       
 13802 -   "681a88fafe4e6f0620910",
       
 13803 -   "1418facce22bf24a5e6a51",
       
 13804 -   "786571b85b2768309c8ed2",
       
 13805 -   "4d0e82bdf34ff4cb3a603e",
       
 13806 -   "7c2e242ec2b95580a9b3bf",
       
 13807 -   "54fc920cc0125e53a92499",
       
 13808 -   "5696a96208101739ec4ba0",
       
 13809 -   "636b15a893c301ff23f5f5",
       
 13810 -   "4956721f6a2ced1fc736fe",
       
 13811 -   "518711fe03b241cfb95160",
       
 13812 -   "2e12097225e5783b545083",
       
 13813 -   "7340d7daed67bcc5cd4391",
       
 13814 -   "c075fe6224a62c1010fb8",
       
 13815 -   "4bee7e482b290b1d3869be",
       
 13816 -   "7e8fbf173741aea1b95c93",
       
 13817 -   "5a1fe9fffdaa20f4ab7eae",
       
 13818 -   "58d7de0f8254a81b5d0f5a",
       
 13819 -   "38793daa7aa086d5e70798",
       
 13820 -   "6157a651f2640a73f1f90",
       
 13821 -   "7a6d5b1013830761b58026",
       
 13822 -   "46734211b970f8a6448a60",
       
 13823 -   "31b9dd76b9ed5f88dd4609",
       
 13824 -   "46c6313b3914ecd376b959",
       
 13825 -   "3e4e77e268fb6e7602e96c",
       
 13826 -   "74d39a89d87bdaa449438c",
       
 13827 -   "7684536a92d49a5af59f1a",
       
 13828 -   "71215d6fd5e662d930a424",
       
 13829 -   "249b7a4d080be0f548cabd",
       
 13830 -   "1bea5758655f1400515db4",
       
 13831 -   "7f45c48d28fd31ceeb3fd7",
       
 13832 -   "1812bd60b720f8920fe80d",
       
 13833 -   "27244290f774a00786ca95",
       
 13834 -   "5566a844e8b1c572f69612",
       
 13835 -   "2d678e77df571d7ac4859d",
       
 13836 -   "e243f28e043030ee3a43f",
       
 13837 -   "36a3336f56c91232544e8c",
       
 13838 -   "179d4134709978c75bf6d2",
       
 13839 -   "20ea7b335b7621642b29a6",
       
 13840 -   "78c437adc3b6ce946cdd",
       
 13841 -   "57dbda5c8b230a87030357",
       
 13842 -   "4dcc6ee20983f0020ad69",
       
 13843 -   "5725842b7246179896a39d",
       
 13844 -   "6b1cbac9279eaab9b503c4",
       
 13845 -   "1bc4e87c1100a2d26aeff3",
       
 13846 -   "2d70f946f2915679b314e6",
       
 13847 -   "793fd256b009d961487499",
       
 13848 -   "ee9d6b69f13ec8f385e6f",
       
 13849 -   "4b4c7f0a822537ff62cdcd",
       
 13850 -   "48b920d23514d06befaf52",
       
 13851 -   "2df30214a49a31c21380ef",
       
 13852 -   "4c4424602626193266d943",
       
 13853 -   "2d5bb2b553d4ed5bc0795d",
       
 13854 -   "681fcdfe60f23e3be083f6",
       
 13855 -   "4f9634be1ae125361bd4c2",
       
 13856 -   "1ac96b01993da8677b2fd7",
       
 13857 -   "4cd15a66ba5a2f18c8823c",
       
 13858 -   "3828df7e9ab6753fb83dc1",
       
 13859 -   "2071c913edfd4fd6daa6bc",
       
 13860 -   "669e7a28f7a7c30460a80a",
       
 13861 -   "3b22ed42f28069f29c280b",
       
 13862 -   "5ca51c82df4def8b1588cf",
       
 13863 -   "7b2ef1bbf74c4989ed5ddc",
       
 13864 -   "40ebb7bac65bd815945e49",
       
 13865 -   "4a469bacdcaf5434109262",
       
 13866 -   "1a14d5b10cbcbb9ad3216",
       
 13867 -   "65fb4589487aa5a16bd767",
       
 13868 -   "283508a2ed137e839b2207",
       
 13869 -   "7047889925ed18a885358a",
       
 13870 -   "9d8d18a72607c311d6f76",
       
 13871 -   "6a1d554c48496d8d543eac",
       
 13872 -   "594a3b6273b1ed2b542eaa",
       
 13873 -   "67cb80a136db30b9d60d6f",
       
 13874 -   "5106bba99e6268d7bef3e4",
       
 13875 -   "6fff35974d5f0b86faa46a",
       
 13876 -   "5f7482c17a568566c785c9",
       
 13877 -   "78ba33e419cbc7f177437f",
       
 13878 -   "1f4b918e0e0d47c89aa2d8",
       
 13879 -   "50cfa48cfb994ab2b77aa3",
       
 13880 -   "1e4fdc54209c2229d7ffcb",
       
 13881 -   "4431184365a358de692057",
       
 13882 -   "7adeede80a05e40854e6e",
       
 13883 -   "9a39acfeb3a1b4c2bc79c",
       
 13884 -   "2d2a15867cf9361defac4f",
       
 13885 -   "3fdb99cce8884ed923271f",
       
 13886 -   "2d127e6ce6bd0f1872b1",
       
 13887 -   "1124cfa0e070cf6fe3c638",
       
 13888 -   "65b7b50446c767e6fa72fe",
       
 13889 -   "3f0d18b1efb7248950daeb",
       
 13890 -   "74fc1bfd19b3cbc9867bff",
       
 13891 -   "34f0f61d6d8d062b6b9d9b",
       
 13892 -   "260d6ba9444df4b85dfb92",
       
 13893 -   "4f75e255d88657b2ba4755",
       
 13894 -   "3c3f770d148b4692e25b59",
       
 13895 -   "1eb56fdccfc12b22db2048",
       
 13896 -   "3c81a9658bae42644c317a",
       
 13897 -   "783c78a9025283e7188a8b",
       
 13898 -   "7322c20a545b3845b54b34",
       
 13899 -   "52d104741cfa5fa49fa55e",
       
 13900 -   "6545cb112ea4be72bc80f7",
       
 13901 -   "5bcd4418d37c976110b37c",
       
 13902 -   "34d59de432c0dbb24ae55b",
       
 13903 -   "4759751a101953dd340d89",
       
 13904 -   "41e135572f9ce788481248",
       
 13905 -   "185033e62f44aa85a7799b",
       
 13906 -   "7047a4510b8c2107737ece",
       
 13907 -   "381012de4c9a82f9ef1d72",
       
 13908 -   "1167717f2d3d6238b3d21d",
       
 13909 -   "2dac9d433ff98cf24eae81",
       
 13910 -   "4f1c406e243fb2af67cd42",
       
 13911 -   "685afb7cdd699d5a8f020e",
       
 13912 -   "4c6a0f6de7e50ac450c0c3",
       
 13913 -   "59f0f5465ff1e16be9bfb2",
       
 13914 -   "594ae94ad86b9a719f54a7",
       
 13915 -   "9225712405a5bd9ade58d",
       
 13916 -   "3650c22d9c1072238cfcfe",
       
 13917 -   "36a92b305c21171dd5a616",
       
 13918 -   "5ba344fee845769c2c86d8",
       
 13919 -   "3ecd8205beb790946eaa8f",
       
 13920 -   "5f84ae1685459ae7e24bf2",
       
 13921 -   "62a01fb38e5c88098fbcc9",
       
 13922 -   "3c2f54ef99be42fe30d32d",
       
 13923 -   "215dcfa076749277897e0",
       
 13924 -   "36304be3f0777300703af",
       
 13925 -   "147b65e0e829ca30fd88c2",
       
 13926 -   "4e6a2eb425fbd18fb02cb2",
       
 13927 -   "2ddac7db8be22e88618b58",
       
 13928 -   "1c7831e5dec267ccb26741",
       
 13929 -   "2f3b362f4b742eb82f8a34",
       
 13930 -   "5505b22d0ddba48ae2020b",
       
 13931 -   "522afb743f67b3ca56b20",
       
 13932 -   "81dc886feeee4945edceb",
       
 13933 -   "77c4b593ec648025df03f6",
       
 13934 -   "4f0841f63a0c64aad5232e",
       
 13935 -   "6cd2d14ecc5fc7c2c1b52f",
       
 13936 -   "3827eb26c007235c46c676",
       
 13937 -   "484281d930b8ee32f366f0",
       
 13938 -   "25f7e1ac0d4153b6365c1c",
       
 13939 -   "2600c04d980b2307982b22",
       
 13940 -   "6b923e02dfb1da62f37204",
       
 13941 -   "287593985c21589f72c821",
       
 13942 -   "c8918a059fa77676f0587",
       
 13943 -   "76201f5e0110544f41d9be",
       
 13944 -   "770b83b55e13465063e5a",
       
 13945 -   "412ae12837a29724832877",
       
 13946 -   "5cd8f5f9eb6806f67db613",
       
 13947 -   "4eac7fa0d6b168c3bec4e3",
       
 13948 -   "5d2972b12e50e727a2721d",
       
 13949 -   "5517c01ca3bd4da9aef0ad",
       
 13950 -   "11ea8c21342ce42ebbf9ec",
       
 13951 -   "413f256a64feb56e242e90",
       
 13952 -   "29f3402339c3128a1e2c1",
       
 13953 -   "51eb860c87e1e5b70bb623",
       
 13954 -   "369c62fe5aafda2a550912",
       
 13955 -   "2674d42d16e97493518d2",
       
 13956 -   "6b105359a1a68d94862411",
       
 13957 -   "527e969f4f6eefe6289ece",
       
 13958 -   "7ef4c5361ca08ac1cb6216",
       
 13959 -   "3f3aeb0a1df198d9c95768",
       
 13960 -   "152dc9fc63d3c1eb6c335f",
       
 13961 -   "7754a6a5fe6be54c00f4c8",
       
 13962 -   "222ea07afe042cf765ce5f",
       
 13963 -   "1086eae159340e441fa0a4",
       
 13964 -   "6c03f094dfe48c9743be89",
       
 13965 -   "1fe069b8c57a9fbe5f6009",
       
 13966 -   "185254fa056de9af1a6bd2",
       
 13967 -   "3018be3223f82c7f0c9ebe",
       
 13968 -   "48a13c03c03191471f1164",
       
 13969 -   "3e94b32e50da81bb5afc03",
       
 13970 -   "4d08f00a99d95d0043cc4",
       
 13971 -   "4636e2935765905adcc41b",
       
 13972 -   "4bc9c371d07d4a025a739b",
       
 13973 -   "83bfa3efcf5b970ad41cd",
       
 13974 -   "18bc8168956ccd63ac68a1",
       
 13975 -   "366546b3844bf45b7527a5",
       
 13976 -   "363a65fc59f4a8184d3d78",
       
 13977 -   "5ef30e941639d08bff19c4",
       
 13978 -   "5d66f0d9dde7339dbcd24",
       
 13979 -   "33d5a814c00e980600811f",
       
 13980 -   "5ccbc128a5721a5dd853eb",
       
 13981 -   "298200a0909b55e97005f2",
       
 13982 -   "703a6cf857e651748dc09a",
       
 13983 -   "547264d2566596f18bbb5a",
       
 13984 -   "760b4f231686ca10ea6ea9",
       
 13985 -   "49a3641c16382337f3c777",
       
 13986 -   "33525d5afa91fda7d5fea5",
       
 13987 -   "4c028ddef259fa2c7d4868",
       
 13988 -   "575d4696bb0e4edef99446",
       
 13989 -   "6da26efc24e2d57c26c090",
       
 13990 -   "41e1bc8a63d042ba714c97",
       
 13991 -   "5f24e71937dd097c0e8678",
       
 13992 -   "70b9ea82f6a6c02939510c",
       
 13993 -   "738abcc274fbdc4ab5efd7",
       
 13994 -   "255358696f5e9ddbfa467c",
       
 13995 -   "6e9f47f009d809f84a56da",
       
 13996 -   "27c6ad85e824da21b1cf9d",
       
 13997 -   "46a78cc83c010019e8b2b",
       
 13998 -   "6b828169b3ba13bbcddb05",
       
 13999 -   "3f5c0a52d2b564cc250982",
       
 14000 -   "63069f756c8115e5fc4c52",
       
 14001 -   "55744f373c8b8520d62370",
       
 14002 -   "43c2ec8afca87567ee9294",
       
 14003 -   "6354a865e088a0488f2701",
       
 14004 -   "d165a455f92b5083e0627",
       
 14005 -   "7252d249ce8cd4fb010950",
       
 14006 -   "79790e81fd0d2b63f9d1b9",
       
 14007 -   "5e147628ce9e9a9493f495",
       
 14008 -   "37755ea728b820f0ab2bdf",
       
 14009 -   "184e317201ff0ac25eb6e6",
       
 14010 -   "178cb915d7350e37948956",
       
 14011 -   "5ab5c85d4bf835440ff962",
       
 14012 -   "1e2bd3f41ae5c299bb720f",
       
 14013 -   "722f9dc13384479d1c4455",
       
 14014 -   "2b514798a553e5bdcd8ec1",
       
 14015 -   "51890cd139740ee3c35339",
       
 14016 -   "75d3c5c33e5a2023adfd4a",
       
 14017 -   "15da282cec1859a9591ab9",
       
 14018 -   "7fdd8bd273e4a717226cc",
       
 14019 -   "3915d17a2935e69936525d",
       
 14020 -   "78acf4423afa2cfe1a6fc1",
       
 14021 -   "4f140e806dac75cc67fa3c",
       
 14022 -   "37c6007c4a0d223bec9e13",
       
 14023 -   "1ae82d51e4845bef8c5d14",
       
 14024 -   "65a0cb312051f321a95f5d",
       
 14025 -   "42aa10dc273607be680d72",
       
 14026 -   "3e26ac2b23b8b913845e11",
       
 14027 -   "30bed73f7a94de9252a38c",
       
 14028 -   "750f475708a1369e3fcc26",
       
 14029 -   "61ade8e7a0bcc40ee4c2a8",
       
 14030 -   "27b94ffb61590cd0bcd89f",
       
 14031 -   "3f1e6a84c6b836f245c178",
       
 14032 -   "239309f551f303d0037140",
       
 14033 -   "211dcdb529a6bab73ad8a6",
       
 14034 -   "7869636f37e63a4ffff7cd",
       
 14035 -   "150365cfcc4a012a673c13",
       
 14036 -   "2791e42c7f90ab8d4e7fbc",
       
 14037 -   "1501743c447af65014399b",
       
 14038 -   "2244b09bebeaafafb0c481",
       
 14039 -   "36c0bf9a937fe6ca772d0d",
       
 14040 -   "419e79b02e607a42e6e091",
       
 14041 -   "400f76e25d392f347d4911",
       
 14042 -   "5ba0eb3a703d0e42cf4094",
       
 14043 -   "2ccb45ece6ec9abb9396c7",
       
 14044 -   "44741cea6d95eb07e7f01d",
       
 14045 -   "2b3c80a17ef583b6205fd4",
       
 14046 -   "43fea0cf26a3e256438525",
       
 14047 -   "59a7f220e101601c1d1b21",
       
 14048 -   "24974593a8d59a89588659",
       
 14049 -   "14ee39af97cd5a57b0e17c",
       
 14050 -   "4807e0d9a38d358d8e14c5",
       
 14051 -   "64d8389dc8d1b8910fc0a",
       
 14052 -   "6fd170c2ab312a1f05d814",
       
 14053 -   "68c4a816c641b5b1090781",
       
 14054 -   "24e71c2d01e956269446cd",
       
 14055 -   "3bec30574a99903f587887",
       
 14056 -   "2b4b238bbabe3c70748eff",
       
 14057 -   "4f0024b5b5580d91de0338",
       
 14058 -   "646ce329dbe03b0b8312de",
       
 14059 -   "5ba2a8023e5bb50b06e03",
       
 14060 -   "19537a8ee281cd28d6388e",
       
 14061 -   "10aab6ed7d1b631aa4b45b",
       
 14062 -   "6810dd5945e01cd2c90841",
       
 14063 -   "6ac2b70efaf88fd42c4044",
       
 14064 -   "aa480c5cc76379e0cd2de",
       
 14065 -   "64532524c99ecb3c365a41",
       
 14066 -   "321e3fdbb0b890caadc570",
       
 14067 -   "54fb5f18b6d001ef7be401",
       
 14068 -   "364f70dfdbb439b78e5236",
       
 14069 -   "9dfe57d1a9a3265476d14",
       
 14070 -   "169665894aa2b356779b61",
       
 14071 -   "127c199cd032273073f003",
       
 14072 -   "fa33fcce55fe6a32e0915",
       
 14073 -   "264e4b26d39119bcdc0985",
       
 14074 -   "593c091517fff61973996a",
       
 14075 -   "77da1b5a2124b6c9e11847",
       
 14076 -   "32e5682bfa3fd95762512b",
       
 14077 -   "72f7dab0b2d2a35e62478a",
       
 14078 -   "4356ada1ada2921353892",
       
 14079 -   "aa2cbd696160321682a6c",
       
 14080 -   "7f8bc7233e2784039454db",
       
 14081 -   "22884c181cdc222cad8e5c",
       
 14082 -   "7203cc213679d179eabc35",
       
 14083 -   "78a4c0445f77f31209ed17",
       
 14084 -   "58b95d74eb4e654735bebc",
       
 14085 -   "6a7db7fb47d3a18b620d6",
       
 14086 -   "63942ffcaaae948e9056c4",
       
 14087 -   "a2e07f9d73c5e3effd370",
       
 14088 -   "6667dbaf666f92bd61da79",
       
 14089 -   "4597c1546c899a3656689",
       
 14090 -   "5fc3c4b7f7ad5deab829bf",
       
 14091 -   "61170002cc409ddc34946c",
       
 14092 -   "736d05572fd4ef85eca2b1",
       
 14093 -   "1a5853834033d093c63d55",
       
 14094 -   "bafe681e7e52073b86d32",
       
 14095 -   "1c9f86b8742e14b6caf79b",
       
 14096 -   "3886dff828cc76dd830466",
       
 14097 -   "3b98704f287b0ee4e659aa",
       
 14098 -   "581eb843dc9919f85a6644",
       
 14099 -   "697396e6df9539532709dc",
       
 14100 -   "63606d420b8e8397875647",
       
 14101 -   "43b23b71c3202b31d91018",
       
 14102 -   "79486109c44990eca52723",
       
 14103 -   "2102dede4011c5cfefb7eb",
       
 14104 -   "235809998758cf7e4acb1c",
       
 14105 -   "233860a2ed2d566e131431",
       
 14106 -   "305213c4b30a9e8be153ce",
       
 14107 -   "7507998b275e3c9bd4e10e",
       
 14108 -   "64f00973a0eb117b548182",
       
 14109 -   "1416e580fa8bcb421dc6ae",
       
 14110 -   "36735381ceff20a76e32eb",
       
 14111 -   "45f5960a9db06a62821bf0",
       
 14112 -   "8649a3995ad114bb4d72f",
       
 14113 -   "374a0e75bc76f0adac7af5",
       
 14114 -   "6565aab9eaab16f7430411",
       
 14115 -   "7dcf3e6b7d3d02033c946d",
       
 14116 -   "65c9be7a29bf45e5992a7e",
       
 14117 -   "638d0229863032ef249643",
       
 14118 -   "297ac1b2d19eb1e6e32d87",
       
 14119 -   "6f339aa4d977875b1f1f80",
       
 14120 -   "438e5a19094bce43b5b5ae",
       
 14121 -   "4d8b0cd0d3401fd04e351",
       
 14122 -   "1b5200adee3adf189b056e",
       
 14123 -   "1de1227159008ec9b59ac1",
       
 14124 -   "75266a81bf7f77865e6f",
       
 14125 -   "9377e0e5c8d0de1856f6c",
       
 14126 -   "2fd82a7276af1cf8b372ed",
       
 14127 -   "6dddda58fac4e8afe0c9e7",
       
 14128 -   "1d85b86a2f3f20e2832ec7",
       
 14129 -   "35accc5a1e3fb474285daa",
       
 14130 -   "3aaa2c73e60edc333c904d",
       
 14131 -   "740f62900b9523de37b6b0",
       
 14132 -   "7401d0da6ddc33225bec4e",
       
 14133 -   "3e985c35adacaa90f5715b",
       
 14134 -   "62c36a3627b9d2b3c18de1",
       
 14135 -   "7b71ed8d456ee35292c960",
       
 14136 -   "2648a635c5981b8daca07d",
       
 14137 -   "2c33c53227ef5693d69f36",
       
 14138 -   "1540f88099c93111d6c8cd",
       
 14139 -   "5d9383670de64bf15eb49b",
       
 14140 -   "2b23443976252ed21088d1",
       
 14141 -   "7fa540fb3906a29b513bed",
       
 14142 -   "2f88b1c87d7d02f6c2614d",
       
 14143 -   "1976a9fa25af6d21cad47a",
       
 14144 -   "444a50dba1a2bf390bea1e",
       
 14145 -   "11c773ac555182d789142c",
       
 14146 -   "3b929cf6fdabeb45375120",
       
 14147 -   "15bf0eb485af1135b0e453",
       
 14148 -   "126dab6c2bfc9b83475847",
       
 14149 -   "c06cc01bfe2a9b427102e",
       
 14150 -   "6a545ca829ed278f6ee7f4",
       
 14151 -   "23dfbd70bcc040f36d4c8d",
       
 14152 -   "378ef780c4d32c3f15b3c3",
       
 14153 -   "7b115c7c405c6e4356bac1",
       
 14154 -   "1a789636807476ba5bd789",
       
 14155 -   "35fa1fca985387fb7fcd19",
       
 14156 -   "21b466e3230d809af7aa6b",
       
 14157 -   "4d1a8b95ded29dc79fd401",
       
 14158 -   "59bc93698864451646a053",
       
 14159 -   "7d6f33ec4a123fa281cabb",
       
 14160 -   "168ebadbade1cbc44496d4",
       
 14161 -   "413278937e6487a988805d",
       
 14162 -   "55407685456c2cb8311d26",
       
 14163 -   "79d07c6a6298d34020dfe7",
       
 14164 -   "65ab167d8e02a8df26439e",
       
 14165 -   "7dfd6cbe22024260a179ef",
       
 14166 -   "28d6cf3e20845dc7283634",
       
 14167 -   "648ea8b083a9828f8af17f",
       
 14168 -   "2f64ac4f819f8343111866",
       
 14169 -   "17da7c01f870089371d6df",
       
 14170 -   "50f371336a648ade74999b",
       
 14171 -   "1de402b5c6118ec8861aad",
       
 14172 -   "48ede8d4a9a88f7613388e",
       
 14173 -   "5f70485b00138272e9a41b",
       
 14174 -   "65a1f7025bafea5088145c",
       
 14175 -   "68d439e82561e55cbf1eed",
       
 14176 -   "3d8509040aa8739f034dac",
       
 14177 -   "2dd21df4dbce295378bd06",
       
 14178 -   "111d6b945ff69be530cfca",
       
 14179 -   "c1fd8fe80d24243e7b5eb",
       
 14180 -   "42772160e3ea402851c9c6",
       
 14181 -   "49374e550d8b335cb151d2",
       
 14182 -   "71faf2ef0654e97e0c23fb",
       
 14183 -   "4328d17f00529ea0fead97",
       
 14184 -   "546ec9785ee72a2a72d886",
       
 14185 -   "5d50e00035655b4d4ddcb7",
       
 14186 -   "4b53718060040e8179d82",
       
 14187 -   "282a80b8de04941c547168",
       
 14188 -   "73673685484b4f3492976d",
       
 14189 -   "5db729c46c687ddd7690e6",
       
 14190 -   "2cad73640590abfa319b6a",
       
 14191 -   "21ba4c5acd17d59fca0ed6",
       
 14192 -   "186605e063004c7e4a9375",
       
 14193 -   "2f687a83227d2d20f3b227",
       
 14194 -   "30abf45ef025352e681192",
       
 14195 -   "6a76e3eb445dada83ceb12",
       
 14196 -   "7146b897c3d924725bd0cb",
       
 14197 -   "14b68001dbf2f798322812",
       
 14198 -   "54112eabbed42ad31637c5",
       
 14199 -   "467db4fe225847525ef33f",
       
 14200 -   "25032025485a4979b90394",
       
 14201 -   "bc149e667cbe5a17ed77d",
       
 14202 -   "ba357a389bca1484d7e54",
       
 14203 -   "34ddcae84938327a3cbc30",
       
 14204 -   "2e1709b850c77f2d508334",
       
 14205 -   "15db077682cfbf170ce259",
       
 14206 -   "280bf57e6ab95037683d33",
       
 14207 -   "14f23f2aade2de50fb350d",
       
 14208 -   "57d0cd94e03404b9cc57cb",
       
 14209 -   "3282cc1545c9e77ce08abd",
       
 14210 -   "567508a3d2a7b4fe3b395b",
       
 14211 -   "16d8ad198832545831c93f",
       
 14212 -   "7d88a8aadc667bc60fcb2e",
       
 14213 -   "65118f1b7c366a8bbffcb8",
       
 14214 -   "6766e290c73bba54bcc710",
       
 14215 -   "2aad9e8261535baeb20b71",
       
 14216 -   "4ba668ebddeaa069043875",
       
 14217 -   "3f98705d2cf6346bf00972",
       
 14218 -   "541a69af40655a83e366ca",
       
 14219 -   "215c7e9a1d796b37a56336",
       
 14220 -   "419d9a35dec3e5f421baef",
       
 14221 -   "163690a8fd51b113410cc0",
       
 14222 -   "1d165ccd9ac1e4efca4a32",
       
 14223 -   "1d78f3d7e887debfa04bf3",
       
 14224 -   "6b421c0667b336723fc0a1",
       
 14225 -   "2cc7417260782c0d2394d3",
       
 14226 -   "21887a11425a371d17db86",
       
 14227 -   "5be7c40d96f7c97153eaba",
       
 14228 -   "2e061928a5c3ad9bd6d9be",
       
 14229 -   "7b398d970ad745817bcb61",
       
 14230 -   "f7cdb22a187815c33c5e0",
       
 14231 -   "a4f6b861d9a460f5b65a6",
       
 14232 -   "68d4b88b77dfae0da7a5d",
       
 14233 -   "4e4199871aec7ec1f99895",
       
 14234 -   "68f5ab17da1cc5dda22c36",
       
 14235 -   "1901320882ec0093fcda5d",
       
 14236 -   "76dcede51c5087d374b20d",
       
 14237 -   "38c3b4008c9d0442e7b602",
       
 14238 -   "1edb6eab35de11d4922150",
       
 14239 -   "5c53790457f0f66baaae2f",
       
 14240 -   "664ad54353749f2ad36105",
       
 14241 -   "45638582a87d07b0339df2",
       
 14242 -   "18b021fe09fa8bdc44e567",
       
 14243 -   "2acc282877d9cac38e38c3",
       
 14244 -   "7bd177160999a650655c6e",
       
 14245 -   "6717c0177a36454aef446a",
       
 14246 -   "6334fc3ff70d17dd837781",
       
 14247 -   "499a1abb2a1381278175e6",
       
 14248 -   "14da57f8c43c94d5133d50",
       
 14249 -   "4a1381ccb93c34dc44cab",
       
 14250 -   "7cb4b7b324b314195807c8",
       
 14251 -   "59f2c50a64b0c2a3e77442",
       
 14252 -   "426b930b670412d271a091",
       
 14253 -   "38aafca45b266dbeef6fc5",
       
 14254 -   "35d63c19d36b85b5e96648",
       
 14255 -   "31204f9f1e25342bbe28db",
       
 14256 -   "560e1e8aafcab315236068",
       
 14257 -   "5b80c6e1a5c4dcb3166335",
       
 14258 -   "1d41ed28d87d24620da24",
       
 14259 -   "38271b1467ee062bfe15c1",
       
 14260 -   "2b7758dc0945a30687fabe",
       
 14261 -   "4fb33de912dd8d2f8b8081",
       
 14262 -   "4d6d3f3602597781bd2ea0",
       
 14263 -   "5b509a0106f1d06627c353",
       
 14264 -   "7ffd3daf76b1e818134f24",
       
 14265 -   "858c45884b129dd66817a",
       
 14266 -   "70c9c69419338ba44d6b8e",
       
 14267 -   "17c5a39deb46d102235506",
       
 14268 -   "2adb843a58d472c17edcb6",
       
 14269 -   "798b816a4dea5ab964c64a",
       
 14270 -   "68705a826f80224f09c337",
       
 14271 -   "b720b9f07a6b1f41654e1",
       
 14272 -   "44bf623ac807d4c96747f7",
       
 14273 -   "16eaf321bf41ee635d6d46",
       
 14274 -   "37107b083cae132372e4d4",
       
 14275 -   "31e9d0607a42f7e54a8c81",
       
 14276 -   "4d23f5ec809ab5057c2705",
       
 14277 -   "10a61010d82426d21109af",
       
 14278 -   "1ba28761d3577e14d38b38",
       
 14279 -   "c57749387141da5f8fd27",
       
 14280 -   "4afedaa595cb8c309d3fbf",
       
 14281 -   "3fd90efbd4f0a4e173f589",
       
 14282 -   "49b4801e9a2a64a27691d2",
       
 14283 -   "7255e6805e164cf9788cce",
       
 14284 -   "62ae26dfe2273af99c4830",
       
 14285 -   "7e185faaca849a7f135848",
       
 14286 -   "10cc6c74c4f9fcc9428f7f",
       
 14287 -   "152b3e507f8b7898991275",
       
 14288 -   "15a3be22e80e0f6f498608",
       
 14289 -   "54e5b2458bb84fd7d4433c",
       
 14290 -   "656c647508629462e9a821",
       
 14291 -   "4c60164f9602341914167c",
       
 14292 -   "2a17c7297a08a3839ca0e1",
       
 14293 -   "47efddee37fa0ef6a72a47",
       
 14294 -   "106fdb273227296116f40a",
       
 14295 -   "524a00dd634d2f57ac7c6e",
       
 14296 -   "1e6b9387cb8fb6494ace9",
       
 14297 -   "25d293607604db30df2e4e",
       
 14298 -   "2a07033e306623cf4e37d",
       
 14299 -   "178e61138a7396d55d224e",
       
 14300 -   "75aa7d0184dbe8ff376045",
       
 14301 -   "421e7c19466e0847ffaea1",
       
 14302 -   "732b807455afe5538cf678",
       
 14303 -   "1a756f67d7e3e663369a04",
       
 14304 -   "389f7a523536bc08e2c52e",
       
 14305 -   "3a0c64739838b20476e0bd",
       
 14306 -   "4346fce81f02878bbc28d6",
       
 14307 -   "2f63eb0fae8122aa717440",
       
 14308 -   "59308e5db85655d5ae0c4",
       
 14309 -   "26b549a59dc35ee5ea7b82",
       
 14310 -   "4d89a145aa9c4acc9cbc8c",
       
 14311 -   "71b31c9be0276caacd1146",
       
 14312 -   "718c4a4aea9ee0da236930",
       
 14313 -   "7222af7c6bff611029c53a",
       
 14314 -   "7f4b55a70795b9d26512fa",
       
 14315 -   "32a9d4d4f421cf83f9237a",
       
 14316 -   "53cf166384d9f967e4ee4a",
       
 14317 -   "4566810f52dbdc6e52d908",
       
 14318 -   "308ab3a2c4d7f4df4b6a31",
       
 14319 -   "48a0fd415822566b2ecfbd",
       
 14320 -   "242cca5b643a5f97a01a20",
       
 14321 -   "1c28b93f693054a06fb391",
       
 14322 -   "5a2cdb29cc6790b45d1f04",
       
 14323 -   "5e8a5f959be2a17534c9bb",
       
 14324 -   "3fc3e580d2ad754a34bc48",
       
 14325 -   "6bd645b33c041537bb5186",
       
 14326 -   "3019d2c9a4a70055fade00",
       
 14327 -   "142fa830b7ba88d08608e3",
       
 14328 -   "47226da695602ab6e77894",
       
 14329 -   "70044b2b283269e2d14166",
       
 14330 -   "46ef25878ebd3ab0b864d2",
       
 14331 -   "557bc3fd4a1a6866c5d19c",
       
 14332 -   "7b0ba619013363524f168a",
       
 14333 -   "48b438b41e1bc7e58e6ef2",
       
 14334 -   "39a95d47cf87d7d7d6bc8e",
       
 14335 -   "27c1b7b41af947101d694d",
       
 14336 -   "492683ece46681328f9912",
       
 14337 -   "3ff99310762f37d685ca95",
       
 14338 -   "4cfeaacecd47507ead712a",
       
 14339 -   "38a39ada5dac01b5c2adf0",
       
 14340 -   "dea3527d089eceb4c22e3",
       
 14341 -   "7b084b907f4fc0301dbd5",
       
 14342 -   "503f8d64438b7a99b8de08",
       
 14343 -   "1d9a776cbeec9f5dec9407",
       
 14344 -   "8a006b686db9c86eb0756",
       
 14345 -   "144303d93b170584849f6c",
       
 14346 -   "6b5617e9152db554d999bc",
       
 14347 -   "1b9850e5f0f8fec4d967b8",
       
 14348 -   "20fe6d6e332154329f831c",
       
 14349 -   "5cee3684d600afc7804db0",
       
 14350 -   "1dc0a99973375f6c4a4583",
       
 14351 -   "4476f33d15e77d3ea6c712",
       
 14352 -   "11f2c34fc87060adca2837",
       
 14353 -   "71af54a2496a076b559a6a",
       
 14354 -   "2ff21a8761b9bce5f34f74",
       
 14355 -   "78b5c76a3ee8c2ef071fa1",
       
 14356 -   "5738f30e5cb40b4ed83e60",
       
 14357 -   "59fdfd7775c9750e48d811",
       
 14358 -   "7b609aae44a59cf088c570",
       
 14359 -   "4a67b54dcc404423e6b631",
       
 14360 -   "8ea7f70a71ad46c0c260d",
       
 14361 -   "5ca4bcb81d4d03018b177",
       
 14362 -   "169566a480e42dcc8863ac",
       
 14363 -   "789addf402241ff646d77d",
       
 14364 -   "13b16e69e645c1703bf7c2",
       
 14365 -   "16f732c5fac8192629ddb6",
       
 14366 -   "7731327e4c6ae66c8e47a1",
       
 14367 -   "cb8a50376e8204b8b5ea9",
       
 14368 -   "18eecc5a940548e7c51e57",
       
 14369 -   "3ca90695aca0fd32b28871",
       
 14370 -   "728caa6061cb6ff29e6b21",
       
 14371 -   "3d66483aa6674adb6569c3",
       
 14372 -   "1208a98ea1dd68a01d3ec8",
       
 14373 -   "5186a4a6ce8351b40466bb",
       
 14374 -   "79c75783449d733d93b4a7",
       
 14375 -   "52f87910ef7e6dde1f16dc",
       
 14376 -   "57aede4ca861e5051b15ea",
       
 14377 -   "70f2550983dbddb8957b2d",
       
 14378 -   "720aa7a7bdeaa025a23a54",
       
 14379 -   "3e7db1002a9116a5e20032",
       
 14380 -   "25d1c185377c3cd8e704a2",
       
 14381 -   "794294f26a938e1caf3c0",
       
 14382 -   "522619b83283553c71de74",
       
 14383 -   "4dd985f2fef5c539fa6a96",
       
 14384 -   "442eb4a36ab0287728c1d2",
       
 14385 -   "2a2b13112979d27489208e",
       
 14386 -   "4d43f85ff03e3cd18ef302",
       
 14387 -   "71e916ff79204bdad49695",
       
 14388 -   "270dae1c5ccafaa07ae8ff",
       
 14389 -   "3a2f442f3b3a9a2af00b28",
       
 14390 -   "3834a1b7acb0f05d9e53ca",
       
 14391 -   "5ca6e41b81529e38a59f6d",
       
 14392 -   "3164747c95104338a78b5e",
       
 14393 -   "b66201b62ddf6d13c5534",
       
 14394 -   "3dd366ce71f1fed428c326",
       
 14395 -   "12413ef53ba7fc6fb5cd35",
       
 14396 -   "20f6e36fbf07174b587397",
       
 14397 -   "362261ed7c97591714ea9c",
       
 14398 -   "1ce2a05bccecd36df96b64",
       
 14399 -   "358d745e0bc4be1c3f4586",
       
 14400 -   "221bb5afe07669d916e136",
       
 14401 -   "624d49c04a48d42d76c466",
       
 14402 -   "a3cfbf8b779e15bf28c99",
       
 14403 -   "28eb082844c0ed277d2520",
       
 14404 -   "4c7d0db8193430b75f41f5",
       
 14405 -   "3c9ecb18a83b901f901704",
       
 14406 -   "735a03f218370f8bd85ee7",
       
 14407 -   "4db4f1a602cec485019670",
       
 14408 -   "70357dabf2c34c8309c723",
       
 14409 -   "ecef39a1ef4b4d1e8c6dd",
       
 14410 -   "2cfcb08879a9aecacf316e",
       
 14411 -   "1175d70c2c07855db37245",
       
 14412 -   "786d54b4d5ce74ddde20a8",
       
 14413 -   "ff53eda132c9a3cfecc65",
       
 14414 -   "728cea43531fbac95263a5",
       
 14415 -   "20601a054af9d51633fab1",
       
 14416 -   "127118c35aaf80dac2a57",
       
 14417 -   "1db83df0a168bac450e4f8",
       
 14418 -   "39c167fbee27f65e96cc7e",
       
 14419 -   "2b90f954efc9f58a07a363",
       
 14420 -   "63f5fe049f46d509d141d8",
       
 14421 -   "75ac7a48082d5afa148e7a",
       
 14422 -   "569bfe59efe21364bf57e7",
       
 14423 -   "475131d01f3e6dc3b169fe",
       
 14424 -   "716991a2a17f536244885f",
       
 14425 -   "150c29ddf5483fb74be06",
       
 14426 -   "65fe3a22c7d35ad3f875e7",
       
 14427 -   "1754f51aa79c3b0803bf00",
       
 14428 -   "a4d6bd96f61637d730c9c",
       
 14429 -   "460372cf36a22fb6b9641e",
       
 14430 -   "43dcb4450a256b9a0eb673",
       
 14431 -   "10fafca3d5f71faff8f1a",
       
 14432 -   "177f43e8d62e87c66b9da",
       
 14433 -   "420c1c0074adbe0616df4b",
       
 14434 -   "1e39f05dac576881e6c295",
       
 14435 -   "7234cde8ecc6673caf864a",
       
 14436 -   "661787ba011711628186b7",
       
 14437 -   "6473dbfbe4a3f63d08e3f2",
       
 14438 -   "62b2e70d411eb11bf0a695",
       
 14439 -   "2e684b7951a2526d838fd7",
       
 14440 -   "5b4aec35da23a27808974",
       
 14441 -   "51e267e9a5a7684ebfd343",
       
 14442 -   "36b36922114363ceb85a26",
       
 14443 -   "5687a42dcd55b43227f657",
       
 14444 -   "3d28e1c12f9c60e500dce7",
       
 14445 -   "6bc6acd592c0200b749e07",
       
 14446 -   "773a63e6b7c9e3bec91272",
       
 14447 -   "536bfe32ac8da07b253be0",
       
 14448 -   "2146fc84389596cf6fa8ca",
       
 14449 -   "12a2fa8c4d06a694b748c6",
       
 14450 -   "49ede33966bc3f0dc8757c",
       
 14451 -   "4f787847feba11bfcbc764",
       
 14452 -   "b2687172956319218655e",
       
 14453 -   "4bdbd2765933e2b1d70563",
       
 14454 -   "1ef9edb1f958cdf81fb9d8",
       
 14455 -   "6e8b2732511303a48ef731",
       
 14456 -   "3608208e4497b40a62b3a0",
       
 14457 -   "2c4bac0a0cf06ff50ff71e",
       
 14458 -   "784bdef1566f244d4ff44d",
       
 14459 -   "5cd3a1cc8bf78e4c7e3747",
       
 14460 -   "418b73330a3b4d1a80474f",
       
 14461 -   "5f87453deb48ed6c9a1afa",
       
 14462 -   "3d9131aa5802e27a83eb61",
       
 14463 -   "61539cf7b388689e7a260a",
       
 14464 -   "260213253056e29f0ac6e3",
       
 14465 -   "2768a7a783d9baa4e5cce3",
       
 14466 -   "7e61e3317d07a1009894dd",
       
 14467 -   "6927c4b12865ac8f053dcb",
       
 14468 -   "352d204330140b3786230b",
       
 14469 -   "67ae2ace35fde529154a8f",
       
 14470 -   "7e37a126be9507ba4c717f",
       
 14471 -   "2306ed04565a9cf9fa84c2",
       
 14472 -   "6b380bf5d71fe523ad1e4d",
       
 14473 -   "6aece787aae5251b57b3ae",
       
 14474 -   "7f2209419e3163fbb4cd8a",
       
 14475 -   "376c7a8d0fa0abf4c0bb7c",
       
 14476 -   "39a26bf8336439ba9968b4",
       
 14477 -   "620c14b60053b660420c4b",
       
 14478 -   "19675db116558d90bb4f6",
       
 14479 -   "2c16632a312edfedcc7f72",
       
 14480 -   "1945686d70d9df98093dd1",
       
 14481 -   "62e4e44df51bf11734aafc",
       
 14482 -   "5d3293ca54de6a3aa06b08",
       
 14483 -   "610d07557d991d9db3dea7",
       
 14484 -   "6b25878a1ec102b9e883f1",
       
 14485 -   "5d29345f097e1dc041bc7f",
       
 14486 -   "797d4c38129f52836fa5c7",
       
 14487 -   "5bb2eece8c95a515d2e2ea",
       
 14488 -   "451e904c04882b739d233e",
       
 14489 -   "4dac1ce4b87e60431b8a4d",
       
 14490 -   "2f8592e02ef759cdd34c72",
       
 14491 -   "7c1d3420db42a6ffd37cef",
       
 14492 -   "4b0d1ff6297b378945b906",
       
 14493 -   "744db8f7e25f69bc47f2cb",
       
 14494 -   "7fcd5bd9328b9f06223a1a",
       
 14495 -   "37f7d323d5bf332eed1bcd",
       
 14496 -   "629e9c894bbbebf06d3299",
       
 14497 -   "d427f0f9d14ecf4c54fbd",
       
 14498 -   "71e1aa5a9aacb38b66f605",
       
 14499 -   "361fe28e640ec02ae49613",
       
 14500 -   "551b691726c66f9ec1f9e8",
       
 14501 -   "523ee7b96bbc2b0977b4f",
       
 14502 -   "52e6bde0fed2ecd82f7bf",
       
 14503 -   "3a4a4ac73bb38c0c48aea2",
       
 14504 -   "207cf80fa76e8708f88dc9",
       
 14505 -   "2bfe7376e8ab62fafbff59",
       
 14506 -   "7b8ff43621b7fb13c3edd2",
       
 14507 -   "726dd56f61c4c5016201f9",
       
 14508 -   "3915c71f3b447b64ce4513",
       
 14509 -   "4781781ebc739ed9d4e35",
       
 14510 -   "3669984e1ddcb753afb878",
       
 14511 -   "6c8071fad8933706efff6c",
       
 14512 -   "25330fc3e5df50eee77cd4",
       
 14513 -   "316bc661e89aeb9e7e20a6",
       
 14514 -   "2a035934ba5fafe2ebaf47",
       
 14515 -   "515a0593d1e619118d226b",
       
 14516 -   "72716051b13a2c1876c8ef",
       
 14517 -   "98079c36403a029b3f0bd",
       
 14518 -   "388d8c3c958b6abcbf6aba",
       
 14519 -   "3d9a1023138b0e9cbe7d70",
       
 14520 -   "7bc0acaa724475da5a8a83",
       
 14521 -   "4a266217d4534cc588119",
       
 14522 -   "62baea1b89700a3953e872",
       
 14523 -   "5fa826fd6352f83c34bb5e",
       
 14524 -   "71be60f1312db2fcc7f045",
       
 14525 -   "51cf9e84f5414c7907e79a",
       
 14526 -   "1fc064c4398ccf6bf7b1de",
       
 14527 -   "70594464b46de9acc11f02",
       
 14528 -   "4de3353d33028c5f557394",
       
 14529 -   "15060a6e69612092d45768",
       
 14530 -   "2142584bb5cff6c1e5011e",
       
 14531 -   "7eaf34148ada80711a86fe",
       
 14532 -   "64f201a4086e40b2a3a19d",
       
 14533 -   "2d794034e6ae324ba7041c",
       
 14534 -   "56359d56dcb06ea3ab68ec",
       
 14535 -   "49d6a78a88159326775c2e",
       
 14536 -   "32c2902887e1700cd5dddb",
       
 14537 -   "c8806bb60205886d4ff9d",
       
 14538 -   "c0ecef4f88f5957d4b1b",
       
 14539 -   "b0715d55fe0c1edd9613b",
       
 14540 -   "b512df0270e6ffe2d4a9f",
       
 14541 -   "563e208513fb23ff9ca7d",
       
 14542 -   "54c245a123767ef7f22e33",
       
 14543 -   "5e83dc6dedd0679793feca",
       
 14544 -   "3c53d6131f8c41d5d7317b",
       
 14545 -   "349470b19ee7a8cf922b33",
       
 14546 -   "432c0a15a9dc31696b79c7",
       
 14547 -   "3de21ce46f7c8be3bab3b9",
       
 14548 -   "669f3588d7a4ca7ee3dd1f",
       
 14549 -   "2bf32012cc6354c709ad2",
       
 14550 -   "2e5ffe59b5dd3843fa4c17",
       
 14551 -   "601b382825c1515525a19c",
       
 14552 -   "78dfe864170ab14a408743",
       
 14553 -   "6ebb0dee9291bd90cd2215",
       
 14554 -   "6f52ff1c7f6dba719401b2",
       
 14555 -   "d16f53a28b7042d305524",
       
 14556 -   "67daf6ba4dc4d74236df77",
       
 14557 -   "72118d192add3aa4c1e0b6",
       
 14558 -   "7e1ce3bec1e98dd35947ed",
       
 14559 -   "2330589e6c22439bef95d1",
       
 14560 -   "214d49f3e2681b232cf62e",
       
 14561 -   "ceff6274c7b15ae86dcc",
       
 14562 -   "ee736adb9b9c1860d483b",
       
 14563 -   "550e4c9178e5dead2f815e",
       
 14564 -   "651be8b59b15d629ab774a",
       
 14565 -   "655b44d3a92231714b14c8",
       
 14566 -   "1a88cb781abea4a70cdfa7",
       
 14567 -   "7a520385f587099a8da6a1",
       
 14568 -   "42a1f9791054781a203d9b",
       
 14569 -   "1aadb770481974ec7ba970",
       
 14570 -   "1634b76faeb97237505ef4",
       
 14571 -   "577a2773ebc9e2412cb050",
       
 14572 -   "68075aa010a2a7afcb2078",
       
 14573 -   "e5d22d0ba9e3194e2337d",
       
 14574 -   "68c1092ddd7cea180b7a8a",
       
 14575 -   "1f6a141f6eb54cb95d54af",
       
 14576 -   "6db9060a2078f4de4b4e1b",
       
 14577 -   "21ac3ebe991cfe1bade37d",
       
 14578 -   "45e67b0777cb6facf28d74",
       
 14579 -   "398768a52710b109c92dcd",
       
 14580 -   "6c65a41601a28b4854db0b",
       
 14581 -   "3fa82c77c11ef3ce373a08",
       
 14582 -   "2219a8eabaec2cc4da44cf",
       
 14583 -   "25b286320c27c0f91c388",
       
 14584 -   "c663e7994203d116af45d",
       
 14585 -   "373211f704832f37df113f",
       
 14586 -   "33f6606f82062475e2caf5",
       
 14587 -   "77ae05c9ad4bb1a82ee6f6",
       
 14588 -   "72f290cf9ea470dcec1318",
       
 14589 -   "20cfa0c6bfbdce5e399a70",
       
 14590 -   "384ac895940651e4b3df31",
       
 14591 -   "2a6da3e3f6425cc4caf185",
       
 14592 -   "3559d5470cc8be88bbee52",
       
 14593 -   "731437b69ca76a93992caf",
       
 14594 -   "31f0df7953457ce90524a8",
       
 14595 -   "7fdefc35775213402acc91",
       
 14596 -   "246e8276fd64f7af18402a",
       
 14597 -   "1e604eea4a6fb7804d131c",
       
 14598 -   "f6074b1e17e08713a2a46",
       
 14599 -   "23931a4d64503bc81a5a33",
       
 14600 -   "6395a035a6a5e009dcf586",
       
 14601 -   "23db937264552bf6dc2858",
       
 14602 -   "50e45902fe1a308ec88670",
       
 14603 -   "42e82d8613957e0acb2b09",
       
 14604 -   "3d50a612150493864e2df9",
       
 14605 -   "1f08599df3ce28d2e2a99",
       
 14606 -   "172e3a20b269ac416b7186",
       
 14607 -   "624f69e6f91d2b9574cb8",
       
 14608 -   "33b05c78a18798e4462d45",
       
 14609 -   "5d5e844e1fd78c36c3341e",
       
 14610 -   "5a1b57c203d09cc8a22696",
       
 14611 -   "775bde6bde2d0aa4187fe7",
       
 14612 -   "4be11f1cd60954626093b7",
       
 14613 -   "571513666bf5e4e0b1c7c0",
       
 14614 -   "30e484fb4ce5927a937373",
       
 14615 -   "6ead11e0936e4bb4e855e1",
       
 14616 -   "14b5583a83133add54d368",
       
 14617 -   "361de61b4e6057d1cb2274",
       
 14618 -   "24364b397921eedc03333e",
       
 14619 -   "3f26224827d27901ba392a",
       
 14620 -   "147a0d7fc26817e7251ada",
       
 14621 -   "4debfa77d5d5f3fa106f86",
       
 14622 -   "1f8b63c5fea99ffd6a5348",
       
 14623 -   "59dbf0c177e94a664cfe3b",
       
 14624 -   "656e5b10b9da085176e0e4",
       
 14625 -   "678fb8bf7f6342c5764339",
       
 14626 -   "2cd2d00d4262f35754bb13",
       
 14627 -   "67b770c97867478cc69b37",
       
 14628 -   "bac1f8bfa0e63045ec3ea",
       
 14629 -   "4303859a49916073987344",
       
 14630 -   "322164812a5696cb2322b0",
       
 14631 -   "50148cebf8644fa7375aa",
       
 14632 -   "50b37142bd10ca63ad3866",
       
 14633 -   "5a86321f172c81fbf185ef",
       
 14634 -   "4972dfe88d7e4fb02ffe72",
       
 14635 -   "3aac1aff3b6e14d31a91e7",
       
 14636 -   "6d575f1601945a3ca29eb8",
       
 14637 -   "6c290f053f3f46327ee8ec",
       
 14638 -   "73040349f8459e94069012",
       
 14639 -   "2dd44a6d1765874cf1dbb4",
       
 14640 -   "52492b4a4856d777ca0682",
       
 14641 -   "76d72d56a09f253d257f0e",
       
 14642 -   "6a4862d59f8198b4ea0fd5",
       
 14643 -   "ee2c219af9300476a7d41",
       
 14644 -   "60548a10984139e59f5d8a",
       
 14645 -   "423813f9eb92bfadf14d9a",
       
 14646 -   "6a3f78db4e25085a772f7a",
       
 14647 -   "a3d31a1daca53878fe695",
       
 14648 -   "1c24006c67392d350aebe9",
       
 14649 -   "5baffc06fe51f5caa49a4c",
       
 14650 -   "6f4a829757301eb1143585",
       
 14651 -   "202377a9328fcb8f661a5d",
       
 14652 -   "6506edb4005521bcb61671",
       
 14653 -   "208dfefbc938eb8f166f28",
       
 14654 -   "2f8aa359ac5538f4834ed7",
       
 14655 -   "6b36296c1bd668243e920e",
       
 14656 -   "7856c391e8828b90a94afe",
       
 14657 -   "5728f13fbf1367c5292a3a",
       
 14658 -   "6db3eec1da4e57eacd7cf4",
       
 14659 -   "520f0b6932233966b7bdb1",
       
 14660 -   "225461e731f47cbf2cbf5f",
       
 14661 -   "15bef1b795296c7e8862d0",
       
 14662 -   "217d231f2ea4bf28c97e44",
       
 14663 -   "31e4aec6d42e52c762e301",
       
 14664 -   "16103ea0d454ef686ebf4d",
       
 14665 -   "34470b1eee2f871c42ba71",
       
 14666 -   "5d172643cb569d9b2ab357",
       
 14667 -   "45838fc0d9bd4e814df398",
       
 14668 -   "520d412f22645bfa3f3a33",
       
 14669 -   "5dd2532249188dbe3d2539",
       
 14670 -   "336699d6c6f15f6ab914e2",
       
 14671 -   "48384f03b178aecb456dbb",
       
 14672 -   "358734094106c4c77371f8",
       
 14673 -   "13705ad9594243161047cf",
       
 14674 -   "9cc0a7524feb44aafa989",
       
 14675 -   "2f615de4e96f8f9837947f",
       
 14676 -   "4f571e68d11ba0c201ec2c",
       
 14677 -   "1c7c6456335bb722881302",
       
 14678 -   "56f01f51a5be66f649b1d6",
       
 14679 -   "4a2416a8cf412f996e9654",
       
 14680 -   "5593dc730a3a85d6ce77d2",
       
 14681 -   "70628248b6cda7311de5ca",
       
 14682 -   "49212e86ec70f1b328e11a",
       
 14683 -   "3669075c083d3a0547d7ee",
       
 14684 -   "7c64411c354fca180b974e",
       
 14685 -   "be2266f15dfa6e02e4a02",
       
 14686 -   "69110081782c350722756f",
       
 14687 -   "5370ef9f2399e3c803b5a6",
       
 14688 -   "4277911fa0e430960db091",
       
 14689 -   "46d2651ce40dd1fdd11e69",
       
 14690 -   "65838019d10030d2edd34c",
       
 14691 -   "79ae8d3a65221805ed59d3",
       
 14692 -   "4762e175d924ca1dff7d06",
       
 14693 -   "226f7d490aa9d47314570",
       
 14694 -   "673a9bc1330de8c0b0abe1",
       
 14695 -   "a80defe299bf7c4d81738",
       
 14696 -   "1916345f1ad90cf48c6472",
       
 14697 -   "13cc5c5fa7afb2b7468106",
       
 14698 -   "656f70349417ef562616d7",
       
 14699 -   "520db901eb8309582e12a2",
       
 14700 -   "4253e27061630b9343ddfd",
       
 14701 -   "43012f86bfa02bf0033ee9",
       
 14702 -   "51524048af5a6750b1955",
       
 14703 -   "37a4477749686070e7e049",
       
 14704 -   "39f7a72e1daced6411b1a6",
       
 14705 -   "4a98326f880a44e2d6ea5e",
       
 14706 -   "574f95a475dce62a3071ca",
       
 14707 -   "23c20aae79c2ffaa75a36c",
       
 14708 -   "59f67a0c66d5e9744004c6",
       
 14709 -   "25ff556cf1afefe2cd2ba9",
       
 14710 -   "41be4715ccf6dde8b12086",
       
 14711 -   "5e9464fbce6027257d92c6",
       
 14712 -   "5b57bc12988f27dd0ed418",
       
 14713 -   "1f1c7eef9d0f99e1e209db",
       
 14714 -   "1a95aa2ba56c053acf7e56",
       
 14715 -   "6f085a8f46a66e79fe4f92",
       
 14716 -   "728aa131a37012e184c2b6",
       
 14717 -   "21469f9c49fb4d2fb54baa",
       
 14718 -   "67d12b5d61741b8623f378",
       
 14719 -   "2a1abd32897155b55014be",
       
 14720 -   "35ebfb3fd5a71979daee0c",
       
 14721 -   "3c994e655edabd5cfbe8b8",
       
 14722 -   "b5f14620587f1e8ed5a45",
       
 14723 -   "4cb0c7462e90f28fa251d",
       
 14724 -   "608a29bc043b54adde90b0",
       
 14725 -   "6337453f9c180b8ddb37c4",
       
 14726 -   "60e351e7834b181d30a00c",
       
 14727 -   "15324434e27844cc4fba51",
       
 14728 -   "259839d29faddb791e3548",
       
 14729 -   "198d839621f761dde4f853",
       
 14730 -   "221728332d3142e3346be",
       
 14731 -   "48cd6ee15c4874d342b21f",
       
 14732 -   "7964fb4049b23d750b6f0e",
       
 14733 -   "365cb247c96e7933341e76",
       
 14734 -   "4f7806a65676c896ee7db9",
       
 14735 -   "99539a5120bf06fd3edb8",
       
 14736 -   "4374a87512bdcb27925ebe",
       
 14737 -   "db7255fca12f37c452ffa",
       
 14738 -   "4a2cef4e3606d1b9422334",
       
 14739 -   "b8385ec48f904d72393ba",
       
 14740 -   "71d26320321cdb1dc925e0",
       
 14741 -   "1f8889a7c0321f5279b37a",
       
 14742 -   "7decc101d84d7378c8efe2",
       
 14743 -   "1526a67a2f54717285cebc",
       
 14744 -   "4a292844d7aa26520c09b1",
       
 14745 -   "5edc4541d1854504d071a",
       
 14746 -   "44f34a642236b1e7e4c8fe",
       
 14747 -   "87eada956963224c06418",
       
 14748 -   "76393b1564fa2cd841480e",
       
 14749 -   "2aec8efef6c41604b67a83",
       
 14750 -   "2644cda468b716b53c99d1",
       
 14751 -   "4d74065738715d35d47743",
       
 14752 -   "1118a89d656497538996f2",
       
 14753 -   "26102582959271955d45bb",
       
 14754 -   "1318f3d7743d8ee4ecfdb2",
       
 14755 -   "3128342c1cd21185c739db",
       
 14756 -   "7568ac37df7da28c47bab9",
       
 14757 -   "be26e79f27c2fffd5718b",
       
 14758 -   "2655fc5da8cafdc10e8c6c",
       
 14759 -   "6336954989b8a716380f64",
       
 14760 -   "2f1dd3930a2948f2187f86",
       
 14761 -   "90bd6d6fef2e358a664bf",
       
 14762 -   "675948e6670907b03227ed",
       
 14763 -   "2025bd13134bf0ca69b0f6",
       
 14764 -   "509dfa92ab81408672391b",
       
 14765 -   "5c699bfc1a98ced38d7c88",
       
 14766 -   "14816e04a6b799d1ce9e1e",
       
 14767 -   "61978b574cf8f6d53118d6",
       
 14768 -   "4e203019ba4b94cd691d60",
       
 14769 -   "7df66ef2eea696dbe6ad95",
       
 14770 -   "43bc8bffd5b4fa12491d7c",
       
 14771 -   "1207aa2a4ea7c882b5e76f",
       
 14772 -   "3e9654e3940c0f541b93cd",
       
 14773 -   "4a64cce2fc4633dbb63e09",
       
 14774 -   "4385d494a7bdb154810c4d",
       
 14775 -   "dbd1bb9693e65c5eeef4a",
       
 14776 -   "7d58cee39bf1830f1b3ec0",
       
 14777 -   "6cc6a998d40d1bad211cd",
       
 14778 -   "3aa6d80b7b4477df65330a",
       
 14779 -   "2ae1383e51812f870ebf41",
       
 14780 -   "1107ffccdffb2932659325",
       
 14781 -   "9cf05f6855d4068390948",
       
 14782 -   "36f24af02e5318171bea53",
       
 14783 -   "4d0a046c7ec4f54117f367",
       
 14784 -   "7bb1913bf745fa526f18a8",
       
 14785 -   "2970c6e86dd017c5341ddc",
       
 14786 -   "58c411222783451febdf82",
       
 14787 -   "657128352843035ba5fee1",
       
 14788 -   "13c9d1e81de8cbb64a1797",
       
 14789 -   "66e2564796168c2d0a015a",
       
 14790 -   "1b9995439565d095eb8a8c",
       
 14791 -   "43cebcc2f248fc1fcbd6b4",
       
 14792 -   "7e18b1dc04cb3af247aa31",
       
 14793 -   "269ad3cfbd18bd255786fd",
       
 14794 -   "2f1b9eb8c8ceec3aba8c3f",
       
 14795 -   "890072ab6d3eb608d30ea",
       
 14796 -   "4e72dcffc8f26eb136b7c7",
       
 14797 -   "71db6b9125d5ab5b3e7493",
       
 14798 -   "57bcb68e1f52791794bf4b",
       
 14799 -   "7489fd5407cd56abfcfc49",
       
 14800 -   "45d43d697cb8503c85839a",
       
 14801 -   "2021e0329a909a39851fe3",
       
 14802 -   "6eceb600a9b81fd3aa7175",
       
 14803 -   "4d63e68650d056d4e2cca2",
       
 14804 -   "21789b3595bc366315af2",
       
 14805 -   "781973046ae51aa956a060",
       
 14806 -   "2353c3f920ce7af530f96d",
       
 14807 -   "4a8154e2948099e7b7c4c5",
       
 14808 -   "319945f43efa75c6d6fbd6",
       
 14809 -   "1a0cc5d78d1da3759fd0fb",
       
 14810 -   "75a29d53450973ae07e5b6",
       
 14811 -   "670c6449f82194e5367c1d",
       
 14812 -   "6978fb86dcb4ccc82a3738",
       
 14813 -   "f6c4daf384fb3d39aa985",
       
 14814 -   "47df2e03e1548a16e223be",
       
 14815 -   "36224c16a9190272a21e14",
       
 14816 -   "abbcfb2e4c3da6b090978",
       
 14817 -   "1fb7c568bdffd12b767330",
       
 14818 -   "77f657453333dfbed3c7e5",
       
 14819 -   "68855602ae559673b8a2dc",
       
 14820 -   "57b79cb347145bcbe43bcf",
       
 14821 -   "542f3c6130072ffd145c0a",
       
 14822 -   "7d43897c9a717ea4ffaf53",
       
 14823 -   "2928531ef291fb90d243e3",
       
 14824 -   "6308b8f5574126f70ec3cf",
       
 14825 -   "3b77afb6ec85d92608bbc9",
       
 14826 -   "39bc9fe63b4ca1891dbe7f",
       
 14827 -   "14b126e3c0b0f4dae2ddfb",
       
 14828 -   "634af4f8ff5eecb70f9b3b",
       
 14829 -   "5939fc19fad9c14c8917a9",
       
 14830 -   "cb351e8f1a28278af3af8",
       
 14831 -   "41ff1be99bebe99b10f273",
       
 14832 -   "32c9397c9adff65d943965",
       
 14833 -   "1e1de465daadd9547d63fe",
       
 14834 -   "1924697a3681efc60e8e70",
       
 14835 -   "3e14120ed24ebae50e64ef",
       
 14836 -   "29bfa87365d098b3fe8377",
       
 14837 -   "48ad93093caf03d61b0aa8",
       
 14838 -   "116c396589d81e0684d5a0",
       
 14839 -   "4550a8c9126d63e137546e",
       
 14840 -   "3d325eede75d0a573042e2",
       
 14841 -   "715fb02624875de3ce495c",
       
 14842 -   "2c1cf6d476ed98aad97b90",
       
 14843 -   "41ec16a5c725c7d32d3a8d",
       
 14844 -   "2a6ced30aaeaaa3957eaf",
       
 14845 -   "284cbec8937114a1728cdb",
       
 14846 -   "7fd049d0f5d16bca84fbf0",
       
 14847 -   "1ece2489d9c16fd0d7c093",
       
 14848 -   "7a1817cf8f21c4f863437a",
       
 14849 -   "2b89a454954d4c6b2e2120",
       
 14850 -   "44b51755bfc5410d6cfad6",
       
 14851 -   "31e4383d0d65d0adfc3084",
       
 14852 -   "2f44e6e7eed452c1b02ade",
       
 14853 -   "46861d4c2ab5de181f3e32",
       
 14854 -   "30c01b8abdb9d98a7941dd",
       
 14855 -   "593ba411e3481cff090a6e",
       
 14856 -   "5f7998cdc984bda089a530",
       
 14857 -   "38863908f348e0ff24d2ea",
       
 14858 -   "7db23dcfd5b48847b2da44",
       
 14859 -   "70cc62d0a35cccb85972ee",
       
 14860 -   "51e871e33b066886db1e57",
       
 14861 -   "7ab8d7968452d732fc3362",
       
 14862 -   "6cbec7ee27571943d99309",
       
 14863 -   "65ccc844f43d7740c3bb83",
       
 14864 -   "2d92e146c92e5c2141114e",
       
 14865 -   "78208a8be2c33504df2573",
       
 14866 -   "1b892a6bc6d106036dc210",
       
 14867 -   "1ba30d22d8ca0e3412c0e7",
       
 14868 -   "7f5d5abee4ea627ca346c",
       
 14869 -   "29d27ddd5f46b0a514ec85",
       
 14870 -   "717a62d953937ab8d63ef4",
       
 14871 -   "46f7147d837df6469c39be",
       
 14872 -   "1e9e640158c2d5ef405818",
       
 14873 -   "7f30d40bb0193bcc3bff38",
       
 14874 -   "7e84a589b79843d0f09d89",
       
 14875 -   "1984882a708094eb26643e",
       
 14876 -   "6b386c8a9795cf0b45e160",
       
 14877 -   "282bde17894173789173e7",
       
 14878 -   "75b60c74c3f4835e0ba3f1",
       
 14879 -   "66673b06f4474ab9ac84e3",
       
 14880 -   "768b4e15703c2b99a95ee7",
       
 14881 -   "3c7d066200b6ae5892048a",
       
 14882 -   "194fc13ec819c9e2289cea",
       
 14883 -   "3c066553be4fa2a741db4d",
       
 14884 -   "31018337a926110b0a5b91",
       
 14885 -   "7ca0b74cff2de67657aaa1",
       
 14886 -   "610a799f5f9443dd8f333",
       
 14887 -   "29dc0e371f2a3ea6cf4d60",
       
 14888 -   "bf1c05f166718be1c6836",
       
 14889 -   "309eb70bbb47b20185134f",
       
 14890 -   "4b31d20ed3a1f68f117d30",
       
 14891 -   "201a5f031183f9e3136174",
       
 14892 -   "6d82429df8c04f3e8cbdea",
       
 14893 -   "4e4d1094ae9ce9f42b1d71",
       
 14894 -   "65e071aa89e8e9caa17f",
       
 14895 -   "7c3ad9d6ed54817d082b65",
       
 14896 -   "352a1b67a355f38121c462",
       
 14897 -   "2d980e097ecb2ab91b9b92",
       
 14898 -   "96afde4db924db62eec7",
       
 14899 -   "6e20ab59697e8bf608ee9d",
       
 14900 -   "2ab6145578df975521753c",
       
 14901 -   "5c91f707bee21c71c33c34",
       
 14902 -   "676d8d92a92b0706da21e1",
       
 14903 -   "3a82f64175d5b3caec9c53",
       
 14904 -   "2ccc62a5fe0c2d164b78ac",
       
 14905 -   "7f53a40fb6d59c55fc0a6a",
       
 14906 -   "eb12a34ffd8e97426aebf",
       
 14907 -   "330554538efb3452d928d9",
       
 14908 -   "37902c15fea70cc2588984",
       
 14909 -   "1e3f1f00ee5c87d8bcc6a5",
       
 14910 -   "21e6a33067365b1e718020",
       
 14911 -   "4113025c4b26d50d501a53",
       
 14912 -   "1d50b663f8750fc777a8a9",
       
 14913 -   "47267802b4baf11a616d7b",
       
 14914 -   "206a9c38358f291b01e407",
       
 14915 -   "7529b300b4b89c580a5f62",
       
 14916 -   "59aab11c164124e5cdf604",
       
 14917 -   "3d3a2d2ef7d22dc8adb10e",
       
 14918 -   "1fa48382ab305e0404adc",
       
 14919 -   "6e72d626e97997cb842159",
       
 14920 -   "53a902325a9087232d64a1",
       
 14921 -   "726d30610282ed39d8f203",
       
 14922 -   "6e48887c0bee3ba8386f63",
       
 14923 -   "532cc2e0afe1d979c42a70",
       
 14924 -   "614224558d52e5d4eb23b8",
       
 14925 -   "c0bc8c55f3b95e521ebf8",
       
 14926 -   "1b4e22a54398ec5712c2f5",
       
 14927 -   "45109475272b0ee96581b7",
       
 14928 -   "6c065cf636d6bc65762095",
       
 14929 -   "7bfe5c12baaa86c60d8117",
       
 14930 -   "62e55ea318373ea102e458",
       
 14931 -   "46789b05c1e88afd58b2c6",
       
 14932 -   "37120883f03d674fbee3d7",
       
 14933 -   "63a482d47b34384d6c0abf",
       
 14934 -   "78778c448d7d69eeff19c7",
       
 14935 -   "69527863032c1ba7d7e238",
       
 14936 -   "574f9294e066c8fdb761b7",
       
 14937 -   "3adbdefe2bc4d894d3eea5",
       
 14938 -   "7c2fed1746d715eb95529",
       
 14939 -   "2501ea3eadb12569e01e7e",
       
 14940 -   "3d49c943bed92220933501",
       
 14941 -   "2327087d544749f348c909",
       
 14942 -   "63a2efcfe030b5eb3fd526",
       
 14943 -   "2d2c322dac49b5fc4277a6",
       
 14944 -   "4ebe9580f66ecfa62bdae4",
       
 14945 -   "39450177cdd3980c4efafa",
       
 14946 -   "3349dac2077bfdf6a12d86",
       
 14947 -   "56b71258283af76e7bcfab",
       
 14948 -   "2bcddd9fb0f98505c98aa9",
       
 14949 -   "45166035762ea541feeea1",
       
 14950 -   "6bf558bed09b770ac7b7db",
       
 14951 -   "69498de156a0aa10a4e2dc",
       
 14952 -   "6cc9f90d012be002904668",
       
 14953 -   "32f8a36cc1b46c25cdcc28",
       
 14954 -   "312ecee1519b0617d31186",
       
 14955 -   "706df4fd50e1c42994aed3",
       
 14956 -   "4edae7063e31e196fbffc4",
       
 14957 -   "7bb42f21df6b474c926cab",
       
 14958 -   "7c2bf4a989b0889ab6c2ee",
       
 14959 -   "14a25dabe8f8f9bd2745b5",
       
 14960 -   "14266a10ce4302dd32d262",
       
 14961 -   "411254ef95bca10cdc61b9",
       
 14962 -   "2cb3e5c4dae6b173319195",
       
 14963 -   "575c81fbd5408f583cec84",
       
 14964 -   "904098cdbfd4389279e30",
       
 14965 -   "4499b6e3311b7fe5b9c98e",
       
 14966 -   "210804240b673797c1da0b",
       
 14967 -   "4cfa062853643ca21aa8e4",
       
 14968 -   "155503fef8a8a42650f8de",
       
 14969 -   "214de8b9e305b92a9ebc6a",
       
 14970 -   "aebf119c49f1f5d4fa77",
       
 14971 -   "4019e2ed5f4f686e75a334",
       
 14972 -   "26e8b6fae1b81184be307f",
       
 14973 -   "4cbbf282cb8d5b492509da",
       
 14974 -   "32124e45d595b542218cca",
       
 14975 -   "4fb7ac8e103e64af4c501b",
       
 14976 -   "4a99080981fd90fd8f202c",
       
 14977 -   "5fe19870cf156902f09ea2",
       
 14978 -   "35da7f1fc27e6edf7e2774",
       
 14979 -   "171772c43b172c6f59b4ee",
       
 14980 -   "396792f2585d3e823623df",
       
 14981 -   "68b020f430372f0b20817e",
       
 14982 -   "58a41d74e16c1b1fb6cbf",
       
 14983 -   "6ef7e0b470470f565c088f",
       
 14984 -   "4dba440f7f398ce0198b25",
       
 14985 -   "2840ecdbeaf847ed4e56fd",
       
 14986 -   "2f36ea2bf51461b1407878",
       
 14987 -   "2cf0b3c6e55d4f6c794d8f",
       
 14988 -   "31fcd9e9b87aae6bf32f83",
       
 14989 -   "47626057be8af9d92cef74",
       
 14990 -   "2113e1a93f5d2f1cba0377",
       
 14991 -   "4176799b704bfacae7d897",
       
 14992 -   "524919eb6636c6c6c14a82",
       
 14993 -   "64d1d7c43b00bfc99b8bb2",
       
 14994 -   "76a279212b584d95ed2cd0",
       
 14995 -   "37e704706a7967491e3628",
       
 14996 -   "5e1c654c63269bdc77fee1",
       
 14997 -   "58b898760417610a09ff41",
       
 14998 -   "64981a92737099a91d3794",
       
 14999 -   "571cc10547604b09ba9b69",
       
 15000 -   "6714be0beb22d71708c5e6",
       
 15001 -   "359b739ee10f4c4f24e721",
       
 15002 -   "454b67d8b7470679eeda79",
       
 15003 -   "615326e14c6c74c717def2",
       
 15004 -   "2dd86ec9cb242b4e68016c",
       
 15005 -   "62a4fc7a9af2d27e92b08f",
       
 15006 -   "cae1cd222ac38b9a89a19",
       
 15007 -   "5fd2fb0300581c5f59fa7c",
       
 15008 -   "1488492f946cb788d721d6",
       
 15009 -   "509ca3fe7eae200044712a",
       
 15010 -   "27c4576460764aabe86ca",
       
 15011 -   "72e3a111047449df428c07",
       
 15012 -   "4dd2e16c6f9989907671be",
       
 15013 -   "415d623b63f929b3ef879f",
       
 15014 -   "9b13c11e290284a86caf",
       
 15015 -   "78b61404bffa36b135773d",
       
 15016 -   "10c2f27dd2e5d8f77a071d",
       
 15017 -   "684e96f56360b04576ab1f",
       
 15018 -   "6bd55e81cea4df6934b8f5",
       
 15019 -   "288723d0eb9a25150c0772",
       
 15020 -   "4eca5fbd35a4778cd18f80",
       
 15021 -   "590c069f4d458da38448fb",
       
 15022 -   "6a91ca9f24a59bd3f77cce",
       
 15023 -   "4520d49550bf0a2328020f",
       
 15024 -   "31340daa6bee66dc702e47",
       
 15025 -   "21cbfd5db5cf856bb6980a",
       
 15026 -   "2ac5b705311ca0e8e6bcda",
       
 15027 -   "28390f3626b1fdadbcbfd8",
       
 15028 -   "3b79806e60c6443e5b75ae",
       
 15029 -   "4e1dab19fafdbf4d11123",
       
 15030 -   "4bba04cb6f7dfe33e4bd",
       
 15031 -   "25b65fbcf4deba1535165c",
       
 15032 -   "5d2602e9c7bafe79929bee",
       
 15033 -   "1f5e885344b51456b2195b",
       
 15034 -   "5c585a64ca68d89750e9da",
       
 15035 -   "715687651f6925a41a3bf1",
       
 15036 -   "47be6483decbcd32c50b44",
       
 15037 -   "3fdb397b831af56c0902f1",
       
 15038 -   "60ea199093a4e9f80613b6",
       
 15039 -   "59048c7bc400c1b2f055f1",
       
 15040 -   "5ed2c798bc4d3df9693b4a",
       
 15041 -   "26c8838f41263334d39302",
       
 15042 -   "257f0dc17de9e402db5577",
       
 15043 -   "5eacde9e13242553f24977",
       
 15044 -   "232706fb395f1e37b2683d",
       
 15045 -   "5527388c03206dff6a464b",
       
 15046 -   "6207f87b59fc321d1fa8c5",
       
 15047 -   "3eed8387e5a22f84995caa",
       
 15048 -   "1ead4bf29c5aa1e11118b1",
       
 15049 -   "4e9e415c8033fbf3989b6d",
       
 15050 -   "6ed402123cbfe00df8030b",
       
 15051 -   "15c5021e3387b5104eda39",
       
 15052 -   "385c720d2080ae9544a074",
       
 15053 -   "12502410f917e813c566e4",
       
 15054 -   "dfa61531c98e389318ffc",
       
 15055 -   "75df623177a9cc914a680f",
       
 15056 -   "16a2f9f4e53133020d693f",
       
 15057 -   "68bba5659f4f20356a0cad",
       
 15058 -   "5b60aca7fe85259aa048ba",
       
 15059 -   "748cb85b7df9ca5a82d4a0",
       
 15060 -   "5448bba652328fd63e3ca2",
       
 15061 -   "497b40c11c5d479cab5f20",
       
 15062 -   "1ff2197a0e5b3d0b65c928",
       
 15063 -   "175182c7cd2ce431b0150e",
       
 15064 -   "58a47971604afebfc2dfe",
       
 15065 -   "7feefa2c38e3a6212b4cc2",
       
 15066 -   "1dcb001f06c75da3270a59",
       
 15067 -   "3e7a71b985de5c6c7a9f57",
       
 15068 -   "ccd4be560162041ae08e2",
       
 15069 -   "4ec109ed0d029a0c6bd1c3",
       
 15070 -   "363177aa4ad204478f4d2e",
       
 15071 -   "7b94e69ecfb1ba4bdf42b9",
       
 15072 -   "68bf1a165a85b17f192a39",
       
 15073 -   "fca586b3bb595a8d4101",
       
 15074 -   "7914f6f164e20860badddb",
       
 15075 -   "d959366c9d2eed9c988e",
       
 15076 -   "6b1b87bf69d8ba16154459",
       
 15077 -   "5798f45a6d32a5d9e220c4",
       
 15078 -   "23ff36317f41cdc69b5f8c",
       
 15079 -   "3337445fe49877ddd94c8c",
       
 15080 -   "27e0d5b6d5b01b974468e6",
       
 15081 -   "155305c9e80b8231f3fea7",
       
 15082 -   "46777bd089a8dc8c44ba66",
       
 15083 -   "4eb92d6051c08bfec28d32",
       
 15084 -   "58de9434dcaeb21007cf50",
       
 15085 -   "4945531dd0d285dff322e3",
       
 15086 -   "5f4ee2c7a7d447e781b997",
       
 15087 -   "255da48e767df6db73178f",
       
 15088 -   "40f14f4642441c80c723a2",
       
 15089 -   "23b23c226ec7148e9ecfd4",
       
 15090 -   "2fc4119b8d9484cd86a0bd",
       
 15091 -   "e8a31983f38b3bc04d83f",
       
 15092 -   "403c97fd7a8e612b101803",
       
 15093 -   "360136af955e5fa1edc1",
       
 15094 -   "6dd1e30b456df046e42f20",
       
 15095 -   "2a8fc7a338bd0e95e61238",
       
 15096 -   "5574ce6446f5f9b2cb3ade",
       
 15097 -   "68437c168764f9b52e36f",
       
 15098 -   "6db55a7581d577d97e45ef",
       
 15099 -   "2117da386a0ba848e04619",
       
 15100 -   "38a3fd25a6d9f4f7c85efc",
       
 15101 -   "20bd84ec27cae248ea38a3",
       
 15102 -   "2359b0102f9a1f774278d",
       
 15103 -   "7f779a7314dbb8bea5c652",
       
 15104 -   "a15cce75efaba6c1b571b",
       
 15105 -   "5e4eaaa44cce4760757194",
       
 15106 -   "1aa73126a375b6cf5e8b5",
       
 15107 -   "e0fd267f226bcb77b4105",
       
 15108 -   "5c1c9591ed7cecac5be504",
       
 15109 -   "6f8c0ef46d2275dfe7e84f",
       
 15110 -   "75f53c77a2d34dd51c6882",
       
 15111 -   "553e86c66c2fba13b95f56",
       
 15112 -   "31cc33f2d92bb3dc73372f",
       
 15113 -   "2bcf3f6e0be988750bc0c3",
       
 15114 -   "2a0c42a5cba7fe55a006e5",
       
 15115 -   "67427f6921fbdb98c3e375",
       
 15116 -   "62019722b2962f2ad1787f",
       
 15117 -   "75964f1abb3f7cc93e9f96",
       
 15118 -   "3faddb5ddd2bdc683de72f",
       
 15119 -   "235bf7672a2cda1ab01fb3",
       
 15120 -   "c16242d78c3d8fbfddea4",
       
 15121 -   "29105da153f2a098ad094b",
       
 15122 -   "39f0a0674e65b2cad4a706",
       
 15123 -   "57a6c26c5e5dea61f133ee",
       
 15124 -   "6151a60a864edd0e7c7b30",
       
 15125 -   "d65fa4e9fad0f9180af7",
       
 15126 -   "553adfba4c4a6d20491557",
       
 15127 -   "1ffc37c5751a51bd676a97",
       
 15128 -   "450dcdc45566039112cb21",
       
 15129 -   "74c5b771dcd8c4719355d3",
       
 15130 -   "72216a00ebfc9de1e963c8",
       
 15131 -   "7746c161815ab2091d9e21",
       
 15132 -   "47ddc74fced651c57b4d1f",
       
 15133 -   "417a5a771b0fe4694065d",
       
 15134 -   "4bd73bb75df0b9c8f31e93",
       
 15135 -   "3937d6181e67f43d9bec08",
       
 15136 -   "5fa8c4e879ae9ef5c6f178",
       
 15137 -   "693e564c43456862d84db1",
       
 15138 -   "394398fcb25e82a48b8d32",
       
 15139 -   "754181ae9689816d4fae85",
       
 15140 -   "6f5834f39b940405114e26",
       
 15141 -   "41d82e9988854950bdb48c",
       
 15142 -   "29f43cc681e11325bf172b",
       
 15143 -   "6ac2b95852f2b3848657c4",
       
 15144 -   "49da4e6814895f7566132",
       
 15145 -   "7a75465db2452d11dbf6bf",
       
 15146 -   "14b9cf8ea7c2a2aef663e9",
       
 15147 -   "7a7267a5eeee00421b1bd7",
       
 15148 -   "8d7ac16a6c7fb5dcaf362",
       
 15149 -   "4a9951c3005ac4b7d775a5",
       
 15150 -   "4dac5ec68e30db33d790b3",
       
 15151 -   "7e9e8be590540d41cb48b7",
       
 15152 -   "db6d45038525122246c3a",
       
 15153 -   "32e84128c0dfcdebdcfc5e",
       
 15154 -   "3c52f4c6c583d5b2a18105",
       
 15155 -   "7a42533b0f16560c421482",
       
 15156 -   "403ccf27d3ff3c3686d654",
       
 15157 -   "5d780dd5bc1f62ed520130",
       
 15158 -   "6ecdfc4db1fa1b0104403a",
       
 15159 -   "4796fc52e00fbc5d65fc02",
       
 15160 -   "1103bc87eb4e4e572c882c",
       
 15161 -   "1f2e34fd7020d08b01b7f2",
       
 15162 -   "23f737b6f1527cfce0303e",
       
 15163 -   "292e4d75da1a76fa4eb730",
       
 15164 -   "1b8c58018b9ec962054ab0",
       
 15165 -   "3cdbf096f176a11d399e68",
       
 15166 -   "5e81e2ee54fa1c8e9216bf",
       
 15167 -   "6ea50d7820cf1c46cfdea8",
       
 15168 -   "42fe3f1413aec51428fb64",
       
 15169 -   "449f89bc8e75ebc93c06c2",
       
 15170 -   "46dbb8e8c99f2d8cf603ab",
       
 15171 -   "3542a00727cde7902f64",
       
 15172 -   "8c1b60a22d754654b3b0e",
       
 15173 -   "4cc1b8f60c7b3b604dd7f3",
       
 15174 -   "65a59676f2a0f7f5358513",
       
 15175 -   "7ebd8ffb86035ffa249a5c",
       
 15176 -   "6937a623eafb54374944c3",
       
 15177 -   "771e23d6155cbd6574be92",
       
 15178 -   "42d3b2e606813eb48865e1",
       
 15179 -   "747f5812283a8ba1a43af4",
       
 15180 -   "1533a8f5ee81c2d4352c6",
       
 15181 -   "25b4f424465c145a893505",
       
 15182 -   "54449f7dccf77fd8f14fff",
       
 15183 -   "1f216750a4d1686b3b2227",
       
 15184 -   "3c0ef922648f93834d2bac",
       
 15185 -   "5b8558cbc60eeb5d4d1e0c",
       
 15186 -   "3fbae766d352bf62d71ec9",
       
 15187 -   "37ca6d3b30cb2687e44f7a",
       
 15188 -   "4fc1aa30a26bf05e1cf79e",
       
 15189 -   "5830e5e1c9294904118c10",
       
 15190 -   "ac1c0028dc3aa005da816",
       
 15191 -   "2d8207ca3331c2f27a3943",
       
 15192 -   "2fe38c447768175651bb27",
       
 15193 -   "538b76dc0991647c99d6ab",
       
 15194 -   "5ad56a9a03d1277384501c",
       
 15195 -   "2c11fd859f539479044b3d",
       
 15196 -   "6e1c49a1adf3346b270d76",
       
 15197 -   "627d01094a2553e7bdde46",
       
 15198 -   "4b0e392a6b94b0716bcb0f",
       
 15199 -   "73c9485e5e5379f878695",
       
 15200 -   "43da9e4b9fc98c3225df02",
       
 15201 -   "4b81add44caab6287f5254",
       
 15202 -   "73a1489a18b0815a03faf8",
       
 15203 -   "146e2b3f7404eaa2825f64",
       
 15204 -   "62cba5cd6ece1fcc005653",
       
 15205 -   "9a91d432ec896438ac971",
       
 15206 -   "6750d083991451ddf24ddc",
       
 15207 -   "23f47a79fc10179e2f1aad",
       
 15208 -   "456b75b7118ddbd9c05113",
       
 15209 -   "214ab6242649bf5f0673b5",
       
 15210 -   "46c6a4606b83331dd733e4",
       
 15211 -   "567c07ffdf5609acdc57cd",
       
 15212 -   "26639427b4cd468207f354",
       
 15213 -   "36b57535eb2f884ec435f1",
       
 15214 -   "2aeb5606838c910769daa9",
       
 15215 -   "5d5d0b6bedf48b96c5eb79",
       
 15216 -   "144036e909f39a00a79653",
       
 15217 -   "7677202d8f05f9287a6047",
       
 15218 -   "1a1cfff05adf1a427c023e",
       
 15219 -   "7286bedeaa0c2687819d8a",
       
 15220 -   "2bf095a2fbcdb3391aec69",
       
 15221 -   "2e6c1f41a9866f4d867e01",
       
 15222 -   "2ad8da8cd83b1521d7659a",
       
 15223 -   "159314ac561f7431a71dd2",
       
 15224 -   "443f4b4ed3b1f2c8fe8ce8",
       
 15225 -   "1bb928a5ce5b6a93e4a6be",
       
 15226 -   "ff765fa35889a47189d5c",
       
 15227 -   "7faf5fb28aa48ff83cc07",
       
 15228 -   "330bf157841f4554c8f5de",
       
 15229 -   "3de0a5abf20a4845d76439",
       
 15230 -   "5d53571a7cc3688e6944b0",
       
 15231 -   "7a6a150f8921047e15edcb",
       
 15232 -   "4dbcbf0e0833361017aadd",
       
 15233 -   "36f20d7e24da8778ce35f5",
       
 15234 -   "3248d851d401112b750bc",
       
 15235 -   "77024358b3e776b2c5e1af",
       
 15236 -   "599102d1f2500d61d762c9",
       
 15237 -   "52c455dad0b267d43552f0",
       
 15238 -   "59db917020bf7253782d5c",
       
 15239 -   "3251a62ebf3abdb7c9ed58",
       
 15240 -   "1c89d8520ef104ebd20ee",
       
 15241 -   "fa65751eb4d84785986bf",
       
 15242 -   "22f4901fc0a8b24cf62fe4",
       
 15243 -   "3baf4fa4e9f273acdf732c",
       
 15244 -   "29d711357943b0afaa5b59",
       
 15245 -   "26293d249066a3014c3338",
       
 15246 -   "4d3db82b9d6efaedc42576",
       
 15247 -   "561331256e1d21664a1287",
       
 15248 -   "796842dd6bfad2f98912a6",
       
 15249 -   "4a27b941aa4c6ad1e07548",
       
 15250 -   "47b94fbc156b869e9d16b9",
       
 15251 -   "39f2517276288f74c45e3a",
       
 15252 -   "11326e189db8b15b0744ff",
       
 15253 -   "7c793c0d415e26d57ec92",
       
 15254 -   "22c922d5b0fc736e5f1adc",
       
 15255 -   "5a9897a2da0299756dfdb3",
       
 15256 -   "37b012fbed4994b5319766",
       
 15257 -   "7ee167869f16d0f3096184",
       
 15258 -   "7b7ba8150a404335a3e978",
       
 15259 -   "2176005ea62a7fae1a0ec5",
       
 15260 -   "7f5271355a686a4df7e516",
       
 15261 -   "33294a38a5c8a431b3624c",
       
 15262 -   "68570d0c5fc94ab3c18486",
       
 15263 -   "3a928b86dc180342e1f053",
       
 15264 -   "474d5e705efa51e5e97d39",
       
 15265 -   "4948e72d6c06974bcf7212",
       
 15266 -   "12ea1cc2026e4f5211a159",
       
 15267 -   "15b86ea9fb5f9d46bb9d95",
       
 15268 -   "1c0d48f6283945e321fdac",
       
 15269 -   "c25f982adccb58e81ce02",
       
 15270 -   "173ee21e60a88ae566e166",
       
 15271 -   "64af53c3c0ad963e3055c1",
       
 15272 -   "2e0a934adfe422dd136191",
       
 15273 -   "5ba00e958e1473bae28031",
       
 15274 -   "230119c3b2a6b1bafca00",
       
 15275 -   "1fb4d17ac6ee317ce5a547",
       
 15276 -   "2449f6a2ba5fdac5a9c1d4",
       
 15277 -   "6b488f646fce9835d43f44",
       
 15278 -   "11978ed9a01677cec42ee0",
       
 15279 -   "3ac9b63dfc3067c1c4627d",
       
 15280 -   "7fa7e63240bd502dd4b06b",
       
 15281 -   "4bafb874450e24655961f3",
       
 15282 -   "4a5a912df871eba16ca2bf",
       
 15283 -   "6a1b97013fc782623a1d18",
       
 15284 -   "60f671cf9f662680d04313",
       
 15285 -   "6f7417b6bfc27461fd2524",
       
 15286 -   "3cd40ccabd157073f9e356",
       
 15287 -   "60188d16e528a5d2e06d3d",
       
 15288 -   "55509fd3a52bd88fe29e11",
       
 15289 -   "193c88995f60dbabf1ee79",
       
 15290 -   "36e5208ae458480078d5d",
       
 15291 -   "27869ae6bfa80052e928d4",
       
 15292 -   "14e76412c1e117fa60f762",
       
 15293 -   "1a91f5500bd170effa0820",
       
 15294 -   "2f27f9f5b37e53f26a3367",
       
 15295 -   "7c4ebd51c09994a5c2702b",
       
 15296 -   "7eede9c7d2fd05759ff0d5",
       
 15297 -   "1bf7de225f0abb4eae1da2",
       
 15298 -   "1f527bd93add787e619f2f",
       
 15299 -   "2f4da63191088795366c81",
       
 15300 -   "1e86f8d9f30e1c9ee2f741",
       
 15301 -   "5fdf7c6cf80f5f4d619b9c",
       
 15302 -   "1365575dcf06e2b1987b3f",
       
 15303 -   "3860f5646a470f19d720f1",
       
 15304 -   "b17adb15bd895ea825438",
       
 15305 -   "67cd089f73cfc8807dd840",
       
 15306 -   "7b97dd845f9509d060f296",
       
 15307 -   "3951fc47c9cf417968c09a",
       
 15308 -   "63bd657552fcd47a1fea3b",
       
 15309 -   "7b59158d38abcc0653e41",
       
 15310 -   "7adedaa3d8ff64ef5910ed",
       
 15311 -   "121daf29269045f5bdd20b",
       
 15312 -   "65c75439faa2303912b32e",
       
 15313 -   "3a603b28f5e57fbfd764b9",
       
 15314 -   "2df92a33b308b4efdcaee3",
       
 15315 -   "69defadcac1e44c7a1c0bd",
       
 15316 -   "17961b8be9d0332a213177",
       
 15317 -   "59a5901c521b74864c8fb2",
       
 15318 -   "697c3f9accda8d3543f182",
       
 15319 -   "3f0177714af6ab07d870c0",
       
 15320 -   "2334ccde40867fa1d0bc15",
       
 15321 -   "16fb077509115b4c0ee442",
       
 15322 -   "758f193f192584a42ebc31",
       
 15323 -   "483ca240f22946b37af3c",
       
 15324 -   "311601fec45703953f2b91",
       
 15325 -   "67da5d093fc207176dbdb2",
       
 15326 -   "1b6a00fcabec41d4b43ba2",
       
 15327 -   "ba07dcfdd701f16f45aca",
       
 15328 -   "2835e7f4b39073c5a451bb",
       
 15329 -   "269c017af27ad44e6b201e",
       
 15330 -   "3cf5810d8c38a097a7561f",
       
 15331 -   "573747456cbe53c844796c",
       
 15332 -   "7772e0b990ccdc614c11c3",
       
 15333 -   "404ae85658f9b08174632",
       
 15334 -   "5dd52a5a11350a9b7572fc",
       
 15335 -   "7ce0b194ba3e31249ab36d",
       
 15336 -   "762f2aec62b91b262cc99f",
       
 15337 -   "3915c8d33da94da27c1249",
       
 15338 -   "6e885e79f7b5fe77214da5",
       
 15339 -   "668c0767178119bd41ac3",
       
 15340 -   "6806f2889f5316f4c57e07",
       
 15341 -   "32f953543bd07093a29e5f",
       
 15342 -   "5685392e26e4e637394c54",
       
 15343 -   "96cf28ae783cd1e477aa5",
       
 15344 -   "710608c33a517ea5d5359e",
       
 15345 -   "435abcd28c0cfc9f321db0",
       
 15346 -   "514d622fcdfc26212b5d14",
       
 15347 -   "408e6268fcd75479c3bece",
       
 15348 -   "18e5cae7f3bd61293a8c2b",
       
 15349 -   "65a5c9fe061a38a8c6c2e0",
       
 15350 -   "6df80f50564e811e245eb5",
       
 15351 -   "1b388caec4f8538425d93c",
       
 15352 -   "1bab6e088abbb7a786ff3d",
       
 15353 -   "17fc45b2690c315a5249e8",
       
 15354 -   "4170c011864f5582d6a738",
       
 15355 -   "3b3a5f854ba249c04d075",
       
 15356 -   "38e1e6200860f4072a8a1d",
       
 15357 -   "c91beeecaf54c95dc1b37",
       
 15358 -   "f125d56d3c0c2aaf7ad05",
       
 15359 -   "341851bd5e48e20f0a412f",
       
 15360 -   "471eec9edf3f5af18be6bf",
       
 15361 -   "4b21ef5da2b744139c3cf1",
       
 15362 -   "3a051daeeae9770973713e",
       
 15363 -   "75a7fc26a6faacf109b345",
       
 15364 -   "5637e5d4438a119a23f043",
       
 15365 -   "22f18c95264f1fb742c348",
       
 15366 -   "1d595362f3a1b4c77729e7",
       
 15367 -   "69a784edece7c38bcf7297",
       
 15368 -   "4fbaae68fdb253d715d528",
       
 15369 -   "23693b4063cf0fa20dad42",
       
 15370 -   "51eb043d3564fa91215f1b",
       
 15371 -   "2bb1db818cfd733dcce0b0",
       
 15372 -   "a961f7b95836d3a578170",
       
 15373 -   "51c819b9ec191b60920096",
       
 15374 -   "ac6c9987de6c73f2259d9",
       
 15375 -   "524b77666e02692a642407",
       
 15376 -   "149d706db4fce00c71da76",
       
 15377 -   "238de3e1606bc0e1c33adb",
       
 15378 -   "37ba1e609c7b12a8e32733",
       
 15379 -   "3ae30b1b5931eb630bbf6c",
       
 15380 -   "1630a212afc84f038374d9",
       
 15381 -   "5ebb44d93cb77417b61c4f",
       
 15382 -   "5a7d2dd2aa2028d4da8f42",
       
 15383 -   "798019b397419c8d54fda1",
       
 15384 -   "74a156e77589342bbef3d5",
       
 15385 -   "506e6a05e8de5c9198ae69",
       
 15386 -   "48e4926c40cd6ab5e92ffc",
       
 15387 -   "7d2db742721c9ba686ff30",
       
 15388 -   "4b8968b5c5a93dbb4b2b55",
       
 15389 -   "2ef2be0f7e33ace73bab4",
       
 15390 -   "7651ee2e0f4d348cbe95bd",
       
 15391 -   "43ee4b35cb3cdc84d1d5db",
       
 15392 -   "449d4feccb40da2e122aa1",
       
 15393 -   "356211f56936e183312837",
       
 15394 -   "527456447c2748239033cf",
       
 15395 -   "46bdbd32d31b2a36e04e0a",
       
 15396 -   "6c1076c01e9e44fb047889",
       
 15397 -   "5ef5512b3384aa1243daa6",
       
 15398 -   "d452f805a2c35e686e107",
       
 15399 -   "67a9131aabd5255bdce732",
       
 15400 -   "5088a2317aa34dd5bb1b4d",
       
 15401 -   "64c275af1abda385c2af0b",
       
 15402 -   "402c7149b20bce787c7e83",
       
 15403 -   "60c8d2e958387c0d0627a8",
       
 15404 -   "516640d56302eb15061b25",
       
 15405 -   "c62790b24bc842a717e31",
       
 15406 -   "76e87d4d2740e137511b26",
       
 15407 -   "6cf76079225189eb2608ce",
       
 15408 -   "3c8b04f81e14e10396b582",
       
 15409 -   "4bfd93fb985a44ed0569f4",
       
 15410 -   "6ce98c831091728c0e73bb",
       
 15411 -   "4f74e7ee01738298062093",
       
 15412 -   "449ccc3923e92a0bd2e3ba",
       
 15413 -   "4feae15528510f186aa1fa",
       
 15414 -   "12a3196afc09a79694eb31",
       
 15415 -   "6cfdd09fe2bd66b85c2e00",
       
 15416 -   "587cce1cbd0dee8b98f262",
       
 15417 -   "3b0283be973d59ebf4242f",
       
 15418 -   "88b8371baafc87a9713f4",
       
 15419 -   "4e6cb8ec1b00e2f28b3a7e",
       
 15420 -   "235baa54adcc67af92d06d",
       
 15421 -   "733b81816da25936e81af1",
       
 15422 -   "7fe76cd2c5affa913c2b41",
       
 15423 -   "26b7df388a02a8279b0652",
       
 15424 -   "7b5272bdeb1b01fe56bc29",
       
 15425 -   "6863984d7793407587e8e2",
       
 15426 -   "1f1eea8231315133cde938",
       
 15427 -   "2f85e68dfb9aea66d7f07c",
       
 15428 -   "6259df76b87ab2eff6659f",
       
 15429 -   "502c6a2df8916b18106088",
       
 15430 -   "4cd904fd9401eac5ad7f1c",
       
 15431 -   "5eb4d93a33b2d2e2c2adad",
       
 15432 -   "55a41153a33cb4649703a5",
       
 15433 -   "cfc86f804a481df48868e",
       
 15434 -   "1ddeaa1e583e9146210f69",
       
 15435 -   "38110b962a169200cc9f0a",
       
 15436 -   "7ce4bd3337a7333159cb2c",
       
 15437 -   "1738ee1c8e104064e07249",
       
 15438 -   "e1ef803b3674bf39884ae",
       
 15439 -   "55d7bf2f5724b5dd0a04ae",
       
 15440 -   "7aa81a94a5a230cf59a0b9",
       
 15441 -   "2baeaedf76503008b9e428",
       
 15442 -   "15bb5d9b44eebb27a1e60e",
       
 15443 -   "dce90e419e8d3f96eb5b4",
       
 15444 -   "72a7ca4a8dc56f9c652281",
       
 15445 -   "5cd319aa7906a96d2f6c7e",
       
 15446 -   "557361125249092a7bf932",
       
 15447 -   "70a1107bc42bfb598164ea",
       
 15448 -   "df7ae04689867c9ad97d8",
       
 15449 -   "117480f169f81bb3e8609c",
       
 15450 -   "479fc9912c9c81152eb474",
       
 15451 -   "4f2cc1f6f7aba8c20a670c",
       
 15452 -   "17dd6e40297f1d32786291",
       
 15453 -   "783e0229f219bc18b705e4",
       
 15454 -   "8b462e0f7448b549fd688",
       
 15455 -   "4a0fb16cc4d1bdfbb239c",
       
 15456 -   "53c95b2787b88db0682132",
       
 15457 -   "536be2b3e3829710aec51b",
       
 15458 -   "3a89578d6ca992f91249be",
       
 15459 -   "779eb73caa637aa28db87c",
       
 15460 -   "52f5adde99e4501e4d1c61",
       
 15461 -   "31541f24753a28cc5b51d8",
       
 15462 -   "620084c5da2910137e2b10",
       
 15463 -   "76c132264ad2a774a55164",
       
 15464 -   "35a3ab4773c5054a30c44d",
       
 15465 -   "2f78c0f7e7a90558573941",
       
 15466 -   "5b39ddb704fa58142076d",
       
 15467 -   "1d6812727d8421d0e03a6f",
       
 15468 -   "307727bd97c5db086074b3",
       
 15469 -   "1abc0d15793c655cee4a9c",
       
 15470 -   "68ee183b2208228da8bab7",
       
 15471 -   "116da33e19c8b80384fe28",
       
 15472 -   "3d73fd3c3744e9ec5d2d04",
       
 15473 -   "64ed03e382c11a32e34cf4",
       
 15474 -   "479e7025ae3fdc2bbcbe22",
       
 15475 -   "a134915353ce113eb72dd",
       
 15476 -   "49cb6ac7a2bfdc54300006",
       
 15477 -   "2d5e8f78718c2d4660cc69",
       
 15478 -   "3f5027ce278d444a4dd243",
       
 15479 -   "15d4218f4bbf0c95cd9649",
       
 15480 -   "13221a23af3045ec5cea35",
       
 15481 -   "1efd2b46d4a8724e929fd9",
       
 15482 -   "628d18e095a8dbcb9f43bf",
       
 15483 -   "30eff32d49c10f325b8e9c",
       
 15484 -   "29bbe5fdf14e69065cb80c",
       
 15485 -   "2df28a1b78b46f16aaf53b",
       
 15486 -   "352a4a136ebd7ef294f370",
       
 15487 -   "1c960c994194a1366a2222",
       
 15488 -   "351c5a0b997e45ec21b614",
       
 15489 -   "4c1f6b587fd26654ea69e1",
       
 15490 -   "2735b2e6f5f08a9e9418bb",
       
 15491 -   "3505fcb3eb2690f88b3be3",
       
 15492 -   "4d8859f357a36792b7211f",
       
 15493 -   "1e2093f76475f58a2dfd79",
       
 15494 -   "456138a50c3717947be48e",
       
 15495 -   "35714b90920ce6fe1f850",
       
 15496 -   "5d7c2a1d1267b7a252da1",
       
 15497 -   "754ffe6bc2e7525e892fe",
       
 15498 -   "290ac68bec8aa8955b7e97",
       
 15499 -   "a058b3353ac6290d9f864",
       
 15500 -   "ef75fc5d77fc146e975f7",
       
 15501 -   "48a999a2dc1a23a934a6fc",
       
 15502 -   "7256923d608836710a659c",
       
 15503 -   "2b13e041339df4d5a521ce",
       
 15504 -   "51a9b0945a0908b1d40d24",
       
 15505 -   "779559a53e6b62275896e9",
       
 15506 -   "1fa330f6dd5f3ca09176ce",
       
 15507 -   "3cb748f77d638122329dca",
       
 15508 -   "7e62c15038abb8244531b4",
       
 15509 -   "9bea90a26f9e93743a998",
       
 15510 -   "7ae1d007cf030664c6b815",
       
 15511 -   "52cfcbd15dfc6c476cfc76",
       
 15512 -   "18ba9d869c489f11ce52e7",
       
 15513 -   "93cbb2483673e4e0dda30",
       
 15514 -   "2478db790ed59756cef964",
       
 15515 -   "7d8b341c82b019a8d56c92",
       
 15516 -   "584b7d6f0b43ddd0b397e4",
       
 15517 -   "6081e77fedf3898fd66607",
       
 15518 -   "540f5a33d5aeafadcad19d",
       
 15519 -   "52c4d1c2ad153a3f70bc0a",
       
 15520 -   "39489c7fdb445490d498cd",
       
 15521 -   "e0800809dbab6d41345b4",
       
 15522 -   "1536906705870049755028",
       
 15523 -   "639c2fcec8b9dfcc987387",
       
 15524 -   "214f18ae0c9aa7a1b8c02e",
       
 15525 -   "5b8e9d8b290e89e5d9afc3",
       
 15526 -   "4499c1c16fec3546d5903c",
       
 15527 -   "5ce5e0595ad07c8855357b",
       
 15528 -   "39bf9c3f1f0a1a15264530",
       
 15529 -   "30a77107da1d91a699e9f5",
       
 15530 -   "352389083277fbbbe66ac3",
       
 15531 -   "5d711409f3faa9ea87abfc",
       
 15532 -   "42cd59499a0ef57d6b0009",
       
 15533 -   "731a7b89f357bfb855a5b2",
       
 15534 -   "767dc9d34c09b03db4a0e9",
       
 15535 -   "5344962f90f45cfaeb1bce",
       
 15536 -   "504d29ae2e5a021d2bb278",
       
 15537 -   "6e97dd298eaee757a3cec1",
       
 15538 -   "2d1b2f087facf1fbfc7e69",
       
 15539 -   "327b2b8d0b75e0d83a5b04",
       
 15540 -   "7dc98aa964908b313939a9",
       
 15541 -   "d8c34dffd92c1a20d6a9a",
       
 15542 -   "21a363ab0e08a4336f2e44",
       
 15543 -   "48eaf0293f956717b8f048",
       
 15544 -   "6351b2a5f477112f552683",
       
 15545 -   "2193bc73ac4b40415c95b5",
       
 15546 -   "13f13f9f2c877cb73ba5c",
       
 15547 -   "7c6b359299af5c59043711",
       
 15548 -   "7895b432001edf846b7b3e",
       
 15549 -   "3ecf9d05cd62341c4f7784",
       
 15550 -   "6c8879d694e1a0b99f8e42",
       
 15551 -   "6400e87749e3bcbd750d89",
       
 15552 -   "1851e925707895d37a37f2",
       
 15553 -   "30f4f5617cc73435ce74c2",
       
 15554 -   "18ec20d19a478746123b",
       
 15555 -   "39242760b51f2f93fd4721",
       
 15556 -   "452d3dfff11e24bf680356",
       
 15557 -   "5cafa83a10f929b5076c60",
       
 15558 -   "7fd4ee663460087b793a80",
       
 15559 -   "7e958697030784ae5ddf86",
       
 15560 -   "a6c54d0ec55adb4911efd",
       
 15561 -   "2964973c288dced7dae8fc",
       
 15562 -   "2b0fed7a534d25697e5c7b",
       
 15563 -   "3afeb7cc8f8e5bb8770da",
       
 15564 -   "6a81a8d913b71671629ad5",
       
 15565 -   "75f4eb6de0d35eeaa16cf8",
       
 15566 -   "7abf68b2e4cc9e3a3b2c5f",
       
 15567 -   "4f6d8c8b0b9b376d42c4b1",
       
 15568 -   "23f219093e9b0bb3b5217d",
       
 15569 -   "5a0c2602dcbbbf468b67e0",
       
 15570 -   "1a63315aa52cb254b65ce0",
       
 15571 -   "4f72850630f6f8c1a68862",
       
 15572 -   "3722a55f27f2c02b34eddc",
       
 15573 -   "672d7083ec424e5d883cec",
       
 15574 -   "4839c6454f97ececa9969f",
       
 15575 -   "e941ecc714605cea72177",
       
 15576 -   "7cf9338ca9bcab73862b81",
       
 15577 -   "6a23876a8c802d81d83d29",
       
 15578 -   "7006ef130d31e12bc44c5a",
       
 15579 -   "591bac661062f64b8e3f2c",
       
 15580 -   "25cab751e23d8e69bb5048",
       
 15581 -   "61f4a55b140e767495cd59",
       
 15582 -   "1a4e5bc143bf00e8928403",
       
 15583 -   "4a54d9b3589d5340a01e23",
       
 15584 -   "18019c176b4c9453028db8",
       
 15585 -   "76fed7d89907843db9af52",
       
 15586 -   "407333b3b6a3bed3ef8920",
       
 15587 -   "536a736ad3a37793dd9f54",
       
 15588 -   "5e56a7d976f1a3334f57c3",
       
 15589 -   "66ffe80af410522139e92f",
       
 15590 -   "1b0c27c7452322264822f3",
       
 15591 -   "58320debe89492ceee77e",
       
 15592 -   "4fbc987e428ed0ce9cb76c",
       
 15593 -   "70a2d453b688803716fdbf",
       
 15594 -   "1921f3262afb2f3766f357",
       
 15595 -   "6e007172a16a9c673e635d",
       
 15596 -   "527c4b155e3708972293d1",
       
 15597 -   "2797689917c95a9d4073ae",
       
 15598 -   "69bb33c18017fddf18d091",
       
 15599 -   "165ff53589519199fc1846",
       
 15600 -   "171e59c89024b148534f1b",
       
 15601 -   "23c82ae839bf5380a55acf",
       
 15602 -   "455c9131bfa1c33274be37",
       
 15603 -   "4bacbc68650c41520d312c",
       
 15604 -   "1c35e13f8ffb7c470fa61c",
       
 15605 -   "6b4728ee168cd23e2fe47c",
       
 15606 -   "22e321253c3e0fb875c4df",
       
 15607 -   "6077a88144957827c07205",
       
 15608 -   "4309c1c59a581af63d922d",
       
 15609 -   "1b1ca5d6c688c4cf99448d",
       
 15610 -   "31a504d1dcc251075e4436",
       
 15611 -   "223160cdd1bfa322ca3e6c",
       
 15612 -   "3601174a7dc823bf4dc3a6",
       
 15613 -   "6da3828f2d4926651f7a27",
       
 15614 -   "7de4927696bdd6d3b718",
       
 15615 -   "7bb4f9d707b4ee3a20e779",
       
 15616 -   "343dad4f059acb87d3b0e2",
       
 15617 -   "4e501beb4617be0f02deb4",
       
 15618 -   "3943e926fbe3d426004ea9",
       
 15619 -   "4b35e35e82bffb49d0d830",
       
 15620 -   "6520599b30ba3568ad0f09",
       
 15621 -   "2a48d89ce122dfa7deba2f",
       
 15622 -   "19b666810d736e639b51f2",
       
 15623 -   "1ccd174e9aa4e58e7414bc",
       
 15624 -   "475e84f70334cc0bc8292",
       
 15625 -   "393fe0be8f011593a7e1ef",
       
 15626 -   "17276a59aa9630c1141c17",
       
 15627 -   "7d0578a8908ba294259bd",
       
 15628 -   "4a9e2e5d8ad0e2e82aa7de",
       
 15629 -   "63e0dbdfb13b4fbb46f00c",
       
 15630 -   "310e395e429c4494a5f850",
       
 15631 -   "7cc0116bd0bc164835ee72",
       
 15632 -   "634478b621f7f0a455c48c",
       
 15633 -   "397f144a181805e1a097c9",
       
 15634 -   "53016aa1427381b9f28ea5",
       
 15635 -   "76c2f0ba37187112ee4d4d",
       
 15636 -   "2bee268df09cc40864a917",
       
 15637 -   "7851b3168b92e5daed021f",
       
 15638 -   "149e6a0b6c6543ae895e07",
       
 15639 -   "1dd1b432dc809fe4c879b3",
       
 15640 -   "2ad2546b270547fc24541b",
       
 15641 -   "2015aa6fc7e48fa3bc5ab5",
       
 15642 -   "38596ed050f14596adc07f",
       
 15643 -   "1d2b9ca2f44294070d4e86",
       
 15644 -   "3778fd3a46ffde4755b6ce",
       
 15645 -   "74bb588b5553c2b2d4ac78",
       
 15646 -   "3d1155c4a53835d991a0f",
       
 15647 -   "35865b2ca16d3453781f41",
       
 15648 -   "6ba1300374acd487b23577",
       
 15649 -   "3f68fa1a9ab7772758d0ba",
       
 15650 -   "30a3461d63ca9807464dd6",
       
 15651 -   "552aca5af025ea1e84aadb",
       
 15652 -   "32aafc640e8c99bda8faa7",
       
 15653 -   "2fb170a11f1aecdf586d25",
       
 15654 -   "751e9eb348bc8239d6e118",
       
 15655 -   "7fc2bcc524b4326eb8303d",
       
 15656 -   "1cc2526113f2bae9b540c1",
       
 15657 -   "6a437e22c95fc6c6a4449d",
       
 15658 -   "df261ad3b5157a525bb81",
       
 15659 -   "690aa96130f8c533d77ce4",
       
 15660 -   "2f58f2df794a35875efc99",
       
 15661 -   "19772e34181f57b670bf9",
       
 15662 -   "60617400353c1eb8e8832b",
       
 15663 -   "7136b3dd116ed121aab68",
       
 15664 -   "4c95bed884bd87ec1d5e70",
       
 15665 -   "68fa3ecc3845db5d523ad9",
       
 15666 -   "4818e9ef0ea7625cfc3d0",
       
 15667 -   "27ec8c6636679988dd1267",
       
 15668 -   "57d88b5e0b434eb1a0dc08",
       
 15669 -   "47a1f466100bf70dd5689",
       
 15670 -   "55afbc51e7c2cc748942ac",
       
 15671 -   "75066462fdbbc7301e209b",
       
 15672 -   "72b5d8f8e65cb7509a93d8",
       
 15673 -   "38d9d05f9463a537f470b2",
       
 15674 -   "2f39a2788d5c2a24e16acc",
       
 15675 -   "5f4e7c70ff55ff2f888f05",
       
 15676 -   "735cfad9acf49090fb7037",
       
 15677 -   "6a716dae106b9aeff2133e",
       
 15678 -   "1c90fea5f39d8ac4dfc2a3",
       
 15679 -   "3a8c5a9525f5d62cea294d",
       
 15680 -   "498104aa12355244a9b0d6",
       
 15681 -   "414e761d40341e7f97c304",
       
 15682 -   "16d5205447831696c5d6a0",
       
 15683 -   "3cb5a124ce563c3967dbc3",
       
 15684 -   "899b1ac6f72ffff8aedfc",
       
 15685 -   "34eea7a66e8ff3dcc8988e",
       
 15686 -   "5f80095f2580ec4cf13b51",
       
 15687 -   "4d7566cd294f75be6620f3",
       
 15688 -   "506d84c9f4d4bc400fdd25",
       
 15689 -   "5a8a9b5c659b71e837ea18",
       
 15690 -   "c16d15fea9d61c8df5121",
       
 15691 -   "3a7a488015e75feec809f8",
       
 15692 -   "6fe27c77d57e2feb8cbcbf",
       
 15693 -   "452231c3bcde7b7b5b0af8",
       
 15694 -   "760f3656c1130b21d369d9",
       
 15695 -   "39a0c4e1da321f1bc126f4",
       
 15696 -   "3315173915ca23d8c1b814",
       
 15697 -   "1cec8c96472b84936bbc22",
       
 15698 -   "3c70a3f0e9c5b206031a33",
       
 15699 -   "7cec29d14a0eefb222bde7",
       
 15700 -   "760df490123f6613b0a970",
       
 15701 -   "5bf795c6d548a19b6ac340",
       
 15702 -   "5569560418e73ff9db709"
       
 15703 -};
       
 15704 +static const char* RootsInv[] = { "1",
       
 15705 +                                  "280f08134d28252bd0b713",
       
 15706 +                                  "559bf101b9cff724b929cd",
       
 15707 +                                  "3a8965cf80aa6c4410dfab",
       
 15708 +                                  "45440750f90776251263b4",
       
 15709 +                                  "12e92ef014e8d7fbb8d23e",
       
 15710 +                                  "240e2e38e41f3b6530a267",
       
 15711 +                                  "69412d8563ffa7e83b0ef0",
       
 15712 +                                  "3288681f4d08858009187c",
       
 15713 +                                  "47ba42dd06a62256ee8c8b",
       
 15714 +                                  "67a8cdbece1aca4e55ba72",
       
 15715 +                                  "1cca04897dbffe7f26f2ec",
       
 15716 +                                  "2fdd94b55dd5fb9a3915f5",
       
 15717 +                                  "3b228f46cdc0e8a979b45e",
       
 15718 +                                  "5e842bbb537167f75451a7",
       
 15719 +                                  "13637e15b786797995ba49",
       
 15720 +                                  "47d847bd96fbfc9c221fd4",
       
 15721 +                                  "1badf1b7dc0b73e0bf8b67",
       
 15722 +                                  "2703e4a7969073dd381cbd",
       
 15723 +                                  "3eaa7351a72b065707e47a",
       
 15724 +                                  "476ef278c257202dd01711",
       
 15725 +                                  "2148939cfe2757b6666fc2",
       
 15726 +                                  "4494bc9e65c8cf2a6ea51d",
       
 15727 +                                  "20d4366552d0d83219fa0d",
       
 15728 +                                  "47a080b7584194b936f712",
       
 15729 +                                  "482af287c71050fd03632a",
       
 15730 +                                  "19a439abdf3f4f5eb63683",
       
 15731 +                                  "426541c137d269fd2e2296",
       
 15732 +                                  "1cb2dabf0298f57d15e65c",
       
 15733 +                                  "1e92415029559dc3ed8283",
       
 15734 +                                  "568fd03e0a80223cd1669a",
       
 15735 +                                  "5a6df4a369ed81627d4fa3",
       
 15736 +                                  "457dc9644e5b25ae6c4291",
       
 15737 +                                  "de9896eb70f1668b87fc",
       
 15738 +                                  "4e27f64f8732105513ad9b",
       
 15739 +                                  "590056c647987959065bd",
       
 15740 +                                  "171757e72adb6abd8f440b",
       
 15741 +                                  "67e11e83cb547515b53701",
       
 15742 +                                  "bd499ce82d93c07477fc",
       
 15743 +                                  "10c81c57aed768b3285598",
       
 15744 +                                  "3a7ecceb35e2e9a438dbd5",
       
 15745 +                                  "1b5226354071022a104a86",
       
 15746 +                                  "3956e2767e97b7703253b0",
       
 15747 +                                  "1960b3a13c6cb6acb7f489",
       
 15748 +                                  "61c87048ea8325590bc5b1",
       
 15749 +                                  "46323a1998a54f7e0819f6",
       
 15750 +                                  "630270f2ed4331deaf63f0",
       
 15751 +                                  "153884834dca9aae7d5d2d",
       
 15752 +                                  "39d71478d3005e797c6913",
       
 15753 +                                  "5c1544633a0bf7939343d0",
       
 15754 +                                  "3bac7e0675e0a9967ff7da",
       
 15755 +                                  "409fc384bef4b3d255371f",
       
 15756 +                                  "39baaf1f520d96bfc8c1df",
       
 15757 +                                  "4d7940ea6bfaa7b282a985",
       
 15758 +                                  "4a9b685698a7674338b188",
       
 15759 +                                  "70d95d23dca53184d30b4b",
       
 15760 +                                  "51fc2c3f86b8fc46a7a221",
       
 15761 +                                  "4f5e7f770a4d50c69c4028",
       
 15762 +                                  "17e8af02e79e7f8d2cdf99",
       
 15763 +                                  "160134aa459258ff8f6285",
       
 15764 +                                  "5d6bf6a59488555bf1342a",
       
 15765 +                                  "75471e22b2d84fd2fe01b9",
       
 15766 +                                  "1778273a04ac508e342b",
       
 15767 +                                  "6152765b747658a14d5829",
       
 15768 +                                  "6f2f55effdb76df46b548a",
       
 15769 +                                  "3552a76787de4570d42693",
       
 15770 +                                  "239e94f2e5843a6e20f1bb",
       
 15771 +                                  "5b4dd88e0cfc108bdc7320",
       
 15772 +                                  "7c1256dceb40e2f63ca4f9",
       
 15773 +                                  "16d114b00964bdc8e2e82a",
       
 15774 +                                  "36b7f85db80800549459bd",
       
 15775 +                                  "5ca9b2680bb84ff6e98b33",
       
 15776 +                                  "7fd47e391981aa515116c7",
       
 15777 +                                  "39965be2b1bbb3ed832fdd",
       
 15778 +                                  "1efc90353d647b1a3dfd54",
       
 15779 +                                  "59daf69acb0d30ef2fc5db",
       
 15780 +                                  "4f34769ad379d64a27233e",
       
 15781 +                                  "1f91eb155829f1481d6da7",
       
 15782 +                                  "688ea19369341f6943063f",
       
 15783 +                                  "3d57e0a1ef4abcae8719be",
       
 15784 +                                  "127b65c61b8c8f1b9456ee",
       
 15785 +                                  "1ee9410958604d03f20f1f",
       
 15786 +                                  "4e175c68ed04c585f606f8",
       
 15787 +                                  "aeeaf98aedc83e6ae6cc5",
       
 15788 +                                  "61b85bccf0f4316c2cec04",
       
 15789 +                                  "768cbd11024387469f6ee1",
       
 15790 +                                  "74e01ea265377cb713e57a",
       
 15791 +                                  "5695db84b4c92a3d6677b2",
       
 15792 +                                  "7510db776aba775075e549",
       
 15793 +                                  "4ae24f235a28b7f71492ce",
       
 15794 +                                  "5a20607ce9679fb1f266e5",
       
 15795 +                                  "9e1bd1e36f73d0f69f697",
       
 15796 +                                  "218c9ea39a51618b1ce10e",
       
 15797 +                                  "3cab0ae1036c6d43311ae4",
       
 15798 +                                  "4082d11934cd3944191e6d",
       
 15799 +                                  "46b0509f9638e9030f5895",
       
 15800 +                                  "2e274c1905f505ef9d43c1",
       
 15801 +                                  "2555442bf058722bf0120c",
       
 15802 +                                  "4d29703647563e84d6ac7f",
       
 15803 +                                  "10db0037fd5f7d8c49aee6",
       
 15804 +                                  "3ad7e93e4ab55d402a33ea",
       
 15805 +                                  "6bd3a60ce037d04a7d822c",
       
 15806 +                                  "dcc0bec90c531be4924ef",
       
 15807 +                                  "53e73a626a5de69e43d0e0",
       
 15808 +                                  "1472017c713a1063411e0",
       
 15809 +                                  "666ea50157a2d8307a0ef8",
       
 15810 +                                  "31ee9d29cb2f2a7eeddbc0",
       
 15811 +                                  "3c1c9492a56c8c78536095",
       
 15812 +                                  "56a6cdbd81ef505320e706",
       
 15813 +                                  "25d3735a734b777dd960b8",
       
 15814 +                                  "1dd4abfd6c4ed8a3ad6bbb",
       
 15815 +                                  "ac0f86afb7bbca8d57c4f",
       
 15816 +                                  "43d235cd54423fd6135def",
       
 15817 +                                  "4053f687fd270a04d092a9",
       
 15818 +                                  "197461e90c6b70a7dda46d",
       
 15819 +                                  "65f71d8c8e62cbeef07daf",
       
 15820 +                                  "70b50a59ebc270bb237505",
       
 15821 +                                  "2b5280596202f4b3ee0814",
       
 15822 +                                  "1a30afeb54dea502f0310a",
       
 15823 +                                  "33c3a8fe7d6e90cd610695",
       
 15824 +                                  "517123f4920304dc75317a",
       
 15825 +                                  "46afa6e418c9bd4065cd9d",
       
 15826 +                                  "2a68ad26b94fd25b4509aa",
       
 15827 +                                  "2ab0a302ecc453de7fdbe4",
       
 15828 +                                  "43e02a2659ddc4d3204fd7",
       
 15829 +                                  "7fcb3af03a778d48d5ac9b",
       
 15830 +                                  "40734a14dd653457e54b74",
       
 15831 +                                  "55152f253ffb05575c981d",
       
 15832 +                                  "6bb593df2f572a23254ed6",
       
 15833 +                                  "210441f8cc9b531f88fd3a",
       
 15834 +                                  "c79d219ef793e02a9f989",
       
 15835 +                                  "752129c2d07a536bf3bb8",
       
 15836 +                                  "2e9fc43379988881a1b064",
       
 15837 +                                  "db07432bf40360e3df399",
       
 15838 +                                  "2e9650e328b679ea03af31",
       
 15839 +                                  "249469414e604f245a56ca",
       
 15840 +                                  "34c572dd024d37c54c5648",
       
 15841 +                                  "411a5d336f1cca7988f319",
       
 15842 +                                  "4ca98168d36f8ab3815a02",
       
 15843 +                                  "63f8378a4c563212109ee4",
       
 15844 +                                  "7c4aa256f5265e9d49e8ab",
       
 15845 +                                  "4c622bd5bd26bcbd487c68",
       
 15846 +                                  "185c0df44a167fc9bfe948",
       
 15847 +                                  "7b4912ce2f8ea6ad90baf0",
       
 15848 +                                  "4b90d5d4f791e4cafea283",
       
 15849 +                                  "639eb30656278296f2b3e0",
       
 15850 +                                  "21d9c50ac15f9a1fc38df4",
       
 15851 +                                  "797e5770501b190fa5f6f1",
       
 15852 +                                  "6be705331dd40db5a995b0",
       
 15853 +                                  "79a8e47a4d897cf6b712f",
       
 15854 +                                  "32f17d420cb00b34cd9fc3",
       
 15855 +                                  "3d1dbd13d46aa7f5e4c42",
       
 15856 +                                  "2b036df33feda1ac5edb68",
       
 15857 +                                  "2969569df7efe8c61bb461",
       
 15858 +                                  "1c94ea576c3cfe00e40a0c",
       
 15859 +                                  "36a98de095d312e040c903",
       
 15860 +                                  "2e78ee01fc4dbe304eaea1",
       
 15861 +                                  "51edf68dda1a87c4b3af7e",
       
 15862 +                                  "cbf28251298433a3abc70",
       
 15863 +                                  "73f8a019ddb59d3f06f049",
       
 15864 +                                  "341181b7d4d6f4e2cf9643",
       
 15865 +                                  "17040e8c8be515e4ea36e",
       
 15866 +                                  "25e016000255df0b5c8153",
       
 15867 +                                  "272821f07dab57e4aaf0a7",
       
 15868 +                                  "4786c255855f792a20f869",
       
 15869 +                                  "79ea859ae0d9bf58c8e071",
       
 15870 +                                  "592a4efec7cf89e527fdb",
       
 15871 +                                  "398cbdee468f0759c375a1",
       
 15872 +                                  "4e4622894612a0772ab9f8",
       
 15873 +                                  "3939cec4c6eb132c9146a8",
       
 15874 +                                  "41b1881d9704918a051695",
       
 15875 +                                  "b2c65762784255bbebc75",
       
 15876 +                                  "97bac956d2b65a51260e7",
       
 15877 +                                  "edea2902a199d26d75bdd",
       
 15878 +                                  "5b6485b2f7f41f0abf3544",
       
 15879 +                                  "6415a8a79aa0ebffb6a24d",
       
 15880 +                                  "ba3b72d702ce311cc02a",
       
 15881 +                                  "67ed429f48df076df817f4",
       
 15882 +                                  "58dbbd6f088b5ff881356c",
       
 15883 +                                  "2a9957bb174e3a8d1169ef",
       
 15884 +                                  "5298718820a8e285437a64",
       
 15885 +                                  "71dbc0d71fbcfcf1245bc2",
       
 15886 +                                  "495ccc90a936edcdb3b175",
       
 15887 +                                  "6862becb8f668738ac092f",
       
 15888 +                                  "5f1584cca489de9bdcd65b",
       
 15889 +                                  "7f873bc8523c4931739324",
       
 15890 +                                  "282425a374dcf57904fcaa",
       
 15891 +                                  "7b233911df67c0ffe75298",
       
 15892 +                                  "28da7bd48db9e867715c64",
       
 15893 +                                  "14e34536d861554652fc3d",
       
 15894 +                                  "643b1783eeff5d2d9d100e",
       
 15895 +                                  "528f06b90d6ea98654eb1b",
       
 15896 +                                  "6c02da94ff6269ebf8b68",
       
 15897 +                                  "7116294960ec1370cfa192",
       
 15898 +                                  "34b380f57ddac800a53234",
       
 15899 +                                  "3746df2dcaeb2f941850af",
       
 15900 +                                  "520cfdeb5b65ce3df47f12",
       
 15901 +                                  "33bbdb9fd9d9e6cda126be",
       
 15902 +                                  "52a44d4aac2b12a44786a4",
       
 15903 +                                  "17e032019f0dc1c4277c0b",
       
 15904 +                                  "3069cb41e51edac9ec2b3f",
       
 15905 +                                  "653694fe66c257988cd02a",
       
 15906 +                                  "332ea59945a5d0e73f7dc5",
       
 15907 +                                  "47d7208165498ac04fc240",
       
 15908 +                                  "5f8e36ec1202b0292d5945",
       
 15909 +                                  "196185d708583cfba757f7",
       
 15910 +                                  "44dd12bd0d7f960d6bd7f6",
       
 15911 +                                  "235ae37d20b21074f27732",
       
 15912 +                                  "4d10e4408b3b6761aa225",
       
 15913 +                                  "3f14484539a427ea73a1b8",
       
 15914 +                                  "35b964532350abcbf76d9f",
       
 15915 +                                  "7e5eb2a4ef3434465acdeb",
       
 15916 +                                  "1a04ba76b7855a5e9c289a",
       
 15917 +                                  "57caf75d12ec817c6cddfa",
       
 15918 +                                  "fb87766da12e75782ca77",
       
 15919 +                                  "76272e758d9f83ceea908b",
       
 15920 +                                  "15e2aab3b7b69272b3c155",
       
 15921 +                                  "26b5c49d8c4e12d4b3d157",
       
 15922 +                                  "18347f5ec924cf4631f292",
       
 15923 +                                  "2ef94456619d9728490c1d",
       
 15924 +                                  "1000ca68b2a0f4790d5b97",
       
 15925 +                                  "208b7d3e85a97a99407a38",
       
 15926 +                                  "745cc1be634380e90bc82",
       
 15927 +                                  "60b46e71f1f2b8376d5d29",
       
 15928 +                                  "2f305b730466b54d50855e",
       
 15929 +                                  "61b023abdf63ddd6300036",
       
 15930 +                                  "3bcee7bc9a5ca7219edfaa",
       
 15931 +                                  "785211217f5fa1bf82b193",
       
 15932 +                                  "765c653014c5e4b3dc3865",
       
 15933 +                                  "52d5ea798306c9e21853b2",
       
 15934 +                                  "402466331777b126e4d8e2",
       
 15935 +                                  "7fd2ed81931942f0ef8d50",
       
 15936 +                                  "6edb305f1f8f30902439c9",
       
 15937 +                                  "1a484afbb93898190d8d03",
       
 15938 +                                  "40f2e74e1048db76b72516",
       
 15939 +                                  "b03e402e64c3436818402",
       
 15940 +                                  "4b0f09e29272f9d49c6266",
       
 15941 +                                  "59f29456bbb20b47aa046f",
       
 15942 +                                  "308a1daa2779a84d4db8ac",
       
 15943 +                                  "43c088f2eb74b96d25a4a8",
       
 15944 +                                  "614a9023303ed4dd2cdfb9",
       
 15945 +                                  "437e569a7451bd9bbbce87",
       
 15946 +                                  "7c38756fdad7c18ef7576",
       
 15947 +                                  "cdd3df5aba4c7ba52b4cd",
       
 15948 +                                  "2d2efb8be305a05b685aa3",
       
 15949 +                                  "1aba34eed15b418d4b7f0a",
       
 15950 +                                  "2432bbe72c83689ef74c85",
       
 15951 +                                  "4b2a621bcd3f244dbd1aa6",
       
 15952 +                                  "38a68ae5efe6ac22d3f278",
       
 15953 +                                  "3e1ecaa8d0631877bfedb9",
       
 15954 +                                  "67afcc19d0bb557a608666",
       
 15955 +                                  "fb85baef473def8948133",
       
 15956 +                                  "47efed21b3657d0618e28f",
       
 15957 +                                  "6e988e80d2c29dc7542de4",
       
 15958 +                                  "525362bcc006730db95180",
       
 15959 +                                  "30e3bf91dbc04d50a032bf",
       
 15960 +                                  "17a50483229662a578fdf3",
       
 15961 +                                  "3395f092181af53bb73f3e",
       
 15962 +                                  "260f0ab9a00e1e941e404f",
       
 15963 +                                  "26b516b52794658e68ab5a",
       
 15964 +                                  "76dda8edbfa5a4265a1a74",
       
 15965 +                                  "49af3dd263ef8ddc7b0303",
       
 15966 +                                  "4956d4cfa3dee8e23259eb",
       
 15967 +                                  "245cbb0117ba8963db7929",
       
 15968 +                                  "41327dfa41486f6b995572",
       
 15969 +                                  "207b51e97aba651825b40f",
       
 15970 +                                  "1d5fe04c71a377f6784338",
       
 15971 +                                  "43d0ab106641bd01d72cd4",
       
 15972 +                                  "7dea2305f898b6d88f6821",
       
 15973 +                                  "7c9cfb41c0f888d000fc52",
       
 15974 +                                  "6b849a1f17d635cf0a773f",
       
 15975 +                                  "3195d14bda042e7057d34f",
       
 15976 +                                  "52253824741dd177a674a9",
       
 15977 +                                  "6387ce1a213d98335598c0",
       
 15978 +                                  "50c4c9d0b48bd147d875cd",
       
 15979 +                                  "2afa4dd2f2245b7525fdf6",
       
 15980 +                                  "7add5048bc0984c36294e1",
       
 15981 +                                  "77e2377901111b6ba92316",
       
 15982 +                                  "83b4a6c139b7fda28fc0b",
       
 15983 +                                  "30f7be09c5f39b5532dcd3",
       
 15984 +                                  "132d2eb133a0383d464ad2",
       
 15985 +                                  "47d814d93ff8dca3c1398b",
       
 15986 +                                  "37bd7e26cf4711cd149911",
       
 15987 +                                  "5a081e53f2beac49d1a3e5",
       
 15988 +                                  "59ff3fb267f4dcf86fd4df",
       
 15989 +                                  "146dc1fd204e259d148dfd",
       
 15990 +                                  "578a6c67a3dea7609537e0",
       
 15991 +                                  "7376e75fa605889898fa7a",
       
 15992 +                                  "9dfe0a1feefabb0c62643",
       
 15993 +                                  "788f47c4aa1ecb9b01c1a7",
       
 15994 +                                  "3ed51ed7c85d68db84d78a",
       
 15995 +                                  "23270a061497f9098a49ee",
       
 15996 +                                  "3153805f294e973c493b1e",
       
 15997 +                                  "22d68d4ed1af18d8658de4",
       
 15998 +                                  "2ae83fe35c42b256590f54",
       
 15999 +                                  "6e1573decbd31bd14c0615",
       
 16000 +                                  "3ec0da959b014a91e3d171",
       
 16001 +                                  "7d60cbfdcc63ced7661d40",
       
 16002 +                                  "2e1479f3781e1a48fc49de",
       
 16003 +                                  "49639d01a55025d5b2f6ef",
       
 16004 +                                  "7d98b2bd2e9168b6d2e72f",
       
 16005 +                                  "14efaca65e59726b81dbf0",
       
 16006 +                                  "2d816960b0911019df6133",
       
 16007 +                                  "10b3ac9e35f753e3c9deb",
       
 16008 +                                  "40c514f5e20e67263ea899",
       
 16009 +                                  "6ad236039c2c3e149bcca2",
       
 16010 +                                  "8ab595a01941ab4070b39",
       
 16011 +                                  "5dd15f8501fbd308a231a2",
       
 16012 +                                  "6f79151ea6cbf1bbe85f5d",
       
 16013 +                                  "13fc0f6b201b7368c44178",
       
 16014 +                                  "601f96473a856041a89ff8",
       
 16015 +                                  "67adab05fa921650ed942f",
       
 16016 +                                  "4fe741cddc07d380fb6143",
       
 16017 +                                  "375ec3fc3fce6eb8e8ee9d",
       
 16018 +                                  "416b4cd1af257e44ad03fe",
       
 16019 +                                  "7b2f70ff56626a3003c33d",
       
 16020 +                                  "39c91d6ca89a6fa52b3be6",
       
 16021 +                                  "34363c8e2f82b5fdad8c66",
       
 16022 +                                  "77c405c1030a468f5abe34",
       
 16023 +                                  "67437e976a93329c5b9760",
       
 16024 +                                  "499ab94c7bb40ba492d85c",
       
 16025 +                                  "49c59a03a60b57e7bac289",
       
 16026 +                                  "210cf16be9c62f7408e63d",
       
 16027 +                                  "7a2990f262218cc62c32dd",
       
 16028 +                                  "4c2a57eb3ff167fa077ee2",
       
 16029 +                                  "23343ed75a8de5a22fac16",
       
 16030 +                                  "567dff5f6f64aa1697fa0f",
       
 16031 +                                  "fc59307a819ae8b7a3f67",
       
 16032 +                                  "2b8d9b2da99a690e7c44a7",
       
 16033 +                                  "9f4b0dce97935ef1d9158",
       
 16034 +                                  "365c9be3e9c7dcc814388a",
       
 16035 +                                  "4cada2a5056e025832015c",
       
 16036 +                                  "33fd72210da605d38ab799",
       
 16037 +                                  "28a2b96944f1b1210e6bbb",
       
 16038 +                                  "125d9103db1d2a83e13f71",
       
 16039 +                                  "3e1e43759c2fbd4596b36a",
       
 16040 +                                  "20db18e6c822f683f97989",
       
 16041 +                                  "f46157d09593fd6ceaef5",
       
 16042 +                                  "c75433d8b0423b552102a",
       
 16043 +                                  "5aaca79690a162240db985",
       
 16044 +                                  "1160b80ff627f607bda927",
       
 16045 +                                  "5839527a17db25de563064",
       
 16046 +                                  "7b9587337c3feffe6974d6",
       
 16047 +                                  "147d7e964c45ec443a24fc",
       
 16048 +                                  "40a3f5ad2d4a9b33e2f67f",
       
 16049 +                                  "1cf9608a937eea1a0bb3af",
       
 16050 +                                  "2a8bb0c8c3747adf31dc91",
       
 16051 +                                  "3c3d137503578a98196d6d",
       
 16052 +                                  "1cab579a1f775fb778d900",
       
 16053 +                                  "72e9a5baa06d4af7c9f9da",
       
 16054 +                                  "dad2db631732b0506f6b1",
       
 16055 +                                  "686f17e02f2d49c0e2e48",
       
 16056 +                                  "21eb89d73161656b740b6c",
       
 16057 +                                  "488aa158d747df0f5cd422",
       
 16058 +                                  "67b1ce8dfe00f53da9491b",
       
 16059 +                                  "687346ea28caf1c87376ab",
       
 16060 +                                  "254a37a2b407cabbf8069f",
       
 16061 +                                  "61d42c0be51a3d664c8df2",
       
 16062 +                                  "dd0623ecc7bb862ebbbac",
       
 16063 +                                  "54aeb8675aac1a423a7140",
       
 16064 +                                  "2e76f32ec68bf11c44acc8",
       
 16065 +                                  "a2c3a3cc1a5dfdc5a02b7",
       
 16066 +                                  "6a25d7d313e7a656aee548",
       
 16067 +                                  "78022742d8c1b58e95d935",
       
 16068 +                                  "46ea2e85d6ca1966d1ada4",
       
 16069 +                                  "7530bbdc505d301ed9040",
       
 16070 +                                  "30ebf17f92538a33a005c5",
       
 16071 +                                  "4839ff83b5f2ddc41b61ee",
       
 16072 +                                  "6517d2ae1b7ba4107ba2ed",
       
 16073 +                                  "1a5f34cedfae0cde5ea0a4",
       
 16074 +                                  "3d55ef23d8c9f8419ff28f",
       
 16075 +                                  "41d953d4dc4746ec83a1f0",
       
 16076 +                                  "4f4128c0856b216db55c75",
       
 16077 +                                  "af0b8a8f75ec961c833db",
       
 16078 +                                  "1e5217185f433bf1233d59",
       
 16079 +                                  "5846b0049ea6f32f4b2762",
       
 16080 +                                  "40e1957b3947c90dc23e89",
       
 16081 +                                  "5c6cf60aae0cfc30048ec1",
       
 16082 +                                  "5ee2324ad6594548cd275b",
       
 16083 +                                  "7969c90c819c5b0080834",
       
 16084 +                                  "6afc9a3033b5fed5a0c3ee",
       
 16085 +                                  "586e1bd3806f5472b98045",
       
 16086 +                                  "6afe8bc3bb8509aff3c666",
       
 16087 +                                  "5dbb4f6414155050573b80",
       
 16088 +                                  "493f40656c80193590d2f4",
       
 16089 +                                  "3e61864fd19f85bd211f70",
       
 16090 +                                  "3ff0891da2c6d0cb8ab6f0",
       
 16091 +                                  "245f14c58fc2f1bd38bf6d",
       
 16092 +                                  "5334ba131913654474693a",
       
 16093 +                                  "3b8be315926a14f8200fe4",
       
 16094 +                                  "54c37f5e810a7c49e7a02d",
       
 16095 +                                  "3c015f30d95c1da9c47adc",
       
 16096 +                                  "26580ddf1efe9fe3eae4e0",
       
 16097 +                                  "5b68ba6c572a6576af79a8",
       
 16098 +                                  "6b11c6506832a5a8571e85",
       
 16099 +                                  "37f81f265c72ca7279eb3c",
       
 16100 +                                  "79b27c762372e476f703f7",
       
 16101 +                                  "102e8f3d54ced5e10227ed",
       
 16102 +                                  "173b57e939be4a4efef880",
       
 16103 +                                  "5b18e3d2fe16a9d973b934",
       
 16104 +                                  "4413cfa8b5666fc0af877a",
       
 16105 +                                  "54b4dc744541c38f937102",
       
 16106 +                                  "30ffdb4a4aa7f26e29fcc9",
       
 16107 +                                  "1b931cd6241fc4f484ed23",
       
 16108 +                                  "7a45d57fdc1a44af5791fe",
       
 16109 +                                  "66ac85711d7e32d731c773",
       
 16110 +                                  "6f55491282e49ce5634ba6",
       
 16111 +                                  "17ef22a6ba1fe32d3ef7c0",
       
 16112 +                                  "153d48f10507702bdbbfbd",
       
 16113 +                                  "755b7f3a3389c861fb2d23",
       
 16114 +                                  "1bacdadb366134c3d1a5c0",
       
 16115 +                                  "4de1c0244f476f355a3a91",
       
 16116 +                                  "2b04a0e7492ffe108c1c00",
       
 16117 +                                  "49b08f20244bc64879adcb",
       
 16118 +                                  "76201a82e565cd9ac092ed",
       
 16119 +                                  "69699a76b55d4ca99064a0",
       
 16120 +                                  "6d83e6632fcdd8cf940ffe",
       
 16121 +                                  "705cc0331aa0195cd9f6ec",
       
 16122 +                                  "59b1b4d92c6ee6432bf67c",
       
 16123 +                                  "26c3f6eae80009e6946697",
       
 16124 +                                  "825e4a5dedb493626e7ba",
       
 16125 +                                  "4d1a97d405c026a8a5aed6",
       
 16126 +                                  "d08254f4d2d5ca1a5b877",
       
 16127 +                                  "7bca9525e525d6ded2c76f",
       
 16128 +                                  "755d342969e9fcde9fd595",
       
 16129 +                                  "7438dcc1d87bfc73ab26",
       
 16130 +                                  "5d77b3e7e323ddd35a71a5",
       
 16131 +                                  "dfc33dec9862e861d43cc",
       
 16132 +                                  "75b3fbba0880cedfe12ea",
       
 16133 +                                  "2746a28b14b19ab8d24145",
       
 16134 +                                  "795824804b82c5e751df2b",
       
 16135 +                                  "1c6bd00355516b7177a93d",
       
 16136 +                                  "75d1f80628c3a1c1082c91",
       
 16137 +                                  "1998245099906d42a62588",
       
 16138 +                                  "7ba683eab937665ca29978",
       
 16139 +                                  "203c3b480852a2154fd642",
       
 16140 +                                  "1ee8fffd33bf6223d36b95",
       
 16141 +                                  "c92faa8d02b107a1b5d50",
       
 16142 +                                  "65a7ac7cbfcc2f6c41c2ac",
       
 16143 +                                  "7450197e181adf8c4f92cf",
       
 16144 +                                  "636079478bd1eb493d0866",
       
 16145 +                                  "47792007d733892284fb9b",
       
 16146 +                                  "44678fb0d784f11b21a657",
       
 16147 +                                  "27e147bc2366e607ad99bd",
       
 16148 +                                  "168c6919206ac6ace0f625",
       
 16149 +                                  "1c9f92bdf4717c6880a9ba",
       
 16150 +                                  "3c4dc48e3cdfd4ce2eefe9",
       
 16151 +                                  "6b79ef63bb66f1362d8de",
       
 16152 +                                  "5efd2121bfee3a30184816",
       
 16153 +                                  "5ca7f66678a73081bd34e5",
       
 16154 +                                  "5cc79f5d12d2a991f4ebd0",
       
 16155 +                                  "4fadec3b4cf5617426ac33",
       
 16156 +                                  "af86674d8a1c364331ef3",
       
 16157 +                                  "1b0ff68c5f14ee84b37e7f",
       
 16158 +                                  "6be91a7f057434bdea3953",
       
 16159 +                                  "498cac7e3100df5899cd16",
       
 16160 +                                  "3a0a69f5624f959d85e411",
       
 16161 +                                  "779b65c66a52eeb45328d2",
       
 16162 +                                  "48b5f18a43890f525b850c",
       
 16163 +                                  "1a9a55461554e908c4fbf0",
       
 16164 +                                  "230c19482c2fdfccb6b94",
       
 16165 +                                  "1a364185d640ba1a6ed583",
       
 16166 +                                  "1c72fdd679cfcd10e369be",
       
 16167 +                                  "56853e4d2e614e1924d27a",
       
 16168 +                                  "10cc655b268878a4e8e081",
       
 16169 +                                  "3c71a5e6f6b431bc524a53",
       
 16170 +                                  "7b274f32f2cbfe03031cb0",
       
 16171 +                                  "64adff5211c520e76cfa93",
       
 16172 +                                  "621edd8ea6ff7136526540",
       
 16173 +                                  "7f8ad9957e40808881a192",
       
 16174 +                                  "76c881f1a372f21e829095",
       
 16175 +                                  "5027d58d8950e307548d14",
       
 16176 +                                  "122225a7053b175027361a",
       
 16177 +                                  "627a4795d0c0df1d84d13a",
       
 16178 +                                  "4a5333a5e1c04b8bdfa257",
       
 16179 +                                  "4555d38c19f123cccb6fb4",
       
 16180 +                                  "bf09d6ff46adc21d04951",
       
 16181 +                                  "bfe2f259223ccddac13b3",
       
 16182 +                                  "4167a3ca5253556f128ea6",
       
 16183 +                                  "1d3c95c9d8462d4c467220",
       
 16184 +                                  "48e1272ba911cad7536a1",
       
 16185 +                                  "59b759ca3a67e4725b5f84",
       
 16186 +                                  "53cc3acdd810a96c3160cb",
       
 16187 +                                  "6abf077f6636ceee313734",
       
 16188 +                                  "226c7c98f219b40ea94b66",
       
 16189 +                                  "54dcbbc689dad12df77730",
       
 16190 +                                  "5abf04c6f95d64b6c414",
       
 16191 +                                  "50774e378282fd09459eb4",
       
 16192 +                                  "66895605da5092de3d2b87",
       
 16193 +                                  "3bb5af245e5d40c6fc15e3",
       
 16194 +                                  "6e388c53aaae7d287eebd5",
       
 16195 +                                  "446d6309025414bad0aee1",
       
 16196 +                                  "6a40f14b7a50eeca571bae",
       
 16197 +                                  "6d925493d403647cc0a7ba",
       
 16198 +                                  "73f933fe401d564be0efd3",
       
 16199 +                                  "15aba357d612d87099180d",
       
 16200 +                                  "5c20428f433fbf0c9ab374",
       
 16201 +                                  "4871087f3b2cd3c0f24c3e",
       
 16202 +                                  "4eea383bfa391bcb14540",
       
 16203 +                                  "658769c97f8b8945ac2878",
       
 16204 +                                  "4a05e03567ac78048832e8",
       
 16205 +                                  "5e4b991cdcf27f65105596",
       
 16206 +                                  "32e5746a212d6238682c00",
       
 16207 +                                  "26436c96779bbae9c15fae",
       
 16208 +                                  "290cc13b5edc05d863546",
       
 16209 +                                  "69714524521e343bc3692d",
       
 16210 +                                  "3ecd876c819b78567f7fa4",
       
 16211 +                                  "2abf897aba93d347d6e2db",
       
 16212 +                                  "62f83959d672cbfe7201a",
       
 16213 +                                  "1a54e98271fd5720e1bc63",
       
 16214 +                                  "2029341ddfdbd9f668612",
       
 16215 +                                  "572930c1df7ba238dfc9cd",
       
 16216 +                                  "1b71574f7c567d707d0e82",
       
 16217 +                                  "509b53b07e607cbcf6e79b",
       
 16218 +                                  "682583fe078ff76c962922",
       
 16219 +                                  "2f0c8ecc959b7521936666",
       
 16220 +                                  "621bfd4a39ee713781e554",
       
 16221 +                                  "3712172b56577089f4c773",
       
 16222 +                                  "208fb7a4ffec7d8d1e5be6",
       
 16223 +                                  "1a5e08fda45015af7feba5",
       
 16224 +                                  "172bc617da9e1aa348e114",
       
 16225 +                                  "427af6fbf5578c6104b255",
       
 16226 +                                  "522de20b2431d6ac8f42fb",
       
 16227 +                                  "6ee2946ba009641ad73037",
       
 16228 +                                  "73e027017f2dbdbc204a16",
       
 16229 +                                  "3d88de9f1c15bfd7b6363b",
       
 16230 +                                  "36c8b1aaf274cca356ae2f",
       
 16231 +                                  "e050d10f9ab1681fbdc06",
       
 16232 +                                  "3cd72e80ffad615f09526a",
       
 16233 +                                  "2b913687a118d5d595277b",
       
 16234 +                                  "22af1fffca9aa4b2ba234a",
       
 16235 +                                  "7b4ac8e7f9ffbf17f0627f",
       
 16236 +                                  "57d57f4721fb6be3b38e99",
       
 16237 +                                  "c98c97ab7b4b0cb756894",
       
 16238 +                                  "2248d63b93978222916f1b",
       
 16239 +                                  "53528c9bfa6f5405d66497",
       
 16240 +                                  "5e45b3a532e82a603df12b",
       
 16241 +                                  "6799fa1f9cffb381bd6c8c",
       
 16242 +                                  "5097857cdd82d2df144dda",
       
 16243 +                                  "4f540ba10fdacad19fee6f",
       
 16244 +                                  "15891c14bba25257cb14ef",
       
 16245 +                                  "eb947683c26db8dac2f36",
       
 16246 +                                  "6b497ffe240d0867d5d7ef",
       
 16247 +                                  "2beed154412bd52cf1c83c",
       
 16248 +                                  "39824b01dda7b8ada90cc2",
       
 16249 +                                  "5afcdfdab7a5b6864efc6d",
       
 16250 +                                  "743eb61998341a5e892884",
       
 16251 +                                  "745ca85c76435eb7ba81ad",
       
 16252 +                                  "4b223517b6c7cd85cb43d1",
       
 16253 +                                  "51e8f647af3880d2b77ccd",
       
 16254 +                                  "6a24f8897d3040e8fb1da8",
       
 16255 +                                  "57f40a819546afc89fc2ce",
       
 16256 +                                  "6b0dc0d5521d21af0ccaf4",
       
 16257 +                                  "282f326b1fcbfb463ba836",
       
 16258 +                                  "4d7d33eaba361883277544",
       
 16259 +                                  "298af75c2d584b01ccc6a6",
       
 16260 +                                  "692752e677cdaba7d636c2",
       
 16261 +                                  "277575523998439f834d3",
       
 16262 +                                  "1aee70e483c99574480349",
       
 16263 +                                  "18991d6f38c445ab4b38f1",
       
 16264 +                                  "5552617d9eaca45155f490",
       
 16265 +                                  "3459971422155f9703c78c",
       
 16266 +                                  "40678fa2d309cb9417f68f",
       
 16267 +                                  "2be59650bf9aa57c249937",
       
 16268 +                                  "5ea38165e28694c8629ccb",
       
 16269 +                                  "3e6265ca213c1a0be64512",
       
 16270 +                                  "69c96f5702ae4eecc6f341",
       
 16271 +                                  "62e9a332653e1b103db5cf",
       
 16272 +                                  "62870c281778214067b40e",
       
 16273 +                                  "14bde3f9984cc98dc83f60",
       
 16274 +                                  "5338be8d9f87d3f2e46b2e",
       
 16275 +                                  "5e7785eebda5c8e2f0247b",
       
 16276 +                                  "24183bf26908368eb41547",
       
 16277 +                                  "51f9e6d75a3c5264312643",
       
 16278 +                                  "4c67268f528ba7e8c34a0",
       
 16279 +                                  "708324dd5e787ea3d43a21",
       
 16280 +                                  "75b09479e265b9f0ac9a5b",
       
 16281 +                                  "7972b4774882051f2d85a4",
       
 16282 +                                  "31be6678e513813e0e676c",
       
 16283 +                                  "170a54e825e33a2265d3cb",
       
 16284 +                                  "66fecdf77d13ff6c0b25a4",
       
 16285 +                                  "923121ae3af782c934df4",
       
 16286 +                                  "473c4bff7362fbbd2049ff",
       
 16287 +                                  "61249154ca21ee2b75deb1",
       
 16288 +                                  "23ac86fba80f09945d51d2",
       
 16289 +                                  "19b52abcac8b60d5349efc",
       
 16290 +                                  "3a9c7a7d5782f84fd4620f",
       
 16291 +                                  "674fde01f6057423c31a9a",
       
 16292 +                                  "5533d7d78826353c79c73e",
       
 16293 +                                  "42e88e9f66659afa2a393",
       
 16294 +                                  "18e83fe885c9bab518bb97",
       
 16295 +                                  "1ccb03c008f2e822848880",
       
 16296 +                                  "3665e544d5ec7ed8868a1b",
       
 16297 +                                  "6b25a8073bc36b2af4c2b1",
       
 16298 +                                  "7b5ec7e3346c3cb243b356",
       
 16299 +                                  "34b484cdb4cebe6aff839",
       
 16300 +                                  "260d3af59b4f3d5c208bbf",
       
 16301 +                                  "3d946cf498fbed2d965f70",
       
 16302 +                                  "4755035ba4d9924118903c",
       
 16303 +                                  "4a29c3e62c947a4a1e99b9",
       
 16304 +                                  "4edfb060e1dacbd449d726",
       
 16305 +                                  "29f1e17550354ceae49f99",
       
 16306 +                                  "247f391e5a3b234cf19ccc",
       
 16307 +                                  "7e2be12d72782db9e725dd",
       
 16308 +                                  "47d8e4eb9811f9d409ea40",
       
 16309 +                                  "5488a723f6ba5cf9800543",
       
 16310 +                                  "304cc216ed2272d07c7f80",
       
 16311 +                                  "3292c0c9fda6887e4ad161",
       
 16312 +                                  "24af65fef90e2f99e03cae",
       
 16313 +                                  "2c250894e17e7f4b0dd",
       
 16314 +                                  "77a73ba77b4ed622a17e87",
       
 16315 +                                  "f36396be6cc745bba9473",
       
 16316 +                                  "683a5c6214b92efde4aafb",
       
 16317 +                                  "55247bc5a72b8d3e89234b",
       
 16318 +                                  "6747e95b215a546a339b7",
       
 16319 +                                  "178fa57d907fddb0fe3cca",
       
 16320 +                                  "748df460f8594e0bf1ab20",
       
 16321 +                                  "3b409dc537f82b36a0b80a",
       
 16322 +                                  "69150cde40be119caa92bb",
       
 16323 +                                  "48ef84f7c351ecdc951b2d",
       
 16324 +                                  "4e162f9f85bd081abd7380",
       
 16325 +                                  "32dc0a137f654afa8bd8fc",
       
 16326 +                                  "6f59efef27dbd92df6f652",
       
 16327 +                                  "645d789e2ca881eb3474c9",
       
 16328 +                                  "73a88b6c78ebe25a0f02da",
       
 16329 +                                  "3501255a6a3473cf6ac042",
       
 16330 +                                  "4026f1042b0f5b1e940a78",
       
 16331 +                                  "364b7fe165d59b5d916e2f",
       
 16332 +                                  "daa197fa1e9b3068f7333",
       
 16333 +                                  "1d51d9201dd8c5066bb7d1",
       
 16334 +                                  "1e7a055357b6580f4a7b9",
       
 16335 +                                  "6f33938b3b060336c57082",
       
 16336 +                                  "6ad4c1af807487676eed8c",
       
 16337 +                                  "6a5c41dd17f1f090be79f9",
       
 16338 +                                  "2b1a4dba7447b02833bcc5",
       
 16339 +                                  "1a939b8af79d6b9d1e57e0",
       
 16340 +                                  "339fe9b069fdcbe6f3e985",
       
 16341 +                                  "55e838d685f75c7c6b5f20",
       
 16342 +                                  "38102211c805f10960d5ba",
       
 16343 +                                  "6f9024d8cdd8d69ef10bf7",
       
 16344 +                                  "2db5ff229cb2d0a85b8393",
       
 16345 +                                  "7e1946c78347049b735318",
       
 16346 +                                  "5a2d6c9f89fb24cf28d1b3",
       
 16347 +                                  "7d5f8fcc1cf99dc3131c84",
       
 16348 +                                  "68719eec758c692aaaddb3",
       
 16349 +                                  "a5582fe7b241700d09fbc",
       
 16350 +                                  "3de183e6b991f7b8085160",
       
 16351 +                                  "cd47f8baa501aac7b0989",
       
 16352 +                                  "658a9098281c199cd165fd",
       
 16353 +                                  "476085adcac943f7253ad3",
       
 16354 +                                  "45f39b8c67c74dfb911f44",
       
 16355 +                                  "3cb90317e0fd78744bd72b",
       
 16356 +                                  "509c14f0517edd55968bc1",
       
 16357 +                                  "7a6cf71a247a9aa2ad1f3d",
       
 16358 +                                  "594ab65a623ca11a1d847f",
       
 16359 +                                  "32765eba5563b5336b4375",
       
 16360 +                                  "e4ce3641fd893553aeebb",
       
 16361 +                                  "e73b5b515611f25e496d1",
       
 16362 +                                  "ddd508394009eefde3ac7",
       
 16363 +                                  "b4aa58f86a462da2ed07",
       
 16364 +                                  "4d562b2b0bde307c0edc87",
       
 16365 +                                  "2c30e99c7b2606982311b7",
       
 16366 +                                  "3a997ef0ad242391b526f9",
       
 16367 +                                  "4f754c5d3b280b20bc95d0",
       
 16368 +                                  "375f02bea7dda994d93044",
       
 16369 +                                  "5bd335a49bc5a06867e5e1",
       
 16370 +                                  "63d746c096cfab5f984c70",
       
 16371 +                                  "25d324d633986f4baae0fd",
       
 16372 +                                  "2175a06a641d5e8ad33646",
       
 16373 +                                  "403c1a7f2d528ab5d343b9",
       
 16374 +                                  "1429ba4cc3fbeac84cae7b",
       
 16375 +                                  "4fe62d365b58ffaa0d2201",
       
 16376 +                                  "6bd057cf4845772f81f71e",
       
 16377 +                                  "38dd92596a9fd54920876d",
       
 16378 +                                  "ffbb4d4d7cd961d36be9b",
       
 16379 +                                  "3910da787142c54f4f9b2f",
       
 16380 +                                  "2a843c02b5e59799422e65",
       
 16381 +                                  "4f459e6fecc9cadb8e977",
       
 16382 +                                  "374bc74be1e4381a79910f",
       
 16383 +                                  "4656a2b830782828314373",
       
 16384 +                                  "583e484be506b8efea96b4",
       
 16385 +                                  "36d97c131b997ecd7866ef",
       
 16386 +                                  "40066cef89d0c82982356c",
       
 16387 +                                  "3301553132b8af815a8ed7",
       
 16388 +                                  "475c6525a253fe4a455211",
       
 16389 +                                  "7215cad82f761314bbdd1e",
       
 16390 +                                  "784f7b46f80b03fd06242c",
       
 16391 +                                  "2fc0729bbc7485664f21f9",
       
 16392 +                                  "62658893411360a21b6bfa",
       
 16393 +                                  "775ff949792463791cf8ab",
       
 16394 +                                  "6bbcfc26c4e8fa7b836095",
       
 16395 +                                  "14a9e816ead24aab2e6645",
       
 16396 +                                  "6467af1a0f07013b2e9849",
       
 16397 +                                  "5f019291ccdeabcd687ce5",
       
 16398 +                                  "2311c97b29ff503887b251",
       
 16399 +                                  "623f56668cc8a093bdba7e",
       
 16400 +                                  "3b890cc2ea1882c16138ef",
       
 16401 +                                  "6e0d3cb0378f9f523dd7ca",
       
 16402 +                                  "e50ab5db695f894b26597",
       
 16403 +                                  "500de5789e46431a14b08d",
       
 16404 +                                  "74a3895c1173d1100e060",
       
 16405 +                                  "28c70cf1a34bf4b12fc1a1",
       
 16406 +                                  "260202888a368af1bf27f0",
       
 16407 +                                  "49f6551bb5a630f7f3a91",
       
 16408 +                                  "35984ab233bfbbdc2149d0",
       
 16409 +                                  "7715808f58e52b93fbd9f4",
       
 16410 +                                  "7a35b4347e2b2fcfef4e8a",
       
 16411 +                                  "696a995b7f1bd2337f9c55",
       
 16412 +                                  "765220bfddbe009c12884",
       
 16413 +                                  "6c4e919619ba3e8fcc083f",
       
 16414 +                                  "6908cd3a0537e6d9de224b",
       
 16415 +                                  "8cecd81b395199379b860",
       
 16416 +                                  "73475afc8917dfb47ca158",
       
 16417 +                                  "671133a56bfab71842e1aa",
       
 16418 +                                  "4356f96a535f02cd557790",
       
 16419 +                                  "d73559f9e34900d6994e0",
       
 16420 +                                  "4299b7c55998b524a2963e",
       
 16421 +                                  "6df756715e22975feac139",
       
 16422 +                                  "2e795b59317cae4c039946",
       
 16423 +                                  "638a87cbb628cc2744b5a",
       
 16424 +                                  "2d0786ef10819221e8e925",
       
 16425 +                                  "285121b3579e1afaecea17",
       
 16426 +                                  "f0daaf67c2422477284d4",
       
 16427 +                                  "df5585842155fda65c5ad",
       
 16428 +                                  "41824effd56ee95a25ffcf",
       
 16429 +                                  "5a2e3e7ac883c32720fb5f",
       
 16430 +                                  "786bd6b0d956c71e3d0c41",
       
 16431 +                                  "2dd9e647cd7caac396218d",
       
 16432 +                                  "32267a0d010a3ac60d956b",
       
 16433 +                                  "3bd14b5c954fd788df3e2f",
       
 16434 +                                  "55d4eceed6862d8b7edf73",
       
 16435 +                                  "32bc07a00fc1c32e790cff",
       
 16436 +                                  "e16e90086dfb42533696c",
       
 16437 +                                  "58f251e3a335055f8d1702",
       
 16438 +                                  "45d0bbd0c4c565d517f4d9",
       
 16439 +                                  "47cb5e48534f0fa269ac37",
       
 16440 +                                  "23591be47ead61c7626094",
       
 16441 +                                  "4e9b8b836aefbcc76074a3",
       
 16442 +                                  "7499dfe49d22092ecbaacd",
       
 16443 +                                  "422c99318e0e012bdf3cdb",
       
 16444 +                                  "6dbec10ac45803905232cc",
       
 16445 +                                  "5f091c9040f8e8b4af8c6a",
       
 16446 +                                  "49dd9e128368a6e8f31565",
       
 16447 +                                  "631d5fa433132c920e949d",
       
 16448 +                                  "4a728ba1f43b41e3c8ba7b",
       
 16449 +                                  "5de44a501f899626f11ecb",
       
 16450 +                                  "1db2b63fb5b72bd2913b9b",
       
 16451 +                                  "75c3040748861ea4157368",
       
 16452 +                                  "5714f7d7bb3f12d88adae1",
       
 16453 +                                  "3382f247e6cbcf48a8be0c",
       
 16454 +                                  "436134e757c46fe077e8fd",
       
 16455 +                                  "ca5fc0de7c8f0742fa11a",
       
 16456 +                                  "324b0e59fd313b7b066991",
       
 16457 +                                  "fca82540d3cb37cfe38de",
       
 16458 +                                  "71310c65e10b4b2e1f3924",
       
 16459 +                                  "53034f778656513538ce93",
       
 16460 +                                  "6e8a28f3d3f87aa2548dbc",
       
 16461 +                                  "792ab4b2a318b2229df59",
       
 16462 +                                  "700ac125ecd365c309339c",
       
 16463 +                                  "d7315bcace04536b59c5c",
       
 16464 +                                  "5f9fe5fab5062ae9d40550",
       
 16465 +                                  "7ed8ee73ca5507f25bd5aa",
       
 16466 +                                  "6247c20f5e97453bb71b09",
       
 16467 +                                  "463e980411d809a1713383",
       
 16468 +                                  "546f06ab10360a76005c9e",
       
 16469 +                                  "1c0a01fb60b92af636be29",
       
 16470 +                                  "a5385b7f7d2a505f37187",
       
 16471 +                                  "296401a6101dec9b48a81a",
       
 16472 +                                  "38aece2fe0c1923c569603",
       
 16473 +                                  "e966e5d5e80ac9dc377a2",
       
 16474 +                                  "7eaf3d6220ab7c049341fb",
       
 16475 +                                  "1a01c5dd382ca52c0f8a1a",
       
 16476 +                                  "68ab0ae55863c4f8044101",
       
 16477 +                                  "75b29426909e9c8294f365",
       
 16478 +                                  "39fc8d30c95dd0494e9be3",
       
 16479 +                                  "3c234bbaf5da9465f9498e",
       
 16480 +                                  "7ef05035c2a08e050870e7",
       
 16481 +                                  "7e880bc1729d1783a14627",
       
 16482 +                                  "3df3e3ff8b5241f9f120b6",
       
 16483 +                                  "61c60fa253a8977e213d6c",
       
 16484 +                                  "dcb3217133998c35879b7",
       
 16485 +                                  "19e87845fee8ee9d86794a",
       
 16486 +                                  "1b8c24041b5c09c2ff1c0f",
       
 16487 +                                  "1d4d18f2bee14ee417596c",
       
 16488 +                                  "5197b486ae5dad9284702a",
       
 16489 +                                  "7a4b513ca25dc5d887768d",
       
 16490 +                                  "2e1d98165a5897b1482cbe",
       
 16491 +                                  "494c96ddeebc9c314fa5db",
       
 16492 +                                  "29785bd232aa4bcde009aa",
       
 16493 +                                  "42d71e3ed0639f1b07231a",
       
 16494 +                                  "1439532a6d3fdff49361fa",
       
 16495 +                                  "8c59c1948361c413eed8f",
       
 16496 +                                  "2c9401cd53725f84e2c421",
       
 16497 +                                  "5eb9037bc76a6930985737",
       
 16498 +                                  "6d5d0573b2f9596b50b73b",
       
 16499 +                                  "36121cc69943c0f23f8a85",
       
 16500 +                                  "308787b80145ee403c389d",
       
 16501 +                                  "74d978e8d6a9ce6def9aa3",
       
 16502 +                                  "34242d89a6cc1d4e30fa9e",
       
 16503 +                                  "6106124e06a73207e84629",
       
 16504 +                                  "1174d8cdaeecfc5b7908d0",
       
 16505 +                                  "49f7df71bb684bf5a54c61",
       
 16506 +                                  "53b453f5f30f900af808e3",
       
 16507 +                                  "7b4210ea990dbb2b80bb4",
       
 16508 +                                  "232c5e33740871b389c8ba",
       
 16509 +                                  "3e748cccf5c4b2e587b8b2",
       
 16510 +                                  "2078bac214b712936de507",
       
 16511 +                                  "426ece55a7fd1d858414a0",
       
 16512 +                                  "1eac63084c7797618dd9f7",
       
 16513 +                                  "59fdecdacfa91d60fd391e",
       
 16514 +                                  "589758587c26455b22331e",
       
 16515 +                                  "19e1cce82f85eff6f6b24",
       
 16516 +                                  "16d83b4ed79a537102c236",
       
 16517 +                                  "4ad2dfbccfebf4c881dcf6",
       
 16518 +                                  "1851d531ca021ad6f2b572",
       
 16519 +                                  "1c85ed9416af845bb8e82",
       
 16520 +                                  "5cf912fba9a563060d7b3f",
       
 16521 +                                  "14c7f40a28e01adc5ae1b4",
       
 16522 +                                  "15131878551adae4b04c53",
       
 16523 +                                  "ddf6be61ce9c04533277",
       
 16524 +                                  "48938572f05f540b474485",
       
 16525 +                                  "465d9407cc9bc6456e974d",
       
 16526 +                                  "1df3eb49ffac499fc5f3b6",
       
 16527 +                                  "7e698a24ee9aa726fc4b0b",
       
 16528 +                                  "53e99cd5ced120123b808f",
       
 16529 +                                  "66ba97928f262067fec230",
       
 16530 +                                  "1d1b1bb20ae40ee8d35505",
       
 16531 +                                  "22cd6c35ab2195c56794f9",
       
 16532 +                                  "1ef2f8aa8266e26254215a",
       
 16533 +                                  "14da7875e13efd461f7c10",
       
 16534 +                                  "22d6cba0f681e23fc64382",
       
 16535 +                                  "682b3c7ed60ad7c985a3a",
       
 16536 +                                  "244d1131736a5aea351d17",
       
 16537 +                                  "3ae16fb3fb77d48c6adcc3",
       
 16538 +                                  "3253e31b47819fbcec75b4",
       
 16539 +                                  "507a6d1fd108a63234b38f",
       
 16540 +                                  "3e2cbdf24bd5900348312",
       
 16541 +                                  "34f2e009d684c876c246fb",
       
 16542 +                                  "bb247081da09643c00d36",
       
 16543 +                                  "32a426cd7460f9e5c5e7",
       
 16544 +                                  "48082cdc2a40ccd11ae434",
       
 16545 +                                  "1d616376b444140f9acd68",
       
 16546 +                                  "72bd80f062eb130b42b044",
       
 16547 +                                  "e1e55a565534c74a109fc",
       
 16548 +                                  "49e01d719bf13fd52369ee",
       
 16549 +                                  "2ae496e8d9399061460619",
       
 16550 +                                  "7adc118469443d4f7084b2",
       
 16551 +                                  "7ad19421f012d132850842",
       
 16552 +                                  "45b5b538c44c73f3bf515f",
       
 16553 +                                  "5f8307f0589178f70f7238",
       
 16554 +                                  "54018c8917549d050c00a8",
       
 16555 +                                  "4700bc9de4804ec44122f",
       
 16556 +                                  "d922a909e3b3afea5fe08",
       
 16557 +                                  "46ea38e0c4bb849b39baee",
       
 16558 +                                  "7b87e87e1438c6126ab1cc",
       
 16559 +                                  "499667b1e22348ac584789",
       
 16560 +                                  "137f8e05276cc8f9180095",
       
 16561 +                                  "5accf03c1a20af1120832d",
       
 16562 +                                  "4e94399e1765146189df5b",
       
 16563 +                                  "55fca6cb45a0501d1c50ba",
       
 16564 +                                  "2ea5fa6c2e19e6ee7add96",
       
 16565 +                                  "d8e9fae4ec5d3e7913712",
       
 16566 +                                  "767f863c9bfc5fd6540f44",
       
 16567 +                                  "477273c36a749543489547",
       
 16568 +                                  "4265efdcec74f163498291",
       
 16569 +                                  "43f53558dbb8a25ad757e",
       
 16570 +                                  "7b5d99de82bacb33af7ee8",
       
 16571 +                                  "1d4515e4768ff5c6b4178f",
       
 16572 +                                  "2057d9029cad07c3d344a3",
       
 16573 +                                  "e419f0eced24d03400fbc",
       
 16574 +                                  "2e30617b0abeb387001867",
       
 16575 +                                  "603f9b3bc6733094104e23",
       
 16576 +                                  "fa6bb9b4b92165346e0ff",
       
 16577 +                                  "321ccac2ccfd73a0b28c6d",
       
 16578 +                                  "6af9f591969edf6d33a899",
       
 16579 +                                  "5ebda7b44a30093e22fee3",
       
 16580 +                                  "150cbeb75257f8eed7903",
       
 16581 +                                  "1b0dfe5bf791bf4d645e64",
       
 16582 +                                  "5286bfcb1951cdb460fbe5",
       
 16583 +                                  "29ca62a9234f915c5c9715",
       
 16584 +                                  "3629587577ea6cd990a3d3",
       
 16585 +                                  "4d3d6fd7781e8ff3322226",
       
 16586 +                                  "7377f9449fdfa779330064",
       
 16587 +                                  "7f3f1310b0770a6a8ab4e6",
       
 16588 +                                  "74f8ea2aa01f3e122e9ec6",
       
 16589 +                                  "74aed20fd8f19001dab562",
       
 16590 +                                  "7a9c1df7aec04dc00e3584",
       
 16591 +                                  "2b3dba5edc89810815d1ce",
       
 16592 +                                  "217c2392122f9868740137",
       
 16593 +                                  "43ac29ece073be2a30ce86",
       
 16594 +                                  "4b6b8f4e6118573075d4ce",
       
 16595 +                                  "3cd3f5ea5623ce969c863a",
       
 16596 +                                  "421de31b9083741c4d4c48",
       
 16597 +                                  "1960ca77285b35812422e2",
       
 16598 +                                  "7d40cdfed339cab397652f",
       
 16599 +                                  "51a001a64a22c7bc0db3ea",
       
 16600 +                                  "1fe4c7d7da3eaeaae25e65",
       
 16601 +                                  "720179be8f54eb5c778be",
       
 16602 +                                  "1144f2116d6e426f3addec",
       
 16603 +                                  "10ad00e38092458e73fe4f",
       
 16604 +                                  "72e90ac5d748fbd2d7aadd",
       
 16605 +                                  "18250945b23b28bdd1208a",
       
 16606 +                                  "dee72e6d522c55b461f4b",
       
 16607 +                                  "1e31c413e16722caeb814",
       
 16608 +                                  "5ccfa76193ddbc64186a30",
       
 16609 +                                  "5eb2b60c1d97e4dcdb09d3",
       
 16610 +                                  "7f31009d8b384ea51f9235",
       
 16611 +                                  "7118c95246463e79fab7c6",
       
 16612 +                                  "2af1b36e871a2152d87ea3",
       
 16613 +                                  "1ae4174a64ea29d65c88b7",
       
 16614 +                                  "1aa4bb2c56ddce8ebceb39",
       
 16615 +                                  "65773487e5415b58fb205a",
       
 16616 +                                  "5adfc7a0a78f6657a5960",
       
 16617 +                                  "3d5e0686efab87e5e7c266",
       
 16618 +                                  "6552488fb7e68b138c5691",
       
 16619 +                                  "69cb489051468dc8b7a10d",
       
 16620 +                                  "2885d88c14361dbedb4fb1",
       
 16621 +                                  "17f8a55fef5d58503cdf89",
       
 16622 +                                  "71a2dd2f4561ce6b25cc84",
       
 16623 +                                  "173ef6d2228315e7fc8577",
       
 16624 +                                  "6095ebe0914ab346aaab52",
       
 16625 +                                  "1246f9f5df870b21bcb1e6",
       
 16626 +                                  "5e53c14166e301e45a1c84",
       
 16627 +                                  "3a1984f88834905315728d",
       
 16628 +                                  "4678975ad8ef4ef63ed234",
       
 16629 +                                  "139a5be9fe5d74b7b324f6",
       
 16630 +                                  "4057d3883ee10c31d0c5f9",
       
 16631 +                                  "5de657154513d33b2dbb32",
       
 16632 +                                  "7da4d79cdf3d83f0763c79",
       
 16633 +                                  "7399c1866bdfc2ee9d0ba4",
       
 16634 +                                  "48cdee08fb7cd0c828eec2",
       
 16635 +                                  "4c099f907df9db8a25350c",
       
 16636 +                                  "851fa3652b44e57d9190b",
       
 16637 +                                  "d0d6f30615b8f231bece9",
       
 16638 +                                  "5f305f39404231a1ce6591",
       
 16639 +                                  "47b5376a6bf9ae1b5420d0",
       
 16640 +                                  "55925c1c09bda33b3d0e7c",
       
 16641 +                                  "4aa62ab8f33741774c11af",
       
 16642 +                                  "cebc8496358956c6ed352",
       
 16643 +                                  "4e0f2086acba831702db59",
       
 16644 +                                  "2103ca88adecbfdd3370",
       
 16645 +                                  "5b917d89029b0850efbfd7",
       
 16646 +                                  "619fb115b590487fbaece5",
       
 16647 +                                  "709f8b4e1e81f78ecdd5bb",
       
 16648 +                                  "5c6ce5b29bafc437eda5ce",
       
 16649 +                                  "1c6a5fca595a1ff62b0a7b",
       
 16650 +                                  "5c246c8d9baad4092bd7a9",
       
 16651 +                                  "2f1ba6fd01e5cf713f7991",
       
 16652 +                                  "3d17d279ec6a81f53cd4f8",
       
 16653 +                                  "42af59edeafb6c79b9d208",
       
 16654 +                                  "7e0f7a6620c31d72d9d568",
       
 16655 +                                  "68d1c5df4d9653be9c8e7b",
       
 16656 +                                  "79db0961906e2d46b0b349",
       
 16657 +                                  "4c4fa3875e78671bc1d2bc",
       
 16658 +                                  "22a17bb1e02873c944cbe3",
       
 16659 +                                  "25e4a83dfc2f633765d96b",
       
 16660 +                                  "8a4219421d2f55bef801a",
       
 16661 +                                  "341ee0e329f6ab9da76c4a",
       
 16662 +                                  "28eaec99940a1b1f563841",
       
 16663 +                                  "4f1b7b04b31a6d85748c8e",
       
 16664 +                                  "1152ee1f6c91b44b1faa20",
       
 16665 +                                  "6b4aa7c57cecc522b32c99",
       
 16666 +                                  "49e219e4b19fa82e3cdd8d",
       
 16667 +                                  "5bc9b4c686de112404ccc3",
       
 16668 +                                  "40d9ddb7d82d86fe4dc6d7",
       
 16669 +                                  "6b85f2803d97e818e2e527",
       
 16670 +                                  "321405882a2a0c05f7907b",
       
 16671 +                                  "60749c3a015660029dacb9",
       
 16672 +                                  "26240f3e8816b599bb01c6",
       
 16673 +                                  "1a91a4ef4625f7ae911f1d",
       
 16674 +                                  "18704740809cbd3a91bcc8",
       
 16675 +                                  "532d2ff2bd9d0ca8b344ee",
       
 16676 +                                  "18488f368798b8734164ca",
       
 16677 +                                  "7453e07405f19cfba93c17",
       
 16678 +                                  "3cfc7a65b66e9f8c6f8cbd",
       
 16679 +                                  "4dde9b7ed5a96934e4dd51",
       
 16680 +                                  "7afeb7314079bb05948a57",
       
 16681 +                                  "2f4c8ebd42ef359c5ac79b",
       
 16682 +                                  "2579cde0e8d37e04167a12",
       
 16683 +                                  "368d20177281b04fd8018f",
       
 16684 +                                  "4553e500c491eb2ced6e1a",
       
 16685 +                                  "12a8a0e9fe6ba5c3656149",
       
 16686 +                                  "13d6f0fac0c0b9cd891715",
       
 16687 +                                  "cfbfcb607ba616c016fef",
       
 16688 +                                  "522bb592e89a78b316244d",
       
 16689 +                                  "2db6d4b5b7a928883df97f",
       
 16690 +                                  "928d2a95f60dac2e280f3",
       
 16691 +                                  "15b79d2a607e674b1df02c",
       
 16692 +                                  "711d3de6506cffb89d82c0",
       
 16693 +                                  "1fab75ef67bec61a68a277",
       
 16694 +                                  "3dc7ec06146d405216b267",
       
 16695 +                                  "15c08724b1daf7a590d087",
       
 16696 +                                  "75c2ce5e2535ac7878196c",
       
 16697 +                                  "63dbff9398c6d2cafd1418",
       
 16698 +                                  "245003f901ae0a356365b5",
       
 16699 +                                  "10b57d68a8cfe14ef3ca7c",
       
 16700 +                                  "5fdc8856cd703470a1e5a4",
       
 16701 +                                  "1af9124bffaade4351e990",
       
 16702 +                                  "5f72010436c71470f190d9",
       
 16703 +                                  "50755ca653aac70b84b12a",
       
 16704 +                                  "14c9d693e42997dbc96df3",
       
 16705 +                                  "7a93c6e177d746f5eb503",
       
 16706 +                                  "28d70ec040ec983aded5c7",
       
 16707 +                                  "124c113e25b1a8153a830d",
       
 16708 +                                  "2df0f496cddcc699504250",
       
 16709 +                                  "5dab9e18ce0b8340db40a2",
       
 16710 +                                  "6a410e486ad693817f9d31",
       
 16711 +                                  "5e82dce0d15b40d73e81bd",
       
 16712 +                                  "4e1b51392bd1ad38a51d00",
       
 16713 +                                  "69efc15f2bab10979940b4",
       
 16714 +                                  "4bb8f4e111d078e3c54590",
       
 16715 +                                  "22e8d9bc34a96264dd4caa",
       
 16716 +                                  "3a7c703f2642b17eba0c69",
       
 16717 +                                  "2df2bed0dd9ba405c8c5ce",
       
 16718 +                                  "222dacddb6e77241cadac8",
       
 16719 +                                  "4c996629390ea0954eeb1f",
       
 16720 +                                  "37c7b0fc4e875134c29246",
       
 16721 +                                  "4a78cbf6bef93b38948e09",
       
 16722 +                                  "6c8fa526a6bdbce9f7b832",
       
 16723 +                                  "7633f58adb014bb5585678",
       
 16724 +                                  "509ea21b16907067d06b82",
       
 16725 +                                  "30a8e1972ee45f3e0613d5",
       
 16726 +                                  "63839ba9cca448dd7fecff",
       
 16727 +                                  "290fe0ae5a419909be4e2b",
       
 16728 +                                  "35dbe95730bed0669969ad",
       
 16729 +                                  "2a6c238cf5c57a2939882f",
       
 16730 +                                  "f9d7db7493258ceea1a37",
       
 16731 +                                  "36ded179138f0e4cdf1ee7",
       
 16732 +                                  "4996f8a3f7c2c5fac02813",
       
 16733 +                                  "39bbee3cab035e7fc68b3",
       
 16734 +                                  "741dd990ea20591fd9b5ff",
       
 16735 +                                  "16eeff7e87d3caf8e58a92",
       
 16736 +                                  "2c8f1060dc661c38044a5b",
       
 16737 +                                  "3d886ee05f1bcf69fa4f70",
       
 16738 +                                  "392d9ae31bf22e0236e198",
       
 16739 +                                  "1a7c7fe62effcf2d1a2cb5",
       
 16740 +                                  "65172c59adde7fa1aa62e",
       
 16741 +                                  "389d1e8a26db35e20882fb",
       
 16742 +                                  "7dd9082b6f5562b8d6ba91",
       
 16743 +                                  "18c5643eccf2173f575420",
       
 16744 +                                  "757f2101d664083b2fe8c9",
       
 16745 +                                  "66e9cba0e526f30b7b9b8f",
       
 16746 +                                  "6c33a3a058504d48c17efb",
       
 16747 +                                  "1a908fcb6be810a9e1e92a",
       
 16748 +                                  "2df246fe147cf6a7d9ed5f",
       
 16749 +                                  "3dac1d8f9e9cf46cc42204",
       
 16750 +                                  "3cfed079405fd41004c118",
       
 16751 +                                  "7aeadbfb750a598afce6ac",
       
 16752 +                                  "485bb888b6979f8f201fb8",
       
 16753 +                                  "460858d1e253129bf64e5b",
       
 16754 +                                  "3567cd9077f5bb1d3115a3",
       
 16755 +                                  "28b06a5b8a2319d5d78e37",
       
 16756 +                                  "5c3df551863d0055925c95",
       
 16757 +                                  "260985f3992a168bc7fb3b",
       
 16758 +                                  "5a00aa930e50101d3ad458",
       
 16759 +                                  "3e41b8ea3309221756df7b",
       
 16760 +                                  "216b9b04319fd8da8a6d3b",
       
 16761 +                                  "24a843ed6770d822f92be9",
       
 16762 +                                  "60e3811062f0661e25f626",
       
 16763 +                                  "656a55d45a93fac53881ab",
       
 16764 +                                  "10f7a570b959918609b06f",
       
 16765 +                                  "d755ece5c8fed1e833d4b",
       
 16766 +                                  "5eb96063b604b2d052b457",
       
 16767 +                                  "182ed4a29e8be479e40c89",
       
 16768 +                                  "55e542cd768eaa4ab7eb43",
       
 16769 +                                  "4a1404c02a58e6862d11f5",
       
 16770 +                                  "4366b19aa12542a30c1749",
       
 16771 +                                  "74a0eb9dfa780e171aa5bc",
       
 16772 +                                  "7b34f38b9d16f0d70ddae4",
       
 16773 +                                  "1f75d643fbc4ab52296f51",
       
 16774 +                                  "1cc8bac063e7f4722cc83d",
       
 16775 +                                  "1f1cae187cb4e7e2d75ff5",
       
 16776 +                                  "6acdbbcb1d87bb33b845b0",
       
 16777 +                                  "5a67c62d60522486e9cab9",
       
 16778 +                                  "66727c69de089e222307ae",
       
 16779 +                                  "7dde8d7ccd2cebd1d4b943",
       
 16780 +                                  "3732911ea3b78b2cc54de2",
       
 16781 +                                  "69b04bfb64dc28afc90f3",
       
 16782 +                                  "49a34db8369186ccd3e18b",
       
 16783 +                                  "3087f959a9893769198248",
       
 16784 +                                  "766ac65aedf40f90341249",
       
 16785 +                                  "3c8b578aed4234d875a143",
       
 16786 +                                  "7248daa035ed0c83c2d007",
       
 16787 +                                  "35d310b1c9f92e46c5dccd",
       
 16788 +                                  "747c7a13b706fb28e46c47",
       
 16789 +                                  "e2d9cdfcde324e23eda21",
       
 16790 +                                  "607776583fcde0ad8e4c87",
       
 16791 +                                  "2133efe27b28c873f101f",
       
 16792 +                                  "6ad95985d0ab8e8d823145",
       
 16793 +                                  "35d6d7bb2855d9adfbf650",
       
 16794 +                                  "7a123babe2e7abafbaf8e7",
       
 16795 +                                  "3b0cb59bddc94e18233703",
       
 16796 +                                  "77815256a969cddb479be9",
       
 16797 +                                  "9c6c4ea9b05d327c6b7f3",
       
 16798 +                                  "55137101093be9fb51857e",
       
 16799 +                                  "59bb325b9748e94acb6630",
       
 16800 +                                  "328bf9a8c78ea2ca3388be",
       
 16801 +                                  "6ee757629a9b68ac7e690f",
       
 16802 +                                  "59efda7d6a6d8e6aaaba46",
       
 16803 +                                  "6ce70c288bc2711b1b024f",
       
 16804 +                                  "4ed7cbd3e32dee7a40c626",
       
 16805 +                                  "a9753c820825d73c04548",
       
 16806 +                                  "741d91860d83d000328e76",
       
 16807 +                                  "59aa03a25735023ef97395",
       
 16808 +                                  "1cc96ab6764758e9cff09d",
       
 16809 +                                  "50e22c6cf5d6b70def807b",
       
 16810 +                                  "76f42929010d1ca7619b42",
       
 16811 +                                  "18a6b71998f6f84fd5d814",
       
 16812 +                                  "5fda42ececb40f359e4f0b",
       
 16813 +                                  "2f62056d547ebf7995c6e6",
       
 16814 +                                  "23966403e567312c7a8379",
       
 16815 +                                  "6b7e91fb5948662e3961e3",
       
 16816 +                                  "1e6874a8b307092ad6e72b",
       
 16817 +                                  "31dfcfe645b46b329ee2a1",
       
 16818 +                                  "209910d1159692421526c",
       
 16819 +                                  "3c4374002a4b05edbee285",
       
 16820 +                                  "6df855d5b158377d521892",
       
 16821 +                                  "4169ab1c6bf3f0abec6c34",
       
 16822 +                                  "359b331d03b9cc2451c1f8",
       
 16823 +                                  "3c7a2b6b58424eab86f3b4",
       
 16824 +                                  "7242e44696c19a3a1910b7",
       
 16825 +                                  "2a7311c640e7cf0ecc141",
       
 16826 +                                  "7933956672bf2e4535ee34",
       
 16827 +                                  "455927f484bb8820a2ccf7",
       
 16828 +                                  "551ec7c1ae7ed078f940c0",
       
 16829 +                                  "6ef800332004d6cda26cdc",
       
 16830 +                                  "7630fa097aa2bf97cef6b9",
       
 16831 +                                  "490db50fd1ace7e8ec15ae",
       
 16832 +                                  "32f5fb93813b0abef00c9a",
       
 16833 +                                  "44e6ec408ba05ad98e759",
       
 16834 +                                  "568f3917922fe83ad3e225",
       
 16835 +                                  "273beeddd87cbae01c207f",
       
 16836 +                                  "1a8ed7cad7bcfca4620120",
       
 16837 +                                  "6c362e17e2173449bde86a",
       
 16838 +                                  "191da9b869e973d2fdfea7",
       
 16839 +                                  "64666abc6a9a2f6a1c7575",
       
 16840 +                                  "3c31433d0db703e03c294d",
       
 16841 +                                  "1e74e23fb34c50dc055d0",
       
 16842 +                                  "59652c3042e742dab07904",
       
 16843 +                                  "50e46147373113c54d73c2",
       
 16844 +                                  "776ff8d5492c149f7acf17",
       
 16845 +                                  "318d2300370d914ed1483a",
       
 16846 +                                  "e24946eda2a54a4c98b6e",
       
 16847 +                                  "28434971e0ad86e87340b6",
       
 16848 +                                  "b7602abf832a9540b03b8",
       
 16849 +                                  "3a2bc2968347afc3827c67",
       
 16850 +                                  "5fde1fcd656f65c682e01e",
       
 16851 +                                  "113149ff5647e02c5d8e8c",
       
 16852 +                                  "329c1979af2fa92b25335f",
       
 16853 +                                  "7de8764ca6a43c99d6a50f",
       
 16854 +                                  "7e68cfb951ae556b15fa1",
       
 16855 +                                  "5cac3c06df31850ad70694",
       
 16856 +                                  "357eab1d6b7f6618503b3c",
       
 16857 +                                  "4e66ba0bc1058a3931042b",
       
 16858 +                                  "65f33a2872e25c8a682f06",
       
 16859 +                                  "a5d62acbaf68c52001a4b",
       
 16860 +                                  "18f39bb607de6b1ad183e4",
       
 16861 +                                  "16870479234b3337ddc8c9",
       
 16862 +                                  "7093b250c7b04c2c6d567c",
       
 16863 +                                  "3820d1fc1eab75e925dc43",
       
 16864 +                                  "49ddb3e956e6fd8d65e1ed",
       
 16865 +                                  "7544304d1b3c2594fef689",
       
 16866 +                                  "60483a9742002ed4918cd1",
       
 16867 +                                  "809a8bacccc204134381c",
       
 16868 +                                  "177aa9fd51aa698c4f5d25",
       
 16869 +                                  "2848634cb8eba43423c432",
       
 16870 +                                  "2bd0c39ecff8d002f3a3f7",
       
 16871 +                                  "2bc7683658e815b0850ae",
       
 16872 +                                  "56d7ace10d6e046f35bc1e",
       
 16873 +                                  "1cf7470aa8bed908f93c32",
       
 16874 +                                  "44885049137a26d9ff4438",
       
 16875 +                                  "46436019c4b35e76ea4182",
       
 16876 +                                  "6b4ed91c3f4f0b25252206",
       
 16877 +                                  "1cb50b0700a11348f864c6",
       
 16878 +                                  "26c603e605263eb37ee858",
       
 16879 +                                  "734cae170e5d7d8758c509",
       
 16880 +                                  "3e00e41664141664f70d8e",
       
 16881 +                                  "4d36c683652009a273c69c",
       
 16882 +                                  "61e21b9a255226ab8a9c03",
       
 16883 +                                  "66db9685c97e1039f97191",
       
 16884 +                                  "41ebedf12db1451af99b12",
       
 16885 +                                  "5640578c9a2f674c097c8a",
       
 16886 +                                  "37526cf6c350fc29ecf559",
       
 16887 +                                  "6e93c69a7627e1f9832a61",
       
 16888 +                                  "3aaf5736ed929c1ed0ab93",
       
 16889 +                                  "42cda11218a2f5a8d7bd1f",
       
 16890 +                                  "ea04fd9db78a21c39b6a5",
       
 16891 +                                  "53e3092b891267552e8471",
       
 16892 +                                  "3e13e95a38da382cdac574",
       
 16893 +                                  "7d59312cf551555c728152",
       
 16894 +                                  "57b341376c8eeb5e957326",
       
 16895 +                                  "2fb62f0a2e9435830411",
       
 16896 +                                  "6131db76263e902f303f6e",
       
 16897 +                                  "5e7e83070de3b07a4bc87",
       
 16898 +                                  "54765bab6ab2b394d9dee1",
       
 16899 +                                  "3b4ae8aa403abef29b052b",
       
 16900 +                                  "4e1bc7c2f29a2f520bcf7d",
       
 16901 +                                  "50bb1918112bad3e57d523",
       
 16902 +                                  "3979e2b3d54a21e7e8c1cf",
       
 16903 +                                  "4f3fe475424626758ebe24",
       
 16904 +                                  "26c45bee1cb7e300fef593",
       
 16905 +                                  "20866732367b425f7e5ad1",
       
 16906 +                                  "4779c6f70cb71f00e32d17",
       
 16907 +                                  "24dc2302a4b77b85525bd",
       
 16908 +                                  "f339d2f5ca33347ae8d13",
       
 16909 +                                  "2e178e1cc4f997792ce1aa",
       
 16910 +                                  "54728697bad28cd0bcc9f",
       
 16911 +                                  "13413811d8a8e6bc2e6cf8",
       
 16912 +                                  "1a3337bb0bc288bf44447e",
       
 16913 +                                  "526d1eb936d1a3dec6eeb3",
       
 16914 +                                  "7df75741d3ccafb28da8e",
       
 16915 +                                  "6476d594392ef9fc9a3df1",
       
 16916 +                                  "645cf2dd2735f1cbf53f1a",
       
 16917 +                                  "780a2a5411b159d83dcb95",
       
 16918 +                                  "562d8222a0b94f5af3137c",
       
 16919 +                                  "e859d26ac6c854731c10d",
       
 16920 +                                  "3908eb827c8209b96bc643",
       
 16921 +                                  "61619bfea73d2a10c7a7e9",
       
 16922 +                                  "cf2bf44fe6c433cc00c9",
       
 16923 +                                  "17b5a764867bc2f176278",
       
 16924 +                                  "667b77d58f7f6b14e19bc3",
       
 16925 +                                  "14c79375686a30f4c21ea1",
       
 16926 +                                  "57d421e876be8c87768c1a",
       
 16927 +                                  "a49f38b3c0b7ca1fc5c10",
       
 16928 +                                  "1998c4f90bb8b5465b7b1e",
       
 16929 +                                  "974b1ea8fc3d4665ea11a",
       
 16930 +                                  "4382f99dff4951a775fb77",
       
 16931 +                                  "66b03ec137e6361ddf6317",
       
 16932 +                                  "43f99aac41b05d58c624b4",
       
 16933 +                                  "4efe7cc856d9eef4fda470",
       
 16934 +                                  "35f48b300d21989b05560",
       
 16935 +                                  "79ef58660a06bbc22f0cce",
       
 16936 +                                  "5623f1c8e0d5c15938b2a1",
       
 16937 +                                  "740e3fa0e998e741eb97cb",
       
 16938 +                                  "4f6148f444b84dfe82ecb2",
       
 16939 +                                  "34ce2df12c5e0970f682d1",
       
 16940 +                                  "5fe5a0fcee7c061cf49e8d",
       
 16941 +                                  "127dbd62073fb0c17b4217",
       
 16942 +                                  "31b2ef6b5163160bdce290",
       
 16943 +                                  "7f9a1f8e557617163d5e82",
       
 16944 +                                  "3c5262912ab7e82ffd49c",
       
 16945 +                                  "4ad5e4985caa0c7ee63b9f",
       
 16946 +                                  "5267f1f68134d546ec646f",
       
 16947 +                                  "7f695021b246db24a5113a",
       
 16948 +                                  "11df54a696817409ff1164",
       
 16949 +                                  "5549ebaa872068aae68ac5",
       
 16950 +                                  "236e08f8411de38e44c3cd",
       
 16951 +                                  "1892726d56d4f8f92dde20",
       
 16952 +                                  "457d09be8a2a4c351b63ae",
       
 16953 +                                  "53339d5a01f3d2e9bc8755",
       
 16954 +                                  "ac5bf0492a63aa0bf597",
       
 16955 +                                  "714ed5cb0027168be15142",
       
 16956 +                                  "4cfaabac7104cbad2ed728",
       
 16957 +                                  "486fd3ea0158f33daf767d",
       
 16958 +                                  "61c0e0ff11a378274b395c",
       
 16959 +                                  "5e195ccf98c9a4e1967fe1",
       
 16960 +                                  "3eecfda3b4d92af2b7e5ae",
       
 16961 +                                  "62af499c078af038905758",
       
 16962 +                                  "38d987fd4b450ee5a69286",
       
 16963 +                                  "5f9563c7ca70d6e5061bfa",
       
 16964 +                                  "ad64cff4b4763a7fda09f",
       
 16965 +                                  "26554ee3e9bedb1a3a09fd",
       
 16966 +                                  "42c5d2d1082dd2375a4ef3",
       
 16967 +                                  "7e05b7c7d54cfa1fc7b525",
       
 16968 +                                  "118d29d91686683483dea8",
       
 16969 +                                  "2c56fdcda56f78dcda9b60",
       
 16970 +                                  "d92cf9efd7d12c62f0dfe",
       
 16971 +                                  "11b77783f411c457cf909e",
       
 16972 +                                  "2cd33d1f501e268643d591",
       
 16973 +                                  "1ebddbaa72ad1a2b1cdc49",
       
 16974 +                                  "73f4373aa0c46a1ae61409",
       
 16975 +                                  "64b1dd5abc6713a8f53d0c",
       
 16976 +                                  "3aef6b8ad8d4f116a27e4a",
       
 16977 +                                  "13f9a309c929439a91df6c",
       
 16978 +                                  "401a3ed45557939fa7eea",
       
 16979 +                                  "1d1aa15ce7c8c15f051ba9",
       
 16980 +                                  "398764fa3e177502af4d3b",
       
 16981 +                                  "48edf77c0fc298b0491c2a",
       
 16982 +                                  "1c5b7d2b84cbc7b29bf542",
       
 16983 +                                  "78873bb7282961108e63a",
       
 16984 +                                  "16ad879cfcd3e458301dc9",
       
 16985 +                                  "28b06d6b1f993702509e4a",
       
 16986 +                                  "45242101d43b276b34115c",
       
 16987 +                                  "783d012e8b928ea14eaad8",
       
 16988 +                                  "5afe15c1524eda9627e183",
       
 16989 +                                  "42b636bc4126dddf74cb00",
       
 16990 +                                  "5cd8f782abb8b60cbf36f8",
       
 16991 +                                  "1c5d10301fcf4a14c82adb",
       
 16992 +                                  "52d3cdd253b64a03c5885b",
       
 16993 +                                  "31416a7f09913059dc251d",
       
 16994 +                                  "46bafe88322c67f3b90507",
       
 16995 +                                  "4cb6253df884020966d27b",
       
 16996 +                                  "2948eda7d7c508918c3056",
       
 16997 +                                  "543222604f067afa3e7558",
       
 16998 +                                  "3ae99fca89d15abe091160",
       
 16999 +                                  "140aa7412f6488f5404826",
       
 17000 +                                  "16b6721ea95f55ef631d25",
       
 17001 +                                  "133606f2fed41ffd77b999",
       
 17002 +                                  "4d075c933e4b93da3a33d9",
       
 17003 +                                  "4ed1311eae64f9e834ee7b",
       
 17004 +                                  "f920b02af1e3bd673512e",
       
 17005 +                                  "312518f9c1ce1e690c003d",
       
 17006 +                                  "44bd0de2094b8b3759356",
       
 17007 +                                  "3d40b56764f7765513d13",
       
 17008 +                                  "6b5da25417070642e0ba4c",
       
 17009 +                                  "6bd995ef31bcfd22d52d9f",
       
 17010 +                                  "3eedab106a435ef32b9e48",
       
 17011 +                                  "534c1a3b25194e8cd66e6c",
       
 17012 +                                  "28a37e042abf70a7cb137d",
       
 17013 +                                  "76fbf6732402bc76e061d1",
       
 17014 +                                  "3b66491ccee4801a4e3673",
       
 17015 +                                  "5ef7fbdbf498c8684625f6",
       
 17016 +                                  "3305f9d7ac9bc35ded571d",
       
 17017 +                                  "6aaafc0107575bd9b70723",
       
 17018 +                                  "5eb217461cfa46d5694397",
       
 17019 +                                  "7f5140ee63b60e0a33058a",
       
 17020 +                                  "3fe61d12a0b09791925ccd",
       
 17021 +                                  "591749051e47ee7b49cf82",
       
 17022 +                                  "33440d7d3472a4b6e2f627",
       
 17023 +                                  "4dedb1ba2a6a4abde67337",
       
 17024 +                                  "30485371efc19b50bbafe6",
       
 17025 +                                  "3566f7f67e026f0278dfd5",
       
 17026 +                                  "201e678f30ea96fd17615f",
       
 17027 +                                  "4a2580e03d81912089d88d",
       
 17028 +                                  "68e88d3bc4e8d390ae4b13",
       
 17029 +                                  "46986d0da7a2c17dd1dc22",
       
 17030 +                                  "174fdf0bcfc8d0f4e77e83",
       
 17031 +                                  "7a75be28b1e93e4e0c9342",
       
 17032 +                                  "11081f4b8fb8f0a9abf772",
       
 17033 +                                  "3245bbf080c6731fee74dc",
       
 17034 +                                  "57bf13241507b812b9a904",
       
 17035 +                                  "50c915d40aeb9e4ec78789",
       
 17036 +                                  "530f4c391aa2b0938eb272",
       
 17037 +                                  "4e0326164785519414d07e",
       
 17038 +                                  "389d9fa841750626db108d",
       
 17039 +                                  "5eec1e56c0a2d0e34dfc8a",
       
 17040 +                                  "3e8986648fb4053520276a",
       
 17041 +                                  "2db6e61499c9393946b57f",
       
 17042 +                                  "1b2e283bc4ff40366c744f",
       
 17043 +                                  "95d86ded4a7b26a1ad331",
       
 17044 +                                  "4818fb8f958698b6e9c9d9",
       
 17045 +                                  "21e39ab39cd96423900120",
       
 17046 +                                  "27476789fbe89ef5fe00c0",
       
 17047 +                                  "1b67e56d8c8f6656eac86d",
       
 17048 +                                  "28e33efab89fb4f64d6498",
       
 17049 +                                  "18eb41f414dd28e8ff3a1b",
       
 17050 +                                  "4a648c611ef0b3b0e318e0",
       
 17051 +                                  "3ab4982748b8f986192588",
       
 17052 +                                  "1eacd91eb3938b38f0210f",
       
 17053 +                                  "5227913634dbd4b19ffe95",
       
 17054 +                                  "1d5b0385650d2d81754f72",
       
 17055 +                                  "7351e32ddd53c7465f65e8",
       
 17056 +                                  "202d04fcffa7e3a0ae0585",
       
 17057 +                                  "6b77b6d06b93487730de2b",
       
 17058 +                                  "2f635c018151dfffc38ed7",
       
 17059 +                                  "7d83ba89b9f89b55497937",
       
 17060 +                                  "d1c5eeefb8bb620c573fa",
       
 17061 +                                  "322d1e939066766f918e43",
       
 17062 +                                  "3ea29dc49c06d64c187862",
       
 17063 +                                  "7f64ec3ee1d6fd7b5f9352",
       
 17064 +                                  "749ebfb4005c94ed288c4",
       
 17065 +                                  "6f3d0d822d1a27088df8e4",
       
 17066 +                                  "17b1690a9c9f4fba9154e2",
       
 17067 +                                  "142aa17e315b2096d3470c",
       
 17068 +                                  "5778dc2f1465daeafbf88f",
       
 17069 +                                  "3135a042ca5b8873367081",
       
 17070 +                                  "26f3f960b2ba725c83b706",
       
 17071 +                                  "156e3560db5a642c108333",
       
 17072 +                                  "3adf2b6aaf40f5dcdffdf2",
       
 17073 +                                  "4ecbf2559411992397d1ba",
       
 17074 +                                  "5e3402a24a307a945167f7",
       
 17075 +                                  "553a48facee35f17214327",
       
 17076 +                                  "57c6f0c9d94e02524b4029",
       
 17077 +                                  "44867f919f39bbc1ac8a53",
       
 17078 +                                  "7b1e254e6050240b36eede",
       
 17079 +                                  "7fb445fb34908201d41b44",
       
 17080 +                                  "5a49a0430b2145ead2e9a5",
       
 17081 +                                  "22d9fd1638450186756413",
       
 17082 +                                  "60a177acbb4aeba955e6a6",
       
 17083 +                                  "23a7a59b35972768b71627",
       
 17084 +                                  "ea9789ae096da5bedc410",
       
 17085 +                                  "38419b7c213432cd42f4bd",
       
 17086 +                                  "4024c6847ce50a93fefd10",
       
 17087 +                                  "1f15e66f6c5b160801ec4b",
       
 17088 +                                  "26fb73843bff3e4d17aa10",
       
 17089 +                                  "212d386743b2c2069ec4b7",
       
 17090 +                                  "59377c70bed9cccb346cff",
       
 17091 +                                  "5a80f23e82161bfd2caa8a",
       
 17092 +                                  "21532161ecdbdaac15b68a",
       
 17093 +                                  "5cd8f904c6a0e1c85597c4",
       
 17094 +                                  "2ad8c773fcdf92009db9b6",
       
 17095 +                                  "1df80784a603cde2e8573c",
       
 17096 +                                  "41127c781a5dd07b6ea357",
       
 17097 +                                  "6152b40d63a55e1ef6e750",
       
 17098 +                                  "3161bea37fcc040c6f6494",
       
 17099 +                                  "112bfdedc3401ff20ffcf6",
       
 17100 +                                  "6a3afde1cc784aefb925c8",
       
 17101 +                                  "47a38df2df7f516ac35f8d",
       
 17102 +                                  "6dafdbef06e817ec42991d",
       
 17103 +                                  "72059eace3671c76d67005",
       
 17104 +                                  "a209dce8856336ebd97f2",
       
 17105 +                                  "695d060b1aceccfdfa96c2",
       
 17106 +                                  "17445a9a60b0dfca9df354",
       
 17107 +                                  "249f5358017ada6567b747",
       
 17108 +                                  "b7347a4820635a5852b61",
       
 17109 +                                  "2bb74459adcd7029c9c35f",
       
 17110 +                                  "3684bf3ee3a2b8635ca0e1",
       
 17111 +                                  "600de685f1a4c2f4a236d9",
       
 17112 +                                  "68ae7d3832d31bce57eaf3",
       
 17113 +                                  "7a75b868e9fb50140bd203",
       
 17114 +                                  "1105d3c71c59dedcb33f",
       
 17115 +                                  "6234ffe0f938a25ce0f5a8",
       
 17116 +                                  "41858e467a21a3938d60aa",
       
 17117 +                                  "7332b41a9fe9dfbe59f71f",
       
 17118 +                                  "313ef612f2fd65f39c2e3e",
       
 17119 +                                  "49ce8855b52dfbb878b2d3",
       
 17120 +                                  "46b1961304e45b428bd48",
       
 17121 +                                  "1740e5e9a57a4e80eed5c8",
       
 17122 +                                  "7f035a794c44a6a57abf00",
       
 17123 +                                  "6eb090e9b1df79f4d2226",
       
 17124 +                                  "7f26a6c99362d1126b6773",
       
 17125 +                                  "14e47840962745e9f2bba8",
       
 17126 +                                  "28670ba592cd5a2625df3d",
       
 17127 +                                  "5c00c9ce80be32396ca075",
       
 17128 +                                  "4cc8bba01b6788222eb375",
       
 17129 +                                  "581f2a492a4fe468c3971b",
       
 17130 +                                  "6aacfa3617f47dce14015a",
       
 17131 +                                  "3988842f76572373c3459b",
       
 17132 +                                  "3146d29fae3f74014572cf",
       
 17133 +                                  "27216bcb23514df00030b1",
       
 17134 +                                  "36baace22f2d7a2014dd1e",
       
 17135 +                                  "20b11d38582bb81886466a",
       
 17136 +                                  "5aa25b718982092494e872",
       
 17137 +                                  "3f0eb0b9bdbbe37f40dc5f",
       
 17138 +                                  "5c4dc3dd9138eb7169302d",
       
 17139 +                                  "503bee64726b7b32815f44",
       
 17140 +                                  "7175ce67c0c74c440327c2",
       
 17141 +                                  "3fc3680285719ed4f7e7fe",
       
 17142 +                                  "7fc9fec9506aa1a0661240",
       
 17143 +                                  "122e1cf4ba920fb923d0e1",
       
 17144 +                                  "5570385cc742f16a21edc9",
       
 17145 +                                  "2a8b319bb90a064d3cc523",
       
 17146 +                                  "797bc83e9789b064b51c92",
       
 17147 +                                  "124aa58a7e2a882689ba12",
       
 17148 +                                  "5ee825c795f457b727b9e8",
       
 17149 +                                  "475c02da59260b083fa105",
       
 17150 +                                  "5f427b13d8351db71dc75e",
       
 17151 +                                  "7dca64fefd065e0893d874",
       
 17152 +                                  "88658ceb2447416239af",
       
 17153 +                                  "75ea3318a1054593eca8e6",
       
 17154 +                                  "21b1555bb331b89f928e6d",
       
 17155 +                                  "7e558ced95c8a49312174c",
       
 17156 +                                  "71f02d980dd943488cbefc",
       
 17157 +                                  "23e36a6e12831353ac1afd",
       
 17158 +                                  "1073f10b92dd8a202017b2",
       
 17159 +                                  "a0ac3885d2cb22aeb977f",
       
 17160 +                                  "2ac1793993d045ec4ea0ab",
       
 17161 +                                  "4e33cc0d26d44c2394c8d2",
       
 17162 +                                  "5430c091f416778afc3f3e",
       
 17163 +                                  "55f3bd5a345801aa67f91c",
       
 17164 +                                  "18bd8096de042467441c8c",
       
 17165 +                                  "1dfe68dd4d69d0d5368782",
       
 17166 +                                  "a69b0e544c08336c9606b",
       
 17167 +                                  "405224a222d42397ca18d2",
       
 17168 +                                  "5ca40898d5d325e557e04e",
       
 17169 +                                  "73e9dbd2873c27040a215d",
       
 17170 +                                  "56efa25eac0d5f675af6b6",
       
 17171 +                                  "460f5f98b19a4d353358fb",
       
 17172 +                                  "28593d93a1a2159e16cc13",
       
 17173 +                                  "1eae59f579b122f18b84d1",
       
 17174 +                                  "7f29a05b16052f06eff50a",
       
 17175 +                                  "2ac52045b3b592dfbeeaaa",
       
 17176 +                                  "6003c83a8ae5ae42a0956a",
       
 17177 +                                  "3af2323baa99fc6ef534e0",
       
 17178 +                                  "b3a488e23273b8e74aa2e",
       
 17179 +                                  "dde95ff1403621e1e9c39",
       
 17180 +                                  "8b93e9e7ea54df6ea61e0",
       
 17181 +                                  "382238b03129ae3a8cb2e2",
       
 17182 +                                  "7be85a588e4f01b973f9a4",
       
 17183 +                                  "3428c448a20f463714e16e",
       
 17184 +                                  "46c829e7e1980bc26c13f9",
       
 17185 +                                  "20573b178651610a410e89",
       
 17186 +                                  "16c1a9b3bcba979d2fb250",
       
 17187 +                                  "46bc67034da17d5b7c72cf",
       
 17188 +                                  "abe7e5169767e92b8517c",
       
 17189 +                                  "10a7cb0c646bfbfaf6b1db",
       
 17190 +                                  "3e27d166777ab6af4a4b75",
       
 17191 +                                  "560bc3397e1eecda48e8d6",
       
 17192 +                                  "153d46a7ad0d4c7b81a83d",
       
 17193 +                                  "7b625b197eb76a08b19ecf",
       
 17194 +                                  "58ab9a24dbad2ee2c0942",
       
 17195 +                                  "6b463071583d5d51119c18",
       
 17196 +                                  "58d985a1111ffbdece42a",
       
 17197 +                                  "772853e9593804a23d0c9f",
       
 17198 +                                  "3566ae3cffa53b48308a5c",
       
 17199 +                                  "3253a13971cf24cc306f4e",
       
 17200 +                                  "161741a6fabf2be3cb74a",
       
 17201 +                                  "72492bafc7adaedde393c7",
       
 17202 +                                  "4d17bed73f2032142b03a3",
       
 17203 +                                  "43ad0b393a7c2a4d667efc",
       
 17204 +                                  "5bdacc4f0e9a9f3c5eb7f",
       
 17205 +                                  "3fc330d82c00c3c98129ad",
       
 17206 +                                  "2287f22a43e09d12b5fed1",
       
 17207 +                                  "113203b24e05e4ff03bfc7",
       
 17208 +                                  "386903ad1ff043a2a203ff",
       
 17209 +                                  "6efc437814b1b1a8db77d5",
       
 17210 +                                  "60d1cb028fdf2f7506480f",
       
 17211 +                                  "5c08c8490ead830327cfc3",
       
 17212 +                                  "56d1b28a25e58905b948d1",
       
 17213 +                                  "6473a7fe7461369e02b551",
       
 17214 +                                  "43240f690e895ee2ce6199",
       
 17215 +                                  "217e1d11ab05e37175e942",
       
 17216 +                                  "115af287df30e3b9382159",
       
 17217 +                                  "3d01c0ebec513aebdf049d",
       
 17218 +                                  "3b607643718a1436cbf93f",
       
 17219 +                                  "392447173660d27311fc56",
       
 17220 +                                  "7fcabd5ff8d8321877d09d",
       
 17221 +                                  "773e49f5dd28ab9abcc4f3",
       
 17222 +                                  "333e4709f384c49fba280e",
       
 17223 +                                  "1a5a69890d5f080ad27aee",
       
 17224 +                                  "142700479fca005e365a5",
       
 17225 +                                  "16c859dc1504abc8bebb3e",
       
 17226 +                                  "8e1dc29eaa3429a93416f",
       
 17227 +                                  "3d2c4d19f97ec14b7f9a20",
       
 17228 +                                  "b80a7edd7c5745e63c50d",
       
 17229 +                                  "7eacc570a117e3d2c4ad3b",
       
 17230 +                                  "5a4b0bdbb9a3eba57ecafc",
       
 17231 +                                  "2bbb60823308802716b002",
       
 17232 +                                  "60de98af5b2e9794ccddda",
       
 17233 +                                  "43f106dd9b706c7cbad455",
       
 17234 +                                  "247aa73439f114a2bae1f5",
       
 17235 +                                  "404518992cad409d30e138",
       
 17236 +                                  "483592c4cf34d97823b087",
       
 17237 +                                  "303e55cf5d940fa1eb0863",
       
 17238 +                                  "27cf1a1e36d6b6fbf673f1",
       
 17239 +                                  "753e3ffd723c55ffaa57eb",
       
 17240 +                                  "527df835ccce3d0d8dc6be",
       
 17241 +                                  "501c73bb8897e8a9b644da",
       
 17242 +                                  "2c748923f66e9b836e2956",
       
 17243 +                                  "252a9565fc2ed88c83afe5",
       
 17244 +                                  "53ee027a60ac6b8703b4c4",
       
 17245 +                                  "11e3b65e520ccb94e0f28b",
       
 17246 +                                  "1d82fef6b5daac184a21bb",
       
 17247 +                                  "34f1c6d5946b4f8e9c34f2",
       
 17248 +                                  "78c36b7a1a1ac86080796c",
       
 17249 +                                  "3c2561b4603673cde220ff",
       
 17250 +                                  "347e522bb35549d788adad",
       
 17251 +                                  "c5eb765e74f7ea6040509",
       
 17252 +                                  "6b91d4c08bfb155d85a09d",
       
 17253 +                                  "1d345a329131e03407a9ae",
       
 17254 +                                  "7656e2bcd13769bc7d3690",
       
 17255 +                                  "18af2f7c66ebae2215b225",
       
 17256 +                                  "5c0b858603efe861d8e554",
       
 17257 +                                  "3a948a48ee72242647aeee",
       
 17258 +                                  "5eb549dbd9b640a1018c4c",
       
 17259 +                                  "39395b9f947ccce230cc1d",
       
 17260 +                                  "2983f80020a9f6532ba834",
       
 17261 +                                  "599c6bd84b32b97e000cad",
       
 17262 +                                  "494a8aca14d077b143ca10",
       
 17263 +                                  "5514a9f97c736ef89e2558",
       
 17264 +                                  "22a2f494120b7469421488",
       
 17265 +                                  "6bbfc916f60c65ff6069ae",
       
 17266 +                                  "988dfd270fa06d78d9fba",
       
 17267 +                                  "65e3000fa520e5bd8bfdc3",
       
 17268 +                                  "d79412155f3d978866277",
       
 17269 +                                  "540f6a5d04324cc6ed1398",
       
 17270 +                                  "5193e0be567990b2818200",
       
 17271 +                                  "5527257327c4eade309a67",
       
 17272 +                                  "6a6ceb53a9e08bce60e22f",
       
 17273 +                                  "3bc0b4b12c4e0d37097319",
       
 17274 +                                  "6446d75a31a4956c235943",
       
 17275 +                                  "70089a05ca7765b8ef62a5",
       
 17276 +                                  "78050a04d755b7008433fa",
       
 17277 +                                  "4cf40ea87be0baab3f0a23",
       
 17278 +                                  "421f5a540df5b7ba309bc8",
       
 17279 +                                  "22aca8e5833c97719ebb51",
       
 17280 +                                  "595eaf076defb81f21236",
       
 17281 +                                  "324340f1f7ccc9eff05524",
       
 17282 +                                  "490df281db25788739ca0c",
       
 17283 +                                  "7cdb727ae2bfeeed50af45",
       
 17284 +                                  "8fdbca74c18894d421e52",
       
 17285 +                                  "266efd2e0daff29e309d38",
       
 17286 +                                  "2d3baa252f4d982bd2ad11",
       
 17287 +                                  "26246e8fdf408dac8fd2a5",
       
 17288 +                                  "4dae59d140c542483e12a9",
       
 17289 +                                  "7e37627adf10efb14adf13",
       
 17290 +                                  "7059a8ae14b27b87ae7942",
       
 17291 +                                  "5d0b6fe03f574db311d01d",
       
 17292 +                                  "4450b05b160d8c53288cd5",
       
 17293 +                                  "5628eeca86bc4f505da4a8",
       
 17294 +                                  "59d6c2db6f995cfebbccc9",
       
 17295 +                                  "32c247d46291051243da8b",
       
 17296 +                                  "29ecceda91e2de99bded7a",
       
 17297 +                                  "697bd2294052d067eed5b",
       
 17298 +                                  "35d846be55b3952e278ab9",
       
 17299 +                                  "3846b043ea9479616ae948",
       
 17300 +                                  "460dae8d89d7708b43a1c7",
       
 17301 +                                  "6ecd91e762474ea500bb02",
       
 17302 +                                  "78386c3f2bea1d92b0136f",
       
 17303 +                                  "5d36dd2a4f038c91a8e525",
       
 17304 +                                  "2567685d25fd668a9a024e",
       
 17305 +                                  "484fed0412b66b4ad6689b",
       
 17306 +                                  "11e987960e92f0cfe9e7d",
       
 17307 +                                  "48457eaf5bfbcca641689",
       
 17308 +                                  "5e89ffa159d58051edf13c",
       
 17309 +                                  "ad8ecaa59795b2101aeb",
       
 17310 +                                  "4cd6b5c75a375bce549db5",
       
 17311 +                                  "17a8f2f3a036b54c467b7b",
       
 17312 +                                  "456d747923e7fcbd260fae",
       
 17313 +                                  "38b2a18fa105ae1a1e82c8",
       
 17314 +                                  "36b718d293f968b4388def",
       
 17315 +                                  "6d15e33dfd91b0adf65ea8",
       
 17316 +                                  "6a47915604a062b94c626c",
       
 17317 +                                  "63f2b709d7c6ba1ce60255",
       
 17318 +                                  "73da067d52334a718631ff",
       
 17319 +                                  "68c11de19f57751aa11e9b",
       
 17320 +                                  "1b50ac3c3f5269c1d7aa40",
       
 17321 +                                  "51f56cb5201bdd22f49e70",
       
 17322 +                                  "245ff16a71eb8c45257fd0",
       
 17323 +                                  "7dcfee63c4d594e4583601",
       
 17324 +                                  "604b2e853911ce83225aba",
       
 17325 +                                  "5bb6095d45a0253a5e3e2d",
       
 17326 +                                  "14b7709b903167ca33c0bd",
       
 17327 +                                  "6e6871265fe9883143d121",
       
 17328 +                                  "453649c203cf983e439d84",
       
 17329 +                                  "5819cdbf42afd2334f96",
       
 17330 +                                  "3450478bbaf1db9aae9e0e",
       
 17331 +                                  "35a56ed2078e145e9b5d42",
       
 17332 +                                  "15e468fec0387d9dcde2e9",
       
 17333 +                                  "1f098e306099d97f37bcee",
       
 17334 +                                  "108be849403d8b9e0adadd",
       
 17335 +                                  "432bf33542ea8f8c0e1cab",
       
 17336 +                                  "1fe772e91ad75a2d2792c4",
       
 17337 +                                  "2aaf602c5ad427702561f0",
       
 17338 +                                  "66c37766a09f2454161188",
       
 17339 +                                  "7c91adf751ba7b800072a4",
       
 17340 +                                  "587965194057ffad1ed72d",
       
 17341 +                                  "6b189bed3e1ee805a7089f",
       
 17342 +                                  "656e0aaff42e8f100df7e1",
       
 17343 +                                  "50d8060a4c81ac0d9dcc9a",
       
 17344 +                                  "3b142ae3f666b5a458fd6",
       
 17345 +                                  "11216382d02fa8a680f2c",
       
 17346 +                                  "640821dda0f544b159e25f",
       
 17347 +                                  "60ad8426c5228781a660d2",
       
 17348 +                                  "50b259ce6ef7786ad19380",
       
 17349 +                                  "617907260cf1e3612508c0",
       
 17350 +                                  "2020839307f0a0b2a66465",
       
 17351 +                                  "6c9aa8a230f91d4e6f84c2",
       
 17352 +                                  "479f0a9b95b8f0e630df10",
       
 17353 +                                  "74e8524ea4276a1585abc9",
       
 17354 +                                  "1832f7608c30377f8a27c1",
       
 17355 +                                  "468227ba06af62fa70d6b",
       
 17356 +                                  "46ae03b83630be869f3f67",
       
 17357 +                                  "1c429a8aad032b85e815c6",
       
 17358 +                                  "784a6ea72c75433fa2c1c0",
       
 17359 +                                  "521255c27009b10aeef14",
       
 17360 +                                  "6de250d6d96fba0a4a2df6",
       
 17361 +                                  "1a38abc6055dcfc6f54cd3",
       
 17362 +                                  "459fc4d70a1a8040309b48",
       
 17363 +                                  "5206d5cc4cf74b102b511e",
       
 17364 +                                  "1621052353e1bb38663f44",
       
 17365 +                                  "6869e474162fccd5e6ce8a",
       
 17366 +                                  "265a6fe3ade48b79bb704f",
       
 17367 +                                  "1683c065332572cac40e7f",
       
 17368 +                                  "40fe888eb50954f82f8f41",
       
 17369 +                                  "5ccb3321bf79805e3743ec",
       
 17370 +                                  "6904f88af6eea4b3f91bbf",
       
 17371 +                                  "a70e6c0e6da7b5bd943d0",
       
 17372 +                                  "7b7c35dbf0dd6b94d050c5",
       
 17373 +                                  "4ee9fe013ba8fc6ac8d470",
       
 17374 +                                  "1825a2f6c03df8e89a424f",
       
 17375 +                                  "6495ff035413be2b53c45f",
       
 17376 +                                  "745f8230228fe0e913a537",
       
 17377 +                                  "57ca180b4c6f8c3a63ae46",
       
 17378 +                                  "5963fe850d852bb19cdfe3",
       
 17379 +                                  "430a7ef273c75f6860a9e2",
       
 17380 +                                  "28c8b8ba9341ac37c38695",
       
 17381 +                                  "88d1f466f33239ebbee3e",
       
 17382 +                                  "7bfb517a9a7064f7f0b9cf",
       
 17383 +                                  "222ad5a5eecaf564928d05",
       
 17384 +                                  "31f4e6b45c1cedb6d4c94",
       
 17385 +                                  "9d0d5139d46e4d9db3662",
       
 17386 +                                  "46ea372cc256b25d8bedb8",
       
 17387 +                                  "1177a186084a0188e6b25c",
       
 17388 +                                  "79973f898e87ee6433e53e",
       
 17389 +                                  "17f90d7760ace90b4281fa",
       
 17390 +                                  "4d06acabc42f8f6c6561a2",
       
 17391 +                                  "297ac6d1d91b19c8ceb3ad",
       
 17392 +                                  "76930d75187c32e1c0855c",
       
 17393 +                                  "ef9f73cc5ae815a32ca63",
       
 17394 +                                  "3ca5432d73f30360d5e251",
       
 17395 +                                  "2eb29dd03203d9dedca2ed",
       
 17396 +                                  "3f719d970328ab86444133",
       
 17397 +                                  "671a35180c429ed6cd73d6",
       
 17398 +                                  "1a5a3601f9e5c757413d21",
       
 17399 +                                  "1207f0afa9b17ee1e3a14c",
       
 17400 +                                  "64c773513b07ac7be226c5",
       
 17401 +                                  "645491f7754448588100c4",
       
 17402 +                                  "6803ba4d96f3cea5b5b619",
       
 17403 +                                  "3e8f3fee79b0aa7d3158c9",
       
 17404 +                                  "7c4c5a07ab45db64032f8c",
       
 17405 +                                  "471e19dff79f0bf8dd75e4",
       
 17406 +                                  "736e4111350ab36a2be4ca",
       
 17407 +                                  "70eda2a92c3f3d551052fc",
       
 17408 +                                  "4be7ae42a1b71df0fdbed2",
       
 17409 +                                  "38e1136120c0a50e7c1942",
       
 17410 +                                  "34de10a25d48bbec6bc310",
       
 17411 +                                  "45fae251151688f6948ec3",
       
 17412 +                                  "a5803d95905530efe4cbc",
       
 17413 +                                  "29c81a2bbc75ee65e40fbe",
       
 17414 +                                  "5d0e736ad9b0e048c53cb9",
       
 17415 +                                  "62a6ac9d0c5e4b3890d61a",
       
 17416 +                                  "16587b1213183c74388d6a",
       
 17417 +                                  "30455197024dac28f22ad9",
       
 17418 +                                  "5c96c4bf9c30f05dfa52bf",
       
 17419 +                                  "2e14fbc2ca9b056ee6a0e6",
       
 17420 +                                  "544e247e73028cc23b1f51",
       
 17421 +                                  "7569e0846a7c92c5b07e91",
       
 17422 +                                  "2e37e64613e6e49f75ff6b",
       
 17423 +                                  "75393667821938c0e5a628",
       
 17424 +                                  "2db4889991fd96d5a3dbfa",
       
 17425 +                                  "6b628f924b031ff396258b",
       
 17426 +                                  "5c721c1e9f943f1e44c526",
       
 17427 +                                  "4845e19f6384ed5724d8ce",
       
 17428 +                                  "451cf4e4a6ce149cfc4095",
       
 17429 +                                  "69cf5ded5037b0fc848b28",
       
 17430 +                                  "2144bb26c3488be851e3b2",
       
 17431 +                                  "2582d22d55dfd72b2d70bf",
       
 17432 +                                  "67fe64c68be6372b30260",
       
 17433 +                                  "b5ea9188a76cbd4490c2c",
       
 17434 +                                  "2f9195fa1721a36e6f5198",
       
 17435 +                                  "371b6d93bf32954a1ed005",
       
 17436 +                                  "2d248bd8de364598100d1",
       
 17437 +                                  "3476974a3a56c244bcd4ac",
       
 17438 +                                  "7d10d41f081cc53194454d",
       
 17439 +                                  "9ae11d1f0b2cb73496a44",
       
 17440 +                                  "3c11b4ca34c3237b362a26",
       
 17441 +                                  "3b62b01334bf25d1f5d560",
       
 17442 +                                  "4a9dee0a96c91e7cd6d7ca",
       
 17443 +                                  "2d8ba9bb83d8b7dc77cc32",
       
 17444 +                                  "394242cd2ce4d5c927b1f7",
       
 17445 +                                  "13ef893fe161bb05038778",
       
 17446 +                                  "210aaed4cc7b55edc4255b",
       
 17447 +                                  "72bad07fa5d3ca19811efa",
       
 17448 +                                  "1856ece5542adaa42b18cf",
       
 17449 +                                  "2f775dce855cb22a4ce4b4",
       
 17450 +                                  "1b3d8a50e5425c7a4550f6",
       
 17451 +                                  "3fd38eb64df431878b817e",
       
 17452 +                                  "1f372d16a7c783f301d859",
       
 17453 +                                  "2e99bf2a9cfd14eb01e4dc",
       
 17454 +                                  "739d86f4db437bd59681d0",
       
 17455 +                                  "91782b2d8bf1ec8b6e4db",
       
 17456 +                                  "13089f86ddae7614e1f733",
       
 17457 +                                  "4374fb07e1eb1efc714a7f",
       
 17458 +                                  "34026c0467a5bb1302960d",
       
 17459 +                                  "1316737cef6e8d73f98c46",
       
 17460 +                                  "308b1811fe8c7d6801df6e",
       
 17461 +                                  "3b6333c6dc16d5f4351c47",
       
 17462 +                                  "30151eaad7aef0e79d5e07",
       
 17463 +                                  "6d5ce69503f658697314d0",
       
 17464 +                                  "13022f601d429947abd201",
       
 17465 +                                  "278331e342f211746f0d9f",
       
 17466 +                                  "44fd7c4168c2a61413dbd2",
       
 17467 +                                  "77747c8e4550378570ec0d",
       
 17468 +                                  "31934713e4ff1d0d7cc583",
       
 17469 +                                  "5ca455ab52339850752f94",
       
 17470 +                                  "cc47e7e925da6c91fe510",
       
 17471 +                                  "18932d3a50056ecbd4c0",
       
 17472 +                                  "594820c775fd57d86cf9af",
       
 17473 +                                  "4ad8d4214e4fe01b143d8",
       
 17474 +                                  "179c67b2886cbf8a80171f",
       
 17475 +                                  "60e1157dceceaecc3a16c9",
       
 17476 +                                  "507a197204651599300f85",
       
 17477 +                                  "1da6208947854d10119a62",
       
 17478 +                                  "2fd395d2076e94e7f79f79",
       
 17479 +                                  "3326fb026bfe153a5a80e5",
       
 17480 +                                  "214b26c5cc4d2d1d455254",
       
 17481 +                                  "2a5beeac5cc34b9b70fc5c",
       
 17482 +                                  "73037907fb5b7e20bf7973",
       
 17483 +                                  "622155e1a7c16eb9e6f098",
       
 17484 +                                  "47eef469d5e96dff3b60f7",
       
 17485 +                                  "31b42ccc858ccceae34d5",
       
 17486 +                                  "68c711e371efbf9b278db8",
       
 17487 +                                  "71e107fc4c98b40c6f7b53",
       
 17488 +                                  "2a2840d0a8db4a22fdfb53",
       
 17489 +                                  "557e56b5a5dcf30ae5f48",
       
 17490 +                                  "5451512089afcff74e1bd9",
       
 17491 +                                  "6a44a264bb1144d86619f3",
       
 17492 +                                  "72316f1be6172c06994a4d",
       
 17493 +                                  "d5835b5723a9063a2dd80",
       
 17494 +                                  "232ce65586f95692d89383",
       
 17495 +                                  "2a8c9eedadb6f6d58c06cf",
       
 17496 +                                  "f5eef843bd404a6869b17",
       
 17497 +                                  "720851fb976798365a6829",
       
 17498 +                                  "6e8b7f0e9607e44c1f9f65",
       
 17499 +                                  "3860366ed3637eead94b8d",
       
 17500 +                                  "30d33e090854573dfd98f5",
       
 17501 +                                  "682291bfd680e2cd8f9d70",
       
 17502 +                                  "7c1fdd60de643e750fa1d",
       
 17503 +                                  "774b9d1f08bb74ab682979",
       
 17504 +                                  "7b5f04e933b2e4204cdc65",
       
 17505 +                                  "2c36a4d87847724f9fdecf",
       
 17506 +                                  "2c941d4c1c7d68ef593ae6",
       
 17507 +                                  "4576a87293566d06f5b643",
       
 17508 +                                  "86148c3559c855d7a4785",
       
 17509 +                                  "2d0a5221661bafe1bae3a0",
       
 17510 +                                  "4eabe0db8ac5d733acae29",
       
 17511 +                                  "1dff7b3a25d6efec89d4f1",
       
 17512 +                                  "93ecdd9b52d588b62ae9d",
       
 17513 +                                  "4a5c54b88c3afab5d73bb4",
       
 17514 +                                  "50873f081856faa7b0c6c0",
       
 17515 +                                  "7a4c62248fb05a7ec5f894",
       
 17516 +                                  "6297ed8d827bde2f27c592",
       
 17517 +                                  "4f88d842683a24f7a78b4e",
       
 17518 +                                  "6543f2ea86c39aa319b565",
       
 17519 +                                  "1711e7c4ddf7dd725f454a",
       
 17520 +                                  "6e925cc1e63747fc8301d9",
       
 17521 +                                  "428c02c3c8bb1613aad2fd",
       
 17522 +                                  "1b12fc1c7d3ee5cd24b30d",
       
 17523 +                                  "38618fda51c023d44b41df",
       
 17524 +                                  "75ecb6eacac31eec1c8d24",
       
 17525 +                                  "363495385d4023abd7fffb",
       
 17526 +                                  "52a170878e73d2b9a73398",
       
 17527 +                                  "40afd831d872bbb5ba2dbe",
       
 17528 +                                  "6a2bde70b440f36a3a69b8",
       
 17529 +                                  "6cdde5dc50cfba13ab15cc",
       
 17530 +                                  "6102d4b92b578db1756028",
       
 17531 +                                  "1d72e71f6a57243468bc42",
       
 17532 +                                  "4f100cd2b63ef0cdac7165",
       
 17533 +                                  "56441a020eb196f9ab47f5",
       
 17534 +                                  "520d75e4874b90e95d0ac6",
       
 17535 +                                  "4ad5b5ec9142810d730c91",
       
 17536 +                                  "6369f366be6b5ec99ddddf",
       
 17537 +                                  "4ae3a5f46681ba13e649ed",
       
 17538 +                                  "33e094a7802d99ab1d9620",
       
 17539 +                                  "58ca4d190a0f756173e746",
       
 17540 +                                  "4afa034c14d96f077cc41e",
       
 17541 +                                  "3277a60ca85c986d50dee2",
       
 17542 +                                  "61df6c089b8a0a75da0288",
       
 17543 +                                  "3a9ec75af3c8e86b8c1b73",
       
 17544 +                                  "7ca8eb46f6df31902607b1",
       
 17545 +                                  "7a283d5e2ed98485e2d260",
       
 17546 +                                  "78ab001943d18ada1f6d03",
       
 17547 +                                  "56f539741375576aac816a",
       
 17548 +                                  "75fa74ccac539d6f2e079d",
       
 17549 +                                  "7108a03a28803eb91e8a0a",
       
 17550 +                                  "3756665d23e5dc56d35905",
       
 17551 +                                  "da96dc29f77c98efd9a65",
       
 17552 +                                  "54ec1fbecc620b2a62de33",
       
 17553 +                                  "2e564f6ba5f6f74e33f2dd",
       
 17554 +                                  "86aa65ac1949dd8af6918",
       
 17555 +                                  "605ccf0922a0c35f768933",
       
 17556 +                                  "4348b708829c7eddd56237",
       
 17557 +                                  "19d3eafc75447dbc2ce4d",
       
 17558 +                                  "764156f5d90616c8c45669",
       
 17559 +                                  "51e2ff830fcf99b4147ec",
       
 17560 +                                  "2d30342ea20393b89b038b",
       
 17561 +                                  "6745627963b760ee39ad1a",
       
 17562 +                                  "76c344db7c98c1b1fa25d1",
       
 17563 +                                  "5b872486f12a68a939069d",
       
 17564 +                                  "274cbe37d4fe65732936f",
       
 17565 +                                  "27b48290f4bc222f54681d",
       
 17566 +                                  "1f7e1880120c76703199fa",
       
 17567 +                                  "2bf0a5cc2a5150523d2e64",
       
 17568 +                                  "2d3b2e3d52eac5c09743f7",
       
 17569 +                                  "46b7638024bbab6f336734",
       
 17570 +                                  "71f7ff7f6245492bf4ba4d",
       
 17571 +                                  "6ac96f98fa78ffb692afd9",
       
 17572 +                                  "1c63d031374620336f8c7a",
       
 17573 +                                  "5eb0e751f365585e4f3fd3",
       
 17574 +                                  "24716274d6f1761a2e503e",
       
 17575 +                                  "3b663e3e9013cab9326fc5",
       
 17576 +                                  "231a1fa6a52f8377b2ca86",
       
 17577 +                                  "464063c0e0f5e5eae1bad1",
       
 17578 +                                  "4f588ef825e26e596e160c",
       
 17579 +                                  "4adc76f7cd88044421953e",
       
 17580 +                                  "228eebf60c055615805405",
       
 17581 +                                  "3d32a6b665f10a829cfff8",
       
 17582 +                                  "ce584760ca84047b25a4f",
       
 17583 +                                  "982362cb3f64fc2535f18",
       
 17584 +                                  "2cbb69d06f0ba3051ce433",
       
 17585 +                                  "2fb2d651d1a5fde2dc4d89",
       
 17586 +                                  "116822d6715118a8643140",
       
 17587 +                                  "52e4d0f780530e040b8198",
       
 17588 +                                  "4d84d472f48a1f27cda4fd",
       
 17589 +                                  "23675569b6f74cecec658",
       
 17590 +                                  "7273cb20026d3e5dfa9567",
       
 17591 +                                  "5e5c9c54f1f75bcc98d1bd",
       
 17592 +                                  "37150fd6c06a98e84f0fb9",
       
 17593 +                                  "1cae4d5a0b88eed0b2d97e",
       
 17594 +                                  "5e6c438c53b4bfbeab6a4c",
       
 17595 +                                  "7ec0ec060d3788349445a5",
       
 17596 +                                  "394ca6d6650a3a703c8f0",
       
 17597 +                                  "76a4bcdffe1207b9c84c3",
       
 17598 +                                  "413062fa329dcbe3b8887d",
       
 17599 +                                  "137786296b1e5f466871bf",
       
 17600 +                                  "1bff1788b61c434292f278",
       
 17601 +                                  "67ae16da8f876a2c8dc80f",
       
 17602 +                                  "4f0b0a9e8338cbca398b3f",
       
 17603 +                                  "7fe713df2e65b878c1edc6",
       
 17604 +                                  "46dbd89f4ae0d06c0ab8e0",
       
 17605 +                                  "3ad2c2000ee1db409ffcab",
       
 17606 +                                  "235057c5ef06d64b0093a1",
       
 17607 +                                  "2b1199cb9ff7848ec581",
       
 17608 +                                  "16a7968fcf87b51aa207b",
       
 17609 +                                  "7593ab2f13aa524b76e104",
       
 17610 +                                  "569b68c3d77231282d1705",
       
 17611 +                                  "54f01285acb2da9689a386",
       
 17612 +                                  "7c50148337071a44808f27",
       
 17613 +                                  "157e5726ec48e98ea5652c",
       
 17614 +                                  "a0b14921f2ca115669309",
       
 17615 +                                  "540974d1b3361c5ccd3a2",
       
 17616 +                                  "30927374f464c892c53b50",
       
 17617 +                                  "5c0de6f6c164f44c52de84",
       
 17618 +                                  "25f3d9fd234440b97c9821",
       
 17619 +                                  "659ccea55ad34dab51a321",
       
 17620 +                                  "308d7af9cf09073e61779f",
       
 17621 +                                  "48dd5aa0d80d3fd4d31225",
       
 17622 +                                  "18d28f7c13bdb1a27fc315",
       
 17623 +                                  "37c639bab06813135e6962",
       
 17624 +                                  "716be1338eb9fa3160de8a",
       
 17625 +                                  "306cc735643548c81d480",
       
 17626 +                                  "15dc7895737fd27e2fc2d8",
       
 17627 +                                  "ff910ecf2ce1ed443b3a7",
       
 17628 +                                  "26e45399ef9d09b479c0d5",
       
 17629 +                                  "5a3548ae1dc271964cafb9",
       
 17630 +                                  "1e0b5aa4ebf1898b7232a8",
       
 17631 +                                  "65b1a43ebc40ff17757bfe",
       
 17632 +                                  "35ab264ca762acbf67e1de",
       
 17633 +                                  "67fe63e894b36bad057249",
       
 17634 +                                  "901282766f87bc24e50af",
       
 17635 +                                  "3f8ccc4c495c412c1876e1",
       
 17636 +                                  "2c958c952c5c886c2a60ad",
       
 17637 +                                  "21a95826890e5cccb8a83e",
       
 17638 +                                  "190017f50befaddece16d2",
       
 17639 +                                  "64f3d838badcddd9bfdd0e",
       
 17640 +                                  "7a7cdf214176b6d3191883",
       
 17641 +                                  "30436781bd712f316b4895",
       
 17642 +                                  "f5d2bac49777fc8f10242",
       
 17643 +                                  "66de0cd9d504d0c8a10caa",
       
 17644 +                                  "11ff8e8d5e956398c99ca4",
       
 17645 +                                  "2d83b4eaa1c8f768e56c30",
       
 17646 +                                  "58689766e836a562c78c53",
       
 17647 +                                  "1644cc3e7fe80220ef2f70",
       
 17648 +                                  "69a00aca76ae6e660be7bb",
       
 17649 +                                  "68e1a6376fdb4eb7b4b0e6",
       
 17650 +                                  "5c37d517c640ac7f62a532",
       
 17651 +                                  "3aa36ece405e3ccd9341ca",
       
 17652 +                                  "345343979af3beadfaced5",
       
 17653 +                                  "63ca1ec0700483b8f859e5",
       
 17654 +                                  "14b8d711e9732dc1d81b85",
       
 17655 +                                  "5d1cdedac3c1f047923b22",
       
 17656 +                                  "1f88577ebb6a87d8478dfc",
       
 17657 +                                  "3cf63e3a65a7e509ca6dd4",
       
 17658 +                                  "64e35a2939773b306ebb74",
       
 17659 +                                  "4e5afb2e233daef8a9bbcb",
       
 17660 +                                  "5dce9f322e405cdd3dc195",
       
 17661 +                                  "49fee8b58237dc40ba3c5b",
       
 17662 +                                  "125c7d70d2b6d99ae885da",
       
 17663 +                                  "7f821b6d896942293448e9",
       
 17664 +                                  "44b0628f84b11c5e71888",
       
 17665 +                                  "4bc252b0fa653478344f1f",
       
 17666 +                                  "31afe414b9e841f105214d",
       
 17667 +                                  "46bc16d9041c2bda07b158",
       
 17668 +                                  "34ca1ca17d4004b63727d1",
       
 17669 +                                  "1adfa664cf45ca975af0f8",
       
 17670 +                                  "55b727631edd20582945d2",
       
 17671 +                                  "6649997ef28c919c6cae0f",
       
 17672 +                                  "6332e8b1655b1a7193eb45",
       
 17673 +                                  "7b8a17b08fccb33f4b7d6f",
       
 17674 +                                  "46c01f4170feea6c601e12",
       
 17675 +                                  "68d895a65569cf3ef3e3ea",
       
 17676 +                                  "782fa87576f745d6c5a644",
       
 17677 +                                  "3561d1a2752f1d17dd5823",
       
 17678 +                                  "1c1f24204ec4b044c10ff5",
       
 17679 +                                  "4ef1c6a1bd63bb6b6207b1",
       
 17680 +                                  "33fee942f43e9b7d2118f",
       
 17681 +                                  "1cbb8749de080f5bb23b75",
       
 17682 +                                  "4680ebb5e7e7fa1e676838",
       
 17683 +                                  "2cfe955ebd8c7e4615715c",
       
 17684 +                                  "93d0f45c8e78eed19b2b4",
       
 17685 +                                  "5411d9720f633bf7a356ea",
       
 17686 +                                  "7ae4ce9746d1a251afde2",
       
 17687 +                                  "6b6195f4939abc517ea1fa",
       
 17688 +                                  "622e4bcd237f601b3f864e",
       
 17689 +                                  "552dab94d8fab803e3abe6",
       
 17690 +                                  "5fea5590381b705c4ba54c",
       
 17691 +                                  "47a6912faf0eba695a3f82",
       
 17692 +                                  "62d4635d0bbd6bf8fab17b",
       
 17693 +                                  "488702c5b90021b8b24933",
       
 17694 +                                  "b44a774aaac3d4d335389",
       
 17695 +                                  "7c2eeaa3b5ac7ca26ee5f2",
       
 17696 +                                  "4a79a4d35e92cbac8fe0c0",
       
 17697 +                                  "145ecffc8b532b7855ca8a",
       
 17698 +                                  "409705e5654888d8af2f47",
       
 17699 +                                  "4f5cb9e29c3567f8c1b22b",
       
 17700 +                                  "2ad535a50fda15e1835526",
       
 17701 +                                  "4d55039bf17366425f055a",
       
 17702 +                                  "504e8f5ee0e51320af92dc",
       
 17703 +                                  "ae1614cb7437dc6311ee9",
       
 17704 +                                  "3d433adb4bcd914fcfc4",
       
 17705 +                                  "633dad9eec0d451652bf40",
       
 17706 +                                  "15bc81dd36a0393963bb64",
       
 17707 +                                  "720d9e52c4aea85ae24480",
       
 17708 +                                  "16f5569ecf073acc30831d",
       
 17709 +                                  "50a70d2086b5ca78a90368",
       
 17710 +                                  "7e688d1cbe7e0a84a0f408",
       
 17711 +                                  "1f9e8bffcac3e1471f7cd6",
       
 17712 +                                  "78ec94c22ee912eded5499",
       
 17713 +                                  "336a41277b427813eaa191",
       
 17714 +                                  "1705c133c7ba24a2b5c528",
       
 17715 +                                  "7b7e71610f1589da383c31",
       
 17716 +                                  "58137399c99866772aed9a",
       
 17717 +                                  "282774a1f4bcb14e6723f9",
       
 17718 +                                  "7b85e0b99eff408f2aa978",
       
 17719 +                                  "2a5043ae183d338b7ebd55",
       
 17720 +                                  "af99b9d024438cfe9df66",
       
 17721 +                                  "d4a270719a348af6d6c29",
       
 17722 +                                  "47262fa06b9c5ac8138f4f",
       
 17723 +                                  "50c65d8772a3d5db269535",
       
 17724 +                                  "20b1838f00aa00d07f70fc",
       
 17725 +                                  "ca30526530b6f6f0c8fca",
       
 17726 +                                  "158e9251ef94651015ecc3",
       
 17727 +                                  "636f015a0c62753b283d5e",
       
 17728 +                                  "4573a56ada0a29d31dd6b4",
       
 17729 +                                  "367efb55edcaadbb5e4f2b",
       
 17730 +                                  "3eb189e2bfcbe180703cfd",
       
 17731 +                                  "692adfabb87ce969422961",
       
 17732 +                                  "434a5edb31a9c3c6a0243e",
       
 17733 +                                  "77664e53908d00007d1205",
       
 17734 +                                  "4b11585991700c233f6773",
       
 17735 +                                  "207ff6a0da7f13b316c4b0",
       
 17736 +                                  "328a9932d6b08a41a1df0e",
       
 17737 +                                  "2f927b360b2b43bff822dc",
       
 17738 +                                  "257564a39a648e17d015e9",
       
 17739 +                                  "73e92ea015629e3728aee0",
       
 17740 +                                  "4585b77fea18a0113ff609",
       
 17741 +                                  "101d83882a81d0147b4342",
       
 17742 +                                  "3addce3c43218484acf509",
       
 17743 +                                  "9f0c9a93eecf4de349628",
       
 17744 +                                  "465f3b1e25cde0e446d90d",
       
 17745 +                                  "4ceae8c6ea35dc274647ed",
       
 17746 +                                  "63137369b8d47b6c9c43df",
       
 17747 +                                  "438f5c0f163a4dfa04e5ce",
       
 17748 +                                  "313d62eb5f1104de5421a",
       
 17749 +                                  "9f20b6fedc099ec575691",
       
 17750 +                                  "24086a392ab75e649d3cc1",
       
 17751 +                                  "7aa96a9fbe718c006a48f8",
       
 17752 +                                  "8000000000000000080000",
       
 17753 +                                  "57f0f7ecb2d7dad43748ee",
       
 17754 +                                  "2a640efe463008db4ed634",
       
 17755 +                                  "45769a307f5593bbf72056",
       
 17756 +                                  "3abbf8af06f889daf59c4d",
       
 17757 +                                  "6d16d10feb1728044f2dc3",
       
 17758 +                                  "5bf1d1c71be0c49ad75d9a",
       
 17759 +                                  "16bed27a9c005817ccf111",
       
 17760 +                                  "4d7797e0b2f77a7ffee785",
       
 17761 +                                  "3845bd22f959dda9197376",
       
 17762 +                                  "1857324131e535b1b2458f",
       
 17763 +                                  "6335fb7682400180e10d15",
       
 17764 +                                  "50226b4aa22a0465ceea0c",
       
 17765 +                                  "44dd70b9323f17568e4ba3",
       
 17766 +                                  "217bd444ac8e9808b3ae5a",
       
 17767 +                                  "6c9c81ea487986867245b8",
       
 17768 +                                  "3827b84269040363e5e02d",
       
 17769 +                                  "64520e4823f48c1f48749a",
       
 17770 +                                  "58fc1b58696f8c22cfe344",
       
 17771 +                                  "41558cae58d4f9a9001b87",
       
 17772 +                                  "38910d873da8dfd237e8f0",
       
 17773 +                                  "5eb76c6301d8a849a1903f",
       
 17774 +                                  "3b6b43619a3730d5995ae4",
       
 17775 +                                  "5f2bc99aad2f27cdee05f4",
       
 17776 +                                  "385f7f48a7be6b46d108ef",
       
 17777 +                                  "37d50d7838efaf03049cd7",
       
 17778 +                                  "665bc65420c0b0a151c97e",
       
 17779 +                                  "3d9abe3ec82d9602d9dd6b",
       
 17780 +                                  "634d2540fd670a82f219a5",
       
 17781 +                                  "616dbeafd6aa623c1a7d7e",
       
 17782 +                                  "29702fc1f57fddc3369967",
       
 17783 +                                  "25920b5c96127e9d8ab05e",
       
 17784 +                                  "3a82369bb1a4da519bbd70",
       
 17785 +                                  "7f216769148f0e997c7805",
       
 17786 +                                  "31d809b078cdefaaf45266",
       
 17787 +                                  "7a6ffa939b86786a779a44",
       
 17788 +                                  "68e8a818d524954278bbf6",
       
 17789 +                                  "181ee17c34ab8aea52c900",
       
 17790 +                                  "7f42b66317d26c3f938805",
       
 17791 +                                  "6f37e3a85128974cdfaa69",
       
 17792 +                                  "45813314ca1d165bcf242c",
       
 17793 +                                  "64add9cabf8efdd5f7b57b",
       
 17794 +                                  "46a91d898168488fd5ac51",
       
 17795 +                                  "669f4c5ec3934953500b78",
       
 17796 +                                  "1e378fb7157cdaa6fc3a50",
       
 17797 +                                  "39cdc5e6675ab081ffe60b",
       
 17798 +                                  "1cfd8f0d12bcce21589c11",
       
 17799 +                                  "6ac77b7cb23565518aa2d4",
       
 17800 +                                  "4628eb872cffa1868b96ee",
       
 17801 +                                  "23eabb9cc5f4086c74bc31",
       
 17802 +                                  "445381f98a1f5669880827",
       
 17803 +                                  "3f603c7b410b4c2db2c8e2",
       
 17804 +                                  "464550e0adf269403f3e22",
       
 17805 +                                  "3286bf159405584d85567c",
       
 17806 +                                  "356497a9675898bccf4e79",
       
 17807 +                                  "f26a2dc235ace7b34f4b6",
       
 17808 +                                  "2e03d3c0794703b9605de0",
       
 17809 +                                  "30a18088f5b2af396bbfd9",
       
 17810 +                                  "681750fd18618072db2068",
       
 17811 +                                  "69fecb55ba6da700789d7c",
       
 17812 +                                  "2294095a6b77aaa416cbd7",
       
 17813 +                                  "ab8e1dd4d27b02d09fe48",
       
 17814 +                                  "7fe887d8c5fb53af79cbd6",
       
 17815 +                                  "1ead89a48b89a75ebaa7d8",
       
 17816 +                                  "10d0aa100248920b9cab77",
       
 17817 +                                  "4aad58987821ba8f33d96e",
       
 17818 +                                  "5c616b0d1a7bc591e70e46",
       
 17819 +                                  "24b22771f303ef742b8ce1",
       
 17820 +                                  "3eda92314bf1d09cb5b08",
       
 17821 +                                  "692eeb4ff69b42372517d7",
       
 17822 +                                  "494807a247f7ffab73a644",
       
 17823 +                                  "23564d97f447b0091e74ce",
       
 17824 +                                  "2b81c6e67e55aeb6e93a",
       
 17825 +                                  "4669a41d4e444c1284d024",
       
 17826 +                                  "61036fcac29b84e5ca02ad",
       
 17827 +                                  "2625096534f2cf10d83a26",
       
 17828 +                                  "30cb89652c8629b5e0dcc3",
       
 17829 +                                  "606e14eaa7d60eb7ea925a",
       
 17830 +                                  "17715e6c96cbe096c4f9c2",
       
 17831 +                                  "42a81f5e10b5435180e643",
       
 17832 +                                  "6d849a39e47370e473a913",
       
 17833 +                                  "6116bef6a79fb2fc15f0e2",
       
 17834 +                                  "31e8a39712fb3a7a11f909",
       
 17835 +                                  "7511506751237c1959933c",
       
 17836 +                                  "1e47a4330f0bce93db13fd",
       
 17837 +                                  "97342eefdbc78b9689120",
       
 17838 +                                  "b1fe15d9ac88348f41a87",
       
 17839 +                                  "296a247b4b36d5c2a1884f",
       
 17840 +                                  "aef2488954588af921ab8",
       
 17841 +                                  "351db0dca5d74808f36d33",
       
 17842 +                                  "25df9f831698604e15991c",
       
 17843 +                                  "761e42e1c908c2f09e096a",
       
 17844 +                                  "5e73615c65ae9e74eb1ef3",
       
 17845 +                                  "4354f51efc9392bcd6e51d",
       
 17846 +                                  "3f7d2ee6cb32c6bbeee194",
       
 17847 +                                  "394faf6069c716fcf8a76c",
       
 17848 +                                  "51d8b3e6fa0afa106abc40",
       
 17849 +                                  "5aaabbd40fa78dd417edf5",
       
 17850 +                                  "32d68fc9b8a9c17b315382",
       
 17851 +                                  "6f24ffc802a08273be511b",
       
 17852 +                                  "452816c1b54aa2bfddcc17",
       
 17853 +                                  "142c59f31fc82fb58a7dd5",
       
 17854 +                                  "7233f4136f3ace41bedb12",
       
 17855 +                                  "2c18c59d95a21961c42f21",
       
 17856 +                                  "7eb8dfe838ec5ef9d3ee21",
       
 17857 +                                  "19915afea85d27cf8df109",
       
 17858 +                                  "4e1162d634d0d5811a2441",
       
 17859 +                                  "43e36b6d5a937387b49f6c",
       
 17860 +                                  "295932427e10aface718fb",
       
 17861 +                                  "5a2c8ca58cb488822e9f49",
       
 17862 +                                  "622b540293b1275c5a9446",
       
 17863 +                                  "753f0795048443573283b2",
       
 17864 +                                  "3c2dca32abbdc029f4a212",
       
 17865 +                                  "3fac097802d8f5fb376d58",
       
 17866 +                                  "668b9e16f3948f582a5b94",
       
 17867 +                                  "1a08e273719d3411178252",
       
 17868 +                                  "f4af5a6143d8f44e48afc",
       
 17869 +                                  "54ad7fa69dfd0b4c19f7ed",
       
 17870 +                                  "65cf5014ab215afd17cef7",
       
 17871 +                                  "4c3c570182916f32a6f96c",
       
 17872 +                                  "2e8edc0b6dfcfb2392ce87",
       
 17873 +                                  "3950591be73642bfa23264",
       
 17874 +                                  "559752d946b02da4c2f657",
       
 17875 +                                  "554f5cfd133bac2188241d",
       
 17876 +                                  "3c1fd5d9a6223b2ce7b02a",
       
 17877 +                                  "34c50fc58872b7325366",
       
 17878 +                                  "3f8cb5eb229acba822b48d",
       
 17879 +                                  "2aead0dac004faa8ab67e4",
       
 17880 +                                  "144a6c20d0a8d5dce2b12b",
       
 17881 +                                  "5efbbe073364ace07f02c7",
       
 17882 +                                  "73862de61086c1fd5e0678",
       
 17883 +                                  "78aded63d2f85ac948c449",
       
 17884 +                                  "51603bcc8667777e664f9d",
       
 17885 +                                  "724f8bcd40bfc9f1ca0c68",
       
 17886 +                                  "5169af1cd74986160450d0",
       
 17887 +                                  "5b6b96beb19fb0dbada937",
       
 17888 +                                  "4b3a8d22fdb2c83abba9b9",
       
 17889 +                                  "3ee5a2cc90e335867f0ce8",
       
 17890 +                                  "33567e972c90754c86a5ff",
       
 17891 +                                  "1c07c875b3a9cdedf7611d",
       
 17892 +                                  "3b55da90ad9a162be1756",
       
 17893 +                                  "339dd42a42d94342bf8399",
       
 17894 +                                  "67a3f20bb5e980364816b9",
       
 17895 +                                  "4b6ed31d0715952774511",
       
 17896 +                                  "346f2a2b086e1b35095d7e",
       
 17897 +                                  "1c614cf9a9d87d69154c21",
       
 17898 +                                  "5e263af53ea065e044720d",
       
 17899 +                                  "681a88fafe4e6f0620910",
       
 17900 +                                  "1418facce22bf24a5e6a51",
       
 17901 +                                  "786571b85b2768309c8ed2",
       
 17902 +                                  "4d0e82bdf34ff4cb3a603e",
       
 17903 +                                  "7c2e242ec2b95580a9b3bf",
       
 17904 +                                  "54fc920cc0125e53a92499",
       
 17905 +                                  "5696a96208101739ec4ba0",
       
 17906 +                                  "636b15a893c301ff23f5f5",
       
 17907 +                                  "4956721f6a2ced1fc736fe",
       
 17908 +                                  "518711fe03b241cfb95160",
       
 17909 +                                  "2e12097225e5783b545083",
       
 17910 +                                  "7340d7daed67bcc5cd4391",
       
 17911 +                                  "c075fe6224a62c1010fb8",
       
 17912 +                                  "4bee7e482b290b1d3869be",
       
 17913 +                                  "7e8fbf173741aea1b95c93",
       
 17914 +                                  "5a1fe9fffdaa20f4ab7eae",
       
 17915 +                                  "58d7de0f8254a81b5d0f5a",
       
 17916 +                                  "38793daa7aa086d5e70798",
       
 17917 +                                  "6157a651f2640a73f1f90",
       
 17918 +                                  "7a6d5b1013830761b58026",
       
 17919 +                                  "46734211b970f8a6448a60",
       
 17920 +                                  "31b9dd76b9ed5f88dd4609",
       
 17921 +                                  "46c6313b3914ecd376b959",
       
 17922 +                                  "3e4e77e268fb6e7602e96c",
       
 17923 +                                  "74d39a89d87bdaa449438c",
       
 17924 +                                  "7684536a92d49a5af59f1a",
       
 17925 +                                  "71215d6fd5e662d930a424",
       
 17926 +                                  "249b7a4d080be0f548cabd",
       
 17927 +                                  "1bea5758655f1400515db4",
       
 17928 +                                  "7f45c48d28fd31ceeb3fd7",
       
 17929 +                                  "1812bd60b720f8920fe80d",
       
 17930 +                                  "27244290f774a00786ca95",
       
 17931 +                                  "5566a844e8b1c572f69612",
       
 17932 +                                  "2d678e77df571d7ac4859d",
       
 17933 +                                  "e243f28e043030ee3a43f",
       
 17934 +                                  "36a3336f56c91232544e8c",
       
 17935 +                                  "179d4134709978c75bf6d2",
       
 17936 +                                  "20ea7b335b7621642b29a6",
       
 17937 +                                  "78c437adc3b6ce946cdd",
       
 17938 +                                  "57dbda5c8b230a87030357",
       
 17939 +                                  "4dcc6ee20983f0020ad69",
       
 17940 +                                  "5725842b7246179896a39d",
       
 17941 +                                  "6b1cbac9279eaab9b503c4",
       
 17942 +                                  "1bc4e87c1100a2d26aeff3",
       
 17943 +                                  "2d70f946f2915679b314e6",
       
 17944 +                                  "793fd256b009d961487499",
       
 17945 +                                  "ee9d6b69f13ec8f385e6f",
       
 17946 +                                  "4b4c7f0a822537ff62cdcd",
       
 17947 +                                  "48b920d23514d06befaf52",
       
 17948 +                                  "2df30214a49a31c21380ef",
       
 17949 +                                  "4c4424602626193266d943",
       
 17950 +                                  "2d5bb2b553d4ed5bc0795d",
       
 17951 +                                  "681fcdfe60f23e3be083f6",
       
 17952 +                                  "4f9634be1ae125361bd4c2",
       
 17953 +                                  "1ac96b01993da8677b2fd7",
       
 17954 +                                  "4cd15a66ba5a2f18c8823c",
       
 17955 +                                  "3828df7e9ab6753fb83dc1",
       
 17956 +                                  "2071c913edfd4fd6daa6bc",
       
 17957 +                                  "669e7a28f7a7c30460a80a",
       
 17958 +                                  "3b22ed42f28069f29c280b",
       
 17959 +                                  "5ca51c82df4def8b1588cf",
       
 17960 +                                  "7b2ef1bbf74c4989ed5ddc",
       
 17961 +                                  "40ebb7bac65bd815945e49",
       
 17962 +                                  "4a469bacdcaf5434109262",
       
 17963 +                                  "1a14d5b10cbcbb9ad3216",
       
 17964 +                                  "65fb4589487aa5a16bd767",
       
 17965 +                                  "283508a2ed137e839b2207",
       
 17966 +                                  "7047889925ed18a885358a",
       
 17967 +                                  "9d8d18a72607c311d6f76",
       
 17968 +                                  "6a1d554c48496d8d543eac",
       
 17969 +                                  "594a3b6273b1ed2b542eaa",
       
 17970 +                                  "67cb80a136db30b9d60d6f",
       
 17971 +                                  "5106bba99e6268d7bef3e4",
       
 17972 +                                  "6fff35974d5f0b86faa46a",
       
 17973 +                                  "5f7482c17a568566c785c9",
       
 17974 +                                  "78ba33e419cbc7f177437f",
       
 17975 +                                  "1f4b918e0e0d47c89aa2d8",
       
 17976 +                                  "50cfa48cfb994ab2b77aa3",
       
 17977 +                                  "1e4fdc54209c2229d7ffcb",
       
 17978 +                                  "4431184365a358de692057",
       
 17979 +                                  "7adeede80a05e40854e6e",
       
 17980 +                                  "9a39acfeb3a1b4c2bc79c",
       
 17981 +                                  "2d2a15867cf9361defac4f",
       
 17982 +                                  "3fdb99cce8884ed923271f",
       
 17983 +                                  "2d127e6ce6bd0f1872b1",
       
 17984 +                                  "1124cfa0e070cf6fe3c638",
       
 17985 +                                  "65b7b50446c767e6fa72fe",
       
 17986 +                                  "3f0d18b1efb7248950daeb",
       
 17987 +                                  "74fc1bfd19b3cbc9867bff",
       
 17988 +                                  "34f0f61d6d8d062b6b9d9b",
       
 17989 +                                  "260d6ba9444df4b85dfb92",
       
 17990 +                                  "4f75e255d88657b2ba4755",
       
 17991 +                                  "3c3f770d148b4692e25b59",
       
 17992 +                                  "1eb56fdccfc12b22db2048",
       
 17993 +                                  "3c81a9658bae42644c317a",
       
 17994 +                                  "783c78a9025283e7188a8b",
       
 17995 +                                  "7322c20a545b3845b54b34",
       
 17996 +                                  "52d104741cfa5fa49fa55e",
       
 17997 +                                  "6545cb112ea4be72bc80f7",
       
 17998 +                                  "5bcd4418d37c976110b37c",
       
 17999 +                                  "34d59de432c0dbb24ae55b",
       
 18000 +                                  "4759751a101953dd340d89",
       
 18001 +                                  "41e135572f9ce788481248",
       
 18002 +                                  "185033e62f44aa85a7799b",
       
 18003 +                                  "7047a4510b8c2107737ece",
       
 18004 +                                  "381012de4c9a82f9ef1d72",
       
 18005 +                                  "1167717f2d3d6238b3d21d",
       
 18006 +                                  "2dac9d433ff98cf24eae81",
       
 18007 +                                  "4f1c406e243fb2af67cd42",
       
 18008 +                                  "685afb7cdd699d5a8f020e",
       
 18009 +                                  "4c6a0f6de7e50ac450c0c3",
       
 18010 +                                  "59f0f5465ff1e16be9bfb2",
       
 18011 +                                  "594ae94ad86b9a719f54a7",
       
 18012 +                                  "9225712405a5bd9ade58d",
       
 18013 +                                  "3650c22d9c1072238cfcfe",
       
 18014 +                                  "36a92b305c21171dd5a616",
       
 18015 +                                  "5ba344fee845769c2c86d8",
       
 18016 +                                  "3ecd8205beb790946eaa8f",
       
 18017 +                                  "5f84ae1685459ae7e24bf2",
       
 18018 +                                  "62a01fb38e5c88098fbcc9",
       
 18019 +                                  "3c2f54ef99be42fe30d32d",
       
 18020 +                                  "215dcfa076749277897e0",
       
 18021 +                                  "36304be3f0777300703af",
       
 18022 +                                  "147b65e0e829ca30fd88c2",
       
 18023 +                                  "4e6a2eb425fbd18fb02cb2",
       
 18024 +                                  "2ddac7db8be22e88618b58",
       
 18025 +                                  "1c7831e5dec267ccb26741",
       
 18026 +                                  "2f3b362f4b742eb82f8a34",
       
 18027 +                                  "5505b22d0ddba48ae2020b",
       
 18028 +                                  "522afb743f67b3ca56b20",
       
 18029 +                                  "81dc886feeee4945edceb",
       
 18030 +                                  "77c4b593ec648025df03f6",
       
 18031 +                                  "4f0841f63a0c64aad5232e",
       
 18032 +                                  "6cd2d14ecc5fc7c2c1b52f",
       
 18033 +                                  "3827eb26c007235c46c676",
       
 18034 +                                  "484281d930b8ee32f366f0",
       
 18035 +                                  "25f7e1ac0d4153b6365c1c",
       
 18036 +                                  "2600c04d980b2307982b22",
       
 18037 +                                  "6b923e02dfb1da62f37204",
       
 18038 +                                  "287593985c21589f72c821",
       
 18039 +                                  "c8918a059fa77676f0587",
       
 18040 +                                  "76201f5e0110544f41d9be",
       
 18041 +                                  "770b83b55e13465063e5a",
       
 18042 +                                  "412ae12837a29724832877",
       
 18043 +                                  "5cd8f5f9eb6806f67db613",
       
 18044 +                                  "4eac7fa0d6b168c3bec4e3",
       
 18045 +                                  "5d2972b12e50e727a2721d",
       
 18046 +                                  "5517c01ca3bd4da9aef0ad",
       
 18047 +                                  "11ea8c21342ce42ebbf9ec",
       
 18048 +                                  "413f256a64feb56e242e90",
       
 18049 +                                  "29f3402339c3128a1e2c1",
       
 18050 +                                  "51eb860c87e1e5b70bb623",
       
 18051 +                                  "369c62fe5aafda2a550912",
       
 18052 +                                  "2674d42d16e97493518d2",
       
 18053 +                                  "6b105359a1a68d94862411",
       
 18054 +                                  "527e969f4f6eefe6289ece",
       
 18055 +                                  "7ef4c5361ca08ac1cb6216",
       
 18056 +                                  "3f3aeb0a1df198d9c95768",
       
 18057 +                                  "152dc9fc63d3c1eb6c335f",
       
 18058 +                                  "7754a6a5fe6be54c00f4c8",
       
 18059 +                                  "222ea07afe042cf765ce5f",
       
 18060 +                                  "1086eae159340e441fa0a4",
       
 18061 +                                  "6c03f094dfe48c9743be89",
       
 18062 +                                  "1fe069b8c57a9fbe5f6009",
       
 18063 +                                  "185254fa056de9af1a6bd2",
       
 18064 +                                  "3018be3223f82c7f0c9ebe",
       
 18065 +                                  "48a13c03c03191471f1164",
       
 18066 +                                  "3e94b32e50da81bb5afc03",
       
 18067 +                                  "4d08f00a99d95d0043cc4",
       
 18068 +                                  "4636e2935765905adcc41b",
       
 18069 +                                  "4bc9c371d07d4a025a739b",
       
 18070 +                                  "83bfa3efcf5b970ad41cd",
       
 18071 +                                  "18bc8168956ccd63ac68a1",
       
 18072 +                                  "366546b3844bf45b7527a5",
       
 18073 +                                  "363a65fc59f4a8184d3d78",
       
 18074 +                                  "5ef30e941639d08bff19c4",
       
 18075 +                                  "5d66f0d9dde7339dbcd24",
       
 18076 +                                  "33d5a814c00e980600811f",
       
 18077 +                                  "5ccbc128a5721a5dd853eb",
       
 18078 +                                  "298200a0909b55e97005f2",
       
 18079 +                                  "703a6cf857e651748dc09a",
       
 18080 +                                  "547264d2566596f18bbb5a",
       
 18081 +                                  "760b4f231686ca10ea6ea9",
       
 18082 +                                  "49a3641c16382337f3c777",
       
 18083 +                                  "33525d5afa91fda7d5fea5",
       
 18084 +                                  "4c028ddef259fa2c7d4868",
       
 18085 +                                  "575d4696bb0e4edef99446",
       
 18086 +                                  "6da26efc24e2d57c26c090",
       
 18087 +                                  "41e1bc8a63d042ba714c97",
       
 18088 +                                  "5f24e71937dd097c0e8678",
       
 18089 +                                  "70b9ea82f6a6c02939510c",
       
 18090 +                                  "738abcc274fbdc4ab5efd7",
       
 18091 +                                  "255358696f5e9ddbfa467c",
       
 18092 +                                  "6e9f47f009d809f84a56da",
       
 18093 +                                  "27c6ad85e824da21b1cf9d",
       
 18094 +                                  "46a78cc83c010019e8b2b",
       
 18095 +                                  "6b828169b3ba13bbcddb05",
       
 18096 +                                  "3f5c0a52d2b564cc250982",
       
 18097 +                                  "63069f756c8115e5fc4c52",
       
 18098 +                                  "55744f373c8b8520d62370",
       
 18099 +                                  "43c2ec8afca87567ee9294",
       
 18100 +                                  "6354a865e088a0488f2701",
       
 18101 +                                  "d165a455f92b5083e0627",
       
 18102 +                                  "7252d249ce8cd4fb010950",
       
 18103 +                                  "79790e81fd0d2b63f9d1b9",
       
 18104 +                                  "5e147628ce9e9a9493f495",
       
 18105 +                                  "37755ea728b820f0ab2bdf",
       
 18106 +                                  "184e317201ff0ac25eb6e6",
       
 18107 +                                  "178cb915d7350e37948956",
       
 18108 +                                  "5ab5c85d4bf835440ff962",
       
 18109 +                                  "1e2bd3f41ae5c299bb720f",
       
 18110 +                                  "722f9dc13384479d1c4455",
       
 18111 +                                  "2b514798a553e5bdcd8ec1",
       
 18112 +                                  "51890cd139740ee3c35339",
       
 18113 +                                  "75d3c5c33e5a2023adfd4a",
       
 18114 +                                  "15da282cec1859a9591ab9",
       
 18115 +                                  "7fdd8bd273e4a717226cc",
       
 18116 +                                  "3915d17a2935e69936525d",
       
 18117 +                                  "78acf4423afa2cfe1a6fc1",
       
 18118 +                                  "4f140e806dac75cc67fa3c",
       
 18119 +                                  "37c6007c4a0d223bec9e13",
       
 18120 +                                  "1ae82d51e4845bef8c5d14",
       
 18121 +                                  "65a0cb312051f321a95f5d",
       
 18122 +                                  "42aa10dc273607be680d72",
       
 18123 +                                  "3e26ac2b23b8b913845e11",
       
 18124 +                                  "30bed73f7a94de9252a38c",
       
 18125 +                                  "750f475708a1369e3fcc26",
       
 18126 +                                  "61ade8e7a0bcc40ee4c2a8",
       
 18127 +                                  "27b94ffb61590cd0bcd89f",
       
 18128 +                                  "3f1e6a84c6b836f245c178",
       
 18129 +                                  "239309f551f303d0037140",
       
 18130 +                                  "211dcdb529a6bab73ad8a6",
       
 18131 +                                  "7869636f37e63a4ffff7cd",
       
 18132 +                                  "150365cfcc4a012a673c13",
       
 18133 +                                  "2791e42c7f90ab8d4e7fbc",
       
 18134 +                                  "1501743c447af65014399b",
       
 18135 +                                  "2244b09bebeaafafb0c481",
       
 18136 +                                  "36c0bf9a937fe6ca772d0d",
       
 18137 +                                  "419e79b02e607a42e6e091",
       
 18138 +                                  "400f76e25d392f347d4911",
       
 18139 +                                  "5ba0eb3a703d0e42cf4094",
       
 18140 +                                  "2ccb45ece6ec9abb9396c7",
       
 18141 +                                  "44741cea6d95eb07e7f01d",
       
 18142 +                                  "2b3c80a17ef583b6205fd4",
       
 18143 +                                  "43fea0cf26a3e256438525",
       
 18144 +                                  "59a7f220e101601c1d1b21",
       
 18145 +                                  "24974593a8d59a89588659",
       
 18146 +                                  "14ee39af97cd5a57b0e17c",
       
 18147 +                                  "4807e0d9a38d358d8e14c5",
       
 18148 +                                  "64d8389dc8d1b8910fc0a",
       
 18149 +                                  "6fd170c2ab312a1f05d814",
       
 18150 +                                  "68c4a816c641b5b1090781",
       
 18151 +                                  "24e71c2d01e956269446cd",
       
 18152 +                                  "3bec30574a99903f587887",
       
 18153 +                                  "2b4b238bbabe3c70748eff",
       
 18154 +                                  "4f0024b5b5580d91de0338",
       
 18155 +                                  "646ce329dbe03b0b8312de",
       
 18156 +                                  "5ba2a8023e5bb50b06e03",
       
 18157 +                                  "19537a8ee281cd28d6388e",
       
 18158 +                                  "10aab6ed7d1b631aa4b45b",
       
 18159 +                                  "6810dd5945e01cd2c90841",
       
 18160 +                                  "6ac2b70efaf88fd42c4044",
       
 18161 +                                  "aa480c5cc76379e0cd2de",
       
 18162 +                                  "64532524c99ecb3c365a41",
       
 18163 +                                  "321e3fdbb0b890caadc570",
       
 18164 +                                  "54fb5f18b6d001ef7be401",
       
 18165 +                                  "364f70dfdbb439b78e5236",
       
 18166 +                                  "9dfe57d1a9a3265476d14",
       
 18167 +                                  "169665894aa2b356779b61",
       
 18168 +                                  "127c199cd032273073f003",
       
 18169 +                                  "fa33fcce55fe6a32e0915",
       
 18170 +                                  "264e4b26d39119bcdc0985",
       
 18171 +                                  "593c091517fff61973996a",
       
 18172 +                                  "77da1b5a2124b6c9e11847",
       
 18173 +                                  "32e5682bfa3fd95762512b",
       
 18174 +                                  "72f7dab0b2d2a35e62478a",
       
 18175 +                                  "4356ada1ada2921353892",
       
 18176 +                                  "aa2cbd696160321682a6c",
       
 18177 +                                  "7f8bc7233e2784039454db",
       
 18178 +                                  "22884c181cdc222cad8e5c",
       
 18179 +                                  "7203cc213679d179eabc35",
       
 18180 +                                  "78a4c0445f77f31209ed17",
       
 18181 +                                  "58b95d74eb4e654735bebc",
       
 18182 +                                  "6a7db7fb47d3a18b620d6",
       
 18183 +                                  "63942ffcaaae948e9056c4",
       
 18184 +                                  "a2e07f9d73c5e3effd370",
       
 18185 +                                  "6667dbaf666f92bd61da79",
       
 18186 +                                  "4597c1546c899a3656689",
       
 18187 +                                  "5fc3c4b7f7ad5deab829bf",
       
 18188 +                                  "61170002cc409ddc34946c",
       
 18189 +                                  "736d05572fd4ef85eca2b1",
       
 18190 +                                  "1a5853834033d093c63d55",
       
 18191 +                                  "bafe681e7e52073b86d32",
       
 18192 +                                  "1c9f86b8742e14b6caf79b",
       
 18193 +                                  "3886dff828cc76dd830466",
       
 18194 +                                  "3b98704f287b0ee4e659aa",
       
 18195 +                                  "581eb843dc9919f85a6644",
       
 18196 +                                  "697396e6df9539532709dc",
       
 18197 +                                  "63606d420b8e8397875647",
       
 18198 +                                  "43b23b71c3202b31d91018",
       
 18199 +                                  "79486109c44990eca52723",
       
 18200 +                                  "2102dede4011c5cfefb7eb",
       
 18201 +                                  "235809998758cf7e4acb1c",
       
 18202 +                                  "233860a2ed2d566e131431",
       
 18203 +                                  "305213c4b30a9e8be153ce",
       
 18204 +                                  "7507998b275e3c9bd4e10e",
       
 18205 +                                  "64f00973a0eb117b548182",
       
 18206 +                                  "1416e580fa8bcb421dc6ae",
       
 18207 +                                  "36735381ceff20a76e32eb",
       
 18208 +                                  "45f5960a9db06a62821bf0",
       
 18209 +                                  "8649a3995ad114bb4d72f",
       
 18210 +                                  "374a0e75bc76f0adac7af5",
       
 18211 +                                  "6565aab9eaab16f7430411",
       
 18212 +                                  "7dcf3e6b7d3d02033c946d",
       
 18213 +                                  "65c9be7a29bf45e5992a7e",
       
 18214 +                                  "638d0229863032ef249643",
       
 18215 +                                  "297ac1b2d19eb1e6e32d87",
       
 18216 +                                  "6f339aa4d977875b1f1f80",
       
 18217 +                                  "438e5a19094bce43b5b5ae",
       
 18218 +                                  "4d8b0cd0d3401fd04e351",
       
 18219 +                                  "1b5200adee3adf189b056e",
       
 18220 +                                  "1de1227159008ec9b59ac1",
       
 18221 +                                  "75266a81bf7f77865e6f",
       
 18222 +                                  "9377e0e5c8d0de1856f6c",
       
 18223 +                                  "2fd82a7276af1cf8b372ed",
       
 18224 +                                  "6dddda58fac4e8afe0c9e7",
       
 18225 +                                  "1d85b86a2f3f20e2832ec7",
       
 18226 +                                  "35accc5a1e3fb474285daa",
       
 18227 +                                  "3aaa2c73e60edc333c904d",
       
 18228 +                                  "740f62900b9523de37b6b0",
       
 18229 +                                  "7401d0da6ddc33225bec4e",
       
 18230 +                                  "3e985c35adacaa90f5715b",
       
 18231 +                                  "62c36a3627b9d2b3c18de1",
       
 18232 +                                  "7b71ed8d456ee35292c960",
       
 18233 +                                  "2648a635c5981b8daca07d",
       
 18234 +                                  "2c33c53227ef5693d69f36",
       
 18235 +                                  "1540f88099c93111d6c8cd",
       
 18236 +                                  "5d9383670de64bf15eb49b",
       
 18237 +                                  "2b23443976252ed21088d1",
       
 18238 +                                  "7fa540fb3906a29b513bed",
       
 18239 +                                  "2f88b1c87d7d02f6c2614d",
       
 18240 +                                  "1976a9fa25af6d21cad47a",
       
 18241 +                                  "444a50dba1a2bf390bea1e",
       
 18242 +                                  "11c773ac555182d789142c",
       
 18243 +                                  "3b929cf6fdabeb45375120",
       
 18244 +                                  "15bf0eb485af1135b0e453",
       
 18245 +                                  "126dab6c2bfc9b83475847",
       
 18246 +                                  "c06cc01bfe2a9b427102e",
       
 18247 +                                  "6a545ca829ed278f6ee7f4",
       
 18248 +                                  "23dfbd70bcc040f36d4c8d",
       
 18249 +                                  "378ef780c4d32c3f15b3c3",
       
 18250 +                                  "7b115c7c405c6e4356bac1",
       
 18251 +                                  "1a789636807476ba5bd789",
       
 18252 +                                  "35fa1fca985387fb7fcd19",
       
 18253 +                                  "21b466e3230d809af7aa6b",
       
 18254 +                                  "4d1a8b95ded29dc79fd401",
       
 18255 +                                  "59bc93698864451646a053",
       
 18256 +                                  "7d6f33ec4a123fa281cabb",
       
 18257 +                                  "168ebadbade1cbc44496d4",
       
 18258 +                                  "413278937e6487a988805d",
       
 18259 +                                  "55407685456c2cb8311d26",
       
 18260 +                                  "79d07c6a6298d34020dfe7",
       
 18261 +                                  "65ab167d8e02a8df26439e",
       
 18262 +                                  "7dfd6cbe22024260a179ef",
       
 18263 +                                  "28d6cf3e20845dc7283634",
       
 18264 +                                  "648ea8b083a9828f8af17f",
       
 18265 +                                  "2f64ac4f819f8343111866",
       
 18266 +                                  "17da7c01f870089371d6df",
       
 18267 +                                  "50f371336a648ade74999b",
       
 18268 +                                  "1de402b5c6118ec8861aad",
       
 18269 +                                  "48ede8d4a9a88f7613388e",
       
 18270 +                                  "5f70485b00138272e9a41b",
       
 18271 +                                  "65a1f7025bafea5088145c",
       
 18272 +                                  "68d439e82561e55cbf1eed",
       
 18273 +                                  "3d8509040aa8739f034dac",
       
 18274 +                                  "2dd21df4dbce295378bd06",
       
 18275 +                                  "111d6b945ff69be530cfca",
       
 18276 +                                  "c1fd8fe80d24243e7b5eb",
       
 18277 +                                  "42772160e3ea402851c9c6",
       
 18278 +                                  "49374e550d8b335cb151d2",
       
 18279 +                                  "71faf2ef0654e97e0c23fb",
       
 18280 +                                  "4328d17f00529ea0fead97",
       
 18281 +                                  "546ec9785ee72a2a72d886",
       
 18282 +                                  "5d50e00035655b4d4ddcb7",
       
 18283 +                                  "4b53718060040e8179d82",
       
 18284 +                                  "282a80b8de04941c547168",
       
 18285 +                                  "73673685484b4f3492976d",
       
 18286 +                                  "5db729c46c687ddd7690e6",
       
 18287 +                                  "2cad73640590abfa319b6a",
       
 18288 +                                  "21ba4c5acd17d59fca0ed6",
       
 18289 +                                  "186605e063004c7e4a9375",
       
 18290 +                                  "2f687a83227d2d20f3b227",
       
 18291 +                                  "30abf45ef025352e681192",
       
 18292 +                                  "6a76e3eb445dada83ceb12",
       
 18293 +                                  "7146b897c3d924725bd0cb",
       
 18294 +                                  "14b68001dbf2f798322812",
       
 18295 +                                  "54112eabbed42ad31637c5",
       
 18296 +                                  "467db4fe225847525ef33f",
       
 18297 +                                  "25032025485a4979b90394",
       
 18298 +                                  "bc149e667cbe5a17ed77d",
       
 18299 +                                  "ba357a389bca1484d7e54",
       
 18300 +                                  "34ddcae84938327a3cbc30",
       
 18301 +                                  "2e1709b850c77f2d508334",
       
 18302 +                                  "15db077682cfbf170ce259",
       
 18303 +                                  "280bf57e6ab95037683d33",
       
 18304 +                                  "14f23f2aade2de50fb350d",
       
 18305 +                                  "57d0cd94e03404b9cc57cb",
       
 18306 +                                  "3282cc1545c9e77ce08abd",
       
 18307 +                                  "567508a3d2a7b4fe3b395b",
       
 18308 +                                  "16d8ad198832545831c93f",
       
 18309 +                                  "7d88a8aadc667bc60fcb2e",
       
 18310 +                                  "65118f1b7c366a8bbffcb8",
       
 18311 +                                  "6766e290c73bba54bcc710",
       
 18312 +                                  "2aad9e8261535baeb20b71",
       
 18313 +                                  "4ba668ebddeaa069043875",
       
 18314 +                                  "3f98705d2cf6346bf00972",
       
 18315 +                                  "541a69af40655a83e366ca",
       
 18316 +                                  "215c7e9a1d796b37a56336",
       
 18317 +                                  "419d9a35dec3e5f421baef",
       
 18318 +                                  "163690a8fd51b113410cc0",
       
 18319 +                                  "1d165ccd9ac1e4efca4a32",
       
 18320 +                                  "1d78f3d7e887debfa04bf3",
       
 18321 +                                  "6b421c0667b336723fc0a1",
       
 18322 +                                  "2cc7417260782c0d2394d3",
       
 18323 +                                  "21887a11425a371d17db86",
       
 18324 +                                  "5be7c40d96f7c97153eaba",
       
 18325 +                                  "2e061928a5c3ad9bd6d9be",
       
 18326 +                                  "7b398d970ad745817bcb61",
       
 18327 +                                  "f7cdb22a187815c33c5e0",
       
 18328 +                                  "a4f6b861d9a460f5b65a6",
       
 18329 +                                  "68d4b88b77dfae0da7a5d",
       
 18330 +                                  "4e4199871aec7ec1f99895",
       
 18331 +                                  "68f5ab17da1cc5dda22c36",
       
 18332 +                                  "1901320882ec0093fcda5d",
       
 18333 +                                  "76dcede51c5087d374b20d",
       
 18334 +                                  "38c3b4008c9d0442e7b602",
       
 18335 +                                  "1edb6eab35de11d4922150",
       
 18336 +                                  "5c53790457f0f66baaae2f",
       
 18337 +                                  "664ad54353749f2ad36105",
       
 18338 +                                  "45638582a87d07b0339df2",
       
 18339 +                                  "18b021fe09fa8bdc44e567",
       
 18340 +                                  "2acc282877d9cac38e38c3",
       
 18341 +                                  "7bd177160999a650655c6e",
       
 18342 +                                  "6717c0177a36454aef446a",
       
 18343 +                                  "6334fc3ff70d17dd837781",
       
 18344 +                                  "499a1abb2a1381278175e6",
       
 18345 +                                  "14da57f8c43c94d5133d50",
       
 18346 +                                  "4a1381ccb93c34dc44cab",
       
 18347 +                                  "7cb4b7b324b314195807c8",
       
 18348 +                                  "59f2c50a64b0c2a3e77442",
       
 18349 +                                  "426b930b670412d271a091",
       
 18350 +                                  "38aafca45b266dbeef6fc5",
       
 18351 +                                  "35d63c19d36b85b5e96648",
       
 18352 +                                  "31204f9f1e25342bbe28db",
       
 18353 +                                  "560e1e8aafcab315236068",
       
 18354 +                                  "5b80c6e1a5c4dcb3166335",
       
 18355 +                                  "1d41ed28d87d24620da24",
       
 18356 +                                  "38271b1467ee062bfe15c1",
       
 18357 +                                  "2b7758dc0945a30687fabe",
       
 18358 +                                  "4fb33de912dd8d2f8b8081",
       
 18359 +                                  "4d6d3f3602597781bd2ea0",
       
 18360 +                                  "5b509a0106f1d06627c353",
       
 18361 +                                  "7ffd3daf76b1e818134f24",
       
 18362 +                                  "858c45884b129dd66817a",
       
 18363 +                                  "70c9c69419338ba44d6b8e",
       
 18364 +                                  "17c5a39deb46d102235506",
       
 18365 +                                  "2adb843a58d472c17edcb6",
       
 18366 +                                  "798b816a4dea5ab964c64a",
       
 18367 +                                  "68705a826f80224f09c337",
       
 18368 +                                  "b720b9f07a6b1f41654e1",
       
 18369 +                                  "44bf623ac807d4c96747f7",
       
 18370 +                                  "16eaf321bf41ee635d6d46",
       
 18371 +                                  "37107b083cae132372e4d4",
       
 18372 +                                  "31e9d0607a42f7e54a8c81",
       
 18373 +                                  "4d23f5ec809ab5057c2705",
       
 18374 +                                  "10a61010d82426d21109af",
       
 18375 +                                  "1ba28761d3577e14d38b38",
       
 18376 +                                  "c57749387141da5f8fd27",
       
 18377 +                                  "4afedaa595cb8c309d3fbf",
       
 18378 +                                  "3fd90efbd4f0a4e173f589",
       
 18379 +                                  "49b4801e9a2a64a27691d2",
       
 18380 +                                  "7255e6805e164cf9788cce",
       
 18381 +                                  "62ae26dfe2273af99c4830",
       
 18382 +                                  "7e185faaca849a7f135848",
       
 18383 +                                  "10cc6c74c4f9fcc9428f7f",
       
 18384 +                                  "152b3e507f8b7898991275",
       
 18385 +                                  "15a3be22e80e0f6f498608",
       
 18386 +                                  "54e5b2458bb84fd7d4433c",
       
 18387 +                                  "656c647508629462e9a821",
       
 18388 +                                  "4c60164f9602341914167c",
       
 18389 +                                  "2a17c7297a08a3839ca0e1",
       
 18390 +                                  "47efddee37fa0ef6a72a47",
       
 18391 +                                  "106fdb273227296116f40a",
       
 18392 +                                  "524a00dd634d2f57ac7c6e",
       
 18393 +                                  "1e6b9387cb8fb6494ace9",
       
 18394 +                                  "25d293607604db30df2e4e",
       
 18395 +                                  "2a07033e306623cf4e37d",
       
 18396 +                                  "178e61138a7396d55d224e",
       
 18397 +                                  "75aa7d0184dbe8ff376045",
       
 18398 +                                  "421e7c19466e0847ffaea1",
       
 18399 +                                  "732b807455afe5538cf678",
       
 18400 +                                  "1a756f67d7e3e663369a04",
       
 18401 +                                  "389f7a523536bc08e2c52e",
       
 18402 +                                  "3a0c64739838b20476e0bd",
       
 18403 +                                  "4346fce81f02878bbc28d6",
       
 18404 +                                  "2f63eb0fae8122aa717440",
       
 18405 +                                  "59308e5db85655d5ae0c4",
       
 18406 +                                  "26b549a59dc35ee5ea7b82",
       
 18407 +                                  "4d89a145aa9c4acc9cbc8c",
       
 18408 +                                  "71b31c9be0276caacd1146",
       
 18409 +                                  "718c4a4aea9ee0da236930",
       
 18410 +                                  "7222af7c6bff611029c53a",
       
 18411 +                                  "7f4b55a70795b9d26512fa",
       
 18412 +                                  "32a9d4d4f421cf83f9237a",
       
 18413 +                                  "53cf166384d9f967e4ee4a",
       
 18414 +                                  "4566810f52dbdc6e52d908",
       
 18415 +                                  "308ab3a2c4d7f4df4b6a31",
       
 18416 +                                  "48a0fd415822566b2ecfbd",
       
 18417 +                                  "242cca5b643a5f97a01a20",
       
 18418 +                                  "1c28b93f693054a06fb391",
       
 18419 +                                  "5a2cdb29cc6790b45d1f04",
       
 18420 +                                  "5e8a5f959be2a17534c9bb",
       
 18421 +                                  "3fc3e580d2ad754a34bc48",
       
 18422 +                                  "6bd645b33c041537bb5186",
       
 18423 +                                  "3019d2c9a4a70055fade00",
       
 18424 +                                  "142fa830b7ba88d08608e3",
       
 18425 +                                  "47226da695602ab6e77894",
       
 18426 +                                  "70044b2b283269e2d14166",
       
 18427 +                                  "46ef25878ebd3ab0b864d2",
       
 18428 +                                  "557bc3fd4a1a6866c5d19c",
       
 18429 +                                  "7b0ba619013363524f168a",
       
 18430 +                                  "48b438b41e1bc7e58e6ef2",
       
 18431 +                                  "39a95d47cf87d7d7d6bc8e",
       
 18432 +                                  "27c1b7b41af947101d694d",
       
 18433 +                                  "492683ece46681328f9912",
       
 18434 +                                  "3ff99310762f37d685ca95",
       
 18435 +                                  "4cfeaacecd47507ead712a",
       
 18436 +                                  "38a39ada5dac01b5c2adf0",
       
 18437 +                                  "dea3527d089eceb4c22e3",
       
 18438 +                                  "7b084b907f4fc0301dbd5",
       
 18439 +                                  "503f8d64438b7a99b8de08",
       
 18440 +                                  "1d9a776cbeec9f5dec9407",
       
 18441 +                                  "8a006b686db9c86eb0756",
       
 18442 +                                  "144303d93b170584849f6c",
       
 18443 +                                  "6b5617e9152db554d999bc",
       
 18444 +                                  "1b9850e5f0f8fec4d967b8",
       
 18445 +                                  "20fe6d6e332154329f831c",
       
 18446 +                                  "5cee3684d600afc7804db0",
       
 18447 +                                  "1dc0a99973375f6c4a4583",
       
 18448 +                                  "4476f33d15e77d3ea6c712",
       
 18449 +                                  "11f2c34fc87060adca2837",
       
 18450 +                                  "71af54a2496a076b559a6a",
       
 18451 +                                  "2ff21a8761b9bce5f34f74",
       
 18452 +                                  "78b5c76a3ee8c2ef071fa1",
       
 18453 +                                  "5738f30e5cb40b4ed83e60",
       
 18454 +                                  "59fdfd7775c9750e48d811",
       
 18455 +                                  "7b609aae44a59cf088c570",
       
 18456 +                                  "4a67b54dcc404423e6b631",
       
 18457 +                                  "8ea7f70a71ad46c0c260d",
       
 18458 +                                  "5ca4bcb81d4d03018b177",
       
 18459 +                                  "169566a480e42dcc8863ac",
       
 18460 +                                  "789addf402241ff646d77d",
       
 18461 +                                  "13b16e69e645c1703bf7c2",
       
 18462 +                                  "16f732c5fac8192629ddb6",
       
 18463 +                                  "7731327e4c6ae66c8e47a1",
       
 18464 +                                  "cb8a50376e8204b8b5ea9",
       
 18465 +                                  "18eecc5a940548e7c51e57",
       
 18466 +                                  "3ca90695aca0fd32b28871",
       
 18467 +                                  "728caa6061cb6ff29e6b21",
       
 18468 +                                  "3d66483aa6674adb6569c3",
       
 18469 +                                  "1208a98ea1dd68a01d3ec8",
       
 18470 +                                  "5186a4a6ce8351b40466bb",
       
 18471 +                                  "79c75783449d733d93b4a7",
       
 18472 +                                  "52f87910ef7e6dde1f16dc",
       
 18473 +                                  "57aede4ca861e5051b15ea",
       
 18474 +                                  "70f2550983dbddb8957b2d",
       
 18475 +                                  "720aa7a7bdeaa025a23a54",
       
 18476 +                                  "3e7db1002a9116a5e20032",
       
 18477 +                                  "25d1c185377c3cd8e704a2",
       
 18478 +                                  "794294f26a938e1caf3c0",
       
 18479 +                                  "522619b83283553c71de74",
       
 18480 +                                  "4dd985f2fef5c539fa6a96",
       
 18481 +                                  "442eb4a36ab0287728c1d2",
       
 18482 +                                  "2a2b13112979d27489208e",
       
 18483 +                                  "4d43f85ff03e3cd18ef302",
       
 18484 +                                  "71e916ff79204bdad49695",
       
 18485 +                                  "270dae1c5ccafaa07ae8ff",
       
 18486 +                                  "3a2f442f3b3a9a2af00b28",
       
 18487 +                                  "3834a1b7acb0f05d9e53ca",
       
 18488 +                                  "5ca6e41b81529e38a59f6d",
       
 18489 +                                  "3164747c95104338a78b5e",
       
 18490 +                                  "b66201b62ddf6d13c5534",
       
 18491 +                                  "3dd366ce71f1fed428c326",
       
 18492 +                                  "12413ef53ba7fc6fb5cd35",
       
 18493 +                                  "20f6e36fbf07174b587397",
       
 18494 +                                  "362261ed7c97591714ea9c",
       
 18495 +                                  "1ce2a05bccecd36df96b64",
       
 18496 +                                  "358d745e0bc4be1c3f4586",
       
 18497 +                                  "221bb5afe07669d916e136",
       
 18498 +                                  "624d49c04a48d42d76c466",
       
 18499 +                                  "a3cfbf8b779e15bf28c99",
       
 18500 +                                  "28eb082844c0ed277d2520",
       
 18501 +                                  "4c7d0db8193430b75f41f5",
       
 18502 +                                  "3c9ecb18a83b901f901704",
       
 18503 +                                  "735a03f218370f8bd85ee7",
       
 18504 +                                  "4db4f1a602cec485019670",
       
 18505 +                                  "70357dabf2c34c8309c723",
       
 18506 +                                  "ecef39a1ef4b4d1e8c6dd",
       
 18507 +                                  "2cfcb08879a9aecacf316e",
       
 18508 +                                  "1175d70c2c07855db37245",
       
 18509 +                                  "786d54b4d5ce74ddde20a8",
       
 18510 +                                  "ff53eda132c9a3cfecc65",
       
 18511 +                                  "728cea43531fbac95263a5",
       
 18512 +                                  "20601a054af9d51633fab1",
       
 18513 +                                  "127118c35aaf80dac2a57",
       
 18514 +                                  "1db83df0a168bac450e4f8",
       
 18515 +                                  "39c167fbee27f65e96cc7e",
       
 18516 +                                  "2b90f954efc9f58a07a363",
       
 18517 +                                  "63f5fe049f46d509d141d8",
       
 18518 +                                  "75ac7a48082d5afa148e7a",
       
 18519 +                                  "569bfe59efe21364bf57e7",
       
 18520 +                                  "475131d01f3e6dc3b169fe",
       
 18521 +                                  "716991a2a17f536244885f",
       
 18522 +                                  "150c29ddf5483fb74be06",
       
 18523 +                                  "65fe3a22c7d35ad3f875e7",
       
 18524 +                                  "1754f51aa79c3b0803bf00",
       
 18525 +                                  "a4d6bd96f61637d730c9c",
       
 18526 +                                  "460372cf36a22fb6b9641e",
       
 18527 +                                  "43dcb4450a256b9a0eb673",
       
 18528 +                                  "10fafca3d5f71faff8f1a",
       
 18529 +                                  "177f43e8d62e87c66b9da",
       
 18530 +                                  "420c1c0074adbe0616df4b",
       
 18531 +                                  "1e39f05dac576881e6c295",
       
 18532 +                                  "7234cde8ecc6673caf864a",
       
 18533 +                                  "661787ba011711628186b7",
       
 18534 +                                  "6473dbfbe4a3f63d08e3f2",
       
 18535 +                                  "62b2e70d411eb11bf0a695",
       
 18536 +                                  "2e684b7951a2526d838fd7",
       
 18537 +                                  "5b4aec35da23a27808974",
       
 18538 +                                  "51e267e9a5a7684ebfd343",
       
 18539 +                                  "36b36922114363ceb85a26",
       
 18540 +                                  "5687a42dcd55b43227f657",
       
 18541 +                                  "3d28e1c12f9c60e500dce7",
       
 18542 +                                  "6bc6acd592c0200b749e07",
       
 18543 +                                  "773a63e6b7c9e3bec91272",
       
 18544 +                                  "536bfe32ac8da07b253be0",
       
 18545 +                                  "2146fc84389596cf6fa8ca",
       
 18546 +                                  "12a2fa8c4d06a694b748c6",
       
 18547 +                                  "49ede33966bc3f0dc8757c",
       
 18548 +                                  "4f787847feba11bfcbc764",
       
 18549 +                                  "b2687172956319218655e",
       
 18550 +                                  "4bdbd2765933e2b1d70563",
       
 18551 +                                  "1ef9edb1f958cdf81fb9d8",
       
 18552 +                                  "6e8b2732511303a48ef731",
       
 18553 +                                  "3608208e4497b40a62b3a0",
       
 18554 +                                  "2c4bac0a0cf06ff50ff71e",
       
 18555 +                                  "784bdef1566f244d4ff44d",
       
 18556 +                                  "5cd3a1cc8bf78e4c7e3747",
       
 18557 +                                  "418b73330a3b4d1a80474f",
       
 18558 +                                  "5f87453deb48ed6c9a1afa",
       
 18559 +                                  "3d9131aa5802e27a83eb61",
       
 18560 +                                  "61539cf7b388689e7a260a",
       
 18561 +                                  "260213253056e29f0ac6e3",
       
 18562 +                                  "2768a7a783d9baa4e5cce3",
       
 18563 +                                  "7e61e3317d07a1009894dd",
       
 18564 +                                  "6927c4b12865ac8f053dcb",
       
 18565 +                                  "352d204330140b3786230b",
       
 18566 +                                  "67ae2ace35fde529154a8f",
       
 18567 +                                  "7e37a126be9507ba4c717f",
       
 18568 +                                  "2306ed04565a9cf9fa84c2",
       
 18569 +                                  "6b380bf5d71fe523ad1e4d",
       
 18570 +                                  "6aece787aae5251b57b3ae",
       
 18571 +                                  "7f2209419e3163fbb4cd8a",
       
 18572 +                                  "376c7a8d0fa0abf4c0bb7c",
       
 18573 +                                  "39a26bf8336439ba9968b4",
       
 18574 +                                  "620c14b60053b660420c4b",
       
 18575 +                                  "19675db116558d90bb4f6",
       
 18576 +                                  "2c16632a312edfedcc7f72",
       
 18577 +                                  "1945686d70d9df98093dd1",
       
 18578 +                                  "62e4e44df51bf11734aafc",
       
 18579 +                                  "5d3293ca54de6a3aa06b08",
       
 18580 +                                  "610d07557d991d9db3dea7",
       
 18581 +                                  "6b25878a1ec102b9e883f1",
       
 18582 +                                  "5d29345f097e1dc041bc7f",
       
 18583 +                                  "797d4c38129f52836fa5c7",
       
 18584 +                                  "5bb2eece8c95a515d2e2ea",
       
 18585 +                                  "451e904c04882b739d233e",
       
 18586 +                                  "4dac1ce4b87e60431b8a4d",
       
 18587 +                                  "2f8592e02ef759cdd34c72",
       
 18588 +                                  "7c1d3420db42a6ffd37cef",
       
 18589 +                                  "4b0d1ff6297b378945b906",
       
 18590 +                                  "744db8f7e25f69bc47f2cb",
       
 18591 +                                  "7fcd5bd9328b9f06223a1a",
       
 18592 +                                  "37f7d323d5bf332eed1bcd",
       
 18593 +                                  "629e9c894bbbebf06d3299",
       
 18594 +                                  "d427f0f9d14ecf4c54fbd",
       
 18595 +                                  "71e1aa5a9aacb38b66f605",
       
 18596 +                                  "361fe28e640ec02ae49613",
       
 18597 +                                  "551b691726c66f9ec1f9e8",
       
 18598 +                                  "523ee7b96bbc2b0977b4f",
       
 18599 +                                  "52e6bde0fed2ecd82f7bf",
       
 18600 +                                  "3a4a4ac73bb38c0c48aea2",
       
 18601 +                                  "207cf80fa76e8708f88dc9",
       
 18602 +                                  "2bfe7376e8ab62fafbff59",
       
 18603 +                                  "7b8ff43621b7fb13c3edd2",
       
 18604 +                                  "726dd56f61c4c5016201f9",
       
 18605 +                                  "3915c71f3b447b64ce4513",
       
 18606 +                                  "4781781ebc739ed9d4e35",
       
 18607 +                                  "3669984e1ddcb753afb878",
       
 18608 +                                  "6c8071fad8933706efff6c",
       
 18609 +                                  "25330fc3e5df50eee77cd4",
       
 18610 +                                  "316bc661e89aeb9e7e20a6",
       
 18611 +                                  "2a035934ba5fafe2ebaf47",
       
 18612 +                                  "515a0593d1e619118d226b",
       
 18613 +                                  "72716051b13a2c1876c8ef",
       
 18614 +                                  "98079c36403a029b3f0bd",
       
 18615 +                                  "388d8c3c958b6abcbf6aba",
       
 18616 +                                  "3d9a1023138b0e9cbe7d70",
       
 18617 +                                  "7bc0acaa724475da5a8a83",
       
 18618 +                                  "4a266217d4534cc588119",
       
 18619 +                                  "62baea1b89700a3953e872",
       
 18620 +                                  "5fa826fd6352f83c34bb5e",
       
 18621 +                                  "71be60f1312db2fcc7f045",
       
 18622 +                                  "51cf9e84f5414c7907e79a",
       
 18623 +                                  "1fc064c4398ccf6bf7b1de",
       
 18624 +                                  "70594464b46de9acc11f02",
       
 18625 +                                  "4de3353d33028c5f557394",
       
 18626 +                                  "15060a6e69612092d45768",
       
 18627 +                                  "2142584bb5cff6c1e5011e",
       
 18628 +                                  "7eaf34148ada80711a86fe",
       
 18629 +                                  "64f201a4086e40b2a3a19d",
       
 18630 +                                  "2d794034e6ae324ba7041c",
       
 18631 +                                  "56359d56dcb06ea3ab68ec",
       
 18632 +                                  "49d6a78a88159326775c2e",
       
 18633 +                                  "32c2902887e1700cd5dddb",
       
 18634 +                                  "c8806bb60205886d4ff9d",
       
 18635 +                                  "c0ecef4f88f5957d4b1b",
       
 18636 +                                  "b0715d55fe0c1edd9613b",
       
 18637 +                                  "b512df0270e6ffe2d4a9f",
       
 18638 +                                  "563e208513fb23ff9ca7d",
       
 18639 +                                  "54c245a123767ef7f22e33",
       
 18640 +                                  "5e83dc6dedd0679793feca",
       
 18641 +                                  "3c53d6131f8c41d5d7317b",
       
 18642 +                                  "349470b19ee7a8cf922b33",
       
 18643 +                                  "432c0a15a9dc31696b79c7",
       
 18644 +                                  "3de21ce46f7c8be3bab3b9",
       
 18645 +                                  "669f3588d7a4ca7ee3dd1f",
       
 18646 +                                  "2bf32012cc6354c709ad2",
       
 18647 +                                  "2e5ffe59b5dd3843fa4c17",
       
 18648 +                                  "601b382825c1515525a19c",
       
 18649 +                                  "78dfe864170ab14a408743",
       
 18650 +                                  "6ebb0dee9291bd90cd2215",
       
 18651 +                                  "6f52ff1c7f6dba719401b2",
       
 18652 +                                  "d16f53a28b7042d305524",
       
 18653 +                                  "67daf6ba4dc4d74236df77",
       
 18654 +                                  "72118d192add3aa4c1e0b6",
       
 18655 +                                  "7e1ce3bec1e98dd35947ed",
       
 18656 +                                  "2330589e6c22439bef95d1",
       
 18657 +                                  "214d49f3e2681b232cf62e",
       
 18658 +                                  "ceff6274c7b15ae86dcc",
       
 18659 +                                  "ee736adb9b9c1860d483b",
       
 18660 +                                  "550e4c9178e5dead2f815e",
       
 18661 +                                  "651be8b59b15d629ab774a",
       
 18662 +                                  "655b44d3a92231714b14c8",
       
 18663 +                                  "1a88cb781abea4a70cdfa7",
       
 18664 +                                  "7a520385f587099a8da6a1",
       
 18665 +                                  "42a1f9791054781a203d9b",
       
 18666 +                                  "1aadb770481974ec7ba970",
       
 18667 +                                  "1634b76faeb97237505ef4",
       
 18668 +                                  "577a2773ebc9e2412cb050",
       
 18669 +                                  "68075aa010a2a7afcb2078",
       
 18670 +                                  "e5d22d0ba9e3194e2337d",
       
 18671 +                                  "68c1092ddd7cea180b7a8a",
       
 18672 +                                  "1f6a141f6eb54cb95d54af",
       
 18673 +                                  "6db9060a2078f4de4b4e1b",
       
 18674 +                                  "21ac3ebe991cfe1bade37d",
       
 18675 +                                  "45e67b0777cb6facf28d74",
       
 18676 +                                  "398768a52710b109c92dcd",
       
 18677 +                                  "6c65a41601a28b4854db0b",
       
 18678 +                                  "3fa82c77c11ef3ce373a08",
       
 18679 +                                  "2219a8eabaec2cc4da44cf",
       
 18680 +                                  "25b286320c27c0f91c388",
       
 18681 +                                  "c663e7994203d116af45d",
       
 18682 +                                  "373211f704832f37df113f",
       
 18683 +                                  "33f6606f82062475e2caf5",
       
 18684 +                                  "77ae05c9ad4bb1a82ee6f6",
       
 18685 +                                  "72f290cf9ea470dcec1318",
       
 18686 +                                  "20cfa0c6bfbdce5e399a70",
       
 18687 +                                  "384ac895940651e4b3df31",
       
 18688 +                                  "2a6da3e3f6425cc4caf185",
       
 18689 +                                  "3559d5470cc8be88bbee52",
       
 18690 +                                  "731437b69ca76a93992caf",
       
 18691 +                                  "31f0df7953457ce90524a8",
       
 18692 +                                  "7fdefc35775213402acc91",
       
 18693 +                                  "246e8276fd64f7af18402a",
       
 18694 +                                  "1e604eea4a6fb7804d131c",
       
 18695 +                                  "f6074b1e17e08713a2a46",
       
 18696 +                                  "23931a4d64503bc81a5a33",
       
 18697 +                                  "6395a035a6a5e009dcf586",
       
 18698 +                                  "23db937264552bf6dc2858",
       
 18699 +                                  "50e45902fe1a308ec88670",
       
 18700 +                                  "42e82d8613957e0acb2b09",
       
 18701 +                                  "3d50a612150493864e2df9",
       
 18702 +                                  "1f08599df3ce28d2e2a99",
       
 18703 +                                  "172e3a20b269ac416b7186",
       
 18704 +                                  "624f69e6f91d2b9574cb8",
       
 18705 +                                  "33b05c78a18798e4462d45",
       
 18706 +                                  "5d5e844e1fd78c36c3341e",
       
 18707 +                                  "5a1b57c203d09cc8a22696",
       
 18708 +                                  "775bde6bde2d0aa4187fe7",
       
 18709 +                                  "4be11f1cd60954626093b7",
       
 18710 +                                  "571513666bf5e4e0b1c7c0",
       
 18711 +                                  "30e484fb4ce5927a937373",
       
 18712 +                                  "6ead11e0936e4bb4e855e1",
       
 18713 +                                  "14b5583a83133add54d368",
       
 18714 +                                  "361de61b4e6057d1cb2274",
       
 18715 +                                  "24364b397921eedc03333e",
       
 18716 +                                  "3f26224827d27901ba392a",
       
 18717 +                                  "147a0d7fc26817e7251ada",
       
 18718 +                                  "4debfa77d5d5f3fa106f86",
       
 18719 +                                  "1f8b63c5fea99ffd6a5348",
       
 18720 +                                  "59dbf0c177e94a664cfe3b",
       
 18721 +                                  "656e5b10b9da085176e0e4",
       
 18722 +                                  "678fb8bf7f6342c5764339",
       
 18723 +                                  "2cd2d00d4262f35754bb13",
       
 18724 +                                  "67b770c97867478cc69b37",
       
 18725 +                                  "bac1f8bfa0e63045ec3ea",
       
 18726 +                                  "4303859a49916073987344",
       
 18727 +                                  "322164812a5696cb2322b0",
       
 18728 +                                  "50148cebf8644fa7375aa",
       
 18729 +                                  "50b37142bd10ca63ad3866",
       
 18730 +                                  "5a86321f172c81fbf185ef",
       
 18731 +                                  "4972dfe88d7e4fb02ffe72",
       
 18732 +                                  "3aac1aff3b6e14d31a91e7",
       
 18733 +                                  "6d575f1601945a3ca29eb8",
       
 18734 +                                  "6c290f053f3f46327ee8ec",
       
 18735 +                                  "73040349f8459e94069012",
       
 18736 +                                  "2dd44a6d1765874cf1dbb4",
       
 18737 +                                  "52492b4a4856d777ca0682",
       
 18738 +                                  "76d72d56a09f253d257f0e",
       
 18739 +                                  "6a4862d59f8198b4ea0fd5",
       
 18740 +                                  "ee2c219af9300476a7d41",
       
 18741 +                                  "60548a10984139e59f5d8a",
       
 18742 +                                  "423813f9eb92bfadf14d9a",
       
 18743 +                                  "6a3f78db4e25085a772f7a",
       
 18744 +                                  "a3d31a1daca53878fe695",
       
 18745 +                                  "1c24006c67392d350aebe9",
       
 18746 +                                  "5baffc06fe51f5caa49a4c",
       
 18747 +                                  "6f4a829757301eb1143585",
       
 18748 +                                  "202377a9328fcb8f661a5d",
       
 18749 +                                  "6506edb4005521bcb61671",
       
 18750 +                                  "208dfefbc938eb8f166f28",
       
 18751 +                                  "2f8aa359ac5538f4834ed7",
       
 18752 +                                  "6b36296c1bd668243e920e",
       
 18753 +                                  "7856c391e8828b90a94afe",
       
 18754 +                                  "5728f13fbf1367c5292a3a",
       
 18755 +                                  "6db3eec1da4e57eacd7cf4",
       
 18756 +                                  "520f0b6932233966b7bdb1",
       
 18757 +                                  "225461e731f47cbf2cbf5f",
       
 18758 +                                  "15bef1b795296c7e8862d0",
       
 18759 +                                  "217d231f2ea4bf28c97e44",
       
 18760 +                                  "31e4aec6d42e52c762e301",
       
 18761 +                                  "16103ea0d454ef686ebf4d",
       
 18762 +                                  "34470b1eee2f871c42ba71",
       
 18763 +                                  "5d172643cb569d9b2ab357",
       
 18764 +                                  "45838fc0d9bd4e814df398",
       
 18765 +                                  "520d412f22645bfa3f3a33",
       
 18766 +                                  "5dd2532249188dbe3d2539",
       
 18767 +                                  "336699d6c6f15f6ab914e2",
       
 18768 +                                  "48384f03b178aecb456dbb",
       
 18769 +                                  "358734094106c4c77371f8",
       
 18770 +                                  "13705ad9594243161047cf",
       
 18771 +                                  "9cc0a7524feb44aafa989",
       
 18772 +                                  "2f615de4e96f8f9837947f",
       
 18773 +                                  "4f571e68d11ba0c201ec2c",
       
 18774 +                                  "1c7c6456335bb722881302",
       
 18775 +                                  "56f01f51a5be66f649b1d6",
       
 18776 +                                  "4a2416a8cf412f996e9654",
       
 18777 +                                  "5593dc730a3a85d6ce77d2",
       
 18778 +                                  "70628248b6cda7311de5ca",
       
 18779 +                                  "49212e86ec70f1b328e11a",
       
 18780 +                                  "3669075c083d3a0547d7ee",
       
 18781 +                                  "7c64411c354fca180b974e",
       
 18782 +                                  "be2266f15dfa6e02e4a02",
       
 18783 +                                  "69110081782c350722756f",
       
 18784 +                                  "5370ef9f2399e3c803b5a6",
       
 18785 +                                  "4277911fa0e430960db091",
       
 18786 +                                  "46d2651ce40dd1fdd11e69",
       
 18787 +                                  "65838019d10030d2edd34c",
       
 18788 +                                  "79ae8d3a65221805ed59d3",
       
 18789 +                                  "4762e175d924ca1dff7d06",
       
 18790 +                                  "226f7d490aa9d47314570",
       
 18791 +                                  "673a9bc1330de8c0b0abe1",
       
 18792 +                                  "a80defe299bf7c4d81738",
       
 18793 +                                  "1916345f1ad90cf48c6472",
       
 18794 +                                  "13cc5c5fa7afb2b7468106",
       
 18795 +                                  "656f70349417ef562616d7",
       
 18796 +                                  "520db901eb8309582e12a2",
       
 18797 +                                  "4253e27061630b9343ddfd",
       
 18798 +                                  "43012f86bfa02bf0033ee9",
       
 18799 +                                  "51524048af5a6750b1955",
       
 18800 +                                  "37a4477749686070e7e049",
       
 18801 +                                  "39f7a72e1daced6411b1a6",
       
 18802 +                                  "4a98326f880a44e2d6ea5e",
       
 18803 +                                  "574f95a475dce62a3071ca",
       
 18804 +                                  "23c20aae79c2ffaa75a36c",
       
 18805 +                                  "59f67a0c66d5e9744004c6",
       
 18806 +                                  "25ff556cf1afefe2cd2ba9",
       
 18807 +                                  "41be4715ccf6dde8b12086",
       
 18808 +                                  "5e9464fbce6027257d92c6",
       
 18809 +                                  "5b57bc12988f27dd0ed418",
       
 18810 +                                  "1f1c7eef9d0f99e1e209db",
       
 18811 +                                  "1a95aa2ba56c053acf7e56",
       
 18812 +                                  "6f085a8f46a66e79fe4f92",
       
 18813 +                                  "728aa131a37012e184c2b6",
       
 18814 +                                  "21469f9c49fb4d2fb54baa",
       
 18815 +                                  "67d12b5d61741b8623f378",
       
 18816 +                                  "2a1abd32897155b55014be",
       
 18817 +                                  "35ebfb3fd5a71979daee0c",
       
 18818 +                                  "3c994e655edabd5cfbe8b8",
       
 18819 +                                  "b5f14620587f1e8ed5a45",
       
 18820 +                                  "4cb0c7462e90f28fa251d",
       
 18821 +                                  "608a29bc043b54adde90b0",
       
 18822 +                                  "6337453f9c180b8ddb37c4",
       
 18823 +                                  "60e351e7834b181d30a00c",
       
 18824 +                                  "15324434e27844cc4fba51",
       
 18825 +                                  "259839d29faddb791e3548",
       
 18826 +                                  "198d839621f761dde4f853",
       
 18827 +                                  "221728332d3142e3346be",
       
 18828 +                                  "48cd6ee15c4874d342b21f",
       
 18829 +                                  "7964fb4049b23d750b6f0e",
       
 18830 +                                  "365cb247c96e7933341e76",
       
 18831 +                                  "4f7806a65676c896ee7db9",
       
 18832 +                                  "99539a5120bf06fd3edb8",
       
 18833 +                                  "4374a87512bdcb27925ebe",
       
 18834 +                                  "db7255fca12f37c452ffa",
       
 18835 +                                  "4a2cef4e3606d1b9422334",
       
 18836 +                                  "b8385ec48f904d72393ba",
       
 18837 +                                  "71d26320321cdb1dc925e0",
       
 18838 +                                  "1f8889a7c0321f5279b37a",
       
 18839 +                                  "7decc101d84d7378c8efe2",
       
 18840 +                                  "1526a67a2f54717285cebc",
       
 18841 +                                  "4a292844d7aa26520c09b1",
       
 18842 +                                  "5edc4541d1854504d071a",
       
 18843 +                                  "44f34a642236b1e7e4c8fe",
       
 18844 +                                  "87eada956963224c06418",
       
 18845 +                                  "76393b1564fa2cd841480e",
       
 18846 +                                  "2aec8efef6c41604b67a83",
       
 18847 +                                  "2644cda468b716b53c99d1",
       
 18848 +                                  "4d74065738715d35d47743",
       
 18849 +                                  "1118a89d656497538996f2",
       
 18850 +                                  "26102582959271955d45bb",
       
 18851 +                                  "1318f3d7743d8ee4ecfdb2",
       
 18852 +                                  "3128342c1cd21185c739db",
       
 18853 +                                  "7568ac37df7da28c47bab9",
       
 18854 +                                  "be26e79f27c2fffd5718b",
       
 18855 +                                  "2655fc5da8cafdc10e8c6c",
       
 18856 +                                  "6336954989b8a716380f64",
       
 18857 +                                  "2f1dd3930a2948f2187f86",
       
 18858 +                                  "90bd6d6fef2e358a664bf",
       
 18859 +                                  "675948e6670907b03227ed",
       
 18860 +                                  "2025bd13134bf0ca69b0f6",
       
 18861 +                                  "509dfa92ab81408672391b",
       
 18862 +                                  "5c699bfc1a98ced38d7c88",
       
 18863 +                                  "14816e04a6b799d1ce9e1e",
       
 18864 +                                  "61978b574cf8f6d53118d6",
       
 18865 +                                  "4e203019ba4b94cd691d60",
       
 18866 +                                  "7df66ef2eea696dbe6ad95",
       
 18867 +                                  "43bc8bffd5b4fa12491d7c",
       
 18868 +                                  "1207aa2a4ea7c882b5e76f",
       
 18869 +                                  "3e9654e3940c0f541b93cd",
       
 18870 +                                  "4a64cce2fc4633dbb63e09",
       
 18871 +                                  "4385d494a7bdb154810c4d",
       
 18872 +                                  "dbd1bb9693e65c5eeef4a",
       
 18873 +                                  "7d58cee39bf1830f1b3ec0",
       
 18874 +                                  "6cc6a998d40d1bad211cd",
       
 18875 +                                  "3aa6d80b7b4477df65330a",
       
 18876 +                                  "2ae1383e51812f870ebf41",
       
 18877 +                                  "1107ffccdffb2932659325",
       
 18878 +                                  "9cf05f6855d4068390948",
       
 18879 +                                  "36f24af02e5318171bea53",
       
 18880 +                                  "4d0a046c7ec4f54117f367",
       
 18881 +                                  "7bb1913bf745fa526f18a8",
       
 18882 +                                  "2970c6e86dd017c5341ddc",
       
 18883 +                                  "58c411222783451febdf82",
       
 18884 +                                  "657128352843035ba5fee1",
       
 18885 +                                  "13c9d1e81de8cbb64a1797",
       
 18886 +                                  "66e2564796168c2d0a015a",
       
 18887 +                                  "1b9995439565d095eb8a8c",
       
 18888 +                                  "43cebcc2f248fc1fcbd6b4",
       
 18889 +                                  "7e18b1dc04cb3af247aa31",
       
 18890 +                                  "269ad3cfbd18bd255786fd",
       
 18891 +                                  "2f1b9eb8c8ceec3aba8c3f",
       
 18892 +                                  "890072ab6d3eb608d30ea",
       
 18893 +                                  "4e72dcffc8f26eb136b7c7",
       
 18894 +                                  "71db6b9125d5ab5b3e7493",
       
 18895 +                                  "57bcb68e1f52791794bf4b",
       
 18896 +                                  "7489fd5407cd56abfcfc49",
       
 18897 +                                  "45d43d697cb8503c85839a",
       
 18898 +                                  "2021e0329a909a39851fe3",
       
 18899 +                                  "6eceb600a9b81fd3aa7175",
       
 18900 +                                  "4d63e68650d056d4e2cca2",
       
 18901 +                                  "21789b3595bc366315af2",
       
 18902 +                                  "781973046ae51aa956a060",
       
 18903 +                                  "2353c3f920ce7af530f96d",
       
 18904 +                                  "4a8154e2948099e7b7c4c5",
       
 18905 +                                  "319945f43efa75c6d6fbd6",
       
 18906 +                                  "1a0cc5d78d1da3759fd0fb",
       
 18907 +                                  "75a29d53450973ae07e5b6",
       
 18908 +                                  "670c6449f82194e5367c1d",
       
 18909 +                                  "6978fb86dcb4ccc82a3738",
       
 18910 +                                  "f6c4daf384fb3d39aa985",
       
 18911 +                                  "47df2e03e1548a16e223be",
       
 18912 +                                  "36224c16a9190272a21e14",
       
 18913 +                                  "abbcfb2e4c3da6b090978",
       
 18914 +                                  "1fb7c568bdffd12b767330",
       
 18915 +                                  "77f657453333dfbed3c7e5",
       
 18916 +                                  "68855602ae559673b8a2dc",
       
 18917 +                                  "57b79cb347145bcbe43bcf",
       
 18918 +                                  "542f3c6130072ffd145c0a",
       
 18919 +                                  "7d43897c9a717ea4ffaf53",
       
 18920 +                                  "2928531ef291fb90d243e3",
       
 18921 +                                  "6308b8f5574126f70ec3cf",
       
 18922 +                                  "3b77afb6ec85d92608bbc9",
       
 18923 +                                  "39bc9fe63b4ca1891dbe7f",
       
 18924 +                                  "14b126e3c0b0f4dae2ddfb",
       
 18925 +                                  "634af4f8ff5eecb70f9b3b",
       
 18926 +                                  "5939fc19fad9c14c8917a9",
       
 18927 +                                  "cb351e8f1a28278af3af8",
       
 18928 +                                  "41ff1be99bebe99b10f273",
       
 18929 +                                  "32c9397c9adff65d943965",
       
 18930 +                                  "1e1de465daadd9547d63fe",
       
 18931 +                                  "1924697a3681efc60e8e70",
       
 18932 +                                  "3e14120ed24ebae50e64ef",
       
 18933 +                                  "29bfa87365d098b3fe8377",
       
 18934 +                                  "48ad93093caf03d61b0aa8",
       
 18935 +                                  "116c396589d81e0684d5a0",
       
 18936 +                                  "4550a8c9126d63e137546e",
       
 18937 +                                  "3d325eede75d0a573042e2",
       
 18938 +                                  "715fb02624875de3ce495c",
       
 18939 +                                  "2c1cf6d476ed98aad97b90",
       
 18940 +                                  "41ec16a5c725c7d32d3a8d",
       
 18941 +                                  "2a6ced30aaeaaa3957eaf",
       
 18942 +                                  "284cbec8937114a1728cdb",
       
 18943 +                                  "7fd049d0f5d16bca84fbf0",
       
 18944 +                                  "1ece2489d9c16fd0d7c093",
       
 18945 +                                  "7a1817cf8f21c4f863437a",
       
 18946 +                                  "2b89a454954d4c6b2e2120",
       
 18947 +                                  "44b51755bfc5410d6cfad6",
       
 18948 +                                  "31e4383d0d65d0adfc3084",
       
 18949 +                                  "2f44e6e7eed452c1b02ade",
       
 18950 +                                  "46861d4c2ab5de181f3e32",
       
 18951 +                                  "30c01b8abdb9d98a7941dd",
       
 18952 +                                  "593ba411e3481cff090a6e",
       
 18953 +                                  "5f7998cdc984bda089a530",
       
 18954 +                                  "38863908f348e0ff24d2ea",
       
 18955 +                                  "7db23dcfd5b48847b2da44",
       
 18956 +                                  "70cc62d0a35cccb85972ee",
       
 18957 +                                  "51e871e33b066886db1e57",
       
 18958 +                                  "7ab8d7968452d732fc3362",
       
 18959 +                                  "6cbec7ee27571943d99309",
       
 18960 +                                  "65ccc844f43d7740c3bb83",
       
 18961 +                                  "2d92e146c92e5c2141114e",
       
 18962 +                                  "78208a8be2c33504df2573",
       
 18963 +                                  "1b892a6bc6d106036dc210",
       
 18964 +                                  "1ba30d22d8ca0e3412c0e7",
       
 18965 +                                  "7f5d5abee4ea627ca346c",
       
 18966 +                                  "29d27ddd5f46b0a514ec85",
       
 18967 +                                  "717a62d953937ab8d63ef4",
       
 18968 +                                  "46f7147d837df6469c39be",
       
 18969 +                                  "1e9e640158c2d5ef405818",
       
 18970 +                                  "7f30d40bb0193bcc3bff38",
       
 18971 +                                  "7e84a589b79843d0f09d89",
       
 18972 +                                  "1984882a708094eb26643e",
       
 18973 +                                  "6b386c8a9795cf0b45e160",
       
 18974 +                                  "282bde17894173789173e7",
       
 18975 +                                  "75b60c74c3f4835e0ba3f1",
       
 18976 +                                  "66673b06f4474ab9ac84e3",
       
 18977 +                                  "768b4e15703c2b99a95ee7",
       
 18978 +                                  "3c7d066200b6ae5892048a",
       
 18979 +                                  "194fc13ec819c9e2289cea",
       
 18980 +                                  "3c066553be4fa2a741db4d",
       
 18981 +                                  "31018337a926110b0a5b91",
       
 18982 +                                  "7ca0b74cff2de67657aaa1",
       
 18983 +                                  "610a799f5f9443dd8f333",
       
 18984 +                                  "29dc0e371f2a3ea6cf4d60",
       
 18985 +                                  "bf1c05f166718be1c6836",
       
 18986 +                                  "309eb70bbb47b20185134f",
       
 18987 +                                  "4b31d20ed3a1f68f117d30",
       
 18988 +                                  "201a5f031183f9e3136174",
       
 18989 +                                  "6d82429df8c04f3e8cbdea",
       
 18990 +                                  "4e4d1094ae9ce9f42b1d71",
       
 18991 +                                  "65e071aa89e8e9caa17f",
       
 18992 +                                  "7c3ad9d6ed54817d082b65",
       
 18993 +                                  "352a1b67a355f38121c462",
       
 18994 +                                  "2d980e097ecb2ab91b9b92",
       
 18995 +                                  "96afde4db924db62eec7",
       
 18996 +                                  "6e20ab59697e8bf608ee9d",
       
 18997 +                                  "2ab6145578df975521753c",
       
 18998 +                                  "5c91f707bee21c71c33c34",
       
 18999 +                                  "676d8d92a92b0706da21e1",
       
 19000 +                                  "3a82f64175d5b3caec9c53",
       
 19001 +                                  "2ccc62a5fe0c2d164b78ac",
       
 19002 +                                  "7f53a40fb6d59c55fc0a6a",
       
 19003 +                                  "eb12a34ffd8e97426aebf",
       
 19004 +                                  "330554538efb3452d928d9",
       
 19005 +                                  "37902c15fea70cc2588984",
       
 19006 +                                  "1e3f1f00ee5c87d8bcc6a5",
       
 19007 +                                  "21e6a33067365b1e718020",
       
 19008 +                                  "4113025c4b26d50d501a53",
       
 19009 +                                  "1d50b663f8750fc777a8a9",
       
 19010 +                                  "47267802b4baf11a616d7b",
       
 19011 +                                  "206a9c38358f291b01e407",
       
 19012 +                                  "7529b300b4b89c580a5f62",
       
 19013 +                                  "59aab11c164124e5cdf604",
       
 19014 +                                  "3d3a2d2ef7d22dc8adb10e",
       
 19015 +                                  "1fa48382ab305e0404adc",
       
 19016 +                                  "6e72d626e97997cb842159",
       
 19017 +                                  "53a902325a9087232d64a1",
       
 19018 +                                  "726d30610282ed39d8f203",
       
 19019 +                                  "6e48887c0bee3ba8386f63",
       
 19020 +                                  "532cc2e0afe1d979c42a70",
       
 19021 +                                  "614224558d52e5d4eb23b8",
       
 19022 +                                  "c0bc8c55f3b95e521ebf8",
       
 19023 +                                  "1b4e22a54398ec5712c2f5",
       
 19024 +                                  "45109475272b0ee96581b7",
       
 19025 +                                  "6c065cf636d6bc65762095",
       
 19026 +                                  "7bfe5c12baaa86c60d8117",
       
 19027 +                                  "62e55ea318373ea102e458",
       
 19028 +                                  "46789b05c1e88afd58b2c6",
       
 19029 +                                  "37120883f03d674fbee3d7",
       
 19030 +                                  "63a482d47b34384d6c0abf",
       
 19031 +                                  "78778c448d7d69eeff19c7",
       
 19032 +                                  "69527863032c1ba7d7e238",
       
 19033 +                                  "574f9294e066c8fdb761b7",
       
 19034 +                                  "3adbdefe2bc4d894d3eea5",
       
 19035 +                                  "7c2fed1746d715eb95529",
       
 19036 +                                  "2501ea3eadb12569e01e7e",
       
 19037 +                                  "3d49c943bed92220933501",
       
 19038 +                                  "2327087d544749f348c909",
       
 19039 +                                  "63a2efcfe030b5eb3fd526",
       
 19040 +                                  "2d2c322dac49b5fc4277a6",
       
 19041 +                                  "4ebe9580f66ecfa62bdae4",
       
 19042 +                                  "39450177cdd3980c4efafa",
       
 19043 +                                  "3349dac2077bfdf6a12d86",
       
 19044 +                                  "56b71258283af76e7bcfab",
       
 19045 +                                  "2bcddd9fb0f98505c98aa9",
       
 19046 +                                  "45166035762ea541feeea1",
       
 19047 +                                  "6bf558bed09b770ac7b7db",
       
 19048 +                                  "69498de156a0aa10a4e2dc",
       
 19049 +                                  "6cc9f90d012be002904668",
       
 19050 +                                  "32f8a36cc1b46c25cdcc28",
       
 19051 +                                  "312ecee1519b0617d31186",
       
 19052 +                                  "706df4fd50e1c42994aed3",
       
 19053 +                                  "4edae7063e31e196fbffc4",
       
 19054 +                                  "7bb42f21df6b474c926cab",
       
 19055 +                                  "7c2bf4a989b0889ab6c2ee",
       
 19056 +                                  "14a25dabe8f8f9bd2745b5",
       
 19057 +                                  "14266a10ce4302dd32d262",
       
 19058 +                                  "411254ef95bca10cdc61b9",
       
 19059 +                                  "2cb3e5c4dae6b173319195",
       
 19060 +                                  "575c81fbd5408f583cec84",
       
 19061 +                                  "904098cdbfd4389279e30",
       
 19062 +                                  "4499b6e3311b7fe5b9c98e",
       
 19063 +                                  "210804240b673797c1da0b",
       
 19064 +                                  "4cfa062853643ca21aa8e4",
       
 19065 +                                  "155503fef8a8a42650f8de",
       
 19066 +                                  "214de8b9e305b92a9ebc6a",
       
 19067 +                                  "aebf119c49f1f5d4fa77",
       
 19068 +                                  "4019e2ed5f4f686e75a334",
       
 19069 +                                  "26e8b6fae1b81184be307f",
       
 19070 +                                  "4cbbf282cb8d5b492509da",
       
 19071 +                                  "32124e45d595b542218cca",
       
 19072 +                                  "4fb7ac8e103e64af4c501b",
       
 19073 +                                  "4a99080981fd90fd8f202c",
       
 19074 +                                  "5fe19870cf156902f09ea2",
       
 19075 +                                  "35da7f1fc27e6edf7e2774",
       
 19076 +                                  "171772c43b172c6f59b4ee",
       
 19077 +                                  "396792f2585d3e823623df",
       
 19078 +                                  "68b020f430372f0b20817e",
       
 19079 +                                  "58a41d74e16c1b1fb6cbf",
       
 19080 +                                  "6ef7e0b470470f565c088f",
       
 19081 +                                  "4dba440f7f398ce0198b25",
       
 19082 +                                  "2840ecdbeaf847ed4e56fd",
       
 19083 +                                  "2f36ea2bf51461b1407878",
       
 19084 +                                  "2cf0b3c6e55d4f6c794d8f",
       
 19085 +                                  "31fcd9e9b87aae6bf32f83",
       
 19086 +                                  "47626057be8af9d92cef74",
       
 19087 +                                  "2113e1a93f5d2f1cba0377",
       
 19088 +                                  "4176799b704bfacae7d897",
       
 19089 +                                  "524919eb6636c6c6c14a82",
       
 19090 +                                  "64d1d7c43b00bfc99b8bb2",
       
 19091 +                                  "76a279212b584d95ed2cd0",
       
 19092 +                                  "37e704706a7967491e3628",
       
 19093 +                                  "5e1c654c63269bdc77fee1",
       
 19094 +                                  "58b898760417610a09ff41",
       
 19095 +                                  "64981a92737099a91d3794",
       
 19096 +                                  "571cc10547604b09ba9b69",
       
 19097 +                                  "6714be0beb22d71708c5e6",
       
 19098 +                                  "359b739ee10f4c4f24e721",
       
 19099 +                                  "454b67d8b7470679eeda79",
       
 19100 +                                  "615326e14c6c74c717def2",
       
 19101 +                                  "2dd86ec9cb242b4e68016c",
       
 19102 +                                  "62a4fc7a9af2d27e92b08f",
       
 19103 +                                  "cae1cd222ac38b9a89a19",
       
 19104 +                                  "5fd2fb0300581c5f59fa7c",
       
 19105 +                                  "1488492f946cb788d721d6",
       
 19106 +                                  "509ca3fe7eae200044712a",
       
 19107 +                                  "27c4576460764aabe86ca",
       
 19108 +                                  "72e3a111047449df428c07",
       
 19109 +                                  "4dd2e16c6f9989907671be",
       
 19110 +                                  "415d623b63f929b3ef879f",
       
 19111 +                                  "9b13c11e290284a86caf",
       
 19112 +                                  "78b61404bffa36b135773d",
       
 19113 +                                  "10c2f27dd2e5d8f77a071d",
       
 19114 +                                  "684e96f56360b04576ab1f",
       
 19115 +                                  "6bd55e81cea4df6934b8f5",
       
 19116 +                                  "288723d0eb9a25150c0772",
       
 19117 +                                  "4eca5fbd35a4778cd18f80",
       
 19118 +                                  "590c069f4d458da38448fb",
       
 19119 +                                  "6a91ca9f24a59bd3f77cce",
       
 19120 +                                  "4520d49550bf0a2328020f",
       
 19121 +                                  "31340daa6bee66dc702e47",
       
 19122 +                                  "21cbfd5db5cf856bb6980a",
       
 19123 +                                  "2ac5b705311ca0e8e6bcda",
       
 19124 +                                  "28390f3626b1fdadbcbfd8",
       
 19125 +                                  "3b79806e60c6443e5b75ae",
       
 19126 +                                  "4e1dab19fafdbf4d11123",
       
 19127 +                                  "4bba04cb6f7dfe33e4bd",
       
 19128 +                                  "25b65fbcf4deba1535165c",
       
 19129 +                                  "5d2602e9c7bafe79929bee",
       
 19130 +                                  "1f5e885344b51456b2195b",
       
 19131 +                                  "5c585a64ca68d89750e9da",
       
 19132 +                                  "715687651f6925a41a3bf1",
       
 19133 +                                  "47be6483decbcd32c50b44",
       
 19134 +                                  "3fdb397b831af56c0902f1",
       
 19135 +                                  "60ea199093a4e9f80613b6",
       
 19136 +                                  "59048c7bc400c1b2f055f1",
       
 19137 +                                  "5ed2c798bc4d3df9693b4a",
       
 19138 +                                  "26c8838f41263334d39302",
       
 19139 +                                  "257f0dc17de9e402db5577",
       
 19140 +                                  "5eacde9e13242553f24977",
       
 19141 +                                  "232706fb395f1e37b2683d",
       
 19142 +                                  "5527388c03206dff6a464b",
       
 19143 +                                  "6207f87b59fc321d1fa8c5",
       
 19144 +                                  "3eed8387e5a22f84995caa",
       
 19145 +                                  "1ead4bf29c5aa1e11118b1",
       
 19146 +                                  "4e9e415c8033fbf3989b6d",
       
 19147 +                                  "6ed402123cbfe00df8030b",
       
 19148 +                                  "15c5021e3387b5104eda39",
       
 19149 +                                  "385c720d2080ae9544a074",
       
 19150 +                                  "12502410f917e813c566e4",
       
 19151 +                                  "dfa61531c98e389318ffc",
       
 19152 +                                  "75df623177a9cc914a680f",
       
 19153 +                                  "16a2f9f4e53133020d693f",
       
 19154 +                                  "68bba5659f4f20356a0cad",
       
 19155 +                                  "5b60aca7fe85259aa048ba",
       
 19156 +                                  "748cb85b7df9ca5a82d4a0",
       
 19157 +                                  "5448bba652328fd63e3ca2",
       
 19158 +                                  "497b40c11c5d479cab5f20",
       
 19159 +                                  "1ff2197a0e5b3d0b65c928",
       
 19160 +                                  "175182c7cd2ce431b0150e",
       
 19161 +                                  "58a47971604afebfc2dfe",
       
 19162 +                                  "7feefa2c38e3a6212b4cc2",
       
 19163 +                                  "1dcb001f06c75da3270a59",
       
 19164 +                                  "3e7a71b985de5c6c7a9f57",
       
 19165 +                                  "ccd4be560162041ae08e2",
       
 19166 +                                  "4ec109ed0d029a0c6bd1c3",
       
 19167 +                                  "363177aa4ad204478f4d2e",
       
 19168 +                                  "7b94e69ecfb1ba4bdf42b9",
       
 19169 +                                  "68bf1a165a85b17f192a39",
       
 19170 +                                  "fca586b3bb595a8d4101",
       
 19171 +                                  "7914f6f164e20860badddb",
       
 19172 +                                  "d959366c9d2eed9c988e",
       
 19173 +                                  "6b1b87bf69d8ba16154459",
       
 19174 +                                  "5798f45a6d32a5d9e220c4",
       
 19175 +                                  "23ff36317f41cdc69b5f8c",
       
 19176 +                                  "3337445fe49877ddd94c8c",
       
 19177 +                                  "27e0d5b6d5b01b974468e6",
       
 19178 +                                  "155305c9e80b8231f3fea7",
       
 19179 +                                  "46777bd089a8dc8c44ba66",
       
 19180 +                                  "4eb92d6051c08bfec28d32",
       
 19181 +                                  "58de9434dcaeb21007cf50",
       
 19182 +                                  "4945531dd0d285dff322e3",
       
 19183 +                                  "5f4ee2c7a7d447e781b997",
       
 19184 +                                  "255da48e767df6db73178f",
       
 19185 +                                  "40f14f4642441c80c723a2",
       
 19186 +                                  "23b23c226ec7148e9ecfd4",
       
 19187 +                                  "2fc4119b8d9484cd86a0bd",
       
 19188 +                                  "e8a31983f38b3bc04d83f",
       
 19189 +                                  "403c97fd7a8e612b101803",
       
 19190 +                                  "360136af955e5fa1edc1",
       
 19191 +                                  "6dd1e30b456df046e42f20",
       
 19192 +                                  "2a8fc7a338bd0e95e61238",
       
 19193 +                                  "5574ce6446f5f9b2cb3ade",
       
 19194 +                                  "68437c168764f9b52e36f",
       
 19195 +                                  "6db55a7581d577d97e45ef",
       
 19196 +                                  "2117da386a0ba848e04619",
       
 19197 +                                  "38a3fd25a6d9f4f7c85efc",
       
 19198 +                                  "20bd84ec27cae248ea38a3",
       
 19199 +                                  "2359b0102f9a1f774278d",
       
 19200 +                                  "7f779a7314dbb8bea5c652",
       
 19201 +                                  "a15cce75efaba6c1b571b",
       
 19202 +                                  "5e4eaaa44cce4760757194",
       
 19203 +                                  "1aa73126a375b6cf5e8b5",
       
 19204 +                                  "e0fd267f226bcb77b4105",
       
 19205 +                                  "5c1c9591ed7cecac5be504",
       
 19206 +                                  "6f8c0ef46d2275dfe7e84f",
       
 19207 +                                  "75f53c77a2d34dd51c6882",
       
 19208 +                                  "553e86c66c2fba13b95f56",
       
 19209 +                                  "31cc33f2d92bb3dc73372f",
       
 19210 +                                  "2bcf3f6e0be988750bc0c3",
       
 19211 +                                  "2a0c42a5cba7fe55a006e5",
       
 19212 +                                  "67427f6921fbdb98c3e375",
       
 19213 +                                  "62019722b2962f2ad1787f",
       
 19214 +                                  "75964f1abb3f7cc93e9f96",
       
 19215 +                                  "3faddb5ddd2bdc683de72f",
       
 19216 +                                  "235bf7672a2cda1ab01fb3",
       
 19217 +                                  "c16242d78c3d8fbfddea4",
       
 19218 +                                  "29105da153f2a098ad094b",
       
 19219 +                                  "39f0a0674e65b2cad4a706",
       
 19220 +                                  "57a6c26c5e5dea61f133ee",
       
 19221 +                                  "6151a60a864edd0e7c7b30",
       
 19222 +                                  "d65fa4e9fad0f9180af7",
       
 19223 +                                  "553adfba4c4a6d20491557",
       
 19224 +                                  "1ffc37c5751a51bd676a97",
       
 19225 +                                  "450dcdc45566039112cb21",
       
 19226 +                                  "74c5b771dcd8c4719355d3",
       
 19227 +                                  "72216a00ebfc9de1e963c8",
       
 19228 +                                  "7746c161815ab2091d9e21",
       
 19229 +                                  "47ddc74fced651c57b4d1f",
       
 19230 +                                  "417a5a771b0fe4694065d",
       
 19231 +                                  "4bd73bb75df0b9c8f31e93",
       
 19232 +                                  "3937d6181e67f43d9bec08",
       
 19233 +                                  "5fa8c4e879ae9ef5c6f178",
       
 19234 +                                  "693e564c43456862d84db1",
       
 19235 +                                  "394398fcb25e82a48b8d32",
       
 19236 +                                  "754181ae9689816d4fae85",
       
 19237 +                                  "6f5834f39b940405114e26",
       
 19238 +                                  "41d82e9988854950bdb48c",
       
 19239 +                                  "29f43cc681e11325bf172b",
       
 19240 +                                  "6ac2b95852f2b3848657c4",
       
 19241 +                                  "49da4e6814895f7566132",
       
 19242 +                                  "7a75465db2452d11dbf6bf",
       
 19243 +                                  "14b9cf8ea7c2a2aef663e9",
       
 19244 +                                  "7a7267a5eeee00421b1bd7",
       
 19245 +                                  "8d7ac16a6c7fb5dcaf362",
       
 19246 +                                  "4a9951c3005ac4b7d775a5",
       
 19247 +                                  "4dac5ec68e30db33d790b3",
       
 19248 +                                  "7e9e8be590540d41cb48b7",
       
 19249 +                                  "db6d45038525122246c3a",
       
 19250 +                                  "32e84128c0dfcdebdcfc5e",
       
 19251 +                                  "3c52f4c6c583d5b2a18105",
       
 19252 +                                  "7a42533b0f16560c421482",
       
 19253 +                                  "403ccf27d3ff3c3686d654",
       
 19254 +                                  "5d780dd5bc1f62ed520130",
       
 19255 +                                  "6ecdfc4db1fa1b0104403a",
       
 19256 +                                  "4796fc52e00fbc5d65fc02",
       
 19257 +                                  "1103bc87eb4e4e572c882c",
       
 19258 +                                  "1f2e34fd7020d08b01b7f2",
       
 19259 +                                  "23f737b6f1527cfce0303e",
       
 19260 +                                  "292e4d75da1a76fa4eb730",
       
 19261 +                                  "1b8c58018b9ec962054ab0",
       
 19262 +                                  "3cdbf096f176a11d399e68",
       
 19263 +                                  "5e81e2ee54fa1c8e9216bf",
       
 19264 +                                  "6ea50d7820cf1c46cfdea8",
       
 19265 +                                  "42fe3f1413aec51428fb64",
       
 19266 +                                  "449f89bc8e75ebc93c06c2",
       
 19267 +                                  "46dbb8e8c99f2d8cf603ab",
       
 19268 +                                  "3542a00727cde7902f64",
       
 19269 +                                  "8c1b60a22d754654b3b0e",
       
 19270 +                                  "4cc1b8f60c7b3b604dd7f3",
       
 19271 +                                  "65a59676f2a0f7f5358513",
       
 19272 +                                  "7ebd8ffb86035ffa249a5c",
       
 19273 +                                  "6937a623eafb54374944c3",
       
 19274 +                                  "771e23d6155cbd6574be92",
       
 19275 +                                  "42d3b2e606813eb48865e1",
       
 19276 +                                  "747f5812283a8ba1a43af4",
       
 19277 +                                  "1533a8f5ee81c2d4352c6",
       
 19278 +                                  "25b4f424465c145a893505",
       
 19279 +                                  "54449f7dccf77fd8f14fff",
       
 19280 +                                  "1f216750a4d1686b3b2227",
       
 19281 +                                  "3c0ef922648f93834d2bac",
       
 19282 +                                  "5b8558cbc60eeb5d4d1e0c",
       
 19283 +                                  "3fbae766d352bf62d71ec9",
       
 19284 +                                  "37ca6d3b30cb2687e44f7a",
       
 19285 +                                  "4fc1aa30a26bf05e1cf79e",
       
 19286 +                                  "5830e5e1c9294904118c10",
       
 19287 +                                  "ac1c0028dc3aa005da816",
       
 19288 +                                  "2d8207ca3331c2f27a3943",
       
 19289 +                                  "2fe38c447768175651bb27",
       
 19290 +                                  "538b76dc0991647c99d6ab",
       
 19291 +                                  "5ad56a9a03d1277384501c",
       
 19292 +                                  "2c11fd859f539479044b3d",
       
 19293 +                                  "6e1c49a1adf3346b270d76",
       
 19294 +                                  "627d01094a2553e7bdde46",
       
 19295 +                                  "4b0e392a6b94b0716bcb0f",
       
 19296 +                                  "73c9485e5e5379f878695",
       
 19297 +                                  "43da9e4b9fc98c3225df02",
       
 19298 +                                  "4b81add44caab6287f5254",
       
 19299 +                                  "73a1489a18b0815a03faf8",
       
 19300 +                                  "146e2b3f7404eaa2825f64",
       
 19301 +                                  "62cba5cd6ece1fcc005653",
       
 19302 +                                  "9a91d432ec896438ac971",
       
 19303 +                                  "6750d083991451ddf24ddc",
       
 19304 +                                  "23f47a79fc10179e2f1aad",
       
 19305 +                                  "456b75b7118ddbd9c05113",
       
 19306 +                                  "214ab6242649bf5f0673b5",
       
 19307 +                                  "46c6a4606b83331dd733e4",
       
 19308 +                                  "567c07ffdf5609acdc57cd",
       
 19309 +                                  "26639427b4cd468207f354",
       
 19310 +                                  "36b57535eb2f884ec435f1",
       
 19311 +                                  "2aeb5606838c910769daa9",
       
 19312 +                                  "5d5d0b6bedf48b96c5eb79",
       
 19313 +                                  "144036e909f39a00a79653",
       
 19314 +                                  "7677202d8f05f9287a6047",
       
 19315 +                                  "1a1cfff05adf1a427c023e",
       
 19316 +                                  "7286bedeaa0c2687819d8a",
       
 19317 +                                  "2bf095a2fbcdb3391aec69",
       
 19318 +                                  "2e6c1f41a9866f4d867e01",
       
 19319 +                                  "2ad8da8cd83b1521d7659a",
       
 19320 +                                  "159314ac561f7431a71dd2",
       
 19321 +                                  "443f4b4ed3b1f2c8fe8ce8",
       
 19322 +                                  "1bb928a5ce5b6a93e4a6be",
       
 19323 +                                  "ff765fa35889a47189d5c",
       
 19324 +                                  "7faf5fb28aa48ff83cc07",
       
 19325 +                                  "330bf157841f4554c8f5de",
       
 19326 +                                  "3de0a5abf20a4845d76439",
       
 19327 +                                  "5d53571a7cc3688e6944b0",
       
 19328 +                                  "7a6a150f8921047e15edcb",
       
 19329 +                                  "4dbcbf0e0833361017aadd",
       
 19330 +                                  "36f20d7e24da8778ce35f5",
       
 19331 +                                  "3248d851d401112b750bc",
       
 19332 +                                  "77024358b3e776b2c5e1af",
       
 19333 +                                  "599102d1f2500d61d762c9",
       
 19334 +                                  "52c455dad0b267d43552f0",
       
 19335 +                                  "59db917020bf7253782d5c",
       
 19336 +                                  "3251a62ebf3abdb7c9ed58",
       
 19337 +                                  "1c89d8520ef104ebd20ee",
       
 19338 +                                  "fa65751eb4d84785986bf",
       
 19339 +                                  "22f4901fc0a8b24cf62fe4",
       
 19340 +                                  "3baf4fa4e9f273acdf732c",
       
 19341 +                                  "29d711357943b0afaa5b59",
       
 19342 +                                  "26293d249066a3014c3338",
       
 19343 +                                  "4d3db82b9d6efaedc42576",
       
 19344 +                                  "561331256e1d21664a1287",
       
 19345 +                                  "796842dd6bfad2f98912a6",
       
 19346 +                                  "4a27b941aa4c6ad1e07548",
       
 19347 +                                  "47b94fbc156b869e9d16b9",
       
 19348 +                                  "39f2517276288f74c45e3a",
       
 19349 +                                  "11326e189db8b15b0744ff",
       
 19350 +                                  "7c793c0d415e26d57ec92",
       
 19351 +                                  "22c922d5b0fc736e5f1adc",
       
 19352 +                                  "5a9897a2da0299756dfdb3",
       
 19353 +                                  "37b012fbed4994b5319766",
       
 19354 +                                  "7ee167869f16d0f3096184",
       
 19355 +                                  "7b7ba8150a404335a3e978",
       
 19356 +                                  "2176005ea62a7fae1a0ec5",
       
 19357 +                                  "7f5271355a686a4df7e516",
       
 19358 +                                  "33294a38a5c8a431b3624c",
       
 19359 +                                  "68570d0c5fc94ab3c18486",
       
 19360 +                                  "3a928b86dc180342e1f053",
       
 19361 +                                  "474d5e705efa51e5e97d39",
       
 19362 +                                  "4948e72d6c06974bcf7212",
       
 19363 +                                  "12ea1cc2026e4f5211a159",
       
 19364 +                                  "15b86ea9fb5f9d46bb9d95",
       
 19365 +                                  "1c0d48f6283945e321fdac",
       
 19366 +                                  "c25f982adccb58e81ce02",
       
 19367 +                                  "173ee21e60a88ae566e166",
       
 19368 +                                  "64af53c3c0ad963e3055c1",
       
 19369 +                                  "2e0a934adfe422dd136191",
       
 19370 +                                  "5ba00e958e1473bae28031",
       
 19371 +                                  "230119c3b2a6b1bafca00",
       
 19372 +                                  "1fb4d17ac6ee317ce5a547",
       
 19373 +                                  "2449f6a2ba5fdac5a9c1d4",
       
 19374 +                                  "6b488f646fce9835d43f44",
       
 19375 +                                  "11978ed9a01677cec42ee0",
       
 19376 +                                  "3ac9b63dfc3067c1c4627d",
       
 19377 +                                  "7fa7e63240bd502dd4b06b",
       
 19378 +                                  "4bafb874450e24655961f3",
       
 19379 +                                  "4a5a912df871eba16ca2bf",
       
 19380 +                                  "6a1b97013fc782623a1d18",
       
 19381 +                                  "60f671cf9f662680d04313",
       
 19382 +                                  "6f7417b6bfc27461fd2524",
       
 19383 +                                  "3cd40ccabd157073f9e356",
       
 19384 +                                  "60188d16e528a5d2e06d3d",
       
 19385 +                                  "55509fd3a52bd88fe29e11",
       
 19386 +                                  "193c88995f60dbabf1ee79",
       
 19387 +                                  "36e5208ae458480078d5d",
       
 19388 +                                  "27869ae6bfa80052e928d4",
       
 19389 +                                  "14e76412c1e117fa60f762",
       
 19390 +                                  "1a91f5500bd170effa0820",
       
 19391 +                                  "2f27f9f5b37e53f26a3367",
       
 19392 +                                  "7c4ebd51c09994a5c2702b",
       
 19393 +                                  "7eede9c7d2fd05759ff0d5",
       
 19394 +                                  "1bf7de225f0abb4eae1da2",
       
 19395 +                                  "1f527bd93add787e619f2f",
       
 19396 +                                  "2f4da63191088795366c81",
       
 19397 +                                  "1e86f8d9f30e1c9ee2f741",
       
 19398 +                                  "5fdf7c6cf80f5f4d619b9c",
       
 19399 +                                  "1365575dcf06e2b1987b3f",
       
 19400 +                                  "3860f5646a470f19d720f1",
       
 19401 +                                  "b17adb15bd895ea825438",
       
 19402 +                                  "67cd089f73cfc8807dd840",
       
 19403 +                                  "7b97dd845f9509d060f296",
       
 19404 +                                  "3951fc47c9cf417968c09a",
       
 19405 +                                  "63bd657552fcd47a1fea3b",
       
 19406 +                                  "7b59158d38abcc0653e41",
       
 19407 +                                  "7adedaa3d8ff64ef5910ed",
       
 19408 +                                  "121daf29269045f5bdd20b",
       
 19409 +                                  "65c75439faa2303912b32e",
       
 19410 +                                  "3a603b28f5e57fbfd764b9",
       
 19411 +                                  "2df92a33b308b4efdcaee3",
       
 19412 +                                  "69defadcac1e44c7a1c0bd",
       
 19413 +                                  "17961b8be9d0332a213177",
       
 19414 +                                  "59a5901c521b74864c8fb2",
       
 19415 +                                  "697c3f9accda8d3543f182",
       
 19416 +                                  "3f0177714af6ab07d870c0",
       
 19417 +                                  "2334ccde40867fa1d0bc15",
       
 19418 +                                  "16fb077509115b4c0ee442",
       
 19419 +                                  "758f193f192584a42ebc31",
       
 19420 +                                  "483ca240f22946b37af3c",
       
 19421 +                                  "311601fec45703953f2b91",
       
 19422 +                                  "67da5d093fc207176dbdb2",
       
 19423 +                                  "1b6a00fcabec41d4b43ba2",
       
 19424 +                                  "ba07dcfdd701f16f45aca",
       
 19425 +                                  "2835e7f4b39073c5a451bb",
       
 19426 +                                  "269c017af27ad44e6b201e",
       
 19427 +                                  "3cf5810d8c38a097a7561f",
       
 19428 +                                  "573747456cbe53c844796c",
       
 19429 +                                  "7772e0b990ccdc614c11c3",
       
 19430 +                                  "404ae85658f9b08174632",
       
 19431 +                                  "5dd52a5a11350a9b7572fc",
       
 19432 +                                  "7ce0b194ba3e31249ab36d",
       
 19433 +                                  "762f2aec62b91b262cc99f",
       
 19434 +                                  "3915c8d33da94da27c1249",
       
 19435 +                                  "6e885e79f7b5fe77214da5",
       
 19436 +                                  "668c0767178119bd41ac3",
       
 19437 +                                  "6806f2889f5316f4c57e07",
       
 19438 +                                  "32f953543bd07093a29e5f",
       
 19439 +                                  "5685392e26e4e637394c54",
       
 19440 +                                  "96cf28ae783cd1e477aa5",
       
 19441 +                                  "710608c33a517ea5d5359e",
       
 19442 +                                  "435abcd28c0cfc9f321db0",
       
 19443 +                                  "514d622fcdfc26212b5d14",
       
 19444 +                                  "408e6268fcd75479c3bece",
       
 19445 +                                  "18e5cae7f3bd61293a8c2b",
       
 19446 +                                  "65a5c9fe061a38a8c6c2e0",
       
 19447 +                                  "6df80f50564e811e245eb5",
       
 19448 +                                  "1b388caec4f8538425d93c",
       
 19449 +                                  "1bab6e088abbb7a786ff3d",
       
 19450 +                                  "17fc45b2690c315a5249e8",
       
 19451 +                                  "4170c011864f5582d6a738",
       
 19452 +                                  "3b3a5f854ba249c04d075",
       
 19453 +                                  "38e1e6200860f4072a8a1d",
       
 19454 +                                  "c91beeecaf54c95dc1b37",
       
 19455 +                                  "f125d56d3c0c2aaf7ad05",
       
 19456 +                                  "341851bd5e48e20f0a412f",
       
 19457 +                                  "471eec9edf3f5af18be6bf",
       
 19458 +                                  "4b21ef5da2b744139c3cf1",
       
 19459 +                                  "3a051daeeae9770973713e",
       
 19460 +                                  "75a7fc26a6faacf109b345",
       
 19461 +                                  "5637e5d4438a119a23f043",
       
 19462 +                                  "22f18c95264f1fb742c348",
       
 19463 +                                  "1d595362f3a1b4c77729e7",
       
 19464 +                                  "69a784edece7c38bcf7297",
       
 19465 +                                  "4fbaae68fdb253d715d528",
       
 19466 +                                  "23693b4063cf0fa20dad42",
       
 19467 +                                  "51eb043d3564fa91215f1b",
       
 19468 +                                  "2bb1db818cfd733dcce0b0",
       
 19469 +                                  "a961f7b95836d3a578170",
       
 19470 +                                  "51c819b9ec191b60920096",
       
 19471 +                                  "ac6c9987de6c73f2259d9",
       
 19472 +                                  "524b77666e02692a642407",
       
 19473 +                                  "149d706db4fce00c71da76",
       
 19474 +                                  "238de3e1606bc0e1c33adb",
       
 19475 +                                  "37ba1e609c7b12a8e32733",
       
 19476 +                                  "3ae30b1b5931eb630bbf6c",
       
 19477 +                                  "1630a212afc84f038374d9",
       
 19478 +                                  "5ebb44d93cb77417b61c4f",
       
 19479 +                                  "5a7d2dd2aa2028d4da8f42",
       
 19480 +                                  "798019b397419c8d54fda1",
       
 19481 +                                  "74a156e77589342bbef3d5",
       
 19482 +                                  "506e6a05e8de5c9198ae69",
       
 19483 +                                  "48e4926c40cd6ab5e92ffc",
       
 19484 +                                  "7d2db742721c9ba686ff30",
       
 19485 +                                  "4b8968b5c5a93dbb4b2b55",
       
 19486 +                                  "2ef2be0f7e33ace73bab4",
       
 19487 +                                  "7651ee2e0f4d348cbe95bd",
       
 19488 +                                  "43ee4b35cb3cdc84d1d5db",
       
 19489 +                                  "449d4feccb40da2e122aa1",
       
 19490 +                                  "356211f56936e183312837",
       
 19491 +                                  "527456447c2748239033cf",
       
 19492 +                                  "46bdbd32d31b2a36e04e0a",
       
 19493 +                                  "6c1076c01e9e44fb047889",
       
 19494 +                                  "5ef5512b3384aa1243daa6",
       
 19495 +                                  "d452f805a2c35e686e107",
       
 19496 +                                  "67a9131aabd5255bdce732",
       
 19497 +                                  "5088a2317aa34dd5bb1b4d",
       
 19498 +                                  "64c275af1abda385c2af0b",
       
 19499 +                                  "402c7149b20bce787c7e83",
       
 19500 +                                  "60c8d2e958387c0d0627a8",
       
 19501 +                                  "516640d56302eb15061b25",
       
 19502 +                                  "c62790b24bc842a717e31",
       
 19503 +                                  "76e87d4d2740e137511b26",
       
 19504 +                                  "6cf76079225189eb2608ce",
       
 19505 +                                  "3c8b04f81e14e10396b582",
       
 19506 +                                  "4bfd93fb985a44ed0569f4",
       
 19507 +                                  "6ce98c831091728c0e73bb",
       
 19508 +                                  "4f74e7ee01738298062093",
       
 19509 +                                  "449ccc3923e92a0bd2e3ba",
       
 19510 +                                  "4feae15528510f186aa1fa",
       
 19511 +                                  "12a3196afc09a79694eb31",
       
 19512 +                                  "6cfdd09fe2bd66b85c2e00",
       
 19513 +                                  "587cce1cbd0dee8b98f262",
       
 19514 +                                  "3b0283be973d59ebf4242f",
       
 19515 +                                  "88b8371baafc87a9713f4",
       
 19516 +                                  "4e6cb8ec1b00e2f28b3a7e",
       
 19517 +                                  "235baa54adcc67af92d06d",
       
 19518 +                                  "733b81816da25936e81af1",
       
 19519 +                                  "7fe76cd2c5affa913c2b41",
       
 19520 +                                  "26b7df388a02a8279b0652",
       
 19521 +                                  "7b5272bdeb1b01fe56bc29",
       
 19522 +                                  "6863984d7793407587e8e2",
       
 19523 +                                  "1f1eea8231315133cde938",
       
 19524 +                                  "2f85e68dfb9aea66d7f07c",
       
 19525 +                                  "6259df76b87ab2eff6659f",
       
 19526 +                                  "502c6a2df8916b18106088",
       
 19527 +                                  "4cd904fd9401eac5ad7f1c",
       
 19528 +                                  "5eb4d93a33b2d2e2c2adad",
       
 19529 +                                  "55a41153a33cb4649703a5",
       
 19530 +                                  "cfc86f804a481df48868e",
       
 19531 +                                  "1ddeaa1e583e9146210f69",
       
 19532 +                                  "38110b962a169200cc9f0a",
       
 19533 +                                  "7ce4bd3337a7333159cb2c",
       
 19534 +                                  "1738ee1c8e104064e07249",
       
 19535 +                                  "e1ef803b3674bf39884ae",
       
 19536 +                                  "55d7bf2f5724b5dd0a04ae",
       
 19537 +                                  "7aa81a94a5a230cf59a0b9",
       
 19538 +                                  "2baeaedf76503008b9e428",
       
 19539 +                                  "15bb5d9b44eebb27a1e60e",
       
 19540 +                                  "dce90e419e8d3f96eb5b4",
       
 19541 +                                  "72a7ca4a8dc56f9c652281",
       
 19542 +                                  "5cd319aa7906a96d2f6c7e",
       
 19543 +                                  "557361125249092a7bf932",
       
 19544 +                                  "70a1107bc42bfb598164ea",
       
 19545 +                                  "df7ae04689867c9ad97d8",
       
 19546 +                                  "117480f169f81bb3e8609c",
       
 19547 +                                  "479fc9912c9c81152eb474",
       
 19548 +                                  "4f2cc1f6f7aba8c20a670c",
       
 19549 +                                  "17dd6e40297f1d32786291",
       
 19550 +                                  "783e0229f219bc18b705e4",
       
 19551 +                                  "8b462e0f7448b549fd688",
       
 19552 +                                  "4a0fb16cc4d1bdfbb239c",
       
 19553 +                                  "53c95b2787b88db0682132",
       
 19554 +                                  "536be2b3e3829710aec51b",
       
 19555 +                                  "3a89578d6ca992f91249be",
       
 19556 +                                  "779eb73caa637aa28db87c",
       
 19557 +                                  "52f5adde99e4501e4d1c61",
       
 19558 +                                  "31541f24753a28cc5b51d8",
       
 19559 +                                  "620084c5da2910137e2b10",
       
 19560 +                                  "76c132264ad2a774a55164",
       
 19561 +                                  "35a3ab4773c5054a30c44d",
       
 19562 +                                  "2f78c0f7e7a90558573941",
       
 19563 +                                  "5b39ddb704fa58142076d",
       
 19564 +                                  "1d6812727d8421d0e03a6f",
       
 19565 +                                  "307727bd97c5db086074b3",
       
 19566 +                                  "1abc0d15793c655cee4a9c",
       
 19567 +                                  "68ee183b2208228da8bab7",
       
 19568 +                                  "116da33e19c8b80384fe28",
       
 19569 +                                  "3d73fd3c3744e9ec5d2d04",
       
 19570 +                                  "64ed03e382c11a32e34cf4",
       
 19571 +                                  "479e7025ae3fdc2bbcbe22",
       
 19572 +                                  "a134915353ce113eb72dd",
       
 19573 +                                  "49cb6ac7a2bfdc54300006",
       
 19574 +                                  "2d5e8f78718c2d4660cc69",
       
 19575 +                                  "3f5027ce278d444a4dd243",
       
 19576 +                                  "15d4218f4bbf0c95cd9649",
       
 19577 +                                  "13221a23af3045ec5cea35",
       
 19578 +                                  "1efd2b46d4a8724e929fd9",
       
 19579 +                                  "628d18e095a8dbcb9f43bf",
       
 19580 +                                  "30eff32d49c10f325b8e9c",
       
 19581 +                                  "29bbe5fdf14e69065cb80c",
       
 19582 +                                  "2df28a1b78b46f16aaf53b",
       
 19583 +                                  "352a4a136ebd7ef294f370",
       
 19584 +                                  "1c960c994194a1366a2222",
       
 19585 +                                  "351c5a0b997e45ec21b614",
       
 19586 +                                  "4c1f6b587fd26654ea69e1",
       
 19587 +                                  "2735b2e6f5f08a9e9418bb",
       
 19588 +                                  "3505fcb3eb2690f88b3be3",
       
 19589 +                                  "4d8859f357a36792b7211f",
       
 19590 +                                  "1e2093f76475f58a2dfd79",
       
 19591 +                                  "456138a50c3717947be48e",
       
 19592 +                                  "35714b90920ce6fe1f850",
       
 19593 +                                  "5d7c2a1d1267b7a252da1",
       
 19594 +                                  "754ffe6bc2e7525e892fe",
       
 19595 +                                  "290ac68bec8aa8955b7e97",
       
 19596 +                                  "a058b3353ac6290d9f864",
       
 19597 +                                  "ef75fc5d77fc146e975f7",
       
 19598 +                                  "48a999a2dc1a23a934a6fc",
       
 19599 +                                  "7256923d608836710a659c",
       
 19600 +                                  "2b13e041339df4d5a521ce",
       
 19601 +                                  "51a9b0945a0908b1d40d24",
       
 19602 +                                  "779559a53e6b62275896e9",
       
 19603 +                                  "1fa330f6dd5f3ca09176ce",
       
 19604 +                                  "3cb748f77d638122329dca",
       
 19605 +                                  "7e62c15038abb8244531b4",
       
 19606 +                                  "9bea90a26f9e93743a998",
       
 19607 +                                  "7ae1d007cf030664c6b815",
       
 19608 +                                  "52cfcbd15dfc6c476cfc76",
       
 19609 +                                  "18ba9d869c489f11ce52e7",
       
 19610 +                                  "93cbb2483673e4e0dda30",
       
 19611 +                                  "2478db790ed59756cef964",
       
 19612 +                                  "7d8b341c82b019a8d56c92",
       
 19613 +                                  "584b7d6f0b43ddd0b397e4",
       
 19614 +                                  "6081e77fedf3898fd66607",
       
 19615 +                                  "540f5a33d5aeafadcad19d",
       
 19616 +                                  "52c4d1c2ad153a3f70bc0a",
       
 19617 +                                  "39489c7fdb445490d498cd",
       
 19618 +                                  "e0800809dbab6d41345b4",
       
 19619 +                                  "1536906705870049755028",
       
 19620 +                                  "639c2fcec8b9dfcc987387",
       
 19621 +                                  "214f18ae0c9aa7a1b8c02e",
       
 19622 +                                  "5b8e9d8b290e89e5d9afc3",
       
 19623 +                                  "4499c1c16fec3546d5903c",
       
 19624 +                                  "5ce5e0595ad07c8855357b",
       
 19625 +                                  "39bf9c3f1f0a1a15264530",
       
 19626 +                                  "30a77107da1d91a699e9f5",
       
 19627 +                                  "352389083277fbbbe66ac3",
       
 19628 +                                  "5d711409f3faa9ea87abfc",
       
 19629 +                                  "42cd59499a0ef57d6b0009",
       
 19630 +                                  "731a7b89f357bfb855a5b2",
       
 19631 +                                  "767dc9d34c09b03db4a0e9",
       
 19632 +                                  "5344962f90f45cfaeb1bce",
       
 19633 +                                  "504d29ae2e5a021d2bb278",
       
 19634 +                                  "6e97dd298eaee757a3cec1",
       
 19635 +                                  "2d1b2f087facf1fbfc7e69",
       
 19636 +                                  "327b2b8d0b75e0d83a5b04",
       
 19637 +                                  "7dc98aa964908b313939a9",
       
 19638 +                                  "d8c34dffd92c1a20d6a9a",
       
 19639 +                                  "21a363ab0e08a4336f2e44",
       
 19640 +                                  "48eaf0293f956717b8f048",
       
 19641 +                                  "6351b2a5f477112f552683",
       
 19642 +                                  "2193bc73ac4b40415c95b5",
       
 19643 +                                  "13f13f9f2c877cb73ba5c",
       
 19644 +                                  "7c6b359299af5c59043711",
       
 19645 +                                  "7895b432001edf846b7b3e",
       
 19646 +                                  "3ecf9d05cd62341c4f7784",
       
 19647 +                                  "6c8879d694e1a0b99f8e42",
       
 19648 +                                  "6400e87749e3bcbd750d89",
       
 19649 +                                  "1851e925707895d37a37f2",
       
 19650 +                                  "30f4f5617cc73435ce74c2",
       
 19651 +                                  "18ec20d19a478746123b",
       
 19652 +                                  "39242760b51f2f93fd4721",
       
 19653 +                                  "452d3dfff11e24bf680356",
       
 19654 +                                  "5cafa83a10f929b5076c60",
       
 19655 +                                  "7fd4ee663460087b793a80",
       
 19656 +                                  "7e958697030784ae5ddf86",
       
 19657 +                                  "a6c54d0ec55adb4911efd",
       
 19658 +                                  "2964973c288dced7dae8fc",
       
 19659 +                                  "2b0fed7a534d25697e5c7b",
       
 19660 +                                  "3afeb7cc8f8e5bb8770da",
       
 19661 +                                  "6a81a8d913b71671629ad5",
       
 19662 +                                  "75f4eb6de0d35eeaa16cf8",
       
 19663 +                                  "7abf68b2e4cc9e3a3b2c5f",
       
 19664 +                                  "4f6d8c8b0b9b376d42c4b1",
       
 19665 +                                  "23f219093e9b0bb3b5217d",
       
 19666 +                                  "5a0c2602dcbbbf468b67e0",
       
 19667 +                                  "1a63315aa52cb254b65ce0",
       
 19668 +                                  "4f72850630f6f8c1a68862",
       
 19669 +                                  "3722a55f27f2c02b34eddc",
       
 19670 +                                  "672d7083ec424e5d883cec",
       
 19671 +                                  "4839c6454f97ececa9969f",
       
 19672 +                                  "e941ecc714605cea72177",
       
 19673 +                                  "7cf9338ca9bcab73862b81",
       
 19674 +                                  "6a23876a8c802d81d83d29",
       
 19675 +                                  "7006ef130d31e12bc44c5a",
       
 19676 +                                  "591bac661062f64b8e3f2c",
       
 19677 +                                  "25cab751e23d8e69bb5048",
       
 19678 +                                  "61f4a55b140e767495cd59",
       
 19679 +                                  "1a4e5bc143bf00e8928403",
       
 19680 +                                  "4a54d9b3589d5340a01e23",
       
 19681 +                                  "18019c176b4c9453028db8",
       
 19682 +                                  "76fed7d89907843db9af52",
       
 19683 +                                  "407333b3b6a3bed3ef8920",
       
 19684 +                                  "536a736ad3a37793dd9f54",
       
 19685 +                                  "5e56a7d976f1a3334f57c3",
       
 19686 +                                  "66ffe80af410522139e92f",
       
 19687 +                                  "1b0c27c7452322264822f3",
       
 19688 +                                  "58320debe89492ceee77e",
       
 19689 +                                  "4fbc987e428ed0ce9cb76c",
       
 19690 +                                  "70a2d453b688803716fdbf",
       
 19691 +                                  "1921f3262afb2f3766f357",
       
 19692 +                                  "6e007172a16a9c673e635d",
       
 19693 +                                  "527c4b155e3708972293d1",
       
 19694 +                                  "2797689917c95a9d4073ae",
       
 19695 +                                  "69bb33c18017fddf18d091",
       
 19696 +                                  "165ff53589519199fc1846",
       
 19697 +                                  "171e59c89024b148534f1b",
       
 19698 +                                  "23c82ae839bf5380a55acf",
       
 19699 +                                  "455c9131bfa1c33274be37",
       
 19700 +                                  "4bacbc68650c41520d312c",
       
 19701 +                                  "1c35e13f8ffb7c470fa61c",
       
 19702 +                                  "6b4728ee168cd23e2fe47c",
       
 19703 +                                  "22e321253c3e0fb875c4df",
       
 19704 +                                  "6077a88144957827c07205",
       
 19705 +                                  "4309c1c59a581af63d922d",
       
 19706 +                                  "1b1ca5d6c688c4cf99448d",
       
 19707 +                                  "31a504d1dcc251075e4436",
       
 19708 +                                  "223160cdd1bfa322ca3e6c",
       
 19709 +                                  "3601174a7dc823bf4dc3a6",
       
 19710 +                                  "6da3828f2d4926651f7a27",
       
 19711 +                                  "7de4927696bdd6d3b718",
       
 19712 +                                  "7bb4f9d707b4ee3a20e779",
       
 19713 +                                  "343dad4f059acb87d3b0e2",
       
 19714 +                                  "4e501beb4617be0f02deb4",
       
 19715 +                                  "3943e926fbe3d426004ea9",
       
 19716 +                                  "4b35e35e82bffb49d0d830",
       
 19717 +                                  "6520599b30ba3568ad0f09",
       
 19718 +                                  "2a48d89ce122dfa7deba2f",
       
 19719 +                                  "19b666810d736e639b51f2",
       
 19720 +                                  "1ccd174e9aa4e58e7414bc",
       
 19721 +                                  "475e84f70334cc0bc8292",
       
 19722 +                                  "393fe0be8f011593a7e1ef",
       
 19723 +                                  "17276a59aa9630c1141c17",
       
 19724 +                                  "7d0578a8908ba294259bd",
       
 19725 +                                  "4a9e2e5d8ad0e2e82aa7de",
       
 19726 +                                  "63e0dbdfb13b4fbb46f00c",
       
 19727 +                                  "310e395e429c4494a5f850",
       
 19728 +                                  "7cc0116bd0bc164835ee72",
       
 19729 +                                  "634478b621f7f0a455c48c",
       
 19730 +                                  "397f144a181805e1a097c9",
       
 19731 +                                  "53016aa1427381b9f28ea5",
       
 19732 +                                  "76c2f0ba37187112ee4d4d",
       
 19733 +                                  "2bee268df09cc40864a917",
       
 19734 +                                  "7851b3168b92e5daed021f",
       
 19735 +                                  "149e6a0b6c6543ae895e07",
       
 19736 +                                  "1dd1b432dc809fe4c879b3",
       
 19737 +                                  "2ad2546b270547fc24541b",
       
 19738 +                                  "2015aa6fc7e48fa3bc5ab5",
       
 19739 +                                  "38596ed050f14596adc07f",
       
 19740 +                                  "1d2b9ca2f44294070d4e86",
       
 19741 +                                  "3778fd3a46ffde4755b6ce",
       
 19742 +                                  "74bb588b5553c2b2d4ac78",
       
 19743 +                                  "3d1155c4a53835d991a0f",
       
 19744 +                                  "35865b2ca16d3453781f41",
       
 19745 +                                  "6ba1300374acd487b23577",
       
 19746 +                                  "3f68fa1a9ab7772758d0ba",
       
 19747 +                                  "30a3461d63ca9807464dd6",
       
 19748 +                                  "552aca5af025ea1e84aadb",
       
 19749 +                                  "32aafc640e8c99bda8faa7",
       
 19750 +                                  "2fb170a11f1aecdf586d25",
       
 19751 +                                  "751e9eb348bc8239d6e118",
       
 19752 +                                  "7fc2bcc524b4326eb8303d",
       
 19753 +                                  "1cc2526113f2bae9b540c1",
       
 19754 +                                  "6a437e22c95fc6c6a4449d",
       
 19755 +                                  "df261ad3b5157a525bb81",
       
 19756 +                                  "690aa96130f8c533d77ce4",
       
 19757 +                                  "2f58f2df794a35875efc99",
       
 19758 +                                  "19772e34181f57b670bf9",
       
 19759 +                                  "60617400353c1eb8e8832b",
       
 19760 +                                  "7136b3dd116ed121aab68",
       
 19761 +                                  "4c95bed884bd87ec1d5e70",
       
 19762 +                                  "68fa3ecc3845db5d523ad9",
       
 19763 +                                  "4818e9ef0ea7625cfc3d0",
       
 19764 +                                  "27ec8c6636679988dd1267",
       
 19765 +                                  "57d88b5e0b434eb1a0dc08",
       
 19766 +                                  "47a1f466100bf70dd5689",
       
 19767 +                                  "55afbc51e7c2cc748942ac",
       
 19768 +                                  "75066462fdbbc7301e209b",
       
 19769 +                                  "72b5d8f8e65cb7509a93d8",
       
 19770 +                                  "38d9d05f9463a537f470b2",
       
 19771 +                                  "2f39a2788d5c2a24e16acc",
       
 19772 +                                  "5f4e7c70ff55ff2f888f05",
       
 19773 +                                  "735cfad9acf49090fb7037",
       
 19774 +                                  "6a716dae106b9aeff2133e",
       
 19775 +                                  "1c90fea5f39d8ac4dfc2a3",
       
 19776 +                                  "3a8c5a9525f5d62cea294d",
       
 19777 +                                  "498104aa12355244a9b0d6",
       
 19778 +                                  "414e761d40341e7f97c304",
       
 19779 +                                  "16d5205447831696c5d6a0",
       
 19780 +                                  "3cb5a124ce563c3967dbc3",
       
 19781 +                                  "899b1ac6f72ffff8aedfc",
       
 19782 +                                  "34eea7a66e8ff3dcc8988e",
       
 19783 +                                  "5f80095f2580ec4cf13b51",
       
 19784 +                                  "4d7566cd294f75be6620f3",
       
 19785 +                                  "506d84c9f4d4bc400fdd25",
       
 19786 +                                  "5a8a9b5c659b71e837ea18",
       
 19787 +                                  "c16d15fea9d61c8df5121",
       
 19788 +                                  "3a7a488015e75feec809f8",
       
 19789 +                                  "6fe27c77d57e2feb8cbcbf",
       
 19790 +                                  "452231c3bcde7b7b5b0af8",
       
 19791 +                                  "760f3656c1130b21d369d9",
       
 19792 +                                  "39a0c4e1da321f1bc126f4",
       
 19793 +                                  "3315173915ca23d8c1b814",
       
 19794 +                                  "1cec8c96472b84936bbc22",
       
 19795 +                                  "3c70a3f0e9c5b206031a33",
       
 19796 +                                  "7cec29d14a0eefb222bde7",
       
 19797 +                                  "760df490123f6613b0a970",
       
 19798 +                                  "5bf795c6d548a19b6ac340",
       
 19799 +                                  "5569560418e73ff9db709" };
       
 19800  
       
 19801  #endif /* __PARAMS_H__ */
       
 19802 -
       
 19803 diff --git a/third_party/prio/prio/poly.h b/third_party/prio/prio/poly.h
       
 19804 --- a/third_party/prio/prio/poly.h
       
 19805 +++ b/third_party/prio/prio/poly.h
       
 19806 @@ -1,9 +1,9 @@
       
 19807  /*
       
 19808   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 19809 - * 
       
 19810 + *
       
 19811   * This Source Code Form is subject to the terms of the Mozilla Public
       
 19812   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 19813 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 19814 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 19815   */
       
 19816  
       
 19817  #ifndef _FFT__H
       
 19818 @@ -21,39 +21,36 @@
       
 19819   * of two and must be no longer than the number of precomputed
       
 19820   * roots in the PrioConfig object passed in.
       
 19821   */
       
 19822 -SECStatus poly_fft(MPArray points_out, const_MPArray points_in, 
       
 19823 -    const_PrioConfig cfg, bool invert);
       
 19824 +SECStatus poly_fft(MPArray points_out, const_MPArray points_in,
       
 19825 +                   const_PrioConfig cfg, bool invert);
       
 19826  
       
 19827 -/* 
       
 19828 +/*
       
 19829   * Get an array
       
 19830 - *    (r^0, r^1, r^2, ... ) 
       
 19831 + *    (r^0, r^1, r^2, ... )
       
 19832   * where r is an n-th root of unity, for n a power of two
       
 19833   * less than cfg->n_roots.
       
 19834   *
       
 19835 - * Do NOT mp_clear() the mp_ints stored in roots_out.  
       
 19836 + * Do NOT mp_clear() the mp_ints stored in roots_out.
       
 19837   * These are owned by the PrioConfig object.
       
 19838   */
       
 19839 -SECStatus poly_fft_get_roots (mp_int *roots_out, int n_points,
       
 19840 -    const_PrioConfig cfg, bool invert);
       
 19841 -
       
 19842 -
       
 19843 +SECStatus poly_fft_get_roots(mp_int* roots_out, int n_points,
       
 19844 +                             const_PrioConfig cfg, bool invert);
       
 19845  
       
 19846  /*
       
 19847   * Evaluate the polynomial specified by the coefficients
       
 19848   * at the point `eval_at` and return the result as `value`.
       
 19849   */
       
 19850 -SECStatus poly_eval (mp_int *value, const_MPArray coeffs, 
       
 19851 -    const mp_int *eval_at, const_PrioConfig cfg);
       
 19852 -
       
 19853 +SECStatus poly_eval(mp_int* value, const_MPArray coeffs, const mp_int* eval_at,
       
 19854 +                    const_PrioConfig cfg);
       
 19855  
       
 19856  /*
       
 19857 - * Interpolate the polynomial through the points 
       
 19858 + * Interpolate the polynomial through the points
       
 19859   *    (x_1, y_1), ..., (x_N, y_N),
       
 19860   * where x_i is an N-th root of unity and the y_i values are
       
 19861 - * specified by `poly_points`. Evaluate the resulting polynomial 
       
 19862 + * specified by `poly_points`. Evaluate the resulting polynomial
       
 19863   * at the point `eval_at`. Return the result as `value`.
       
 19864   */
       
 19865 -SECStatus poly_interp_evaluate (mp_int *value, const_MPArray poly_points, 
       
 19866 -    const mp_int *eval_at, const_PrioConfig cfg);
       
 19867 +SECStatus poly_interp_evaluate(mp_int* value, const_MPArray poly_points,
       
 19868 +                               const mp_int* eval_at, const_PrioConfig cfg);
       
 19869  
       
 19870  #endif
       
 19871 diff --git a/third_party/prio/prio/poly.c b/third_party/prio/prio/poly.c
       
 19872 --- a/third_party/prio/prio/poly.c
       
 19873 +++ b/third_party/prio/prio/poly.c
       
 19874 @@ -1,9 +1,9 @@
       
 19875  /*
       
 19876   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 19877 - * 
       
 19878 + *
       
 19879   * This Source Code Form is subject to the terms of the Mozilla Public
       
 19880   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 19881 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 19882 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 19883   */
       
 19884  
       
 19885  #include <mprio.h>
       
 19886 @@ -16,109 +16,110 @@
       
 19887   * A nice exposition of the recursive FFT/DFT algorithm we implement
       
 19888   * is in the book:
       
 19889   *
       
 19890 - *   "Modern Computer Algebra" 
       
 19891 - *    by Von zur Gathen and Gerhard. 
       
 19892 + *   "Modern Computer Algebra"
       
 19893 + *    by Von zur Gathen and Gerhard.
       
 19894   *    Cambridge University Press, 2013.
       
 19895   *
       
 19896   * They present this algorithm as Algorithm 8.14.
       
 19897   */
       
 19898  static SECStatus
       
 19899 -fft_recurse (mp_int *out, const mp_int *mod, int n, 
       
 19900 -    const mp_int *roots, const mp_int *ys,
       
 19901 -    mp_int *tmp, mp_int *ySub, mp_int *rootsSub)
       
 19902 +fft_recurse(mp_int* out, const mp_int* mod, int n, const mp_int* roots,
       
 19903 +            const mp_int* ys, mp_int* tmp, mp_int* ySub, mp_int* rootsSub)
       
 19904  {
       
 19905    if (n == 1) {
       
 19906 -    MP_CHECK (mp_copy (&ys[0], &out[0]));
       
 19907 +    MP_CHECK(mp_copy(&ys[0], &out[0]));
       
 19908      return SECSuccess;
       
 19909    }
       
 19910  
       
 19911 -  // Recurse on the first half 
       
 19912 -  for (int i=0; i<n/2; i++) {
       
 19913 -    MP_CHECK (mp_addmod (&ys[i], &ys[i+(n/2)], mod, &ySub[i]));
       
 19914 -    MP_CHECK (mp_copy (&roots[2*i], &rootsSub[i]));
       
 19915 +  // Recurse on the first half
       
 19916 +  for (int i = 0; i < n / 2; i++) {
       
 19917 +    MP_CHECK(mp_addmod(&ys[i], &ys[i + (n / 2)], mod, &ySub[i]));
       
 19918 +    MP_CHECK(mp_copy(&roots[2 * i], &rootsSub[i]));
       
 19919    }
       
 19920  
       
 19921 -  MP_CHECK (fft_recurse (tmp, mod, n/2, rootsSub, ySub, &tmp[n/2], &ySub[n/2], &rootsSub[n/2]));
       
 19922 -  for (int i=0; i<n/2; i++) {
       
 19923 -    MP_CHECK (mp_copy (&tmp[i], &out[2*i]));
       
 19924 +  MP_CHECK(fft_recurse(tmp, mod, n / 2, rootsSub, ySub, &tmp[n / 2],
       
 19925 +                       &ySub[n / 2], &rootsSub[n / 2]));
       
 19926 +  for (int i = 0; i < n / 2; i++) {
       
 19927 +    MP_CHECK(mp_copy(&tmp[i], &out[2 * i]));
       
 19928    }
       
 19929  
       
 19930 -  // Recurse on the second half 
       
 19931 -  for (int i=0; i<n/2; i++) {
       
 19932 -    MP_CHECK (mp_submod (&ys[i], &ys[i+(n/2)], mod, &ySub[i]));
       
 19933 -    MP_CHECK (mp_mulmod (&ySub[i], &roots[i], mod, &ySub[i]));
       
 19934 +  // Recurse on the second half
       
 19935 +  for (int i = 0; i < n / 2; i++) {
       
 19936 +    MP_CHECK(mp_submod(&ys[i], &ys[i + (n / 2)], mod, &ySub[i]));
       
 19937 +    MP_CHECK(mp_mulmod(&ySub[i], &roots[i], mod, &ySub[i]));
       
 19938    }
       
 19939  
       
 19940 -  MP_CHECK (fft_recurse (tmp, mod, n/2, rootsSub, ySub, &tmp[n/2], &ySub[n/2], &rootsSub[n/2]));
       
 19941 -  for (int i=0; i<n/2; i++) {
       
 19942 -    MP_CHECK (mp_copy (&tmp[i], &out[2*i + 1]));
       
 19943 +  MP_CHECK(fft_recurse(tmp, mod, n / 2, rootsSub, ySub, &tmp[n / 2],
       
 19944 +                       &ySub[n / 2], &rootsSub[n / 2]));
       
 19945 +  for (int i = 0; i < n / 2; i++) {
       
 19946 +    MP_CHECK(mp_copy(&tmp[i], &out[2 * i + 1]));
       
 19947    }
       
 19948  
       
 19949    return SECSuccess;
       
 19950  }
       
 19951  
       
 19952  static SECStatus
       
 19953 -fft_interpolate_raw (mp_int *out, 
       
 19954 -    const mp_int *ys, int nPoints, const mp_int *roots, 
       
 19955 -    const mp_int *mod, bool invert)
       
 19956 +fft_interpolate_raw(mp_int* out, const mp_int* ys, int nPoints,
       
 19957 +                    const mp_int* roots, const mp_int* mod, bool invert)
       
 19958  {
       
 19959    SECStatus rv = SECSuccess;
       
 19960    mp_int tmp[nPoints];
       
 19961    mp_int ySub[nPoints];
       
 19962    mp_int rootsSub[nPoints];
       
 19963 -  for (int i=0; i<nPoints;i++) {
       
 19964 -    MP_DIGITS (&tmp[i]) = NULL;
       
 19965 -    MP_DIGITS (&ySub[i]) = NULL;
       
 19966 -    MP_DIGITS (&rootsSub[i]) = NULL;
       
 19967 +  for (int i = 0; i < nPoints; i++) {
       
 19968 +    MP_DIGITS(&tmp[i]) = NULL;
       
 19969 +    MP_DIGITS(&ySub[i]) = NULL;
       
 19970 +    MP_DIGITS(&rootsSub[i]) = NULL;
       
 19971    }
       
 19972  
       
 19973    mp_int n_inverse;
       
 19974 -  MP_DIGITS (&n_inverse) = NULL;
       
 19975 +  MP_DIGITS(&n_inverse) = NULL;
       
 19976  
       
 19977 -  for (int i=0; i<nPoints;i++) {
       
 19978 -    MP_CHECKC (mp_init (&tmp[i]));
       
 19979 -    MP_CHECKC (mp_init (&ySub[i]));
       
 19980 -    MP_CHECKC (mp_init (&rootsSub[i]));
       
 19981 +  for (int i = 0; i < nPoints; i++) {
       
 19982 +    MP_CHECKC(mp_init(&tmp[i]));
       
 19983 +    MP_CHECKC(mp_init(&ySub[i]));
       
 19984 +    MP_CHECKC(mp_init(&rootsSub[i]));
       
 19985    }
       
 19986  
       
 19987 -  MP_CHECK (fft_recurse(out, mod, nPoints, roots, ys, tmp, ySub, rootsSub));
       
 19988 +  MP_CHECK(fft_recurse(out, mod, nPoints, roots, ys, tmp, ySub, rootsSub));
       
 19989  
       
 19990    if (invert) {
       
 19991 -    MP_CHECKC (mp_init (&n_inverse));
       
 19992 +    MP_CHECKC(mp_init(&n_inverse));
       
 19993  
       
 19994 -    mp_set (&n_inverse, nPoints);
       
 19995 -    MP_CHECKC (mp_invmod (&n_inverse, mod, &n_inverse));
       
 19996 -    for (int i=0; i<nPoints;i++) {
       
 19997 -      MP_CHECKC (mp_mulmod(&out[i], &n_inverse, mod, &out[i]));
       
 19998 +    mp_set(&n_inverse, nPoints);
       
 19999 +    MP_CHECKC(mp_invmod(&n_inverse, mod, &n_inverse));
       
 20000 +    for (int i = 0; i < nPoints; i++) {
       
 20001 +      MP_CHECKC(mp_mulmod(&out[i], &n_inverse, mod, &out[i]));
       
 20002      }
       
 20003    }
       
 20004  
       
 20005  cleanup:
       
 20006 -  mp_clear (&n_inverse); 
       
 20007 -  for (int i=0; i<nPoints;i++) {
       
 20008 +  mp_clear(&n_inverse);
       
 20009 +  for (int i = 0; i < nPoints; i++) {
       
 20010      mp_clear(&tmp[i]);
       
 20011      mp_clear(&ySub[i]);
       
 20012      mp_clear(&rootsSub[i]);
       
 20013    }
       
 20014  
       
 20015    return rv;
       
 20016 -} 
       
 20017 +}
       
 20018  
       
 20019  /*
       
 20020   * The PrioConfig object has a list of N-th roots of unity for large N.
       
 20021 - * This routine returns the n-th roots of unity for n < N, where n is 
       
 20022 + * This routine returns the n-th roots of unity for n < N, where n is
       
 20023   * a power of two. If the `invert` flag is set, it returns the inverses
       
 20024   * of the n-th roots of unity.
       
 20025   */
       
 20026  SECStatus
       
 20027 -poly_fft_get_roots (mp_int *roots_out, int n_points, const_PrioConfig cfg, bool invert)
       
 20028 +poly_fft_get_roots(mp_int* roots_out, int n_points, const_PrioConfig cfg,
       
 20029 +                   bool invert)
       
 20030  {
       
 20031 -  if (n_points > cfg->n_roots) 
       
 20032 +  if (n_points > cfg->n_roots)
       
 20033      return SECFailure;
       
 20034 -  const mp_int *roots_in = invert ? cfg->rootsInv->data : cfg->roots->data;
       
 20035 +  const mp_int* roots_in = invert ? cfg->rootsInv->data : cfg->roots->data;
       
 20036    const int step_size = cfg->n_roots / n_points;
       
 20037  
       
 20038 -  for (int i=0; i < n_points; i++) {
       
 20039 +  for (int i = 0; i < n_points; i++) {
       
 20040      roots_out[i] = roots_in[i * step_size];
       
 20041    }
       
 20042  
       
 20043 @@ -126,63 +127,62 @@
       
 20044  }
       
 20045  
       
 20046  SECStatus
       
 20047 -poly_fft (MPArray points_out, const_MPArray points_in, 
       
 20048 -    const_PrioConfig cfg, bool invert)
       
 20049 +poly_fft(MPArray points_out, const_MPArray points_in, const_PrioConfig cfg,
       
 20050 +         bool invert)
       
 20051  {
       
 20052    SECStatus rv = SECSuccess;
       
 20053    const int n_points = points_in->len;
       
 20054    if (points_out->len != points_in->len)
       
 20055      return SECFailure;
       
 20056 -  if (n_points > cfg->n_roots) 
       
 20057 +  if (n_points > cfg->n_roots)
       
 20058      return SECFailure;
       
 20059 -  if (cfg->n_roots % n_points != 0) 
       
 20060 +  if (cfg->n_roots % n_points != 0)
       
 20061      return SECFailure;
       
 20062  
       
 20063    mp_int scaled_roots[n_points];
       
 20064 -  P_CHECK (poly_fft_get_roots (scaled_roots, n_points, cfg, invert));
       
 20065 +  P_CHECK(poly_fft_get_roots(scaled_roots, n_points, cfg, invert));
       
 20066  
       
 20067 -  MP_CHECK (fft_interpolate_raw (points_out->data, points_in->data, n_points, 
       
 20068 -      scaled_roots, &cfg->modulus, invert));
       
 20069 +  MP_CHECK(fft_interpolate_raw(points_out->data, points_in->data, n_points,
       
 20070 +                               scaled_roots, &cfg->modulus, invert));
       
 20071  
       
 20072    return SECSuccess;
       
 20073  }
       
 20074  
       
 20075 -
       
 20076 -SECStatus 
       
 20077 -poly_eval (mp_int *value, const_MPArray coeffs, const mp_int *eval_at, 
       
 20078 -    const_PrioConfig cfg)
       
 20079 -{ 
       
 20080 +SECStatus
       
 20081 +poly_eval(mp_int* value, const_MPArray coeffs, const mp_int* eval_at,
       
 20082 +          const_PrioConfig cfg)
       
 20083 +{
       
 20084    SECStatus rv = SECSuccess;
       
 20085    const int n = coeffs->len;
       
 20086  
       
 20087    // Use Horner's method to evaluate the polynomial at the point
       
 20088    // `eval_at`
       
 20089 -  mp_copy (&coeffs->data[n-1], value);
       
 20090 -  for (int i=n-2; i >= 0; i--) {
       
 20091 -    MP_CHECK (mp_mulmod (value, eval_at, &cfg->modulus, value));
       
 20092 -    MP_CHECK (mp_addmod (value, &coeffs->data[i], &cfg->modulus, value));
       
 20093 +  mp_copy(&coeffs->data[n - 1], value);
       
 20094 +  for (int i = n - 2; i >= 0; i--) {
       
 20095 +    MP_CHECK(mp_mulmod(value, eval_at, &cfg->modulus, value));
       
 20096 +    MP_CHECK(mp_addmod(value, &coeffs->data[i], &cfg->modulus, value));
       
 20097    }
       
 20098  
       
 20099    return rv;
       
 20100  }
       
 20101  
       
 20102  SECStatus
       
 20103 -poly_interp_evaluate (mp_int *value, const_MPArray poly_points, 
       
 20104 -    const mp_int *eval_at, const_PrioConfig cfg)
       
 20105 +poly_interp_evaluate(mp_int* value, const_MPArray poly_points,
       
 20106 +                     const mp_int* eval_at, const_PrioConfig cfg)
       
 20107  {
       
 20108    SECStatus rv;
       
 20109    MPArray coeffs = NULL;
       
 20110    const int N = poly_points->len;
       
 20111    mp_int roots[N];
       
 20112 -  
       
 20113 -  P_CHECKA (coeffs = MPArray_new (N));
       
 20114 -  P_CHECKC (poly_fft_get_roots (roots, N, cfg, false));
       
 20115 +
       
 20116 +  P_CHECKA(coeffs = MPArray_new(N));
       
 20117 +  P_CHECKC(poly_fft_get_roots(roots, N, cfg, false));
       
 20118  
       
 20119    // Interpolate polynomial through roots of unity
       
 20120 -  P_CHECKC (poly_fft (coeffs, poly_points, cfg, true)) 
       
 20121 -  P_CHECKC (poly_eval (value, coeffs, eval_at, cfg));
       
 20122 +  P_CHECKC(poly_fft(coeffs, poly_points, cfg, true))
       
 20123 +  P_CHECKC(poly_eval(value, coeffs, eval_at, cfg));
       
 20124  
       
 20125  cleanup:
       
 20126 -  MPArray_clear (coeffs);
       
 20127 +  MPArray_clear(coeffs);
       
 20128    return rv;
       
 20129  }
       
 20130 diff --git a/third_party/prio/prio/prg.h b/third_party/prio/prio/prg.h
       
 20131 --- a/third_party/prio/prio/prg.h
       
 20132 +++ b/third_party/prio/prio/prg.h
       
 20133 @@ -1,62 +1,60 @@
       
 20134  /*
       
 20135   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 20136 - * 
       
 20137 + *
       
 20138   * This Source Code Form is subject to the terms of the Mozilla Public
       
 20139   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 20140 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 20141 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 20142   */
       
 20143  
       
 20144  #ifndef __PRG_H__
       
 20145  #define __PRG_H__
       
 20146  
       
 20147 +#include <blapit.h>
       
 20148  #include <mpi.h>
       
 20149 -#include <nss/blapit.h>
       
 20150  #include <stdlib.h>
       
 20151  
       
 20152  #include "config.h"
       
 20153  
       
 20154 -typedef struct prg *PRG;
       
 20155 -typedef const struct prg *const_PRG;
       
 20156 +typedef struct prg* PRG;
       
 20157 +typedef const struct prg* const_PRG;
       
 20158  
       
 20159 -/* 
       
 20160 +/*
       
 20161   * Initialize or destroy a pseudo-random generator.
       
 20162   */
       
 20163 -PRG PRG_new (const PrioPRGSeed key);
       
 20164 -void PRG_clear (PRG prg);
       
 20165 +PRG PRG_new(const PrioPRGSeed key);
       
 20166 +void PRG_clear(PRG prg);
       
 20167  
       
 20168 -/* 
       
 20169 +/*
       
 20170   * Produce the next bytes of output from the PRG.
       
 20171   */
       
 20172 -SECStatus PRG_get_bytes (PRG prg, unsigned char *bytes, size_t len);
       
 20173 +SECStatus PRG_get_bytes(PRG prg, unsigned char* bytes, size_t len);
       
 20174  
       
 20175  /*
       
 20176   * Use the PRG output to sample a big integer x in the range
       
 20177   *    0 <= x < max.
       
 20178   */
       
 20179 -SECStatus PRG_get_int (PRG prg, mp_int *out, const mp_int *max);
       
 20180 +SECStatus PRG_get_int(PRG prg, mp_int* out, const mp_int* max);
       
 20181  
       
 20182  /*
       
 20183   * Use secret sharing to split the int src into two shares.
       
 20184   * Use PRG to generate the value `shareB`.
       
 20185   * The mp_ints must be initialized.
       
 20186   */
       
 20187 -SECStatus PRG_share_int (PRG prg, mp_int *shareA, const mp_int *src,
       
 20188 -    const_PrioConfig cfg);
       
 20189 +SECStatus PRG_share_int(PRG prg, mp_int* shareA, const mp_int* src,
       
 20190 +                        const_PrioConfig cfg);
       
 20191  
       
 20192 -/* 
       
 20193 +/*
       
 20194   * Set each item in the array to a pseudorandom value in the range
       
 20195   * [0, mod), where the values are generated using the PRG.
       
 20196   */
       
 20197 -SECStatus PRG_get_array (PRG prg, MPArray arr, const mp_int *mod);
       
 20198 +SECStatus PRG_get_array(PRG prg, MPArray arr, const mp_int* mod);
       
 20199  
       
 20200 -/* 
       
 20201 +/*
       
 20202   * Secret shares the array in `src` into `arrA` using randomness
       
 20203   * provided by `prgB`. The arrays `src` and `arrA` must be the same
       
 20204   * length.
       
 20205   */
       
 20206 -SECStatus PRG_share_array (PRG prgB, MPArray arrA, 
       
 20207 -    const_MPArray src, const_PrioConfig cfg);
       
 20208 -
       
 20209 +SECStatus PRG_share_array(PRG prgB, MPArray arrA, const_MPArray src,
       
 20210 +                          const_PrioConfig cfg);
       
 20211  
       
 20212  #endif /* __PRG_H__ */
       
 20213 -
       
 20214 diff --git a/third_party/prio/prio/prg.c b/third_party/prio/prio/prg.c
       
 20215 --- a/third_party/prio/prio/prg.c
       
 20216 +++ b/third_party/prio/prio/prg.c
       
 20217 @@ -1,14 +1,14 @@
       
 20218  /*
       
 20219   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 20220 - * 
       
 20221 + *
       
 20222   * This Source Code Form is subject to the terms of the Mozilla Public
       
 20223   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 20224 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 20225 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 20226   */
       
 20227  
       
 20228 +#include <blapit.h>
       
 20229  #include <mprio.h>
       
 20230 -#include <nss/blapit.h>
       
 20231 -#include <nss/pk11pub.h>
       
 20232 +#include <pk11pub.h>
       
 20233  #include <string.h>
       
 20234  
       
 20235  #include "prg.h"
       
 20236 @@ -16,23 +16,25 @@
       
 20237  #include "share.h"
       
 20238  #include "util.h"
       
 20239  
       
 20240 -struct prg {
       
 20241 -  PK11SlotInfo *slot;
       
 20242 -  PK11SymKey *key;
       
 20243 -  PK11Context *ctx;
       
 20244 +struct prg
       
 20245 +{
       
 20246 +  PK11SlotInfo* slot;
       
 20247 +  PK11SymKey* key;
       
 20248 +  PK11Context* ctx;
       
 20249  };
       
 20250  
       
 20251 -SECStatus 
       
 20252 -PrioPRGSeed_randomize (PrioPRGSeed *key)
       
 20253 +SECStatus
       
 20254 +PrioPRGSeed_randomize(PrioPRGSeed* key)
       
 20255  {
       
 20256 -  return rand_bytes ((unsigned char *)key, PRG_SEED_LENGTH);   
       
 20257 +  return rand_bytes((unsigned char*)key, PRG_SEED_LENGTH);
       
 20258  }
       
 20259  
       
 20260 -PRG 
       
 20261 -PRG_new (const PrioPRGSeed key_in)
       
 20262 +PRG
       
 20263 +PRG_new(const PrioPRGSeed key_in)
       
 20264  {
       
 20265 -  PRG prg = malloc (sizeof (struct prg));
       
 20266 -  if (!prg) return NULL;
       
 20267 +  PRG prg = malloc(sizeof(struct prg));
       
 20268 +  if (!prg)
       
 20269 +    return NULL;
       
 20270    prg->slot = NULL;
       
 20271    prg->key = NULL;
       
 20272    prg->ctx = NULL;
       
 20273 @@ -40,106 +42,104 @@
       
 20274    SECStatus rv = SECSuccess;
       
 20275    const CK_MECHANISM_TYPE cipher = CKM_AES_CTR;
       
 20276  
       
 20277 -  P_CHECKA (prg->slot = PK11_GetInternalSlot ());
       
 20278 +  P_CHECKA(prg->slot = PK11_GetInternalSlot());
       
 20279  
       
 20280    // Create a mutable copy of the key.
       
 20281    PrioPRGSeed key_mut;
       
 20282 -  memcpy (key_mut, key_in, PRG_SEED_LENGTH);
       
 20283 +  memcpy(key_mut, key_in, PRG_SEED_LENGTH);
       
 20284  
       
 20285 -  SECItem keyItem = {siBuffer, key_mut, PRG_SEED_LENGTH};
       
 20286 +  SECItem keyItem = { siBuffer, key_mut, PRG_SEED_LENGTH };
       
 20287  
       
 20288    // The IV can be all zeros since we only encrypt once with
       
 20289    // each AES key.
       
 20290 -  CK_AES_CTR_PARAMS param = {128, {}};
       
 20291 -  SECItem paramItem = {siBuffer, (void *)&param, sizeof(CK_AES_CTR_PARAMS)};
       
 20292 +  CK_AES_CTR_PARAMS param = { 128, {} };
       
 20293 +  SECItem paramItem = { siBuffer, (void*)&param, sizeof(CK_AES_CTR_PARAMS) };
       
 20294  
       
 20295 -  P_CHECKA (prg->key = PK11_ImportSymKey (prg->slot, cipher, PK11_OriginUnwrap,
       
 20296 -        CKA_ENCRYPT, &keyItem, NULL));
       
 20297 +  P_CHECKA(prg->key = PK11_ImportSymKey(prg->slot, cipher, PK11_OriginUnwrap,
       
 20298 +                                        CKA_ENCRYPT, &keyItem, NULL));
       
 20299  
       
 20300 -  P_CHECKA (prg->ctx = PK11_CreateContextBySymKey(cipher, CKA_ENCRYPT,
       
 20301 -        prg->key, &paramItem));
       
 20302 +  P_CHECKA(prg->ctx = PK11_CreateContextBySymKey(cipher, CKA_ENCRYPT, prg->key,
       
 20303 +                                                 &paramItem));
       
 20304  
       
 20305  cleanup:
       
 20306    if (rv != SECSuccess) {
       
 20307 -    PRG_clear (prg);
       
 20308 +    PRG_clear(prg);
       
 20309      prg = NULL;
       
 20310    }
       
 20311  
       
 20312    return prg;
       
 20313  }
       
 20314  
       
 20315 -
       
 20316 -void 
       
 20317 -PRG_clear (PRG prg)
       
 20318 +void
       
 20319 +PRG_clear(PRG prg)
       
 20320  {
       
 20321 -  if (!prg) return;
       
 20322 +  if (!prg)
       
 20323 +    return;
       
 20324  
       
 20325    if (prg->key)
       
 20326 -    PK11_FreeSymKey (prg->key);
       
 20327 +    PK11_FreeSymKey(prg->key);
       
 20328    if (prg->slot)
       
 20329 -    PK11_FreeSlot (prg->slot);
       
 20330 +    PK11_FreeSlot(prg->slot);
       
 20331    if (prg->ctx)
       
 20332 -    PK11_DestroyContext (prg->ctx, PR_TRUE);
       
 20333 +    PK11_DestroyContext(prg->ctx, PR_TRUE);
       
 20334  
       
 20335 -  free (prg);
       
 20336 +  free(prg);
       
 20337  }
       
 20338  
       
 20339 -static SECStatus 
       
 20340 -PRG_get_bytes_internal (void *prg_vp, unsigned char *bytes, size_t len)
       
 20341 +static SECStatus
       
 20342 +PRG_get_bytes_internal(void* prg_vp, unsigned char* bytes, size_t len)
       
 20343  {
       
 20344    PRG prg = (PRG)prg_vp;
       
 20345  
       
 20346    unsigned char in[len];
       
 20347 -  memset (in, 0, len);
       
 20348 +  memset(in, 0, len);
       
 20349  
       
 20350    int outlen;
       
 20351 -  SECStatus rv = PK11_CipherOp (prg->ctx, bytes, &outlen, len, in, len);
       
 20352 -  return (rv != SECSuccess || (size_t)outlen != len) ? SECFailure: SECSuccess;
       
 20353 -}  
       
 20354 -
       
 20355 -SECStatus 
       
 20356 -PRG_get_bytes (PRG prg, unsigned char *bytes, size_t len)
       
 20357 -{
       
 20358 -  return PRG_get_bytes_internal ((void *)prg, bytes, len); 
       
 20359 -}
       
 20360 -
       
 20361 -SECStatus 
       
 20362 -PRG_get_int (PRG prg, mp_int *out, const mp_int *max)
       
 20363 -{
       
 20364 -  return rand_int_rng (out, max, &PRG_get_bytes_internal, (void *)prg);
       
 20365 +  SECStatus rv = PK11_CipherOp(prg->ctx, bytes, &outlen, len, in, len);
       
 20366 +  return (rv != SECSuccess || (size_t)outlen != len) ? SECFailure : SECSuccess;
       
 20367  }
       
 20368  
       
 20369  SECStatus
       
 20370 -PRG_get_array (PRG prg, MPArray dst, const mp_int *mod)
       
 20371 +PRG_get_bytes(PRG prg, unsigned char* bytes, size_t len)
       
 20372 +{
       
 20373 +  return PRG_get_bytes_internal((void*)prg, bytes, len);
       
 20374 +}
       
 20375 +
       
 20376 +SECStatus
       
 20377 +PRG_get_int(PRG prg, mp_int* out, const mp_int* max)
       
 20378 +{
       
 20379 +  return rand_int_rng(out, max, &PRG_get_bytes_internal, (void*)prg);
       
 20380 +}
       
 20381 +
       
 20382 +SECStatus
       
 20383 +PRG_get_array(PRG prg, MPArray dst, const mp_int* mod)
       
 20384  {
       
 20385    SECStatus rv;
       
 20386 -  for (int i=0; i<dst->len; i++) {
       
 20387 -    P_CHECK (PRG_get_int (prg, &dst->data[i], mod));
       
 20388 +  for (int i = 0; i < dst->len; i++) {
       
 20389 +    P_CHECK(PRG_get_int(prg, &dst->data[i], mod));
       
 20390    }
       
 20391  
       
 20392    return SECSuccess;
       
 20393  }
       
 20394  
       
 20395  SECStatus
       
 20396 -PRG_share_int (PRG prgB, mp_int *shareA, const mp_int *src, const_PrioConfig cfg)
       
 20397 +PRG_share_int(PRG prgB, mp_int* shareA, const mp_int* src, const_PrioConfig cfg)
       
 20398  {
       
 20399    SECStatus rv = SECSuccess;
       
 20400    mp_int tmp;
       
 20401 -  MP_DIGITS (&tmp) = NULL;
       
 20402 +  MP_DIGITS(&tmp) = NULL;
       
 20403  
       
 20404 -  MP_CHECKC (mp_init (&tmp));
       
 20405 -  P_CHECKC (PRG_get_int (prgB, &tmp, &cfg->modulus)); 
       
 20406 -  MP_CHECKC (mp_submod (src, &tmp, &cfg->modulus, shareA));
       
 20407 +  MP_CHECKC(mp_init(&tmp));
       
 20408 +  P_CHECKC(PRG_get_int(prgB, &tmp, &cfg->modulus));
       
 20409 +  MP_CHECKC(mp_submod(src, &tmp, &cfg->modulus, shareA));
       
 20410  
       
 20411  cleanup:
       
 20412 -  mp_clear (&tmp);
       
 20413 +  mp_clear(&tmp);
       
 20414    return rv;
       
 20415  }
       
 20416  
       
 20417 -
       
 20418 -SECStatus 
       
 20419 -PRG_share_array (PRG prgB, MPArray arrA, 
       
 20420 -    const_MPArray src, const_PrioConfig cfg)
       
 20421 +SECStatus
       
 20422 +PRG_share_array(PRG prgB, MPArray arrA, const_MPArray src, const_PrioConfig cfg)
       
 20423  {
       
 20424    SECStatus rv = SECSuccess;
       
 20425    if (arrA->len != src->len)
       
 20426 @@ -147,10 +147,9 @@
       
 20427  
       
 20428    const int len = src->len;
       
 20429  
       
 20430 -  for (int i=0; i < len; i++) {
       
 20431 -    P_CHECK(PRG_share_int (prgB, &arrA->data[i], &src->data[i], cfg));
       
 20432 +  for (int i = 0; i < len; i++) {
       
 20433 +    P_CHECK(PRG_share_int(prgB, &arrA->data[i], &src->data[i], cfg));
       
 20434    }
       
 20435  
       
 20436    return rv;
       
 20437 -
       
 20438  }
       
 20439 diff --git a/third_party/prio/prio/rand.h b/third_party/prio/prio/rand.h
       
 20440 --- a/third_party/prio/prio/rand.h
       
 20441 +++ b/third_party/prio/prio/rand.h
       
 20442 @@ -1,43 +1,44 @@
       
 20443  /*
       
 20444   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 20445 - * 
       
 20446 + *
       
 20447   * This Source Code Form is subject to the terms of the Mozilla Public
       
 20448   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 20449 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 20450 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 20451   */
       
 20452  
       
 20453  #ifndef __RAND_H__
       
 20454  #define __RAND_H__
       
 20455  
       
 20456  #include <mpi.h>
       
 20457 -#include <nss/seccomon.h>
       
 20458 +#include <seccomon.h>
       
 20459  #include <stdlib.h>
       
 20460  
       
 20461  /*
       
 20462   * Typedef for function pointer. A function pointer of type RandBytesFunc
       
 20463   * points to a function that fills the buffer `out` of with `len` random bytes.
       
 20464   */
       
 20465 -typedef SECStatus (*RandBytesFunc) (void *user_data, unsigned char *out, size_t len);
       
 20466 +typedef SECStatus (*RandBytesFunc)(void* user_data, unsigned char* out,
       
 20467 +                                   size_t len);
       
 20468  
       
 20469 -/* 
       
 20470 +/*
       
 20471   * Initialize or cleanup the global random number generator
       
 20472   * state that NSS uses.
       
 20473   */
       
 20474 -SECStatus rand_init (void);
       
 20475 -void rand_clear (void);
       
 20476 +SECStatus rand_init(void);
       
 20477 +void rand_clear(void);
       
 20478  
       
 20479 -/* 
       
 20480 +/*
       
 20481   * Generate the specified number of random bytes using the
       
 20482   * NSS random number generator.
       
 20483 - */ 
       
 20484 -SECStatus rand_bytes (unsigned char *out, size_t n_bytes);
       
 20485 + */
       
 20486 +SECStatus rand_bytes(unsigned char* out, size_t n_bytes);
       
 20487  
       
 20488  /*
       
 20489   * Generate a random number x such that
       
 20490   *    0 <= x < max
       
 20491   * using the NSS random number generator.
       
 20492   */
       
 20493 -SECStatus rand_int (mp_int *out, const mp_int *max);
       
 20494 +SECStatus rand_int(mp_int* out, const mp_int* max);
       
 20495  
       
 20496  /*
       
 20497   * Generate a random number x such that
       
 20498 @@ -47,8 +48,7 @@
       
 20499   * The pointer user_data is passed to RandBytesFung `rng` as a first
       
 20500   * argument.
       
 20501   */
       
 20502 -SECStatus rand_int_rng (mp_int *out, const mp_int *max, 
       
 20503 -    RandBytesFunc rng, void *user_data);
       
 20504 +SECStatus rand_int_rng(mp_int* out, const mp_int* max, RandBytesFunc rng,
       
 20505 +                       void* user_data);
       
 20506  
       
 20507  #endif /* __RAND_H__ */
       
 20508 -
       
 20509 diff --git a/third_party/prio/prio/rand.c b/third_party/prio/prio/rand.c
       
 20510 --- a/third_party/prio/prio/rand.c
       
 20511 +++ b/third_party/prio/prio/rand.c
       
 20512 @@ -1,16 +1,16 @@
       
 20513  /*
       
 20514   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 20515 - * 
       
 20516 + *
       
 20517   * This Source Code Form is subject to the terms of the Mozilla Public
       
 20518   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 20519 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 20520 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 20521   */
       
 20522  
       
 20523  #include <limits.h>
       
 20524  #include <mprio.h>
       
 20525 -#include <nss/nss.h>
       
 20526 -#include <nss/pk11pub.h>
       
 20527 -#include <nspr/prinit.h>
       
 20528 +#include <nss.h>
       
 20529 +#include <pk11pub.h>
       
 20530 +#include <prinit.h>
       
 20531  
       
 20532  #include "debug.h"
       
 20533  #include "rand.h"
       
 20534 @@ -18,44 +18,41 @@
       
 20535  
       
 20536  #define CHUNK_SIZE 8192
       
 20537  
       
 20538 -static NSSInitContext *prioGlobalContext = NULL;
       
 20539 +static NSSInitContext* prioGlobalContext = NULL;
       
 20540  
       
 20541  SECStatus
       
 20542 -rand_init (void)
       
 20543 +rand_init(void)
       
 20544  {
       
 20545 -  if (prioGlobalContext) 
       
 20546 +  if (prioGlobalContext)
       
 20547      return SECSuccess;
       
 20548  
       
 20549 -  prioGlobalContext = NSS_InitContext ("", "", "", "", NULL, 
       
 20550 -      NSS_INIT_READONLY | 
       
 20551 -      NSS_INIT_NOCERTDB | 
       
 20552 -      NSS_INIT_NOMODDB | 
       
 20553 -      NSS_INIT_FORCEOPEN | 
       
 20554 -      NSS_INIT_NOROOTINIT);
       
 20555 +  prioGlobalContext =
       
 20556 +    NSS_InitContext("", "", "", "", NULL,
       
 20557 +                    NSS_INIT_READONLY | NSS_INIT_NOCERTDB | NSS_INIT_NOMODDB |
       
 20558 +                      NSS_INIT_FORCEOPEN | NSS_INIT_NOROOTINIT);
       
 20559  
       
 20560    return (prioGlobalContext != NULL) ? SECSuccess : SECFailure;
       
 20561  }
       
 20562  
       
 20563 -static SECStatus 
       
 20564 -rand_bytes_internal (void *user_data, unsigned char *out, size_t n_bytes)
       
 20565 +static SECStatus
       
 20566 +rand_bytes_internal(void* user_data, unsigned char* out, size_t n_bytes)
       
 20567  {
       
 20568    // No pointer should ever be passed in.
       
 20569    if (user_data != NULL)
       
 20570      return SECFailure;
       
 20571 -  if (!NSS_IsInitialized ()) {
       
 20572 -    PRIO_DEBUG ("NSS not initialized. Call rand_init() first.");
       
 20573 +  if (!NSS_IsInitialized()) {
       
 20574 +    PRIO_DEBUG("NSS not initialized. Call rand_init() first.");
       
 20575      return SECFailure;
       
 20576    }
       
 20577  
       
 20578    SECStatus rv = SECFailure;
       
 20579  
       
 20580    int to_go = n_bytes;
       
 20581 -  unsigned char *cp = out;
       
 20582 +  unsigned char* cp = out;
       
 20583    while (to_go) {
       
 20584 -    int to_gen = MIN (CHUNK_SIZE, to_go);
       
 20585 -    if ((rv = PK11_GenerateRandom (cp, to_gen)) != SECSuccess) 
       
 20586 -    {
       
 20587 -      PRIO_DEBUG ("Error calling PK11_GenerateRandom");
       
 20588 +    int to_gen = MIN(CHUNK_SIZE, to_go);
       
 20589 +    if ((rv = PK11_GenerateRandom(cp, to_gen)) != SECSuccess) {
       
 20590 +      PRIO_DEBUG("Error calling PK11_GenerateRandom");
       
 20591        return SECFailure;
       
 20592      }
       
 20593  
       
 20594 @@ -66,67 +63,67 @@
       
 20595    return rv;
       
 20596  }
       
 20597  
       
 20598 -SECStatus 
       
 20599 -rand_bytes (unsigned char *out, size_t n_bytes)
       
 20600 +SECStatus
       
 20601 +rand_bytes(unsigned char* out, size_t n_bytes)
       
 20602  {
       
 20603 -  return rand_bytes_internal (NULL, out, n_bytes);
       
 20604 +  return rand_bytes_internal(NULL, out, n_bytes);
       
 20605  }
       
 20606  
       
 20607  SECStatus
       
 20608 -rand_int (mp_int *out, const mp_int *max)
       
 20609 +rand_int(mp_int* out, const mp_int* max)
       
 20610  {
       
 20611 -  return rand_int_rng (out, max, &rand_bytes_internal, NULL);
       
 20612 +  return rand_int_rng(out, max, &rand_bytes_internal, NULL);
       
 20613  }
       
 20614  
       
 20615  SECStatus
       
 20616 -rand_int_rng (mp_int *out, const mp_int *max, 
       
 20617 -    RandBytesFunc rng_func, void *user_data)
       
 20618 +rand_int_rng(mp_int* out, const mp_int* max, RandBytesFunc rng_func,
       
 20619 +             void* user_data)
       
 20620  {
       
 20621    SECStatus rv = SECSuccess;
       
 20622  
       
 20623    // Ensure max value is > 0
       
 20624 -  if (mp_cmp_z (max) == 0)
       
 20625 +  if (mp_cmp_z(max) == 0)
       
 20626      return SECFailure;
       
 20627  
       
 20628    // Compute max-1, which tells us the largest
       
 20629    // value we will ever need to generate.
       
 20630 -  MP_CHECK (mp_sub_d (max, 1, out));
       
 20631 +  MP_CHECK(mp_sub_d(max, 1, out));
       
 20632  
       
 20633 -  const int nbytes = mp_unsigned_octet_size (out);
       
 20634 +  const int nbytes = mp_unsigned_octet_size(out);
       
 20635  
       
 20636 -  // Figure out how many MSBs we need to get in the 
       
 20637 -  // most-significant byte. 
       
 20638 +  // Figure out how many MSBs we need to get in the
       
 20639 +  // most-significant byte.
       
 20640    unsigned char max_bytes[nbytes];
       
 20641 -  MP_CHECK (mp_to_fixlen_octets (out, max_bytes, nbytes));
       
 20642 -  const unsigned char mask = msb_mask (max_bytes[0]); 
       
 20643 +  MP_CHECK(mp_to_fixlen_octets(out, max_bytes, nbytes));
       
 20644 +  const unsigned char mask = msb_mask(max_bytes[0]);
       
 20645  
       
 20646    // Buffer to store the pseudo-random bytes
       
 20647    unsigned char buf[nbytes];
       
 20648  
       
 20649    do {
       
 20650      // Use  rejection sampling to find a value strictly less than max.
       
 20651 -    P_CHECK (rng_func (user_data, buf, nbytes));
       
 20652 +    P_CHECK(rng_func(user_data, buf, nbytes));
       
 20653  
       
 20654      // Mask off high-order bits that we will never need.
       
 20655 -    P_CHECK (rng_func (user_data, &buf[0], 1));
       
 20656 -    if (mask) buf[0] &= mask;
       
 20657 +    P_CHECK(rng_func(user_data, &buf[0], 1));
       
 20658 +    if (mask)
       
 20659 +      buf[0] &= mask;
       
 20660  
       
 20661 -    MP_CHECK (mp_read_unsigned_octets (out, buf, nbytes));
       
 20662 -  } while (mp_cmp (out, max) != -1);
       
 20663 +    MP_CHECK(mp_read_unsigned_octets(out, buf, nbytes));
       
 20664 +  } while (mp_cmp(out, max) != -1);
       
 20665  
       
 20666    return 0;
       
 20667  }
       
 20668  
       
 20669  void
       
 20670 -rand_clear (void)
       
 20671 +rand_clear(void)
       
 20672  {
       
 20673    if (prioGlobalContext) {
       
 20674 -    NSS_ShutdownContext (prioGlobalContext);
       
 20675 +    NSS_ShutdownContext(prioGlobalContext);
       
 20676  #ifdef DO_PR_CLEANUP
       
 20677 -    PR_Cleanup ();
       
 20678 -#endif    
       
 20679 +    PR_Cleanup();
       
 20680 +#endif
       
 20681    }
       
 20682  
       
 20683    prioGlobalContext = NULL;
       
 20684  }
       
 20685 -
       
 20686 diff --git a/third_party/prio/prio/serial.h b/third_party/prio/prio/serial.h
       
 20687 --- a/third_party/prio/prio/serial.h
       
 20688 +++ b/third_party/prio/prio/serial.h
       
 20689 @@ -1,9 +1,9 @@
       
 20690  /*
       
 20691   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 20692 - * 
       
 20693 + *
       
 20694   * This Source Code Form is subject to the terms of the Mozilla Public
       
 20695   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 20696 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 20697 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 20698   */
       
 20699  
       
 20700  #ifndef __SERIAL_H__
       
 20701 @@ -11,11 +11,11 @@
       
 20702  
       
 20703  #include <mprio.h>
       
 20704  
       
 20705 -SECStatus serial_write_packet_client (msgpack_packer *pk, const_PrioPacketClient p,
       
 20706 -    const_PrioConfig cfg);
       
 20707 +SECStatus serial_write_packet_client(msgpack_packer* pk,
       
 20708 +                                     const_PrioPacketClient p,
       
 20709 +                                     const_PrioConfig cfg);
       
 20710  
       
 20711 -SECStatus serial_read_packet_client (msgpack_unpacker *upk, PrioPacketClient p,
       
 20712 -    const_PrioConfig cfg);
       
 20713 +SECStatus serial_read_packet_client(msgpack_unpacker* upk, PrioPacketClient p,
       
 20714 +                                    const_PrioConfig cfg);
       
 20715  
       
 20716  #endif /* __SERIAL_H__ */
       
 20717 -
       
 20718 diff --git a/third_party/prio/prio/serial.c b/third_party/prio/prio/serial.c
       
 20719 --- a/third_party/prio/prio/serial.c
       
 20720 +++ b/third_party/prio/prio/serial.c
       
 20721 @@ -1,9 +1,9 @@
       
 20722  /*
       
 20723   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 20724 - * 
       
 20725 + *
       
 20726   * This Source Code Form is subject to the terms of the Mozilla Public
       
 20727   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 20728 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 20729 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 20730   */
       
 20731  
       
 20732  #include <mprio.h>
       
 20733 @@ -17,277 +17,277 @@
       
 20734  
       
 20735  #define MSGPACK_OK 0
       
 20736  
       
 20737 -static SECStatus 
       
 20738 -serial_write_mp_int (msgpack_packer *pk, const mp_int *n)
       
 20739 +static SECStatus
       
 20740 +serial_write_mp_int(msgpack_packer* pk, const mp_int* n)
       
 20741  {
       
 20742    SECStatus rv = SECSuccess;
       
 20743 -  unsigned int n_size = mp_unsigned_octet_size (n);  
       
 20744 +  unsigned int n_size = mp_unsigned_octet_size(n);
       
 20745  
       
 20746    unsigned char data[n_size];
       
 20747 -  MP_CHECK (mp_to_fixlen_octets (n, data, n_size));
       
 20748 +  MP_CHECK(mp_to_fixlen_octets(n, data, n_size));
       
 20749  
       
 20750 -  P_CHECK (msgpack_pack_str (pk, n_size));
       
 20751 -  P_CHECK (msgpack_pack_str_body (pk, data, n_size));
       
 20752 +  P_CHECK(msgpack_pack_str(pk, n_size));
       
 20753 +  P_CHECK(msgpack_pack_str_body(pk, data, n_size));
       
 20754    return rv;
       
 20755  }
       
 20756  
       
 20757  static SECStatus
       
 20758 -object_to_mp_int (msgpack_object *obj, mp_int *n, const mp_int *max)
       
 20759 +object_to_mp_int(msgpack_object* obj, mp_int* n, const mp_int* max)
       
 20760  {
       
 20761    SECStatus rv = SECSuccess;
       
 20762 -  P_CHECKCB (obj != NULL);
       
 20763 -  P_CHECKCB (obj->type == MSGPACK_OBJECT_STR);
       
 20764 -  P_CHECKCB (n != NULL);
       
 20765 +  P_CHECKCB(obj != NULL);
       
 20766 +  P_CHECKCB(obj->type == MSGPACK_OBJECT_STR);
       
 20767 +  P_CHECKCB(n != NULL);
       
 20768  
       
 20769    msgpack_object_str s = obj->via.str;
       
 20770 -  P_CHECKCB (s.ptr != NULL);
       
 20771 -  MP_CHECKC (mp_read_unsigned_octets (n, (unsigned char *)s.ptr, s.size));
       
 20772 +  P_CHECKCB(s.ptr != NULL);
       
 20773 +  MP_CHECKC(mp_read_unsigned_octets(n, (unsigned char*)s.ptr, s.size));
       
 20774  
       
 20775 -  P_CHECKCB (mp_cmp_z (n) >= 0);
       
 20776 -  P_CHECKCB (mp_cmp (n, max) < 0);
       
 20777 +  P_CHECKCB(mp_cmp_z(n) >= 0);
       
 20778 +  P_CHECKCB(mp_cmp(n, max) < 0);
       
 20779  
       
 20780  cleanup:
       
 20781    return rv;
       
 20782  }
       
 20783  
       
 20784 -static SECStatus 
       
 20785 -serial_read_mp_int (msgpack_unpacker *upk, mp_int *n, const mp_int *max)
       
 20786 +static SECStatus
       
 20787 +serial_read_mp_int(msgpack_unpacker* upk, mp_int* n, const mp_int* max)
       
 20788  {
       
 20789    SECStatus rv = SECSuccess;
       
 20790 -  P_CHECKCB (upk != NULL);
       
 20791 -  P_CHECKCB (n != NULL);
       
 20792 -  P_CHECKCB (max != NULL);
       
 20793 +  P_CHECKCB(upk != NULL);
       
 20794 +  P_CHECKCB(n != NULL);
       
 20795 +  P_CHECKCB(max != NULL);
       
 20796  
       
 20797    msgpack_unpacked res;
       
 20798 -  msgpack_unpacked_init (&res);
       
 20799 -  UP_CHECK (msgpack_unpacker_next (upk, &res))
       
 20800 +  msgpack_unpacked_init(&res);
       
 20801 +  UP_CHECK(msgpack_unpacker_next(upk, &res))
       
 20802  
       
 20803    msgpack_object obj = res.data;
       
 20804 -  P_CHECKC (object_to_mp_int (&obj, n, max));
       
 20805 +  P_CHECKC(object_to_mp_int(&obj, n, max));
       
 20806  
       
 20807  cleanup:
       
 20808 -  msgpack_unpacked_destroy (&res);
       
 20809 +  msgpack_unpacked_destroy(&res);
       
 20810  
       
 20811    return rv;
       
 20812  }
       
 20813  
       
 20814 -static SECStatus 
       
 20815 -serial_read_int (msgpack_unpacker *upk, int *n)
       
 20816 +static SECStatus
       
 20817 +serial_read_int(msgpack_unpacker* upk, int* n)
       
 20818  {
       
 20819    SECStatus rv = SECSuccess;
       
 20820 -  P_CHECKCB (upk != NULL);
       
 20821 -  P_CHECKCB (n != NULL);
       
 20822 +  P_CHECKCB(upk != NULL);
       
 20823 +  P_CHECKCB(n != NULL);
       
 20824  
       
 20825    msgpack_unpacked res;
       
 20826 -  msgpack_unpacked_init (&res);
       
 20827 -  UP_CHECK (msgpack_unpacker_next (upk, &res))
       
 20828 +  msgpack_unpacked_init(&res);
       
 20829 +  UP_CHECK(msgpack_unpacker_next(upk, &res))
       
 20830  
       
 20831    msgpack_object obj = res.data;
       
 20832 -  P_CHECKCB (obj.type == MSGPACK_OBJECT_POSITIVE_INTEGER);
       
 20833 +  P_CHECKCB(obj.type == MSGPACK_OBJECT_POSITIVE_INTEGER);
       
 20834  
       
 20835    *n = obj.via.i64;
       
 20836  
       
 20837  cleanup:
       
 20838 -  msgpack_unpacked_destroy (&res);
       
 20839 +  msgpack_unpacked_destroy(&res);
       
 20840  
       
 20841    return rv;
       
 20842  }
       
 20843  
       
 20844 -static SECStatus 
       
 20845 -serial_write_mp_array (msgpack_packer *pk, const_MPArray arr)
       
 20846 +static SECStatus
       
 20847 +serial_write_mp_array(msgpack_packer* pk, const_MPArray arr)
       
 20848  {
       
 20849    SECStatus rv = SECSuccess;
       
 20850 -  P_CHECKCB (pk != NULL);
       
 20851 -  P_CHECKCB (arr != NULL);
       
 20852 +  P_CHECKCB(pk != NULL);
       
 20853 +  P_CHECKCB(arr != NULL);
       
 20854  
       
 20855 -  P_CHECK (msgpack_pack_array (pk, arr->len));
       
 20856 +  P_CHECK(msgpack_pack_array(pk, arr->len));
       
 20857    for (int i = 0; i < arr->len; i++) {
       
 20858 -    P_CHECK (serial_write_mp_int (pk, &arr->data[i]));
       
 20859 +    P_CHECK(serial_write_mp_int(pk, &arr->data[i]));
       
 20860    }
       
 20861  
       
 20862  cleanup:
       
 20863    return rv;
       
 20864  }
       
 20865  
       
 20866 -static SECStatus 
       
 20867 -serial_read_mp_array (msgpack_unpacker *upk, MPArray arr, size_t len, const mp_int
       
 20868 -    *max)
       
 20869 +static SECStatus
       
 20870 +serial_read_mp_array(msgpack_unpacker* upk, MPArray arr, size_t len,
       
 20871 +                     const mp_int* max)
       
 20872  {
       
 20873    SECStatus rv = SECSuccess;
       
 20874 -  P_CHECKCB (upk != NULL);
       
 20875 -  P_CHECKCB (arr != NULL);
       
 20876 -  P_CHECKCB (max != NULL);
       
 20877 +  P_CHECKCB(upk != NULL);
       
 20878 +  P_CHECKCB(arr != NULL);
       
 20879 +  P_CHECKCB(max != NULL);
       
 20880  
       
 20881    msgpack_unpacked res;
       
 20882 -  msgpack_unpacked_init (&res);
       
 20883 -  UP_CHECK (msgpack_unpacker_next (upk, &res))
       
 20884 +  msgpack_unpacked_init(&res);
       
 20885 +  UP_CHECK(msgpack_unpacker_next(upk, &res))
       
 20886  
       
 20887    msgpack_object obj = res.data;
       
 20888 -  P_CHECKCB (obj.type == MSGPACK_OBJECT_ARRAY);
       
 20889 +  P_CHECKCB(obj.type == MSGPACK_OBJECT_ARRAY);
       
 20890  
       
 20891    msgpack_object_array objarr = obj.via.array;
       
 20892 -  P_CHECKCB (objarr.size == len);
       
 20893 +  P_CHECKCB(objarr.size == len);
       
 20894  
       
 20895 -  P_CHECKC (MPArray_resize (arr, len));
       
 20896 -  for (unsigned int i=0; i<len; i++) {
       
 20897 -    P_CHECKC (object_to_mp_int (&objarr.ptr[i], &arr->data[i], max));
       
 20898 +  P_CHECKC(MPArray_resize(arr, len));
       
 20899 +  for (unsigned int i = 0; i < len; i++) {
       
 20900 +    P_CHECKC(object_to_mp_int(&objarr.ptr[i], &arr->data[i], max));
       
 20901    }
       
 20902  
       
 20903  cleanup:
       
 20904 -  msgpack_unpacked_destroy (&res);
       
 20905 +  msgpack_unpacked_destroy(&res);
       
 20906  
       
 20907    return rv;
       
 20908  }
       
 20909  
       
 20910 -
       
 20911 -static SECStatus 
       
 20912 -serial_write_beaver_triple (msgpack_packer *pk, const_BeaverTriple t)
       
 20913 +static SECStatus
       
 20914 +serial_write_beaver_triple(msgpack_packer* pk, const_BeaverTriple t)
       
 20915  {
       
 20916    SECStatus rv = SECSuccess;
       
 20917 -  P_CHECKCB (pk != NULL);
       
 20918 -  P_CHECKCB (t != NULL);
       
 20919 +  P_CHECKCB(pk != NULL);
       
 20920 +  P_CHECKCB(t != NULL);
       
 20921  
       
 20922 -  P_CHECK (serial_write_mp_int (pk, &t->a)); 
       
 20923 -  P_CHECK (serial_write_mp_int (pk, &t->b)); 
       
 20924 -  P_CHECK (serial_write_mp_int (pk, &t->c)); 
       
 20925 +  P_CHECK(serial_write_mp_int(pk, &t->a));
       
 20926 +  P_CHECK(serial_write_mp_int(pk, &t->b));
       
 20927 +  P_CHECK(serial_write_mp_int(pk, &t->c));
       
 20928  
       
 20929  cleanup:
       
 20930    return rv;
       
 20931  }
       
 20932  
       
 20933 -static SECStatus 
       
 20934 -serial_read_beaver_triple (msgpack_unpacker *pk, BeaverTriple t, const mp_int *max)
       
 20935 +static SECStatus
       
 20936 +serial_read_beaver_triple(msgpack_unpacker* pk, BeaverTriple t,
       
 20937 +                          const mp_int* max)
       
 20938  {
       
 20939    SECStatus rv = SECSuccess;
       
 20940 -  P_CHECKCB (pk != NULL);
       
 20941 -  P_CHECKCB (t != NULL);
       
 20942 -  P_CHECKCB (max != NULL);
       
 20943 +  P_CHECKCB(pk != NULL);
       
 20944 +  P_CHECKCB(t != NULL);
       
 20945 +  P_CHECKCB(max != NULL);
       
 20946  
       
 20947 -  P_CHECK (serial_read_mp_int (pk, &t->a, max)); 
       
 20948 -  P_CHECK (serial_read_mp_int (pk, &t->b, max)); 
       
 20949 -  P_CHECK (serial_read_mp_int (pk, &t->c, max)); 
       
 20950 +  P_CHECK(serial_read_mp_int(pk, &t->a, max));
       
 20951 +  P_CHECK(serial_read_mp_int(pk, &t->b, max));
       
 20952 +  P_CHECK(serial_read_mp_int(pk, &t->c, max));
       
 20953  
       
 20954  cleanup:
       
 20955    return rv;
       
 20956  }
       
 20957  
       
 20958 -static SECStatus 
       
 20959 -serial_write_server_a_data (msgpack_packer *pk, const struct server_a_data *A)
       
 20960 +static SECStatus
       
 20961 +serial_write_server_a_data(msgpack_packer* pk, const struct server_a_data* A)
       
 20962  {
       
 20963    SECStatus rv = SECSuccess;
       
 20964 -  P_CHECKCB (pk != NULL);
       
 20965 -  P_CHECKCB (A != NULL);
       
 20966 +  P_CHECKCB(pk != NULL);
       
 20967 +  P_CHECKCB(A != NULL);
       
 20968  
       
 20969 -  P_CHECK (serial_write_mp_array (pk, A->data_shares)); 
       
 20970 -  P_CHECK (serial_write_mp_array (pk, A->h_points)); 
       
 20971 +  P_CHECK(serial_write_mp_array(pk, A->data_shares));
       
 20972 +  P_CHECK(serial_write_mp_array(pk, A->h_points));
       
 20973  cleanup:
       
 20974    return rv;
       
 20975  }
       
 20976  
       
 20977 -static SECStatus 
       
 20978 -serial_read_server_a_data (msgpack_unpacker *upk, struct server_a_data *A,
       
 20979 -    const_PrioConfig cfg)
       
 20980 +static SECStatus
       
 20981 +serial_read_server_a_data(msgpack_unpacker* upk, struct server_a_data* A,
       
 20982 +                          const_PrioConfig cfg)
       
 20983  {
       
 20984    SECStatus rv = SECSuccess;
       
 20985 -  P_CHECKCB (upk != NULL);
       
 20986 -  P_CHECKCB (A != NULL);
       
 20987 +  P_CHECKCB(upk != NULL);
       
 20988 +  P_CHECKCB(A != NULL);
       
 20989  
       
 20990 -  P_CHECK (serial_read_mp_array (upk, A->data_shares, cfg->num_data_fields,
       
 20991 -        &cfg->modulus)); 
       
 20992 -  P_CHECK (serial_read_mp_array (upk, A->h_points, PrioConfig_hPoints (cfg),
       
 20993 -        &cfg->modulus)); 
       
 20994 +  P_CHECK(serial_read_mp_array(upk, A->data_shares, cfg->num_data_fields,
       
 20995 +                               &cfg->modulus));
       
 20996 +  P_CHECK(serial_read_mp_array(upk, A->h_points, PrioConfig_hPoints(cfg),
       
 20997 +                               &cfg->modulus));
       
 20998  
       
 20999  cleanup:
       
 21000    return rv;
       
 21001  }
       
 21002  
       
 21003 -static SECStatus 
       
 21004 -serial_write_prg_seed (msgpack_packer *pk, const PrioPRGSeed *seed)
       
 21005 +static SECStatus
       
 21006 +serial_write_prg_seed(msgpack_packer* pk, const PrioPRGSeed* seed)
       
 21007  {
       
 21008    SECStatus rv = SECSuccess;
       
 21009 -  P_CHECKCB (pk != NULL);
       
 21010 -  P_CHECKCB (seed != NULL);
       
 21011 +  P_CHECKCB(pk != NULL);
       
 21012 +  P_CHECKCB(seed != NULL);
       
 21013  
       
 21014 -  P_CHECK (msgpack_pack_str (pk, PRG_SEED_LENGTH));
       
 21015 -  P_CHECK (msgpack_pack_str_body (pk, seed, PRG_SEED_LENGTH));
       
 21016 +  P_CHECK(msgpack_pack_str(pk, PRG_SEED_LENGTH));
       
 21017 +  P_CHECK(msgpack_pack_str_body(pk, seed, PRG_SEED_LENGTH));
       
 21018  
       
 21019  cleanup:
       
 21020    return rv;
       
 21021  }
       
 21022  
       
 21023 -static SECStatus 
       
 21024 -serial_read_prg_seed (msgpack_unpacker *upk, PrioPRGSeed *seed)
       
 21025 +static SECStatus
       
 21026 +serial_read_prg_seed(msgpack_unpacker* upk, PrioPRGSeed* seed)
       
 21027  {
       
 21028    SECStatus rv = SECSuccess;
       
 21029 -  P_CHECKCB (upk != NULL);
       
 21030 -  P_CHECKCB (seed != NULL);
       
 21031 +  P_CHECKCB(upk != NULL);
       
 21032 +  P_CHECKCB(seed != NULL);
       
 21033  
       
 21034    msgpack_unpacked res;
       
 21035 -  msgpack_unpacked_init (&res);
       
 21036 -  UP_CHECK (msgpack_unpacker_next (upk, &res))
       
 21037 +  msgpack_unpacked_init(&res);
       
 21038 +  UP_CHECK(msgpack_unpacker_next(upk, &res))
       
 21039  
       
 21040    msgpack_object obj = res.data;
       
 21041 -  P_CHECKCB (obj.type == MSGPACK_OBJECT_STR);
       
 21042 +  P_CHECKCB(obj.type == MSGPACK_OBJECT_STR);
       
 21043  
       
 21044    msgpack_object_str s = obj.via.str;
       
 21045 -  P_CHECKCB (s.size == PRG_SEED_LENGTH);
       
 21046 -  memcpy (seed, s.ptr, PRG_SEED_LENGTH);
       
 21047 +  P_CHECKCB(s.size == PRG_SEED_LENGTH);
       
 21048 +  memcpy(seed, s.ptr, PRG_SEED_LENGTH);
       
 21049  
       
 21050  cleanup:
       
 21051 -  msgpack_unpacked_destroy (&res);
       
 21052 +  msgpack_unpacked_destroy(&res);
       
 21053  
       
 21054    return rv;
       
 21055  }
       
 21056  
       
 21057 -static SECStatus 
       
 21058 -serial_write_server_b_data (msgpack_packer *pk, const struct server_b_data *B)
       
 21059 +static SECStatus
       
 21060 +serial_write_server_b_data(msgpack_packer* pk, const struct server_b_data* B)
       
 21061  {
       
 21062    SECStatus rv = SECSuccess;
       
 21063 -  P_CHECKCB (pk != NULL);
       
 21064 -  P_CHECKCB (B != NULL);
       
 21065 +  P_CHECKCB(pk != NULL);
       
 21066 +  P_CHECKCB(B != NULL);
       
 21067  
       
 21068 -  rv = serial_write_prg_seed (pk, &B->seed);
       
 21069 +  rv = serial_write_prg_seed(pk, &B->seed);
       
 21070  cleanup:
       
 21071    return rv;
       
 21072  }
       
 21073  
       
 21074 -static SECStatus 
       
 21075 -serial_read_server_b_data (msgpack_unpacker *upk, struct server_b_data *B)
       
 21076 +static SECStatus
       
 21077 +serial_read_server_b_data(msgpack_unpacker* upk, struct server_b_data* B)
       
 21078  {
       
 21079    SECStatus rv = SECSuccess;
       
 21080 -  P_CHECKCB (upk != NULL);
       
 21081 -  P_CHECKCB (B != NULL);
       
 21082 -  
       
 21083 -  rv =serial_read_prg_seed (upk, &B->seed);
       
 21084 +  P_CHECKCB(upk != NULL);
       
 21085 +  P_CHECKCB(B != NULL);
       
 21086 +
       
 21087 +  rv = serial_read_prg_seed(upk, &B->seed);
       
 21088  cleanup:
       
 21089    return rv;
       
 21090  }
       
 21091  
       
 21092 -SECStatus 
       
 21093 -serial_write_packet_client (msgpack_packer *pk, const_PrioPacketClient p,
       
 21094 -    const_PrioConfig cfg)
       
 21095 +SECStatus
       
 21096 +serial_write_packet_client(msgpack_packer* pk, const_PrioPacketClient p,
       
 21097 +                           const_PrioConfig cfg)
       
 21098  {
       
 21099    SECStatus rv = SECSuccess;
       
 21100 -  P_CHECKCB (pk != NULL);
       
 21101 -  P_CHECKCB (p != NULL);
       
 21102 +  P_CHECKCB(pk != NULL);
       
 21103 +  P_CHECKCB(p != NULL);
       
 21104  
       
 21105 -  P_CHECK (msgpack_pack_str (pk, cfg->batch_id_len));
       
 21106 -  P_CHECK (msgpack_pack_str_body (pk, cfg->batch_id, cfg->batch_id_len));
       
 21107 +  P_CHECK(msgpack_pack_str(pk, cfg->batch_id_len));
       
 21108 +  P_CHECK(msgpack_pack_str_body(pk, cfg->batch_id, cfg->batch_id_len));
       
 21109  
       
 21110 -  P_CHECK (serial_write_beaver_triple (pk, p->triple));
       
 21111 +  P_CHECK(serial_write_beaver_triple(pk, p->triple));
       
 21112  
       
 21113 -  P_CHECK (serial_write_mp_int (pk, &p->f0_share));
       
 21114 -  P_CHECK (serial_write_mp_int (pk, &p->g0_share));
       
 21115 -  P_CHECK (serial_write_mp_int (pk, &p->h0_share));
       
 21116 +  P_CHECK(serial_write_mp_int(pk, &p->f0_share));
       
 21117 +  P_CHECK(serial_write_mp_int(pk, &p->g0_share));
       
 21118 +  P_CHECK(serial_write_mp_int(pk, &p->h0_share));
       
 21119  
       
 21120 -  P_CHECK (msgpack_pack_int (pk, p->for_server));
       
 21121 +  P_CHECK(msgpack_pack_int(pk, p->for_server));
       
 21122  
       
 21123    switch (p->for_server) {
       
 21124      case PRIO_SERVER_A:
       
 21125 -      P_CHECK (serial_write_server_a_data (pk, &p->shares.A));
       
 21126 +      P_CHECK(serial_write_server_a_data(pk, &p->shares.A));
       
 21127        break;
       
 21128      case PRIO_SERVER_B:
       
 21129 -      P_CHECK (serial_write_server_b_data (pk, &p->shares.B));
       
 21130 +      P_CHECK(serial_write_server_b_data(pk, &p->shares.B));
       
 21131        break;
       
 21132      default:
       
 21133        return SECFailure;
       
 21134 @@ -297,146 +297,144 @@
       
 21135    return rv;
       
 21136  }
       
 21137  
       
 21138 -SECStatus 
       
 21139 -serial_read_server_id (msgpack_unpacker *upk, PrioServerId *s)
       
 21140 +SECStatus
       
 21141 +serial_read_server_id(msgpack_unpacker* upk, PrioServerId* s)
       
 21142  {
       
 21143    SECStatus rv = SECSuccess;
       
 21144 -  P_CHECKCB (upk != NULL);
       
 21145 -  P_CHECKCB (s != NULL);
       
 21146 +  P_CHECKCB(upk != NULL);
       
 21147 +  P_CHECKCB(s != NULL);
       
 21148  
       
 21149    int serv;
       
 21150 -  P_CHECK (serial_read_int (upk, &serv));
       
 21151 -  P_CHECKCB (serv == PRIO_SERVER_A || serv == PRIO_SERVER_B);
       
 21152 +  P_CHECK(serial_read_int(upk, &serv));
       
 21153 +  P_CHECKCB(serv == PRIO_SERVER_A || serv == PRIO_SERVER_B);
       
 21154    *s = serv;
       
 21155  
       
 21156  cleanup:
       
 21157    return rv;
       
 21158  }
       
 21159  
       
 21160 -SECStatus 
       
 21161 -serial_read_packet_client (msgpack_unpacker *upk, PrioPacketClient p,
       
 21162 -    const_PrioConfig cfg)
       
 21163 +SECStatus
       
 21164 +serial_read_packet_client(msgpack_unpacker* upk, PrioPacketClient p,
       
 21165 +                          const_PrioConfig cfg)
       
 21166  {
       
 21167    SECStatus rv = SECSuccess;
       
 21168 -  P_CHECKCB (upk != NULL);
       
 21169 -  P_CHECKCB (p != NULL);
       
 21170 +  P_CHECKCB(upk != NULL);
       
 21171 +  P_CHECKCB(p != NULL);
       
 21172    msgpack_unpacked res;
       
 21173 -  msgpack_unpacked_init (&res);
       
 21174 -  UP_CHECK (msgpack_unpacker_next (upk, &res))
       
 21175 +  msgpack_unpacked_init(&res);
       
 21176 +  UP_CHECK(msgpack_unpacker_next(upk, &res))
       
 21177  
       
 21178    msgpack_object obj = res.data;
       
 21179 -  P_CHECKCB (obj.type == MSGPACK_OBJECT_STR);
       
 21180 +  P_CHECKCB(obj.type == MSGPACK_OBJECT_STR);
       
 21181  
       
 21182    msgpack_object_str s = obj.via.str;
       
 21183 -  P_CHECKCB (s.size == cfg->batch_id_len);
       
 21184 -  P_CHECKCB (!memcmp (s.ptr, (char *)cfg->batch_id, cfg->batch_id_len));
       
 21185 +  P_CHECKCB(s.size == cfg->batch_id_len);
       
 21186 +  P_CHECKCB(!memcmp(s.ptr, (char*)cfg->batch_id, cfg->batch_id_len));
       
 21187  
       
 21188 -  P_CHECK (serial_read_beaver_triple (upk, p->triple, &cfg->modulus));
       
 21189 +  P_CHECK(serial_read_beaver_triple(upk, p->triple, &cfg->modulus));
       
 21190  
       
 21191 -  P_CHECK (serial_read_mp_int (upk, &p->f0_share, &cfg->modulus));
       
 21192 -  P_CHECK (serial_read_mp_int (upk, &p->g0_share, &cfg->modulus));
       
 21193 -  P_CHECK (serial_read_mp_int (upk, &p->h0_share, &cfg->modulus));
       
 21194 +  P_CHECK(serial_read_mp_int(upk, &p->f0_share, &cfg->modulus));
       
 21195 +  P_CHECK(serial_read_mp_int(upk, &p->g0_share, &cfg->modulus));
       
 21196 +  P_CHECK(serial_read_mp_int(upk, &p->h0_share, &cfg->modulus));
       
 21197  
       
 21198 -  P_CHECK (serial_read_server_id (upk, &p->for_server));
       
 21199 +  P_CHECK(serial_read_server_id(upk, &p->for_server));
       
 21200  
       
 21201    switch (p->for_server) {
       
 21202      case PRIO_SERVER_A:
       
 21203 -      P_CHECK (serial_read_server_a_data (upk, &p->shares.A, cfg));
       
 21204 +      P_CHECK(serial_read_server_a_data(upk, &p->shares.A, cfg));
       
 21205        break;
       
 21206      case PRIO_SERVER_B:
       
 21207 -      P_CHECK (serial_read_server_b_data (upk, &p->shares.B));
       
 21208 +      P_CHECK(serial_read_server_b_data(upk, &p->shares.B));
       
 21209        break;
       
 21210      default:
       
 21211        return SECFailure;
       
 21212    }
       
 21213  
       
 21214  cleanup:
       
 21215 -  msgpack_unpacked_destroy (&res);
       
 21216 +  msgpack_unpacked_destroy(&res);
       
 21217    return rv;
       
 21218  }
       
 21219  
       
 21220 -
       
 21221 -SECStatus 
       
 21222 -PrioPacketVerify1_write (const_PrioPacketVerify1 p, msgpack_packer *pk)
       
 21223 +SECStatus
       
 21224 +PrioPacketVerify1_write(const_PrioPacketVerify1 p, msgpack_packer* pk)
       
 21225  {
       
 21226    SECStatus rv = SECSuccess;
       
 21227 -  P_CHECKCB (pk != NULL);
       
 21228 -  P_CHECKCB (p != NULL);
       
 21229 +  P_CHECKCB(pk != NULL);
       
 21230 +  P_CHECKCB(p != NULL);
       
 21231  
       
 21232 -  P_CHECK (serial_write_mp_int (pk, &p->share_d));
       
 21233 -  P_CHECK (serial_write_mp_int (pk, &p->share_e));
       
 21234 +  P_CHECK(serial_write_mp_int(pk, &p->share_d));
       
 21235 +  P_CHECK(serial_write_mp_int(pk, &p->share_e));
       
 21236  
       
 21237  cleanup:
       
 21238    return rv;
       
 21239  }
       
 21240  
       
 21241 -SECStatus 
       
 21242 -PrioPacketVerify1_read (PrioPacketVerify1 p, msgpack_unpacker *upk,
       
 21243 -    const_PrioConfig cfg)
       
 21244 +SECStatus
       
 21245 +PrioPacketVerify1_read(PrioPacketVerify1 p, msgpack_unpacker* upk,
       
 21246 +                       const_PrioConfig cfg)
       
 21247  {
       
 21248    SECStatus rv = SECSuccess;
       
 21249 -  P_CHECKCB (upk != NULL);
       
 21250 -  P_CHECKCB (p != NULL);
       
 21251 +  P_CHECKCB(upk != NULL);
       
 21252 +  P_CHECKCB(p != NULL);
       
 21253  
       
 21254 -  P_CHECK (serial_read_mp_int (upk, &p->share_d, &cfg->modulus));
       
 21255 -  P_CHECK (serial_read_mp_int (upk, &p->share_e, &cfg->modulus));
       
 21256 +  P_CHECK(serial_read_mp_int(upk, &p->share_d, &cfg->modulus));
       
 21257 +  P_CHECK(serial_read_mp_int(upk, &p->share_e, &cfg->modulus));
       
 21258  
       
 21259  cleanup:
       
 21260    return rv;
       
 21261  }
       
 21262  
       
 21263 -SECStatus 
       
 21264 -PrioPacketVerify2_write (const_PrioPacketVerify2 p, msgpack_packer *pk)
       
 21265 +SECStatus
       
 21266 +PrioPacketVerify2_write(const_PrioPacketVerify2 p, msgpack_packer* pk)
       
 21267  {
       
 21268    SECStatus rv = SECSuccess;
       
 21269 -  P_CHECKCB (pk != NULL);
       
 21270 -  P_CHECKCB (p != NULL);
       
 21271 +  P_CHECKCB(pk != NULL);
       
 21272 +  P_CHECKCB(p != NULL);
       
 21273  
       
 21274 -  P_CHECK (serial_write_mp_int (pk, &p->share_out));
       
 21275 +  P_CHECK(serial_write_mp_int(pk, &p->share_out));
       
 21276  
       
 21277  cleanup:
       
 21278    return rv;
       
 21279  }
       
 21280  
       
 21281 -SECStatus 
       
 21282 -PrioPacketVerify2_read (PrioPacketVerify2 p, msgpack_unpacker *upk,
       
 21283 -    const_PrioConfig cfg)
       
 21284 +SECStatus
       
 21285 +PrioPacketVerify2_read(PrioPacketVerify2 p, msgpack_unpacker* upk,
       
 21286 +                       const_PrioConfig cfg)
       
 21287  {
       
 21288    SECStatus rv = SECSuccess;
       
 21289 -  P_CHECKCB (upk != NULL);
       
 21290 -  P_CHECKCB (p != NULL);
       
 21291 +  P_CHECKCB(upk != NULL);
       
 21292 +  P_CHECKCB(p != NULL);
       
 21293  
       
 21294 -  P_CHECK (serial_read_mp_int (upk, &p->share_out, &cfg->modulus));
       
 21295 +  P_CHECK(serial_read_mp_int(upk, &p->share_out, &cfg->modulus));
       
 21296  
       
 21297  cleanup:
       
 21298    return rv;
       
 21299  }
       
 21300  
       
 21301 -SECStatus 
       
 21302 -PrioTotalShare_write (const_PrioTotalShare t, msgpack_packer *pk)
       
 21303 +SECStatus
       
 21304 +PrioTotalShare_write(const_PrioTotalShare t, msgpack_packer* pk)
       
 21305  {
       
 21306    SECStatus rv = SECSuccess;
       
 21307 -  P_CHECKCB (t != NULL);
       
 21308 -  P_CHECKCB (pk != NULL);
       
 21309 -  P_CHECK (msgpack_pack_int (pk, t->idx));
       
 21310 -  P_CHECK (serial_write_mp_array (pk, t->data_shares));
       
 21311 +  P_CHECKCB(t != NULL);
       
 21312 +  P_CHECKCB(pk != NULL);
       
 21313 +  P_CHECK(msgpack_pack_int(pk, t->idx));
       
 21314 +  P_CHECK(serial_write_mp_array(pk, t->data_shares));
       
 21315  
       
 21316  cleanup:
       
 21317    return rv;
       
 21318  }
       
 21319  
       
 21320 -SECStatus 
       
 21321 -PrioTotalShare_read (PrioTotalShare t, msgpack_unpacker *upk, 
       
 21322 -    const_PrioConfig cfg)
       
 21323 +SECStatus
       
 21324 +PrioTotalShare_read(PrioTotalShare t, msgpack_unpacker* upk,
       
 21325 +                    const_PrioConfig cfg)
       
 21326  {
       
 21327    SECStatus rv = SECSuccess;
       
 21328 -  P_CHECKCB (t != NULL);
       
 21329 -  P_CHECKCB (upk != NULL);
       
 21330 -  P_CHECK (serial_read_server_id (upk, &t->idx));
       
 21331 -  P_CHECK (serial_read_mp_array (upk, t->data_shares, cfg->num_data_fields,
       
 21332 -        &cfg->modulus));
       
 21333 +  P_CHECKCB(t != NULL);
       
 21334 +  P_CHECKCB(upk != NULL);
       
 21335 +  P_CHECK(serial_read_server_id(upk, &t->idx));
       
 21336 +  P_CHECK(serial_read_mp_array(upk, t->data_shares, cfg->num_data_fields,
       
 21337 +                               &cfg->modulus));
       
 21338  
       
 21339  cleanup:
       
 21340    return rv;
       
 21341  }
       
 21342 -
       
 21343 diff --git a/third_party/prio/prio/server.h b/third_party/prio/prio/server.h
       
 21344 --- a/third_party/prio/prio/server.h
       
 21345 +++ b/third_party/prio/prio/server.h
       
 21346 @@ -1,9 +1,9 @@
       
 21347  /*
       
 21348   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 21349 - * 
       
 21350 + *
       
 21351   * This Source Code Form is subject to the terms of the Mozilla Public
       
 21352   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 21353 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 21354 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 21355   */
       
 21356  
       
 21357  #ifndef __SERVER_H__
       
 21358 @@ -13,12 +13,14 @@
       
 21359  #include "prg.h"
       
 21360  #include "share.h"
       
 21361  
       
 21362 -struct prio_total_share {
       
 21363 +struct prio_total_share
       
 21364 +{
       
 21365    PrioServerId idx;
       
 21366    MPArray data_shares;
       
 21367  };
       
 21368  
       
 21369 -struct prio_server {
       
 21370 +struct prio_server
       
 21371 +{
       
 21372    const_PrioConfig cfg;
       
 21373    PrioServerId idx;
       
 21374  
       
 21375 @@ -34,7 +36,8 @@
       
 21376    PRG prg;
       
 21377  };
       
 21378  
       
 21379 -struct prio_verifier {
       
 21380 +struct prio_verifier
       
 21381 +{
       
 21382    PrioServer s;
       
 21383  
       
 21384    PrioPacketClient clientp;
       
 21385 @@ -47,14 +50,15 @@
       
 21386    mp_int share_out;
       
 21387  };
       
 21388  
       
 21389 -struct prio_packet_verify1 {
       
 21390 +struct prio_packet_verify1
       
 21391 +{
       
 21392    mp_int share_d;
       
 21393    mp_int share_e;
       
 21394  };
       
 21395  
       
 21396 -struct prio_packet_verify2 {
       
 21397 +struct prio_packet_verify2
       
 21398 +{
       
 21399    mp_int share_out;
       
 21400  };
       
 21401  
       
 21402  #endif /* __SERVER_H__ */
       
 21403 -
       
 21404 diff --git a/third_party/prio/prio/server.c b/third_party/prio/prio/server.c
       
 21405 --- a/third_party/prio/prio/server.c
       
 21406 +++ b/third_party/prio/prio/server.c
       
 21407 @@ -1,9 +1,9 @@
       
 21408  /*
       
 21409   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 21410 - * 
       
 21411 + *
       
 21412   * This Source Code Form is subject to the terms of the Mozilla Public
       
 21413   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 21414 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 21415 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 21416   */
       
 21417  
       
 21418  #include <mpi.h>
       
 21419 @@ -12,49 +12,51 @@
       
 21420  #include <stdlib.h>
       
 21421  
       
 21422  #include "client.h"
       
 21423 -#include "prg.h"
       
 21424 +#include "mparray.h"
       
 21425  #include "poly.h"
       
 21426 -#include "mparray.h"
       
 21427 +#include "prg.h"
       
 21428  #include "server.h"
       
 21429  #include "util.h"
       
 21430  
       
 21431 -PrioServer 
       
 21432 -PrioServer_new (const_PrioConfig cfg, PrioServerId server_idx, 
       
 21433 -    PrivateKey server_priv, const PrioPRGSeed seed)
       
 21434 +PrioServer
       
 21435 +PrioServer_new(const_PrioConfig cfg, PrioServerId server_idx,
       
 21436 +               PrivateKey server_priv, const PrioPRGSeed seed)
       
 21437  {
       
 21438    SECStatus rv = SECSuccess;
       
 21439 -  PrioServer s = malloc (sizeof (*s));
       
 21440 -  if (!s) return NULL;
       
 21441 +  PrioServer s = malloc(sizeof(*s));
       
 21442 +  if (!s)
       
 21443 +    return NULL;
       
 21444    s->cfg = cfg;
       
 21445    s->idx = server_idx;
       
 21446    s->priv_key = server_priv;
       
 21447    s->data_shares = NULL;
       
 21448    s->prg = NULL;
       
 21449 -  
       
 21450 -  P_CHECKA (s->data_shares = MPArray_new (s->cfg->num_data_fields));
       
 21451 -  P_CHECKA (s->prg = PRG_new (seed));
       
 21452 +
       
 21453 +  P_CHECKA(s->data_shares = MPArray_new(s->cfg->num_data_fields));
       
 21454 +  P_CHECKA(s->prg = PRG_new(seed));
       
 21455  
       
 21456  cleanup:
       
 21457    if (rv != SECSuccess) {
       
 21458 -    PrioServer_clear (s); 
       
 21459 +    PrioServer_clear(s);
       
 21460      return NULL;
       
 21461    }
       
 21462  
       
 21463    return s;
       
 21464  }
       
 21465  
       
 21466 -void 
       
 21467 -PrioServer_clear (PrioServer s)
       
 21468 +void
       
 21469 +PrioServer_clear(PrioServer s)
       
 21470  {
       
 21471 -  if (!s) return;
       
 21472 +  if (!s)
       
 21473 +    return;
       
 21474  
       
 21475 -  PRG_clear (s->prg);
       
 21476 -  MPArray_clear (s->data_shares);
       
 21477 +  PRG_clear(s->prg);
       
 21478 +  MPArray_clear(s->data_shares);
       
 21479    free(s);
       
 21480  }
       
 21481  
       
 21482  SECStatus
       
 21483 -PrioServer_aggregate (PrioServer s, PrioVerifier v)
       
 21484 +PrioServer_aggregate(PrioServer s, PrioVerifier v)
       
 21485  {
       
 21486    MPArray arr = NULL;
       
 21487    switch (s->idx) {
       
 21488 @@ -69,48 +71,49 @@
       
 21489        return SECFailure;
       
 21490    }
       
 21491  
       
 21492 -  return MPArray_addmod (s->data_shares, arr, &s->cfg->modulus);  
       
 21493 +  return MPArray_addmod(s->data_shares, arr, &s->cfg->modulus);
       
 21494  }
       
 21495  
       
 21496 -PrioTotalShare 
       
 21497 -PrioTotalShare_new (void)
       
 21498 +PrioTotalShare
       
 21499 +PrioTotalShare_new(void)
       
 21500  {
       
 21501 -  PrioTotalShare t = malloc (sizeof (*t));
       
 21502 -  if (!t) return NULL;
       
 21503 +  PrioTotalShare t = malloc(sizeof(*t));
       
 21504 +  if (!t)
       
 21505 +    return NULL;
       
 21506  
       
 21507 -  t->data_shares = MPArray_new (0);
       
 21508 +  t->data_shares = MPArray_new(0);
       
 21509    if (!t->data_shares) {
       
 21510 -    free (t);
       
 21511 +    free(t);
       
 21512      return NULL;
       
 21513    }
       
 21514  
       
 21515    return t;
       
 21516  }
       
 21517  
       
 21518 -void 
       
 21519 -PrioTotalShare_clear (PrioTotalShare t)
       
 21520 +void
       
 21521 +PrioTotalShare_clear(PrioTotalShare t)
       
 21522  {
       
 21523 -  if (!t) return;
       
 21524 -  MPArray_clear (t->data_shares);
       
 21525 -  free (t);
       
 21526 +  if (!t)
       
 21527 +    return;
       
 21528 +  MPArray_clear(t->data_shares);
       
 21529 +  free(t);
       
 21530  }
       
 21531  
       
 21532  SECStatus
       
 21533 -PrioTotalShare_set_data (PrioTotalShare t, const_PrioServer s)
       
 21534 +PrioTotalShare_set_data(PrioTotalShare t, const_PrioServer s)
       
 21535  {
       
 21536    t->idx = s->idx;
       
 21537    SECStatus rv = SECSuccess;
       
 21538 - 
       
 21539 -  P_CHECK (MPArray_resize (t->data_shares, s->data_shares->len));
       
 21540 -  P_CHECK (MPArray_copy (t->data_shares, s->data_shares));
       
 21541 +
       
 21542 +  P_CHECK(MPArray_resize(t->data_shares, s->data_shares->len));
       
 21543 +  P_CHECK(MPArray_copy(t->data_shares, s->data_shares));
       
 21544  
       
 21545    return rv;
       
 21546  }
       
 21547  
       
 21548  SECStatus
       
 21549 -PrioTotalShare_final (const_PrioConfig cfg, 
       
 21550 -    unsigned long *output,
       
 21551 -    const_PrioTotalShare tA, const_PrioTotalShare tB)
       
 21552 +PrioTotalShare_final(const_PrioConfig cfg, unsigned long* output,
       
 21553 +                     const_PrioTotalShare tA, const_PrioTotalShare tB)
       
 21554  {
       
 21555    if (tA->data_shares->len != cfg->num_data_fields)
       
 21556      return SECFailure;
       
 21557 @@ -122,24 +125,24 @@
       
 21558    SECStatus rv = SECSuccess;
       
 21559  
       
 21560    mp_int tmp;
       
 21561 -  MP_DIGITS (&tmp) = NULL;
       
 21562 -  MP_CHECKC (mp_init (&tmp));
       
 21563 +  MP_DIGITS(&tmp) = NULL;
       
 21564 +  MP_CHECKC(mp_init(&tmp));
       
 21565  
       
 21566 -  for (int i=0; i<cfg->num_data_fields; i++) {
       
 21567 -    MP_CHECKC (mp_addmod(&tA->data_shares->data[i], &tB->data_shares->data[i], 
       
 21568 -          &cfg->modulus, &tmp));
       
 21569 +  for (int i = 0; i < cfg->num_data_fields; i++) {
       
 21570 +    MP_CHECKC(mp_addmod(&tA->data_shares->data[i], &tB->data_shares->data[i],
       
 21571 +                        &cfg->modulus, &tmp));
       
 21572  
       
 21573      output[i] = tmp.dp[0];
       
 21574    }
       
 21575  
       
 21576  cleanup:
       
 21577 -  mp_clear (&tmp);
       
 21578 +  mp_clear(&tmp);
       
 21579    return rv;
       
 21580  }
       
 21581  
       
 21582 -
       
 21583 -inline static mp_int *
       
 21584 -get_data_share (const_PrioVerifier v, int i) {
       
 21585 +inline static mp_int*
       
 21586 +get_data_share(const_PrioVerifier v, int i)
       
 21587 +{
       
 21588    switch (v->s->idx) {
       
 21589      case PRIO_SERVER_A:
       
 21590        return &v->clientp->shares.A.data_shares->data[i];
       
 21591 @@ -150,8 +153,9 @@
       
 21592    return NULL;
       
 21593  }
       
 21594  
       
 21595 -inline static mp_int *
       
 21596 -get_h_share (const_PrioVerifier v, int i) {
       
 21597 +inline static mp_int*
       
 21598 +get_h_share(const_PrioVerifier v, int i)
       
 21599 +{
       
 21600    switch (v->s->idx) {
       
 21601      case PRIO_SERVER_A:
       
 21602        return &v->clientp->shares.A.h_points->data[i];
       
 21603 @@ -168,118 +172,122 @@
       
 21604   * by the shared secret. Store the evaluations in the verifier object.
       
 21605   */
       
 21606  static SECStatus
       
 21607 -compute_shares (PrioVerifier v, const_PrioPacketClient p)
       
 21608 +compute_shares(PrioVerifier v, const_PrioPacketClient p)
       
 21609  {
       
 21610    SECStatus rv;
       
 21611    const int n = v->s->cfg->num_data_fields + 1;
       
 21612 -  const int N = next_power_of_two (n);
       
 21613 +  const int N = next_power_of_two(n);
       
 21614    mp_int eval_at;
       
 21615 -  MP_DIGITS (&eval_at) = NULL;
       
 21616 +  MP_DIGITS(&eval_at) = NULL;
       
 21617  
       
 21618    MPArray points_f = NULL;
       
 21619    MPArray points_g = NULL;
       
 21620    MPArray points_h = NULL;
       
 21621  
       
 21622 -  MP_CHECKC (mp_init (&eval_at)); 
       
 21623 -  P_CHECKA (points_f = MPArray_new (N));
       
 21624 -  P_CHECKA (points_g = MPArray_new (N));
       
 21625 -  P_CHECKA (points_h = MPArray_new (2*N));
       
 21626 +  MP_CHECKC(mp_init(&eval_at));
       
 21627 +  P_CHECKA(points_f = MPArray_new(N));
       
 21628 +  P_CHECKA(points_g = MPArray_new(N));
       
 21629 +  P_CHECKA(points_h = MPArray_new(2 * N));
       
 21630  
       
 21631    // Use PRG to generate random point
       
 21632 -  MP_CHECKC (PRG_get_int (v->s->prg, &eval_at, &v->s->cfg->modulus));
       
 21633 - 
       
 21634 -  // Reduce value into the field we're using. This 
       
 21635 +  MP_CHECKC(PRG_get_int(v->s->prg, &eval_at, &v->s->cfg->modulus));
       
 21636 +
       
 21637 +  // Reduce value into the field we're using. This
       
 21638    // doesn't yield exactly a uniformly random point,
       
 21639    // but for values this large, it will be close
       
 21640    // enough.
       
 21641 -  MP_CHECKC (mp_mod (&eval_at, &v->s->cfg->modulus, &eval_at));
       
 21642 +  MP_CHECKC(mp_mod(&eval_at, &v->s->cfg->modulus, &eval_at));
       
 21643  
       
 21644    // Client sends us the values of f(0) and g(0)
       
 21645 -  MP_CHECKC (mp_copy(&p->f0_share, &points_f->data[0]));
       
 21646 -  MP_CHECKC (mp_copy(&p->g0_share, &points_g->data[0]));
       
 21647 -  MP_CHECKC (mp_copy(&p->h0_share, &points_h->data[0])); 
       
 21648 +  MP_CHECKC(mp_copy(&p->f0_share, &points_f->data[0]));
       
 21649 +  MP_CHECKC(mp_copy(&p->g0_share, &points_g->data[0]));
       
 21650 +  MP_CHECKC(mp_copy(&p->h0_share, &points_h->data[0]));
       
 21651  
       
 21652 -  for (int i=1; i<n; i++) {
       
 21653 +  for (int i = 1; i < n; i++) {
       
 21654      // [f](i) = i-th data share
       
 21655 -    const mp_int *data_i_minus_1 = get_data_share(v, i-1);
       
 21656 -    MP_CHECKC (mp_copy(data_i_minus_1, &points_f->data[i]));
       
 21657 +    const mp_int* data_i_minus_1 = get_data_share(v, i - 1);
       
 21658 +    MP_CHECKC(mp_copy(data_i_minus_1, &points_f->data[i]));
       
 21659  
       
 21660      // [g](i) = i-th data share minus 1
       
 21661      // Only need to shift the share for 0-th server
       
 21662 -    MP_CHECKC (mp_copy(&points_f->data[i], &points_g->data[i]));
       
 21663 +    MP_CHECKC(mp_copy(&points_f->data[i], &points_g->data[i]));
       
 21664      if (!v->s->idx) {
       
 21665 -      MP_CHECKC (mp_sub_d(&points_g->data[i], 1, &points_g->data[i]));
       
 21666 -      MP_CHECKC (mp_mod(&points_g->data[i], &v->s->cfg->modulus, &points_g->data[i]));
       
 21667 +      MP_CHECKC(mp_sub_d(&points_g->data[i], 1, &points_g->data[i]));
       
 21668 +      MP_CHECKC(
       
 21669 +        mp_mod(&points_g->data[i], &v->s->cfg->modulus, &points_g->data[i]));
       
 21670      }
       
 21671    }
       
 21672  
       
 21673    int j = 0;
       
 21674 -  for (int i=1; i<2*N; i+=2) {
       
 21675 -    const mp_int *h_point_j = get_h_share (v, j++);
       
 21676 -    MP_CHECKC (mp_copy(h_point_j, &points_h->data[i]));
       
 21677 +  for (int i = 1; i < 2 * N; i += 2) {
       
 21678 +    const mp_int* h_point_j = get_h_share(v, j++);
       
 21679 +    MP_CHECKC(mp_copy(h_point_j, &points_h->data[i]));
       
 21680    }
       
 21681  
       
 21682 -  P_CHECKC (poly_interp_evaluate (&v->share_fR, points_f, &eval_at, v->s->cfg));
       
 21683 -  P_CHECKC (poly_interp_evaluate (&v->share_gR, points_g, &eval_at, v->s->cfg));
       
 21684 -  P_CHECKC (poly_interp_evaluate (&v->share_hR, points_h, &eval_at, v->s->cfg));
       
 21685 +  P_CHECKC(poly_interp_evaluate(&v->share_fR, points_f, &eval_at, v->s->cfg));
       
 21686 +  P_CHECKC(poly_interp_evaluate(&v->share_gR, points_g, &eval_at, v->s->cfg));
       
 21687 +  P_CHECKC(poly_interp_evaluate(&v->share_hR, points_h, &eval_at, v->s->cfg));
       
 21688  
       
 21689  cleanup:
       
 21690 -  MPArray_clear (points_f);
       
 21691 -  MPArray_clear (points_g);
       
 21692 -  MPArray_clear (points_h);
       
 21693 -  mp_clear (&eval_at);
       
 21694 +  MPArray_clear(points_f);
       
 21695 +  MPArray_clear(points_g);
       
 21696 +  MPArray_clear(points_h);
       
 21697 +  mp_clear(&eval_at);
       
 21698    return rv;
       
 21699  }
       
 21700  
       
 21701 -PrioVerifier PrioVerifier_new (PrioServer s)
       
 21702 +PrioVerifier
       
 21703 +PrioVerifier_new(PrioServer s)
       
 21704  {
       
 21705    SECStatus rv = SECSuccess;
       
 21706 -  PrioVerifier v = malloc (sizeof *v);
       
 21707 -  if (!v) return NULL;
       
 21708 +  PrioVerifier v = malloc(sizeof *v);
       
 21709 +  if (!v)
       
 21710 +    return NULL;
       
 21711  
       
 21712    v->s = s;
       
 21713    v->clientp = NULL;
       
 21714    v->data_sharesB = NULL;
       
 21715    v->h_pointsB = NULL;
       
 21716  
       
 21717 -  MP_DIGITS (&v->share_fR) = NULL;
       
 21718 -  MP_DIGITS (&v->share_gR) = NULL;
       
 21719 -  MP_DIGITS (&v->share_hR) = NULL;
       
 21720 +  MP_DIGITS(&v->share_fR) = NULL;
       
 21721 +  MP_DIGITS(&v->share_gR) = NULL;
       
 21722 +  MP_DIGITS(&v->share_hR) = NULL;
       
 21723  
       
 21724 -  MP_CHECKC (mp_init (&v->share_fR));
       
 21725 -  MP_CHECKC (mp_init (&v->share_gR));
       
 21726 -  MP_CHECKC (mp_init (&v->share_hR)); 
       
 21727 +  MP_CHECKC(mp_init(&v->share_fR));
       
 21728 +  MP_CHECKC(mp_init(&v->share_gR));
       
 21729 +  MP_CHECKC(mp_init(&v->share_hR));
       
 21730  
       
 21731 -  P_CHECKA (v->clientp = PrioPacketClient_new (s->cfg, s->idx));
       
 21732 +  P_CHECKA(v->clientp = PrioPacketClient_new(s->cfg, s->idx));
       
 21733  
       
 21734 -  const int N = next_power_of_two (s->cfg->num_data_fields + 1);
       
 21735 +  const int N = next_power_of_two(s->cfg->num_data_fields + 1);
       
 21736    if (v->s->idx == PRIO_SERVER_B) {
       
 21737 -    P_CHECKA (v->data_sharesB = MPArray_new (v->s->cfg->num_data_fields));
       
 21738 -    P_CHECKA (v->h_pointsB = MPArray_new (N));
       
 21739 +    P_CHECKA(v->data_sharesB = MPArray_new(v->s->cfg->num_data_fields));
       
 21740 +    P_CHECKA(v->h_pointsB = MPArray_new(N));
       
 21741    }
       
 21742  
       
 21743  cleanup:
       
 21744    if (rv != SECSuccess) {
       
 21745 -    PrioVerifier_clear (v);
       
 21746 +    PrioVerifier_clear(v);
       
 21747      return NULL;
       
 21748    }
       
 21749  
       
 21750    return v;
       
 21751  }
       
 21752  
       
 21753 -SECStatus 
       
 21754 -PrioVerifier_set_data (PrioVerifier v, unsigned char *data, unsigned int data_len)
       
 21755 +SECStatus
       
 21756 +PrioVerifier_set_data(PrioVerifier v, unsigned char* data,
       
 21757 +                      unsigned int data_len)
       
 21758  {
       
 21759    SECStatus rv = SECSuccess;
       
 21760    PRG prgB = NULL;
       
 21761 -  P_CHECKC (PrioPacketClient_decrypt (v->clientp, v->s->cfg, 
       
 21762 -        v->s->priv_key, data, data_len));
       
 21763 +  P_CHECKC(PrioPacketClient_decrypt(v->clientp, v->s->cfg, v->s->priv_key, data,
       
 21764 +                                    data_len));
       
 21765  
       
 21766    PrioPacketClient p = v->clientp;
       
 21767    if (p->for_server != v->s->idx)
       
 21768      return SECFailure;
       
 21769  
       
 21770 -  const int N = next_power_of_two (v->s->cfg->num_data_fields + 1);
       
 21771 +  const int N = next_power_of_two(v->s->cfg->num_data_fields + 1);
       
 21772    if (v->s->idx == PRIO_SERVER_A) {
       
 21773      // Check that packet has the correct number of data fields
       
 21774      if (p->shares.A.data_shares->len != v->s->cfg->num_data_fields)
       
 21775 @@ -289,70 +297,73 @@
       
 21776    }
       
 21777  
       
 21778    if (v->s->idx == PRIO_SERVER_B) {
       
 21779 -    P_CHECKA (prgB = PRG_new (v->clientp->shares.B.seed));
       
 21780 -    P_CHECKC (PRG_get_array (prgB, v->data_sharesB, &v->s->cfg->modulus));
       
 21781 -    P_CHECKC (PRG_get_array (prgB, v->h_pointsB, &v->s->cfg->modulus));
       
 21782 +    P_CHECKA(prgB = PRG_new(v->clientp->shares.B.seed));
       
 21783 +    P_CHECKC(PRG_get_array(prgB, v->data_sharesB, &v->s->cfg->modulus));
       
 21784 +    P_CHECKC(PRG_get_array(prgB, v->h_pointsB, &v->s->cfg->modulus));
       
 21785    }
       
 21786  
       
 21787    // TODO: This can be done much faster by using the combined
       
 21788 -  // interpolate-and-evaluate optimization described in the 
       
 21789 +  // interpolate-and-evaluate optimization described in the
       
 21790    // Prio paper.
       
 21791    //
       
 21792    // Compute share of f(r), g(r), h(r)
       
 21793 -  P_CHECKC (compute_shares (v, p)); 
       
 21794 +  P_CHECKC(compute_shares(v, p));
       
 21795  
       
 21796  cleanup:
       
 21797  
       
 21798 -  PRG_clear (prgB);
       
 21799 +  PRG_clear(prgB);
       
 21800    return rv;
       
 21801  }
       
 21802  
       
 21803 -
       
 21804 -void PrioVerifier_clear (PrioVerifier v)
       
 21805 +void
       
 21806 +PrioVerifier_clear(PrioVerifier v)
       
 21807  {
       
 21808 -  if (v == NULL) return;
       
 21809 -  PrioPacketClient_clear (v->clientp);
       
 21810 -  MPArray_clear (v->data_sharesB); 
       
 21811 -  MPArray_clear (v->h_pointsB); 
       
 21812 -  mp_clear (&v->share_fR);
       
 21813 -  mp_clear (&v->share_gR);
       
 21814 -  mp_clear (&v->share_hR);
       
 21815 -  free (v);
       
 21816 +  if (v == NULL)
       
 21817 +    return;
       
 21818 +  PrioPacketClient_clear(v->clientp);
       
 21819 +  MPArray_clear(v->data_sharesB);
       
 21820 +  MPArray_clear(v->h_pointsB);
       
 21821 +  mp_clear(&v->share_fR);
       
 21822 +  mp_clear(&v->share_gR);
       
 21823 +  mp_clear(&v->share_hR);
       
 21824 +  free(v);
       
 21825  }
       
 21826  
       
 21827 -PrioPacketVerify1 
       
 21828 -PrioPacketVerify1_new (void)
       
 21829 +PrioPacketVerify1
       
 21830 +PrioPacketVerify1_new(void)
       
 21831  {
       
 21832    SECStatus rv = SECSuccess;
       
 21833 -  PrioPacketVerify1 p = malloc (sizeof *p);
       
 21834 -  if (!p) return NULL;
       
 21835 +  PrioPacketVerify1 p = malloc(sizeof *p);
       
 21836 +  if (!p)
       
 21837 +    return NULL;
       
 21838  
       
 21839 -  MP_DIGITS (&p->share_d) = NULL;
       
 21840 -  MP_DIGITS (&p->share_e) = NULL;
       
 21841 +  MP_DIGITS(&p->share_d) = NULL;
       
 21842 +  MP_DIGITS(&p->share_e) = NULL;
       
 21843  
       
 21844 -  MP_CHECKC (mp_init (&p->share_d));
       
 21845 -  MP_CHECKC (mp_init (&p->share_e));
       
 21846 +  MP_CHECKC(mp_init(&p->share_d));
       
 21847 +  MP_CHECKC(mp_init(&p->share_e));
       
 21848  
       
 21849  cleanup:
       
 21850    if (rv != SECSuccess) {
       
 21851 -    PrioPacketVerify1_clear (p);
       
 21852 +    PrioPacketVerify1_clear(p);
       
 21853      return NULL;
       
 21854    }
       
 21855  
       
 21856    return p;
       
 21857  }
       
 21858  
       
 21859 -void 
       
 21860 -PrioPacketVerify1_clear (PrioPacketVerify1 p)
       
 21861 +void
       
 21862 +PrioPacketVerify1_clear(PrioPacketVerify1 p)
       
 21863  {
       
 21864 -  if (!p) return;
       
 21865 -  mp_clear (&p->share_d);
       
 21866 -  mp_clear (&p->share_e);
       
 21867 -  free (p);
       
 21868 +  if (!p)
       
 21869 +    return;
       
 21870 +  mp_clear(&p->share_d);
       
 21871 +  mp_clear(&p->share_e);
       
 21872 +  free(p);
       
 21873  }
       
 21874  
       
 21875  SECStatus
       
 21876 -PrioPacketVerify1_set_data (PrioPacketVerify1 p1, const_PrioVerifier v)
       
 21877 +PrioPacketVerify1_set_data(PrioPacketVerify1 p1, const_PrioVerifier v)
       
 21878  {
       
 21879    // See the Prio paper for details on how this works.
       
 21880    // Appendix C descrives the MPC protocol used here.
       
 21881 @@ -361,121 +372,121 @@
       
 21882  
       
 21883    // Compute corrections.
       
 21884    //   [d] = [f(r)] - [a]
       
 21885 -  MP_CHECK (mp_sub (&v->share_fR, &v->clientp->triple->a, &p1->share_d));
       
 21886 -  MP_CHECK (mp_mod (&p1->share_d, &v->s->cfg->modulus, &p1->share_d));
       
 21887 +  MP_CHECK(mp_sub(&v->share_fR, &v->clientp->triple->a, &p1->share_d));
       
 21888 +  MP_CHECK(mp_mod(&p1->share_d, &v->s->cfg->modulus, &p1->share_d));
       
 21889  
       
 21890    //   [e] = [g(r)] - [b]
       
 21891 -  MP_CHECK (mp_sub (&v->share_gR, &v->clientp->triple->b, &p1->share_e));
       
 21892 -  MP_CHECK (mp_mod (&p1->share_e, &v->s->cfg->modulus, &p1->share_e));
       
 21893 +  MP_CHECK(mp_sub(&v->share_gR, &v->clientp->triple->b, &p1->share_e));
       
 21894 +  MP_CHECK(mp_mod(&p1->share_e, &v->s->cfg->modulus, &p1->share_e));
       
 21895  
       
 21896    return rv;
       
 21897  }
       
 21898  
       
 21899 -PrioPacketVerify2 
       
 21900 -PrioPacketVerify2_new (void)
       
 21901 +PrioPacketVerify2
       
 21902 +PrioPacketVerify2_new(void)
       
 21903  {
       
 21904    SECStatus rv = SECSuccess;
       
 21905 -  PrioPacketVerify2 p = malloc (sizeof *p);
       
 21906 -  if (!p) return NULL;
       
 21907 +  PrioPacketVerify2 p = malloc(sizeof *p);
       
 21908 +  if (!p)
       
 21909 +    return NULL;
       
 21910  
       
 21911 -  MP_DIGITS (&p->share_out) = NULL;
       
 21912 -  MP_CHECKC (mp_init (&p->share_out));
       
 21913 +  MP_DIGITS(&p->share_out) = NULL;
       
 21914 +  MP_CHECKC(mp_init(&p->share_out));
       
 21915  
       
 21916  cleanup:
       
 21917    if (rv != SECSuccess) {
       
 21918 -    PrioPacketVerify2_clear (p); 
       
 21919 +    PrioPacketVerify2_clear(p);
       
 21920      return NULL;
       
 21921    }
       
 21922    return p;
       
 21923  }
       
 21924  
       
 21925 -void 
       
 21926 -PrioPacketVerify2_clear (PrioPacketVerify2 p)
       
 21927 +void
       
 21928 +PrioPacketVerify2_clear(PrioPacketVerify2 p)
       
 21929  {
       
 21930 -  if (!p) return; 
       
 21931 -  mp_clear (&p->share_out);
       
 21932 -  free (p);
       
 21933 +  if (!p)
       
 21934 +    return;
       
 21935 +  mp_clear(&p->share_out);
       
 21936 +  free(p);
       
 21937  }
       
 21938  
       
 21939  SECStatus
       
 21940 -PrioPacketVerify2_set_data (PrioPacketVerify2 p2, const_PrioVerifier v,
       
 21941 -    const_PrioPacketVerify1 p1A, const_PrioPacketVerify1 p1B)
       
 21942 +PrioPacketVerify2_set_data(PrioPacketVerify2 p2, const_PrioVerifier v,
       
 21943 +                           const_PrioPacketVerify1 p1A,
       
 21944 +                           const_PrioPacketVerify1 p1B)
       
 21945  {
       
 21946    SECStatus rv = SECSuccess;
       
 21947  
       
 21948    mp_int d, e, tmp;
       
 21949 -  MP_DIGITS (&d) = NULL;
       
 21950 -  MP_DIGITS (&e) = NULL;
       
 21951 -  MP_DIGITS (&tmp) = NULL;
       
 21952 +  MP_DIGITS(&d) = NULL;
       
 21953 +  MP_DIGITS(&e) = NULL;
       
 21954 +  MP_DIGITS(&tmp) = NULL;
       
 21955  
       
 21956 -  MP_CHECKC (mp_init (&d));
       
 21957 -  MP_CHECKC (mp_init (&e));
       
 21958 -  MP_CHECKC (mp_init (&tmp));
       
 21959 +  MP_CHECKC(mp_init(&d));
       
 21960 +  MP_CHECKC(mp_init(&e));
       
 21961 +  MP_CHECKC(mp_init(&tmp));
       
 21962  
       
 21963 -  const mp_int *mod = &v->s->cfg->modulus;
       
 21964 +  const mp_int* mod = &v->s->cfg->modulus;
       
 21965  
       
 21966    // Compute share of f(r)*g(r)
       
 21967    //    [f(r)*g(r)] = [d*e/2] + d[b] + e[a] + [c]
       
 21968 - 
       
 21969 - // Compute d 
       
 21970 -  MP_CHECKC (mp_addmod (&p1A->share_d, &p1B->share_d, mod, &d));
       
 21971 +
       
 21972 +  // Compute d
       
 21973 +  MP_CHECKC(mp_addmod(&p1A->share_d, &p1B->share_d, mod, &d));
       
 21974    // Compute e
       
 21975 -  MP_CHECKC (mp_addmod (&p1A->share_e, &p1B->share_e, mod, &e));
       
 21976 +  MP_CHECKC(mp_addmod(&p1A->share_e, &p1B->share_e, mod, &e));
       
 21977  
       
 21978    // Compute d*e
       
 21979 -  MP_CHECKC (mp_mulmod (&d, &e, mod, &p2->share_out));
       
 21980 +  MP_CHECKC(mp_mulmod(&d, &e, mod, &p2->share_out));
       
 21981    // out = d*e/2
       
 21982 -  MP_CHECKC (mp_mulmod (&p2->share_out, &v->s->cfg->inv2, 
       
 21983 -        mod, &p2->share_out));
       
 21984 +  MP_CHECKC(mp_mulmod(&p2->share_out, &v->s->cfg->inv2, mod, &p2->share_out));
       
 21985  
       
 21986 -  // Compute d[b] 
       
 21987 -  MP_CHECKC (mp_mulmod (&d, &v->clientp->triple->b, mod, &tmp));
       
 21988 -  // out = d*e/2 + d[b] 
       
 21989 -  MP_CHECKC (mp_addmod (&p2->share_out, &tmp, mod, &p2->share_out));
       
 21990 +  // Compute d[b]
       
 21991 +  MP_CHECKC(mp_mulmod(&d, &v->clientp->triple->b, mod, &tmp));
       
 21992 +  // out = d*e/2 + d[b]
       
 21993 +  MP_CHECKC(mp_addmod(&p2->share_out, &tmp, mod, &p2->share_out));
       
 21994  
       
 21995 -  // Compute e[a] 
       
 21996 -  MP_CHECKC (mp_mulmod (&e, &v->clientp->triple->a, mod, &tmp));
       
 21997 +  // Compute e[a]
       
 21998 +  MP_CHECKC(mp_mulmod(&e, &v->clientp->triple->a, mod, &tmp));
       
 21999    // out = d*e/2 + d[b] + e[a]
       
 22000 -  MP_CHECKC (mp_addmod (&p2->share_out, &tmp, mod, &p2->share_out));
       
 22001 +  MP_CHECKC(mp_addmod(&p2->share_out, &tmp, mod, &p2->share_out));
       
 22002  
       
 22003    // out = d*e/2 + d[b] + e[a] + [c]
       
 22004 -  MP_CHECKC (mp_addmod (&p2->share_out, &v->clientp->triple->c, mod, &p2->share_out));
       
 22005 +  MP_CHECKC(
       
 22006 +    mp_addmod(&p2->share_out, &v->clientp->triple->c, mod, &p2->share_out));
       
 22007  
       
 22008    // We want to compute f(r)*g(r) - h(r),
       
 22009    // so subtract off [h(r)]:
       
 22010    //    out = d*e/2 + d[b] + e[a] + [c] - [h(r)]
       
 22011 -  MP_CHECKC (mp_sub (&p2->share_out, &v->share_hR, &p2->share_out));
       
 22012 -  MP_CHECKC (mp_mod (&p2->share_out, mod, &p2->share_out));
       
 22013 +  MP_CHECKC(mp_sub(&p2->share_out, &v->share_hR, &p2->share_out));
       
 22014 +  MP_CHECKC(mp_mod(&p2->share_out, mod, &p2->share_out));
       
 22015  
       
 22016  cleanup:
       
 22017 -  mp_clear (&d);
       
 22018 -  mp_clear (&e);
       
 22019 -  mp_clear (&tmp);
       
 22020 +  mp_clear(&d);
       
 22021 +  mp_clear(&e);
       
 22022 +  mp_clear(&tmp);
       
 22023    return rv;
       
 22024  }
       
 22025  
       
 22026 -int 
       
 22027 -PrioVerifier_isValid (const_PrioVerifier v,
       
 22028 -    const_PrioPacketVerify2 pA, const_PrioPacketVerify2 pB)
       
 22029 +int
       
 22030 +PrioVerifier_isValid(const_PrioVerifier v, const_PrioPacketVerify2 pA,
       
 22031 +                     const_PrioPacketVerify2 pB)
       
 22032  {
       
 22033    SECStatus rv = SECSuccess;
       
 22034    mp_int res;
       
 22035 -  MP_DIGITS (&res) = NULL;
       
 22036 -  MP_CHECKC (mp_init (&res));
       
 22037 +  MP_DIGITS(&res) = NULL;
       
 22038 +  MP_CHECKC(mp_init(&res));
       
 22039  
       
 22040 -  // Add up the shares of the output wire value and 
       
 22041 +  // Add up the shares of the output wire value and
       
 22042    // ensure that the sum is equal to zero, which indicates
       
 22043    // that
       
 22044    //      f(r) * g(r) == h(r).
       
 22045 -  MP_CHECKC (mp_addmod (&pA->share_out, &pB->share_out,
       
 22046 -        &v->s->cfg->modulus, &res));
       
 22047 +  MP_CHECKC(
       
 22048 +    mp_addmod(&pA->share_out, &pB->share_out, &v->s->cfg->modulus, &res));
       
 22049  
       
 22050 -  rv = (mp_cmp_d (&res, 0) == 0) ? SECSuccess : SECFailure;
       
 22051 +  rv = (mp_cmp_d(&res, 0) == 0) ? SECSuccess : SECFailure;
       
 22052  
       
 22053  cleanup:
       
 22054 -  mp_clear (&res);
       
 22055 +  mp_clear(&res);
       
 22056    return rv;
       
 22057  }
       
 22058 -
       
 22059 -
       
 22060 -
       
 22061 diff --git a/third_party/prio/prio/share.h b/third_party/prio/prio/share.h
       
 22062 --- a/third_party/prio/prio/share.h
       
 22063 +++ b/third_party/prio/prio/share.h
       
 22064 @@ -1,12 +1,11 @@
       
 22065  /*
       
 22066   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 22067 - * 
       
 22068 + *
       
 22069   * This Source Code Form is subject to the terms of the Mozilla Public
       
 22070   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 22071 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 22072 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 22073   */
       
 22074  
       
 22075 -
       
 22076  #ifndef __SHARE_H__
       
 22077  #define __SHARE_H__
       
 22078  
       
 22079 @@ -14,23 +13,22 @@
       
 22080  
       
 22081  #include "config.h"
       
 22082  
       
 22083 -struct beaver_triple {
       
 22084 +struct beaver_triple
       
 22085 +{
       
 22086    mp_int a;
       
 22087    mp_int b;
       
 22088    mp_int c;
       
 22089  };
       
 22090  
       
 22091 -typedef struct beaver_triple *BeaverTriple;
       
 22092 -typedef const struct beaver_triple *const_BeaverTriple;
       
 22093 -
       
 22094 +typedef struct beaver_triple* BeaverTriple;
       
 22095 +typedef const struct beaver_triple* const_BeaverTriple;
       
 22096  
       
 22097  /*
       
 22098   * Use secret sharing to split the int src into two shares.
       
 22099   * The mp_ints must be initialized.
       
 22100   */
       
 22101 -SECStatus share_int (const_PrioConfig cfg, const mp_int *src, 
       
 22102 -    mp_int *shareA, mp_int *shareB);
       
 22103 -
       
 22104 +SECStatus share_int(const_PrioConfig cfg, const mp_int* src, mp_int* shareA,
       
 22105 +                    mp_int* shareB);
       
 22106  
       
 22107  /*
       
 22108   * Prio uses Beaver triples to implement one step of the
       
 22109 @@ -38,14 +36,12 @@
       
 22110   * a sharing of random values a, b, c such that
       
 22111   *    a * b = c
       
 22112   */
       
 22113 -BeaverTriple BeaverTriple_new (void);
       
 22114 -void BeaverTriple_clear (BeaverTriple t);
       
 22115 +BeaverTriple BeaverTriple_new(void);
       
 22116 +void BeaverTriple_clear(BeaverTriple t);
       
 22117  
       
 22118 -SECStatus BeaverTriple_set_rand (const_PrioConfig cfg, 
       
 22119 -    BeaverTriple triple_a, 
       
 22120 -    BeaverTriple triple_b);
       
 22121 +SECStatus BeaverTriple_set_rand(const_PrioConfig cfg, BeaverTriple triple_a,
       
 22122 +                                BeaverTriple triple_b);
       
 22123  
       
 22124 -bool BeaverTriple_areEqual (const_BeaverTriple t1, const_BeaverTriple t2);
       
 22125 +bool BeaverTriple_areEqual(const_BeaverTriple t1, const_BeaverTriple t2);
       
 22126  
       
 22127  #endif /* __SHARE_H__ */
       
 22128 -
       
 22129 diff --git a/third_party/prio/prio/share.c b/third_party/prio/prio/share.c
       
 22130 --- a/third_party/prio/prio/share.c
       
 22131 +++ b/third_party/prio/prio/share.c
       
 22132 @@ -1,9 +1,9 @@
       
 22133  /*
       
 22134   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 22135 - * 
       
 22136 + *
       
 22137   * This Source Code Form is subject to the terms of the Mozilla Public
       
 22138   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 22139 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 22140 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 22141   */
       
 22142  
       
 22143  #include <mprio.h>
       
 22144 @@ -12,86 +12,85 @@
       
 22145  #include "share.h"
       
 22146  #include "util.h"
       
 22147  
       
 22148 -
       
 22149  SECStatus
       
 22150 -share_int (const struct prio_config *cfg, const mp_int *src, 
       
 22151 -    mp_int *shareA, mp_int *shareB)
       
 22152 +share_int(const struct prio_config* cfg, const mp_int* src, mp_int* shareA,
       
 22153 +          mp_int* shareB)
       
 22154  {
       
 22155    SECStatus rv;
       
 22156 -  P_CHECK (rand_int (shareA, &cfg->modulus)); 
       
 22157 -  MP_CHECK (mp_submod (src, shareA, &cfg->modulus, shareB));
       
 22158 +  P_CHECK(rand_int(shareA, &cfg->modulus));
       
 22159 +  MP_CHECK(mp_submod(src, shareA, &cfg->modulus, shareB));
       
 22160  
       
 22161    return rv;
       
 22162  }
       
 22163  
       
 22164  BeaverTriple
       
 22165 -BeaverTriple_new (void)
       
 22166 +BeaverTriple_new(void)
       
 22167  {
       
 22168 -  BeaverTriple triple = malloc (sizeof *triple);
       
 22169 +  BeaverTriple triple = malloc(sizeof *triple);
       
 22170    if (!triple)
       
 22171      return NULL;
       
 22172  
       
 22173 -  MP_DIGITS (&triple->a) = NULL;
       
 22174 -  MP_DIGITS (&triple->b) = NULL;
       
 22175 -  MP_DIGITS (&triple->c) = NULL;
       
 22176 +  MP_DIGITS(&triple->a) = NULL;
       
 22177 +  MP_DIGITS(&triple->b) = NULL;
       
 22178 +  MP_DIGITS(&triple->c) = NULL;
       
 22179  
       
 22180    SECStatus rv = SECSuccess;
       
 22181 -  MP_CHECKC (mp_init (&triple->a)); 
       
 22182 -  MP_CHECKC (mp_init (&triple->b)); 
       
 22183 -  MP_CHECKC (mp_init (&triple->c)); 
       
 22184 +  MP_CHECKC(mp_init(&triple->a));
       
 22185 +  MP_CHECKC(mp_init(&triple->b));
       
 22186 +  MP_CHECKC(mp_init(&triple->c));
       
 22187  
       
 22188  cleanup:
       
 22189    if (rv != SECSuccess) {
       
 22190 -    BeaverTriple_clear (triple);
       
 22191 +    BeaverTriple_clear(triple);
       
 22192      return NULL;
       
 22193    }
       
 22194    return triple;
       
 22195  }
       
 22196  
       
 22197 -
       
 22198  void
       
 22199 -BeaverTriple_clear (BeaverTriple triple)
       
 22200 +BeaverTriple_clear(BeaverTriple triple)
       
 22201  {
       
 22202 -  if (!triple) return;
       
 22203 -  mp_clear (&triple->a);
       
 22204 -  mp_clear (&triple->b);
       
 22205 -  mp_clear (&triple->c);
       
 22206 -  free (triple);
       
 22207 +  if (!triple)
       
 22208 +    return;
       
 22209 +  mp_clear(&triple->a);
       
 22210 +  mp_clear(&triple->b);
       
 22211 +  mp_clear(&triple->c);
       
 22212 +  free(triple);
       
 22213  }
       
 22214  
       
 22215  SECStatus
       
 22216 -BeaverTriple_set_rand (const struct prio_config *cfg, 
       
 22217 -    struct beaver_triple *triple_1, 
       
 22218 -    struct beaver_triple *triple_2)
       
 22219 +BeaverTriple_set_rand(const struct prio_config* cfg,
       
 22220 +                      struct beaver_triple* triple_1,
       
 22221 +                      struct beaver_triple* triple_2)
       
 22222  {
       
 22223    SECStatus rv = SECSuccess;
       
 22224  
       
 22225    // TODO: Can shorten this code using share_int()
       
 22226  
       
 22227    // We need that
       
 22228 -  //   (a1 + a2)(b1 + b2) = c1 + c2   (mod p) 
       
 22229 -  P_CHECK (rand_int (&triple_1->a, &cfg->modulus)); 
       
 22230 -  P_CHECK (rand_int (&triple_1->b, &cfg->modulus)); 
       
 22231 -  P_CHECK (rand_int (&triple_2->a, &cfg->modulus)); 
       
 22232 -  P_CHECK (rand_int (&triple_2->b, &cfg->modulus)); 
       
 22233 +  //   (a1 + a2)(b1 + b2) = c1 + c2   (mod p)
       
 22234 +  P_CHECK(rand_int(&triple_1->a, &cfg->modulus));
       
 22235 +  P_CHECK(rand_int(&triple_1->b, &cfg->modulus));
       
 22236 +  P_CHECK(rand_int(&triple_2->a, &cfg->modulus));
       
 22237 +  P_CHECK(rand_int(&triple_2->b, &cfg->modulus));
       
 22238  
       
 22239    // We are trying to be a little clever here to avoid the use of temp
       
 22240    // variables.
       
 22241  
       
 22242    // c1 = a1 + a2
       
 22243 -  MP_CHECK (mp_addmod (&triple_1->a, &triple_2->a, &cfg->modulus, &triple_1->c));
       
 22244 +  MP_CHECK(mp_addmod(&triple_1->a, &triple_2->a, &cfg->modulus, &triple_1->c));
       
 22245  
       
 22246    // c2 = b1 + b2
       
 22247 -  MP_CHECK (mp_addmod (&triple_1->b, &triple_2->b, &cfg->modulus, &triple_2->c)); 
       
 22248 +  MP_CHECK(mp_addmod(&triple_1->b, &triple_2->b, &cfg->modulus, &triple_2->c));
       
 22249  
       
 22250    // c1 = c1 * c2 = (a1 + a2) (b1 + b2)
       
 22251 -  MP_CHECK (mp_mulmod (&triple_1->c, &triple_2->c, &cfg->modulus, &triple_1->c)); 
       
 22252 +  MP_CHECK(mp_mulmod(&triple_1->c, &triple_2->c, &cfg->modulus, &triple_1->c));
       
 22253  
       
 22254    // Set c2 to random blinding value
       
 22255 -  MP_CHECK (rand_int (&triple_2->c, &cfg->modulus)); 
       
 22256 +  MP_CHECK(rand_int(&triple_2->c, &cfg->modulus));
       
 22257  
       
 22258    // c1 = c1 - c2
       
 22259 -  MP_CHECK (mp_submod (&triple_1->c, &triple_2->c, &cfg->modulus, &triple_1->c)); 
       
 22260 +  MP_CHECK(mp_submod(&triple_1->c, &triple_2->c, &cfg->modulus, &triple_1->c));
       
 22261  
       
 22262    // Now we should have random tuples satisfying:
       
 22263    //   (a1 + a2) (b1 + b2) = c1 + c2
       
 22264 @@ -99,10 +98,9 @@
       
 22265    return rv;
       
 22266  }
       
 22267  
       
 22268 -bool 
       
 22269 -BeaverTriple_areEqual (const_BeaverTriple t1, const_BeaverTriple t2)
       
 22270 +bool
       
 22271 +BeaverTriple_areEqual(const_BeaverTriple t1, const_BeaverTriple t2)
       
 22272  {
       
 22273 -  return (mp_cmp (&t1->a, &t2->a) == 0 &&
       
 22274 -      mp_cmp (&t1->b, &t2->b) == 0 &&
       
 22275 -      mp_cmp (&t1->c, &t2->c) == 0);
       
 22276 +  return (mp_cmp(&t1->a, &t2->a) == 0 && mp_cmp(&t1->b, &t2->b) == 0 &&
       
 22277 +          mp_cmp(&t1->c, &t2->c) == 0);
       
 22278  }
       
 22279 diff --git a/third_party/prio/prio/util.h b/third_party/prio/prio/util.h
       
 22280 --- a/third_party/prio/prio/util.h
       
 22281 +++ b/third_party/prio/prio/util.h
       
 22282 @@ -1,9 +1,9 @@
       
 22283  /*
       
 22284   * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 22285 - * 
       
 22286 + *
       
 22287   * This Source Code Form is subject to the terms of the Mozilla Public
       
 22288   * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 22289 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 22290 + * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       
 22291   */
       
 22292  
       
 22293  #ifndef __UTIL_H__
       
 22294 @@ -16,80 +16,88 @@
       
 22295  #define MIN(a, b) ((a) < (b) ? (a) : (b))
       
 22296  
       
 22297  // Check a Prio error code and return failure if the call fails.
       
 22298 -#define P_CHECK(s) \
       
 22299 -  do { \
       
 22300 -    if((rv = (s)) != SECSuccess) \
       
 22301 -    return rv; \
       
 22302 -  } while(0);
       
 22303 +#define P_CHECK(s)                                                             \
       
 22304 +  do {                                                                         \
       
 22305 +    if ((rv = (s)) != SECSuccess)                                              \
       
 22306 +      return rv;                                                               \
       
 22307 +  } while (0);
       
 22308  
       
 22309  // Check an allocation that should not return NULL. If the allocation returns
       
 22310 -// NULL, set the return value and jump to the cleanup label to free memory. 
       
 22311 -#define P_CHECKA(s) \
       
 22312 -  do { \
       
 22313 -    if((s) == NULL) {\
       
 22314 -      rv = SECFailure;\
       
 22315 -      goto cleanup;\
       
 22316 -    }\
       
 22317 -  } while(0);
       
 22318 +// NULL, set the return value and jump to the cleanup label to free memory.
       
 22319 +#define P_CHECKA(s)                                                            \
       
 22320 +  do {                                                                         \
       
 22321 +    if ((s) == NULL) {                                                         \
       
 22322 +      rv = SECFailure;                                                         \
       
 22323 +      goto cleanup;                                                            \
       
 22324 +    }                                                                          \
       
 22325 +  } while (0);
       
 22326  
       
 22327  // Check a Prio library call that should return SECSuccess. If it doesn't,
       
 22328  // jump to the cleanup label.
       
 22329 -#define P_CHECKC(s) \
       
 22330 -  do { \
       
 22331 -    if((rv = (s)) != SECSuccess) { \
       
 22332 -       goto cleanup; \
       
 22333 -    }\
       
 22334 -  } while(0);
       
 22335 +#define P_CHECKC(s)                                                            \
       
 22336 +  do {                                                                         \
       
 22337 +    if ((rv = (s)) != SECSuccess) {                                            \
       
 22338 +      goto cleanup;                                                            \
       
 22339 +    }                                                                          \
       
 22340 +  } while (0);
       
 22341  
       
 22342  // Check a boolean that should be true. If it not,
       
 22343  // jump to the cleanup label.
       
 22344 -#define P_CHECKCB(s) \
       
 22345 -  do { \
       
 22346 -    if(!(s)) { \
       
 22347 -       rv = SECFailure; \
       
 22348 -       goto cleanup; \
       
 22349 -    }\
       
 22350 -  } while(0);
       
 22351 +#define P_CHECKCB(s)                                                           \
       
 22352 +  do {                                                                         \
       
 22353 +    if (!(s)) {                                                                \
       
 22354 +      rv = SECFailure;                                                         \
       
 22355 +      goto cleanup;                                                            \
       
 22356 +    }                                                                          \
       
 22357 +  } while (0);
       
 22358  
       
 22359  // Check an MPI library call and return failure if it fails.
       
 22360 -#define MP_CHECK(s) do { if((s) != MP_OKAY) return SECFailure; } while(0);
       
 22361 +#define MP_CHECK(s)                                                            \
       
 22362 +  do {                                                                         \
       
 22363 +    if ((s) != MP_OKAY)                                                        \
       
 22364 +      return SECFailure;                                                       \
       
 22365 +  } while (0);
       
 22366  
       
 22367  // Check a msgpack object unpacked correctly
       
 22368 -#define UP_CHECK(s) do { int r = (s); if(r != MSGPACK_UNPACK_SUCCESS &&\
       
 22369 -    r != MSGPACK_UNPACK_EXTRA_BYTES) \
       
 22370 -    return SECFailure; } while(0);
       
 22371 +#define UP_CHECK(s)                                                            \
       
 22372 +  do {                                                                         \
       
 22373 +    int r = (s);                                                               \
       
 22374 +    if (r != MSGPACK_UNPACK_SUCCESS && r != MSGPACK_UNPACK_EXTRA_BYTES)        \
       
 22375 +      return SECFailure;                                                       \
       
 22376 +  } while (0);
       
 22377  
       
 22378  // Check an MPI library call. If it fails, set the return code and jump
       
 22379  // to the cleanup label.
       
 22380 -#define MP_CHECKC(s) \
       
 22381 -  do { \
       
 22382 -    if((s) != MP_OKAY) { \
       
 22383 -       rv = SECFailure; \
       
 22384 -       goto cleanup; \
       
 22385 -    }\
       
 22386 -  } while(0);
       
 22387 +#define MP_CHECKC(s)                                                           \
       
 22388 +  do {                                                                         \
       
 22389 +    if ((s) != MP_OKAY) {                                                      \
       
 22390 +      rv = SECFailure;                                                         \
       
 22391 +      goto cleanup;                                                            \
       
 22392 +    }                                                                          \
       
 22393 +  } while (0);
       
 22394  
       
 22395  static inline int
       
 22396 -next_power_of_two (int val)
       
 22397 +next_power_of_two(int val)
       
 22398  {
       
 22399    int i = val;
       
 22400    int out = 0;
       
 22401 -  for ( ; i > 0; i >>= 1) {
       
 22402 +  for (; i > 0; i >>= 1) {
       
 22403      out++;
       
 22404    }
       
 22405  
       
 22406    int pow = 1 << out;
       
 22407 -  return (pow > 1 && pow/2 == val) ? val : pow;
       
 22408 -} 
       
 22409 +  return (pow > 1 && pow / 2 == val) ? val : pow;
       
 22410 +}
       
 22411  
       
 22412 -/* 
       
 22413 +/*
       
 22414   * Return a mask that masks out all of the zero bits
       
 22415   */
       
 22416  static inline unsigned char
       
 22417 -msb_mask (unsigned char val)
       
 22418 +msb_mask(unsigned char val)
       
 22419  {
       
 22420    unsigned char mask;
       
 22421 -  for (mask = 0x00; (val & mask) != val; mask = (mask << 1) + 1);
       
 22422 +  for (mask = 0x00; (val & mask) != val; mask = (mask << 1) + 1)
       
 22423 +    ;
       
 22424    return mask;
       
 22425  }
       
 22426  
       
 22427 @@ -99,4 +107,3 @@
       
 22428  #define UNUSED(x) (void)(x)
       
 22429  
       
 22430  #endif /* __UTIL_H__ */
       
 22431 -
       
 22432 diff --git a/third_party/prio/ptest/MUTEST_LICENSE b/third_party/prio/ptest/MUTEST_LICENSE
       
 22433 deleted file mode 100644
       
 22434 --- a/third_party/prio/ptest/MUTEST_LICENSE
       
 22435 +++ /dev/null
       
 22436 @@ -1,30 +0,0 @@
       
 22437 -I don't like licenses, because I don't like having to worry about all this
       
 22438 -legal stuff just for a simple piece of software I don't really mind anyone
       
 22439 -using. But I also believe that it's important that people share and give back;
       
 22440 -so I'm placing this work under the following license.
       
 22441 -
       
 22442 -
       
 22443 -BOLA - Buena Onda License Agreement (v1.0)
       
 22444 -------------------------------------------
       
 22445 -
       
 22446 -This work is provided 'as-is', without any express or implied warranty. In no
       
 22447 -event will the authors be held liable for any damages arising from the use of
       
 22448 -this work.
       
 22449 -
       
 22450 -To all effects and purposes, this work is to be considered Public Domain.
       
 22451 -
       
 22452 -
       
 22453 -However, if you want to be "Buena onda", you should:
       
 22454 -
       
 22455 -1. Not take credit for it, and give proper recognition to the authors.
       
 22456 -2. Share your modifications, so everybody benefits from them.
       
 22457 -4. Do something nice for the authors.
       
 22458 -5. Help someone who needs it: sign up for some volunteer work or help your
       
 22459 -   neighbour paint the house.
       
 22460 -6. Don't waste. Anything, but specially energy that comes from natural
       
 22461 -   non-renewable resources. Extra points if you discover or invent something
       
 22462 -   to replace them.
       
 22463 -7. Be tolerant. Everything that's good in nature comes from cooperation.
       
 22464 -
       
 22465 -The order is important, and the further you go the more "Buena onda" you are.
       
 22466 -Make the world a better place: be "Buena onda".
       
 22467 diff --git a/third_party/prio/ptest/SConscript b/third_party/prio/ptest/SConscript
       
 22468 deleted file mode 100644
       
 22469 --- a/third_party/prio/ptest/SConscript
       
 22470 +++ /dev/null
       
 22471 @@ -1,44 +0,0 @@
       
 22472 -import sys
       
 22473 -
       
 22474 -Import('env')
       
 22475 -
       
 22476 -prio_env = env.Clone()
       
 22477 -
       
 22478 -test_srcs = [
       
 22479 -    "mutest.c",
       
 22480 -    "client_test.c",
       
 22481 -    "example_test.c",
       
 22482 -    "encrypt_test.c",
       
 22483 -    "fft_test.c",
       
 22484 -    "mpi_test.c",
       
 22485 -    "prg_test.c",
       
 22486 -    "rand_test.c",
       
 22487 -    "serial_test.c",
       
 22488 -    "server_test.c",
       
 22489 -    "share_test.c",
       
 22490 -]
       
 22491 -
       
 22492 -libs = [
       
 22493 -  "nss3",
       
 22494 -  "mpi",
       
 22495 -  "mprio",
       
 22496 -  "msgpackc"
       
 22497 -]
       
 22498 -
       
 22499 -# Run the mutest script to generate the test harness code
       
 22500 -bld = Builder(action = 'ptest/mkmutest ptest/mutest.h $SOURCES | $CC -c -xc -o $TARGET -')
       
 22501 -prio_env.Append(BUILDERS = {'MkMutest' : bld})
       
 22502 -
       
 22503 -prio_env.Append(LIBS = libs)
       
 22504 -
       
 22505 -# Enable mpi print
       
 22506 -prio_env.Append(CFLAGS = ['-DMP_IOFUNC'])
       
 22507 -
       
 22508 -# Copy the mutest scripts to the build dir
       
 22509 -prio_env.Install("mkmutest")
       
 22510 -prio_env.Install("mutest.h")
       
 22511 -
       
 22512 -test_objs = prio_env.Object(test_srcs)
       
 22513 -test_main = prio_env.MkMutest(test_objs)
       
 22514 -prio_env.Program("ptest", [test_main] + test_objs)
       
 22515 -
       
 22516 diff --git a/third_party/prio/ptest/client_test.c b/third_party/prio/ptest/client_test.c
       
 22517 deleted file mode 100644
       
 22518 --- a/third_party/prio/ptest/client_test.c
       
 22519 +++ /dev/null
       
 22520 @@ -1,160 +0,0 @@
       
 22521 -/*
       
 22522 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 22523 - * 
       
 22524 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 22525 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 22526 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 22527 - */
       
 22528 -
       
 22529 -#include <mprio.h>
       
 22530 -
       
 22531 -#include "prio/client.h"
       
 22532 -#include "prio/server.h"
       
 22533 -#include "prio/util.h"
       
 22534 -#include "mutest.h"
       
 22535 -
       
 22536 -void 
       
 22537 -mu_test_client__new (void)
       
 22538 -{
       
 22539 -  SECStatus rv = SECSuccess;
       
 22540 -  PrioConfig cfg = NULL;
       
 22541 -  PrioPacketClient pA = NULL;
       
 22542 -  PrioPacketClient pB = NULL;
       
 22543 -
       
 22544 -  P_CHECKA (cfg = PrioConfig_newTest(23));
       
 22545 -  P_CHECKA (pA = PrioPacketClient_new (cfg, PRIO_SERVER_A));
       
 22546 -  P_CHECKA (pB = PrioPacketClient_new (cfg, PRIO_SERVER_B));
       
 22547 -
       
 22548 -  {
       
 22549 -  const int ndata = PrioConfig_numDataFields (cfg);
       
 22550 -  bool data_items[ndata];
       
 22551 -
       
 22552 -  for (int i=0; i < ndata; i++) {
       
 22553 -    // Arbitrary data
       
 22554 -    data_items[i] = (i % 3 == 1) || (i % 5 == 3);
       
 22555 -  }
       
 22556 -
       
 22557 -  P_CHECKC (PrioPacketClient_set_data (cfg, data_items, pA, pB));
       
 22558 -  }
       
 22559 -
       
 22560 -cleanup:
       
 22561 -  mu_check (rv == SECSuccess);
       
 22562 -
       
 22563 -  PrioPacketClient_clear (pA);
       
 22564 -  PrioPacketClient_clear (pB);
       
 22565 -  PrioConfig_clear (cfg);
       
 22566 -}
       
 22567 -
       
 22568 -void 
       
 22569 -test_client_agg (int nclients)
       
 22570 -{
       
 22571 -  SECStatus rv = SECSuccess;
       
 22572 -  PublicKey pkA = NULL;
       
 22573 -  PublicKey pkB = NULL;
       
 22574 -  PrivateKey skA = NULL;
       
 22575 -  PrivateKey skB = NULL;
       
 22576 -  PrioConfig cfg = NULL;
       
 22577 -  PrioServer sA = NULL;
       
 22578 -  PrioServer sB = NULL;
       
 22579 -  PrioTotalShare tA = NULL;
       
 22580 -  PrioTotalShare tB = NULL;
       
 22581 -  PrioVerifier vA = NULL;
       
 22582 -  PrioVerifier vB = NULL;
       
 22583 -  unsigned char *for_a = NULL;
       
 22584 -  unsigned char *for_b = NULL;
       
 22585 -  const unsigned char *batch_id = (unsigned char *)"test_batch";
       
 22586 -  unsigned int batch_id_len = strlen ((char *)batch_id);
       
 22587 -
       
 22588 -  PrioPRGSeed seed;
       
 22589 -  P_CHECKC (PrioPRGSeed_randomize (&seed));
       
 22590 -
       
 22591 -  P_CHECKC (Keypair_new (&skA, &pkA));
       
 22592 -  P_CHECKC (Keypair_new (&skB, &pkB));
       
 22593 -  P_CHECKA (cfg = PrioConfig_new (133, pkA, pkB, batch_id, batch_id_len));
       
 22594 -  P_CHECKA (sA = PrioServer_new (cfg, 0, skA, seed));
       
 22595 -  P_CHECKA (sB = PrioServer_new (cfg, 1, skB, seed));
       
 22596 -  P_CHECKA (tA = PrioTotalShare_new ());
       
 22597 -  P_CHECKA (tB = PrioTotalShare_new ());
       
 22598 -  P_CHECKA (vA = PrioVerifier_new (sA));
       
 22599 -  P_CHECKA (vB = PrioVerifier_new (sB));
       
 22600 -
       
 22601 -  const int ndata = PrioConfig_numDataFields (cfg);
       
 22602 -
       
 22603 -  {
       
 22604 -    bool data_items[ndata];
       
 22605 -    for (int i=0; i < ndata; i++) {
       
 22606 -      // Arbitrary data
       
 22607 -      data_items[i] = (i % 3 == 1) || (i % 5 == 3);
       
 22608 -    }
       
 22609 -
       
 22610 -    for (int i=0; i < nclients; i++) {
       
 22611 -      unsigned int aLen, bLen;
       
 22612 -      P_CHECKC (PrioClient_encode (cfg, data_items, &for_a, &aLen, 
       
 22613 -            &for_b, &bLen));
       
 22614 -              
       
 22615 -      P_CHECKC (PrioVerifier_set_data (vA, for_a, aLen));
       
 22616 -      P_CHECKC (PrioVerifier_set_data (vB, for_b, bLen));
       
 22617 -
       
 22618 -      mu_check (PrioServer_aggregate (sA, vA) == SECSuccess);
       
 22619 -      mu_check (PrioServer_aggregate (sB, vB) == SECSuccess);
       
 22620 -
       
 22621 -      free (for_a);
       
 22622 -      free (for_b);
       
 22623 -
       
 22624 -      for_a = NULL;
       
 22625 -      for_b = NULL;
       
 22626 -    }
       
 22627 -
       
 22628 -    mu_check (PrioTotalShare_set_data (tA, sA) == SECSuccess);
       
 22629 -    mu_check (PrioTotalShare_set_data (tB, sB) == SECSuccess);
       
 22630 -
       
 22631 -    unsigned long output[ndata];
       
 22632 -    mu_check (PrioTotalShare_final (cfg, output, tA, tB) == SECSuccess);
       
 22633 -    for (int i=0; i < ndata; i++) {
       
 22634 -      unsigned long v = ((i % 3 == 1) || (i % 5 == 3));
       
 22635 -      mu_check (output[i] == v*nclients);
       
 22636 -    }
       
 22637 -  }
       
 22638 -
       
 22639 -  //rv = SECFailure;
       
 22640 -  //goto cleanup;
       
 22641 -
       
 22642 -cleanup:
       
 22643 -  mu_check (rv == SECSuccess);
       
 22644 -  if (for_a) free (for_a);
       
 22645 -  if (for_b) free (for_b);
       
 22646 -
       
 22647 -  PublicKey_clear (pkA);
       
 22648 -  PublicKey_clear (pkB);
       
 22649 -  PrivateKey_clear (skA);
       
 22650 -  PrivateKey_clear (skB);
       
 22651 -
       
 22652 -  PrioVerifier_clear (vA);
       
 22653 -  PrioVerifier_clear (vB);
       
 22654 -
       
 22655 -  PrioTotalShare_clear (tA);
       
 22656 -  PrioTotalShare_clear (tB);
       
 22657 -
       
 22658 -  PrioServer_clear (sA);
       
 22659 -  PrioServer_clear (sB);
       
 22660 -  PrioConfig_clear (cfg);
       
 22661 -}
       
 22662 -
       
 22663 -void 
       
 22664 -mu_test_client__agg_1 (void)
       
 22665 -{
       
 22666 -  test_client_agg (1);
       
 22667 -}
       
 22668 -
       
 22669 -void 
       
 22670 -mu_test_client__agg_2 (void)
       
 22671 -{
       
 22672 -  test_client_agg (2);
       
 22673 -}
       
 22674 -
       
 22675 -void 
       
 22676 -mu_test_client__agg_10 (void)
       
 22677 -{
       
 22678 -  test_client_agg (10);
       
 22679 -}
       
 22680 -
       
 22681 diff --git a/third_party/prio/ptest/encrypt_test.c b/third_party/prio/ptest/encrypt_test.c
       
 22682 deleted file mode 100644
       
 22683 --- a/third_party/prio/ptest/encrypt_test.c
       
 22684 +++ /dev/null
       
 22685 @@ -1,228 +0,0 @@
       
 22686 -/*
       
 22687 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 22688 - * 
       
 22689 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 22690 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 22691 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 22692 - */
       
 22693 -
       
 22694 -#include <nspr.h>
       
 22695 -#include <nss/nss.h>
       
 22696 -#include <nss/secoidt.h>
       
 22697 -#include <nss/keyhi.h>
       
 22698 -#include <nss/pk11pub.h>
       
 22699 -#include <nss/cert.h>
       
 22700 -
       
 22701 -#include "mutest.h"
       
 22702 -#include "prio/encrypt.h"
       
 22703 -#include "prio/rand.h"
       
 22704 -#include "prio/util.h"
       
 22705 -
       
 22706 -
       
 22707 -void 
       
 22708 -mu_test_keygen (void) 
       
 22709 -{
       
 22710 -  SECStatus rv = SECSuccess;
       
 22711 -  PublicKey pubkey = NULL;
       
 22712 -  PrivateKey pvtkey = NULL;
       
 22713 -
       
 22714 -  P_CHECKC (Keypair_new (&pvtkey, &pubkey));
       
 22715 -  mu_check (SECKEY_PublicKeyStrength (pubkey) == 32);
       
 22716 -
       
 22717 -cleanup:
       
 22718 -  mu_check (rv == SECSuccess);
       
 22719 -  PublicKey_clear (pubkey);
       
 22720 -  PrivateKey_clear (pvtkey);
       
 22721 -  return;
       
 22722 -}
       
 22723 -
       
 22724 -void 
       
 22725 -test_encrypt_once (int bad, unsigned int inlen) 
       
 22726 -{
       
 22727 -  SECStatus rv = SECSuccess;
       
 22728 -  PublicKey pubkey = NULL;
       
 22729 -  PrivateKey pvtkey = NULL;
       
 22730 -  PublicKey pubkey2 = NULL;
       
 22731 -  PrivateKey pvtkey2 = NULL;
       
 22732 -
       
 22733 -  unsigned char *bytes_in = NULL;
       
 22734 -  unsigned char *bytes_enc = NULL;
       
 22735 -  unsigned char *bytes_dec = NULL;
       
 22736 -  
       
 22737 -  unsigned int enclen;
       
 22738 -  P_CHECKC (PublicKey_encryptSize (inlen, &enclen));
       
 22739 -  unsigned int declen = enclen;
       
 22740 -
       
 22741 -  P_CHECKA (bytes_in = malloc (inlen));
       
 22742 -  P_CHECKA (bytes_enc = malloc (enclen));
       
 22743 -  P_CHECKA (bytes_dec= malloc (enclen));
       
 22744 -  P_CHECKC (rand_bytes (bytes_in, inlen));
       
 22745 -
       
 22746 -  memset (bytes_dec, 0, declen);
       
 22747 -
       
 22748 -  unsigned int encryptedBytes;
       
 22749 -  P_CHECKC (Keypair_new (&pvtkey, &pubkey));
       
 22750 -  P_CHECKC (Keypair_new (&pvtkey2, &pubkey2));
       
 22751 -  P_CHECKC (PublicKey_encrypt (pubkey, bytes_enc, 
       
 22752 -        &encryptedBytes, enclen,
       
 22753 -        bytes_in, inlen));
       
 22754 -  mu_check (encryptedBytes == enclen);
       
 22755 -
       
 22756 -  if (bad == 1) 
       
 22757 -    enclen = 30; 
       
 22758 -
       
 22759 -  if (bad == 2) {
       
 22760 -    bytes_enc[4] = 6;
       
 22761 -    bytes_enc[5] = 0;
       
 22762 -  }
       
 22763 -
       
 22764 -  if (bad == 3) {
       
 22765 -    bytes_enc[40] = 6;
       
 22766 -    bytes_enc[41] = 0;
       
 22767 -  }
       
 22768 -
       
 22769 -  unsigned int decryptedBytes;
       
 22770 -  PrivateKey key_to_use = (bad == 4) ? pvtkey2 : pvtkey;
       
 22771 -  P_CHECKC (PrivateKey_decrypt (key_to_use, bytes_dec, &decryptedBytes, declen,
       
 22772 -        bytes_enc, enclen));
       
 22773 -  mu_check (decryptedBytes == inlen);
       
 22774 -  mu_check (!strncmp ((char *)bytes_in, (char *)bytes_dec, inlen));
       
 22775 -
       
 22776 -cleanup:
       
 22777 -  mu_check (bad ? (rv == SECFailure) : (rv == SECSuccess));
       
 22778 -  if (bytes_in) free (bytes_in);
       
 22779 -  if (bytes_enc) free (bytes_enc);
       
 22780 -  if (bytes_dec) free (bytes_dec);
       
 22781 -
       
 22782 -  PublicKey_clear (pubkey);
       
 22783 -  PrivateKey_clear (pvtkey);
       
 22784 -  PublicKey_clear (pubkey2);
       
 22785 -  PrivateKey_clear (pvtkey2);
       
 22786 -  return;
       
 22787 -}
       
 22788 -
       
 22789 -void 
       
 22790 -mu_test_encrypt_good (void) 
       
 22791 -{
       
 22792 -  test_encrypt_once (0, 100);
       
 22793 -}
       
 22794 -
       
 22795 -void 
       
 22796 -mu_test_encrypt_good_long (void) 
       
 22797 -{
       
 22798 -  test_encrypt_once (0, 1000000);
       
 22799 -}
       
 22800 -
       
 22801 -void 
       
 22802 -mu_test_encrypt_too_short (void) 
       
 22803 -{
       
 22804 -  test_encrypt_once (1, 87);
       
 22805 -}
       
 22806 -
       
 22807 -void 
       
 22808 -mu_test_encrypt_garbage (void) 
       
 22809 -{
       
 22810 -  test_encrypt_once (2, 10023);
       
 22811 -}
       
 22812 -
       
 22813 -void 
       
 22814 -mu_test_encrypt_garbage2 (void) 
       
 22815 -{
       
 22816 -  test_encrypt_once (3, 8123);
       
 22817 -}
       
 22818 -
       
 22819 -void 
       
 22820 -mu_test_decrypt_wrong_key (void) 
       
 22821 -{
       
 22822 -  test_encrypt_once (4, 81230);
       
 22823 -}
       
 22824 -
       
 22825 -void 
       
 22826 -mu_test_export (void) 
       
 22827 -{
       
 22828 -  SECStatus rv = SECSuccess;
       
 22829 -  PublicKey pubkey = NULL;
       
 22830 -
       
 22831 -  unsigned char raw_bytes[CURVE25519_KEY_LEN];
       
 22832 -  unsigned char raw_bytes2[CURVE25519_KEY_LEN];
       
 22833 -  for (int i=0; i< CURVE25519_KEY_LEN; i++) {
       
 22834 -    raw_bytes[i] = (3*i+7) % 0xFF;
       
 22835 -  }
       
 22836 -
       
 22837 -  P_CHECKC (PublicKey_import (&pubkey, raw_bytes, CURVE25519_KEY_LEN));
       
 22838 -  P_CHECKC (PublicKey_export (pubkey, raw_bytes2));
       
 22839 -
       
 22840 -  for (int i=0; i< CURVE25519_KEY_LEN; i++) {
       
 22841 -    mu_check (raw_bytes[i] == raw_bytes2[i]);
       
 22842 -  }
       
 22843 -
       
 22844 -cleanup:
       
 22845 -  mu_check (rv == SECSuccess);
       
 22846 -  PublicKey_clear (pubkey);
       
 22847 -  return;
       
 22848 -}
       
 22849 -
       
 22850 -void 
       
 22851 -mu_test_export_hex (void) 
       
 22852 -{
       
 22853 -  SECStatus rv = SECSuccess;
       
 22854 -  PublicKey pubkey = NULL;
       
 22855 -
       
 22856 -  const unsigned char hex_bytes[2*CURVE25519_KEY_LEN] = \
       
 22857 -         "102030405060708090A0B0C0D0E0F00000FFEEDDCCBBAA998877665544332211";
       
 22858 -  const unsigned char hex_bytesl[2*CURVE25519_KEY_LEN] = \
       
 22859 -         "102030405060708090a0B0C0D0E0F00000FfeEddcCbBaa998877665544332211";
       
 22860 -
       
 22861 -  const unsigned char raw_bytes_should[CURVE25519_KEY_LEN] = {
       
 22862 -    0x10, 0x20, 0x30, 0x40,   0x50, 0x60, 0x70, 0x80, 
       
 22863 -    0x90, 0xA0, 0xB0, 0xC0,   0xD0, 0xE0, 0xF0, 0x00,
       
 22864 -    0x00, 0xFF, 0xEE, 0xDD,   0xCC, 0xBB, 0xAA, 0x99,
       
 22865 -    0x88, 0x77, 0x66, 0x55,   0x44, 0x33, 0x22, 0x11 };
       
 22866 -  unsigned char raw_bytes[CURVE25519_KEY_LEN];
       
 22867 -  unsigned char hex_bytes2[2*CURVE25519_KEY_LEN+1];
       
 22868 -
       
 22869 -  // Make sure that invalid lengths are rejected.
       
 22870 -  mu_check (PublicKey_import_hex (&pubkey, hex_bytes, 
       
 22871 -        2*CURVE25519_KEY_LEN-1) == SECFailure);
       
 22872 -  mu_check (PublicKey_import_hex (&pubkey, hex_bytes, 
       
 22873 -        2*CURVE25519_KEY_LEN+1) == SECFailure);
       
 22874 -
       
 22875 -  // Import a key in upper-case hex
       
 22876 -  P_CHECKC (PublicKey_import_hex (&pubkey, hex_bytes, 2*CURVE25519_KEY_LEN));
       
 22877 -  P_CHECKC (PublicKey_export (pubkey, raw_bytes));
       
 22878 -  PublicKey_clear (pubkey);
       
 22879 -  pubkey = NULL;
       
 22880 -
       
 22881 -  for (int i=0; i<CURVE25519_KEY_LEN; i++) {
       
 22882 -    mu_check (raw_bytes[i] == raw_bytes_should[i]);
       
 22883 -  }
       
 22884 -
       
 22885 -  // Import a key in mixed-case hex
       
 22886 -  P_CHECKC (PublicKey_import_hex (&pubkey, hex_bytesl, 2*CURVE25519_KEY_LEN));
       
 22887 -  P_CHECKC (PublicKey_export (pubkey, raw_bytes));
       
 22888 -  PublicKey_clear (pubkey);
       
 22889 -  pubkey = NULL;
       
 22890 -
       
 22891 -  for (int i=0; i<CURVE25519_KEY_LEN; i++) {
       
 22892 -    mu_check (raw_bytes[i] == raw_bytes_should[i]);
       
 22893 -  }
       
 22894 -
       
 22895 -  mu_check (PublicKey_import (&pubkey, raw_bytes_should, 
       
 22896 -        CURVE25519_KEY_LEN-1) == SECFailure);
       
 22897 -  mu_check (PublicKey_import (&pubkey, raw_bytes_should, 
       
 22898 -        CURVE25519_KEY_LEN+1) == SECFailure);
       
 22899 -
       
 22900 -  // Import a raw key and export as hex
       
 22901 -  P_CHECKC (PublicKey_import (&pubkey, raw_bytes_should, CURVE25519_KEY_LEN));
       
 22902 -  P_CHECKC (PublicKey_export_hex (pubkey, hex_bytes2));
       
 22903 -
       
 22904 -  for (int i=0; i<2*CURVE25519_KEY_LEN; i++) {
       
 22905 -    mu_check (hex_bytes[i] == hex_bytes2[i]);
       
 22906 -  }
       
 22907 -  mu_ensure (hex_bytes2[2*CURVE25519_KEY_LEN] == '\0');
       
 22908 -
       
 22909 -cleanup:
       
 22910 -  mu_check (rv == SECSuccess);
       
 22911 -  PublicKey_clear (pubkey);
       
 22912 -  return;
       
 22913 -}
       
 22914 diff --git a/third_party/prio/ptest/example_test.c b/third_party/prio/ptest/example_test.c
       
 22915 deleted file mode 100644
       
 22916 --- a/third_party/prio/ptest/example_test.c
       
 22917 +++ /dev/null
       
 22918 @@ -1,21 +0,0 @@
       
 22919 -/*
       
 22920 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 22921 - * 
       
 22922 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 22923 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 22924 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 22925 - */
       
 22926 -
       
 22927 -//#include <stdio.h>
       
 22928 -#include "mutest.h"
       
 22929 -
       
 22930 -
       
 22931 -
       
 22932 -void 
       
 22933 -mu_test_example (void) 
       
 22934 -{
       
 22935 -  mu_check (1);
       
 22936 -}
       
 22937 -
       
 22938 -
       
 22939 -
       
 22940 diff --git a/third_party/prio/ptest/fft_test.c b/third_party/prio/ptest/fft_test.c
       
 22941 deleted file mode 100644
       
 22942 --- a/third_party/prio/ptest/fft_test.c
       
 22943 +++ /dev/null
       
 22944 @@ -1,170 +0,0 @@
       
 22945 -/*
       
 22946 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 22947 - * 
       
 22948 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 22949 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 22950 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 22951 - */
       
 22952 -
       
 22953 -#include <mpi.h>
       
 22954 -#include <mprio.h>
       
 22955 -#include <stdio.h>
       
 22956 -
       
 22957 -#include "mutest.h"
       
 22958 -#include "prio/config.h"
       
 22959 -#include "prio/mparray.h"
       
 22960 -#include "prio/poly.h"
       
 22961 -#include "prio/util.h"
       
 22962 -
       
 22963 -void 
       
 22964 -mu_test__fft_one (void)
       
 22965 -{
       
 22966 -  SECStatus rv = SECSuccess;
       
 22967 -  PrioConfig cfg = NULL;
       
 22968 -  MPArray points_in = NULL;
       
 22969 -  MPArray points_out = NULL;
       
 22970 -
       
 22971 -  P_CHECKA (cfg = PrioConfig_newTest (123));
       
 22972 -  P_CHECKA (points_in = MPArray_new (1));
       
 22973 -  P_CHECKA (points_out = MPArray_new (1));
       
 22974 -
       
 22975 -  mp_set (&points_in->data[0], 3);
       
 22976 -  mu_check (poly_fft (points_out, points_in, cfg, false) == SECSuccess);
       
 22977 -
       
 22978 -  mu_check (mp_cmp_d(&points_in->data[0], 3) == 0);
       
 22979 -  mu_check (mp_cmp_d(&points_out->data[0], 3) == 0);
       
 22980 -
       
 22981 -cleanup:
       
 22982 -  mu_check (rv == SECSuccess);
       
 22983 -  MPArray_clear (points_in);
       
 22984 -  MPArray_clear (points_out);
       
 22985 -
       
 22986 -  PrioConfig_clear (cfg);
       
 22987 -}
       
 22988 -
       
 22989 -void 
       
 22990 -mu_test__fft_roots (void)
       
 22991 -{
       
 22992 -  SECStatus rv = SECSuccess;
       
 22993 -  PrioConfig cfg = NULL;
       
 22994 -  mp_int tmp;
       
 22995 -  MP_DIGITS (&tmp) = NULL;
       
 22996 -
       
 22997 -  P_CHECKA (cfg = PrioConfig_newTest (90));
       
 22998 -  MP_CHECKC (mp_init (&tmp));
       
 22999 -
       
 23000 -  mp_int roots[4];
       
 23001 -  poly_fft_get_roots (roots, 4, cfg, false);
       
 23002 -
       
 23003 -  for (int i=0; i<4; i++) {
       
 23004 -    mp_exptmod_d(&roots[i], 4, &cfg->modulus, &tmp);
       
 23005 -    mu_check (mp_cmp_d( &tmp, 1) == 0);
       
 23006 -  }
       
 23007 -
       
 23008 -cleanup:
       
 23009 -  mu_check (rv == SECSuccess);
       
 23010 -  mp_clear (&tmp);
       
 23011 -  PrioConfig_clear (cfg);
       
 23012 -}
       
 23013 -
       
 23014 -void 
       
 23015 -mu_test__fft_simple (void)
       
 23016 -{
       
 23017 -  SECStatus rv = SECSuccess;
       
 23018 -  const int nPoints = 4;
       
 23019 -
       
 23020 -  PrioConfig cfg = NULL;
       
 23021 -  MPArray points_in = NULL;
       
 23022 -  MPArray points_out = NULL;
       
 23023 -
       
 23024 -  mp_int should_be, tmp;
       
 23025 -  mp_int roots[nPoints];
       
 23026 -  MP_DIGITS (&should_be) = NULL;
       
 23027 -  MP_DIGITS (&tmp) = NULL;
       
 23028 -  for (int i=0; i<nPoints; i++) {
       
 23029 -    MP_DIGITS (&roots[i]) = NULL;
       
 23030 -  }
       
 23031 -  
       
 23032 -  P_CHECKA (cfg = PrioConfig_newTest (140));
       
 23033 -  P_CHECKA (points_in = MPArray_new (nPoints));
       
 23034 -  P_CHECKA (points_out = MPArray_new (nPoints));
       
 23035 -  MP_CHECKC (mp_init (&should_be));
       
 23036 -  MP_CHECKC (mp_init (&tmp));
       
 23037 -
       
 23038 -  poly_fft_get_roots (roots, nPoints, cfg, false);
       
 23039 -
       
 23040 -  mp_set (&points_in->data[0], 3);
       
 23041 -  mp_set (&points_in->data[1], 8);
       
 23042 -  mp_set (&points_in->data[2], 7);
       
 23043 -  mp_set (&points_in->data[3], 9);
       
 23044 -  mu_check (poly_fft (points_out, points_in, cfg, false) == SECSuccess);
       
 23045 -
       
 23046 -  for (int i=0; i<nPoints; i++) {
       
 23047 -    mp_set (&should_be, 0);
       
 23048 -    for (int j=0; j<nPoints; j++) {
       
 23049 -      mu_check (mp_exptmod_d(&roots[i], j, &cfg->modulus, &tmp) == MP_OKAY);
       
 23050 -      mu_check (mp_mulmod(&tmp, &points_in->data[j], &cfg->modulus, &tmp) == MP_OKAY);
       
 23051 -      mu_check (mp_addmod(&should_be, &tmp, &cfg->modulus, &should_be) == MP_OKAY);
       
 23052 -    }
       
 23053 -
       
 23054 -    /*
       
 23055 -    puts("Should be:");
       
 23056 -    mp_print(&should_be, stdout);
       
 23057 -    puts("");
       
 23058 -    mp_print(&points_out[i], stdout);
       
 23059 -    puts("");
       
 23060 -    */
       
 23061 -    mu_check (mp_cmp (&should_be, &points_out->data[i]) == 0);
       
 23062 -  }
       
 23063 -
       
 23064 -cleanup:
       
 23065 -  mu_check (rv == SECSuccess);
       
 23066 -  mp_clear (&tmp);
       
 23067 -  mp_clear (&should_be);
       
 23068 -  MPArray_clear (points_in);
       
 23069 -  MPArray_clear (points_out);
       
 23070 -  PrioConfig_clear (cfg);
       
 23071 -}
       
 23072 -
       
 23073 -void 
       
 23074 -mu_test__fft_invert (void)
       
 23075 -{
       
 23076 -  SECStatus rv = SECSuccess;
       
 23077 -  const int nPoints = 8;
       
 23078 -
       
 23079 -  PrioConfig cfg = NULL;
       
 23080 -  MPArray points_in = NULL;
       
 23081 -  MPArray points_out = NULL;
       
 23082 -  MPArray points_out2 = NULL;
       
 23083 -  mp_int roots[nPoints];
       
 23084 -  
       
 23085 -  P_CHECKA (cfg = PrioConfig_newTest (91));
       
 23086 -  P_CHECKA (points_in = MPArray_new (nPoints)); 
       
 23087 -  P_CHECKA (points_out = MPArray_new (nPoints));
       
 23088 -  P_CHECKA (points_out2 = MPArray_new (nPoints));
       
 23089 -
       
 23090 -  poly_fft_get_roots (roots, nPoints, cfg, false);
       
 23091 -
       
 23092 -  mp_set (&points_in->data[0], 3);
       
 23093 -  mp_set (&points_in->data[1], 8);
       
 23094 -  mp_set (&points_in->data[2], 7);
       
 23095 -  mp_set (&points_in->data[3], 9);
       
 23096 -  mp_set (&points_in->data[4], 123);
       
 23097 -  mp_set (&points_in->data[5], 123123987);
       
 23098 -  mp_set (&points_in->data[6], 2);
       
 23099 -  mp_set (&points_in->data[7], 0);
       
 23100 -  mu_check (poly_fft(points_out, points_in, cfg, false) == SECSuccess);
       
 23101 -  mu_check (poly_fft(points_out2, points_out, cfg, true) == SECSuccess);
       
 23102 -
       
 23103 -  for (int i=0; i<nPoints; i++) {
       
 23104 -    mu_check (mp_cmp (&points_out2->data[i], &points_in->data[i]) == 0);
       
 23105 -  }
       
 23106 -
       
 23107 -cleanup:
       
 23108 -  mu_check (rv == SECSuccess);
       
 23109 -
       
 23110 -  MPArray_clear (points_in);
       
 23111 -  MPArray_clear (points_out);
       
 23112 -  MPArray_clear (points_out2);
       
 23113 -  PrioConfig_clear (cfg);
       
 23114 -}
       
 23115 diff --git a/third_party/prio/ptest/mkmutest b/third_party/prio/ptest/mkmutest
       
 23116 deleted file mode 100755
       
 23117 --- a/third_party/prio/ptest/mkmutest
       
 23118 +++ /dev/null
       
 23119 @@ -1,65 +0,0 @@
       
 23120 -#!/usr/bin/env bash
       
 23121 -#
       
 23122 -# This file is part of mutest, a simple micro unit testing framework for C.
       
 23123 -#
       
 23124 -# mutest was written by Leandro Lucarella <llucax@gmail.com> and is released
       
 23125 -# under the BOLA license, please see the LICENSE file or visit:
       
 23126 -# http://blitiri.com.ar/p/bola/
       
 23127 -#
       
 23128 -# This is a simple script to generate a C file that runs all the test suites
       
 23129 -# present in .o files passed as arguments.
       
 23130 -#
       
 23131 -# Please, read the README file for more details.
       
 23132 -#
       
 23133 -
       
 23134 -
       
 23135 -# the trick here is getting all the test cases present in an object file using
       
 23136 -# nm. All the tests must take and return void, start with "mutest_" and, of
       
 23137 -# course, should not be static, which leads to a small limitation: all test
       
 23138 -# cases must have unique names, even across test suites.
       
 23139 -
       
 23140 -# the first argument should be mutest.h
       
 23141 -if [ -z "$1" ]
       
 23142 -then
       
 23143 -	echo "Too few arguments" >&2
       
 23144 -	echo "Usage: $0 mutest_h_location [object files...]" >&2
       
 23145 -	exit 1
       
 23146 -fi
       
 23147 -mutest_h="$1"
       
 23148 -shift
       
 23149 -echo "#include \"$mutest_h\""
       
 23150 -echo "void mu_run_suites() {"
       
 23151 -echo
       
 23152 -for file in "$@"
       
 23153 -do
       
 23154 -	pr_file=`echo "$file" | sed 's/\"/\\\\\"/g'`
       
 23155 -	suite=`basename "$file" .o | sed 's/\"/\\\\\"/g'`
       
 23156 -#symbols=`nm "$file" | egrep '^[[:xdigit:]]{8} T mu_\w+$' | cut -c12-`
       
 23157 -	symbols=`nm "$file" | egrep ' T _mu_\w+$' | cut -c21-`
       
 23158 -	symbols+=`nm "$file" | egrep ' T mu_\w+$' | cut -c20-`
       
 23159 -	tests=`echo "$symbols" | egrep '^mu_test'`
       
 23160 -	inits=`echo "$symbols" | egrep '^mu_init'`
       
 23161 -	terms=`echo "$symbols" | egrep '^mu_term'`
       
 23162 -	echo -e '\tdo {'
       
 23163 -	echo -e '\t\tmutest_suite_name = "'"$suite"'";'
       
 23164 -	echo -e '\t\tmu_print(MU_SUITE, "\\nRunning suite '"'$suite'"'\\n");'
       
 23165 -	for init in $inits
       
 23166 -	do
       
 23167 -		echo -e "\\t\\tmu_run_init($init);"
       
 23168 -	done
       
 23169 -	for testcase in $tests
       
 23170 -	do
       
 23171 -		echo -e "\t\tmu_run_case($testcase);"
       
 23172 -	done
       
 23173 -	for term in $terms
       
 23174 -	do
       
 23175 -		echo -e "\t\tmu_run_term($term);"
       
 23176 -	done
       
 23177 -	echo -e "\t\tif (mutest_suite_failed) ++mutest_failed_suites;"
       
 23178 -	echo -e "\t\telse                     ++mutest_passed_suites;"
       
 23179 -	echo -e "\t\tmutest_suite_failed = 0;"
       
 23180 -	echo -e '\t} while (0);'
       
 23181 -	echo
       
 23182 -done
       
 23183 -echo "}"
       
 23184 -
       
 23185 diff --git a/third_party/prio/ptest/mpi_test.c b/third_party/prio/ptest/mpi_test.c
       
 23186 deleted file mode 100644
       
 23187 --- a/third_party/prio/ptest/mpi_test.c
       
 23188 +++ /dev/null
       
 23189 @@ -1,38 +0,0 @@
       
 23190 -/*
       
 23191 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 23192 - * 
       
 23193 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 23194 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 23195 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 23196 - */
       
 23197 -
       
 23198 -#include <mpi.h>
       
 23199 -
       
 23200 -#include "mutest.h"
       
 23201 -
       
 23202 -
       
 23203 -void 
       
 23204 -mu_test_mpi__add (void) 
       
 23205 -{
       
 23206 -  mp_int a;
       
 23207 -  mp_int b;
       
 23208 -  mp_int c;
       
 23209 -
       
 23210 -  mu_check (mp_init (&a) == MP_OKAY);
       
 23211 -  mu_check (mp_init (&b) == MP_OKAY);
       
 23212 -  mu_check (mp_init (&c) == MP_OKAY);
       
 23213 -
       
 23214 -  mp_set (&a, 10);
       
 23215 -  mp_set (&b, 7);
       
 23216 -  mp_add (&a, &b, &c);
       
 23217 -
       
 23218 -  mp_set (&a, 17);
       
 23219 -  mu_check (mp_cmp (&a, &c) == 0);
       
 23220 -
       
 23221 -  mp_clear (&a);
       
 23222 -  mp_clear (&b);
       
 23223 -  mp_clear (&c);
       
 23224 -}
       
 23225 -
       
 23226 -
       
 23227 -
       
 23228 diff --git a/third_party/prio/ptest/mutest.h b/third_party/prio/ptest/mutest.h
       
 23229 deleted file mode 100644
       
 23230 --- a/third_party/prio/ptest/mutest.h
       
 23231 +++ /dev/null
       
 23232 @@ -1,248 +0,0 @@
       
 23233 -/*
       
 23234 - * This file is part of mutest, a simple micro unit testing framework for C.
       
 23235 - *
       
 23236 - * mutest was written by Leandro Lucarella <llucax@gmail.com> and is released
       
 23237 - * under the BOLA license, please see the LICENSE file or visit:
       
 23238 - * http://blitiri.com.ar/p/bola/
       
 23239 - *
       
 23240 - * This header file should be included in the source files that will make up
       
 23241 - * a test suite. It's used for both C and Python implementation, but when
       
 23242 - * using the Python implementation you should define the MUTEST_PY macro.
       
 23243 - * If you implement your mu_run_suites() function yourself, you probably will
       
 23244 - * need to include this header too (see mkmutest).
       
 23245 - *
       
 23246 - * Please, read the README file for more details.
       
 23247 - */
       
 23248 -
       
 23249 -#include <stdio.h> /* fprintf() */
       
 23250 -
       
 23251 -#ifdef __cplusplus
       
 23252 -extern "C" {
       
 23253 -#endif
       
 23254 -
       
 23255 -/* verbosity level (each level shows all the previous levels too) */
       
 23256 -enum {
       
 23257 -	MU_QUIET = 0, /* be completely quiet */
       
 23258 -	MU_ERROR,     /* shows errors only */
       
 23259 -	MU_SUMMARY,   /* shows a summary */
       
 23260 -	MU_SUITE,     /* shows test suites progress */
       
 23261 -	MU_CASE,      /* shows test cases progress */
       
 23262 -	MU_CHECK      /* shows the current running check */
       
 23263 -};
       
 23264 -
       
 23265 -/* print a message according to the verbosity level */
       
 23266 -#define mu_print(level, ...) \
       
 23267 -	do { \
       
 23268 -		if (mutest_verbose_level >= level) { \
       
 23269 -			if (mutest_verbose_level == MU_ERROR) \
       
 23270 -				fprintf(stderr, __VA_ARGS__); \
       
 23271 -			else \
       
 23272 -				fprintf(stdout, __VA_ARGS__); \
       
 23273 -		} \
       
 23274 -	} while (0)
       
 23275 -
       
 23276 -/* print an error message */
       
 23277 -#define mu_printerr(name, action) \
       
 23278 -		mu_print(MU_ERROR, __FILE__ ":%d: " name " failed, "\
       
 23279 -				action " test case\n", __LINE__);
       
 23280 -
       
 23281 -/* modify the internal state so a failure gets counted */
       
 23282 -#define mutest_count_err ++mutest_failed_checks; mutest_case_failed = 1;
       
 23283 -
       
 23284 -/* modify the internal state so a success gets counted */
       
 23285 -#define mutest_count_suc ++mutest_passed_checks;
       
 23286 -
       
 23287 -#ifdef __cplusplus
       
 23288 -
       
 23289 -#include <exception>
       
 23290 -
       
 23291 -/* print an error message triggered by a C++ exception */
       
 23292 -#define mu_printex(name, action, ex) \
       
 23293 -		mu_print(MU_ERROR, __FILE__ ":%d: " name " failed, " \
       
 23294 -				"exception thrown (%s), " action \
       
 23295 -				" test case\n", __LINE__, ex);
       
 23296 -
       
 23297 -#define mutest_try try {
       
 23298 -#define mutest_catch(name, action, final) \
       
 23299 -		} catch (const std::exception& e) { \
       
 23300 -			mutest_count_err \
       
 23301 -			mu_printex(name, action, e.what()); \
       
 23302 -			final; \
       
 23303 -		} catch (...) { \
       
 23304 -			mutest_count_err \
       
 23305 -			mu_printex(name, action, "[unknown]"); \
       
 23306 -			final; \
       
 23307 -		}
       
 23308 -
       
 23309 -#else /* !__cplusplus */
       
 23310 -
       
 23311 -#define mutest_try
       
 23312 -#define mutest_catch(name, action, exp)
       
 23313 -
       
 23314 -#endif /* __cplusplus */
       
 23315 -
       
 23316 -/* check that an expression evaluates to true, continue if the check fails */
       
 23317 -#define mu_check_base(exp, name, action, final) \
       
 23318 -	do { \
       
 23319 -		mu_print(MU_CHECK, "\t\t* Checking " name "(" #exp ")...\n"); \
       
 23320 -		mutest_try \
       
 23321 -			if (exp) mutest_count_suc \
       
 23322 -			else { \
       
 23323 -				mutest_count_err \
       
 23324 -				mu_printerr(name "(" #exp ")", action); \
       
 23325 -				final; \
       
 23326 -			} \
       
 23327 -		mutest_catch(name, action, final) \
       
 23328 -	} while (0)
       
 23329 -
       
 23330 -/* check that an expression evaluates to true, continue if the check fails */
       
 23331 -#define mu_check(exp) mu_check_base(exp, "mu_check", "resuming", continue)
       
 23332 -
       
 23333 -/*
       
 23334 - * ensure that an expression evaluates to true, abort the current test
       
 23335 - * case if the check fails
       
 23336 - */
       
 23337 -#define mu_ensure(exp) mu_check_base(exp, "mu_ensure", "aborting", return)
       
 23338 -
       
 23339 -#ifdef __cplusplus
       
 23340 -
       
 23341 -#define mu_echeck_base(ex, exp, name, action, final) \
       
 23342 -	do { \
       
 23343 -		mu_print(MU_CHECK, "\t\t* Checking " name "(" #ex ", " #exp \
       
 23344 -				")...\n"); \
       
 23345 -		try { \
       
 23346 -			exp; \
       
 23347 -			mutest_count_err \
       
 23348 -			mu_printerr(name "(" #ex ", " #exp ")", \
       
 23349 -					"no exception thrown, "	action); \
       
 23350 -			final; \
       
 23351 -		} catch (const ex& e) { \
       
 23352 -			mutest_count_suc \
       
 23353 -		} catch (const std::exception& e) { \
       
 23354 -			mutest_count_err \
       
 23355 -			mu_printex(name "(" #ex ", " #exp ")", action, \
       
 23356 -					e.what()); \
       
 23357 -			final; \
       
 23358 -		} catch (...) { \
       
 23359 -			mutest_count_err \
       
 23360 -			mu_printex(name "(" #ex ", " #exp ")", action, \
       
 23361 -					"[unknown]"); \
       
 23362 -			final; \
       
 23363 -		} \
       
 23364 -	} while (0)
       
 23365 -
       
 23366 -/*
       
 23367 - * check that an expression throws a particular exception, continue if the
       
 23368 - * check fails
       
 23369 - */
       
 23370 -#define mu_echeck(ex, exp) \
       
 23371 -	mu_echeck_base(ex, exp, "mu_echeck", "resuming", continue)
       
 23372 -
       
 23373 -/*
       
 23374 - * ensure that an expression throws a particular exception, abort the current
       
 23375 - * test case if the check fails
       
 23376 - */
       
 23377 -#define mu_eensure(ex, exp) \
       
 23378 -	mu_echeck_base(ex, exp, "mu_eensure", "aborting", return)
       
 23379 -
       
 23380 -#endif /* __cplusplus */
       
 23381 -
       
 23382 -#ifndef MUTEST_PY /* we are using the C implementation */
       
 23383 -
       
 23384 -/*
       
 23385 - * this function implements the test suites execution, you should generate
       
 23386 - * a module with this function using mkmutest, or take a look to that script
       
 23387 - * if you want to implement your own customized version */
       
 23388 -void mu_run_suites();
       
 23389 -
       
 23390 -/* macro for running a single initialization function */
       
 23391 -#ifndef mu_run_init
       
 23392 -#define mu_run_init(name) \
       
 23393 -	{ \
       
 23394 -		int name(); \
       
 23395 -		int r; \
       
 23396 -		mu_print(MU_CASE, "\t+ Executing initialization function " \
       
 23397 -				"'" #name "'...\n"); \
       
 23398 -		if ((r = name())) { \
       
 23399 -			mu_print(MU_ERROR, "%s:" #name ": initialization " \
       
 23400 -					"function failed (returned %d), " \
       
 23401 -					"skipping test suite...\n", \
       
 23402 -					mutest_suite_name, r); \
       
 23403 -			++mutest_skipped_suites; \
       
 23404 -			break; \
       
 23405 -		} \
       
 23406 -	} do { } while (0)
       
 23407 -#endif /* mu_run_init */
       
 23408 -
       
 23409 -/* macro for running a single test case */
       
 23410 -#ifndef mu_run_case
       
 23411 -#define mu_run_case(name) \
       
 23412 -	do { \
       
 23413 -		mu_print(MU_CASE, "\t* Executing test case '" #name "'...\n");\
       
 23414 -		mutest_case_name = #name; \
       
 23415 -		void name(); \
       
 23416 -		name(); \
       
 23417 -		if (mutest_case_failed) { \
       
 23418 -			++mutest_failed_cases; \
       
 23419 -			mutest_suite_failed = 1; \
       
 23420 -		} else ++mutest_passed_cases; \
       
 23421 -		mutest_case_failed = 0; \
       
 23422 -	} while (0)
       
 23423 -#endif /* mu_run_case */
       
 23424 -
       
 23425 -/* macro for running a single termination function */
       
 23426 -#ifndef mu_run_term
       
 23427 -#define mu_run_term(name) \
       
 23428 -	do { \
       
 23429 -		mu_print(MU_CASE, "\t- Executing termination function '" \
       
 23430 -				#name "'...\n"); \
       
 23431 -		void name(); \
       
 23432 -		name(); \
       
 23433 -	} while (0)
       
 23434 -#endif /* mu_run_term */
       
 23435 -
       
 23436 -/*
       
 23437 - * mutest exported variables for internal use, do not use directly unless you
       
 23438 - *  know what you're doing.
       
 23439 - */
       
 23440 -extern const char* mutest_suite_name;
       
 23441 -extern int mutest_failed_suites;
       
 23442 -extern int mutest_passed_suites;
       
 23443 -extern int mutest_skipped_suites;
       
 23444 -extern int mutest_suite_failed;
       
 23445 -/* test cases */
       
 23446 -extern const char* mutest_case_name;
       
 23447 -extern int mutest_failed_cases;
       
 23448 -extern int mutest_passed_cases;
       
 23449 -extern int mutest_case_failed;
       
 23450 -/* checks */
       
 23451 -extern int mutest_failed_checks;
       
 23452 -extern int mutest_passed_checks;
       
 23453 -/* verbosity */
       
 23454 -extern int mutest_verbose_level;
       
 23455 -
       
 23456 -#else /* MUTEST_PY is defined, using the Python implementation */
       
 23457 -
       
 23458 -/* this increments when the "API" changes, it's just for sanity check */
       
 23459 -int mutest_api_version = 1;
       
 23460 -
       
 23461 -int mutest_case_failed; /* unused, for C implementation compatibility */
       
 23462 -
       
 23463 -int mutest_passed_checks;
       
 23464 -int mutest_failed_checks;
       
 23465 -void mutest_reset_counters() {
       
 23466 -	mutest_passed_checks = 0;
       
 23467 -	mutest_failed_checks = 0;
       
 23468 -}
       
 23469 -
       
 23470 -int mutest_verbose_level = MU_ERROR;
       
 23471 -void mutest_set_verbose_level(int val) {
       
 23472 -	mutest_verbose_level = val;
       
 23473 -}
       
 23474 -
       
 23475 -#endif /* MUTEST_PY */
       
 23476 -
       
 23477 -#ifdef __cplusplus
       
 23478 -}
       
 23479 -#endif
       
 23480 -
       
 23481 diff --git a/third_party/prio/ptest/mutest.c b/third_party/prio/ptest/mutest.c
       
 23482 deleted file mode 100644
       
 23483 --- a/third_party/prio/ptest/mutest.c
       
 23484 +++ /dev/null
       
 23485 @@ -1,94 +0,0 @@
       
 23486 -/*
       
 23487 - * This file is part of mutest, a simple micro unit testing framework for C.
       
 23488 - *
       
 23489 - * mutest was written by Leandro Lucarella <llucax@gmail.com> and is released
       
 23490 - * under the BOLA license, please see the LICENSE file or visit:
       
 23491 - * http://blitiri.com.ar/p/bola/
       
 23492 - *
       
 23493 - * This is the main program, it runs all the test suites and shows the
       
 23494 - * results.  The main work (of running the test suite) is done by the (usually)
       
 23495 - * synthesized mu_run_suites() function, which can be generated using the
       
 23496 - * mkmutest script (or written manually).
       
 23497 - *
       
 23498 - * Please, read the README file for more details.
       
 23499 - */
       
 23500 -
       
 23501 -#include <mprio.h>
       
 23502 -#include <stdio.h> /* printf(), fprintf() */
       
 23503 -#include <string.h> /* strncmp() */
       
 23504 -
       
 23505 -#include "mutest.h" /* MU_* constants, mu_print() */
       
 23506 -
       
 23507 -/*
       
 23508 - * note that all global variables are public because they need to be accessed
       
 23509 - * from other modules, like the test suites or the module implementing
       
 23510 - * mu_run_suites()
       
 23511 - */
       
 23512 -
       
 23513 -/* globals for managing test suites */
       
 23514 -const char* mutest_suite_name;
       
 23515 -int mutest_failed_suites;
       
 23516 -int mutest_passed_suites;
       
 23517 -int mutest_skipped_suites;
       
 23518 -int mutest_suite_failed;
       
 23519 -
       
 23520 -
       
 23521 -/* globals for managing test cases */
       
 23522 -const char* mutest_case_name;
       
 23523 -int mutest_failed_cases;
       
 23524 -int mutest_passed_cases;
       
 23525 -int mutest_case_failed;
       
 23526 -
       
 23527 -
       
 23528 -/* globals for managing checks */
       
 23529 -int mutest_failed_checks;
       
 23530 -int mutest_passed_checks;
       
 23531 -
       
 23532 -
       
 23533 -/* verbosity level, see mutest.h */
       
 23534 -int mutest_verbose_level = 1; /* exported for use in test suites */
       
 23535 -
       
 23536 -
       
 23537 -
       
 23538 -/*
       
 23539 - * only -v is supported right now, both "-v -v" and "-vv" are accepted for
       
 23540 - * increasing the verbosity by 2.
       
 23541 - */
       
 23542 -void parse_args(__attribute__((unused)) int argc, char* argv[]) {
       
 23543 -	while (*++argv) {
       
 23544 -		if (strncmp(*argv, "-v", 2) == 0) {
       
 23545 -			++mutest_verbose_level;
       
 23546 -			char* c = (*argv) + 1;
       
 23547 -			while (*++c) {
       
 23548 -				if (*c != 'v')
       
 23549 -					break;
       
 23550 -				++mutest_verbose_level;
       
 23551 -			}
       
 23552 -		}
       
 23553 -	}
       
 23554 -}
       
 23555 -
       
 23556 -
       
 23557 -int main(int argc, char* argv[]) {
       
 23558 -
       
 23559 -  Prio_init ();
       
 23560 -	parse_args(argc, argv);
       
 23561 -
       
 23562 -	mu_run_suites();
       
 23563 -
       
 23564 -  Prio_clear ();
       
 23565 -
       
 23566 -	mu_print(MU_SUMMARY, "\n"
       
 23567 -			"Tests done:\n"
       
 23568 -			"\t%d test suite(s) passed, %d failed, %d skipped.\n"
       
 23569 -			"\t%d test case(s) passed, %d failed.\n"
       
 23570 -			"\t%d check(s) passed, %d failed.\n"
       
 23571 -			"\n",
       
 23572 -			mutest_passed_suites, mutest_failed_suites,
       
 23573 -			mutest_skipped_suites,
       
 23574 -			mutest_passed_cases, mutest_failed_cases,
       
 23575 -			mutest_passed_checks, mutest_failed_checks);
       
 23576 -
       
 23577 -	return (mutest_failed_suites + mutest_skipped_suites) ? 1 : 0;
       
 23578 -}
       
 23579 -
       
 23580 diff --git a/third_party/prio/ptest/prg_test.c b/third_party/prio/ptest/prg_test.c
       
 23581 deleted file mode 100644
       
 23582 --- a/third_party/prio/ptest/prg_test.c
       
 23583 +++ /dev/null
       
 23584 @@ -1,345 +0,0 @@
       
 23585 -/*
       
 23586 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 23587 - * 
       
 23588 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 23589 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 23590 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 23591 - */
       
 23592 -
       
 23593 -#include <mpi.h>
       
 23594 -
       
 23595 -#include "mutest.h"
       
 23596 -#include "prio/prg.h"
       
 23597 -#include "prio/util.h"
       
 23598 -
       
 23599 -void
       
 23600 -mu_test__prg_simple (void) 
       
 23601 -{
       
 23602 -  SECStatus rv = SECSuccess;
       
 23603 -  PrioPRGSeed key;
       
 23604 -  PRG prg = NULL;
       
 23605 -
       
 23606 -  P_CHECKC (PrioPRGSeed_randomize (&key)); 
       
 23607 -  P_CHECKA (prg = PRG_new (key)); 
       
 23608 -
       
 23609 -cleanup:
       
 23610 -  mu_check (rv == SECSuccess);
       
 23611 -  PRG_clear (prg);
       
 23612 -}
       
 23613 -
       
 23614 -void
       
 23615 -mu_test__prg_repeat (void) 
       
 23616 -{
       
 23617 -  SECStatus rv = SECSuccess;
       
 23618 -  const int buflen = 10000;
       
 23619 -  unsigned char buf1[buflen];
       
 23620 -  unsigned char buf2[buflen];
       
 23621 -
       
 23622 -  PrioPRGSeed key;
       
 23623 -  PRG prg1 = NULL;
       
 23624 -  PRG prg2 = NULL;
       
 23625 -
       
 23626 -  buf1[3] = 'a';
       
 23627 -  buf2[3] = 'b';
       
 23628 -
       
 23629 -  P_CHECKC (PrioPRGSeed_randomize (&key)); 
       
 23630 -  P_CHECKA (prg1 = PRG_new (key)); 
       
 23631 -  P_CHECKA (prg2 = PRG_new (key)); 
       
 23632 -
       
 23633 -  P_CHECKC (PRG_get_bytes (prg1, buf1, buflen));
       
 23634 -  P_CHECKC (PRG_get_bytes (prg2, buf2, buflen));
       
 23635 -
       
 23636 -  bool all_zero = true;
       
 23637 -  for (int i=0; i<buflen; i++) {
       
 23638 -    mu_check (buf1[i] == buf2[i]);
       
 23639 -    if (buf1[i]) all_zero = false;
       
 23640 -  }
       
 23641 -  mu_check (!all_zero);
       
 23642 -
       
 23643 -cleanup:
       
 23644 -  mu_check (rv == SECSuccess);
       
 23645 -  PRG_clear (prg1);
       
 23646 -  PRG_clear (prg2);
       
 23647 -}
       
 23648 -
       
 23649 -
       
 23650 -void
       
 23651 -mu_test__prg_repeat_int (void) 
       
 23652 -{
       
 23653 -  SECStatus rv = SECSuccess;
       
 23654 -  const int tries = 10000;
       
 23655 -  mp_int max;
       
 23656 -  mp_int out1;
       
 23657 -  mp_int out2;
       
 23658 -  MP_DIGITS (&max) = NULL;
       
 23659 -  MP_DIGITS (&out1) = NULL;
       
 23660 -  MP_DIGITS (&out2) = NULL;
       
 23661 -
       
 23662 -  PrioPRGSeed key;
       
 23663 -  PRG prg1 = NULL;
       
 23664 -  PRG prg2 = NULL;
       
 23665 -
       
 23666 -  P_CHECKC (PrioPRGSeed_randomize (&key)); 
       
 23667 -  P_CHECKA (prg1 = PRG_new (key)); 
       
 23668 -  P_CHECKA (prg2 = PRG_new (key)); 
       
 23669 -
       
 23670 -  MP_CHECKC (mp_init (&max)); 
       
 23671 -  MP_CHECKC (mp_init (&out1)); 
       
 23672 -  MP_CHECKC (mp_init (&out2)); 
       
 23673 -
       
 23674 -  for (int i=0; i<tries; i++) { 
       
 23675 -    mp_set (&max, i+1);
       
 23676 -    P_CHECKC (PRG_get_int (prg1, &out1, &max));
       
 23677 -    P_CHECKC (PRG_get_int (prg2, &out2, &max));
       
 23678 -    mu_check (mp_cmp (&out1, &out2) == 0);
       
 23679 -  }
       
 23680 -
       
 23681 -cleanup:
       
 23682 -  mu_check (rv == SECSuccess);
       
 23683 -  PRG_clear (prg1);
       
 23684 -  PRG_clear (prg2);
       
 23685 -  mp_clear (&max);
       
 23686 -  mp_clear (&out1);
       
 23687 -  mp_clear (&out2);
       
 23688 -}
       
 23689 -
       
 23690 -void 
       
 23691 -test_prg_once (int limit)
       
 23692 -{
       
 23693 -  SECStatus rv = SECSuccess;
       
 23694 -  PrioPRGSeed key;
       
 23695 -  mp_int max;
       
 23696 -  mp_int out;
       
 23697 -  PRG prg = NULL;
       
 23698 -
       
 23699 -  MP_DIGITS (&max) = NULL;
       
 23700 -  MP_DIGITS (&out) = NULL;
       
 23701 -
       
 23702 -  P_CHECKC (PrioPRGSeed_randomize (&key)); 
       
 23703 -  P_CHECKA (prg = PRG_new (key)); 
       
 23704 -
       
 23705 -  MP_CHECKC (mp_init (&max)); 
       
 23706 -  MP_CHECKC (mp_init (&out)); 
       
 23707 -
       
 23708 -  mp_set (&max, limit);
       
 23709 -
       
 23710 -  P_CHECKC (PRG_get_int (prg, &out, &max));
       
 23711 -  mu_check (mp_cmp_d (&out, limit) == -1);
       
 23712 -  mu_check (mp_cmp_z (&out) > -1);
       
 23713 -
       
 23714 -cleanup:
       
 23715 -  mu_check (rv == SECSuccess);
       
 23716 -  mp_clear (&max);
       
 23717 -  mp_clear (&out);
       
 23718 -  PRG_clear (prg);
       
 23719 -}
       
 23720 -
       
 23721 -void 
       
 23722 -mu_test_prg__multiple_of_8 (void) 
       
 23723 -{
       
 23724 -  test_prg_once (256);
       
 23725 -  test_prg_once (256*256);
       
 23726 -}
       
 23727 -
       
 23728 -
       
 23729 -void 
       
 23730 -mu_test_prg__near_multiple_of_8 (void) 
       
 23731 -{
       
 23732 -  test_prg_once (256+1);
       
 23733 -  test_prg_once (256*256+1);
       
 23734 -}
       
 23735 -
       
 23736 -void 
       
 23737 -mu_test_prg__odd (void) 
       
 23738 -{
       
 23739 -  test_prg_once (39);
       
 23740 -  test_prg_once (123);
       
 23741 -  test_prg_once (993123);
       
 23742 -}
       
 23743 -
       
 23744 -void 
       
 23745 -mu_test_prg__large (void) 
       
 23746 -{
       
 23747 -  test_prg_once (1231239933);
       
 23748 -}
       
 23749 -
       
 23750 -void 
       
 23751 -mu_test_prg__bit(void) 
       
 23752 -{
       
 23753 -  test_prg_once (1);
       
 23754 -  for (int i = 0; i < 100; i++)
       
 23755 -    test_prg_once (2);
       
 23756 -}
       
 23757 -
       
 23758 -void 
       
 23759 -test_prg_distribution (int limit) 
       
 23760 -{
       
 23761 -  int bins[limit];
       
 23762 -  SECStatus rv = SECSuccess;
       
 23763 -  PrioPRGSeed key;
       
 23764 -  mp_int max;
       
 23765 -  mp_int out;
       
 23766 -  PRG prg = NULL;
       
 23767 -
       
 23768 -  MP_DIGITS (&max) = NULL;
       
 23769 -  MP_DIGITS (&out) = NULL;
       
 23770 -
       
 23771 -  P_CHECKC (PrioPRGSeed_randomize (&key)); 
       
 23772 -  P_CHECKA (prg = PRG_new (key)); 
       
 23773 -
       
 23774 -  MP_CHECKC (mp_init (&max)); 
       
 23775 -  MP_CHECKC (mp_init (&out)); 
       
 23776 -
       
 23777 -  mp_set (&max, limit);
       
 23778 -
       
 23779 -  for (int i = 0; i < limit; i++) {
       
 23780 -    bins[i] = 0;
       
 23781 -  }
       
 23782 -
       
 23783 -  for (int i = 0; i < limit*limit; i++) {
       
 23784 -    P_CHECKC (PRG_get_int (prg, &out, &max));
       
 23785 -    mu_check (mp_cmp_d (&out, limit) == -1);
       
 23786 -    mu_check (mp_cmp_z (&out) > -1);
       
 23787 -
       
 23788 -    unsigned char ival[2] = {0x00, 0x00};
       
 23789 -    MP_CHECKC (mp_to_fixlen_octets (&out, ival, 2));
       
 23790 -    if (ival[1] + 256*ival[0] < limit) {
       
 23791 -      bins[ival[1] + 256*ival[0]] += 1;
       
 23792 -    } else {
       
 23793 -      mu_check (false);
       
 23794 -    }
       
 23795 -  }
       
 23796 -
       
 23797 -  for (int i = 0; i < limit; i++) {
       
 23798 -    mu_check (bins[i] > limit/2);
       
 23799 -  }
       
 23800 -
       
 23801 -cleanup:
       
 23802 -  mu_check (rv == SECSuccess);
       
 23803 -  mp_clear (&max);
       
 23804 -  mp_clear (&out);
       
 23805 -  PRG_clear (prg);
       
 23806 -}
       
 23807 -
       
 23808 -
       
 23809 -void 
       
 23810 -mu_test__prg_distribution123 (void) 
       
 23811 -{
       
 23812 -  test_prg_distribution(123);
       
 23813 -}
       
 23814 -
       
 23815 -void 
       
 23816 -mu_test__prg_distribution257 (void) 
       
 23817 -{
       
 23818 -  test_prg_distribution(257);
       
 23819 -}
       
 23820 -
       
 23821 -void 
       
 23822 -mu_test__prg_distribution259 (void) 
       
 23823 -{
       
 23824 -  test_prg_distribution(259);
       
 23825 -}
       
 23826 -
       
 23827 -void 
       
 23828 -test_prg_distribution_large (mp_int *max) 
       
 23829 -{
       
 23830 -  const int limit = 16;
       
 23831 -  int bins[limit];
       
 23832 -  SECStatus rv = SECSuccess;
       
 23833 -  PrioPRGSeed key;
       
 23834 -  mp_int out;
       
 23835 -  PRG prg = NULL;
       
 23836 -
       
 23837 -  MP_DIGITS (&out) = NULL;
       
 23838 -
       
 23839 -  P_CHECKC (PrioPRGSeed_randomize (&key)); 
       
 23840 -  P_CHECKA (prg = PRG_new (key)); 
       
 23841 -
       
 23842 -  MP_CHECKC (mp_init (&out)); 
       
 23843 -
       
 23844 -  for (int i = 0; i < limit; i++) {
       
 23845 -    bins[i] = 0;
       
 23846 -  }
       
 23847 -
       
 23848 -  for (int i = 0; i < 100*limit*limit; i++) {
       
 23849 -    MP_CHECKC (PRG_get_int (prg, &out, max));
       
 23850 -    mu_check (mp_cmp (&out, max) == -1);
       
 23851 -    mu_check (mp_cmp_z (&out) > -1);
       
 23852 -
       
 23853 -    unsigned long res; 
       
 23854 -    MP_CHECKC (mp_mod_d (&out, limit, &res));
       
 23855 -    bins[res] += 1;
       
 23856 -  }
       
 23857 -
       
 23858 -  for (int i = 0; i < limit; i++) {
       
 23859 -    mu_check (bins[i] > limit/2);
       
 23860 -  }
       
 23861 -
       
 23862 -cleanup:
       
 23863 -  mu_check (rv == SECSuccess);
       
 23864 -  mp_clear (&out);
       
 23865 -  PRG_clear (prg);
       
 23866 -}
       
 23867 -
       
 23868 -void 
       
 23869 -mu_test__prg_distribution_large (void) 
       
 23870 -{
       
 23871 -  SECStatus rv = SECSuccess;
       
 23872 -  mp_int max;
       
 23873 -  MP_DIGITS (&max) = NULL;
       
 23874 -  MP_CHECKC (mp_init (&max));
       
 23875 -
       
 23876 -  char bytes[] = "FF1230985198451798EDC8123";
       
 23877 -  MP_CHECKC (mp_read_radix (&max, bytes, 16));
       
 23878 -  test_prg_distribution_large (&max);
       
 23879 -
       
 23880 -cleanup:
       
 23881 -  mu_check (rv == SECSuccess);
       
 23882 -  mp_clear (&max);
       
 23883 -}
       
 23884 -
       
 23885 -
       
 23886 -void
       
 23887 -mu_test__prg_share_arr (void)
       
 23888 -{
       
 23889 -  SECStatus rv = SECSuccess;
       
 23890 -  PrioConfig cfg = NULL;
       
 23891 -  MPArray arr = NULL;
       
 23892 -  MPArray arr_share = NULL;
       
 23893 -  PRG prg = NULL;
       
 23894 -  PrioPRGSeed seed;
       
 23895 -
       
 23896 -  P_CHECKA (cfg = PrioConfig_newTest (72));
       
 23897 -  P_CHECKC (PrioPRGSeed_randomize (&seed));
       
 23898 -  P_CHECKA (arr = MPArray_new (10));
       
 23899 -  P_CHECKA (arr_share = MPArray_new (10));
       
 23900 -  P_CHECKA (prg = PRG_new (seed));
       
 23901 -
       
 23902 -  for (int i=0; i<10; i++) {
       
 23903 -    mp_set (&arr->data[i], i);
       
 23904 -  }
       
 23905 -
       
 23906 -  P_CHECKC (PRG_share_array (prg, arr_share, arr, cfg));
       
 23907 -
       
 23908 -  // Reset PRG 
       
 23909 -  PRG_clear (prg);
       
 23910 -  P_CHECKA (prg = PRG_new (seed));
       
 23911 -
       
 23912 -  // Read pseudorandom values into arr
       
 23913 -  P_CHECKC (PRG_get_array (prg, arr, &cfg->modulus));
       
 23914 -
       
 23915 -
       
 23916 -  for (int i=0; i<10; i++) {
       
 23917 -    MP_CHECKC (mp_addmod (&arr->data[i], &arr_share->data[i], 
       
 23918 -          &cfg->modulus, &arr->data[i]));
       
 23919 -    mu_check (mp_cmp_d (&arr->data[i], i) == 0);
       
 23920 -  }
       
 23921 -
       
 23922 -cleanup:
       
 23923 -  mu_check (rv == SECSuccess);
       
 23924 -
       
 23925 -  PRG_clear (prg);
       
 23926 -  MPArray_clear (arr);
       
 23927 -  MPArray_clear (arr_share);
       
 23928 -  PrioConfig_clear (cfg);
       
 23929 -}
       
 23930 diff --git a/third_party/prio/ptest/rand_test.c b/third_party/prio/ptest/rand_test.c
       
 23931 deleted file mode 100644
       
 23932 --- a/third_party/prio/ptest/rand_test.c
       
 23933 +++ /dev/null
       
 23934 @@ -1,194 +0,0 @@
       
 23935 -/*
       
 23936 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 23937 - * 
       
 23938 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 23939 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 23940 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 23941 - */
       
 23942 -
       
 23943 -#include <mpi.h>
       
 23944 -
       
 23945 -#include "mutest.h"
       
 23946 -#include "prio/rand.h"
       
 23947 -#include "prio/util.h"
       
 23948 -
       
 23949 -void 
       
 23950 -mu_test__util_msb_mast (void)
       
 23951 -{
       
 23952 -  mu_check (msb_mask (0x01) == 0x01);
       
 23953 -  mu_check (msb_mask (0x02) == 0x03);
       
 23954 -  mu_check (msb_mask (0x0C) == 0x0F);
       
 23955 -  mu_check (msb_mask (0x1C) == 0x1F);
       
 23956 -  mu_check (msb_mask (0xFF) == 0xFF);
       
 23957 -}
       
 23958 -
       
 23959 -void 
       
 23960 -test_rand_once (int limit)
       
 23961 -{
       
 23962 -  mp_int max;
       
 23963 -  mp_int out;
       
 23964 -
       
 23965 -  mu_check (mp_init (&max) == MP_OKAY);
       
 23966 -  mu_check (mp_init (&out) == MP_OKAY);
       
 23967 -
       
 23968 -  mp_set (&max, limit);
       
 23969 -
       
 23970 -  mu_check (rand_int (&out, &max)  == MP_OKAY);
       
 23971 -  mu_check (mp_cmp_d (&out, limit) == -1);
       
 23972 -  mu_check (mp_cmp_z (&out) > -1);
       
 23973 -
       
 23974 -  mp_clear (&max);
       
 23975 -  mp_clear (&out);
       
 23976 -}
       
 23977 -
       
 23978 -void 
       
 23979 -mu_test_rand__multiple_of_8 (void) 
       
 23980 -{
       
 23981 -  test_rand_once (256);
       
 23982 -  test_rand_once (256*256);
       
 23983 -}
       
 23984 -
       
 23985 -
       
 23986 -void 
       
 23987 -mu_test_rand__near_multiple_of_8 (void) 
       
 23988 -{
       
 23989 -  test_rand_once (256+1);
       
 23990 -  test_rand_once (256*256+1);
       
 23991 -}
       
 23992 -
       
 23993 -void 
       
 23994 -mu_test_rand__odd (void) 
       
 23995 -{
       
 23996 -  test_rand_once (39);
       
 23997 -  test_rand_once (123);
       
 23998 -  test_rand_once (993123);
       
 23999 -}
       
 24000 -
       
 24001 -void 
       
 24002 -mu_test_rand__large (void) 
       
 24003 -{
       
 24004 -  test_rand_once (1231239933);
       
 24005 -}
       
 24006 -
       
 24007 -void 
       
 24008 -mu_test_rand__bit(void) 
       
 24009 -{
       
 24010 -  test_rand_once (1);
       
 24011 -  for (int i = 0; i < 100; i++)
       
 24012 -    test_rand_once (2);
       
 24013 -}
       
 24014 -
       
 24015 -void 
       
 24016 -test_rand_distribution (int limit) 
       
 24017 -{
       
 24018 -  SECStatus rv = SECSuccess;
       
 24019 -  int bins[limit];
       
 24020 -
       
 24021 -  mp_int max;
       
 24022 -  mp_int out;
       
 24023 -
       
 24024 -  MP_DIGITS (&max) = NULL;
       
 24025 -  MP_DIGITS (&out) = NULL;
       
 24026 -
       
 24027 -  MP_CHECKC (mp_init (&max));
       
 24028 -  MP_CHECKC (mp_init (&out));
       
 24029 -
       
 24030 -  mp_set (&max, limit);
       
 24031 -
       
 24032 -  for (int i = 0; i < limit; i++) {
       
 24033 -    bins[i] = 0;
       
 24034 -  }
       
 24035 -
       
 24036 -  for (int i = 0; i < limit*limit; i++) {
       
 24037 -    mu_check (rand_int (&out, &max)  == MP_OKAY);
       
 24038 -    mu_check (mp_cmp_d (&out, limit) == -1);
       
 24039 -    mu_check (mp_cmp_z (&out) > -1);
       
 24040 -
       
 24041 -    unsigned char ival[2] = {0x00, 0x00};
       
 24042 -    MP_CHECKC (mp_to_fixlen_octets (&out, ival, 2));
       
 24043 -    if (ival[1] + 256*ival[0] < limit) {
       
 24044 -      bins[ival[1] + 256*ival[0]] += 1;
       
 24045 -    } else {
       
 24046 -      mu_check (false);
       
 24047 -    }
       
 24048 -  }
       
 24049 -
       
 24050 -  for (int i = 0; i < limit; i++) {
       
 24051 -    mu_check (bins[i] > limit/2);
       
 24052 -  }
       
 24053 -
       
 24054 -cleanup:
       
 24055 -  mu_check (rv == SECSuccess);
       
 24056 -  mp_clear (&max);
       
 24057 -  mp_clear (&out);
       
 24058 -}
       
 24059 -
       
 24060 -
       
 24061 -void 
       
 24062 -mu_test__rand_distribution123 (void) 
       
 24063 -{
       
 24064 -  test_rand_distribution(123);
       
 24065 -}
       
 24066 -
       
 24067 -void 
       
 24068 -mu_test__rand_distribution257 (void) 
       
 24069 -{
       
 24070 -  test_rand_distribution(257);
       
 24071 -}
       
 24072 -
       
 24073 -void 
       
 24074 -mu_test__rand_distribution259 (void) 
       
 24075 -{
       
 24076 -  test_rand_distribution(259);
       
 24077 -}
       
 24078 -
       
 24079 -void 
       
 24080 -test_rand_distribution_large (mp_int *max) 
       
 24081 -{
       
 24082 -  SECStatus rv = SECSuccess;
       
 24083 -  int limit = 16;
       
 24084 -  int bins[limit];
       
 24085 -
       
 24086 -  mp_int out;
       
 24087 -  MP_DIGITS (&out) = NULL;
       
 24088 -  MP_CHECKC (mp_init (&out));
       
 24089 -
       
 24090 -  for (int i = 0; i < limit; i++) {
       
 24091 -    bins[i] = 0;
       
 24092 -  }
       
 24093 -
       
 24094 -  for (int i = 0; i < 100*limit*limit; i++) {
       
 24095 -    MP_CHECKC (rand_int (&out, max));
       
 24096 -    mu_check (mp_cmp (&out, max) == -1);
       
 24097 -    mu_check (mp_cmp_z (&out) > -1);
       
 24098 -
       
 24099 -    unsigned long res; 
       
 24100 -    MP_CHECKC (mp_mod_d (&out, limit, &res));
       
 24101 -    bins[res] += 1;
       
 24102 -  }
       
 24103 -
       
 24104 -  for (int i = 0; i < limit; i++) {
       
 24105 -    mu_check (bins[i] > limit/2);
       
 24106 -  }
       
 24107 -
       
 24108 -cleanup:
       
 24109 -  mu_check (rv == SECSuccess);
       
 24110 -  mp_clear (&out);
       
 24111 -}
       
 24112 -
       
 24113 -void 
       
 24114 -mu_test__rand_distribution_large (void) 
       
 24115 -{
       
 24116 -  SECStatus rv = SECSuccess;
       
 24117 -  mp_int max;
       
 24118 -  MP_DIGITS (&max) = NULL;
       
 24119 -  MP_CHECKC (mp_init (&max));
       
 24120 -
       
 24121 -  char bytes[] = "FF1230985198451798EDC8123";
       
 24122 -  MP_CHECKC (mp_read_radix (&max, bytes, 16));
       
 24123 -  test_rand_distribution_large (&max);
       
 24124 -
       
 24125 -cleanup:
       
 24126 -  mu_check (rv == SECSuccess);
       
 24127 -  mp_clear (&max);
       
 24128 -}
       
 24129 diff --git a/third_party/prio/ptest/serial_test.c b/third_party/prio/ptest/serial_test.c
       
 24130 deleted file mode 100644
       
 24131 --- a/third_party/prio/ptest/serial_test.c
       
 24132 +++ /dev/null
       
 24133 @@ -1,319 +0,0 @@
       
 24134 -/*
       
 24135 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 24136 - * 
       
 24137 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 24138 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 24139 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 24140 - */
       
 24141 -
       
 24142 -#include <mprio.h>
       
 24143 -#include <msgpack.h>
       
 24144 -#include <string.h>
       
 24145 -
       
 24146 -#include "mutest.h"
       
 24147 -#include "prio/client.h"
       
 24148 -#include "prio/config.h"
       
 24149 -#include "prio/serial.h"
       
 24150 -#include "prio/server.h"
       
 24151 -#include "prio/util.h"
       
 24152 -
       
 24153 -SECStatus
       
 24154 -gen_client_packets (const_PrioConfig cfg, PrioPacketClient pA, PrioPacketClient pB)
       
 24155 -{
       
 24156 -  SECStatus rv = SECSuccess;
       
 24157 -
       
 24158 -  const int ndata = cfg->num_data_fields;
       
 24159 -  bool data_items[ndata];
       
 24160 -
       
 24161 -  for (int i=0; i < ndata; i++) {
       
 24162 -    data_items[i] = (i % 3 == 1) || (i % 5 == 3);
       
 24163 -  }
       
 24164 -
       
 24165 -  P_CHECKC (PrioPacketClient_set_data (cfg, data_items, pA, pB));
       
 24166 -
       
 24167 -cleanup:
       
 24168 -  return rv;
       
 24169 -}
       
 24170 -
       
 24171 -
       
 24172 -void serial_client (int bad)
       
 24173 -{
       
 24174 -  SECStatus rv = SECSuccess;
       
 24175 -  PrioConfig cfg = NULL;
       
 24176 -  PrioConfig cfg2 = NULL;
       
 24177 -  PrioPacketClient pA = NULL;
       
 24178 -  PrioPacketClient pB = NULL;
       
 24179 -  PrioPacketClient qA = NULL;
       
 24180 -  PrioPacketClient qB = NULL;
       
 24181 -
       
 24182 -  const unsigned char *batch_id1 = (unsigned char *)"my_test_prio_batch1";
       
 24183 -  const unsigned char *batch_id2 = (unsigned char *)"my_test_prio_batch2";
       
 24184 -  const unsigned int batch_id_len = strlen ((char *)batch_id1);
       
 24185 -
       
 24186 -  msgpack_sbuffer sbufA, sbufB;
       
 24187 -  msgpack_packer pkA, pkB;
       
 24188 -  msgpack_unpacker upkA, upkB;
       
 24189 -
       
 24190 -  msgpack_sbuffer_init (&sbufA); 
       
 24191 -  msgpack_packer_init (&pkA, &sbufA, msgpack_sbuffer_write);
       
 24192 -
       
 24193 -  msgpack_sbuffer_init (&sbufB); 
       
 24194 -  msgpack_packer_init (&pkB, &sbufB, msgpack_sbuffer_write);
       
 24195 -
       
 24196 -  P_CHECKA (cfg = PrioConfig_new (100, NULL, NULL, batch_id1, batch_id_len));
       
 24197 -  P_CHECKA (cfg2 = PrioConfig_new (100, NULL, NULL, batch_id2, batch_id_len));
       
 24198 -  P_CHECKA (pA = PrioPacketClient_new (cfg, PRIO_SERVER_A));
       
 24199 -  P_CHECKA (pB = PrioPacketClient_new (cfg, PRIO_SERVER_B));
       
 24200 -  P_CHECKA (qA = PrioPacketClient_new (cfg, PRIO_SERVER_A));
       
 24201 -  P_CHECKA (qB = PrioPacketClient_new (cfg, PRIO_SERVER_B));
       
 24202 -
       
 24203 -  P_CHECKC (gen_client_packets (cfg, pA, pB));
       
 24204 -
       
 24205 -  P_CHECKC (serial_write_packet_client (&pkA, pA, cfg));
       
 24206 -  P_CHECKC (serial_write_packet_client (&pkB, pB, cfg));
       
 24207 -
       
 24208 -  if (bad == 1) {
       
 24209 -    sbufA.size = 1;
       
 24210 -  }
       
 24211 -
       
 24212 -  if (bad == 2) {
       
 24213 -    memset (sbufA.data, 0, sbufA.size);
       
 24214 -  }
       
 24215 -
       
 24216 -  const int size_a = sbufA.size;
       
 24217 -  const int size_b = sbufB.size;
       
 24218 -
       
 24219 -  P_CHECKCB (msgpack_unpacker_init (&upkA, 0));
       
 24220 -  P_CHECKCB (msgpack_unpacker_init (&upkB, 0));
       
 24221 -
       
 24222 -  P_CHECKCB (msgpack_unpacker_reserve_buffer (&upkA, size_a));
       
 24223 -  P_CHECKCB (msgpack_unpacker_reserve_buffer (&upkB, size_b));
       
 24224 -
       
 24225 -  memcpy (msgpack_unpacker_buffer (&upkA), sbufA.data, size_a);
       
 24226 -  memcpy (msgpack_unpacker_buffer (&upkB), sbufB.data, size_b);
       
 24227 -
       
 24228 -  msgpack_unpacker_buffer_consumed (&upkA, size_a);
       
 24229 -  msgpack_unpacker_buffer_consumed (&upkB, size_b);
       
 24230 -
       
 24231 -  P_CHECKC (serial_read_packet_client (&upkA, qA, cfg));
       
 24232 -  P_CHECKC (serial_read_packet_client (&upkB, qB, (bad == 3) ? cfg2 : cfg));
       
 24233 -
       
 24234 -  if (!bad) {
       
 24235 -    mu_check (PrioPacketClient_areEqual (pA, qA));
       
 24236 -    mu_check (PrioPacketClient_areEqual (pB, qB));
       
 24237 -    mu_check (!PrioPacketClient_areEqual (pB, qA));
       
 24238 -    mu_check (!PrioPacketClient_areEqual (pA, qB));
       
 24239 -  }
       
 24240 -
       
 24241 -cleanup: 
       
 24242 -  PrioPacketClient_clear (pA);
       
 24243 -  PrioPacketClient_clear (pB);
       
 24244 -  PrioPacketClient_clear (qA);
       
 24245 -  PrioPacketClient_clear (qB);
       
 24246 -  PrioConfig_clear (cfg);
       
 24247 -  PrioConfig_clear (cfg2);
       
 24248 -  msgpack_sbuffer_destroy (&sbufA);
       
 24249 -  msgpack_sbuffer_destroy (&sbufB);
       
 24250 -  msgpack_unpacker_destroy (&upkA);
       
 24251 -  msgpack_unpacker_destroy (&upkB);
       
 24252 -  mu_check (bad ? rv == SECFailure : rv == SECSuccess);
       
 24253 -}
       
 24254 -
       
 24255 -
       
 24256 -void mu_test__serial_client (void) 
       
 24257 -{
       
 24258 -  serial_client (0);
       
 24259 -}
       
 24260 -
       
 24261 -void mu_test__serial_client_bad1 (void) 
       
 24262 -{
       
 24263 -  serial_client (1);
       
 24264 -}
       
 24265 -
       
 24266 -void mu_test__serial_client_bad2 (void) 
       
 24267 -{
       
 24268 -  serial_client (2);
       
 24269 -}
       
 24270 -
       
 24271 -void mu_test__serial_client_bad3 (void) 
       
 24272 -{
       
 24273 -  serial_client (3);
       
 24274 -}
       
 24275 -
       
 24276 -void test_verify1 (int bad)
       
 24277 -{
       
 24278 -  SECStatus rv = SECSuccess;
       
 24279 -  PrioPacketVerify1 v1 = NULL;
       
 24280 -  PrioPacketVerify1 v2 = NULL;
       
 24281 -  PrioConfig cfg = NULL;
       
 24282 -  
       
 24283 -  P_CHECKA (cfg = PrioConfig_newTest (1));
       
 24284 -  P_CHECKA (v1 = PrioPacketVerify1_new());
       
 24285 -  P_CHECKA (v2 = PrioPacketVerify1_new());
       
 24286 -  mp_set (&v1->share_d, 4);
       
 24287 -  mp_set (&v1->share_e, 10);
       
 24288 -
       
 24289 -  msgpack_sbuffer sbuf;
       
 24290 -  msgpack_packer pk;
       
 24291 -  msgpack_unpacker upk;
       
 24292 -
       
 24293 -  msgpack_sbuffer_init (&sbuf); 
       
 24294 -  msgpack_packer_init (&pk, &sbuf, msgpack_sbuffer_write);
       
 24295 -
       
 24296 -  P_CHECKC (PrioPacketVerify1_write (v1, &pk));
       
 24297 -
       
 24298 -  if (bad == 1) {
       
 24299 -    mp_set (&cfg->modulus, 6);
       
 24300 -  }
       
 24301 -
       
 24302 -  P_CHECKCB (msgpack_unpacker_init (&upk, 0));
       
 24303 -  P_CHECKCB (msgpack_unpacker_reserve_buffer (&upk, sbuf.size));
       
 24304 -  memcpy (msgpack_unpacker_buffer (&upk), sbuf.data, sbuf.size);
       
 24305 -  msgpack_unpacker_buffer_consumed (&upk, sbuf.size);
       
 24306 -
       
 24307 -  P_CHECKC (PrioPacketVerify1_read (v2, &upk, cfg));
       
 24308 -
       
 24309 -  mu_check (!mp_cmp (&v1->share_d, &v2->share_d));
       
 24310 -  mu_check (!mp_cmp (&v1->share_e, &v2->share_e));
       
 24311 -  mu_check (!mp_cmp_d (&v2->share_d, 4));
       
 24312 -  mu_check (!mp_cmp_d (&v2->share_e, 10));
       
 24313 -
       
 24314 -cleanup:
       
 24315 -  mu_check (bad ? rv == SECFailure : rv == SECSuccess);
       
 24316 -  PrioConfig_clear (cfg);
       
 24317 -  PrioPacketVerify1_clear (v1);
       
 24318 -  PrioPacketVerify1_clear (v2);
       
 24319 -  msgpack_unpacker_destroy (&upk);
       
 24320 -  msgpack_sbuffer_destroy (&sbuf);
       
 24321 -}
       
 24322 -
       
 24323 -void mu_test_verify1_good (void)
       
 24324 -{
       
 24325 -  test_verify1 (0);
       
 24326 -}
       
 24327 -
       
 24328 -void mu_test_verify1_bad (void)
       
 24329 -{
       
 24330 -  test_verify1 (1);
       
 24331 -}
       
 24332 -
       
 24333 -void test_verify2 (int bad)
       
 24334 -{
       
 24335 -  SECStatus rv = SECSuccess;
       
 24336 -  PrioPacketVerify2 v1 = NULL;
       
 24337 -  PrioPacketVerify2 v2 = NULL;
       
 24338 -  PrioConfig cfg = NULL;
       
 24339 -  
       
 24340 -  P_CHECKA (cfg = PrioConfig_newTest (1));
       
 24341 -  P_CHECKA (v1 = PrioPacketVerify2_new());
       
 24342 -  P_CHECKA (v2 = PrioPacketVerify2_new());
       
 24343 -  mp_set (&v1->share_out, 4);
       
 24344 -
       
 24345 -  msgpack_sbuffer sbuf;
       
 24346 -  msgpack_packer pk;
       
 24347 -  msgpack_unpacker upk;
       
 24348 -
       
 24349 -  msgpack_sbuffer_init (&sbuf); 
       
 24350 -  msgpack_packer_init (&pk, &sbuf, msgpack_sbuffer_write);
       
 24351 -
       
 24352 -  P_CHECKC (PrioPacketVerify2_write (v1, &pk));
       
 24353 -
       
 24354 -  if (bad == 1) {
       
 24355 -    mp_set (&cfg->modulus, 4);
       
 24356 -  }
       
 24357 -
       
 24358 -  P_CHECKCB (msgpack_unpacker_init (&upk, 0));
       
 24359 -  P_CHECKCB (msgpack_unpacker_reserve_buffer (&upk, sbuf.size));
       
 24360 -  memcpy (msgpack_unpacker_buffer (&upk), sbuf.data, sbuf.size);
       
 24361 -  msgpack_unpacker_buffer_consumed (&upk, sbuf.size);
       
 24362 -
       
 24363 -  P_CHECKC (PrioPacketVerify2_read (v2, &upk, cfg));
       
 24364 -
       
 24365 -  mu_check (!mp_cmp (&v1->share_out, &v2->share_out));
       
 24366 -  mu_check (!mp_cmp_d (&v2->share_out, 4));
       
 24367 -
       
 24368 -cleanup:
       
 24369 -  mu_check (bad ? rv == SECFailure : rv == SECSuccess);
       
 24370 -  PrioConfig_clear (cfg);
       
 24371 -  PrioPacketVerify2_clear (v1);
       
 24372 -  PrioPacketVerify2_clear (v2);
       
 24373 -  msgpack_unpacker_destroy (&upk);
       
 24374 -  msgpack_sbuffer_destroy (&sbuf);
       
 24375 -}
       
 24376 -
       
 24377 -void mu_test_verify2_good (void)
       
 24378 -{
       
 24379 -  test_verify2 (0);
       
 24380 -}
       
 24381 -
       
 24382 -void mu_test_verify2_bad (void)
       
 24383 -{
       
 24384 -  test_verify2 (1);
       
 24385 -}
       
 24386 -
       
 24387 -
       
 24388 -void test_total_share (int bad)
       
 24389 -{
       
 24390 -  SECStatus rv = SECSuccess;
       
 24391 -  PrioTotalShare t1 = NULL;
       
 24392 -  PrioTotalShare t2 = NULL;
       
 24393 -  PrioConfig cfg = NULL;
       
 24394 -  
       
 24395 -  P_CHECKA (cfg = PrioConfig_newTest ((bad == 2 ? 4 : 3)));
       
 24396 -  P_CHECKA (t1 = PrioTotalShare_new ());
       
 24397 -  P_CHECKA (t2 = PrioTotalShare_new ());
       
 24398 -
       
 24399 -  t1->idx = PRIO_SERVER_A;
       
 24400 -  P_CHECKC (MPArray_resize (t1->data_shares, 3));
       
 24401 -
       
 24402 -  mp_set (&t1->data_shares->data[0], 10);
       
 24403 -  mp_set (&t1->data_shares->data[1], 20);
       
 24404 -  mp_set (&t1->data_shares->data[2], 30);
       
 24405 -
       
 24406 -  msgpack_sbuffer sbuf;
       
 24407 -  msgpack_packer pk;
       
 24408 -  msgpack_unpacker upk;
       
 24409 -
       
 24410 -  msgpack_sbuffer_init (&sbuf); 
       
 24411 -  msgpack_packer_init (&pk, &sbuf, msgpack_sbuffer_write);
       
 24412 -
       
 24413 -  P_CHECKC (PrioTotalShare_write (t1, &pk));
       
 24414 -
       
 24415 -  if (bad == 1) {
       
 24416 -    mp_set (&cfg->modulus, 4);
       
 24417 -  }
       
 24418 -
       
 24419 -  P_CHECKCB (msgpack_unpacker_init (&upk, 0));
       
 24420 -  P_CHECKCB (msgpack_unpacker_reserve_buffer (&upk, sbuf.size));
       
 24421 -  memcpy (msgpack_unpacker_buffer (&upk), sbuf.data, sbuf.size);
       
 24422 -  msgpack_unpacker_buffer_consumed (&upk, sbuf.size);
       
 24423 -
       
 24424 -  P_CHECKC (PrioTotalShare_read (t2, &upk, cfg));
       
 24425 -
       
 24426 -  mu_check (t1->idx == t2->idx);
       
 24427 -  mu_check (MPArray_areEqual (t1->data_shares, t2->data_shares));
       
 24428 -
       
 24429 -cleanup:
       
 24430 -  mu_check (bad ? rv == SECFailure : rv == SECSuccess);
       
 24431 -  PrioConfig_clear (cfg);
       
 24432 -  PrioTotalShare_clear (t1);
       
 24433 -  PrioTotalShare_clear (t2);
       
 24434 -  msgpack_unpacker_destroy (&upk);
       
 24435 -  msgpack_sbuffer_destroy (&sbuf);
       
 24436 -}
       
 24437 -
       
 24438 -void mu_test_total_good (void)
       
 24439 -{
       
 24440 -  test_total_share (0);
       
 24441 -}
       
 24442 -
       
 24443 -void mu_test_total_bad1 (void)
       
 24444 -{
       
 24445 -  test_total_share (1);
       
 24446 -}
       
 24447 -
       
 24448 -void mu_test_total_bad2 (void)
       
 24449 -{
       
 24450 -  test_total_share (2);
       
 24451 -}
       
 24452 -
       
 24453 diff --git a/third_party/prio/ptest/server_test.c b/third_party/prio/ptest/server_test.c
       
 24454 deleted file mode 100644
       
 24455 --- a/third_party/prio/ptest/server_test.c
       
 24456 +++ /dev/null
       
 24457 @@ -1,298 +0,0 @@
       
 24458 -/*
       
 24459 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 24460 - * 
       
 24461 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 24462 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 24463 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 24464 - */
       
 24465 -
       
 24466 -#include <mpi.h>
       
 24467 -#include <mprio.h>
       
 24468 -
       
 24469 -#include "mutest.h"
       
 24470 -#include "prio/client.h"
       
 24471 -#include "prio/server.h"
       
 24472 -#include "prio/server.c"
       
 24473 -
       
 24474 -void mu_test__eval_poly (void) 
       
 24475 -{
       
 24476 -  SECStatus rv = SECSuccess;
       
 24477 -  PrioConfig cfg = NULL;
       
 24478 -  MPArray coeffs = NULL;
       
 24479 -  mp_int eval_at, out;
       
 24480 -
       
 24481 -  MP_DIGITS (&eval_at) = NULL;
       
 24482 -  MP_DIGITS (&out) = NULL;
       
 24483 -
       
 24484 -  P_CHECKA (cfg = PrioConfig_newTest (54));
       
 24485 -  P_CHECKA (coeffs = MPArray_new (3));
       
 24486 -
       
 24487 -  mp_set (&coeffs->data[0], 2);
       
 24488 -  mp_set (&coeffs->data[1], 8);
       
 24489 -  mp_set (&coeffs->data[2], 3);
       
 24490 -
       
 24491 -  MP_CHECKC (mp_init (&eval_at));
       
 24492 -  MP_CHECKC (mp_init (&out));
       
 24493 -  mp_set (&eval_at, 7);
       
 24494 -
       
 24495 -  const int val = 3*7*7 + 8*7 + 2;
       
 24496 -  mu_check (poly_eval (&out, coeffs, &eval_at, cfg) == SECSuccess);
       
 24497 -  mu_check (mp_cmp_d (&out, val) == 0);
       
 24498 -
       
 24499 -cleanup:
       
 24500 -  mu_check (rv == SECSuccess);
       
 24501 -  mp_clear (&out);
       
 24502 -  mp_clear (&eval_at);
       
 24503 -  MPArray_clear (coeffs);
       
 24504 -  PrioConfig_clear (cfg);
       
 24505 -}
       
 24506 -
       
 24507 -void 
       
 24508 -mu_test__verify_new (void)
       
 24509 -{
       
 24510 -  SECStatus rv = SECSuccess;
       
 24511 -  PublicKey pkA = NULL;
       
 24512 -  PublicKey pkB = NULL;
       
 24513 -  PrivateKey skA = NULL;
       
 24514 -  PrivateKey skB = NULL;
       
 24515 -  PrioConfig cfg = NULL;
       
 24516 -  PrioServer sA = NULL;
       
 24517 -  PrioServer sB = NULL;
       
 24518 -  PrioVerifier vA = NULL;
       
 24519 -  PrioVerifier vB = NULL;
       
 24520 -  unsigned char *for_a = NULL;
       
 24521 -  unsigned char *for_b = NULL;
       
 24522 -
       
 24523 -  mp_int fR, gR, hR;
       
 24524 -  MP_DIGITS (&fR) = NULL;
       
 24525 -  MP_DIGITS (&gR) = NULL;
       
 24526 -  MP_DIGITS (&hR) = NULL;
       
 24527 -
       
 24528 -  PrioPRGSeed seed;
       
 24529 -  P_CHECKC (PrioPRGSeed_randomize (&seed));
       
 24530 -
       
 24531 -  P_CHECKC (Keypair_new (&skA, &pkA));
       
 24532 -  P_CHECKC (Keypair_new (&skB, &pkB));
       
 24533 -  P_CHECKA (cfg = PrioConfig_new (214, pkA, pkB, 
       
 24534 -        (unsigned char *)"testbatch", 9));
       
 24535 -
       
 24536 -  const int ndata = PrioConfig_numDataFields (cfg);
       
 24537 -  {
       
 24538 -  bool data_items[ndata];
       
 24539 -  for (int i=0; i < ndata; i++) {
       
 24540 -    // Arbitrary data
       
 24541 -    data_items[i] = (i % 3 == 1) || (i % 5 == 3);
       
 24542 -  }
       
 24543 -
       
 24544 -  P_CHECKA (sA = PrioServer_new (cfg, 0, skA, seed));
       
 24545 -  P_CHECKA (sB = PrioServer_new (cfg, 1, skB, seed));
       
 24546 -
       
 24547 -  unsigned int aLen, bLen;
       
 24548 -  P_CHECKC (PrioClient_encode (cfg, data_items, &for_a, &aLen, &for_b, &bLen));
       
 24549 -
       
 24550 -  MP_CHECKC (mp_init (&fR));
       
 24551 -  MP_CHECKC (mp_init (&gR));
       
 24552 -  MP_CHECKC (mp_init (&hR));
       
 24553 -
       
 24554 -  P_CHECKA (vA = PrioVerifier_new (sA));
       
 24555 -  P_CHECKA (vB = PrioVerifier_new (sB));
       
 24556 -  P_CHECKC (PrioVerifier_set_data (vA, for_a, aLen));
       
 24557 -  P_CHECKC (PrioVerifier_set_data (vB, for_b, bLen));
       
 24558 -
       
 24559 -  PrioPacketClient pA = vA->clientp;
       
 24560 -  PrioPacketClient pB = vB->clientp;
       
 24561 -  MP_CHECKC (mp_addmod (&pA->f0_share, &pB->f0_share, &cfg->modulus, &fR));
       
 24562 -  MP_CHECKC (mp_addmod (&pA->g0_share, &pB->g0_share, &cfg->modulus, &gR));
       
 24563 -  MP_CHECKC (mp_addmod (&pA->h0_share, &pB->h0_share, &cfg->modulus, &hR));
       
 24564 -
       
 24565 -  MP_CHECKC (mp_mulmod (&fR, &gR, &cfg->modulus, &fR));
       
 24566 -  mu_check (mp_cmp (&fR, &hR) == 0);
       
 24567 -
       
 24568 -
       
 24569 -  MP_CHECKC (mp_addmod (&vA->share_fR, &vB->share_fR, &cfg->modulus, &fR));
       
 24570 -  MP_CHECKC (mp_addmod (&vA->share_gR, &vB->share_gR, &cfg->modulus, &gR));
       
 24571 -  MP_CHECKC (mp_addmod (&vA->share_hR, &vB->share_hR, &cfg->modulus, &hR));
       
 24572 -
       
 24573 -  MP_CHECKC (mp_mulmod (&fR, &gR, &cfg->modulus, &fR));
       
 24574 -
       
 24575 -  //puts ("fR");
       
 24576 -  //mp_print (&fR, stdout);
       
 24577 -  //puts ("hR");
       
 24578 -  //mp_print (&hR, stdout);
       
 24579 -  mu_check (mp_cmp (&fR, &hR) == 0);
       
 24580 -  }
       
 24581 -
       
 24582 -cleanup:
       
 24583 -  mu_check (rv == SECSuccess);
       
 24584 -
       
 24585 -  if (for_a) free (for_a);
       
 24586 -  if (for_b) free (for_b);
       
 24587 -
       
 24588 -  mp_clear (&fR);
       
 24589 -  mp_clear (&gR);
       
 24590 -  mp_clear (&hR);
       
 24591 -
       
 24592 -  PrioVerifier_clear (vA);
       
 24593 -  PrioVerifier_clear (vB);
       
 24594 -
       
 24595 -  PrioServer_clear (sA);
       
 24596 -  PrioServer_clear (sB);
       
 24597 -  PrioConfig_clear (cfg);
       
 24598 -
       
 24599 -  PublicKey_clear (pkA);
       
 24600 -  PublicKey_clear (pkB);
       
 24601 -  PrivateKey_clear (skA);
       
 24602 -  PrivateKey_clear (skB);
       
 24603 -
       
 24604 -}
       
 24605 -
       
 24606 -void
       
 24607 -verify_full (int tweak)
       
 24608 -{
       
 24609 -  SECStatus rv = SECSuccess;
       
 24610 -  PublicKey pkA = NULL;
       
 24611 -  PublicKey pkB = NULL;
       
 24612 -  PrivateKey skA = NULL;
       
 24613 -  PrivateKey skB = NULL;
       
 24614 -  PrioConfig cfg = NULL;
       
 24615 -  PrioServer sA = NULL;
       
 24616 -  PrioServer sB = NULL;
       
 24617 -  PrioVerifier vA = NULL;
       
 24618 -  PrioVerifier vB = NULL;
       
 24619 -  PrioPacketVerify1 p1A = NULL;
       
 24620 -  PrioPacketVerify1 p1B = NULL;
       
 24621 -  PrioPacketVerify2 p2A = NULL;
       
 24622 -  PrioPacketVerify2 p2B = NULL;
       
 24623 -  unsigned char *for_a = NULL;
       
 24624 -  unsigned char *for_b = NULL;
       
 24625 -
       
 24626 -  mp_int fR, gR, hR;
       
 24627 -  MP_DIGITS (&fR) = NULL;
       
 24628 -  MP_DIGITS (&gR) = NULL;
       
 24629 -  MP_DIGITS (&hR) = NULL;
       
 24630 -
       
 24631 -  PrioPRGSeed seed;
       
 24632 -  P_CHECKC (PrioPRGSeed_randomize (&seed));
       
 24633 -
       
 24634 -  P_CHECKC (Keypair_new (&skA, &pkA));
       
 24635 -  P_CHECKC (Keypair_new (&skB, &pkB));
       
 24636 -  P_CHECKA (cfg = PrioConfig_new (47, pkA, pkB, (unsigned char *)"test4", 5));
       
 24637 -
       
 24638 -  const int ndata = PrioConfig_numDataFields (cfg);
       
 24639 -  {
       
 24640 -  bool data_items[ndata];
       
 24641 -  for (int i=0; i < ndata; i++) {
       
 24642 -    // Arbitrary data
       
 24643 -    data_items[i] = (i % 3 == 1) || (i % 5 == 3);
       
 24644 -  }
       
 24645 -
       
 24646 -  P_CHECKA (sA = PrioServer_new (cfg, 0, skA, seed));
       
 24647 -  P_CHECKA (sB = PrioServer_new (cfg, 1, skB, seed));
       
 24648 -
       
 24649 -  unsigned int aLen, bLen;
       
 24650 -  P_CHECKC (PrioClient_encode (cfg, data_items, &for_a, &aLen, &for_b, &bLen));
       
 24651 -
       
 24652 -  if (tweak == 5) {
       
 24653 -    for_a[3] = 3;
       
 24654 -    for_a[4] = 4;
       
 24655 -  }
       
 24656 -
       
 24657 -  P_CHECKA (vA = PrioVerifier_new (sA));
       
 24658 -  P_CHECKA (vB = PrioVerifier_new (sB));
       
 24659 -  P_CHECKC (PrioVerifier_set_data (vA, for_a, aLen));
       
 24660 -  P_CHECKC (PrioVerifier_set_data (vB, for_b, bLen));
       
 24661 -
       
 24662 -  if (tweak == 3) {
       
 24663 -    mp_add_d (&vA->share_fR, 1, &vA->share_fR);
       
 24664 -  }
       
 24665 -
       
 24666 -  if (tweak == 4) {
       
 24667 -    mp_add_d (&vB->share_gR, 1, &vB->share_gR);
       
 24668 -  }
       
 24669 -
       
 24670 -  P_CHECKA (p1A = PrioPacketVerify1_new ());
       
 24671 -  P_CHECKA (p1B = PrioPacketVerify1_new ());
       
 24672 -
       
 24673 -  P_CHECKC (PrioPacketVerify1_set_data (p1A, vA));
       
 24674 -  P_CHECKC (PrioPacketVerify1_set_data (p1B, vB));
       
 24675 -
       
 24676 -  if (tweak == 1) {
       
 24677 -    mp_add_d (&p1B->share_d, 1, &p1B->share_d);
       
 24678 -  }
       
 24679 -
       
 24680 -  P_CHECKA (p2A = PrioPacketVerify2_new ());
       
 24681 -  P_CHECKA (p2B = PrioPacketVerify2_new ());
       
 24682 -  P_CHECKC (PrioPacketVerify2_set_data (p2A, vA, p1A, p1B));
       
 24683 -  P_CHECKC (PrioPacketVerify2_set_data (p2B, vB, p1A, p1B));
       
 24684 -
       
 24685 -  if (tweak == 2) {
       
 24686 -    mp_add_d (&p2A->share_out, 1, &p2B->share_out);
       
 24687 -  }
       
 24688 -
       
 24689 -  int shouldBe = tweak ? SECFailure : SECSuccess;
       
 24690 -  mu_check (PrioVerifier_isValid (vA, p2A, p2B) == shouldBe);
       
 24691 -  mu_check (PrioVerifier_isValid (vB, p2A, p2B) == shouldBe);
       
 24692 -  }
       
 24693 -
       
 24694 -cleanup:
       
 24695 -  if (!tweak) {
       
 24696 -    mu_check (rv == SECSuccess);
       
 24697 -  }
       
 24698 -
       
 24699 -  if (for_a) free (for_a);
       
 24700 -  if (for_b) free (for_b);
       
 24701 -
       
 24702 -  PrioPacketVerify2_clear (p2A);
       
 24703 -  PrioPacketVerify2_clear (p2B);
       
 24704 -
       
 24705 -  PrioPacketVerify1_clear (p1A);
       
 24706 -  PrioPacketVerify1_clear (p1B);
       
 24707 -
       
 24708 -  PrioVerifier_clear (vA);
       
 24709 -  PrioVerifier_clear (vB);
       
 24710 -
       
 24711 -  PrioServer_clear (sA);
       
 24712 -  PrioServer_clear (sB);
       
 24713 -  PrioConfig_clear (cfg);
       
 24714 -
       
 24715 -  PublicKey_clear (pkA);
       
 24716 -  PublicKey_clear (pkB);
       
 24717 -  PrivateKey_clear (skA);
       
 24718 -  PrivateKey_clear (skB);
       
 24719 -}
       
 24720 -
       
 24721 -void 
       
 24722 -mu_test__verify_full_good (void)
       
 24723 -{
       
 24724 -  verify_full (0);
       
 24725 -}
       
 24726 -
       
 24727 -void 
       
 24728 -mu_test__verify_full_bad1 (void)
       
 24729 -{
       
 24730 -  verify_full (1);
       
 24731 -}
       
 24732 -
       
 24733 -void 
       
 24734 -mu_test__verify_full_bad2 (void)
       
 24735 -{
       
 24736 -  verify_full (2);
       
 24737 -}
       
 24738 -
       
 24739 -void 
       
 24740 -mu_test__verify_full_bad3 (void)
       
 24741 -{
       
 24742 -  verify_full (3);
       
 24743 -}
       
 24744 -
       
 24745 -void 
       
 24746 -mu_test__verify_full_bad4 (void)
       
 24747 -{
       
 24748 -  verify_full (4);
       
 24749 -}
       
 24750 -
       
 24751 -void 
       
 24752 -mu_test__verify_full_bad5 (void)
       
 24753 -{
       
 24754 -  verify_full (5);
       
 24755 -}
       
 24756 diff --git a/third_party/prio/ptest/share_test.c b/third_party/prio/ptest/share_test.c
       
 24757 deleted file mode 100644
       
 24758 --- a/third_party/prio/ptest/share_test.c
       
 24759 +++ /dev/null
       
 24760 @@ -1,91 +0,0 @@
       
 24761 -/*
       
 24762 - * Copyright (c) 2018, Henry Corrigan-Gibbs
       
 24763 - * 
       
 24764 - * This Source Code Form is subject to the terms of the Mozilla Public
       
 24765 - * License, v. 2.0. If a copy of the MPL was not distributed with this
       
 24766 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. 
       
 24767 - */
       
 24768 -
       
 24769 -#include <mpi.h>
       
 24770 -#include <mprio.h>
       
 24771 -
       
 24772 -#include "prio/client.h"
       
 24773 -#include "prio/config.h"
       
 24774 -#include "prio/mparray.h"
       
 24775 -#include "prio/share.h"
       
 24776 -#include "prio/util.h"
       
 24777 -#include "mutest.h"
       
 24778 -
       
 24779 -void 
       
 24780 -mu_test_share (void)
       
 24781 -{
       
 24782 -  SECStatus rv = SECSuccess;
       
 24783 -  PrioConfig cfg = NULL;
       
 24784 -  mp_int a, b, c;
       
 24785 -  BeaverTriple t1 = NULL, t2 = NULL;
       
 24786 -
       
 24787 -  MP_DIGITS (&a) = NULL;
       
 24788 -  MP_DIGITS (&b) = NULL;
       
 24789 -  MP_DIGITS (&c) = NULL;
       
 24790 -
       
 24791 -  P_CHECKA (cfg = PrioConfig_newTest (93));
       
 24792 -  P_CHECKA (t1 = BeaverTriple_new ());
       
 24793 -  P_CHECKA (t2 = BeaverTriple_new ());
       
 24794 -
       
 24795 -  mu_check (BeaverTriple_set_rand (cfg, t1, t2) == SECSuccess);
       
 24796 -
       
 24797 -  MP_CHECKC (mp_init (&a)); 
       
 24798 -  MP_CHECKC (mp_init (&b)); 
       
 24799 -  MP_CHECKC (mp_init (&c)); 
       
 24800 -
       
 24801 -  mu_check (mp_addmod (&t1->a, &t2->a, &cfg->modulus, &a) == MP_OKAY);
       
 24802 -  mu_check (mp_addmod (&t1->b, &t2->b, &cfg->modulus, &b) == MP_OKAY);
       
 24803 -  mu_check (mp_addmod (&t1->c, &t2->c, &cfg->modulus, &c) == MP_OKAY);
       
 24804 -  mu_check (mp_mulmod (&a, &b, &cfg->modulus, &a) == MP_OKAY);
       
 24805 -  mu_check (mp_cmp (&a, &c) == 0);
       
 24806 -
       
 24807 -cleanup:
       
 24808 -  mu_check (rv == SECSuccess);
       
 24809 -  mp_clear (&a);
       
 24810 -  mp_clear (&b);
       
 24811 -  mp_clear (&c);
       
 24812 -
       
 24813 -  PrioConfig_clear (cfg);
       
 24814 -  BeaverTriple_clear (t1);
       
 24815 -  BeaverTriple_clear (t2);
       
 24816 -}
       
 24817 -
       
 24818 -void 
       
 24819 -mu_test_arr (void)
       
 24820 -{
       
 24821 -  SECStatus rv = SECSuccess;
       
 24822 -  MPArray arr = NULL;
       
 24823 -  MPArray arr2 = NULL;
       
 24824 -  P_CHECKA (arr = MPArray_new (10));
       
 24825 -  P_CHECKA (arr2 = MPArray_new (7));
       
 24826 -
       
 24827 -  for (int i=0; i<10; i++) {
       
 24828 -    mp_set (&arr->data[i], i);
       
 24829 -  }
       
 24830 -
       
 24831 -  P_CHECKC (MPArray_resize (arr, 15));
       
 24832 -  for (int i=10; i<15; i++) {
       
 24833 -    mu_check (mp_cmp_d (&arr->data[i], 0) == 0);
       
 24834 -    mp_set (&arr->data[i], i);
       
 24835 -  }
       
 24836 -
       
 24837 -  P_CHECKC (MPArray_resize (arr, 7));
       
 24838 -  for (int i=10; i<7; i++) {
       
 24839 -    mu_check (mp_cmp_d (&arr->data[i], i) == 0);
       
 24840 -  }
       
 24841 -
       
 24842 -  P_CHECKC (MPArray_copy (arr2, arr));
       
 24843 -  for (int i=10; i<7; i++) {
       
 24844 -    mu_check (mp_cmp (&arr->data[i], &arr2->data[i]) == 0);
       
 24845 -  }
       
 24846 -
       
 24847 -cleanup:
       
 24848 -  mu_check (rv == SECSuccess);
       
 24849 -  MPArray_clear (arr);
       
 24850 -  MPArray_clear (arr2);
       
 24851 -}
       
 24852 diff --git a/third_party/prio/update.sh b/third_party/prio/update.sh
       
 24853 --- a/third_party/prio/update.sh
       
 24854 +++ b/third_party/prio/update.sh
       
 24855 @@ -1,20 +1,18 @@
       
 24856  #!/bin/sh
       
 24857  
       
 24858 -# Script to update the mozilla in-tree copy of the Prio library.
       
 24859 -# Run this within the /third_party/prio directory of the source tree.
       
 24860 +# Script to update the mozilla in-tree copy of the libprio library.
       
 24861 +# Run this within the /third_party/libprio directory of the source tree.
       
 24862  
       
 24863  MY_TEMP_DIR=`mktemp -d -t libprio_update.XXXXXX` || exit 1
       
 24864  
       
 24865 -VERSION=1.0
       
 24866 -
       
 24867 -git clone https://github.com/mozilla/libprio ${MY_TEMP_DIR}/libprio
       
 24868 -git -C ${MY_TEMP_DIR}/libprio checkout ${VERSION}
       
 24869 +COMMIT="488da2d729d73f18ed45add59edd18b257e1ceaa"
       
 24870  
       
 24871 -COMMIT=$(git -C ${MY_TEMP_DIR}/libprio rev-parse HEAD)
       
 24872 -perl -p -i -e "s/(\d+\.)(\d+\.)(\d+)/${VERSION}/" README-mozilla;
       
 24873 -perl -p -i -e "s/\[commit [0-9a-f]{40}\]/[commit ${COMMIT}]/" README-mozilla;
       
 24874 +git clone -n https://github.com/mozilla/libprio ${MY_TEMP_DIR}/libprio
       
 24875 +git -C ${MY_TEMP_DIR}/libprio checkout ${COMMIT}
       
 24876  
       
 24877 -FILES="LICENSE README.md SConstruct browser-test include pclient prio ptest"
       
 24878 +FILES="include prio"
       
 24879 +VERSION=$(git -C ${MY_TEMP_DIR}/libprio describe --tags)
       
 24880 +perl -p -i -e "s/Current version: \S+ \[commit [0-9a-f]{40}\]/Current version: ${VERSION} [commit ${COMMIT}]/" README-mozilla
       
 24881  
       
 24882  for f in $FILES; do
       
 24883      rm -rf $f
       
 24884 @@ -24,9 +22,9 @@
       
 24885  rm -rf ${MY_TEMP_DIR}
       
 24886  
       
 24887  hg revert -r . moz.build
       
 24888 -hg addremove
       
 24889 +hg addremove .
       
 24890  
       
 24891  echo "###"
       
 24892 -echo "### Updated Prio to $COMMIT."
       
 24893 +echo "### Updated libprio to $COMMIT."
       
 24894  echo "### Remember to verify and commit the changes to source control!"
       
 24895  echo "###"
       
 24896