<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>160332</bug_id>
          
          <creation_ts>2016-07-28 22:09:35 -0700</creation_ts>
          <short_desc>ANGLE: Fix global constructors and exit-time destructors</short_desc>
          <delta_ts>2016-07-29 20:25:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>ANGLE</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=160333</see_also>
    
    <see_also>https://bugs.chromium.org/p/angleproject/issues/detail?id=1459</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160302</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1215489</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 22:09:35 -0700</bug_when>
    <thetext>The -Wglobal-constructors, -Wexit-time-destructors clang warning switches had never been added to the ANGLE project (nor had the check-for-global-initializers, check-for-exit-time-destructors scripts ever been added as build phase scripts to the Xcode project), so there were a number of global constructors and exit-time destructors to clean up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215494</commentid>
    <comment_count>1</comment_count>
      <attachid>284847</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 22:30:03 -0700</bug_when>
    <thetext>Created attachment 284847
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215495</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-28 22:31:06 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215496</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-28 22:31:15 -0700</bug_when>
    <thetext>Attachment 284847 did not pass style-queue:

ERROR: Source/ThirdParty/ANGLE/src/compiler/translator/ShaderLang.cpp:374:  Omit int when using unsigned  [runtime/unsigned] [1]
ERROR: Source/ThirdParty/ANGLE/src/common/mathutil.cpp:34:  g_sharedexp_max is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/ThirdParty/ANGLE/src/common/mathutil.cpp:36:  sharedexp_max is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/ThirdParty/ANGLE/src/common/mathutil.cpp:37:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/ANGLE/src/common/mathutil.cpp:38:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/ANGLE/src/common/mathutil.cpp:44:  red_c is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/ThirdParty/ANGLE/src/common/mathutil.cpp:45:  green_c is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/ThirdParty/ANGLE/src/common/mathutil.cpp:46:  blue_c is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:404:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:405:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:406:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:407:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:408:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:409:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:410:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:411:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:412:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:413:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:414:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:417:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:418:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:420:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:421:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:422:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:427:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:428:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:433:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:434:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:439:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:440:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:446:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:447:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:448:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:457:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:458:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:459:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:460:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:467:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:468:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:469:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:474:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:475:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:476:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:478:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:480:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:493:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:494:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:495:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:496:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:532:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:533:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:534:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:535:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:536:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:537:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:538:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:539:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:547:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:548:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:549:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:550:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:551:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:552:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:553:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:554:  Extra space after ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/formatutils.cpp:747:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:55:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:56:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:57:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:58:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:59:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:60:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:61:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:62:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:63:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:64:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:65:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:66:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:67:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:68:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:69:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:70:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:71:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:72:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:73:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:74:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:75:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:76:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:77:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:78:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:79:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:80:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:81:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:82:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:83:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:84:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:85:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:86:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:87:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:88:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:89:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:90:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:91:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:92:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:93:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:94:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:95:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:96:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:97:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:98:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:99:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:100:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:101:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:102:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:103:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:104:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:105:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:106:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:107:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:108:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:109:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:110:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:111:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:112:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:113:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:114:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:115:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:116:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:117:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:118:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:119:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:120:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:121:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:124:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/
ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:125:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:126:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:127:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:128:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:129:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:130:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:131:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:132:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:133:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:134:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:135:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:136:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:137:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:138:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:139:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:140:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:141:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:142:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:145:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:146:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:147:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:148:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:149:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:153:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:154:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:157:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:158:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:159:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:160:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:161:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:164:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:165:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:166:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:167:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:168:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:169:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:172:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:177:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:178:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:179:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:180:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:181:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:182:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:183:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:184:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:185:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:186:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:187:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:188:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:191:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:193:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:195:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp:198:  Extra space before )  [whitespace/parens] [2]
Total errors found: 187 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215497</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 22:32:49 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Attachment 284847 [details] did not pass style-queue:
&gt; 
&gt; [...]
&gt; Total errors found: 187 in 12 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

NOTE TO SELF: Disable check-webkit-style for ANGLE since we keep the upstream formatting to make merging easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215499</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 22:40:41 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; NOTE TO SELF: Disable check-webkit-style for ANGLE since we keep the
&gt; upstream formatting to make merging easier.

Bug 160333: Ignore most check-webkit-style checks for ANGLE project</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215501</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 23:01:19 -0700</bug_when>
    <thetext>Filed this upstream bug for the ANGLE project:
&lt;https://bugs.chromium.org/p/angleproject/issues/detail?id=1459&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215650</commentid>
    <comment_count>7</comment_count>
      <attachid>284847</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-29 12:12:03 -0700</bug_when>
    <thetext>Comment on attachment 284847
Patch v1

View in context: https://bugs.webkit.org/attachment.cgi?id=284847&amp;action=review

Please consider doing the smaller patch using references. Will be much easier to merge and such.

&gt; Source/ThirdParty/ANGLE/src/common/angleutils.cpp:39
&gt; +    static std::vector&lt;char&gt;* buffer = new std::vector&lt;char&gt;(512);

Could use references instead of pointers for these, which would make the patch considerably smaller!

    static std::vector&lt;char&gt;&amp; buffer = *new std::vector&lt;char&gt;(512);

On a separate note, the Noncopyable idiom is more efficient because it avoids adding additional heap allocation and a level of indirection.

&gt; Source/ThirdParty/ANGLE/src/common/angleutils.h:119
&gt; +    static std::set&lt;std::string&gt;* strings = new std::set&lt;std::string&gt;();

No need for the () at the end of expressions like this. If this was in WebKit proper I would also have suggested using auto to avoid repeating the type twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215808</commentid>
    <comment_count>8</comment_count>
      <attachid>284847</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-29 20:17:30 -0700</bug_when>
    <thetext>Comment on attachment 284847
Patch v1

View in context: https://bugs.webkit.org/attachment.cgi?id=284847&amp;action=review

&gt;&gt; Source/ThirdParty/ANGLE/src/common/angleutils.cpp:39
&gt;&gt; +    static std::vector&lt;char&gt;* buffer = new std::vector&lt;char&gt;(512);
&gt; 
&gt; Could use references instead of pointers for these, which would make the patch considerably smaller!
&gt; 
&gt;     static std::vector&lt;char&gt;&amp; buffer = *new std::vector&lt;char&gt;(512);
&gt; 
&gt; On a separate note, the Noncopyable idiom is more efficient because it avoids adding additional heap allocation and a level of indirection.

Wow.  Not sure how I missed that.  I will change the patch to use references (instead of pointers) before landing!

&gt;&gt; Source/ThirdParty/ANGLE/src/common/angleutils.h:119
&gt;&gt; +    static std::set&lt;std::string&gt;* strings = new std::set&lt;std::string&gt;();
&gt; 
&gt; No need for the () at the end of expressions like this. If this was in WebKit proper I would also have suggested using auto to avoid repeating the type twice.

I will change the patch to remove () and use &apos;auto&apos; since the ANGLE project already has many uses of &apos;auto&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215810</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-29 20:25:02 -0700</bug_when>
    <thetext>Committed r203938: &lt;http://trac.webkit.org/changeset/203938&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284847</attachid>
            <date>2016-07-28 22:30:03 -0700</date>
            <delta_ts>2016-07-29 12:12:03 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-160332-20160728222850.patch</filename>
            <type>text/plain</type>
            <size>146337</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzg1NSkKKysrIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDUzIEBACisyMDE2LTA3LTI4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisK
KyAgICAgICAgQU5HTEU6IEZpeCBnbG9iYWwgY29uc3RydWN0b3JzIGFuZCBleGl0LXRpbWUgZGVz
dHJ1Y3RvcnMKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE2MDMzMj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWc6CisgICAgICAgIC0gQWRkIHdhcm5pbmcgZmxhZ3MuCisKKyAgICAgICAg
KiBzcmMvY29tbW9uL2FuZ2xldXRpbHMuY3BwOgorICAgICAgICAoRm9ybWF0U3RyaW5nKToKKyAg
ICAgICAgKiBzcmMvY29tbW9uL2FuZ2xldXRpbHMuaDoKKyAgICAgICAgKE1ha2VTdGF0aWNTdHJp
bmcpOgorICAgICAgICAoQXJyYXlTdHJpbmcpOgorICAgICAgICAqIHNyYy9jb21tb24vZGVidWcu
Y3BwOgorICAgICAgICAqIHNyYy9jb21tb24vbWF0aHV0aWwuY3BwOgorICAgICAgICAoZ2w6Omdf
c2hhcmVkZXhwX21heCk6CisgICAgICAgIChnbDo6Y29udmVydFJHQkZsb2F0c1RvOTk5RTUpOgor
ICAgICAgICAqIHNyYy9jb21waWxlci90cmFuc2xhdG9yL1NoYWRlckxhbmcuY3BwOgorICAgICAg
ICAoU2hHZXRVbmlmb3JtUmVnaXN0ZXJNYXApOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9DYXBz
LmNwcDoKKyAgICAgICAgKGdsOjpUZXh0dXJlQ2Fwc01hcDo6Z2V0KToKKyAgICAgICAgKGdsOjpU
ZXh0dXJlQ2Fwc01hcDo6YmVnaW4pOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9EZXZpY2UuY3Bw
OgorICAgICAgICAoZWdsOjpHZXREZXZpY2VTZXQpOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9E
aXNwbGF5LmNwcDoKKyAgICAgICAgKGVnbDo6RGlzcGxheTo6Z2V0Q2xpZW50RXh0ZW5zaW9uU3Ry
aW5nKToKKyAgICAgICAgKGVnbDo6RGlzcGxheTo6aW5pdERpc3BsYXlFeHRlbnNpb25zKToKKyAg
ICAgICAgKiBzcmMvbGliQU5HTEUvZm9ybWF0dXRpbHMuY3BwOgorICAgICAgICAoZ2w6Okluc2Vy
dEZvcm1hdE1hcHBpbmcpOgorICAgICAgICAoZ2w6OkJ1aWxkRm9ybWF0TWFwKToKKyAgICAgICAg
KGdsOjpCdWlsZEludGVybmFsRm9ybWF0SW5mb01hcCk6CisgICAgICAgIChnbDo6R2V0SW50ZXJu
YWxGb3JtYXRNYXApOgorICAgICAgICAoZ2w6OkJ1aWxkQWxsU2l6ZWRJbnRlcm5hbEZvcm1hdFNl
dCk6CisgICAgICAgIChnbDo6R2V0SW50ZXJuYWxGb3JtYXRJbmZvKToKKyAgICAgICAgKGdsOjpH
ZXRTaXplZEludGVybmFsRm9ybWF0KToKKyAgICAgICAgKGdsOjpHZXRBbGxTaXplZEludGVybmFs
Rm9ybWF0cyk6CisgICAgICAgIChnbDo6R2V0QXR0cmlidXRlVHlwZSk6CisgICAgICAgICogc3Jj
L2xpYkFOR0xFL3ZhbGlkYXRpb25FUzMuY3BwOgorICAgICAgICAoZ2w6Okluc2VydEVTM0Zvcm1h
dENvbWJvKToKKyAgICAgICAgKGdsOjpCdWlsZEVTM0Zvcm1hdFNldCk6CisgICAgICAgIChnbDo6
VmFsaWRhdGVUZXhJbWFnZUZvcm1hdENvbWJpbmF0aW9uKToKKyAgICAgICAgKGdsOjpCdWlsZFNp
emVkRWZmZWN0aXZlSW50ZXJuYWxGb3JtYXRMaXN0KToKKyAgICAgICAgKGdsOjpCdWlsZFVuc2l6
ZWRFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdExpc3QpOgorICAgICAgICAoZ2w6OkdldEVmZmVjdGl2
ZUludGVybmFsRm9ybWF0KToKKyAgICAgICAgKGdsOjpCdWlsZFZhbGlkRVMzQ29weVRleEltYWdl
Q29tYmluYXRpb25zKToKKyAgICAgICAgKGdsOjpJc1ZhbGlkRVMzQ29weVRleEltYWdlQ29tYmlu
YXRpb24pOgorICAgICAgICAtIEZpeCBnbG9iYWwgY29uc3RydWN0b3JzIGFuZCBleGl0LXRpbWUg
ZGVzdHJ1Y3RvcnMuCisKIDIwMTYtMDctMTMgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KIAogICAgICAgICBVcGRhdGUgc3VwcG9ydGVkIHBsYXRmb3JtcyBpbiB4Y2NvbmZpZyBm
aWxlcyB0byBtYXRjaCB0aGUgc2RrIG5hbWVzLgpJbmRleDogU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCShyZXZpc2lvbiAyMDM4
MjgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIEdDQ19XQVJOX1VOVVNFRF9GVU5D
VElPTiA9IFlFUzsKIEdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKIFBSRUJJTkRJTkcg
PSBOTzsKIFNUUklQX0lOU1RBTExFRF9QUk9EVUNUID0gTk87CitXQVJOSU5HX0NGTEFHUyA9IC1X
ZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9yczsKIAogU1VQUE9SVEVE
X1BMQVRGT1JNUyA9IGlwaG9uZW9zIGlwaG9uZXNpbXVsYXRvciBtYWNvc3ggYXBwbGV0dm9zIGFw
cGxldHZzaW11bGF0b3Igd2F0Y2hvcyB3YXRjaHNpbXVsYXRvcjsKIApJbmRleDogU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbW1vbi9hbmdsZXV0aWxzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2FuZ2xldXRpbHMuY3BwCShyZXZpc2lv
biAyMDM4MjgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2FuZ2xldXRp
bHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMCArMzYsMTAgQEAgc2l6ZV90IEZvcm1hdFN0
cmluZ0ludG9WZWN0b3IoY29uc3QgY2hhcgogCiBzdGQ6OnN0cmluZyBGb3JtYXRTdHJpbmcoY29u
c3QgY2hhciAqZm10LCB2YV9saXN0IHZhcmFyZykKIHsKLSAgICBzdGF0aWMgc3RkOjp2ZWN0b3I8
Y2hhcj4gYnVmZmVyKDUxMik7CisgICAgc3RhdGljIHN0ZDo6dmVjdG9yPGNoYXI+KiBidWZmZXIg
PSBuZXcgc3RkOjp2ZWN0b3I8Y2hhcj4oNTEyKTsKIAotICAgIHNpemVfdCBsZW4gPSBGb3JtYXRT
dHJpbmdJbnRvVmVjdG9yKGZtdCwgdmFyYXJnLCBidWZmZXIpOwotICAgIHJldHVybiBzdGQ6OnN0
cmluZygmYnVmZmVyWzBdLCBsZW4pOworICAgIHNpemVfdCBsZW4gPSBGb3JtYXRTdHJpbmdJbnRv
VmVjdG9yKGZtdCwgdmFyYXJnLCAqYnVmZmVyKTsKKyAgICByZXR1cm4gc3RkOjpzdHJpbmcoYnVm
ZmVyLT5kYXRhKCksIGxlbik7CiB9CiAKIHN0ZDo6c3RyaW5nIEZvcm1hdFN0cmluZyhjb25zdCBj
aGFyICpmbXQsIC4uLikKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24v
YW5nbGV1dGlscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9j
b21tb24vYW5nbGV1dGlscy5oCShyZXZpc2lvbiAyMDM4MjgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvY29tbW9uL2FuZ2xldXRpbHMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDE0
ICsxMTYsMTQgQEAgaW5saW5lIGJvb2wgSXNNYXNrRmxhZ1NldChUIG1hc2ssIFQgZmxhZwogCiBp
bmxpbmUgY29uc3QgY2hhciogTWFrZVN0YXRpY1N0cmluZyhjb25zdCBzdGQ6OnN0cmluZyAmc3Ry
KQogewotICAgIHN0YXRpYyBzdGQ6OnNldDxzdGQ6OnN0cmluZz4gc3RyaW5nczsKLSAgICBzdGQ6
OnNldDxzdGQ6OnN0cmluZz46Oml0ZXJhdG9yIGl0ID0gc3RyaW5ncy5maW5kKHN0cik7Ci0gICAg
aWYgKGl0ICE9IHN0cmluZ3MuZW5kKCkpCisgICAgc3RhdGljIHN0ZDo6c2V0PHN0ZDo6c3RyaW5n
Piogc3RyaW5ncyA9IG5ldyBzdGQ6OnNldDxzdGQ6OnN0cmluZz4oKTsKKyAgICBzdGQ6OnNldDxz
dGQ6OnN0cmluZz46Oml0ZXJhdG9yIGl0ID0gc3RyaW5ncy0+ZmluZChzdHIpOworICAgIGlmIChp
dCAhPSBzdHJpbmdzLT5lbmQoKSkKICAgICB7CiAgICAgICAgIHJldHVybiBpdC0+Y19zdHIoKTsK
ICAgICB9CiAKLSAgICByZXR1cm4gc3RyaW5ncy5pbnNlcnQoc3RyKS5maXJzdC0+Y19zdHIoKTsK
KyAgICByZXR1cm4gc3RyaW5ncy0+aW5zZXJ0KHN0cikuZmlyc3QtPmNfc3RyKCk7CiB9CiAKIGlu
bGluZSBzdGQ6OnN0cmluZyBBcnJheVN0cmluZyh1bnNpZ25lZCBpbnQgaSkKSW5kZXg6IFNvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vZGVidWcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vZGVidWcuY3BwCShyZXZpc2lvbiAyMDM4
MjgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL2RlYnVnLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzQsOSArMzQsOSBAQCB2b2lkIG91dHB1dChib29sIHRyYWNlSW5EZWJ1
Z09ubHksIE1lc3NhCiB7CiAgICAgaWYgKERlYnVnQW5ub3RhdGlvbnNBY3RpdmUoKSkKICAgICB7
Ci0gICAgICAgIHN0YXRpYyBzdGQ6OnZlY3RvcjxjaGFyPiBidWZmZXIoNTEyKTsKLSAgICAgICAg
c2l6ZV90IGxlbiA9IEZvcm1hdFN0cmluZ0ludG9WZWN0b3IoZm9ybWF0LCB2YXJhcmcsIGJ1ZmZl
cik7Ci0gICAgICAgIHN0ZDo6d3N0cmluZyBmb3JtYXR0ZWRXaWRlTWVzc2FnZShidWZmZXIuYmVn
aW4oKSwgYnVmZmVyLmJlZ2luKCkgKyBsZW4pOworICAgICAgICBzdGF0aWMgc3RkOjp2ZWN0b3I8
Y2hhcj4qIGJ1ZmZlciA9IG5ldyBzdGQ6OnZlY3RvcjxjaGFyPig1MTIpOworICAgICAgICBzaXpl
X3QgbGVuID0gRm9ybWF0U3RyaW5nSW50b1ZlY3Rvcihmb3JtYXQsIHZhcmFyZywgKmJ1ZmZlcik7
CisgICAgICAgIHN0ZDo6d3N0cmluZyBmb3JtYXR0ZWRXaWRlTWVzc2FnZShidWZmZXItPmJlZ2lu
KCksIGJ1ZmZlci0+YmVnaW4oKSArIGxlbik7CiAKICAgICAgICAgQVNTRVJUKGdfZGVidWdBbm5v
dGF0b3IgIT0gbnVsbHB0cik7CiAgICAgICAgIHN3aXRjaCAob3V0cHV0VHlwZSkKSW5kZXg6IFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vbWF0aHV0aWwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21tb24vbWF0aHV0aWwuY3BwCShyZXZp
c2lvbiAyMDM4MjgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tbW9uL21hdGh1
dGlsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTUgKzMxLDE5IEBAIHN0YXRpYyBjb25zdCBp
bnQgZ19zaGFyZWRleHBfbWFudGlzc2FiaXQKIC8vIEVtYXggaXMgdGhlIG1heGltdW0gYWxsb3dl
ZCBiaWFzZWQgZXhwb25lbnQgdmFsdWUgKDMxKQogc3RhdGljIGNvbnN0IGludCBnX3NoYXJlZGV4
cF9tYXhleHBvbmVudCA9IDMxOwogCi1zdGF0aWMgY29uc3QgZmxvYXQgZ19zaGFyZWRleHBfbWF4
ID0gKChwb3coMi4wZiwgZ19zaGFyZWRleHBfbWFudGlzc2FiaXRzKSAtIDEpIC8KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvdygyLjBmLCBnX3NoYXJlZGV4cF9tYW50
aXNzYWJpdHMpKSAqCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG93KDIu
MGYsIGdfc2hhcmVkZXhwX21heGV4cG9uZW50IC0gZ19zaGFyZWRleHBfYmlhcyk7CitzdGF0aWMg
ZmxvYXQgZ19zaGFyZWRleHBfbWF4KCkKK3sKKyAgICBzdGF0aWMgZmxvYXQgc2hhcmVkZXhwX21h
eCA9ICgocG93ZigyLjBmLCBnX3NoYXJlZGV4cF9tYW50aXNzYWJpdHMpIC0gMSkgLworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3dmKDIuMGYsIGdfc2hhcmVkZXhwX21hbnRp
c3NhYml0cykpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvd2YoMi4wZiwg
Z19zaGFyZWRleHBfbWF4ZXhwb25lbnQgLSBnX3NoYXJlZGV4cF9iaWFzKTsKKyAgICByZXR1cm4g
c2hhcmVkZXhwX21heDsKK30KIAogdW5zaWduZWQgaW50IGNvbnZlcnRSR0JGbG9hdHNUbzk5OUU1
KGZsb2F0IHJlZCwgZmxvYXQgZ3JlZW4sIGZsb2F0IGJsdWUpCiB7Ci0gICAgY29uc3QgZmxvYXQg
cmVkX2MgPSBzdGQ6Om1heDxmbG9hdD4oMCwgc3RkOjptaW4oZ19zaGFyZWRleHBfbWF4LCByZWQp
KTsKLSAgICBjb25zdCBmbG9hdCBncmVlbl9jID0gc3RkOjptYXg8ZmxvYXQ+KDAsIHN0ZDo6bWlu
KGdfc2hhcmVkZXhwX21heCwgZ3JlZW4pKTsKLSAgICBjb25zdCBmbG9hdCBibHVlX2MgPSBzdGQ6
Om1heDxmbG9hdD4oMCwgc3RkOjptaW4oZ19zaGFyZWRleHBfbWF4LCBibHVlKSk7CisgICAgY29u
c3QgZmxvYXQgcmVkX2MgPSBzdGQ6Om1heDxmbG9hdD4oMCwgc3RkOjptaW4oZ19zaGFyZWRleHBf
bWF4KCksIHJlZCkpOworICAgIGNvbnN0IGZsb2F0IGdyZWVuX2MgPSBzdGQ6Om1heDxmbG9hdD4o
MCwgc3RkOjptaW4oZ19zaGFyZWRleHBfbWF4KCksIGdyZWVuKSk7CisgICAgY29uc3QgZmxvYXQg
Ymx1ZV9jID0gc3RkOjptYXg8ZmxvYXQ+KDAsIHN0ZDo6bWluKGdfc2hhcmVkZXhwX21heCgpLCBi
bHVlKSk7CiAKICAgICBjb25zdCBmbG9hdCBtYXhfYyA9IHN0ZDo6bWF4PGZsb2F0PihzdGQ6Om1h
eDxmbG9hdD4ocmVkX2MsIGdyZWVuX2MpLCBibHVlX2MpOwogICAgIGNvbnN0IGZsb2F0IGV4cF9w
ID0gc3RkOjptYXg8ZmxvYXQ+KC1nX3NoYXJlZGV4cF9iaWFzIC0gMSwgZmxvb3IobG9nKG1heF9j
KSkpICsgMSArIGdfc2hhcmVkZXhwX2JpYXM7CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFkZXJMYW5nLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9TaGFkZXJMYW5n
LmNwcAkocmV2aXNpb24gMjAzODI4KQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2Nv
bXBpbGVyL3RyYW5zbGF0b3IvU2hhZGVyTGFuZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3MSw3
ICszNzEsNyBAQCBjb25zdCBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgdW5zaWduZWQgaW50CiAKICAg
ICByZXR1cm4gdHJhbnNsYXRvci0+Z2V0VW5pZm9ybVJlZ2lzdGVyTWFwKCk7CiAjZWxzZQotICAg
IHN0YXRpYyBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgdW5zaWduZWQgaW50PiBtYXA7Ci0gICAgcmV0
dXJuICZtYXA7CisgICAgc3RhdGljIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCB1bnNpZ25lZCBpbnQ+
KiBtYXAgPSBuZXcgc3RkOjptYXA8c3RkOjpzdHJpbmcsIHVuc2lnbmVkIGludD4oKTsKKyAgICBy
ZXR1cm4gbWFwOwogI2VuZGlmICAvLyBBTkdMRV9FTkFCTEVfSExTTAogfQpJbmRleDogU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0NhcHMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9DYXBzLmNwcAkocmV2aXNpb24gMjAz
ODI4KQorKysgU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0NhcHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03Miw5ICs3Miw5IEBAIHZvaWQgVGV4dHVyZUNhcHNNYXA6OnJlbW92
ZShHTGVudW0gaW50ZXIKIAogY29uc3QgVGV4dHVyZUNhcHMgJlRleHR1cmVDYXBzTWFwOjpnZXQo
R0xlbnVtIGludGVybmFsRm9ybWF0KSBjb25zdAogewotICAgIHN0YXRpYyBUZXh0dXJlQ2FwcyBk
ZWZhdWx0VW5zdXBwb3J0ZWRUZXh0dXJlOworICAgIHN0YXRpYyBUZXh0dXJlQ2FwcyogZGVmYXVs
dFVuc3VwcG9ydGVkVGV4dHVyZSA9IG5ldyBUZXh0dXJlQ2FwcygpOwogICAgIEludGVybmFsRm9y
bWF0VG9DYXBzTWFwOjpjb25zdF9pdGVyYXRvciBpdGVyID0gbUNhcHNNYXAuZmluZChpbnRlcm5h
bEZvcm1hdCk7Ci0gICAgcmV0dXJuIChpdGVyICE9IG1DYXBzTWFwLmVuZCgpKSA/IGl0ZXItPnNl
Y29uZCA6IGRlZmF1bHRVbnN1cHBvcnRlZFRleHR1cmU7CisgICAgcmV0dXJuIChpdGVyICE9IG1D
YXBzTWFwLmVuZCgpKSA/IGl0ZXItPnNlY29uZCA6ICpkZWZhdWx0VW5zdXBwb3J0ZWRUZXh0dXJl
OwogfQogCiBUZXh0dXJlQ2Fwc01hcDo6Y29uc3RfaXRlcmF0b3IgVGV4dHVyZUNhcHNNYXA6OmJl
Z2luKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9E
ZXZpY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9EZXZpY2UuY3BwCShyZXZpc2lvbiAyMDM4MjgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvRGV2aWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsOCArMzgs
OCBAQCBzdGF0aWMgc3RkOjpzdHJpbmcgR2VuZXJhdGVFeHRlbnNpb25zU3RyCiB0eXBlZGVmIHN0
ZDo6c2V0PGVnbDo6RGV2aWNlICo+IERldmljZVNldDsKIHN0YXRpYyBEZXZpY2VTZXQgKkdldERl
dmljZVNldCgpCiB7Ci0gICAgc3RhdGljIERldmljZVNldCBkZXZpY2VzOwotICAgIHJldHVybiAm
ZGV2aWNlczsKKyAgICBzdGF0aWMgRGV2aWNlU2V0KiBkZXZpY2VzID0gbmV3IERldmljZVNldCgp
OworICAgIHJldHVybiBkZXZpY2VzOwogfQogCiAvLyBTdGF0aWMgZmFjdG9yeSBtZXRob2RzCklu
ZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvRGlzcGxheS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL0Rpc3BsYXku
Y3BwCShyZXZpc2lvbiAyMDM4MjgpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvRGlzcGxheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyLDIyICs4MiwyMiBAQCB0eXBl
ZGVmIHN0ZDo6bWFwPEVHTE5hdGl2ZVdpbmRvd1R5cGUsIFN1CiAvLyBhc3NvY2lhdGVkIHdpdGgg
aXQuCiBzdGF0aWMgV2luZG93U3VyZmFjZU1hcCAqR2V0V2luZG93U3VyZmFjZXMoKQogewotICAg
IHN0YXRpYyBXaW5kb3dTdXJmYWNlTWFwIHdpbmRvd1N1cmZhY2VzOwotICAgIHJldHVybiAmd2lu
ZG93U3VyZmFjZXM7CisgICAgc3RhdGljIFdpbmRvd1N1cmZhY2VNYXAqIHdpbmRvd1N1cmZhY2Vz
ID0gbmV3IFdpbmRvd1N1cmZhY2VNYXAoKTsKKyAgICByZXR1cm4gd2luZG93U3VyZmFjZXM7CiB9
CiAKIHR5cGVkZWYgc3RkOjptYXA8RUdMTmF0aXZlRGlzcGxheVR5cGUsIERpc3BsYXkgKj4gQU5H
TEVQbGF0Zm9ybURpc3BsYXlNYXA7CiBzdGF0aWMgQU5HTEVQbGF0Zm9ybURpc3BsYXlNYXAgKkdl
dEFOR0xFUGxhdGZvcm1EaXNwbGF5TWFwKCkKIHsKLSAgICBzdGF0aWMgQU5HTEVQbGF0Zm9ybURp
c3BsYXlNYXAgZGlzcGxheXM7Ci0gICAgcmV0dXJuICZkaXNwbGF5czsKKyAgICBzdGF0aWMgQU5H
TEVQbGF0Zm9ybURpc3BsYXlNYXAqIGRpc3BsYXlzID0gbmV3IEFOR0xFUGxhdGZvcm1EaXNwbGF5
TWFwKCk7CisgICAgcmV0dXJuIGRpc3BsYXlzOwogfQogCiB0eXBlZGVmIHN0ZDo6bWFwPERldmlj
ZSAqLCBEaXNwbGF5ICo+IERldmljZVBsYXRmb3JtRGlzcGxheU1hcDsKIHN0YXRpYyBEZXZpY2VQ
bGF0Zm9ybURpc3BsYXlNYXAgKkdldERldmljZVBsYXRmb3JtRGlzcGxheU1hcCgpCiB7Ci0gICAg
c3RhdGljIERldmljZVBsYXRmb3JtRGlzcGxheU1hcCBkaXNwbGF5czsKLSAgICByZXR1cm4gJmRp
c3BsYXlzOworICAgIHN0YXRpYyBEZXZpY2VQbGF0Zm9ybURpc3BsYXlNYXAqIGRpc3BsYXlzID0g
bmV3IERldmljZVBsYXRmb3JtRGlzcGxheU1hcCgpOworICAgIHJldHVybiBkaXNwbGF5czsKIH0K
IAogcng6OkRpc3BsYXlJbXBsICpDcmVhdGVEaXNwbGF5RnJvbURldmljZShEZXZpY2UgKmVnbERl
dmljZSkKQEAgLTk0OSw4ICs5NDksOCBAQCBjb25zdCBDbGllbnRFeHRlbnNpb25zICZEaXNwbGF5
OjpnZXRDbGllCiAKIGNvbnN0IHN0ZDo6c3RyaW5nICZEaXNwbGF5OjpnZXRDbGllbnRFeHRlbnNp
b25TdHJpbmcoKQogewotICAgIHN0YXRpYyBjb25zdCBzdGQ6OnN0cmluZyBjbGllbnRFeHRlbnNp
b25zU3RyaW5nID0gR2VuZXJhdGVFeHRlbnNpb25zU3RyaW5nKGdldENsaWVudEV4dGVuc2lvbnMo
KSk7Ci0gICAgcmV0dXJuIGNsaWVudEV4dGVuc2lvbnNTdHJpbmc7CisgICAgc3RhdGljIGNvbnN0
IHN0ZDo6c3RyaW5nKiBjbGllbnRFeHRlbnNpb25zU3RyaW5nID0gbmV3IHN0ZDo6c3RyaW5nKEdl
bmVyYXRlRXh0ZW5zaW9uc1N0cmluZyhnZXRDbGllbnRFeHRlbnNpb25zKCkpKTsKKyAgICByZXR1
cm4gKmNsaWVudEV4dGVuc2lvbnNTdHJpbmc7CiB9CiAKIHZvaWQgRGlzcGxheTo6aW5pdERpc3Bs
YXlFeHRlbnNpb25zKCkKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9mb3JtYXR1dGlscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL2Zvcm1hdHV0aWxzLmNwcAkocmV2aXNpb24gMjAzODI4KQorKysgU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL2Zvcm1hdHV0aWxzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjksMTAzICsyOSwxMDMgQEAgc3RhdGljIGlubGluZSB2b2lkIEluc2VydEZvcm1h
dE1hcHBpbmcoRgogICAgIG1hcC0+aW5zZXJ0KEZvcm1hdFBhaXIoRm9ybWF0VHlwZVBhaXIoZm9y
bWF0LCB0eXBlKSwgaW50ZXJuYWxGb3JtYXQpKTsKIH0KIAotRm9ybWF0TWFwIEJ1aWxkRm9ybWF0
TWFwKCkKK0Zvcm1hdE1hcCogQnVpbGRGb3JtYXRNYXAoKQogewotICAgIEZvcm1hdE1hcCBtYXA7
CisgICAgRm9ybWF0TWFwKiBtYXAgPSBuZXcgRm9ybWF0TWFwKCk7CiAKICAgICAvLyAgICAgICAg
ICAgICAgICAgICAgICAgfCBGb3JtYXQgICAgICAgICAgICAgICB8IFR5cGUgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgSW50ZXJuYWwgZm9ybWF0ICAgICAgICAgIHwKLSAgICBJbnNlcnRG
b3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQkEsICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllU
RSwgICAgICAgICAgICAgICAgICBHTF9SR0JBOCk7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygm
bWFwLCBHTF9SR0JBLCAgICAgICAgICAgICAgIEdMX0JZVEUsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xfUkdCQThfU05PUk0pOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xf
UkdCQSwgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVF80XzRfNF80LCAgICAgICAgIEdM
X1JHQkE0KTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQkEsICAgICAgICAg
ICAgICAgR0xfVU5TSUdORURfU0hPUlRfNV81XzVfMSwgICAgICAgICBHTF9SR0I1X0ExKTsKLSAg
ICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQkEsICAgICAgICAgICAgICAgR0xfVU5T
SUdORURfSU5UXzJfMTBfMTBfMTBfUkVWLCAgICBHTF9SR0IxMF9BMik7Ci0gICAgSW5zZXJ0Rm9y
bWF0TWFwcGluZygmbWFwLCBHTF9SR0JBLCAgICAgICAgICAgICAgIEdMX0ZMT0FULCAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xfUkdCQTMyRik7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygm
bWFwLCBHTF9SR0JBLCAgICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQsICAgICAgICAgICAgICAg
ICAgICAgR0xfUkdCQTE2Rik7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SR0JB
LCAgICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTLCAgICAgICAgICAgICAgICAgR0xfUkdC
QTE2Rik7Ci0KLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQkFfSU5URUdFUiwg
ICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgICBHTF9SR0JBOFVJKTsKLSAg
ICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQkFfSU5URUdFUiwgICAgICAgR0xfQllU
RSwgICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9SR0JBOEkpOwotICAgIEluc2VydEZvcm1h
dE1hcHBpbmcoJm1hcCwgR0xfUkdCQV9JTlRFR0VSLCAgICAgICBHTF9VTlNJR05FRF9TSE9SVCwg
ICAgICAgICAgICAgICAgIEdMX1JHQkExNlVJKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZt
YXAsIEdMX1JHQkFfSU5URUdFUiwgICAgICAgR0xfU0hPUlQsICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTF9SR0JBMTZJKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQkFf
SU5URUdFUiwgICAgICAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgICAgICAgICAgICBHTF9SR0JB
MzJVSSk7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SR0JBX0lOVEVHRVIsICAg
ICAgIEdMX0lOVCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xfUkdCQTMySSk7Ci0gICAg
SW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SR0JBX0lOVEVHRVIsICAgICAgIEdMX1VOU0lH
TkVEX0lOVF8yXzEwXzEwXzEwX1JFViwgICAgR0xfUkdCMTBfQTJVSSk7Ci0KLSAgICBJbnNlcnRG
b3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQiwgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllU
RSwgICAgICAgICAgICAgICAgICBHTF9SR0I4KTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZt
YXAsIEdMX1JHQiwgICAgICAgICAgICAgICAgR0xfQllURSwgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTF9SR0I4X1NOT1JNKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JH
QiwgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfNV82XzUsICAgICAgICAgICBHTF9S
R0I1NjUpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfUkdCLCAgICAgICAgICAg
ICAgICBHTF9VTlNJR05FRF9JTlRfMTBGXzExRl8xMUZfUkVWLCAgIEdMX1IxMUZfRzExRl9CMTBG
KTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQiwgICAgICAgICAgICAgICAg
R0xfVU5TSUdORURfSU5UXzVfOV85XzlfUkVWLCAgICAgICBHTF9SR0I5X0U1KTsKLSAgICBJbnNl
cnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHQiwgICAgICAgICAgICAgICAgR0xfRkxPQVQsICAg
ICAgICAgICAgICAgICAgICAgICAgICBHTF9SR0IzMkYpOwotICAgIEluc2VydEZvcm1hdE1hcHBp
bmcoJm1hcCwgR0xfUkdCLCAgICAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAg
ICAgICAgICAgIEdMX1JHQjE2Rik7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9S
R0IsICAgICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTLCAgICAgICAgICAgICAgICAgR0xf
UkdCMTZGKTsKLQotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfUkdCX0lOVEVHRVIs
ICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAgICAgICAgICAgICAgICAgIEdMX1JHQjhVSSk7Ci0g
ICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SR0JfSU5URUdFUiwgICAgICAgIEdMX0JZ
VEUsICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xfUkdCOEkpOwotICAgIEluc2VydEZvcm1h
dE1hcHBpbmcoJm1hcCwgR0xfUkdCX0lOVEVHRVIsICAgICAgICBHTF9VTlNJR05FRF9TSE9SVCwg
ICAgICAgICAgICAgICAgIEdMX1JHQjE2VUkpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1h
cCwgR0xfUkdCX0lOVEVHRVIsICAgICAgICBHTF9TSE9SVCwgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMX1JHQjE2SSk7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SR0JfSU5U
RUdFUiwgICAgICAgIEdMX1VOU0lHTkVEX0lOVCwgICAgICAgICAgICAgICAgICAgR0xfUkdCMzJV
SSk7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SR0JfSU5URUdFUiwgICAgICAg
IEdMX0lOVCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xfUkdCMzJJKTsKLQotICAgIElu
c2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfUkcsICAgICAgICAgICAgICAgICBHTF9VTlNJR05F
RF9CWVRFLCAgICAgICAgICAgICAgICAgIEdMX1JHOCk7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGlu
ZygmbWFwLCBHTF9SRywgICAgICAgICAgICAgICAgIEdMX0JZVEUsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0xfUkc4X1NOT1JNKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdM
X1JHLCAgICAgICAgICAgICAgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgICAgICBH
TF9SRzMyRik7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SRywgICAgICAgICAg
ICAgICAgIEdMX0hBTEZfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgR0xfUkcxNkYpOwotICAg
IEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfUkcsICAgICAgICAgICAgICAgICBHTF9IQUxG
X0ZMT0FUX09FUywgICAgICAgICAgICAgICAgIEdMX1JHMTZGKTsKLQotICAgIEluc2VydEZvcm1h
dE1hcHBpbmcoJm1hcCwgR0xfUkdfSU5URUdFUiwgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAg
ICAgICAgICAgICAgICAgIEdMX1JHOFVJKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAs
IEdMX1JHX0lOVEVHRVIsICAgICAgICAgR0xfQllURSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHTF9SRzhJKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JHX0lOVEVHRVIs
ICAgICAgICAgR0xfVU5TSUdORURfU0hPUlQsICAgICAgICAgICAgICAgICBHTF9SRzE2VUkpOwot
ICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfUkdfSU5URUdFUiwgICAgICAgICBHTF9T
SE9SVCwgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX1JHMTZJKTsKLSAgICBJbnNlcnRGb3Jt
YXRNYXBwaW5nKCZtYXAsIEdMX1JHX0lOVEVHRVIsICAgICAgICAgR0xfVU5TSUdORURfSU5ULCAg
ICAgICAgICAgICAgICAgICBHTF9SRzMyVUkpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1h
cCwgR0xfUkdfSU5URUdFUiwgICAgICAgICBHTF9JTlQsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMX1JHMzJJKTsKLQotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfUkVELCAg
ICAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAgICAgICAgICAgICAgICAgIEdMX1I4KTsK
LSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JFRCwgICAgICAgICAgICAgICAgR0xf
QllURSwgICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9SOF9TTk9STSk7Ci0gICAgSW5zZXJ0
Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SRUQsICAgICAgICAgICAgICAgIEdMX0ZMT0FULCAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0xfUjMyRik7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygm
bWFwLCBHTF9SRUQsICAgICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQsICAgICAgICAgICAgICAg
ICAgICAgR0xfUjE2Rik7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9SRUQsICAg
ICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTLCAgICAgICAgICAgICAgICAgR0xfUjE2Rik7
Ci0KLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JFRF9JTlRFR0VSLCAgICAgICAg
R0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgICBHTF9SOFVJKTsKLSAgICBJbnNlcnRG
b3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JFRF9JTlRFR0VSLCAgICAgICAgR0xfQllURSwgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTF9SOEkpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1h
cCwgR0xfUkVEX0lOVEVHRVIsICAgICAgICBHTF9VTlNJR05FRF9TSE9SVCwgICAgICAgICAgICAg
ICAgIEdMX1IxNlVJKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JFRF9JTlRF
R0VSLCAgICAgICAgR0xfU0hPUlQsICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9SMTZJKTsK
LSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX1JFRF9JTlRFR0VSLCAgICAgICAgR0xf
VU5TSUdORURfSU5ULCAgICAgICAgICAgICAgICAgICBHTF9SMzJVSSk7Ci0gICAgSW5zZXJ0Rm9y
bWF0TWFwcGluZygmbWFwLCBHTF9SRURfSU5URUdFUiwgICAgICAgIEdMX0lOVCwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xfUjMySSk7Ci0KLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZt
YXAsIEdMX0xVTUlOQU5DRV9BTFBIQSwgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAg
ICAgICBHTF9MVU1JTkFOQ0U4X0FMUEhBOF9FWFQpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmco
Jm1hcCwgR0xfTFVNSU5BTkNFLCAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAgICAgICAgICAg
ICAgICAgIEdMX0xVTUlOQU5DRThfRVhUKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAs
IEdMX0FMUEhBLCAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAg
ICBHTF9BTFBIQThfRVhUKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX0xVTUlO
QU5DRV9BTFBIQSwgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9MVU1J
TkFOQ0VfQUxQSEEzMkZfRVhUKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX0xV
TUlOQU5DRSwgICAgICAgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9M
VU1JTkFOQ0UzMkZfRVhUKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX0FMUEhB
LCAgICAgICAgICAgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9BTFBI
QTMyRl9FWFQpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfTFVNSU5BTkNFX0FM
UEhBLCAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgICAgIEdMX0xVTUlOQU5DRV9B
TFBIQTE2Rl9FWFQpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfTFVNSU5BTkNF
X0FMUEhBLCAgICBHTF9IQUxGX0ZMT0FUX09FUywgICAgICAgICAgICAgICAgIEdMX0xVTUlOQU5D
RV9BTFBIQTE2Rl9FWFQpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfTFVNSU5B
TkNFLCAgICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgICAgIEdMX0xVTUlO
QU5DRTE2Rl9FWFQpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfTFVNSU5BTkNF
LCAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09FUywgICAgICAgICAgICAgICAgIEdMX0xVTUlOQU5D
RTE2Rl9FWFQpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfQUxQSEEsICAgICAg
ICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgICAgIEdMX0FMUEhBMTZGX0VY
VCk7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9BTFBIQSwgICAgICAgICAgICAg
IEdMX0hBTEZfRkxPQVRfT0VTLCAgICAgICAgICAgICAgICAgR0xfQUxQSEExNkZfRVhUKTsKLQot
ICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfQkdSQV9FWFQsICAgICAgICAgICBHTF9V
TlNJR05FRF9CWVRFLCAgICAgICAgICAgICAgICAgIEdMX0JHUkE4X0VYVCk7Ci0gICAgSW5zZXJ0
Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9CR1JBX0VYVCwgICAgICAgICAgIEdMX1VOU0lHTkVEX1NI
T1JUXzRfNF80XzRfUkVWX0VYVCwgR0xfQkdSQTRfQU5HTEVYKTsKLSAgICBJbnNlcnRGb3JtYXRN
YXBwaW5nKCZtYXAsIEdMX0JHUkFfRVhULCAgICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfMV81
XzVfNV9SRVZfRVhULCBHTF9CR1I1X0ExX0FOR0xFWCk7Ci0KLSAgICBJbnNlcnRGb3JtYXRNYXBw
aW5nKCZtYXAsIEdMX1NSR0JfRVhULCAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAg
ICAgICAgICAgICBHTF9TUkdCOCk7Ci0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9T
UkdCX0FMUEhBX0VYVCwgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgR0xf
U1JHQjhfQUxQSEE4KTsKLQotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfQ09NUFJF
U1NFRF9SR0JfUzNUQ19EWFQxX0VYVCwgICAgR0xfVU5TSUdORURfQllURSwgICAgIEdMX0NPTVBS
RVNTRURfUkdCX1MzVENfRFhUMV9FWFQpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwg
R0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQsICAgR0xfVU5TSUdORURfQllURSwgICAg
IEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhUKTsKLSAgICBJbnNlcnRGb3JtYXRNYXBw
aW5nKCZtYXAsIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfQU5HTEUsIEdMX1VOU0lHTkVE
X0JZVEUsICAgICBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0FOR0xFKTsKLSAgICBJbnNl
cnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDVfQU5HTEUs
IEdMX1VOU0lHTkVEX0JZVEUsICAgICBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQ1X0FOR0xF
KTsKLQotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfREVQVEhfQ09NUE9ORU5ULCAg
ICBHTF9VTlNJR05FRF9TSE9SVCwgICAgICAgICAgICAgICAgIEdMX0RFUFRIX0NPTVBPTkVOVDE2
KTsKLSAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKCZtYXAsIEdMX0RFUFRIX0NPTVBPTkVOVCwgICAg
R0xfVU5TSUdORURfSU5ULCAgICAgICAgICAgICAgICAgICBHTF9ERVBUSF9DT01QT05FTlQzMl9P
RVMpOwotICAgIEluc2VydEZvcm1hdE1hcHBpbmcoJm1hcCwgR0xfREVQVEhfQ09NUE9ORU5ULCAg
ICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX0RFUFRIX0NPTVBPTkVOVDMy
Rik7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHQkEsICAgICAgICAgICAgICAg
R0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgICBHTF9SR0JBOCk7CisgICAgSW5zZXJ0
Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHQkEsICAgICAgICAgICAgICAgR0xfQllURSwgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTF9SR0JBOF9TTk9STSk7CisgICAgSW5zZXJ0Rm9ybWF0TWFw
cGluZyhtYXAsIEdMX1JHQkEsICAgICAgICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfNF80XzRf
NCwgICAgICAgICBHTF9SR0JBNCk7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JH
QkEsICAgICAgICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfNV81XzVfMSwgICAgICAgICBHTF9S
R0I1X0ExKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkdCQSwgICAgICAgICAg
ICAgICBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVYsICAgIEdMX1JHQjEwX0EyKTsKKyAg
ICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkdCQSwgICAgICAgICAgICAgICBHTF9GTE9B
VCwgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX1JHQkEzMkYpOworICAgIEluc2VydEZvcm1h
dE1hcHBpbmcobWFwLCBHTF9SR0JBLCAgICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQsICAgICAg
ICAgICAgICAgICAgICAgR0xfUkdCQTE2Rik7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAs
IEdMX1JHQkEsICAgICAgICAgICAgICAgR0xfSEFMRl9GTE9BVF9PRVMsICAgICAgICAgICAgICAg
ICBHTF9SR0JBMTZGKTsKKworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SR0JBX0lO
VEVHRVIsICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgR0xfUkdCQThV
SSk7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHQkFfSU5URUdFUiwgICAgICAg
R0xfQllURSwgICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9SR0JBOEkpOworICAgIEluc2Vy
dEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SR0JBX0lOVEVHRVIsICAgICAgIEdMX1VOU0lHTkVEX1NI
T1JULCAgICAgICAgICAgICAgICAgR0xfUkdCQTE2VUkpOworICAgIEluc2VydEZvcm1hdE1hcHBp
bmcobWFwLCBHTF9SR0JBX0lOVEVHRVIsICAgICAgIEdMX1NIT1JULCAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0xfUkdCQTE2SSk7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JH
QkFfSU5URUdFUiwgICAgICAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgICAgICAgICAgICBHTF9S
R0JBMzJVSSk7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHQkFfSU5URUdFUiwg
ICAgICAgR0xfSU5ULCAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9SR0JBMzJJKTsKKyAg
ICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkdCQV9JTlRFR0VSLCAgICAgICBHTF9VTlNJ
R05FRF9JTlRfMl8xMF8xMF8xMF9SRVYsICAgIEdMX1JHQjEwX0EyVUkpOworCisgICAgSW5zZXJ0
Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHQiwgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllU
RSwgICAgICAgICAgICAgICAgICBHTF9SR0I4KTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1h
cCwgR0xfUkdCLCAgICAgICAgICAgICAgICBHTF9CWVRFLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMX1JHQjhfU05PUk0pOworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SR0Is
ICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX1NIT1JUXzVfNl81LCAgICAgICAgICAgR0xfUkdC
NTY1KTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkdCLCAgICAgICAgICAgICAg
ICBHTF9VTlNJR05FRF9JTlRfMTBGXzExRl8xMUZfUkVWLCAgIEdMX1IxMUZfRzExRl9CMTBGKTsK
KyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkdCLCAgICAgICAgICAgICAgICBHTF9V
TlNJR05FRF9JTlRfNV85XzlfOV9SRVYsICAgICAgIEdMX1JHQjlfRTUpOworICAgIEluc2VydEZv
cm1hdE1hcHBpbmcobWFwLCBHTF9SR0IsICAgICAgICAgICAgICAgIEdMX0ZMT0FULCAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xfUkdCMzJGKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1h
cCwgR0xfUkdCLCAgICAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAg
ICAgIEdMX1JHQjE2Rik7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHQiwgICAg
ICAgICAgICAgICAgR0xfSEFMRl9GTE9BVF9PRVMsICAgICAgICAgICAgICAgICBHTF9SR0IxNkYp
OworCisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHQl9JTlRFR0VSLCAgICAgICAg
R0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgICBHTF9SR0I4VUkpOworICAgIEluc2Vy
dEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SR0JfSU5URUdFUiwgICAgICAgIEdMX0JZVEUsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0xfUkdCOEkpOworICAgIEluc2VydEZvcm1hdE1hcHBpbmco
bWFwLCBHTF9SR0JfSU5URUdFUiwgICAgICAgIEdMX1VOU0lHTkVEX1NIT1JULCAgICAgICAgICAg
ICAgICAgR0xfUkdCMTZVSSk7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHQl9J
TlRFR0VSLCAgICAgICAgR0xfU0hPUlQsICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9SR0Ix
NkkpOworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SR0JfSU5URUdFUiwgICAgICAg
IEdMX1VOU0lHTkVEX0lOVCwgICAgICAgICAgICAgICAgICAgR0xfUkdCMzJVSSk7CisgICAgSW5z
ZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHQl9JTlRFR0VSLCAgICAgICAgR0xfSU5ULCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBHTF9SR0IzMkkpOworCisgICAgSW5zZXJ0Rm9ybWF0TWFw
cGluZyhtYXAsIEdMX1JHLCAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAg
ICAgICAgICAgICBHTF9SRzgpOworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SRywg
ICAgICAgICAgICAgICAgIEdMX0JZVEUsICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xfUkc4
X1NOT1JNKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkcsICAgICAgICAgICAg
ICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX1JHMzJGKTsKKyAgICBJ
bnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkcsICAgICAgICAgICAgICAgICBHTF9IQUxGX0ZM
T0FULCAgICAgICAgICAgICAgICAgICAgIEdMX1JHMTZGKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBw
aW5nKG1hcCwgR0xfUkcsICAgICAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09FUywgICAgICAg
ICAgICAgICAgIEdMX1JHMTZGKTsKKworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9S
R19JTlRFR0VSLCAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgR0xf
Ukc4VUkpOworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SR19JTlRFR0VSLCAgICAg
ICAgIEdMX0JZVEUsICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xfUkc4SSk7CisgICAgSW5z
ZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JHX0lOVEVHRVIsICAgICAgICAgR0xfVU5TSUdORURf
U0hPUlQsICAgICAgICAgICAgICAgICBHTF9SRzE2VUkpOworICAgIEluc2VydEZvcm1hdE1hcHBp
bmcobWFwLCBHTF9SR19JTlRFR0VSLCAgICAgICAgIEdMX1NIT1JULCAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0xfUkcxNkkpOworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SR19J
TlRFR0VSLCAgICAgICAgIEdMX1VOU0lHTkVEX0lOVCwgICAgICAgICAgICAgICAgICAgR0xfUkcz
MlVJKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkdfSU5URUdFUiwgICAgICAg
ICBHTF9JTlQsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX1JHMzJJKTsKKworICAgIElu
c2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SRUQsICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVE
X0JZVEUsICAgICAgICAgICAgICAgICAgR0xfUjgpOworICAgIEluc2VydEZvcm1hdE1hcHBpbmco
bWFwLCBHTF9SRUQsICAgICAgICAgICAgICAgIEdMX0JZVEUsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xfUjhfU05PUk0pOworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9SRUQs
ICAgICAgICAgICAgICAgIEdMX0ZMT0FULCAgICAgICAgICAgICAgICAgICAgICAgICAgR0xfUjMy
Rik7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JFRCwgICAgICAgICAgICAgICAg
R0xfSEFMRl9GTE9BVCwgICAgICAgICAgICAgICAgICAgICBHTF9SMTZGKTsKKyAgICBJbnNlcnRG
b3JtYXRNYXBwaW5nKG1hcCwgR0xfUkVELCAgICAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09F
UywgICAgICAgICAgICAgICAgIEdMX1IxNkYpOworCisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyht
YXAsIEdMX1JFRF9JTlRFR0VSLCAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAg
ICAgICBHTF9SOFVJKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkVEX0lOVEVH
RVIsICAgICAgICBHTF9CWVRFLCAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX1I4SSk7Cisg
ICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX1JFRF9JTlRFR0VSLCAgICAgICAgR0xfVU5T
SUdORURfU0hPUlQsICAgICAgICAgICAgICAgICBHTF9SMTZVSSk7CisgICAgSW5zZXJ0Rm9ybWF0
TWFwcGluZyhtYXAsIEdMX1JFRF9JTlRFR0VSLCAgICAgICAgR0xfU0hPUlQsICAgICAgICAgICAg
ICAgICAgICAgICAgICBHTF9SMTZJKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xf
UkVEX0lOVEVHRVIsICAgICAgICBHTF9VTlNJR05FRF9JTlQsICAgICAgICAgICAgICAgICAgIEdM
X1IzMlVJKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfUkVEX0lOVEVHRVIsICAg
ICAgICBHTF9JTlQsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX1IzMkkpOworCisgICAg
SW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX0xVTUlOQU5DRV9BTFBIQSwgICAgR0xfVU5TSUdO
RURfQllURSwgICAgICAgICAgICAgICAgICBHTF9MVU1JTkFOQ0U4X0FMUEhBOF9FWFQpOworICAg
IEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9MVU1JTkFOQ0UsICAgICAgICAgIEdMX1VOU0lH
TkVEX0JZVEUsICAgICAgICAgICAgICAgICAgR0xfTFVNSU5BTkNFOF9FWFQpOworICAgIEluc2Vy
dEZvcm1hdE1hcHBpbmcobWFwLCBHTF9BTFBIQSwgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZ
VEUsICAgICAgICAgICAgICAgICAgR0xfQUxQSEE4X0VYVCk7CisgICAgSW5zZXJ0Rm9ybWF0TWFw
cGluZyhtYXAsIEdMX0xVTUlOQU5DRV9BTFBIQSwgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAg
ICAgICAgICAgICBHTF9MVU1JTkFOQ0VfQUxQSEEzMkZfRVhUKTsKKyAgICBJbnNlcnRGb3JtYXRN
YXBwaW5nKG1hcCwgR0xfTFVNSU5BTkNFLCAgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMX0xVTUlOQU5DRTMyRl9FWFQpOworICAgIEluc2VydEZvcm1hdE1hcHBp
bmcobWFwLCBHTF9BTFBIQSwgICAgICAgICAgICAgIEdMX0ZMT0FULCAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0xfQUxQSEEzMkZfRVhUKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwg
R0xfTFVNSU5BTkNFX0FMUEhBLCAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgICAg
IEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9FWFQpOworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFw
LCBHTF9MVU1JTkFOQ0VfQUxQSEEsICAgIEdMX0hBTEZfRkxPQVRfT0VTLCAgICAgICAgICAgICAg
ICAgR0xfTFVNSU5BTkNFX0FMUEhBMTZGX0VYVCk7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyht
YXAsIEdMX0xVTUlOQU5DRSwgICAgICAgICAgR0xfSEFMRl9GTE9BVCwgICAgICAgICAgICAgICAg
ICAgICBHTF9MVU1JTkFOQ0UxNkZfRVhUKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwg
R0xfTFVNSU5BTkNFLCAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09FUywgICAgICAgICAgICAgICAg
IEdMX0xVTUlOQU5DRTE2Rl9FWFQpOworICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9B
TFBIQSwgICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgR0xf
QUxQSEExNkZfRVhUKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfQUxQSEEsICAg
ICAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09FUywgICAgICAgICAgICAgICAgIEdMX0FMUEhBMTZG
X0VYVCk7CisKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfQkdSQV9FWFQsICAgICAg
ICAgICBHTF9VTlNJR05FRF9CWVRFLCAgICAgICAgICAgICAgICAgIEdMX0JHUkE4X0VYVCk7Cisg
ICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX0JHUkFfRVhULCAgICAgICAgICAgR0xfVU5T
SUdORURfU0hPUlRfNF80XzRfNF9SRVZfRVhULCBHTF9CR1JBNF9BTkdMRVgpOworICAgIEluc2Vy
dEZvcm1hdE1hcHBpbmcobWFwLCBHTF9CR1JBX0VYVCwgICAgICAgICAgIEdMX1VOU0lHTkVEX1NI
T1JUXzFfNV81XzVfUkVWX0VYVCwgR0xfQkdSNV9BMV9BTkdMRVgpOworCisgICAgSW5zZXJ0Rm9y
bWF0TWFwcGluZyhtYXAsIEdMX1NSR0JfRVhULCAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwg
ICAgICAgICAgICAgICAgICBHTF9TUkdCOCk7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAs
IEdMX1NSR0JfQUxQSEFfRVhULCAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAg
ICBHTF9TUkdCOF9BTFBIQTgpOworCisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX0NP
TVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQsICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICBHTF9D
T01QUkVTU0VEX1JHQl9TM1RDX0RYVDFfRVhUKTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1h
cCwgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQsICAgR0xfVU5TSUdORURfQllURSwg
ICAgIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhUKTsKKyAgICBJbnNlcnRGb3JtYXRN
YXBwaW5nKG1hcCwgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUM19BTkdMRSwgR0xfVU5TSUdO
RURfQllURSwgICAgIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfQU5HTEUpOworICAgIElu
c2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQ1X0FOR0xF
LCBHTF9VTlNJR05FRF9CWVRFLCAgICAgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdM
RSk7CisKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfREVQVEhfQ09NUE9ORU5ULCAg
ICBHTF9VTlNJR05FRF9TSE9SVCwgICAgICAgICAgICAgICAgIEdMX0RFUFRIX0NPTVBPTkVOVDE2
KTsKKyAgICBJbnNlcnRGb3JtYXRNYXBwaW5nKG1hcCwgR0xfREVQVEhfQ09NUE9ORU5ULCAgICBH
TF9VTlNJR05FRF9JTlQsICAgICAgICAgICAgICAgICAgIEdMX0RFUFRIX0NPTVBPTkVOVDMyX09F
Uyk7CisgICAgSW5zZXJ0Rm9ybWF0TWFwcGluZyhtYXAsIEdMX0RFUFRIX0NPTVBPTkVOVCwgICAg
R0xfRkxPQVQsICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9ERVBUSF9DT01QT05FTlQzMkYp
OwogCi0gICAgSW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9TVEVOQ0lMLCAgICAgICAgICAg
IEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgR0xfU1RFTkNJTF9JTkRFWDgpOwor
ICAgIEluc2VydEZvcm1hdE1hcHBpbmcobWFwLCBHTF9TVEVOQ0lMLCAgICAgICAgICAgIEdMX1VO
U0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgR0xfU1RFTkNJTF9JTkRFWDgpOwogCi0gICAg
SW5zZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9ERVBUSF9TVEVOQ0lMLCAgICAgIEdMX1VOU0lH
TkVEX0lOVF8yNF84LCAgICAgICAgICAgICAgR0xfREVQVEgyNF9TVEVOQ0lMOCk7Ci0gICAgSW5z
ZXJ0Rm9ybWF0TWFwcGluZygmbWFwLCBHTF9ERVBUSF9TVEVOQ0lMLCAgICAgIEdMX0ZMT0FUXzMy
X1VOU0lHTkVEX0lOVF8yNF84X1JFViwgR0xfREVQVEgzMkZfU1RFTkNJTDgpOworICAgIEluc2Vy
dEZvcm1hdE1hcHBpbmcobWFwLCBHTF9ERVBUSF9TVEVOQ0lMLCAgICAgIEdMX1VOU0lHTkVEX0lO
VF8yNF84LCAgICAgICAgICAgICAgR0xfREVQVEgyNF9TVEVOQ0lMOCk7CisgICAgSW5zZXJ0Rm9y
bWF0TWFwcGluZyhtYXAsIEdMX0RFUFRIX1NURU5DSUwsICAgICAgR0xfRkxPQVRfMzJfVU5TSUdO
RURfSU5UXzI0XzhfUkVWLCBHTF9ERVBUSDMyRl9TVEVOQ0lMOCk7CiAKICAgICByZXR1cm4gbWFw
OwogfQpAQCAtMzkyLDE4MiArMzkyLDE4MiBAQCBzdGF0aWMgSW50ZXJuYWxGb3JtYXQgQ29tcHJl
c3NlZEZvcm1hdChHCiB0eXBlZGVmIHN0ZDo6cGFpcjxHTGVudW0sIEludGVybmFsRm9ybWF0PiBJ
bnRlcm5hbEZvcm1hdEluZm9QYWlyOwogdHlwZWRlZiBzdGQ6Om1hcDxHTGVudW0sIEludGVybmFs
Rm9ybWF0PiBJbnRlcm5hbEZvcm1hdEluZm9NYXA7CiAKLXN0YXRpYyBJbnRlcm5hbEZvcm1hdElu
Zm9NYXAgQnVpbGRJbnRlcm5hbEZvcm1hdEluZm9NYXAoKQorc3RhdGljIEludGVybmFsRm9ybWF0
SW5mb01hcCogQnVpbGRJbnRlcm5hbEZvcm1hdEluZm9NYXAoKQogewotICAgIEludGVybmFsRm9y
bWF0SW5mb01hcCBtYXA7CisgICAgSW50ZXJuYWxGb3JtYXRJbmZvTWFwKiBtYXAgPSBuZXcgSW50
ZXJuYWxGb3JtYXRJbmZvTWFwKCk7CiAKICAgICAvLyBjbGFuZy1mb3JtYXQgb2ZmCiAgICAgLy8g
RnJvbSBFUyAzLjAuMSBzcGVjLCB0YWJsZSAzLjEyCi0gICAgbWFwLmluc2VydChJbnRlcm5hbEZv
cm1hdEluZm9QYWlyKEdMX05PTkUsICAgICAgICAgICAgICBJbnRlcm5hbEZvcm1hdCgpKSk7Cisg
ICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9OT05FLCAgICAgICAgICAg
ICAgSW50ZXJuYWxGb3JtYXQoKSkpOwogCiAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCBJbnRlcm5hbCBmb3JtYXQgICAgIHwgICAgICAgICAgfCBSIHwgRyB8IEIgfCBBIHxT
IHwgRm9ybWF0ICAgICAgICAgfCBUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb21w
b25lbnQgdHlwZSAgICAgICAgfCBTUkdCIHwgVGV4dHVyZSBzdXBwb3J0ZWQgICAgICAgICAgICAg
ICAgICAgICAgICB8IFJlbmRlcmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBG
aWx0ZXJhYmxlICAgIHwKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xf
UjgsICAgICAgICAgICAgICAgIFJHQkFGb3JtYXQoIDgsICAwLCAgMCwgIDAsIDAsIEdMX1JFRCwg
ICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9S
TUFMSVpFRCwgZmFsc2UsIFJlcXVpcmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjp0ZXh0dXJlUkc+
LCBSZXF1aXJlRVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6dGV4dHVyZVJHPiwgQWx3YXlzU3VwcG9y
dGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SOF9TTk9S
TSwgICAgICAgICAgUkdCQUZvcm1hdCggOCwgIDAsICAwLCAgMCwgMCwgR0xfUkVELCAgICAgICAg
ICBHTF9CWVRFLCAgICAgICAgICAgICAgICAgICAgICAgICBHTF9TSUdORURfTk9STUFMSVpFRCwg
ICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVy
U3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbHdheXNTdXBwb3J0ZWQpKSk7
Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHOCwgICAgICAgICAg
ICAgICBSR0JBRm9ybWF0KCA4LCAgOCwgIDAsICAwLCAwLCBHTF9SRywgICAgICAgICAgIEdMX1VO
U0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIGZhbHNl
LCBSZXF1aXJlRVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6dGV4dHVyZVJHPiwgUmVxdWlyZUVTT3JF
eHQ8MywgJkV4dGVuc2lvbnM6OnRleHR1cmVSRz4sIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBt
YXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkc4X1NOT1JNLCAgICAgICAgIFJH
QkFGb3JtYXQoIDgsICA4LCAgMCwgIDAsIDAsIEdMX1JHLCAgICAgICAgICAgR0xfQllURSwgICAg
ICAgICAgICAgICAgICAgICAgICAgR0xfU0lHTkVEX05PUk1BTElaRUQsICAgZmFsc2UsIFJlcXVp
cmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNl
cnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0I4LCAgICAgICAgICAgICAgUkdCQUZvcm1h
dCggOCwgIDgsICA4LCAgMCwgMCwgR0xfUkdCLCAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAg
ICAgICAgICAgICAgICBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBmYWxzZSwgUmVxdWlyZUVTT3JF
eHQ8MywgJkV4dGVuc2lvbnM6OnJnYjhyZ2JhOD4sIFJlcXVpcmVFU09yRXh0PDMsICZFeHRlbnNp
b25zOjpyZ2I4cmdiYTg+LCBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRl
cm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHQjhfU05PUk0sICAgICAgICBSR0JBRm9ybWF0KCA4LCAg
OCwgIDgsICAwLCAwLCBHTF9SR0IsICAgICAgICAgIEdMX0JZVEUsICAgICAgICAgICAgICAgICAg
ICAgICAgIEdMX1NJR05FRF9OT1JNQUxJWkVELCAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9y
bWF0SW5mb1BhaXIoR0xfUkdCNTY1LCAgICAgICAgICAgIFJHQkFGb3JtYXQoIDUsICA2LCAgNSwg
IDAsIDAsIEdMX1JHQiwgICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfNV82XzUsICAgICAgICAg
R0xfVU5TSUdORURfTk9STUFMSVpFRCwgZmFsc2UsIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZv
UGFpcihHTF9SR0JBNCwgICAgICAgICAgICAgUkdCQUZvcm1hdCggNCwgIDQsICA0LCAgNCwgMCwg
R0xfUkdCQSwgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVF80XzRfNF80LCAgICAgICBHTF9VTlNJ
R05FRF9OT1JNQUxJWkVELCBmYWxzZSwgUmVxdWlyZUVTPDI+LCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbHdh
eXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdM
X1JHQjVfQTEsICAgICAgICAgICBSR0JBRm9ybWF0KCA1LCAgNSwgIDUsICAxLCAwLCBHTF9SR0JB
LCAgICAgICAgIEdMX1VOU0lHTkVEX1NIT1JUXzVfNV81XzEsICAgICAgIEdMX1VOU0lHTkVEX05P
Uk1BTElaRUQsIGZhbHNlLCBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUmVxdWlyZUVTPDI+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBv
cnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCQTgs
ICAgICAgICAgICAgIFJHQkFGb3JtYXQoIDgsICA4LCAgOCwgIDgsIDAsIEdMX1JHQkEsICAgICAg
ICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9STUFMSVpF
RCwgZmFsc2UsIFJlcXVpcmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjpyZ2I4cmdiYTg+LCBSZXF1
aXJlRVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6cmdiOHJnYmE4PiwgQWx3YXlzU3VwcG9ydGVkKSkp
OwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0JBOF9TTk9STSwg
ICAgICAgUkdCQUZvcm1hdCggOCwgIDgsICA4LCAgOCwgMCwgR0xfUkdCQSwgICAgICAgICBHTF9C
WVRFLCAgICAgICAgICAgICAgICAgICAgICAgICBHTF9TSUdORURfTk9STUFMSVpFRCwgICBmYWxz
ZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9y
dGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAg
bWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHQjEwX0EyLCAgICAgICAgICBS
R0JBRm9ybWF0KDEwLCAxMCwgMTAsICAyLCAwLCBHTF9SR0JBLCAgICAgICAgIEdMX1VOU0lHTkVE
X0lOVF8yXzEwXzEwXzEwX1JFViwgIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIGZhbHNlLCBSZXF1
aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5z
ZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCMTBfQTJVSSwgICAgICAgIFJHQkFGb3Jt
YXQoMTAsIDEwLCAxMCwgIDIsIDAsIEdMX1JHQkFfSU5URUdFUiwgR0xfVU5TSUdORURfSU5UXzJf
MTBfMTBfMTBfUkVWLCAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwz
PiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRl
cm5hbEZvcm1hdEluZm9QYWlyKEdMX1NSR0I4LCAgICAgICAgICAgICBSR0JBRm9ybWF0KCA4LCAg
OCwgIDgsICAwLCAwLCBHTF9SR0IsICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAg
ICAgICAgIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIHRydWUsICBSZXF1aXJlRVNPckV4dDwzLCAm
RXh0ZW5zaW9uczo6c1JHQj4sICAgICAgTmV2ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9y
bWF0SW5mb1BhaXIoR0xfU1JHQjhfQUxQSEE4LCAgICAgIFJHQkFGb3JtYXQoIDgsICA4LCAgOCwg
IDgsIDAsIEdMX1JHQkEsICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAg
R0xfVU5TSUdORURfTk9STUFMSVpFRCwgdHJ1ZSwgIFJlcXVpcmVFU09yRXh0PDMsICZFeHRlbnNp
b25zOjpzUkdCPiwgICAgICBSZXF1aXJlRVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6c1JHQj4sICAg
ICAgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZv
UGFpcihHTF9SMTFGX0cxMUZfQjEwRiwgICAgUkdCQUZvcm1hdCgxMSwgMTEsIDEwLCAgMCwgMCwg
R0xfUkdCLCAgICAgICAgICBHTF9VTlNJR05FRF9JTlRfMTBGXzExRl8xMUZfUkVWLCBHTF9GTE9B
VCwgICAgICAgICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OmNvbG9yQnVmZmVyRmxvYXQ+LCBBbHdh
eXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdM
X1JHQjlfRTUsICAgICAgICAgICBSR0JBRm9ybWF0KCA5LCAgOSwgIDksICAwLCA1LCBHTF9SR0Is
ICAgICAgICAgIEdMX1VOU0lHTkVEX0lOVF81XzlfOV85X1JFViwgICAgIEdMX0ZMT0FULCAgICAg
ICAgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTmV2ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBv
cnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUjhJLCAg
ICAgICAgICAgICAgIFJHQkFGb3JtYXQoIDgsICAwLCAgMCwgIDAsIDAsIEdMX1JFRF9JTlRFR0VS
LCAgR0xfQllURSwgICAgICAgICAgICAgICAgICAgICAgICAgR0xfSU5ULCAgICAgICAgICAgICAg
ICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1
aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7
Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1I4VUksICAgICAgICAg
ICAgICBSR0JBRm9ybWF0KCA4LCAgMCwgIDAsICAwLCAwLCBHTF9SRURfSU5URUdFUiwgIEdMX1VO
U0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0lOVCwgICAgICAgIGZhbHNl
LCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOwotICAgIG1h
cC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SMTZJLCAgICAgICAgICAgICAgUkdC
QUZvcm1hdCgxNiwgIDAsICAwLCAgMCwgMCwgR0xfUkVEX0lOVEVHRVIsICBHTF9TSE9SVCwgICAg
ICAgICAgICAgICAgICAgICAgICBHTF9JTlQsICAgICAgICAgICAgICAgICBmYWxzZSwgUmVxdWly
ZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzPiwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0
KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUjE2VUksICAgICAgICAgICAgIFJHQkFGb3JtYXQo
MTYsICAwLCAgMCwgIDAsIDAsIEdMX1JFRF9JTlRFR0VSLCAgR0xfVU5TSUdORURfU0hPUlQsICAg
ICAgICAgICAgICAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5h
bEZvcm1hdEluZm9QYWlyKEdMX1IzMkksICAgICAgICAgICAgICBSR0JBRm9ybWF0KDMyLCAgMCwg
IDAsICAwLCAwLCBHTF9SRURfSU5URUdFUiwgIEdMX0lOVCwgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMX0lOVCwgICAgICAgICAgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJ
bmZvUGFpcihHTF9SMzJVSSwgICAgICAgICAgICAgUkdCQUZvcm1hdCgzMiwgIDAsICAwLCAgMCwg
MCwgR0xfUkVEX0lOVEVHRVIsICBHTF9VTlNJR05FRF9JTlQsICAgICAgICAgICAgICAgICBHTF9V
TlNJR05FRF9JTlQsICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
ZXZlclN1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIo
R0xfUkc4SSwgICAgICAgICAgICAgIFJHQkFGb3JtYXQoIDgsICA4LCAgMCwgIDAsIDAsIEdMX1JH
X0lOVEVHRVIsICAgR0xfQllURSwgICAgICAgICAgICAgICAgICAgICAgICAgR0xfSU5ULCAgICAg
ICAgICAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBw
b3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHOFVJ
LCAgICAgICAgICAgICBSR0JBRm9ybWF0KCA4LCAgOCwgIDAsICAwLCAwLCBHTF9SR19JTlRFR0VS
LCAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0lOVCwgICAg
ICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVx
dWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkp
OwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SRzE2SSwgICAgICAg
ICAgICAgUkdCQUZvcm1hdCgxNiwgMTYsICAwLCAgMCwgMCwgR0xfUkdfSU5URUdFUiwgICBHTF9T
SE9SVCwgICAgICAgICAgICAgICAgICAgICAgICBHTF9JTlQsICAgICAgICAgICAgICAgICBmYWxz
ZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwz
PiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkpKTsKLSAgICBt
YXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkcxNlVJLCAgICAgICAgICAgIFJH
QkFGb3JtYXQoMTYsIDE2LCAgMCwgIDAsIDAsIEdMX1JHX0lOVEVHRVIsICAgR0xfVU5TSUdORURf
U0hPUlQsICAgICAgICAgICAgICAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgZmFsc2UsIFJlcXVp
cmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2Vy
dChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHMzJJLCAgICAgICAgICAgICBSR0JBRm9ybWF0
KDMyLCAzMiwgIDAsICAwLCAwLCBHTF9SR19JTlRFR0VSLCAgIEdMX0lOVCwgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdMX0lOVCwgICAgICAgICAgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4s
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJu
YWxGb3JtYXRJbmZvUGFpcihHTF9SRzMyVUksICAgICAgICAgICAgUkdCQUZvcm1hdCgzMiwgMzIs
ICAwLCAgMCwgMCwgR0xfUkdfSU5URUdFUiwgICBHTF9VTlNJR05FRF9JTlQsICAgICAgICAgICAg
ICAgICBHTF9VTlNJR05FRF9JTlQsICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBOZXZlclN1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0
SW5mb1BhaXIoR0xfUkdCOEksICAgICAgICAgICAgIFJHQkFGb3JtYXQoIDgsICA4LCAgOCwgIDAs
IDAsIEdMX1JHQl9JTlRFR0VSLCAgR0xfQllURSwgICAgICAgICAgICAgICAgICAgICAgICAgR0xf
SU5ULCAgICAgICAgICAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TmV2ZXJTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWly
KEdMX1JHQjhVSSwgICAgICAgICAgICBSR0JBRm9ybWF0KCA4LCAgOCwgIDgsICAwLCAwLCBHTF9S
R0JfSU5URUdFUiwgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVE
X0lOVCwgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTmV2ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3Vw
cG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0Ix
NkksICAgICAgICAgICAgUkdCQUZvcm1hdCgxNiwgMTYsIDE2LCAgMCwgMCwgR0xfUkdCX0lOVEVH
RVIsICBHTF9TSE9SVCwgICAgICAgICAgICAgICAgICAgICAgICBHTF9JTlQsICAgICAgICAgICAg
ICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5l
dmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkp
KTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCMTZVSSwgICAg
ICAgICAgIFJHQkFGb3JtYXQoMTYsIDE2LCAxNiwgIDAsIDAsIEdMX1JHQl9JTlRFR0VSLCAgR0xf
VU5TSUdORURfU0hPUlQsICAgICAgICAgICAgICAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgZmFs
c2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBv
cnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7Ci0gICAg
bWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHQjMySSwgICAgICAgICAgICBS
R0JBRm9ybWF0KDMyLCAzMiwgMzIsICAwLCAwLCBHTF9SR0JfSU5URUdFUiwgIEdMX0lOVCwgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMX0lOVCwgICAgICAgICAgICAgICAgIGZhbHNlLCBSZXF1
aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNl
cnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0IzMlVJLCAgICAgICAgICAgUkdCQUZvcm1h
dCgzMiwgMzIsIDMyLCAgMCwgMCwgR0xfUkdCX0lOVEVHRVIsICBHTF9VTlNJR05FRF9JTlQsICAg
ICAgICAgICAgICAgICBHTF9VTlNJR05FRF9JTlQsICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVy
bmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCQThJLCAgICAgICAgICAgIFJHQkFGb3JtYXQoIDgsICA4
LCAgOCwgIDgsIDAsIEdMX1JHQkFfSU5URUdFUiwgR0xfQllURSwgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xfSU5ULCAgICAgICAgICAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1h
dEluZm9QYWlyKEdMX1JHQkE4VUksICAgICAgICAgICBSR0JBRm9ybWF0KCA4LCAgOCwgIDgsICA4
LCAwLCBHTF9SR0JBX0lOVEVHRVIsIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgIEdM
X1VOU0lHTkVEX0lOVCwgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5ldmVyU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFp
cihHTF9SR0JBMTZJLCAgICAgICAgICAgUkdCQUZvcm1hdCgxNiwgMTYsIDE2LCAxNiwgMCwgR0xf
UkdCQV9JTlRFR0VSLCBHTF9TSE9SVCwgICAgICAgICAgICAgICAgICAgICAgICBHTF9JTlQsICAg
ICAgICAgICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1
cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdC
QTE2VUksICAgICAgICAgIFJHQkFGb3JtYXQoMTYsIDE2LCAxNiwgMTYsIDAsIEdMX1JHQkFfSU5U
RUdFUiwgR0xfVU5TSUdORURfU0hPUlQsICAgICAgICAgICAgICAgR0xfVU5TSUdORURfSU5ULCAg
ICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS
ZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQp
KSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHQkEzMkksICAg
ICAgICAgICBSR0JBRm9ybWF0KDMyLCAzMiwgMzIsIDMyLCAwLCBHTF9SR0JBX0lOVEVHRVIsIEdM
X0lOVCwgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX0lOVCwgICAgICAgICAgICAgICAgIGZh
bHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVT
PDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOwotICAg
IG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0JBMzJVSSwgICAgICAgICAg
UkdCQUZvcm1hdCgzMiwgMzIsIDMyLCAzMiwgMCwgR0xfUkdCQV9JTlRFR0VSLCBHTF9VTlNJR05F
RF9JTlQsICAgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9JTlQsICAgICAgICBmYWxzZSwgUmVx
dWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzPiwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkpKTsKLQotICAgIG1hcC5p
bnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9CR1JBOF9FWFQsICAgICAgICAgUkdCQUZv
cm1hdCggOCwgIDgsICA4LCAgOCwgMCwgR0xfQkdSQV9FWFQsICAgICBHTF9VTlNJR05FRF9CWVRF
LCAgICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIGZhbHNlLCBSZXF1aXJl
RXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlRm9ybWF0QkdSQTg4ODg+LCBSZXF1aXJlRXh0PCZFeHRl
bnNpb25zOjp0ZXh0dXJlRm9ybWF0QkdSQTg4ODg+LCBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAg
bWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0JHUkE0X0FOR0xFWCwgICAgICBS
R0JBRm9ybWF0KCA0LCAgNCwgIDQsICA0LCAwLCBHTF9CR1JBX0VYVCwgICAgIEdMX1VOU0lHTkVE
X1NIT1JUXzRfNF80XzRfUkVWX0VYVCwgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgZmFsc2UsIFJl
cXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVGb3JtYXRCR1JBODg4OD4sIFJlcXVpcmVFeHQ8
JkV4dGVuc2lvbnM6OnRleHR1cmVGb3JtYXRCR1JBODg4OD4sIEFsd2F5c1N1cHBvcnRlZCkpKTsK
LSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQkdSNV9BMV9BTkdMRVgs
ICAgIFJHQkFGb3JtYXQoIDUsICA1LCAgNSwgIDEsIDAsIEdMX0JHUkFfRVhULCAgICAgR0xfVU5T
SUdORURfU0hPUlRfMV81XzVfNV9SRVZfRVhULCBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBmYWxz
ZSwgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUZvcm1hdEJHUkE4ODg4PiwgUmVxdWly
ZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUZvcm1hdEJHUkE4ODg4PiwgQWx3YXlzU3VwcG9ydGVk
KSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUjgsICAgICAg
ICAgICAgICAgIFJHQkFGb3JtYXQoIDgsICAwLCAgMCwgIDAsIDAsIEdMX1JFRCwgICAgICAgICAg
R0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9STUFMSVpFRCwg
ZmFsc2UsIFJlcXVpcmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjp0ZXh0dXJlUkc+LCBSZXF1aXJl
RVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6dGV4dHVyZVJHPiwgQWx3YXlzU3VwcG9ydGVkKSkpOwor
ICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUjhfU05PUk0sICAgICAg
ICAgIFJHQkFGb3JtYXQoIDgsICAwLCAgMCwgIDAsIDAsIEdMX1JFRCwgICAgICAgICAgR0xfQllU
RSwgICAgICAgICAgICAgICAgICAgICAgICAgR0xfU0lHTkVEX05PUk1BTElaRUQsICAgZmFsc2Us
IFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRl
ZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1h
cC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkc4LCAgICAgICAgICAgICAgIFJH
QkFGb3JtYXQoIDgsICA4LCAgMCwgIDAsIDAsIEdMX1JHLCAgICAgICAgICAgR0xfVU5TSUdORURf
QllURSwgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgZmFsc2UsIFJlcXVp
cmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjp0ZXh0dXJlUkc+LCBSZXF1aXJlRVNPckV4dDwzLCAm
RXh0ZW5zaW9uczo6dGV4dHVyZVJHPiwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5z
ZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkc4X1NOT1JNLCAgICAgICAgIFJHQkFGb3Jt
YXQoIDgsICA4LCAgMCwgIDAsIDAsIEdMX1JHLCAgICAgICAgICAgR0xfQllURSwgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xfU0lHTkVEX05PUk1BTElaRUQsICAgZmFsc2UsIFJlcXVpcmVFUzwz
PiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KElu
dGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCOCwgICAgICAgICAgICAgIFJHQkFGb3JtYXQoIDgs
ICA4LCAgOCwgIDAsIDAsIEdMX1JHQiwgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgICAgICAg
ICAgICAgICAgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgZmFsc2UsIFJlcXVpcmVFU09yRXh0PDMs
ICZFeHRlbnNpb25zOjpyZ2I4cmdiYTg+LCBSZXF1aXJlRVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6
cmdiOHJnYmE4PiwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFs
Rm9ybWF0SW5mb1BhaXIoR0xfUkdCOF9TTk9STSwgICAgICAgIFJHQkFGb3JtYXQoIDgsICA4LCAg
OCwgIDAsIDAsIEdMX1JHQiwgICAgICAgICAgR0xfQllURSwgICAgICAgICAgICAgICAgICAgICAg
ICAgR0xfU0lHTkVEX05PUk1BTElaRUQsICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0
SW5mb1BhaXIoR0xfUkdCNTY1LCAgICAgICAgICAgIFJHQkFGb3JtYXQoIDUsICA2LCAgNSwgIDAs
IDAsIEdMX1JHQiwgICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfNV82XzUsICAgICAgICAgR0xf
VU5TSUdORURfTk9STUFMSVpFRCwgZmFsc2UsIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
QWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1Bh
aXIoR0xfUkdCQTQsICAgICAgICAgICAgIFJHQkFGb3JtYXQoIDQsICA0LCAgNCwgIDQsIDAsIEdM
X1JHQkEsICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfNF80XzRfNCwgICAgICAgR0xfVU5TSUdO
RURfTk9STUFMSVpFRCwgZmFsc2UsIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlz
U3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xf
UkdCNV9BMSwgICAgICAgICAgIFJHQkFGb3JtYXQoIDUsICA1LCAgNSwgIDEsIDAsIEdMX1JHQkEs
ICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfNV81XzVfMSwgICAgICAgR0xfVU5TSUdORURfTk9S
TUFMSVpFRCwgZmFsc2UsIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9y
dGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCQTgs
ICAgICAgICAgICAgIFJHQkFGb3JtYXQoIDgsICA4LCAgOCwgIDgsIDAsIEdMX1JHQkEsICAgICAg
ICAgR0xfVU5TSUdORURfQllURSwgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9STUFMSVpF
RCwgZmFsc2UsIFJlcXVpcmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjpyZ2I4cmdiYTg+LCBSZXF1
aXJlRVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6cmdiOHJnYmE4PiwgQWx3YXlzU3VwcG9ydGVkKSkp
OworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCQThfU05PUk0s
ICAgICAgIFJHQkFGb3JtYXQoIDgsICA4LCAgOCwgIDgsIDAsIEdMX1JHQkEsICAgICAgICAgR0xf
QllURSwgICAgICAgICAgICAgICAgICAgICAgICAgR0xfU0lHTkVEX05PUk1BTElaRUQsICAgZmFs
c2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBv
cnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOworICAg
IG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCMTBfQTIsICAgICAgICAg
IFJHQkFGb3JtYXQoMTAsIDEwLCAxMCwgIDIsIDAsIEdMX1JHQkEsICAgICAgICAgR0xfVU5TSUdO
RURfSU5UXzJfMTBfMTBfMTBfUkVWLCAgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgZmFsc2UsIFJl
cXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+
aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCMTBfQTJVSSwgICAgICAgIFJHQkFG
b3JtYXQoMTAsIDEwLCAxMCwgIDIsIDAsIEdMX1JHQkFfSU5URUdFUiwgR0xfVU5TSUdORURfSU5U
XzJfMTBfMTBfMTBfUkVWLCAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgZmFsc2UsIFJlcXVpcmVF
UzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQo
SW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9TUkdCOCwgICAgICAgICAgICAgUkdCQUZvcm1hdCgg
OCwgIDgsICA4LCAgMCwgMCwgR0xfUkdCLCAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAgICAg
ICAgICAgICAgICBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCB0cnVlLCAgUmVxdWlyZUVTT3JFeHQ8
MywgJkV4dGVuc2lvbnM6OnNSR0I+LCAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJu
YWxGb3JtYXRJbmZvUGFpcihHTF9TUkdCOF9BTFBIQTgsICAgICAgUkdCQUZvcm1hdCggOCwgIDgs
ICA4LCAgOCwgMCwgR0xfUkdCQSwgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCAgICAgICAgICAg
ICAgICBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCB0cnVlLCAgUmVxdWlyZUVTT3JFeHQ8MywgJkV4
dGVuc2lvbnM6OnNSR0I+LCAgICAgIFJlcXVpcmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjpzUkdC
PiwgICAgICBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3Jt
YXRJbmZvUGFpcihHTF9SMTFGX0cxMUZfQjEwRiwgICAgUkdCQUZvcm1hdCgxMSwgMTEsIDEwLCAg
MCwgMCwgR0xfUkdCLCAgICAgICAgICBHTF9VTlNJR05FRF9JTlRfMTBGXzExRl8xMUZfUkVWLCBH
TF9GTE9BVCwgICAgICAgICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OmNvbG9yQnVmZmVyRmxvYXQ+
LCBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZv
UGFpcihHTF9SR0I5X0U1LCAgICAgICAgICAgUkdCQUZvcm1hdCggOSwgIDksICA5LCAgMCwgNSwg
R0xfUkdCLCAgICAgICAgICBHTF9VTlNJR05FRF9JTlRfNV85XzlfOV9SRVYsICAgICBHTF9GTE9B
VCwgICAgICAgICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbHdh
eXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihH
TF9SOEksICAgICAgICAgICAgICAgUkdCQUZvcm1hdCggOCwgIDAsICAwLCAgMCwgMCwgR0xfUkVE
X0lOVEVHRVIsICBHTF9CWVRFLCAgICAgICAgICAgICAgICAgICAgICAgICBHTF9JTlQsICAgICAg
ICAgICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBv
cnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1I4VUks
ICAgICAgICAgICAgICBSR0JBRm9ybWF0KCA4LCAgMCwgIDAsICAwLCAwLCBHTF9SRURfSU5URUdF
UiwgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0lOVCwgICAg
ICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVx
dWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkp
OworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUjE2SSwgICAgICAg
ICAgICAgIFJHQkFGb3JtYXQoMTYsICAwLCAgMCwgIDAsIDAsIEdMX1JFRF9JTlRFR0VSLCAgR0xf
U0hPUlQsICAgICAgICAgICAgICAgICAgICAgICAgR0xfSU5ULCAgICAgICAgICAgICAgICAgZmFs
c2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8
Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7CisgICAg
bWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SMTZVSSwgICAgICAgICAgICAg
UkdCQUZvcm1hdCgxNiwgIDAsICAwLCAgMCwgMCwgR0xfUkVEX0lOVEVHRVIsICBHTF9VTlNJR05F
RF9TSE9SVCwgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9JTlQsICAgICAgICBmYWxzZSwgUmVx
dWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzPiwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmlu
c2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1IzMkksICAgICAgICAgICAgICBSR0JBRm9y
bWF0KDMyLCAgMCwgIDAsICAwLCAwLCBHTF9SRURfSU5URUdFUiwgIEdMX0lOVCwgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMX0lOVCwgICAgICAgICAgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8
Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KElu
dGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUjMyVUksICAgICAgICAgICAgIFJHQkFGb3JtYXQoMzIs
ICAwLCAgMCwgIDAsIDAsIEdMX1JFRF9JTlRFR0VSLCAgR0xfVU5TSUdORURfSU5ULCAgICAgICAg
ICAgICAgICAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxG
b3JtYXRJbmZvUGFpcihHTF9SRzhJLCAgICAgICAgICAgICAgUkdCQUZvcm1hdCggOCwgIDgsICAw
LCAgMCwgMCwgR0xfUkdfSU5URUdFUiwgICBHTF9CWVRFLCAgICAgICAgICAgICAgICAgICAgICAg
ICBHTF9JTlQsICAgICAgICAgICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBOZXZlclN1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdElu
Zm9QYWlyKEdMX1JHOFVJLCAgICAgICAgICAgICBSR0JBRm9ybWF0KCA4LCAgOCwgIDAsICAwLCAw
LCBHTF9SR19JTlRFR0VSLCAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgIEdMX1VO
U0lHTkVEX0lOVCwgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5l
dmVyU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIo
R0xfUkcxNkksICAgICAgICAgICAgIFJHQkFGb3JtYXQoMTYsIDE2LCAgMCwgIDAsIDAsIEdMX1JH
X0lOVEVHRVIsICAgR0xfU0hPUlQsICAgICAgICAgICAgICAgICAgICAgICAgR0xfSU5ULCAgICAg
ICAgICAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBw
b3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SRzE2
VUksICAgICAgICAgICAgUkdCQUZvcm1hdCgxNiwgMTYsICAwLCAgMCwgMCwgR0xfUkdfSU5URUdF
UiwgICBHTF9VTlNJR05FRF9TSE9SVCwgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9JTlQsICAg
ICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl
cXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkp
KTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHMzJJLCAgICAg
ICAgICAgICBSR0JBRm9ybWF0KDMyLCAzMiwgIDAsICAwLCAwLCBHTF9SR19JTlRFR0VSLCAgIEdM
X0lOVCwgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX0lOVCwgICAgICAgICAgICAgICAgIGZh
bHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVT
PDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOworICAg
IG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkczMlVJLCAgICAgICAgICAg
IFJHQkFGb3JtYXQoMzIsIDMyLCAgMCwgIDAsIDAsIEdMX1JHX0lOVEVHRVIsICAgR0xfVU5TSUdO
RURfSU5ULCAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgZmFsc2UsIFJl
cXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5p
bnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0I4SSwgICAgICAgICAgICAgUkdCQUZv
cm1hdCggOCwgIDgsICA4LCAgMCwgMCwgR0xfUkdCX0lOVEVHRVIsICBHTF9CWVRFLCAgICAgICAg
ICAgICAgICAgICAgICAgICBHTF9JTlQsICAgICAgICAgICAgICAgICBmYWxzZSwgUmVxdWlyZUVT
PDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJ
bnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHQjhVSSwgICAgICAgICAgICBSR0JBRm9ybWF0KCA4
LCAgOCwgIDgsICAwLCAwLCBHTF9SR0JfSU5URUdFUiwgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAg
ICAgICAgICAgIEdMX1VOU0lHTkVEX0lOVCwgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFs
Rm9ybWF0SW5mb1BhaXIoR0xfUkdCMTZJLCAgICAgICAgICAgIFJHQkFGb3JtYXQoMTYsIDE2LCAx
NiwgIDAsIDAsIEdMX1JHQl9JTlRFR0VSLCAgR0xfU0hPUlQsICAgICAgICAgICAgICAgICAgICAg
ICAgR0xfSU5ULCAgICAgICAgICAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJ
bmZvUGFpcihHTF9SR0IxNlVJLCAgICAgICAgICAgUkdCQUZvcm1hdCgxNiwgMTYsIDE2LCAgMCwg
MCwgR0xfUkdCX0lOVEVHRVIsICBHTF9VTlNJR05FRF9TSE9SVCwgICAgICAgICAgICAgICBHTF9V
TlNJR05FRF9JTlQsICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
ZXZlclN1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWly
KEdMX1JHQjMySSwgICAgICAgICAgICBSR0JBRm9ybWF0KDMyLCAzMiwgMzIsICAwLCAwLCBHTF9S
R0JfSU5URUdFUiwgIEdMX0lOVCwgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX0lOVCwgICAg
ICAgICAgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTmV2ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3Vw
cG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdC
MzJVSSwgICAgICAgICAgIFJHQkFGb3JtYXQoMzIsIDMyLCAzMiwgIDAsIDAsIEdMX1JHQl9JTlRF
R0VSLCAgR0xfVU5TSUdORURfSU5ULCAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfSU5ULCAg
ICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
ZXZlclN1cHBvcnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQp
KSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0JBOEksICAg
ICAgICAgICAgUkdCQUZvcm1hdCggOCwgIDgsICA4LCAgOCwgMCwgR0xfUkdCQV9JTlRFR0VSLCBH
TF9CWVRFLCAgICAgICAgICAgICAgICAgICAgICAgICBHTF9JTlQsICAgICAgICAgICAgICAgICBm
YWxzZSwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVF
UzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkpKTsKKyAg
ICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHQkE4VUksICAgICAgICAg
ICBSR0JBRm9ybWF0KCA4LCAgOCwgIDgsICA4LCAwLCBHTF9SR0JBX0lOVEVHRVIsIEdMX1VOU0lH
TkVEX0JZVEUsICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0lOVCwgICAgICAgIGZhbHNlLCBS
ZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOworICAgIG1hcC0+
aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCQTE2SSwgICAgICAgICAgIFJHQkFG
b3JtYXQoMTYsIDE2LCAxNiwgMTYsIDAsIEdMX1JHQkFfSU5URUdFUiwgR0xfU0hPUlQsICAgICAg
ICAgICAgICAgICAgICAgICAgR0xfSU5ULCAgICAgICAgICAgICAgICAgZmFsc2UsIFJlcXVpcmVF
UzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQo
SW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0JBMTZVSSwgICAgICAgICAgUkdCQUZvcm1hdCgx
NiwgMTYsIDE2LCAxNiwgMCwgR0xfUkdCQV9JTlRFR0VSLCBHTF9VTlNJR05FRF9TSE9SVCwgICAg
ICAgICAgICAgICBHTF9VTlNJR05FRF9JTlQsICAgICAgICBmYWxzZSwgUmVxdWlyZUVTPDM+LCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5h
bEZvcm1hdEluZm9QYWlyKEdMX1JHQkEzMkksICAgICAgICAgICBSR0JBRm9ybWF0KDMyLCAzMiwg
MzIsIDMyLCAwLCBHTF9SR0JBX0lOVEVHRVIsIEdMX0lOVCwgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMX0lOVCwgICAgICAgICAgICAgICAgIGZhbHNlLCBSZXF1aXJlRVM8Mz4sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5ldmVyU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0
SW5mb1BhaXIoR0xfUkdCQTMyVUksICAgICAgICAgIFJHQkFGb3JtYXQoMzIsIDMyLCAzMiwgMzIs
IDAsIEdMX1JHQkFfSU5URUdFUiwgR0xfVU5TSUdORURfSU5ULCAgICAgICAgICAgICAgICAgR0xf
VU5TSUdORURfSU5ULCAgICAgICAgZmFsc2UsIFJlcXVpcmVFUzwzPiwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TmV2ZXJTdXBwb3J0ZWQpKSk7CisKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9Q
YWlyKEdMX0JHUkE4X0VYVCwgICAgICAgICBSR0JBRm9ybWF0KCA4LCAgOCwgIDgsICA4LCAwLCBH
TF9CR1JBX0VYVCwgICAgIEdMX1VOU0lHTkVEX0JZVEUsICAgICAgICAgICAgICAgICAgR0xfVU5T
SUdORURfTk9STUFMSVpFRCwgZmFsc2UsIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVG
b3JtYXRCR1JBODg4OD4sIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVGb3JtYXRCR1JB
ODg4OD4sIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1h
dEluZm9QYWlyKEdMX0JHUkE0X0FOR0xFWCwgICAgICBSR0JBRm9ybWF0KCA0LCAgNCwgIDQsICA0
LCAwLCBHTF9CR1JBX0VYVCwgICAgIEdMX1VOU0lHTkVEX1NIT1JUXzRfNF80XzRfUkVWX0VYVCwg
R0xfVU5TSUdORURfTk9STUFMSVpFRCwgZmFsc2UsIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRl
eHR1cmVGb3JtYXRCR1JBODg4OD4sIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVGb3Jt
YXRCR1JBODg4OD4sIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5h
bEZvcm1hdEluZm9QYWlyKEdMX0JHUjVfQTFfQU5HTEVYLCAgICBSR0JBRm9ybWF0KCA1LCAgNSwg
IDUsICAxLCAwLCBHTF9CR1JBX0VYVCwgICAgIEdMX1VOU0lHTkVEX1NIT1JUXzFfNV81XzVfUkVW
X0VYVCwgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgZmFsc2UsIFJlcXVpcmVFeHQ8JkV4dGVuc2lv
bnM6OnRleHR1cmVGb3JtYXRCR1JBODg4OD4sIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1
cmVGb3JtYXRCR1JBODg4OD4sIEFsd2F5c1N1cHBvcnRlZCkpKTsKIAogICAgIC8vIEZsb2F0aW5n
IHBvaW50IHJlbmRlcmFiaWxpdHkgYW5kIGZpbHRlcmluZyBpcyBwcm92aWRlZCBieSBPRVNfdGV4
dHVyZV9mbG9hdCBhbmQgT0VTX3RleHR1cmVfaGFsZl9mbG9hdAogICAgIC8vICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgSW50ZXJuYWwgZm9ybWF0ICAgICB8ICAgICAgICAgIHwgRCB8
UyB8IEZvcm1hdCAgICAgICAgICAgICB8IFR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgQ29tcCAgIHwgU1JHQiB8ICBUZXh0dXJlIHN1cHBvcnRlZCB8IFJlbmRlcmFibGUg
ICAgICAgICAgICAgICAgICB8IEZpbHRlcmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8CiAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgIHwgICAgICAgICAgfCAgIHwgIHwgICAgICAgICAgICAgICAgICAgIHwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0eXBlICAgfCAgICAgIHwgICAg
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSAgICBtYXAuaW5zZXJ0KElu
dGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUjE2RiwgICAgICAgICAgICAgIFJHQkFGb3JtYXQoMTYs
ICAwLCAgMCwgIDAsIDAsIEdMX1JFRCwgICAgICAgICAgR0xfSEFMRl9GTE9BVCwgICAgICAgICAg
ICAgICAgICAgR0xfRkxPQVQsIGZhbHNlLCBIYWxmRmxvYXRTdXBwb3J0UkcsIEhhbGZGbG9hdFJl
bmRlcmFibGVTdXBwb3J0UkcsIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVIYWxmRmxv
YXRMaW5lYXI+KSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9S
RzE2RiwgICAgICAgICAgICAgUkdCQUZvcm1hdCgxNiwgMTYsICAwLCAgMCwgMCwgR0xfUkcsICAg
ICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgICBHTF9GTE9BVCwgZmFsc2Us
IEhhbGZGbG9hdFN1cHBvcnRSRywgSGFsZkZsb2F0UmVuZGVyYWJsZVN1cHBvcnRSRywgUmVxdWly
ZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUhhbGZGbG9hdExpbmVhcj4pKSk7Ci0gICAgbWFwLmlu
c2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHQjE2RiwgICAgICAgICAgICBSR0JBRm9y
bWF0KDE2LCAxNiwgMTYsICAwLCAwLCBHTF9SR0IsICAgICAgICAgIEdMX0hBTEZfRkxPQVQsICAg
ICAgICAgICAgICAgICAgIEdMX0ZMT0FULCBmYWxzZSwgSGFsZkZsb2F0U3VwcG9ydCwgICBIYWxm
RmxvYXRSZW5kZXJhYmxlU3VwcG9ydCwgICBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJl
SGFsZkZsb2F0TGluZWFyPikpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1Bh
aXIoR0xfUkdCQTE2RiwgICAgICAgICAgIFJHQkFGb3JtYXQoMTYsIDE2LCAxNiwgMTYsIDAsIEdM
X1JHQkEsICAgICAgICAgR0xfSEFMRl9GTE9BVCwgICAgICAgICAgICAgICAgICAgR0xfRkxPQVQs
IGZhbHNlLCBIYWxmRmxvYXRTdXBwb3J0LCAgIEhhbGZGbG9hdFJlbmRlcmFibGVTdXBwb3J0LCAg
IFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVIYWxmRmxvYXRMaW5lYXI+KSkpOwotICAg
IG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SMzJGLCAgICAgICAgICAgICAg
UkdCQUZvcm1hdCgzMiwgIDAsICAwLCAgMCwgMCwgR0xfUkVELCAgICAgICAgICBHTF9GTE9BVCwg
ICAgICAgICAgICAgICAgICAgICAgICBHTF9GTE9BVCwgZmFsc2UsIEZsb2F0U3VwcG9ydFJHLCAg
ICAgRmxvYXRSZW5kZXJhYmxlU3VwcG9ydFJHLCAgICAgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6
dGV4dHVyZUZsb2F0TGluZWFyPiAgICApKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1h
dEluZm9QYWlyKEdMX1JHMzJGLCAgICAgICAgICAgICBSR0JBRm9ybWF0KDMyLCAzMiwgIDAsICAw
LCAwLCBHTF9SRywgICAgICAgICAgIEdMX0ZMT0FULCAgICAgICAgICAgICAgICAgICAgICAgIEdM
X0ZMT0FULCBmYWxzZSwgRmxvYXRTdXBwb3J0UkcsICAgICBGbG9hdFJlbmRlcmFibGVTdXBwb3J0
UkcsICAgICBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlRmxvYXRMaW5lYXI+ICAgICkp
KTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCMzJGLCAgICAg
ICAgICAgIFJHQkFGb3JtYXQoMzIsIDMyLCAzMiwgIDAsIDAsIEdMX1JHQiwgICAgICAgICAgR0xf
RkxPQVQsICAgICAgICAgICAgICAgICAgICAgICAgR0xfRkxPQVQsIGZhbHNlLCBGbG9hdFN1cHBv
cnQsICAgICAgIEZsb2F0UmVuZGVyYWJsZVN1cHBvcnQsICAgICAgIFJlcXVpcmVFeHQ8JkV4dGVu
c2lvbnM6OnRleHR1cmVGbG9hdExpbmVhcj4gICAgKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJu
YWxGb3JtYXRJbmZvUGFpcihHTF9SR0JBMzJGLCAgICAgICAgICAgUkdCQUZvcm1hdCgzMiwgMzIs
IDMyLCAzMiwgMCwgR0xfUkdCQSwgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAg
ICAgICBHTF9GTE9BVCwgZmFsc2UsIEZsb2F0U3VwcG9ydCwgICAgICAgRmxvYXRSZW5kZXJhYmxl
U3VwcG9ydCwgICAgICAgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUZsb2F0TGluZWFy
PiAgICApKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SMTZG
LCAgICAgICAgICAgICAgUkdCQUZvcm1hdCgxNiwgIDAsICAwLCAgMCwgMCwgR0xfUkVELCAgICAg
ICAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgICBHTF9GTE9BVCwgZmFsc2UsIEhh
bGZGbG9hdFN1cHBvcnRSRywgSGFsZkZsb2F0UmVuZGVyYWJsZVN1cHBvcnRSRywgUmVxdWlyZUV4
dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUhhbGZGbG9hdExpbmVhcj4pKSk7CisgICAgbWFwLT5pbnNl
cnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SRzE2RiwgICAgICAgICAgICAgUkdCQUZvcm1h
dCgxNiwgMTYsICAwLCAgMCwgMCwgR0xfUkcsICAgICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICAg
ICAgICAgICAgICAgICBHTF9GTE9BVCwgZmFsc2UsIEhhbGZGbG9hdFN1cHBvcnRSRywgSGFsZkZs
b2F0UmVuZGVyYWJsZVN1cHBvcnRSRywgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUhh
bGZGbG9hdExpbmVhcj4pKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFp
cihHTF9SR0IxNkYsICAgICAgICAgICAgUkdCQUZvcm1hdCgxNiwgMTYsIDE2LCAgMCwgMCwgR0xf
UkdCLCAgICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICAgICAgICAgICAgICAgICBHTF9GTE9BVCwg
ZmFsc2UsIEhhbGZGbG9hdFN1cHBvcnQsICAgSGFsZkZsb2F0UmVuZGVyYWJsZVN1cHBvcnQsICAg
UmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUhhbGZGbG9hdExpbmVhcj4pKSk7CisgICAg
bWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0JBMTZGLCAgICAgICAgICAg
UkdCQUZvcm1hdCgxNiwgMTYsIDE2LCAxNiwgMCwgR0xfUkdCQSwgICAgICAgICBHTF9IQUxGX0ZM
T0FULCAgICAgICAgICAgICAgICAgICBHTF9GTE9BVCwgZmFsc2UsIEhhbGZGbG9hdFN1cHBvcnQs
ICAgSGFsZkZsb2F0UmVuZGVyYWJsZVN1cHBvcnQsICAgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6
dGV4dHVyZUhhbGZGbG9hdExpbmVhcj4pKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3Jt
YXRJbmZvUGFpcihHTF9SMzJGLCAgICAgICAgICAgICAgUkdCQUZvcm1hdCgzMiwgIDAsICAwLCAg
MCwgMCwgR0xfUkVELCAgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAgICAgICBH
TF9GTE9BVCwgZmFsc2UsIEZsb2F0U3VwcG9ydFJHLCAgICAgRmxvYXRSZW5kZXJhYmxlU3VwcG9y
dFJHLCAgICAgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUZsb2F0TGluZWFyPiAgICAp
KSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SRzMyRiwgICAg
ICAgICAgICAgUkdCQUZvcm1hdCgzMiwgMzIsICAwLCAgMCwgMCwgR0xfUkcsICAgICAgICAgICBH
TF9GTE9BVCwgICAgICAgICAgICAgICAgICAgICAgICBHTF9GTE9BVCwgZmFsc2UsIEZsb2F0U3Vw
cG9ydFJHLCAgICAgRmxvYXRSZW5kZXJhYmxlU3VwcG9ydFJHLCAgICAgUmVxdWlyZUV4dDwmRXh0
ZW5zaW9uczo6dGV4dHVyZUZsb2F0TGluZWFyPiAgICApKSk7CisgICAgbWFwLT5pbnNlcnQoSW50
ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0IzMkYsICAgICAgICAgICAgUkdCQUZvcm1hdCgzMiwg
MzIsIDMyLCAgMCwgMCwgR0xfUkdCLCAgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAg
ICAgICAgICBHTF9GTE9BVCwgZmFsc2UsIEZsb2F0U3VwcG9ydCwgICAgICAgRmxvYXRSZW5kZXJh
YmxlU3VwcG9ydCwgICAgICAgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUZsb2F0TGlu
ZWFyPiAgICApKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9S
R0JBMzJGLCAgICAgICAgICAgUkdCQUZvcm1hdCgzMiwgMzIsIDMyLCAzMiwgMCwgR0xfUkdCQSwg
ICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICAgICAgICAgICBHTF9GTE9BVCwgZmFsc2Us
IEZsb2F0U3VwcG9ydCwgICAgICAgRmxvYXRSZW5kZXJhYmxlU3VwcG9ydCwgICAgICAgUmVxdWly
ZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUZsb2F0TGluZWFyPiAgICApKSk7CiAKICAgICAvLyBE
ZXB0aCBzdGVuY2lsIGZvcm1hdHMKICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8IEludGVybmFsIGZvcm1hdCAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8IEQgfFMgfCBY
IHwgRm9ybWF0ICAgICAgICAgICAgfCBUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IENvbXBvbmVudCB0eXBlICAgICAgICB8IFN1cHBvcnRlZCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgUmVuZGVyYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEZpbHRlcmFibGUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxG
b3JtYXRJbmZvUGFpcihHTF9ERVBUSF9DT01QT05FTlQxNiwgICAgIERlcHRoU3RlbmNpbEZvcm1h
dCgxNiwgMCwgIDAsIEdMX0RFUFRIX0NPTVBPTkVOVCwgR0xfVU5TSUdORURfU0hPUlQsICAgICAg
ICAgICAgICAgICBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBSZXF1aXJlRVM8Mj4sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1
aXJlRVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlcz4pKSk7Ci0gICAgbWFwLmlu
c2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0RFUFRIX0NPTVBPTkVOVDI0LCAgICAgRGVw
dGhTdGVuY2lsRm9ybWF0KDI0LCAwLCAgMCwgR0xfREVQVEhfQ09NUE9ORU5ULCBHTF9VTlNJR05F
RF9JTlQsICAgICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIFJlcXVpcmVF
UzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJlcXVpcmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVzPikp
KTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfREVQVEhfQ09NUE9O
RU5UMzJGLCAgICBEZXB0aFN0ZW5jaWxGb3JtYXQoMzIsIDAsICAwLCBHTF9ERVBUSF9DT01QT05F
TlQsIEdMX0ZMT0FULCAgICAgICAgICAgICAgICAgICAgICAgICAgR0xfRkxPQVQsICAgICAgICAg
ICAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1
aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8MywgJkV4dGVuc2lvbnM6OmRl
cHRoVGV4dHVyZXM+KSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihH
TF9ERVBUSF9DT01QT05FTlQzMl9PRVMsIERlcHRoU3RlbmNpbEZvcm1hdCgzMiwgMCwgIDAsIEdM
X0RFUFRIX0NPTVBPTkVOVCwgR0xfVU5TSUdORURfSU5ULCAgICAgICAgICAgICAgICAgICBHTF9V
TlNJR05FRF9OT1JNQUxJWkVELCBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OmRlcHRoVGV4
dHVyZXMsICZFeHRlbnNpb25zOjpkZXB0aDMyPiwgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25z
OjpkZXB0aFRleHR1cmVzLCAmRXh0ZW5zaW9uczo6ZGVwdGgzMj4sIEFsd2F5c1N1cHBvcnRlZCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICApKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZv
cm1hdEluZm9QYWlyKEdMX0RFUFRIMjRfU1RFTkNJTDgsICAgICAgRGVwdGhTdGVuY2lsRm9ybWF0
KDI0LCA4LCAgMCwgR0xfREVQVEhfU1RFTkNJTCwgICBHTF9VTlNJR05FRF9JTlRfMjRfOCwgICAg
ICAgICAgICAgIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIFJlcXVpcmVFU09yRXh0PDMsICZFeHRl
bnNpb25zOjpkZXB0aFRleHR1cmVzPiwgUmVxdWlyZUVTT3JFeHRPckV4dDwzLCAmRXh0ZW5zaW9u
czo6ZGVwdGhUZXh0dXJlcywgJkV4dGVuc2lvbnM6OnBhY2tlZERlcHRoU3RlbmNpbD4sIEFsd2F5
c1N1cHBvcnRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpKTsKLSAgICBtYXAuaW5z
ZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfREVQVEgzMkZfU1RFTkNJTDgsICAgICBEZXB0
aFN0ZW5jaWxGb3JtYXQoMzIsIDgsIDI0LCBHTF9ERVBUSF9TVEVOQ0lMLCAgIEdMX0ZMT0FUXzMy
X1VOU0lHTkVEX0lOVF8yNF84X1JFViwgR0xfRkxPQVQsICAgICAgICAgICAgICAgUmVxdWlyZUVT
PDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQWx3YXlzU3VwcG9ydGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkp
OworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfREVQVEhfQ09NUE9O
RU5UMTYsICAgICBEZXB0aFN0ZW5jaWxGb3JtYXQoMTYsIDAsICAwLCBHTF9ERVBUSF9DT01QT05F
TlQsIEdMX1VOU0lHTkVEX1NIT1JULCAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9STUFM
SVpFRCwgUmVxdWlyZUVTPDI+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1
aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8MywgJkV4dGVuc2lvbnM6OmRl
cHRoVGV4dHVyZXM+KSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIo
R0xfREVQVEhfQ09NUE9ORU5UMjQsICAgICBEZXB0aFN0ZW5jaWxGb3JtYXQoMjQsIDAsICAwLCBH
TF9ERVBUSF9DT01QT05FTlQsIEdMX1VOU0lHTkVEX0lOVCwgICAgICAgICAgICAgICAgICAgR0xf
VU5TSUdORURfTk9STUFMSVpFRCwgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8Mywg
JkV4dGVuc2lvbnM6OmRlcHRoVGV4dHVyZXM+KSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFs
Rm9ybWF0SW5mb1BhaXIoR0xfREVQVEhfQ09NUE9ORU5UMzJGLCAgICBEZXB0aFN0ZW5jaWxGb3Jt
YXQoMzIsIDAsICAwLCBHTF9ERVBUSF9DT01QT05FTlQsIEdMX0ZMT0FULCAgICAgICAgICAgICAg
ICAgICAgICAgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVx
dWlyZUVTT3JFeHQ8MywgJkV4dGVuc2lvbnM6OmRlcHRoVGV4dHVyZXM+KSkpOworICAgIG1hcC0+
aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfREVQVEhfQ09NUE9ORU5UMzJfT0VTLCBE
ZXB0aFN0ZW5jaWxGb3JtYXQoMzIsIDAsICAwLCBHTF9ERVBUSF9DT01QT05FTlQsIEdMX1VOU0lH
TkVEX0lOVCwgICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgUmVxdWly
ZUV4dE9yRXh0PCZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVzLCAmRXh0ZW5zaW9uczo6ZGVwdGgz
Mj4sIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6ZGVwdGhUZXh0dXJlcywgJkV4dGVuc2lv
bnM6OmRlcHRoMzI+LCBBbHdheXNTdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfREVQVEgyNF9T
VEVOQ0lMOCwgICAgICBEZXB0aFN0ZW5jaWxGb3JtYXQoMjQsIDgsICAwLCBHTF9ERVBUSF9TVEVO
Q0lMLCAgIEdMX1VOU0lHTkVEX0lOVF8yNF84LCAgICAgICAgICAgICAgR0xfVU5TSUdORURfTk9S
TUFMSVpFRCwgUmVxdWlyZUVTT3JFeHQ8MywgJkV4dGVuc2lvbnM6OmRlcHRoVGV4dHVyZXM+LCBS
ZXF1aXJlRVNPckV4dE9yRXh0PDMsICZFeHRlbnNpb25zOjpkZXB0aFRleHR1cmVzLCAmRXh0ZW5z
aW9uczo6cGFja2VkRGVwdGhTdGVuY2lsPiwgQWx3YXlzU3VwcG9ydGVkICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1Bh
aXIoR0xfREVQVEgzMkZfU1RFTkNJTDgsICAgICBEZXB0aFN0ZW5jaWxGb3JtYXQoMzIsIDgsIDI0
LCBHTF9ERVBUSF9TVEVOQ0lMLCAgIEdMX0ZMT0FUXzMyX1VOU0lHTkVEX0lOVF8yNF84X1JFViwg
R0xfRkxPQVQsICAgICAgICAgICAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVk
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkpOwogICAgIC8vIFNURU5DSUxfSU5ERVg4
IGlzIHNwZWNpYWwtY2FzZWQsIHNlZSBhcm91bmQgdGhlIGJvdHRvbSBvZiB0aGUgbGlzdC4KIAog
ICAgIC8vIEx1bWluYW5jZSBhbHBoYSBmb3JtYXRzCiAgICAgLy8gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCBJbnRlcm5hbCBmb3JtYXQgICAgICAgICAgfCAgICAgICAgICB8IEwgfCBB
IHwgRm9ybWF0ICAgICAgICAgICAgfCBUeXBlICAgICAgICAgICAgfCBDb21wb25lbnQgdHlwZSAg
ICAgICAgfCBTdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUmVuZGVyYWJsZSAgICB8IEZpbHRlcmFibGUg
ICAgfAotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9BTFBIQThfRVhU
LCAgICAgICAgICAgICBMVU1BRm9ybWF0KCAwLCAgOCwgR0xfQUxQSEEsICAgICAgICAgICBHTF9V
TlNJR05FRF9CWVRFLCBHTF9VTlNJR05FRF9OT1JNQUxJWkVELCBSZXF1aXJlRXh0PCZFeHRlbnNp
b25zOjp0ZXh0dXJlU3RvcmFnZT4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50
ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9MVU1JTkFOQ0U4X0VYVCwgICAgICAgICBMVU1BRm9ybWF0
KCA4LCAgMCwgR0xfTFVNSU5BTkNFLCAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBHTF9VTlNJR05F
RF9OT1JNQUxJWkVELCBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlU3RvcmFnZT4sICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgQWx3YXlz
U3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9B
TFBIQTMyRl9FWFQsICAgICAgICAgICBMVU1BRm9ybWF0KCAwLCAzMiwgR0xfQUxQSEEsICAgICAg
ICAgICBHTF9GTE9BVCwgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICBSZXF1aXJlRXh0
QW5kRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlU3RvcmFnZSwgJkV4dGVuc2lvbnM6OnRleHR1cmVG
bG9hdD4sICAgICBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5p
bnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9MVU1JTkFOQ0UzMkZfRVhULCAgICAgICBM
VU1BRm9ybWF0KDMyLCAgMCwgR0xfTFVNSU5BTkNFLCAgICAgICBHTF9GTE9BVCwgICAgICAgICBH
TF9GTE9BVCwgICAgICAgICAgICAgICBSZXF1aXJlRXh0QW5kRXh0PCZFeHRlbnNpb25zOjp0ZXh0
dXJlU3RvcmFnZSwgJkV4dGVuc2lvbnM6OnRleHR1cmVGbG9hdD4sICAgICBOZXZlclN1cHBvcnRl
ZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZv
UGFpcihHTF9BTFBIQTE2Rl9FWFQsICAgICAgICAgICBMVU1BRm9ybWF0KCAwLCAxNiwgR0xfQUxQ
SEEsICAgICAgICAgICBHTF9IQUxGX0ZMT0FULCAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICBS
ZXF1aXJlRXh0QW5kRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlU3RvcmFnZSwgJkV4dGVuc2lvbnM6
OnRleHR1cmVIYWxmRmxvYXQ+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwot
ICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9MVU1JTkFOQ0UxNkZfRVhU
LCAgICAgICBMVU1BRm9ybWF0KDE2LCAgMCwgR0xfTFVNSU5BTkNFLCAgICAgICBHTF9IQUxGX0ZM
T0FULCAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICBSZXF1aXJlRXh0QW5kRXh0PCZFeHRlbnNp
b25zOjp0ZXh0dXJlU3RvcmFnZSwgJkV4dGVuc2lvbnM6OnRleHR1cmVIYWxmRmxvYXQ+LCBOZXZl
clN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxG
b3JtYXRJbmZvUGFpcihHTF9MVU1JTkFOQ0U4X0FMUEhBOF9FWFQsICBMVU1BRm9ybWF0KCA4LCAg
OCwgR0xfTFVNSU5BTkNFX0FMUEhBLCBHTF9VTlNJR05FRF9CWVRFLCBHTF9VTlNJR05FRF9OT1JN
QUxJWkVELCBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlU3RvcmFnZT4sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9y
dGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9MVU1JTkFO
Q0VfQUxQSEEzMkZfRVhULCBMVU1BRm9ybWF0KDMyLCAzMiwgR0xfTFVNSU5BTkNFX0FMUEhBLCBH
TF9GTE9BVCwgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICBSZXF1aXJlRXh0QW5kRXh0
PCZFeHRlbnNpb25zOjp0ZXh0dXJlU3RvcmFnZSwgJkV4dGVuc2lvbnM6OnRleHR1cmVGbG9hdD4s
ICAgICBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQo
SW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9MVU1JTkFOQ0VfQUxQSEExNkZfRVhULCBMVU1BRm9y
bWF0KDE2LCAxNiwgR0xfTFVNSU5BTkNFX0FMUEhBLCBHTF9IQUxGX0ZMT0FULCAgICBHTF9GTE9B
VCwgICAgICAgICAgICAgICBSZXF1aXJlRXh0QW5kRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlU3Rv
cmFnZSwgJkV4dGVuc2lvbnM6OnRleHR1cmVIYWxmRmxvYXQ+LCBOZXZlclN1cHBvcnRlZCwgQWx3
YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIo
R0xfQUxQSEE4X0VYVCwgICAgICAgICAgICAgTFVNQUZvcm1hdCggMCwgIDgsIEdMX0FMUEhBLCAg
ICAgICAgICAgR0xfVU5TSUdORURfQllURSwgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgUmVxdWly
ZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZVN0b3JhZ2U+LCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBt
YXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0xVTUlOQU5DRThfRVhULCAgICAg
ICAgIExVTUFGb3JtYXQoIDgsICAwLCBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX1VOU0lHTkVEX0JZ
VEUsIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1
cmVTdG9yYWdlPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3Vw
cG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3Jt
YXRJbmZvUGFpcihHTF9BTFBIQTMyRl9FWFQsICAgICAgICAgICBMVU1BRm9ybWF0KCAwLCAzMiwg
R0xfQUxQSEEsICAgICAgICAgICBHTF9GTE9BVCwgICAgICAgICBHTF9GTE9BVCwgICAgICAgICAg
ICAgICBSZXF1aXJlRXh0QW5kRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlU3RvcmFnZSwgJkV4dGVu
c2lvbnM6OnRleHR1cmVGbG9hdD4sICAgICBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVk
KSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfTFVNSU5BTkNF
MzJGX0VYVCwgICAgICAgTFVNQUZvcm1hdCgzMiwgIDAsIEdMX0xVTUlOQU5DRSwgICAgICAgR0xf
RkxPQVQsICAgICAgICAgR0xfRkxPQVQsICAgICAgICAgICAgICAgUmVxdWlyZUV4dEFuZEV4dDwm
RXh0ZW5zaW9uczo6dGV4dHVyZVN0b3JhZ2UsICZFeHRlbnNpb25zOjp0ZXh0dXJlRmxvYXQ+LCAg
ICAgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJ
bnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0FMUEhBMTZGX0VYVCwgICAgICAgICAgIExVTUFGb3Jt
YXQoIDAsIDE2LCBHTF9BTFBIQSwgICAgICAgICAgIEdMX0hBTEZfRkxPQVQsICAgIEdMX0ZMT0FU
LCAgICAgICAgICAgICAgIFJlcXVpcmVFeHRBbmRFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVTdG9y
YWdlLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUhhbGZGbG9hdD4sIE5ldmVyU3VwcG9ydGVkLCBBbHdh
eXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihH
TF9MVU1JTkFOQ0UxNkZfRVhULCAgICAgICBMVU1BRm9ybWF0KDE2LCAgMCwgR0xfTFVNSU5BTkNF
LCAgICAgICBHTF9IQUxGX0ZMT0FULCAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICBSZXF1aXJl
RXh0QW5kRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlU3RvcmFnZSwgJkV4dGVuc2lvbnM6OnRleHR1
cmVIYWxmRmxvYXQ+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1h
cC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfTFVNSU5BTkNFOF9BTFBIQThfRVhU
LCAgTFVNQUZvcm1hdCggOCwgIDgsIEdMX0xVTUlOQU5DRV9BTFBIQSwgR0xfVU5TSUdORURfQllU
RSwgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVy
ZVN0b3JhZ2U+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBw
b3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1h
dEluZm9QYWlyKEdMX0xVTUlOQU5DRV9BTFBIQTMyRl9FWFQsIExVTUFGb3JtYXQoMzIsIDMyLCBH
TF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0ZMT0FULCAgICAgICAgIEdMX0ZMT0FULCAgICAgICAgICAg
ICAgIFJlcXVpcmVFeHRBbmRFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVTdG9yYWdlLCAmRXh0ZW5z
aW9uczo6dGV4dHVyZUZsb2F0PiwgICAgIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQp
KSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9MVU1JTkFOQ0Vf
QUxQSEExNkZfRVhULCBMVU1BRm9ybWF0KDE2LCAxNiwgR0xfTFVNSU5BTkNFX0FMUEhBLCBHTF9I
QUxGX0ZMT0FULCAgICBHTF9GTE9BVCwgICAgICAgICAgICAgICBSZXF1aXJlRXh0QW5kRXh0PCZF
eHRlbnNpb25zOjp0ZXh0dXJlU3RvcmFnZSwgJkV4dGVuc2lvbnM6OnRleHR1cmVIYWxmRmxvYXQ+
LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwogCiAgICAgLy8gVW5zaXplZCBm
b3JtYXRzCiAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBJbnRlcm5hbCBm
b3JtYXQgICB8ICAgICAgICAgICAgIHwgRm9ybWF0ICAgICAgICAgICAgfCBTdXBwb3J0ZWQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUmVuZGVyYWJsZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEZpbHRlcmFibGUgICAgfAotICAgIG1h
cC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9BTFBIQSwgICAgICAgICAgIFVuc2l6
ZWRGb3JtYXQoR0xfQUxQSEEsICAgICAgICAgICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KElu
dGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfTFVNSU5BTkNFLCAgICAgICBVbnNpemVkRm9ybWF0KEdM
X0xVTUlOQU5DRSwgICAgICAgUmVxdWlyZUVTPDI+LCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1h
dEluZm9QYWlyKEdMX0xVTUlOQU5DRV9BTFBIQSwgVW5zaXplZEZvcm1hdChHTF9MVU1JTkFOQ0Vf
QUxQSEEsIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOZXZlclN1cHBvcnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3
YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihH
TF9SRUQsICAgICAgICAgICAgIFVuc2l6ZWRGb3JtYXQoR0xfUkVELCAgICAgICAgICAgICBSZXF1
aXJlRVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6dGV4dHVyZVJHPiwgICAgICAgICAgTmV2ZXJTdXBw
b3J0ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRl
ZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkcsICAgICAg
ICAgICAgICBVbnNpemVkRm9ybWF0KEdMX1JHLCAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8
MywgJkV4dGVuc2lvbnM6OnRleHR1cmVSRz4sICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAg
bWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHQiwgICAgICAgICAgICAgVW5z
aXplZEZvcm1hdChHTF9SR0IsICAgICAgICAgICAgIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQo
SW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0JBLCAgICAgICAgICAgIFVuc2l6ZWRGb3JtYXQo
R0xfUkdCQSwgICAgICAgICAgICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUmVxdWlyZUVTPDI+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9y
bWF0SW5mb1BhaXIoR0xfUkVEX0lOVEVHRVIsICAgICBVbnNpemVkRm9ybWF0KEdMX1JFRF9JTlRF
R0VSLCAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
ZXZlclN1cHBvcnRlZCApKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWly
KEdMX1JHX0lOVEVHRVIsICAgICAgVW5zaXplZEZvcm1hdChHTF9SR19JTlRFR0VSLCAgICAgIFJl
cXVpcmVFUzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1
cHBvcnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0
ZWQgKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0JfSU5U
RUdFUiwgICAgIFVuc2l6ZWRGb3JtYXQoR0xfUkdCX0lOVEVHRVIsICAgICBSZXF1aXJlRVM8Mz4s
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkICkpKTsKLSAg
ICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCQV9JTlRFR0VSLCAgICBV
bnNpemVkRm9ybWF0KEdMX1JHQkFfSU5URUdFUiwgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCApKSk7Ci0gICAgbWFwLmluc2Vy
dChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0JHUkFfRVhULCAgICAgICAgVW5zaXplZEZvcm1h
dChHTF9CR1JBX0VYVCwgICAgICAgIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVGb3Jt
YXRCR1JBODg4OD4sICAgICBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlRm9ybWF0QkdS
QTg4ODg+LCAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxG
b3JtYXRJbmZvUGFpcihHTF9ERVBUSF9DT01QT05FTlQsIFVuc2l6ZWRGb3JtYXQoR0xfREVQVEhf
Q09NUE9ORU5ULCBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUmVxdWlyZUVTPDI+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1Bh
aXIoR0xfREVQVEhfU1RFTkNJTCwgICBVbnNpemVkRm9ybWF0KEdMX0RFUFRIX1NURU5DSUwsICAg
UmVxdWlyZUVTT3JFeHQ8MywgJkV4dGVuc2lvbnM6OnBhY2tlZERlcHRoU3RlbmNpbD4sIFJlcXVp
cmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjpwYWNrZWREZXB0aFN0ZW5jaWw+LCBBbHdheXNTdXBw
b3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1NSR0Jf
RVhULCAgICAgICAgVW5zaXplZEZvcm1hdChHTF9SR0IsICAgICAgICAgICAgIFJlcXVpcmVFU09y
RXh0PDMsICZFeHRlbnNpb25zOjpzUkdCPiwgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOwot
ICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9TUkdCX0FMUEhBX0VYVCwg
IFVuc2l6ZWRGb3JtYXQoR0xfUkdCQSwgICAgICAgICAgICBSZXF1aXJlRVNPckV4dDwzLCAmRXh0
ZW5zaW9uczo6c1JHQj4sICAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8MywgJkV4dGVuc2lv
bnM6OnNSR0I+LCAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmlu
c2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0FMUEhBLCAgICAgICAgICAgVW5zaXplZEZv
cm1hdChHTF9BTFBIQSwgICAgICAgICAgIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVy
bmFsRm9ybWF0SW5mb1BhaXIoR0xfTFVNSU5BTkNFLCAgICAgICBVbnNpemVkRm9ybWF0KEdMX0xV
TUlOQU5DRSwgICAgICAgUmVxdWlyZUVTPDI+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJ
bmZvUGFpcihHTF9MVU1JTkFOQ0VfQUxQSEEsIFVuc2l6ZWRGb3JtYXQoR0xfTFVNSU5BTkNFX0FM
UEhBLCBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TmV2ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsd2F5
c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdM
X1JFRCwgICAgICAgICAgICAgVW5zaXplZEZvcm1hdChHTF9SRUQsICAgICAgICAgICAgIFJlcXVp
cmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjp0ZXh0dXJlUkc+LCAgICAgICAgICBOZXZlclN1cHBv
cnRlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVk
KSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkcsICAgICAg
ICAgICAgICBVbnNpemVkRm9ybWF0KEdMX1JHLCAgICAgICAgICAgICAgUmVxdWlyZUVTT3JFeHQ8
MywgJkV4dGVuc2lvbnM6OnRleHR1cmVSRz4sICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAg
bWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9SR0IsICAgICAgICAgICAgIFVu
c2l6ZWRGb3JtYXQoR0xfUkdCLCAgICAgICAgICAgICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZUVTPDI+LCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2Vy
dChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JHQkEsICAgICAgICAgICAgVW5zaXplZEZvcm1h
dChHTF9SR0JBLCAgICAgICAgICAgIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFs
Rm9ybWF0SW5mb1BhaXIoR0xfUkVEX0lOVEVHRVIsICAgICBVbnNpemVkRm9ybWF0KEdMX1JFRF9J
TlRFR0VSLCAgICAgUmVxdWlyZUVTPDM+LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOZXZlclN1cHBvcnRlZCApKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZv
UGFpcihHTF9SR19JTlRFR0VSLCAgICAgIFVuc2l6ZWRGb3JtYXQoR0xfUkdfSU5URUdFUiwgICAg
ICBSZXF1aXJlRVM8Mz4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2
ZXJTdXBwb3J0ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3Vw
cG9ydGVkICkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1JH
Ql9JTlRFR0VSLCAgICAgVW5zaXplZEZvcm1hdChHTF9SR0JfSU5URUdFUiwgICAgIFJlcXVpcmVF
UzwzPiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRl
ZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV2ZXJTdXBwb3J0ZWQgKSkp
OworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfUkdCQV9JTlRFR0VS
LCAgICBVbnNpemVkRm9ybWF0KEdMX1JHQkFfSU5URUdFUiwgICAgUmVxdWlyZUVTPDM+LCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldmVyU3VwcG9ydGVkLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXZlclN1cHBvcnRlZCApKSk7CisgICAgbWFw
LT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9CR1JBX0VYVCwgICAgICAgIFVuc2l6
ZWRGb3JtYXQoR0xfQkdSQV9FWFQsICAgICAgICBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjp0ZXh0
dXJlRm9ybWF0QkdSQTg4ODg+LCAgICAgUmVxdWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUZv
cm1hdEJHUkE4ODg4PiwgICAgIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJ
bnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0RFUFRIX0NPTVBPTkVOVCwgVW5zaXplZEZvcm1hdChH
TF9ERVBUSF9DT01QT05FTlQsIFJlcXVpcmVFUzwyPiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZXF1aXJlRVM8Mj4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9y
bWF0SW5mb1BhaXIoR0xfREVQVEhfU1RFTkNJTCwgICBVbnNpemVkRm9ybWF0KEdMX0RFUFRIX1NU
RU5DSUwsICAgUmVxdWlyZUVTT3JFeHQ8MywgJkV4dGVuc2lvbnM6OnBhY2tlZERlcHRoU3RlbmNp
bD4sIFJlcXVpcmVFU09yRXh0PDMsICZFeHRlbnNpb25zOjpwYWNrZWREZXB0aFN0ZW5jaWw+LCBB
bHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFp
cihHTF9TUkdCX0VYVCwgICAgICAgIFVuc2l6ZWRGb3JtYXQoR0xfUkdCLCAgICAgICAgICAgICBS
ZXF1aXJlRVNPckV4dDwzLCAmRXh0ZW5zaW9uczo6c1JHQj4sICAgICAgICAgICAgICAgTmV2ZXJT
dXBwb3J0ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsd2F5c1N1cHBv
cnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX1NSR0Jf
QUxQSEFfRVhULCAgVW5zaXplZEZvcm1hdChHTF9SR0JBLCAgICAgICAgICAgIFJlcXVpcmVFU09y
RXh0PDMsICZFeHRlbnNpb25zOjpzUkdCPiwgICAgICAgICAgICAgICBSZXF1aXJlRVNPckV4dDwz
LCAmRXh0ZW5zaW9uczo6c1JHQj4sICAgICAgICAgICAgICAgQWx3YXlzU3VwcG9ydGVkKSkpOwog
CiAgICAgLy8gQ29tcHJlc3NlZCBmb3JtYXRzLCBGcm9tIEVTIDMuMC4xIHNwZWMsIHRhYmxlIDMu
MTYKICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEludGVybmFsIGZvcm1h
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICB8VyB8SCB8IEJT
IHxDQ3wgRm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFR5cGUg
ICAgICAgICAgICB8IFNSR0IgfCBTdXBwb3J0ZWQgICB8IFJlbmRlcmFibGUgICAgfCBGaWx0ZXJh
YmxlICAgIHwKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJF
U1NFRF9SMTFfRUFDLCAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoNCwg
NCwgIDY0LCAxLCBHTF9DT01QUkVTU0VEX1IxMV9FQUMsICAgICAgICAgICAgICAgICAgICAgICAg
R0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFUzwzPiwgTmV2ZXJTdXBwb3J0ZWQsIEFs
d2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIo
R0xfQ09NUFJFU1NFRF9TSUdORURfUjExX0VBQywgICAgICAgICAgICAgICAgIENvbXByZXNzZWRG
b3JtYXQoNCwgNCwgIDY0LCAxLCBHTF9DT01QUkVTU0VEX1NJR05FRF9SMTFfRUFDLCAgICAgICAg
ICAgICAgICAgR0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFUzwzPiwgTmV2ZXJTdXBw
b3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0
SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SRzExX0VBQywgICAgICAgICAgICAgICAgICAgICAgIENv
bXByZXNzZWRGb3JtYXQoNCwgNCwgMTI4LCAyLCBHTF9DT01QUkVTU0VEX1JHMTFfRUFDLCAgICAg
ICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFUzwzPiwg
TmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVy
bmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9TSUdORURfUkcxMV9FQUMsICAgICAgICAg
ICAgICAgIENvbXByZXNzZWRGb3JtYXQoNCwgNCwgMTI4LCAyLCBHTF9DT01QUkVTU0VEX1NJR05F
RF9SRzExX0VBQywgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVp
cmVFUzwzPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5z
ZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0I4X0VUQzIsICAgICAg
ICAgICAgICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoNCwgNCwgIDY0LCAzLCBHTF9DT01QUkVT
U0VEX1JHQjhfRVRDMiwgICAgICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgZmFs
c2UsIFJlcXVpcmVFUzwzPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAg
ICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9F
VEMyLCAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoNCwgNCwgIDY0LCAzLCBH
TF9DT01QUkVTU0VEX1NSR0I4X0VUQzIsICAgICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURf
QllURSwgdHJ1ZSwgIFJlcXVpcmVFUzwzPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRl
ZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NF
RF9SR0I4X1BVTkNIVEhST1VHSF9BTFBIQTFfRVRDMiwgIENvbXByZXNzZWRGb3JtYXQoNCwgNCwg
IDY0LCAzLCBHTF9DT01QUkVTU0VEX1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9FVEMyLCAgR0xf
VU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFUzwzPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5
c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xf
Q09NUFJFU1NFRF9TUkdCOF9QVU5DSFRIUk9VR0hfQUxQSEExX0VUQzIsIENvbXByZXNzZWRGb3Jt
YXQoNCwgNCwgIDY0LCAzLCBHTF9DT01QUkVTU0VEX1NSR0I4X1BVTkNIVEhST1VHSF9BTFBIQTFf
RVRDMiwgR0xfVU5TSUdORURfQllURSwgdHJ1ZSwgIFJlcXVpcmVFUzwzPiwgTmV2ZXJTdXBwb3J0
ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5m
b1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBOF9FVEMyX0VBQywgICAgICAgICAgICAgICAgIENvbXBy
ZXNzZWRGb3JtYXQoNCwgNCwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1JHQkE4X0VUQzJfRUFDLCAg
ICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFUzwzPiwgTmV2
ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFs
Rm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfRVRDMl9FQUMsICAgICAg
ICAgIENvbXByZXNzZWRGb3JtYXQoNCwgNCwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1NSR0I4X0FM
UEhBOF9FVEMyX0VBQywgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgdHJ1ZSwgIFJlcXVpcmVF
UzwzPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2Vy
dChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUjExX0VBQywgICAgICAgICAg
ICAgICAgICAgICAgICBDb21wcmVzc2VkRm9ybWF0KDQsIDQsICA2NCwgMSwgR0xfQ09NUFJFU1NF
RF9SMTFfRUFDLCAgICAgICAgICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNl
LCBSZXF1aXJlRVM8Mz4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAg
bWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1NJR05FRF9S
MTFfRUFDLCAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZEZvcm1hdCg0LCA0LCAgNjQsIDEsIEdM
X0NPTVBSRVNTRURfU0lHTkVEX1IxMV9FQUMsICAgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9C
WVRFLCBmYWxzZSwgUmVxdWlyZUVTPDM+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVk
KSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NF
RF9SRzExX0VBQywgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoNCwgNCwg
MTI4LCAyLCBHTF9DT01QUkVTU0VEX1JHMTFfRUFDLCAgICAgICAgICAgICAgICAgICAgICAgR0xf
VU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFUzwzPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5
c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdM
X0NPTVBSRVNTRURfU0lHTkVEX1JHMTFfRUFDLCAgICAgICAgICAgICAgICBDb21wcmVzc2VkRm9y
bWF0KDQsIDQsIDEyOCwgMiwgR0xfQ09NUFJFU1NFRF9TSUdORURfUkcxMV9FQUMsICAgICAgICAg
ICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRVM8Mz4sIE5ldmVyU3VwcG9y
dGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJ
bmZvUGFpcihHTF9DT01QUkVTU0VEX1JHQjhfRVRDMiwgICAgICAgICAgICAgICAgICAgICAgQ29t
cHJlc3NlZEZvcm1hdCg0LCA0LCAgNjQsIDMsIEdMX0NPTVBSRVNTRURfUkdCOF9FVEMyLCAgICAg
ICAgICAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWlyZUVTPDM+LCBO
ZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVy
bmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9FVEMyLCAgICAgICAgICAgICAg
ICAgICAgIENvbXByZXNzZWRGb3JtYXQoNCwgNCwgIDY0LCAzLCBHTF9DT01QUkVTU0VEX1NSR0I4
X0VUQzIsICAgICAgICAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgdHJ1ZSwgIFJlcXVp
cmVFUzwzPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmlu
c2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUkdCOF9QVU5DSFRIUk9V
R0hfQUxQSEExX0VUQzIsICBDb21wcmVzc2VkRm9ybWF0KDQsIDQsICA2NCwgMywgR0xfQ09NUFJF
U1NFRF9SR0I4X1BVTkNIVEhST1VHSF9BTFBIQTFfRVRDMiwgIEdMX1VOU0lHTkVEX0JZVEUsIGZh
bHNlLCBSZXF1aXJlRVM8Mz4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7Cisg
ICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1NSR0I4
X1BVTkNIVEhST1VHSF9BTFBIQTFfRVRDMiwgQ29tcHJlc3NlZEZvcm1hdCg0LCA0LCAgNjQsIDMs
IEdMX0NPTVBSRVNTRURfU1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9FVEMyLCBHTF9VTlNJR05F
RF9CWVRFLCB0cnVlLCAgUmVxdWlyZUVTPDM+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9y
dGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJF
U1NFRF9SR0JBOF9FVEMyX0VBQywgICAgICAgICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoNCwg
NCwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1JHQkE4X0VUQzJfRUFDLCAgICAgICAgICAgICAgICAg
R0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFUzwzPiwgTmV2ZXJTdXBwb3J0ZWQsIEFs
d2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWly
KEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0VUQzJfRUFDLCAgICAgICAgICBDb21wcmVzc2Vk
Rm9ybWF0KDQsIDQsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfRVRDMl9FQUMs
ICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIHRydWUsICBSZXF1aXJlRVM8Mz4sIE5ldmVyU3Vw
cG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7CiAKICAgICAvLyBGcm9tIEdMX0VYVF90ZXh0dXJl
X2NvbXByZXNzaW9uX2R4dDEKICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IEludGVybmFsIGZvcm1hdCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIHxXIHxI
IHwgQlMgfENDfCBGb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBUeXBlICAgICAg
ICAgICAgfCBTUkdCIHwgU3VwcG9ydGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IFJlbmRlcmFibGUgICAgfCBGaWx0ZXJhYmxlICAgIHwKLSAgICBtYXAuaW5zZXJ0
KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVCwg
ICAgQ29tcHJlc3NlZEZvcm1hdCg0LCA0LCAgNjQsIDMsIEdMX0NPTVBSRVNTRURfUkdCX1MzVENf
RFhUMV9FWFQsICAgIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0PCZFeHRlbnNp
b25zOjp0ZXh0dXJlQ29tcHJlc3Npb25EWFQxPiwgICAgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1
cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09N
UFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQsICAgQ29tcHJlc3NlZEZvcm1hdCg0LCA0LCAgNjQs
IDQsIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhULCAgIEdMX1VOU0lHTkVEX0JZVEUs
IGZhbHNlLCBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25EWFQxPiwg
ICAgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJ
bnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQsICAg
IENvbXByZXNzZWRGb3JtYXQoNCwgNCwgIDY0LCAzLCBHTF9DT01QUkVTU0VEX1JHQl9TM1RDX0RY
VDFfRVhULCAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWlyZUV4dDwmRXh0ZW5zaW9u
czo6dGV4dHVyZUNvbXByZXNzaW9uRFhUMT4sICAgIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBw
b3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01Q
UkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVCwgICBDb21wcmVzc2VkRm9ybWF0KDQsIDQsICA2NCwg
NCwgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQsICAgR0xfVU5TSUdORURfQllURSwg
ZmFsc2UsIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkRYVDE+LCAg
ICBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwogCiAgICAgLy8gRnJvbSBHTF9B
TkdMRV90ZXh0dXJlX2NvbXByZXNzaW9uX2R4dDMKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9y
bWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUM19BTkdMRSwgQ29tcHJlc3Nl
ZEZvcm1hdCg0LCA0LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfQU5HTEUs
IEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJl
Q29tcHJlc3Npb25EWFQ1PiwgICAgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsK
KyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUkdC
QV9TM1RDX0RYVDNfQU5HTEUsIENvbXByZXNzZWRGb3JtYXQoNCwgNCwgMTI4LCA0LCBHTF9DT01Q
UkVTU0VEX1JHQkFfUzNUQ19EWFQzX0FOR0xFLCBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVx
dWlyZUV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uRFhUNT4sICAgIE5ldmVyU3Vw
cG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7CiAKICAgICAvLyBGcm9tIEdMX0FOR0xFX3RleHR1
cmVfY29tcHJlc3Npb25fZHh0NQotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFp
cihHTF9DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQ1X0FOR0xFLCBDb21wcmVzc2VkRm9ybWF0KDQs
IDQsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9BTkdMRSwgR0xfVU5TSUdO
RURfQllURSwgZmFsc2UsIFJlcXVpcmVFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lv
bkRYVDU+LCAgICBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+
aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhU
NV9BTkdMRSwgQ29tcHJlc3NlZEZvcm1hdCg0LCA0LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfUkdC
QV9TM1RDX0RYVDVfQU5HTEUsIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0PCZF
eHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25EWFQ1PiwgICAgTmV2ZXJTdXBwb3J0ZWQsIEFs
d2F5c1N1cHBvcnRlZCkpKTsKIAogICAgIC8vIEZyb20gR0xfT0VTX2NvbXByZXNzZWRfRVRDMV9S
R0I4X3RleHR1cmUKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfRVRD
MV9SR0I4X09FUywgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZEZvcm1hdCg0LCA0LCAgNjQs
IDMsIEdMX0VUQzFfUkdCOF9PRVMsICAgICAgICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUs
IGZhbHNlLCBSZXF1aXJlRXh0PCZFeHRlbnNpb25zOjpjb21wcmVzc2VkRVRDMVJHQjhUZXh0dXJl
PiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJ
bnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0VUQzFfUkdCOF9PRVMsICAgICAgICAgICAgICAgICAg
IENvbXByZXNzZWRGb3JtYXQoNCwgNCwgIDY0LCAzLCBHTF9FVEMxX1JHQjhfT0VTLCAgICAgICAg
ICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWlyZUV4dDwmRXh0ZW5zaW9u
czo6Y29tcHJlc3NlZEVUQzFSR0I4VGV4dHVyZT4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBw
b3J0ZWQpKSk7CiAKICAgICAvLyBGcm9tIEtIUl90ZXh0dXJlX2NvbXByZXNzaW9uX2FzdGNfaGRy
CiAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBJbnRlcm5hbCBmb3JtYXQg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCBXIHwgSCB8IEJTIHxD
Q3wgRm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFR5cGUgICAgICAg
ICAgICB8IFNSR0IgfCBTdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBSZW5k
ZXJhYmxlICAgICB8IEZpbHRlcmFibGUgICAgfAotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3Jt
YXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1JHQkFfQVNUQ180eDRfS0hSLCAgICAgICAgICAgQ29t
cHJlc3NlZEZvcm1hdCggNCwgIDQsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfNHg0
X0tIUiwgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0T3JFeHQ8
JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0
dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkp
KTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9S
R0JBX0FTVENfNXg0X0tIUiwgICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoIDUsICA0LCAxMjgs
IDQsIEdMX0NPTVBSRVNTRURfUkdCQV9BU1RDXzV4NF9LSFIsICAgICAgICAgICBHTF9VTlNJR05F
RF9CWVRFLCBmYWxzZSwgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJl
c3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5l
dmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5h
bEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUkdCQV9BU1RDXzV4NV9LSFIsICAgICAgICAg
ICBDb21wcmVzc2VkRm9ybWF0KCA1LCAgNSwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1JHQkFfQVNU
Q181eDVfS0hSLCAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFeHRP
ckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6
OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9y
dGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVT
U0VEX1JHQkFfQVNUQ182eDVfS0hSLCAgICAgICAgICAgQ29tcHJlc3NlZEZvcm1hdCggNiwgIDUs
IDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfNng1X0tIUiwgICAgICAgICAgIEdMX1VO
U0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVD
b21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERS
PiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KElu
dGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfNng2X0tIUiwgICAg
ICAgICAgIENvbXByZXNzZWRGb3JtYXQoIDYsICA2LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfUkdC
QV9BU1RDXzZ4Nl9LSFIsICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWly
ZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5z
aW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNT
dXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NP
TVBSRVNTRURfUkdCQV9BU1RDXzh4NV9LSFIsICAgICAgICAgICBDb21wcmVzc2VkRm9ybWF0KCA4
LCAgNSwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1JHQkFfQVNUQ184eDVfS0hSLCAgICAgICAgICAg
R0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4
dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFT
VENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNl
cnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1JHQkFfQVNUQ184eDZfS0hS
LCAgICAgICAgICAgQ29tcHJlc3NlZEZvcm1hdCggOCwgIDYsIDEyOCwgNCwgR0xfQ09NUFJFU1NF
RF9SR0JBX0FTVENfOHg2X0tIUiwgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBS
ZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZF
eHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFs
d2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIo
R0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfOHg4X0tIUiwgICAgICAgICAgIENvbXByZXNzZWRGb3Jt
YXQoIDgsICA4LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfUkdCQV9BU1RDXzh4OF9LSFIsICAgICAg
ICAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25z
Ojp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNz
aW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFw
Lmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUkdCQV9BU1RDXzEw
eDVfS0hSLCAgICAgICAgICBDb21wcmVzc2VkRm9ybWF0KDEwLCAgNSwgMTI4LCA0LCBHTF9DT01Q
UkVTU0VEX1JHQkFfQVNUQ18xMHg1X0tIUiwgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgZmFs
c2UsIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hE
UiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRl
ZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZv
UGFpcihHTF9DT01QUkVTU0VEX1JHQkFfQVNUQ18xMHg2X0tIUiwgICAgICAgICAgQ29tcHJlc3Nl
ZEZvcm1hdCgxMCwgIDYsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfMTB4Nl9LSFIs
ICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVu
c2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29t
cHJlc3Npb25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAg
ICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX0FT
VENfMTB4OF9LSFIsICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoMTAsICA4LCAxMjgsIDQsIEdM
X0NPTVBSRVNTRURfUkdCQV9BU1RDXzEweDhfS0hSLCAgICAgICAgICBHTF9VTlNJR05FRF9CWVRF
LCBmYWxzZSwgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25B
U1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3Vw
cG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1h
dEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUkdCQV9BU1RDXzEweDEwX0tIUiwgICAgICAgICBDb21w
cmVzc2VkRm9ybWF0KDEwLCAxMCwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1JHQkFfQVNUQ18xMHgx
MF9LSFIsICAgICAgICAgR0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFeHRPckV4dDwm
RXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1
cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkp
OwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1JH
QkFfQVNUQ18xMngxMF9LSFIsICAgICAgICAgQ29tcHJlc3NlZEZvcm1hdCgxMiwgMTAsIDEyOCwg
NCwgR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfMTJ4MTBfS0hSLCAgICAgICAgIEdMX1VOU0lHTkVE
X0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVz
c2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2
ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFs
Rm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfMTJ4MTJfS0hSLCAgICAgICAg
IENvbXByZXNzZWRGb3JtYXQoMTIsIDEyLCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfUkdCQV9BU1RD
XzEyeDEyX0tIUiwgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWlyZUV4dE9y
RXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6
dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0
ZWQpKSk7Ci0KLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJF
U1NFRF9TUkdCOF9BTFBIQThfQVNUQ180eDRfS0hSLCAgIENvbXByZXNzZWRGb3JtYXQoIDQsICA0
LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENfNHg0X0tIUiwgICBHTF9V
TlNJR05FRF9CWVRFLCB0cnVlLCAgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJl
Q29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xE
Uj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJ
bnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENfNXg0
X0tIUiwgICBDb21wcmVzc2VkRm9ybWF0KCA1LCAgNCwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1NS
R0I4X0FMUEhBOF9BU1RDXzV4NF9LSFIsICAgR0xfVU5TSUdORURfQllURSwgdHJ1ZSwgIFJlcXVp
cmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVu
c2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlz
U3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9D
T01QUkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzV4NV9LSFIsICAgQ29tcHJlc3NlZEZvcm1hdCgg
NSwgIDUsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ181eDVfS0hSLCAg
IEdMX1VOU0lHTkVEX0JZVEUsIHRydWUsICBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRl
eHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25B
U1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5z
ZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNU
Q182eDVfS0hSLCAgIENvbXByZXNzZWRGb3JtYXQoIDYsICA1LCAxMjgsIDQsIEdMX0NPTVBSRVNT
RURfU1JHQjhfQUxQSEE4X0FTVENfNng1X0tIUiwgICBHTF9VTlNJR05FRF9CWVRFLCB0cnVlLCAg
UmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAm
RXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBB
bHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWly
KEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENfNng2X0tIUiwgICBDb21wcmVzc2VkRm9y
bWF0KCA2LCAgNiwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzZ4Nl9L
SFIsICAgR0xfVU5TSUdORURfQllURSwgdHJ1ZSwgIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9u
czo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVz
c2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1h
cC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1NSR0I4X0FMUEhB
OF9BU1RDXzh4NV9LSFIsICAgQ29tcHJlc3NlZEZvcm1hdCggOCwgIDUsIDEyOCwgNCwgR0xfQ09N
UFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ184eDVfS0hSLCAgIEdMX1VOU0lHTkVEX0JZVEUsIHRy
dWUsICBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENI
RFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0
ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5m
b1BhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ184eDZfS0hSLCAgIENvbXByZXNz
ZWRGb3JtYXQoIDgsICA2LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENf
OHg2X0tIUiwgICBHTF9VTlNJR05FRF9CWVRFLCB0cnVlLCAgUmVxdWlyZUV4dE9yRXh0PCZFeHRl
bnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNv
bXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0g
ICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfU1JHQjhf
QUxQSEE4X0FTVENfOHg4X0tIUiwgICBDb21wcmVzc2VkRm9ybWF0KCA4LCAgOCwgMTI4LCA0LCBH
TF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzh4OF9LSFIsICAgR0xfVU5TSUdORURfQllU
RSwgdHJ1ZSwgIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9u
QVNUQ0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1
cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3Jt
YXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzEweDVfS0hSLCAgQ29t
cHJlc3NlZEZvcm1hdCgxMCwgIDUsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThf
QVNUQ18xMHg1X0tIUiwgIEdMX1VOU0lHTkVEX0JZVEUsIHRydWUsICBSZXF1aXJlRXh0T3JFeHQ8
JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0
dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkp
KTsKLSAgICBtYXAuaW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9T
UkdCOF9BTFBIQThfQVNUQ18xMHg2X0tIUiwgIENvbXByZXNzZWRGb3JtYXQoMTAsICA2LCAxMjgs
IDQsIEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENfMTB4Nl9LSFIsICBHTF9VTlNJR05F
RF9CWVRFLCB0cnVlLCAgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJl
c3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5l
dmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5h
bEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENfMTB4OF9LSFIs
ICBDb21wcmVzc2VkRm9ybWF0KDEwLCAgOCwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1NSR0I4X0FM
UEhBOF9BU1RDXzEweDhfS0hSLCAgR0xfVU5TSUdORURfQllURSwgdHJ1ZSwgIFJlcXVpcmVFeHRP
ckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6
OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9y
dGVkKSkpOwotICAgIG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVT
U0VEX1NSR0I4X0FMUEhBOF9BU1RDXzEweDEwX0tIUiwgQ29tcHJlc3NlZEZvcm1hdCgxMCwgMTAs
IDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ18xMHgxMF9LSFIsIEdMX1VO
U0lHTkVEX0JZVEUsIHRydWUsICBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVD
b21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERS
PiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKLSAgICBtYXAuaW5zZXJ0KElu
dGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ18xMngx
MF9LSFIsIENvbXByZXNzZWRGb3JtYXQoMTIsIDEwLCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfU1JH
QjhfQUxQSEE4X0FTVENfMTJ4MTBfS0hSLCBHTF9VTlNJR05FRF9CWVRFLCB0cnVlLCAgUmVxdWly
ZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5z
aW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNT
dXBwb3J0ZWQpKSk7Ci0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NP
TVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENfMTJ4MTJfS0hSLCBDb21wcmVzc2VkRm9ybWF0KDEy
LCAxMiwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzEyeDEyX0tIUiwg
R0xfVU5TSUdORURfQllURSwgdHJ1ZSwgIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4
dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFT
VENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5z
ZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfNHg0X0tI
UiwgICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoIDQsICA0LCAxMjgsIDQsIEdMX0NPTVBSRVNT
RURfUkdCQV9BU1RDXzR4NF9LSFIsICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwg
UmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAm
RXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBB
bHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFp
cihHTF9DT01QUkVTU0VEX1JHQkFfQVNUQ181eDRfS0hSLCAgICAgICAgICAgQ29tcHJlc3NlZEZv
cm1hdCggNSwgIDQsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfNXg0X0tIUiwgICAg
ICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lv
bnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJl
c3Npb25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBt
YXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUkdCQV9BU1RD
XzV4NV9LSFIsICAgICAgICAgICBDb21wcmVzc2VkRm9ybWF0KCA1LCAgNSwgMTI4LCA0LCBHTF9D
T01QUkVTU0VEX1JHQkFfQVNUQ181eDVfS0hSLCAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwg
ZmFsc2UsIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNU
Q0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBv
cnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0
SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfNng1X0tIUiwgICAgICAgICAgIENvbXBy
ZXNzZWRGb3JtYXQoIDYsICA1LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfUkdCQV9BU1RDXzZ4NV9L
SFIsICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWlyZUV4dE9yRXh0PCZF
eHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVy
ZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7
CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1JH
QkFfQVNUQ182eDZfS0hSLCAgICAgICAgICAgQ29tcHJlc3NlZEZvcm1hdCggNiwgIDYsIDEyOCwg
NCwgR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfNng2X0tIUiwgICAgICAgICAgIEdMX1VOU0lHTkVE
X0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVz
c2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2
ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5h
bEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUkdCQV9BU1RDXzh4NV9LSFIsICAgICAgICAg
ICBDb21wcmVzc2VkRm9ybWF0KCA4LCAgNSwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1JHQkFfQVNU
Q184eDVfS0hSLCAgICAgICAgICAgR0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFeHRP
ckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6
OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9y
dGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJF
U1NFRF9SR0JBX0FTVENfOHg2X0tIUiwgICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoIDgsICA2
LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfUkdCQV9BU1RDXzh4Nl9LSFIsICAgICAgICAgICBHTF9V
TlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJl
Q29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xE
Uj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQo
SW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1JHQkFfQVNUQ184eDhfS0hSLCAg
ICAgICAgICAgQ29tcHJlc3NlZEZvcm1hdCggOCwgIDgsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9S
R0JBX0FTVENfOHg4X0tIUiwgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1
aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRl
bnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5
c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdM
X0NPTVBSRVNTRURfUkdCQV9BU1RDXzEweDVfS0hSLCAgICAgICAgICBDb21wcmVzc2VkRm9ybWF0
KDEwLCAgNSwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1JHQkFfQVNUQ18xMHg1X0tIUiwgICAgICAg
ICAgR0xfVU5TSUdORURfQllURSwgZmFsc2UsIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6
dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lv
bkFTVENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+
aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfMTB4
Nl9LSFIsICAgICAgICAgIENvbXByZXNzZWRGb3JtYXQoMTAsICA2LCAxMjgsIDQsIEdMX0NPTVBS
RVNTRURfUkdCQV9BU1RDXzEweDZfS0hSLCAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxz
ZSwgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERS
LCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVk
LCBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZv
UGFpcihHTF9DT01QUkVTU0VEX1JHQkFfQVNUQ18xMHg4X0tIUiwgICAgICAgICAgQ29tcHJlc3Nl
ZEZvcm1hdCgxMCwgIDgsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfMTB4OF9LSFIs
ICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVu
c2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29t
cHJlc3Npb25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAg
ICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfUkdCQV9B
U1RDXzEweDEwX0tIUiwgICAgICAgICBDb21wcmVzc2VkRm9ybWF0KDEwLCAxMCwgMTI4LCA0LCBH
TF9DT01QUkVTU0VEX1JHQkFfQVNUQ18xMHgxMF9LSFIsICAgICAgICAgR0xfVU5TSUdORURfQllU
RSwgZmFsc2UsIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9u
QVNUQ0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1
cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9y
bWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfMTJ4MTBfS0hSLCAgICAgICAgIENv
bXByZXNzZWRGb3JtYXQoMTIsIDEwLCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfUkdCQV9BU1RDXzEy
eDEwX0tIUiwgICAgICAgICBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWlyZUV4dE9yRXh0
PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4
dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQp
KSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VE
X1JHQkFfQVNUQ18xMngxMl9LSFIsICAgICAgICAgQ29tcHJlc3NlZEZvcm1hdCgxMiwgMTIsIDEy
OCwgNCwgR0xfQ09NUFJFU1NFRF9SR0JBX0FTVENfMTJ4MTJfS0hSLCAgICAgICAgIEdMX1VOU0lH
TkVEX0JZVEUsIGZhbHNlLCBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21w
cmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERSPiwg
TmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKworICAgIG1hcC0+aW5zZXJ0KElu
dGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ180eDRf
S0hSLCAgIENvbXByZXNzZWRGb3JtYXQoIDQsICA0LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfU1JH
QjhfQUxQSEE4X0FTVENfNHg0X0tIUiwgICBHTF9VTlNJR05FRF9CWVRFLCB0cnVlLCAgUmVxdWly
ZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5z
aW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNT
dXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9D
T01QUkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzV4NF9LSFIsICAgQ29tcHJlc3NlZEZvcm1hdCgg
NSwgIDQsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ181eDRfS0hSLCAg
IEdMX1VOU0lHTkVEX0JZVEUsIHRydWUsICBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRl
eHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25B
U1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmlu
c2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FT
VENfNXg1X0tIUiwgICBDb21wcmVzc2VkRm9ybWF0KCA1LCAgNSwgMTI4LCA0LCBHTF9DT01QUkVT
U0VEX1NSR0I4X0FMUEhBOF9BU1RDXzV4NV9LSFIsICAgR0xfVU5TSUdORURfQllURSwgdHJ1ZSwg
IFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwg
JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRlZCwg
QWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1Bh
aXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ182eDVfS0hSLCAgIENvbXByZXNzZWRG
b3JtYXQoIDYsICA1LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENfNng1
X0tIUiwgICBHTF9VTlNJR05FRF9CWVRFLCB0cnVlLCAgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNp
b25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXBy
ZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAg
bWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1NSR0I4X0FM
UEhBOF9BU1RDXzZ4Nl9LSFIsICAgQ29tcHJlc3NlZEZvcm1hdCggNiwgIDYsIDEyOCwgNCwgR0xf
Q09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ182eDZfS0hSLCAgIEdMX1VOU0lHTkVEX0JZVEUs
IHRydWUsICBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFT
VENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2ZXJTdXBw
b3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1h
dEluZm9QYWlyKEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENfOHg1X0tIUiwgICBDb21w
cmVzc2VkRm9ybWF0KCA4LCAgNSwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9B
U1RDXzh4NV9LSFIsICAgR0xfVU5TSUdORURfQllURSwgdHJ1ZSwgIFJlcXVpcmVFeHRPckV4dDwm
RXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1
cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkp
OworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9T
UkdCOF9BTFBIQThfQVNUQ184eDZfS0hSLCAgIENvbXByZXNzZWRGb3JtYXQoIDgsICA2LCAxMjgs
IDQsIEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENfOHg2X0tIUiwgICBHTF9VTlNJR05F
RF9CWVRFLCB0cnVlLCAgUmVxdWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJl
c3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5l
dmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJu
YWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzh4OF9LSFIs
ICAgQ29tcHJlc3NlZEZvcm1hdCggOCwgIDgsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9TUkdCOF9B
TFBIQThfQVNUQ184eDhfS0hSLCAgIEdMX1VOU0lHTkVEX0JZVEUsIHRydWUsICBSZXF1aXJlRXh0
T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25z
Ojp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBv
cnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBS
RVNTRURfU1JHQjhfQUxQSEE4X0FTVENfMTB4NV9LSFIsICBDb21wcmVzc2VkRm9ybWF0KDEwLCAg
NSwgMTI4LCA0LCBHTF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzEweDVfS0hSLCAgR0xf
VU5TSUdORURfQllURSwgdHJ1ZSwgIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVy
ZUNvbXByZXNzaW9uQVNUQ0hEUiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENM
RFI+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0
KEludGVybmFsRm9ybWF0SW5mb1BhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ18x
MHg2X0tIUiwgIENvbXByZXNzZWRGb3JtYXQoMTAsICA2LCAxMjgsIDQsIEdMX0NPTVBSRVNTRURf
U1JHQjhfQUxQSEE4X0FTVENfMTB4Nl9LSFIsICBHTF9VTlNJR05FRF9CWVRFLCB0cnVlLCAgUmVx
dWlyZUV4dE9yRXh0PCZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0
ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdh
eXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihH
TF9DT01QUkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzEweDhfS0hSLCAgQ29tcHJlc3NlZEZvcm1h
dCgxMCwgIDgsIDEyOCwgNCwgR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ18xMHg4X0tI
UiwgIEdMX1VOU0lHTkVEX0JZVEUsIHRydWUsICBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6
OnRleHR1cmVDb21wcmVzc2lvbkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Np
b25BU1RDTERSPiwgTmV2ZXJTdXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKKyAgICBtYXAt
Pmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWlyKEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4
X0FTVENfMTB4MTBfS0hSLCBDb21wcmVzc2VkRm9ybWF0KDEwLCAxMCwgMTI4LCA0LCBHTF9DT01Q
UkVTU0VEX1NSR0I4X0FMUEhBOF9BU1RDXzEweDEwX0tIUiwgR0xfVU5TSUdORURfQllURSwgdHJ1
ZSwgIFJlcXVpcmVFeHRPckV4dDwmRXh0ZW5zaW9uczo6dGV4dHVyZUNvbXByZXNzaW9uQVNUQ0hE
UiwgJkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lvbkFTVENMRFI+LCBOZXZlclN1cHBvcnRl
ZCwgQWx3YXlzU3VwcG9ydGVkKSkpOworICAgIG1hcC0+aW5zZXJ0KEludGVybmFsRm9ybWF0SW5m
b1BhaXIoR0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ18xMngxMF9LSFIsIENvbXByZXNz
ZWRGb3JtYXQoMTIsIDEwLCAxMjgsIDQsIEdMX0NPTVBSRVNTRURfU1JHQjhfQUxQSEE4X0FTVENf
MTJ4MTBfS0hSLCBHTF9VTlNJR05FRF9CWVRFLCB0cnVlLCAgUmVxdWlyZUV4dE9yRXh0PCZFeHRl
bnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDSERSLCAmRXh0ZW5zaW9uczo6dGV4dHVyZUNv
bXByZXNzaW9uQVNUQ0xEUj4sIE5ldmVyU3VwcG9ydGVkLCBBbHdheXNTdXBwb3J0ZWQpKSk7Cisg
ICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9DT01QUkVTU0VEX1NSR0I4
X0FMUEhBOF9BU1RDXzEyeDEyX0tIUiwgQ29tcHJlc3NlZEZvcm1hdCgxMiwgMTIsIDEyOCwgNCwg
R0xfQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfQVNUQ18xMngxMl9LSFIsIEdMX1VOU0lHTkVEX0JZ
VEUsIHRydWUsICBSZXF1aXJlRXh0T3JFeHQ8JkV4dGVuc2lvbnM6OnRleHR1cmVDb21wcmVzc2lv
bkFTVENIRFIsICZFeHRlbnNpb25zOjp0ZXh0dXJlQ29tcHJlc3Npb25BU1RDTERSPiwgTmV2ZXJT
dXBwb3J0ZWQsIEFsd2F5c1N1cHBvcnRlZCkpKTsKIAogICAgIC8vIEZvciBTVEVOQ0lMX0lOREVY
OCB3ZSBjaG9zZSBhIG5vcm1hbGl6ZWQgY29tcG9uZW50IHR5cGUgZm9yIHRoZSBmb2xsb3dpbmcg
cmVhc29uczoKICAgICAvLyAtIE11bHRpc2FtcGxlZCBidWZmZXIgYXJlIGRpc2FsbG93ZWQgZm9y
IG5vbi1ub3JtYWxpemVkIGludGVnZXIgY29tcG9uZW50IHR5cGVzIGFuZCB3ZSB3YW50IHRvIHN1
cHBvcnQgaXQgZm9yIFNURU5DSUxfSU5ERVg4CiAgICAgLy8gLSBBbGwgb3RoZXIgc3RlbmNpbCBm
b3JtYXRzIChhbGwgZGVwdGgtc3RlbmNpbCkgYXJlIGVpdGhlciBmbG9hdCBvciBub3JtYWxpemVk
CiAgICAgLy8gLSBJdCBhZmZlY3RzIG9ubHkgdmFsaWRhdGlvbiBvZiBpbnRlcm5hbGZvcm1hdCBp
biBSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUuCiAgICAgLy8gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCBJbnRlcm5hbCBmb3JtYXQgIHwgICAgICAgICAgICAgICAgICB8RCB8
UyB8WCB8IEZvcm1hdCAgICAgICAgICB8IFR5cGUgICAgICAgICAgICB8IENvbXBvbmVudCB0eXBl
ICAgICAgICB8IFN1cHBvcnRlZCAgIHwgUmVuZGVyYWJsZSAgfCBGaWx0ZXJhYmxlICAgfAotICAg
IG1hcC5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFpcihHTF9TVEVOQ0lMX0lOREVYOCwgRGVw
dGhTdGVuY2lsRm9ybWF0KDAsIDgsIDAsIEdMX0RFUFRIX1NURU5DSUwsIEdMX1VOU0lHTkVEX0JZ
VEUsIEdMX1VOU0lHTkVEX05PUk1BTElaRUQsIFJlcXVpcmVFUzwyPiwgUmVxdWlyZUVTPDI+LCBO
ZXZlclN1cHBvcnRlZCkpKTsKKyAgICBtYXAtPmluc2VydChJbnRlcm5hbEZvcm1hdEluZm9QYWly
KEdMX1NURU5DSUxfSU5ERVg4LCBEZXB0aFN0ZW5jaWxGb3JtYXQoMCwgOCwgMCwgR0xfREVQVEhf
U1RFTkNJTCwgR0xfVU5TSUdORURfQllURSwgR0xfVU5TSUdORURfTk9STUFMSVpFRCwgUmVxdWly
ZUVTPDI+LCBSZXF1aXJlRVM8Mj4sIE5ldmVyU3VwcG9ydGVkKSkpOwogCiAgICAgLy8gRnJvbSBH
TF9BTkdMRV9sb3NzeV9ldGNfZGVjb2RlCi0gICAgbWFwLmluc2VydChJbnRlcm5hbEZvcm1hdElu
Zm9QYWlyKEdMX0VUQzFfUkdCOF9MT1NTWV9ERUNPREVfQU5HTEUsIENvbXByZXNzZWRGb3JtYXQo
NCwgNCwgNjQsIDMsIEdMX0VUQzFfUkdCOF9PRVMsIEdMX1VOU0lHTkVEX0JZVEUsIGZhbHNlLCBS
ZXF1aXJlRXh0PCZFeHRlbnNpb25zOjpsb3NzeUVUQ0RlY29kZT4sIE5ldmVyU3VwcG9ydGVkLCBB
bHdheXNTdXBwb3J0ZWQpKSk7CisgICAgbWFwLT5pbnNlcnQoSW50ZXJuYWxGb3JtYXRJbmZvUGFp
cihHTF9FVEMxX1JHQjhfTE9TU1lfREVDT0RFX0FOR0xFLCBDb21wcmVzc2VkRm9ybWF0KDQsIDQs
IDY0LCAzLCBHTF9FVEMxX1JHQjhfT0VTLCBHTF9VTlNJR05FRF9CWVRFLCBmYWxzZSwgUmVxdWly
ZUV4dDwmRXh0ZW5zaW9uczo6bG9zc3lFVENEZWNvZGU+LCBOZXZlclN1cHBvcnRlZCwgQWx3YXlz
U3VwcG9ydGVkKSkpOwogCiAgICAgLy8gY2xhbmctZm9ybWF0IG9uCiAKQEAgLTU3NiwyMCArNTc2
LDIwIEBAIHN0YXRpYyBJbnRlcm5hbEZvcm1hdEluZm9NYXAgQnVpbGRJbnRlcm4KIAogc3RhdGlj
IGNvbnN0IEludGVybmFsRm9ybWF0SW5mb01hcCAmR2V0SW50ZXJuYWxGb3JtYXRNYXAoKQogewot
ICAgIHN0YXRpYyBjb25zdCBJbnRlcm5hbEZvcm1hdEluZm9NYXAgZm9ybWF0TWFwID0gQnVpbGRJ
bnRlcm5hbEZvcm1hdEluZm9NYXAoKTsKLSAgICByZXR1cm4gZm9ybWF0TWFwOworICAgIHN0YXRp
YyBjb25zdCBJbnRlcm5hbEZvcm1hdEluZm9NYXAqIGZvcm1hdE1hcCA9IEJ1aWxkSW50ZXJuYWxG
b3JtYXRJbmZvTWFwKCk7CisgICAgcmV0dXJuICpmb3JtYXRNYXA7CiB9CiAKLXN0YXRpYyBGb3Jt
YXRTZXQgQnVpbGRBbGxTaXplZEludGVybmFsRm9ybWF0U2V0KCkKK3N0YXRpYyBGb3JtYXRTZXQq
IEJ1aWxkQWxsU2l6ZWRJbnRlcm5hbEZvcm1hdFNldCgpCiB7Ci0gICAgRm9ybWF0U2V0IHJlc3Vs
dDsKKyAgICBGb3JtYXRTZXQqIHJlc3VsdCA9IG5ldyBGb3JtYXRTZXQoKTsKIAogICAgIGNvbnN0
IEludGVybmFsRm9ybWF0SW5mb01hcCAmZm9ybWF0cyA9IEdldEludGVybmFsRm9ybWF0TWFwKCk7
CiAgICAgZm9yIChJbnRlcm5hbEZvcm1hdEluZm9NYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBmb3Jt
YXRzLmJlZ2luKCk7IGkgIT0gZm9ybWF0cy5lbmQoKTsgaSsrKQogICAgIHsKICAgICAgICAgaWYg
KGktPnNlY29uZC5waXhlbEJ5dGVzID4gMCkKICAgICAgICAgewotICAgICAgICAgICAgcmVzdWx0
Lmluc2VydChpLT5maXJzdCk7CisgICAgICAgICAgICByZXN1bHQtPmluc2VydChpLT5maXJzdCk7
CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTc0Miw5ICs3NDIsOSBAQCBHTGVudW0gR2V0U2l6ZWRJ
bnRlcm5hbEZvcm1hdChHTGVudW0gaW50CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBGb3JtYXRNYXAgZm9ybWF0TWFwID0gQnVpbGRGb3JtYXRNYXAoKTsKLSAg
ICAgICAgRm9ybWF0TWFwOjpjb25zdF9pdGVyYXRvciBpdGVyID0gZm9ybWF0TWFwLmZpbmQoRm9y
bWF0VHlwZVBhaXIoaW50ZXJuYWxGb3JtYXQsIHR5cGUpKTsKLSAgICAgICAgaWYgKGl0ZXIgIT0g
Zm9ybWF0TWFwLmVuZCgpKQorICAgICAgICBzdGF0aWMgY29uc3QgRm9ybWF0TWFwKiBmb3JtYXRN
YXAgPSBCdWlsZEZvcm1hdE1hcCgpOworICAgICAgICBGb3JtYXRNYXA6OmNvbnN0X2l0ZXJhdG9y
IGl0ZXIgPSBmb3JtYXRNYXAtPmZpbmQoRm9ybWF0VHlwZVBhaXIoaW50ZXJuYWxGb3JtYXQsIHR5
cGUpKTsKKyAgICAgICAgaWYgKGl0ZXIgIT0gZm9ybWF0TWFwLT5lbmQoKSkKICAgICAgICAgewog
ICAgICAgICAgICAgcmV0dXJuIGl0ZXItPnNlY29uZDsKICAgICAgICAgfQpAQCAtNzU3LDggKzc1
Nyw4IEBAIEdMZW51bSBHZXRTaXplZEludGVybmFsRm9ybWF0KEdMZW51bSBpbnQKIAogY29uc3Qg
Rm9ybWF0U2V0ICZHZXRBbGxTaXplZEludGVybmFsRm9ybWF0cygpCiB7Ci0gICAgc3RhdGljIEZv
cm1hdFNldCBmb3JtYXRTZXQgPSBCdWlsZEFsbFNpemVkSW50ZXJuYWxGb3JtYXRTZXQoKTsKLSAg
ICByZXR1cm4gZm9ybWF0U2V0OworICAgIHN0YXRpYyBGb3JtYXRTZXQqIGZvcm1hdFNldCA9IEJ1
aWxkQWxsU2l6ZWRJbnRlcm5hbEZvcm1hdFNldCgpOworICAgIHJldHVybiAqZm9ybWF0U2V0Owog
fQogCiBBdHRyaWJ1dGVUeXBlIEdldEF0dHJpYnV0ZVR5cGUoR0xlbnVtIGVudW1WYWx1ZSkKSW5k
ZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFs
aWRhdGlvbkVTMy5jcHAJKHJldmlzaW9uIDIwMzgyOCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS92YWxpZGF0aW9uRVMzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQs
MTU4ICs0NCwxNTggQEAgc3RhdGljIGlubGluZSB2b2lkIEluc2VydEVTM0Zvcm1hdENvbWJvKAog
ICAgIHNldC0+aW5zZXJ0KGluZm8pOwogfQogCi1FUzNGb3JtYXRDb21iaW5hdGlvblNldCBCdWls
ZEVTM0Zvcm1hdFNldCgpCitFUzNGb3JtYXRDb21iaW5hdGlvblNldCogQnVpbGRFUzNGb3JtYXRT
ZXQoKQogewotICAgIEVTM0Zvcm1hdENvbWJpbmF0aW9uU2V0IHNldDsKKyAgICBFUzNGb3JtYXRD
b21iaW5hdGlvblNldCogc2V0ID0gbmV3IEVTM0Zvcm1hdENvbWJpbmF0aW9uU2V0KCk7CiAKICAg
ICAvLyBGb3JtYXQgY29tYmluYXRpb25zIGZyb20gRVMgMy4wLjEgc3BlYywgdGFibGUgMy4yCiAK
ICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgIHwgSW50ZXJuYWwgZm9ybWF0ICAgICAgfCBG
b3JtYXQgICAgICAgICAgICB8IFR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAg
IC8vICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg
ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0gICAgSW5z
ZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQTgsICAgICAgICAgICAgICBHTF9SR0JBLCAg
ICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0
RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCNV9BMSwgICAgICAgICAgICBHTF9SR0JBLCAgICAg
ICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMz
Rm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQTQsICAgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAg
ICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9y
bWF0Q29tYm8oJnNldCwgR0xfU1JHQjhfQUxQSEE4LCAgICAgICBHTF9SR0JBLCAgICAgICAgICAg
IEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0
Q29tYm8oJnNldCwgR0xfUkdCQThfU05PUk0sICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdM
X0JZVEUgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oJnNldCwgR0xfUkdCQTQsICAgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX1VO
U0lHTkVEX1NIT1JUXzRfNF80XzQgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8o
JnNldCwgR0xfUkdCMTBfQTIsICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX1VOU0lH
TkVEX0lOVF8yXzEwXzEwXzEwX1JFViAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNl
dCwgR0xfUkdCNV9BMSwgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX1VOU0lHTkVE
X0lOVF8yXzEwXzEwXzEwX1JFViAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwg
R0xfUkdCNV9BMSwgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX1VOU0lHTkVEX1NI
T1JUXzVfNV81XzEgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xf
UkdCQTE2RiwgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQgICAg
ICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdC
QTE2RiwgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTICAg
ICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQTMy
RiwgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAg
ICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQTE2Riwg
ICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAg
ICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQThVSSwgICAg
ICAgICAgICBHTF9SR0JBX0lOVEVHRVIsICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAg
ICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQThJLCAgICAgICAg
ICAgICBHTF9SR0JBX0lOVEVHRVIsICAgIEdMX0JZVEUgICAgICAgICAgICAgICAgICAgICAgICAg
ICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQTE2VUksICAgICAgICAg
ICBHTF9SR0JBX0lOVEVHRVIsICAgIEdMX1VOU0lHTkVEX1NIT1JUICAgICAgICAgICAgICAgICk7
Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQTE2SSwgICAgICAgICAgICBH
TF9SR0JBX0lOVEVHRVIsICAgIEdMX1NIT1JUICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0g
ICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQTMyVUksICAgICAgICAgICBHTF9S
R0JBX0lOVEVHRVIsICAgIEdMX1VOU0lHTkVEX0lOVCAgICAgICAgICAgICAgICAgICk7Ci0gICAg
SW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCQTMySSwgICAgICAgICAgICBHTF9SR0JB
X0lOVEVHRVIsICAgIEdMX0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5z
ZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCMTBfQTJVSSwgICAgICAgICBHTF9SR0JBX0lO
VEVHRVIsICAgIEdMX1VOU0lHTkVEX0lOVF8yXzEwXzEwXzEwX1JFViAgICk7Ci0gICAgSW5zZXJ0
RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCOCwgICAgICAgICAgICAgICBHTF9SR0IsICAgICAg
ICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMz
Rm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCNTY1LCAgICAgICAgICAgICBHTF9SR0IsICAgICAgICAg
ICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9y
bWF0Q29tYm8oJnNldCwgR0xfU1JHQjgsICAgICAgICAgICAgICBHTF9SR0IsICAgICAgICAgICAg
IEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0
Q29tYm8oJnNldCwgR0xfUkdCOF9TTk9STSwgICAgICAgICBHTF9SR0IsICAgICAgICAgICAgIEdM
X0JZVEUgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oJnNldCwgR0xfUkdCNTY1LCAgICAgICAgICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX1VO
U0lHTkVEX1NIT1JUXzVfNl81ICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8o
JnNldCwgR0xfUjExRl9HMTFGX0IxMEYsICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX1VOU0lH
TkVEX0lOVF8xMEZfMTFGXzExRl9SRVYgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNl
dCwgR0xfUkdCOV9FNSwgICAgICAgICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX1VOU0lHTkVE
X0lOVF81XzlfOV85X1JFViAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwg
R0xfUkdCMTZGLCAgICAgICAgICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQg
ICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xf
UkdCMTZGLCAgICAgICAgICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VT
ICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUjEx
Rl9HMTFGX0IxMEYsICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAg
ICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUjExRl9H
MTFGX0IxMEYsICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTICAgICAg
ICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCOV9FNSwg
ICAgICAgICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAgICAgICAg
ICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCOV9FNSwgICAg
ICAgICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTICAgICAgICAgICAg
ICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCMzJGLCAgICAgICAg
ICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAg
ICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCMTZGLCAgICAgICAgICAg
ICBHTF9SR0IsICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICk7
Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUjExRl9HMTFGX0IxMEYsICAgICBH
TF9SR0IsICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0g
ICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCOV9FNSwgICAgICAgICAgICBHTF9S
R0IsICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAg
SW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCOFVJLCAgICAgICAgICAgICBHTF9SR0Jf
SU5URUdFUiwgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5z
ZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCOEksICAgICAgICAgICAgICBHTF9SR0JfSU5U
RUdFUiwgICAgIEdMX0JZVEUgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0
RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCMTZVSSwgICAgICAgICAgICBHTF9SR0JfSU5URUdF
UiwgICAgIEdMX1VOU0lHTkVEX1NIT1JUICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMz
Rm9ybWF0Q29tYm8oJnNldCwgR0xfUkdCMTZJLCAgICAgICAgICAgICBHTF9SR0JfSU5URUdFUiwg
ICAgIEdMX1NIT1JUICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9y
bWF0Q29tYm8oJnNldCwgR0xfUkdCMzJVSSwgICAgICAgICAgICBHTF9SR0JfSU5URUdFUiwgICAg
IEdMX1VOU0lHTkVEX0lOVCAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0
Q29tYm8oJnNldCwgR0xfUkdCMzJJLCAgICAgICAgICAgICBHTF9SR0JfSU5URUdFUiwgICAgIEdM
X0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oJnNldCwgR0xfUkc4LCAgICAgICAgICAgICAgICBHTF9SRywgICAgICAgICAgICAgIEdMX1VO
U0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8o
JnNldCwgR0xfUkc4X1NOT1JNLCAgICAgICAgICBHTF9SRywgICAgICAgICAgICAgIEdMX0JZVEUg
ICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNl
dCwgR0xfUkcxNkYsICAgICAgICAgICAgICBHTF9SRywgICAgICAgICAgICAgIEdMX0hBTEZfRkxP
QVQgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwg
R0xfUkcxNkYsICAgICAgICAgICAgICBHTF9SRywgICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVRf
T0VTICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xf
UkczMkYsICAgICAgICAgICAgICBHTF9SRywgICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAg
ICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkcx
NkYsICAgICAgICAgICAgICBHTF9SRywgICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAg
ICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkc4VUks
ICAgICAgICAgICAgICBHTF9SR19JTlRFR0VSLCAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAg
ICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkc4SSwgICAg
ICAgICAgICAgICBHTF9SR19JTlRFR0VSLCAgICAgIEdMX0JZVEUgICAgICAgICAgICAgICAgICAg
ICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkcxNlVJLCAgICAg
ICAgICAgICBHTF9SR19JTlRFR0VSLCAgICAgIEdMX1VOU0lHTkVEX1NIT1JUICAgICAgICAgICAg
ICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkcxNkksICAgICAgICAg
ICAgICBHTF9SR19JTlRFR0VSLCAgICAgIEdMX1NIT1JUICAgICAgICAgICAgICAgICAgICAgICAg
ICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkczMlVJLCAgICAgICAgICAg
ICBHTF9SR19JTlRFR0VSLCAgICAgIEdMX1VOU0lHTkVEX0lOVCAgICAgICAgICAgICAgICAgICk7
Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUkczMkksICAgICAgICAgICAgICBH
TF9SR19JTlRFR0VSLCAgICAgIEdMX0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0g
ICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUjgsICAgICAgICAgICAgICAgICBHTF9S
RUQsICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAg
SW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUjhfU05PUk0sICAgICAgICAgICBHTF9SRUQs
ICAgICAgICAgICAgIEdMX0JZVEUgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5z
ZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUjE2RiwgICAgICAgICAgICAgICBHTF9SRUQsICAg
ICAgICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0
RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfUjE2RiwgICAgICAgICAgICAgICBHTF9SRUQsICAgICAg
ICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMz
Rm9ybWF0Q29tYm8oJnNldCwgR0xfUjMyRiwgICAgICAgICAgICAgICBHTF9SRUQsICAgICAgICAg
ICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9y
bWF0Q29tYm8oJnNldCwgR0xfUjE2RiwgICAgICAgICAgICAgICBHTF9SRUQsICAgICAgICAgICAg
IEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0
Q29tYm8oJnNldCwgR0xfUjhVSSwgICAgICAgICAgICAgICBHTF9SRURfSU5URUdFUiwgICAgIEdM
X1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oJnNldCwgR0xfUjhJLCAgICAgICAgICAgICAgICBHTF9SRURfSU5URUdFUiwgICAgIEdMX0JZ
VEUgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8o
JnNldCwgR0xfUjE2VUksICAgICAgICAgICAgICBHTF9SRURfSU5URUdFUiwgICAgIEdMX1VOU0lH
TkVEX1NIT1JUICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNl
dCwgR0xfUjE2SSwgICAgICAgICAgICAgICBHTF9SRURfSU5URUdFUiwgICAgIEdMX1NIT1JUICAg
ICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwg
R0xfUjMyVUksICAgICAgICAgICAgICBHTF9SRURfSU5URUdFUiwgICAgIEdMX1VOU0lHTkVEX0lO
VCAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xf
UjMySSwgICAgICAgICAgICAgICBHTF9SRURfSU5URUdFUiwgICAgIEdMX0lOVCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0JB
OCwgICAgICAgICAgICAgIEdMX1JHQkEsICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSAgICAg
ICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHQjVfQTEs
ICAgICAgICAgICAgR0xfUkdCQSwgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAg
ICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkdCQTQsICAgICAg
ICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAg
ICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9TUkdCOF9BTFBIQTgsICAg
ICAgIEdMX1JHQkEsICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSAgICAgICAgICAgICAgICAg
KTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHQkE4X1NOT1JNLCAgICAgICAg
R0xfUkdCQSwgICAgICAgICAgICBHTF9CWVRFICAgICAgICAgICAgICAgICAgICAgICAgICApOwor
ICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkdCQTQsICAgICAgICAgICAgICBHTF9S
R0JBLCAgICAgICAgICAgIEdMX1VOU0lHTkVEX1NIT1JUXzRfNF80XzQgICAgICAgICk7CisgICAg
SW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0IxMF9BMiwgICAgICAgICAgIEdMX1JHQkEs
ICAgICAgICAgICAgR0xfVU5TSUdORURfSU5UXzJfMTBfMTBfMTBfUkVWICAgKTsKKyAgICBJbnNl
cnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHQjVfQTEsICAgICAgICAgICAgR0xfUkdCQSwgICAg
ICAgICAgICBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVYgICApOworICAgIEluc2VydEVT
M0Zvcm1hdENvbWJvKHNldCwgR0xfUkdCNV9BMSwgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAg
ICAgIEdMX1VOU0lHTkVEX1NIT1JUXzVfNV81XzEgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9y
bWF0Q29tYm8oc2V0LCBHTF9SR0JBMTZGLCAgICAgICAgICAgIEdMX1JHQkEsICAgICAgICAgICAg
R0xfSEFMRl9GTE9BVCAgICAgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRD
b21ibyhzZXQsIEdMX1JHQkExNkYsICAgICAgICAgICAgR0xfUkdCQSwgICAgICAgICAgICBHTF9I
QUxGX0ZMT0FUX09FUyAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJv
KHNldCwgR0xfUkdCQTMyRiwgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX0ZMT0FU
ICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0
LCBHTF9SR0JBMTZGLCAgICAgICAgICAgIEdMX1JHQkEsICAgICAgICAgICAgR0xfRkxPQVQgICAg
ICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdM
X1JHQkE4VUksICAgICAgICAgICAgR0xfUkdCQV9JTlRFR0VSLCAgICBHTF9VTlNJR05FRF9CWVRF
ICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkdC
QThJLCAgICAgICAgICAgICBHTF9SR0JBX0lOVEVHRVIsICAgIEdMX0JZVEUgICAgICAgICAgICAg
ICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0JBMTZV
SSwgICAgICAgICAgIEdMX1JHQkFfSU5URUdFUiwgICAgR0xfVU5TSUdORURfU0hPUlQgICAgICAg
ICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHQkExNkksICAg
ICAgICAgICAgR0xfUkdCQV9JTlRFR0VSLCAgICBHTF9TSE9SVCAgICAgICAgICAgICAgICAgICAg
ICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkdCQTMyVUksICAgICAg
ICAgICBHTF9SR0JBX0lOVEVHRVIsICAgIEdMX1VOU0lHTkVEX0lOVCAgICAgICAgICAgICAgICAg
ICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0JBMzJJLCAgICAgICAgICAg
IEdMX1JHQkFfSU5URUdFUiwgICAgR0xfSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsK
KyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHQjEwX0EyVUksICAgICAgICAgR0xf
UkdCQV9JTlRFR0VSLCAgICBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVYgICApOworICAg
IEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkdCOCwgICAgICAgICAgICAgICBHTF9SR0Is
ICAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7CisgICAgSW5z
ZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0I1NjUsICAgICAgICAgICAgIEdMX1JHQiwgICAg
ICAgICAgICAgR0xfVU5TSUdORURfQllURSAgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRF
UzNGb3JtYXRDb21ibyhzZXQsIEdMX1NSR0I4LCAgICAgICAgICAgICAgR0xfUkdCLCAgICAgICAg
ICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zv
cm1hdENvbWJvKHNldCwgR0xfUkdCOF9TTk9STSwgICAgICAgICBHTF9SR0IsICAgICAgICAgICAg
IEdMX0JZVEUgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0
Q29tYm8oc2V0LCBHTF9SR0I1NjUsICAgICAgICAgICAgIEdMX1JHQiwgICAgICAgICAgICAgR0xf
VU5TSUdORURfU0hPUlRfNV82XzUgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21i
byhzZXQsIEdMX1IxMUZfRzExRl9CMTBGLCAgICAgR0xfUkdCLCAgICAgICAgICAgICBHTF9VTlNJ
R05FRF9JTlRfMTBGXzExRl8xMUZfUkVWICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNl
dCwgR0xfUkdCOV9FNSwgICAgICAgICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX1VOU0lHTkVE
X0lOVF81XzlfOV85X1JFViAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBH
TF9SR0IxNkYsICAgICAgICAgICAgIEdMX1JHQiwgICAgICAgICAgICAgR0xfSEFMRl9GTE9BVCAg
ICAgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JH
QjE2RiwgICAgICAgICAgICAgR0xfUkdCLCAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09FUyAg
ICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUjExRl9H
MTFGX0IxMEYsICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SMTFGX0cxMUZf
QjEwRiwgICAgIEdMX1JHQiwgICAgICAgICAgICAgR0xfSEFMRl9GTE9BVF9PRVMgICAgICAgICAg
ICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHQjlfRTUsICAgICAg
ICAgICAgR0xfUkdCLCAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FUICAgICAgICAgICAgICAgICAg
ICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkdCOV9FNSwgICAgICAgICAg
ICBHTF9SR0IsICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTICAgICAgICAgICAgICAgICk7
CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0IzMkYsICAgICAgICAgICAgIEdM
X1JHQiwgICAgICAgICAgICAgR0xfRkxPQVQgICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAg
ICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHQjE2RiwgICAgICAgICAgICAgR0xfUkdC
LCAgICAgICAgICAgICBHTF9GTE9BVCAgICAgICAgICAgICAgICAgICAgICAgICApOworICAgIElu
c2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUjExRl9HMTFGX0IxMEYsICAgICBHTF9SR0IsICAg
ICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0
RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0I5X0U1LCAgICAgICAgICAgIEdMX1JHQiwgICAgICAg
ICAgICAgR0xfRkxPQVQgICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNG
b3JtYXRDb21ibyhzZXQsIEdMX1JHQjhVSSwgICAgICAgICAgICAgR0xfUkdCX0lOVEVHRVIsICAg
ICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1h
dENvbWJvKHNldCwgR0xfUkdCOEksICAgICAgICAgICAgICBHTF9SR0JfSU5URUdFUiwgICAgIEdM
X0JZVEUgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oc2V0LCBHTF9SR0IxNlVJLCAgICAgICAgICAgIEdMX1JHQl9JTlRFR0VSLCAgICAgR0xfVU5T
SUdORURfU0hPUlQgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhz
ZXQsIEdMX1JHQjE2SSwgICAgICAgICAgICAgR0xfUkdCX0lOVEVHRVIsICAgICBHTF9TSE9SVCAg
ICAgICAgICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwg
R0xfUkdCMzJVSSwgICAgICAgICAgICBHTF9SR0JfSU5URUdFUiwgICAgIEdMX1VOU0lHTkVEX0lO
VCAgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9S
R0IzMkksICAgICAgICAgICAgIEdMX1JHQl9JTlRFR0VSLCAgICAgR0xfSU5UICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHOCwg
ICAgICAgICAgICAgICAgR0xfUkcsICAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAg
ICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkc4X1NOT1JN
LCAgICAgICAgICBHTF9SRywgICAgICAgICAgICAgIEdMX0JZVEUgICAgICAgICAgICAgICAgICAg
ICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SRzE2RiwgICAgICAg
ICAgICAgIEdMX1JHLCAgICAgICAgICAgICAgR0xfSEFMRl9GTE9BVCAgICAgICAgICAgICAgICAg
ICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHMTZGLCAgICAgICAgICAg
ICAgR0xfUkcsICAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09FUyAgICAgICAgICAgICAgICAp
OworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkczMkYsICAgICAgICAgICAgICBH
TF9SRywgICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICk7Cisg
ICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SRzE2RiwgICAgICAgICAgICAgIEdMX1JH
LCAgICAgICAgICAgICAgR0xfRkxPQVQgICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICBJ
bnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHOFVJLCAgICAgICAgICAgICAgR0xfUkdfSU5U
RUdFUiwgICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOworICAgIEluc2Vy
dEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkc4SSwgICAgICAgICAgICAgICBHTF9SR19JTlRFR0VS
LCAgICAgIEdMX0JZVEUgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMz
Rm9ybWF0Q29tYm8oc2V0LCBHTF9SRzE2VUksICAgICAgICAgICAgIEdMX1JHX0lOVEVHRVIsICAg
ICAgR0xfVU5TSUdORURfU0hPUlQgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3Jt
YXRDb21ibyhzZXQsIEdMX1JHMTZJLCAgICAgICAgICAgICAgR0xfUkdfSU5URUdFUiwgICAgICBH
TF9TSE9SVCAgICAgICAgICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENv
bWJvKHNldCwgR0xfUkczMlVJLCAgICAgICAgICAgICBHTF9SR19JTlRFR0VSLCAgICAgIEdMX1VO
U0lHTkVEX0lOVCAgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8o
c2V0LCBHTF9SRzMySSwgICAgICAgICAgICAgIEdMX1JHX0lOVEVHRVIsICAgICAgR0xfSU5UICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQs
IEdMX1I4LCAgICAgICAgICAgICAgICAgR0xfUkVELCAgICAgICAgICAgICBHTF9VTlNJR05FRF9C
WVRFICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xf
UjhfU05PUk0sICAgICAgICAgICBHTF9SRUQsICAgICAgICAgICAgIEdMX0JZVEUgICAgICAgICAg
ICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SMTZG
LCAgICAgICAgICAgICAgIEdMX1JFRCwgICAgICAgICAgICAgR0xfSEFMRl9GTE9BVCAgICAgICAg
ICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1IxNkYsICAg
ICAgICAgICAgICAgR0xfUkVELCAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09FUyAgICAgICAg
ICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUjMyRiwgICAgICAg
ICAgICAgICBHTF9SRUQsICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAg
ICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SMTZGLCAgICAgICAgICAg
ICAgIEdMX1JFRCwgICAgICAgICAgICAgR0xfRkxPQVQgICAgICAgICAgICAgICAgICAgICAgICAg
KTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1I4VUksICAgICAgICAgICAgICAg
R0xfUkVEX0lOVEVHRVIsICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOwor
ICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUjhJLCAgICAgICAgICAgICAgICBHTF9S
RURfSU5URUdFUiwgICAgIEdMX0JZVEUgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAg
SW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SMTZVSSwgICAgICAgICAgICAgIEdMX1JFRF9J
TlRFR0VSLCAgICAgR0xfVU5TSUdORURfU0hPUlQgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNl
cnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1IxNkksICAgICAgICAgICAgICAgR0xfUkVEX0lOVEVH
RVIsICAgICBHTF9TSE9SVCAgICAgICAgICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVT
M0Zvcm1hdENvbWJvKHNldCwgR0xfUjMyVUksICAgICAgICAgICAgICBHTF9SRURfSU5URUdFUiwg
ICAgIEdMX1VOU0lHTkVEX0lOVCAgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9y
bWF0Q29tYm8oc2V0LCBHTF9SMzJJLCAgICAgICAgICAgICAgIEdMX1JFRF9JTlRFR0VSLCAgICAg
R0xfSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKIAogICAgIC8vIFVuc2l6ZWQgZm9y
bWF0cwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX1JHQkEsICAgICAgICAgICAg
ICAgR0xfUkdCQSwgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICAp
OwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX1JHQkEsICAgICAgICAgICAgICAg
R0xfUkdCQSwgICAgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVF80XzRfNF80ICAgICAgICApOwot
ICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX1JHQkEsICAgICAgICAgICAgICAgR0xf
UkdCQSwgICAgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVF81XzVfNV8xICAgICAgICApOwotICAg
IEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX1JHQiwgICAgICAgICAgICAgICAgR0xfUkdC
LCAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOwotICAgIElu
c2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX1JHQiwgICAgICAgICAgICAgICAgR0xfUkdCLCAg
ICAgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVF81XzZfNSAgICAgICAgICApOwotICAgIEluc2Vy
dEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX0xVTUlOQU5DRV9BTFBIQSwgICAgR0xfTFVNSU5BTkNF
X0FMUEhBLCBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVT
M0Zvcm1hdENvbWJvKCZzZXQsIEdMX0xVTUlOQU5DRSwgICAgICAgICAgR0xfTFVNSU5BTkNFLCAg
ICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zv
cm1hdENvbWJvKCZzZXQsIEdMX0FMUEhBLCAgICAgICAgICAgICAgR0xfQUxQSEEsICAgICAgICAg
ICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1h
dENvbWJvKCZzZXQsIEdMX1NSR0JfQUxQSEFfRVhULCAgICAgR0xfU1JHQl9BTFBIQV9FWFQsICBH
TF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENv
bWJvKCZzZXQsIEdMX1NSR0JfRVhULCAgICAgICAgICAgR0xfU1JHQl9FWFQsICAgICAgICBHTF9V
TlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJv
KCZzZXQsIEdMX1JHLCAgICAgICAgICAgICAgICAgR0xfUkcsICAgICAgICAgICAgICBHTF9VTlNJ
R05FRF9CWVRFICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZz
ZXQsIEdMX1JHLCAgICAgICAgICAgICAgICAgR0xfUkcsICAgICAgICAgICAgICBHTF9GTE9BVCAg
ICAgICAgICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQs
IEdMX1JHLCAgICAgICAgICAgICAgICAgR0xfUkcsICAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FU
ICAgICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdM
X1JHLCAgICAgICAgICAgICAgICAgR0xfUkcsICAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09F
UyAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX1JF
RCwgICAgICAgICAgICAgICAgR0xfUkVELCAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFICAg
ICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX1JFRCwg
ICAgICAgICAgICAgICAgR0xfUkVELCAgICAgICAgICAgICBHTF9GTE9BVCAgICAgICAgICAgICAg
ICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX1JFRCwgICAg
ICAgICAgICAgICAgR0xfUkVELCAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FUICAgICAgICAgICAg
ICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX1JFRCwgICAgICAg
ICAgICAgICAgR0xfUkVELCAgICAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09FUyAgICAgICAgICAg
ICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX0RFUFRIX1NURU5DSUws
ICAgICAgR0xfREVQVEhfU1RFTkNJTCwgICBHTF9VTlNJR05FRF9JTlRfMjRfOCAgICAgICAgICAg
ICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkdCQSwgICAgICAgICAgICAg
ICBHTF9SR0JBLCAgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7
CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0JBLCAgICAgICAgICAgICAgIEdM
X1JHQkEsICAgICAgICAgICAgR0xfVU5TSUdORURfU0hPUlRfNF80XzRfNCAgICAgICAgKTsKKyAg
ICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHQkEsICAgICAgICAgICAgICAgR0xfUkdC
QSwgICAgICAgICAgICBHTF9VTlNJR05FRF9TSE9SVF81XzVfNV8xICAgICAgICApOworICAgIElu
c2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkdCLCAgICAgICAgICAgICAgICBHTF9SR0IsICAg
ICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0
RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0IsICAgICAgICAgICAgICAgIEdMX1JHQiwgICAgICAg
ICAgICAgR0xfVU5TSUdORURfU0hPUlRfNV82XzUgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNG
b3JtYXRDb21ibyhzZXQsIEdMX0xVTUlOQU5DRV9BTFBIQSwgICAgR0xfTFVNSU5BTkNFX0FMUEhB
LCBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1h
dENvbWJvKHNldCwgR0xfTFVNSU5BTkNFLCAgICAgICAgICBHTF9MVU1JTkFOQ0UsICAgICAgIEdM
X1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oc2V0LCBHTF9BTFBIQSwgICAgICAgICAgICAgIEdMX0FMUEhBLCAgICAgICAgICAgR0xfVU5T
SUdORURfQllURSAgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhz
ZXQsIEdMX1NSR0JfQUxQSEFfRVhULCAgICAgR0xfU1JHQl9BTFBIQV9FWFQsICBHTF9VTlNJR05F
RF9CWVRFICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwg
R0xfU1JHQl9FWFQsICAgICAgICAgICBHTF9TUkdCX0VYVCwgICAgICAgIEdMX1VOU0lHTkVEX0JZ
VEUgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9S
RywgICAgICAgICAgICAgICAgIEdMX1JHLCAgICAgICAgICAgICAgR0xfVU5TSUdORURfQllURSAg
ICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHLCAg
ICAgICAgICAgICAgICAgR0xfUkcsICAgICAgICAgICAgICBHTF9GTE9BVCAgICAgICAgICAgICAg
ICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkcsICAgICAg
ICAgICAgICAgICBHTF9SRywgICAgICAgICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAgICAgICAg
ICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SRywgICAgICAgICAg
ICAgICAgIEdMX1JHLCAgICAgICAgICAgICAgR0xfSEFMRl9GTE9BVF9PRVMgICAgICAgICAgICAg
ICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JFRCwgICAgICAgICAgICAg
ICAgR0xfUkVELCAgICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICAp
OworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfUkVELCAgICAgICAgICAgICAgICBH
TF9SRUQsICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICk7Cisg
ICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SRUQsICAgICAgICAgICAgICAgIEdMX1JF
RCwgICAgICAgICAgICAgR0xfSEFMRl9GTE9BVCAgICAgICAgICAgICAgICAgICAgKTsKKyAgICBJ
bnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JFRCwgICAgICAgICAgICAgICAgR0xfUkVELCAg
ICAgICAgICAgICBHTF9IQUxGX0ZMT0FUX09FUyAgICAgICAgICAgICAgICApOworICAgIEluc2Vy
dEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfREVQVEhfU1RFTkNJTCwgICAgICBHTF9ERVBUSF9TVEVO
Q0lMLCAgIEdMX1VOU0lHTkVEX0lOVF8yNF84ICAgICAgICAgICAgICk7CiAKICAgICAvLyBEZXB0
aCBzdGVuY2lsIGZvcm1hdHMKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9ERVBU
SF9DT01QT05FTlQxNiwgIEdMX0RFUFRIX0NPTVBPTkVOVCwgR0xfVU5TSUdORURfU0hPUlQgICAg
ICAgICAgICAgICAgKTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9ERVBUSF9D
T01QT05FTlQyNCwgIEdMX0RFUFRIX0NPTVBPTkVOVCwgR0xfVU5TSUdORURfSU5UICAgICAgICAg
ICAgICAgICAgKTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9ERVBUSF9DT01Q
T05FTlQxNiwgIEdMX0RFUFRIX0NPTVBPTkVOVCwgR0xfVU5TSUdORURfSU5UICAgICAgICAgICAg
ICAgICAgKTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9ERVBUSF9DT01QT05F
TlQzMkYsIEdMX0RFUFRIX0NPTVBPTkVOVCwgR0xfRkxPQVQgICAgICAgICAgICAgICAgICAgICAg
ICAgKTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9ERVBUSDI0X1NURU5DSUw4
LCAgIEdMX0RFUFRIX1NURU5DSUwsICAgR0xfVU5TSUdORURfSU5UXzI0XzggICAgICAgICAgICAg
KTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9ERVBUSDMyRl9TVEVOQ0lMOCwg
IEdMX0RFUFRIX1NURU5DSUwsICAgR0xfRkxPQVRfMzJfVU5TSUdORURfSU5UXzI0XzhfUkVWKTsK
KyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX0RFUFRIX0NPTVBPTkVOVDE2LCAgR0xf
REVQVEhfQ09NUE9ORU5ULCBHTF9VTlNJR05FRF9TSE9SVCAgICAgICAgICAgICAgICApOworICAg
IEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfREVQVEhfQ09NUE9ORU5UMjQsICBHTF9ERVBU
SF9DT01QT05FTlQsIEdMX1VOU0lHTkVEX0lOVCAgICAgICAgICAgICAgICAgICk7CisgICAgSW5z
ZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9ERVBUSF9DT01QT05FTlQxNiwgIEdMX0RFUFRIX0NP
TVBPTkVOVCwgR0xfVU5TSUdORURfSU5UICAgICAgICAgICAgICAgICAgKTsKKyAgICBJbnNlcnRF
UzNGb3JtYXRDb21ibyhzZXQsIEdMX0RFUFRIX0NPTVBPTkVOVDMyRiwgR0xfREVQVEhfQ09NUE9O
RU5ULCBHTF9GTE9BVCAgICAgICAgICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zv
cm1hdENvbWJvKHNldCwgR0xfREVQVEgyNF9TVEVOQ0lMOCwgICBHTF9ERVBUSF9TVEVOQ0lMLCAg
IEdMX1VOU0lHTkVEX0lOVF8yNF84ICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0
Q29tYm8oc2V0LCBHTF9ERVBUSDMyRl9TVEVOQ0lMOCwgIEdMX0RFUFRIX1NURU5DSUwsICAgR0xf
RkxPQVRfMzJfVU5TSUdORURfSU5UXzI0XzhfUkVWKTsKIAogICAgIC8vIEZyb20gR0xfRVhUX3NS
R0IKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9TUkdCOF9BTFBIQThfRVhULCAg
IEdMX1NSR0JfQUxQSEFfRVhULCBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICAgKTsK
LSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9TUkdCOCwgICAgICAgICAgICAgIEdM
X1NSR0JfRVhULCAgICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICAgKTsKKyAg
ICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1NSR0I4X0FMUEhBOF9FWFQsICAgR0xfU1JH
Ql9BTFBIQV9FWFQsIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICApOworICAgIElu
c2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfU1JHQjgsICAgICAgICAgICAgICBHTF9TUkdCX0VY
VCwgICAgICAgR0xfVU5TSUdORURfQllURSAgICAgICAgICAgICAgICAgICk7CiAKICAgICAvLyBG
cm9tIEdMX09FU190ZXh0dXJlX2Zsb2F0Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwg
R0xfUkdCQSwgICAgICAgICAgICAgICBHTF9SR0JBLCAgICAgICAgICAgIEdMX0ZMT0FUICAgICAg
ICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xf
UkdCLCAgICAgICAgICAgICAgICBHTF9SR0IsICAgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAg
ICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfTFVN
SU5BTkNFX0FMUEhBLCAgICBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0ZMT0FUICAgICAgICAgICAg
ICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfTFVNSU5B
TkNFLCAgICAgICAgICBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAg
ICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfQUxQSEEsICAg
ICAgICAgICAgICBHTF9BTFBIQSwgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAg
ICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9SR0JBLCAgICAgICAg
ICAgICAgIEdMX1JHQkEsICAgICAgICAgICAgR0xfRkxPQVQgICAgICAgICAgICAgICAgICAgICAg
ICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX1JHQiwgICAgICAgICAgICAg
ICAgR0xfUkdCLCAgICAgICAgICAgICBHTF9GTE9BVCAgICAgICAgICAgICAgICAgICAgICAgICAp
OworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfTFVNSU5BTkNFX0FMUEhBLCAgICBH
TF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICk7Cisg
ICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0UsICAgICAgICAgIEdMX0xV
TUlOQU5DRSwgICAgICAgR0xfRkxPQVQgICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICBJ
bnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX0FMUEhBLCAgICAgICAgICAgICAgR0xfQUxQSEEs
ICAgICAgICAgICBHTF9GTE9BVCAgICAgICAgICAgICAgICAgICAgICAgICApOwogCiAgICAgLy8g
RnJvbSBHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8o
JnNldCwgR0xfTFVNSU5BTkNFX0FMUEhBLCAgICBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0hBTEZf
RkxPQVQgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNl
dCwgR0xfTFVNSU5BTkNFX0FMUEhBLCAgICBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0hBTEZfRkxP
QVRfT0VTICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwg
R0xfTFVNSU5BTkNFLCAgICAgICAgICBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX0hBTEZfRkxPQVQg
ICAgICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xf
TFVNSU5BTkNFLCAgICAgICAgICBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX0hBTEZfRkxPQVRfT0VT
ICAgICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfQUxQ
SEEsICAgICAgICAgICAgICBHTF9BTFBIQSwgICAgICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAg
ICAgICAgICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfQUxQSEEs
ICAgICAgICAgICAgICBHTF9BTFBIQSwgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0Vf
QUxQSEEsICAgIEdMX0xVTUlOQU5DRV9BTFBIQSwgR0xfSEFMRl9GTE9BVCAgICAgICAgICAgICAg
ICAgICAgKTsKKyAgICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX0xVTUlOQU5DRV9BTFBI
QSwgICAgR0xfTFVNSU5BTkNFX0FMUEhBLCBHTF9IQUxGX0ZMT0FUX09FUyAgICAgICAgICAgICAg
ICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfTFVNSU5BTkNFLCAgICAgICAg
ICBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAgICAgICAgICAgICAgICk7
CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0UsICAgICAgICAgIEdM
X0xVTUlOQU5DRSwgICAgICAgR0xfSEFMRl9GTE9BVF9PRVMgICAgICAgICAgICAgICAgKTsKKyAg
ICBJbnNlcnRFUzNGb3JtYXRDb21ibyhzZXQsIEdMX0FMUEhBLCAgICAgICAgICAgICAgR0xfQUxQ
SEEsICAgICAgICAgICBHTF9IQUxGX0ZMT0FUICAgICAgICAgICAgICAgICAgICApOworICAgIElu
c2VydEVTM0Zvcm1hdENvbWJvKHNldCwgR0xfQUxQSEEsICAgICAgICAgICAgICBHTF9BTFBIQSwg
ICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTICAgICAgICAgICAgICAgICk7CiAKICAgICAvLyBG
cm9tIEdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OAotICAgIEluc2VydEVTM0Zvcm1hdENv
bWJvKCZzZXQsIEdMX0JHUkFfRVhULCAgICAgICAgICAgR0xfQkdSQV9FWFQsICAgICAgICBHTF9V
TlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOworICAgIEluc2VydEVTM0Zvcm1hdENvbWJv
KHNldCwgR0xfQkdSQV9FWFQsICAgICAgICAgICBHTF9CR1JBX0VYVCwgICAgICAgIEdMX1VOU0lH
TkVEX0JZVEUgICAgICAgICAgICAgICAgICk7CiAKICAgICAvLyBGcm9tIEdMX0VYVF90ZXh0dXJl
X3N0b3JhZ2UKICAgICAvLyAgICAgICAgICAgICAgICAgICAgfCBJbnRlcm5hbCBmb3JtYXQgICAg
ICAgICAgfCBGb3JtYXQgICAgICAgICAgICB8IFR5cGUgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfAogICAgIC8vICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfQUxQSEE4X0VYVCwgICAgICAgICAg
ICAgR0xfQUxQSEEsICAgICAgICAgICBHTF9VTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICAp
OwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX0xVTUlOQU5DRThfRVhULCAgICAg
ICAgIEdMX0xVTUlOQU5DRSwgICAgICAgR0xfVU5TSUdORURfQllURSAgICAgICAgICAgICAgICAg
KTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9MVU1JTkFOQ0U4X0FMUEhBOF9F
WFQsICBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAg
ICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfQUxQSEEzMkZfRVhULCAgICAg
ICAgICAgR0xfQUxQSEEsICAgICAgICAgICBHTF9GTE9BVCAgICAgICAgICAgICAgICAgICAgICAg
ICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX0xVTUlOQU5DRTMyRl9FWFQs
ICAgICAgIEdMX0xVTUlOQU5DRSwgICAgICAgR0xfRkxPQVQgICAgICAgICAgICAgICAgICAgICAg
ICAgKTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9MVU1JTkFOQ0VfQUxQSEEz
MkZfRVhULCBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0ZMT0FUICAgICAgICAgICAgICAgICAgICAg
ICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfQUxQSEExNkZfRVhULCAg
ICAgICAgICAgR0xfQUxQSEEsICAgICAgICAgICBHTF9IQUxGX0ZMT0FUICAgICAgICAgICAgICAg
ICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX0FMUEhBMTZGX0VYVCwg
ICAgICAgICAgIEdMX0FMUEhBLCAgICAgICAgICAgR0xfSEFMRl9GTE9BVF9PRVMgICAgICAgICAg
ICAgICAgKTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9MVU1JTkFOQ0UxNkZf
RVhULCAgICAgICBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAgICAgICAg
ICAgICAgICk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oJnNldCwgR0xfTFVNSU5BTkNFMTZG
X0VYVCwgICAgICAgR0xfTFVNSU5BTkNFLCAgICAgICBHTF9IQUxGX0ZMT0FUX09FUyAgICAgICAg
ICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZzZXQsIEdMX0xVTUlOQU5DRV9B
TFBIQTE2Rl9FWFQsIEdMX0xVTUlOQU5DRV9BTFBIQSwgR0xfSEFMRl9GTE9BVCAgICAgICAgICAg
ICAgICAgICAgKTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9MVU1JTkFOQ0Vf
QUxQSEExNkZfRVhULCBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0hBTEZfRkxPQVRfT0VTICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9BTFBIQThfRVhU
LCAgICAgICAgICAgICBHTF9BTFBIQSwgICAgICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0U4
X0VYVCwgICAgICAgICBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX1VOU0lHTkVEX0JZVEUgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0U4
X0FMUEhBOF9FWFQsICBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX1VOU0lHTkVEX0JZVEUgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9BTFBIQTMyRl9F
WFQsICAgICAgICAgICBHTF9BTFBIQSwgICAgICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0Uz
MkZfRVhULCAgICAgICBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX0ZMT0FUICAgICAgICAgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0Vf
QUxQSEEzMkZfRVhULCBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0ZMT0FUICAgICAgICAgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9BTFBIQTE2Rl9F
WFQsICAgICAgICAgICBHTF9BTFBIQSwgICAgICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9BTFBIQTE2Rl9F
WFQsICAgICAgICAgICBHTF9BTFBIQSwgICAgICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0Ux
NkZfRVhULCAgICAgICBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX0hBTEZfRkxPQVQgICAgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0Ux
NkZfRVhULCAgICAgICBHTF9MVU1JTkFOQ0UsICAgICAgIEdMX0hBTEZfRkxPQVRfT0VTICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0Vf
QUxQSEExNkZfRVhULCBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0hBTEZfRkxPQVQgICAgICAgICAg
ICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9MVU1JTkFOQ0Vf
QUxQSEExNkZfRVhULCBHTF9MVU1JTkFOQ0VfQUxQSEEsIEdMX0hBTEZfRkxPQVRfT0VTICAgICAg
ICAgICAgICAgICk7CiAKICAgICAvLyBGcm9tIEdMX0VYVF90ZXh0dXJlX3N0b3JhZ2UgYW5kIEdM
X0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OAotICAgIEluc2VydEVTM0Zvcm1hdENvbWJvKCZz
ZXQsIEdMX0JHUkE4X0VYVCwgICAgICAgICAgICAgIEdMX0JHUkFfRVhULCAgICAgICAgR0xfVU5T
SUdORURfQllURSAgICAgICAgICAgICAgICAgKTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygm
c2V0LCBHTF9CR1JBNF9BTkdMRVgsICAgICAgICAgICBHTF9CR1JBX0VYVCwgICAgICAgIEdMX1VO
U0lHTkVEX1NIT1JUXzRfNF80XzRfUkVWX0VYVCk7Ci0gICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8o
JnNldCwgR0xfQkdSQTRfQU5HTEVYLCAgICAgICAgICAgR0xfQkdSQV9FWFQsICAgICAgICBHTF9V
TlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICApOwotICAgIEluc2VydEVTM0Zvcm1hdENvbWJv
KCZzZXQsIEdMX0JHUjVfQTFfQU5HTEVYLCAgICAgICAgIEdMX0JHUkFfRVhULCAgICAgICAgR0xf
VU5TSUdORURfU0hPUlRfMV81XzVfNV9SRVZfRVhUKTsKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21i
bygmc2V0LCBHTF9CR1I1X0ExX0FOR0xFWCwgICAgICAgICBHTF9CR1JBX0VYVCwgICAgICAgIEdM
X1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oc2V0LCBHTF9CR1JBOF9FWFQsICAgICAgICAgICAgICBHTF9CR1JBX0VYVCwgICAgICAgIEdM
X1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oc2V0LCBHTF9CR1JBNF9BTkdMRVgsICAgICAgICAgICBHTF9CR1JBX0VYVCwgICAgICAgIEdM
X1VOU0lHTkVEX1NIT1JUXzRfNF80XzRfUkVWX0VYVCk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oc2V0LCBHTF9CR1JBNF9BTkdMRVgsICAgICAgICAgICBHTF9CR1JBX0VYVCwgICAgICAgIEdM
X1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oc2V0LCBHTF9CR1I1X0ExX0FOR0xFWCwgICAgICAgICBHTF9CR1JBX0VYVCwgICAgICAgIEdM
X1VOU0lHTkVEX1NIT1JUXzFfNV81XzVfUkVWX0VYVCk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29t
Ym8oc2V0LCBHTF9CR1I1X0ExX0FOR0xFWCwgICAgICAgICBHTF9CR1JBX0VYVCwgICAgICAgIEdM
X1VOU0lHTkVEX0JZVEUgICAgICAgICAgICAgICAgICk7CiAKICAgICAvLyBGcm9tIEdMX0FOR0xF
X2RlcHRoX3RleHR1cmUKLSAgICBJbnNlcnRFUzNGb3JtYXRDb21ibygmc2V0LCBHTF9ERVBUSF9D
T01QT05FTlQzMl9PRVMsICBHTF9ERVBUSF9DT01QT05FTlQsIEdMX1VOU0lHTkVEX0lOVF8yNF84
X09FUyAgICAgICAgICk7CisgICAgSW5zZXJ0RVMzRm9ybWF0Q29tYm8oc2V0LCBHTF9ERVBUSF9D
T01QT05FTlQzMl9PRVMsICBHTF9ERVBUSF9DT01QT05FTlQsIEdMX1VOU0lHTkVEX0lOVF8yNF84
X09FUyAgICAgICAgICk7CiAKICAgICByZXR1cm4gc2V0OwogfQpAQCAtMjE3LDggKzIxNyw4IEBA
IHN0YXRpYyBib29sIFZhbGlkYXRlVGV4SW1hZ2VGb3JtYXRDb21iaW4KICAgICBib29sIGZvcm1h
dFN1cHBvcnRlZCA9IGZhbHNlOwogICAgIGJvb2wgdHlwZVN1cHBvcnRlZCA9IGZhbHNlOwogCi0g
ICAgc3RhdGljIGNvbnN0IEVTM0Zvcm1hdENvbWJpbmF0aW9uU2V0IGVzM0Zvcm1hdFNldCA9IEJ1
aWxkRVMzRm9ybWF0U2V0KCk7Ci0gICAgZm9yIChFUzNGb3JtYXRDb21iaW5hdGlvblNldDo6Y29u
c3RfaXRlcmF0b3IgaSA9IGVzM0Zvcm1hdFNldC5iZWdpbigpOyBpICE9IGVzM0Zvcm1hdFNldC5l
bmQoKTsgaSsrKQorICAgIHN0YXRpYyBjb25zdCBFUzNGb3JtYXRDb21iaW5hdGlvblNldCogZXMz
Rm9ybWF0U2V0ID0gQnVpbGRFUzNGb3JtYXRTZXQoKTsKKyAgICBmb3IgKEVTM0Zvcm1hdENvbWJp
bmF0aW9uU2V0Ojpjb25zdF9pdGVyYXRvciBpID0gZXMzRm9ybWF0U2V0LT5iZWdpbigpOyBpICE9
IGVzM0Zvcm1hdFNldC0+ZW5kKCk7IGkrKykKICAgICB7CiAgICAgICAgIGlmIChpLT5mb3JtYXQg
PT0gZm9ybWF0IHx8IGktPnR5cGUgPT0gdHlwZSkKICAgICAgICAgewpAQCAtMjUzLDcgKzI1Myw3
IEBAIHN0YXRpYyBib29sIFZhbGlkYXRlVGV4SW1hZ2VGb3JtYXRDb21iaW4KICAgICBzZWFyY2hG
b3JtYXQuZm9ybWF0ID0gZm9ybWF0OwogICAgIHNlYXJjaEZvcm1hdC50eXBlID0gdHlwZTsKIAot
ICAgIGlmIChlczNGb3JtYXRTZXQuZmluZChzZWFyY2hGb3JtYXQpID09IGVzM0Zvcm1hdFNldC5l
bmQoKSkKKyAgICBpZiAoZXMzRm9ybWF0U2V0LT5maW5kKHNlYXJjaEZvcm1hdCkgPT0gZXMzRm9y
bWF0U2V0LT5lbmQoKSkKICAgICB7CiAgICAgICAgIGNvbnRleHQtPnJlY29yZEVycm9yKEVycm9y
KEdMX0lOVkFMSURfT1BFUkFUSU9OKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTU5MSw0
MyArNTkxLDQzIEBAIHN0cnVjdCBFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdEluZm8KIAogdHlwZWRl
ZiBzdGQ6OnZlY3RvcjxFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdEluZm8+IEVmZmVjdGl2ZUludGVy
bmFsRm9ybWF0TGlzdDsKIAotc3RhdGljIEVmZmVjdGl2ZUludGVybmFsRm9ybWF0TGlzdCBCdWls
ZFNpemVkRWZmZWN0aXZlSW50ZXJuYWxGb3JtYXRMaXN0KCkKK3N0YXRpYyBFZmZlY3RpdmVJbnRl
cm5hbEZvcm1hdExpc3QqIEJ1aWxkU2l6ZWRFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdExpc3QoKQog
ewotICAgIEVmZmVjdGl2ZUludGVybmFsRm9ybWF0TGlzdCBsaXN0OworICAgIEVmZmVjdGl2ZUlu
dGVybmFsRm9ybWF0TGlzdCogbGlzdCA9IG5ldyBFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdExpc3Qo
KTsKIAogICAgIC8vIE9wZW5HTCBFUyAzLjAuMyBTcGVjaWZpY2F0aW9uLCBUYWJsZSAzLjE3LCBw
ZyAxNDE6IEVmZmVjdGl2ZSBpbnRlcm5hbCBmb3JtYXQgY29yZXNwb25kaW5nIHRvIGRlc3RpbmF0
aW9uIGludGVybmFsIGZvcm1hdCBhbmQKICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXIgc291cmNlIGJ1ZmZlciBjb21wb25lbnQg
c2l6ZXMuCiAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBTb3VyY2UgY2hhbm5lbCBtaW4vbWF4
IHNpemVzIHwKICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RWZmZWN0aXZlIEludGVybmFsIEZvcm1hdCB8ICBOL0EgICB8ICBSICAgfCAgRyAgIHwgIEIgICB8
ICBBICAgICAgfAotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9BTFBIQThfRVhULCAgICAgICAgICAgICAgR0xfTk9ORSwgMCwgIDAsIDAsICAwLCAwLCAg
MCwgMSwgOCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9SOCwgICAgICAgICAgICAgICAgICAgICAgR0xfTk9ORSwgMSwgIDgsIDAsICAwLCAwLCAg
MCwgMCwgMCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9SRzgsICAgICAgICAgICAgICAgICAgICAgR0xfTk9ORSwgMSwgIDgsIDEsICA4LCAwLCAg
MCwgMCwgMCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9SR0I1NjUsICAgICAgICAgICAgICAgICAgR0xfTk9ORSwgMSwgIDUsIDEsICA2LCAxLCAg
NSwgMCwgMCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9SR0I4LCAgICAgICAgICAgICAgICAgICAgR0xfTk9ORSwgNiwgIDgsIDcsICA4LCA2LCAg
OCwgMCwgMCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9SR0JBNCwgICAgICAgICAgICAgICAgICAgR0xfTk9ORSwgMSwgIDQsIDEsICA0LCAxLCAg
NCwgMSwgNCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9SR0I1X0ExLCAgICAgICAgICAgICAgICAgR0xfTk9ORSwgNSwgIDUsIDUsICA1LCA1LCAg
NSwgMSwgMSkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9SR0JBOCwgICAgICAgICAgICAgICAgICAgR0xfTk9ORSwgNSwgIDgsIDUsICA4LCA1LCAg
OCwgMiwgOCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9SR0IxMF9BMiwgICAgICAgICAgICAgICAgR0xfTk9ORSwgOSwgMTAsIDksIDEwLCA5LCAx
MCwgMiwgMikpOworICAgIGxpc3QtPnB1c2hfYmFjayhFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdElu
Zm8oR0xfQUxQSEE4X0VYVCwgICAgICAgICAgICAgIEdMX05PTkUsIDAsICAwLCAwLCAgMCwgMCwg
IDAsIDEsIDgpKTsKKyAgICBsaXN0LT5wdXNoX2JhY2soRWZmZWN0aXZlSW50ZXJuYWxGb3JtYXRJ
bmZvKEdMX1I4LCAgICAgICAgICAgICAgICAgICAgICBHTF9OT05FLCAxLCAgOCwgMCwgIDAsIDAs
ICAwLCAwLCAwKSk7CisgICAgbGlzdC0+cHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0
SW5mbyhHTF9SRzgsICAgICAgICAgICAgICAgICAgICAgR0xfTk9ORSwgMSwgIDgsIDEsICA4LCAw
LCAgMCwgMCwgMCkpOworICAgIGxpc3QtPnB1c2hfYmFjayhFZmZlY3RpdmVJbnRlcm5hbEZvcm1h
dEluZm8oR0xfUkdCNTY1LCAgICAgICAgICAgICAgICAgIEdMX05PTkUsIDEsICA1LCAxLCAgNiwg
MSwgIDUsIDAsIDApKTsKKyAgICBsaXN0LT5wdXNoX2JhY2soRWZmZWN0aXZlSW50ZXJuYWxGb3Jt
YXRJbmZvKEdMX1JHQjgsICAgICAgICAgICAgICAgICAgICBHTF9OT05FLCA2LCAgOCwgNywgIDgs
IDYsICA4LCAwLCAwKSk7CisgICAgbGlzdC0+cHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9y
bWF0SW5mbyhHTF9SR0JBNCwgICAgICAgICAgICAgICAgICAgR0xfTk9ORSwgMSwgIDQsIDEsICA0
LCAxLCAgNCwgMSwgNCkpOworICAgIGxpc3QtPnB1c2hfYmFjayhFZmZlY3RpdmVJbnRlcm5hbEZv
cm1hdEluZm8oR0xfUkdCNV9BMSwgICAgICAgICAgICAgICAgIEdMX05PTkUsIDUsICA1LCA1LCAg
NSwgNSwgIDUsIDEsIDEpKTsKKyAgICBsaXN0LT5wdXNoX2JhY2soRWZmZWN0aXZlSW50ZXJuYWxG
b3JtYXRJbmZvKEdMX1JHQkE4LCAgICAgICAgICAgICAgICAgICBHTF9OT05FLCA1LCAgOCwgNSwg
IDgsIDUsICA4LCAyLCA4KSk7CisgICAgbGlzdC0+cHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFs
Rm9ybWF0SW5mbyhHTF9SR0IxMF9BMiwgICAgICAgICAgICAgICAgR0xfTk9ORSwgOSwgMTAsIDks
IDEwLCA5LCAxMCwgMiwgMikpOwogCiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKLXN0YXRpYyBFZmZl
Y3RpdmVJbnRlcm5hbEZvcm1hdExpc3QgQnVpbGRVbnNpemVkRWZmZWN0aXZlSW50ZXJuYWxGb3Jt
YXRMaXN0KCkKK3N0YXRpYyBFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdExpc3QqIEJ1aWxkVW5zaXpl
ZEVmZmVjdGl2ZUludGVybmFsRm9ybWF0TGlzdCgpCiB7Ci0gICAgRWZmZWN0aXZlSW50ZXJuYWxG
b3JtYXRMaXN0IGxpc3Q7CisgICAgRWZmZWN0aXZlSW50ZXJuYWxGb3JtYXRMaXN0KiBsaXN0ID0g
bmV3IEVmZmVjdGl2ZUludGVybmFsRm9ybWF0TGlzdCgpOwogCiAgICAgLy8gT3BlbkdMIEVTIDMu
MC4zIFNwZWNpZmljYXRpb24sIFRhYmxlIDMuMTcsIHBnIDE0MTogRWZmZWN0aXZlIGludGVybmFs
IGZvcm1hdCBjb3Jlc3BvbmRpbmcgdG8gZGVzdGluYXRpb24gaW50ZXJuYWwgZm9ybWF0IGFuZAog
ICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpbmVhciBzb3VyY2UgYnVmZmVyIGNvbXBvbmVudCBzaXplcy4KICAgICAvLyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgIFNvdXJjZSBjaGFubmVsIG1pbi9tYXggc2l6
ZXMgICAgICAgICAgICB8CiAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEVmZmVjdGl2ZSBJbnRlcm5hbCBGb3JtYXQgfCAgICBEZXN0IEZvcm1hdCAgICAgfCAg
ICAgUiAgICAgfCAgICAgIEcgICAgIHwgICAgICBCICAgICB8ICAgICAgQSAgICAgfAotICAgIGxp
c3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5mbyhHTF9BTFBIQThfRVhULCAg
ICAgICAgICAgICAgR0xfQUxQSEEsICAgICAgICAgICAwLCBVSU5UX01BWCwgMCwgVUlOVF9NQVgs
IDAsIFVJTlRfTUFYLCAxLCAgICAgICAgOCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2
ZUludGVybmFsRm9ybWF0SW5mbyhHTF9MVU1JTkFOQ0U4X0VYVCwgICAgICAgICAgR0xfTFVNSU5B
TkNFLCAgICAgICAxLCAgICAgICAgOCwgMCwgVUlOVF9NQVgsIDAsIFVJTlRfTUFYLCAwLCBVSU5U
X01BWCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5mbyhH
TF9MVU1JTkFOQ0U4X0FMUEhBOF9FWFQsICAgR0xfTFVNSU5BTkNFX0FMUEhBLCAxLCAgICAgICAg
OCwgMCwgVUlOVF9NQVgsIDAsIFVJTlRfTUFYLCAxLCAgICAgICAgOCkpOwotICAgIGxpc3QucHVz
aF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5mbyhHTF9SR0I1NjUsICAgICAgICAgICAg
ICAgICAgR0xfUkdCLCAgICAgICAgICAgICAxLCAgICAgICAgNSwgMSwgICAgICAgIDYsIDEsICAg
ICAgICA1LCAwLCBVSU5UX01BWCkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVy
bmFsRm9ybWF0SW5mbyhHTF9SR0I4LCAgICAgICAgICAgICAgICAgICAgR0xfUkdCLCAgICAgICAg
ICAgICA2LCAgICAgICAgOCwgNywgICAgICAgIDgsIDYsICAgICAgICA4LCAwLCBVSU5UX01BWCkp
OwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5mbyhHTF9SR0JB
NCwgICAgICAgICAgICAgICAgICAgR0xfUkdCQSwgICAgICAgICAgICAxLCAgICAgICAgNCwgMSwg
ICAgICAgIDQsIDEsICAgICAgICA0LCAxLCAgICAgICAgNCkpOwotICAgIGxpc3QucHVzaF9iYWNr
KEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5mbyhHTF9SR0I1X0ExLCAgICAgICAgICAgICAgICAg
R0xfUkdCQSwgICAgICAgICAgICA1LCAgICAgICAgNSwgNSwgICAgICAgIDUsIDUsICAgICAgICA1
LCAxLCAgICAgICAgMSkpOwotICAgIGxpc3QucHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9y
bWF0SW5mbyhHTF9SR0JBOCwgICAgICAgICAgICAgICAgICAgR0xfUkdCQSwgICAgICAgICAgICA1
LCAgICAgICAgOCwgNSwgICAgICAgIDgsIDUsICAgICAgICA4LCA1LCAgICAgICAgOCkpOworICAg
IGxpc3QtPnB1c2hfYmFjayhFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdEluZm8oR0xfQUxQSEE4X0VY
VCwgICAgICAgICAgICAgIEdMX0FMUEhBLCAgICAgICAgICAgMCwgVUlOVF9NQVgsIDAsIFVJTlRf
TUFYLCAwLCBVSU5UX01BWCwgMSwgICAgICAgIDgpKTsKKyAgICBsaXN0LT5wdXNoX2JhY2soRWZm
ZWN0aXZlSW50ZXJuYWxGb3JtYXRJbmZvKEdMX0xVTUlOQU5DRThfRVhULCAgICAgICAgICBHTF9M
VU1JTkFOQ0UsICAgICAgIDEsICAgICAgICA4LCAwLCBVSU5UX01BWCwgMCwgVUlOVF9NQVgsIDAs
IFVJTlRfTUFYKSk7CisgICAgbGlzdC0+cHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0
SW5mbyhHTF9MVU1JTkFOQ0U4X0FMUEhBOF9FWFQsICAgR0xfTFVNSU5BTkNFX0FMUEhBLCAxLCAg
ICAgICAgOCwgMCwgVUlOVF9NQVgsIDAsIFVJTlRfTUFYLCAxLCAgICAgICAgOCkpOworICAgIGxp
c3QtPnB1c2hfYmFjayhFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdEluZm8oR0xfUkdCNTY1LCAgICAg
ICAgICAgICAgICAgIEdMX1JHQiwgICAgICAgICAgICAgMSwgICAgICAgIDUsIDEsICAgICAgICA2
LCAxLCAgICAgICAgNSwgMCwgVUlOVF9NQVgpKTsKKyAgICBsaXN0LT5wdXNoX2JhY2soRWZmZWN0
aXZlSW50ZXJuYWxGb3JtYXRJbmZvKEdMX1JHQjgsICAgICAgICAgICAgICAgICAgICBHTF9SR0Is
ICAgICAgICAgICAgIDYsICAgICAgICA4LCA3LCAgICAgICAgOCwgNiwgICAgICAgIDgsIDAsIFVJ
TlRfTUFYKSk7CisgICAgbGlzdC0+cHVzaF9iYWNrKEVmZmVjdGl2ZUludGVybmFsRm9ybWF0SW5m
byhHTF9SR0JBNCwgICAgICAgICAgICAgICAgICAgR0xfUkdCQSwgICAgICAgICAgICAxLCAgICAg
ICAgNCwgMSwgICAgICAgIDQsIDEsICAgICAgICA0LCAxLCAgICAgICAgNCkpOworICAgIGxpc3Qt
PnB1c2hfYmFjayhFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdEluZm8oR0xfUkdCNV9BMSwgICAgICAg
ICAgICAgICAgIEdMX1JHQkEsICAgICAgICAgICAgNSwgICAgICAgIDUsIDUsICAgICAgICA1LCA1
LCAgICAgICAgNSwgMSwgICAgICAgIDEpKTsKKyAgICBsaXN0LT5wdXNoX2JhY2soRWZmZWN0aXZl
SW50ZXJuYWxGb3JtYXRJbmZvKEdMX1JHQkE4LCAgICAgICAgICAgICAgICAgICBHTF9SR0JBLCAg
ICAgICAgICAgIDUsICAgICAgICA4LCA1LCAgICAgICAgOCwgNSwgICAgICAgIDgsIDUsICAgICAg
ICA4KSk7CiAKICAgICByZXR1cm4gbGlzdDsKIH0KQEAgLTY0MCwxMyArNjQwLDEzIEBAIHN0YXRp
YyBib29sIEdldEVmZmVjdGl2ZUludGVybmFsRm9ybWF0KGMKIAogICAgIGlmIChkZXN0Rm9ybWF0
LnBpeGVsQnl0ZXMgPiAwKQogICAgIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IEVmZmVjdGl2ZUlu
dGVybmFsRm9ybWF0TGlzdCBzaXplZExpc3QgPSBCdWlsZFNpemVkRWZmZWN0aXZlSW50ZXJuYWxG
b3JtYXRMaXN0KCk7Ci0gICAgICAgIGxpc3QgPSAmc2l6ZWRMaXN0OworICAgICAgICBzdGF0aWMg
Y29uc3QgRWZmZWN0aXZlSW50ZXJuYWxGb3JtYXRMaXN0KiBzaXplZExpc3QgPSBCdWlsZFNpemVk
RWZmZWN0aXZlSW50ZXJuYWxGb3JtYXRMaXN0KCk7CisgICAgICAgIGxpc3QgPSBzaXplZExpc3Q7
CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBFZmZlY3RpdmVJ
bnRlcm5hbEZvcm1hdExpc3QgdW5zaXplZExpc3QgPSBCdWlsZFVuc2l6ZWRFZmZlY3RpdmVJbnRl
cm5hbEZvcm1hdExpc3QoKTsKLSAgICAgICAgbGlzdCA9ICZ1bnNpemVkTGlzdDsKKyAgICAgICAg
c3RhdGljIGNvbnN0IEVmZmVjdGl2ZUludGVybmFsRm9ybWF0TGlzdCogdW5zaXplZExpc3QgPSBC
dWlsZFVuc2l6ZWRFZmZlY3RpdmVJbnRlcm5hbEZvcm1hdExpc3QoKTsKKyAgICAgICAgbGlzdCA9
IHVuc2l6ZWRMaXN0OwogICAgICAgICB0YXJnZXRGb3JtYXQgPSBkZXN0Rm9ybWF0LmZvcm1hdDsK
ICAgICB9CiAKQEAgLTY4Myw0NyArNjgzLDQ3IEBAIHN0cnVjdCBDb3B5Q29udmVyc2lvbgogCiB0
eXBlZGVmIHN0ZDo6c2V0PENvcHlDb252ZXJzaW9uPiBDb3B5Q29udmVyc2lvblNldDsKIAotc3Rh
dGljIENvcHlDb252ZXJzaW9uU2V0IEJ1aWxkVmFsaWRFUzNDb3B5VGV4SW1hZ2VDb21iaW5hdGlv
bnMoKQorc3RhdGljIENvcHlDb252ZXJzaW9uU2V0KiBCdWlsZFZhbGlkRVMzQ29weVRleEltYWdl
Q29tYmluYXRpb25zKCkKIHsKLSAgICBDb3B5Q29udmVyc2lvblNldCBzZXQ7CisgICAgQ29weUNv
bnZlcnNpb25TZXQqIHNldCA9IG5ldyBDb3B5Q29udmVyc2lvblNldCgpOwogCiAgICAgLy8gRnJv
bSBFUyAzLjAuMSBzcGVjLCB0YWJsZSAzLjE1Ci0gICAgc2V0Lmluc2VydChDb3B5Q29udmVyc2lv
bihHTF9BTFBIQSwgR0xfUkdCQSkpOwotICAgIHNldC5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xf
TFVNSU5BTkNFLCBHTF9SRUQpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX0xV
TUlOQU5DRSwgR0xfUkcpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX0xVTUlO
QU5DRSwgR0xfUkdCKSk7Ci0gICAgc2V0Lmluc2VydChDb3B5Q29udmVyc2lvbihHTF9MVU1JTkFO
Q0UsIEdMX1JHQkEpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX0xVTUlOQU5D
RV9BTFBIQSwgR0xfUkdCQSkpOwotICAgIHNldC5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xfUkVE
LCBHTF9SRUQpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX1JFRCwgR0xfUkcp
KTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX1JFRCwgR0xfUkdCKSk7Ci0gICAg
c2V0Lmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SRUQsIEdMX1JHQkEpKTsKLSAgICBzZXQuaW5z
ZXJ0KENvcHlDb252ZXJzaW9uKEdMX1JHLCBHTF9SRykpOwotICAgIHNldC5pbnNlcnQoQ29weUNv
bnZlcnNpb24oR0xfUkcsIEdMX1JHQikpOwotICAgIHNldC5pbnNlcnQoQ29weUNvbnZlcnNpb24o
R0xfUkcsIEdMX1JHQkEpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX1JHQiwg
R0xfUkdCKSk7Ci0gICAgc2V0Lmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SR0IsIEdMX1JHQkEp
KTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX1JHQkEsIEdMX1JHQkEpKTsKKyAg
ICBzZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihHTF9BTFBIQSwgR0xfUkdCQSkpOworICAgIHNl
dC0+aW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX0xVTUlOQU5DRSwgR0xfUkVEKSk7CisgICAgc2V0
LT5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xfTFVNSU5BTkNFLCBHTF9SRykpOworICAgIHNldC0+
aW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX0xVTUlOQU5DRSwgR0xfUkdCKSk7CisgICAgc2V0LT5p
bnNlcnQoQ29weUNvbnZlcnNpb24oR0xfTFVNSU5BTkNFLCBHTF9SR0JBKSk7CisgICAgc2V0LT5p
bnNlcnQoQ29weUNvbnZlcnNpb24oR0xfTFVNSU5BTkNFX0FMUEhBLCBHTF9SR0JBKSk7CisgICAg
c2V0LT5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xfUkVELCBHTF9SRUQpKTsKKyAgICBzZXQtPmlu
c2VydChDb3B5Q29udmVyc2lvbihHTF9SRUQsIEdMX1JHKSk7CisgICAgc2V0LT5pbnNlcnQoQ29w
eUNvbnZlcnNpb24oR0xfUkVELCBHTF9SR0IpKTsKKyAgICBzZXQtPmluc2VydChDb3B5Q29udmVy
c2lvbihHTF9SRUQsIEdMX1JHQkEpKTsKKyAgICBzZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihH
TF9SRywgR0xfUkcpKTsKKyAgICBzZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SRywgR0xf
UkdCKSk7CisgICAgc2V0LT5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xfUkcsIEdMX1JHQkEpKTsK
KyAgICBzZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SR0IsIEdMX1JHQikpOworICAgIHNl
dC0+aW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX1JHQiwgR0xfUkdCQSkpOworICAgIHNldC0+aW5z
ZXJ0KENvcHlDb252ZXJzaW9uKEdMX1JHQkEsIEdMX1JHQkEpKTsKIAogICAgIC8vIE5lY2Vzc2Fy
eSBmb3IgQU5HTEUgYmFjay1idWZmZXJzCi0gICAgc2V0Lmluc2VydChDb3B5Q29udmVyc2lvbihH
TF9BTFBIQSwgR0xfQkdSQV9FWFQpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJzaW9uKEdM
X0xVTUlOQU5DRSwgR0xfQkdSQV9FWFQpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJzaW9u
KEdMX0xVTUlOQU5DRV9BTFBIQSwgR0xfQkdSQV9FWFQpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlD
b252ZXJzaW9uKEdMX1JFRCwgR0xfQkdSQV9FWFQpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252
ZXJzaW9uKEdMX1JHLCBHTF9CR1JBX0VYVCkpOwotICAgIHNldC5pbnNlcnQoQ29weUNvbnZlcnNp
b24oR0xfUkdCLCBHTF9CR1JBX0VYVCkpOwotICAgIHNldC5pbnNlcnQoQ29weUNvbnZlcnNpb24o
R0xfUkdCQSwgR0xfQkdSQV9FWFQpKTsKLQotICAgIHNldC5pbnNlcnQoQ29weUNvbnZlcnNpb24o
R0xfUkVEX0lOVEVHRVIsIEdMX1JFRF9JTlRFR0VSKSk7Ci0gICAgc2V0Lmluc2VydChDb3B5Q29u
dmVyc2lvbihHTF9SRURfSU5URUdFUiwgR0xfUkdfSU5URUdFUikpOwotICAgIHNldC5pbnNlcnQo
Q29weUNvbnZlcnNpb24oR0xfUkVEX0lOVEVHRVIsIEdMX1JHQl9JTlRFR0VSKSk7Ci0gICAgc2V0
Lmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SRURfSU5URUdFUiwgR0xfUkdCQV9JTlRFR0VSKSk7
Ci0gICAgc2V0Lmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SR19JTlRFR0VSLCBHTF9SR19JTlRF
R0VSKSk7Ci0gICAgc2V0Lmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SR19JTlRFR0VSLCBHTF9S
R0JfSU5URUdFUikpOwotICAgIHNldC5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xfUkdfSU5URUdF
UiwgR0xfUkdCQV9JTlRFR0VSKSk7Ci0gICAgc2V0Lmluc2VydChDb3B5Q29udmVyc2lvbihHTF9S
R0JfSU5URUdFUiwgR0xfUkdCX0lOVEVHRVIpKTsKLSAgICBzZXQuaW5zZXJ0KENvcHlDb252ZXJz
aW9uKEdMX1JHQl9JTlRFR0VSLCBHTF9SR0JBX0lOVEVHRVIpKTsKLSAgICBzZXQuaW5zZXJ0KENv
cHlDb252ZXJzaW9uKEdMX1JHQkFfSU5URUdFUiwgR0xfUkdCQV9JTlRFR0VSKSk7CisgICAgc2V0
LT5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xfQUxQSEEsIEdMX0JHUkFfRVhUKSk7CisgICAgc2V0
LT5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xfTFVNSU5BTkNFLCBHTF9CR1JBX0VYVCkpOworICAg
IHNldC0+aW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX0xVTUlOQU5DRV9BTFBIQSwgR0xfQkdSQV9F
WFQpKTsKKyAgICBzZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SRUQsIEdMX0JHUkFfRVhU
KSk7CisgICAgc2V0LT5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xfUkcsIEdMX0JHUkFfRVhUKSk7
CisgICAgc2V0LT5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xfUkdCLCBHTF9CR1JBX0VYVCkpOwor
ICAgIHNldC0+aW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX1JHQkEsIEdMX0JHUkFfRVhUKSk7CisK
KyAgICBzZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SRURfSU5URUdFUiwgR0xfUkVEX0lO
VEVHRVIpKTsKKyAgICBzZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SRURfSU5URUdFUiwg
R0xfUkdfSU5URUdFUikpOworICAgIHNldC0+aW5zZXJ0KENvcHlDb252ZXJzaW9uKEdMX1JFRF9J
TlRFR0VSLCBHTF9SR0JfSU5URUdFUikpOworICAgIHNldC0+aW5zZXJ0KENvcHlDb252ZXJzaW9u
KEdMX1JFRF9JTlRFR0VSLCBHTF9SR0JBX0lOVEVHRVIpKTsKKyAgICBzZXQtPmluc2VydChDb3B5
Q29udmVyc2lvbihHTF9SR19JTlRFR0VSLCBHTF9SR19JTlRFR0VSKSk7CisgICAgc2V0LT5pbnNl
cnQoQ29weUNvbnZlcnNpb24oR0xfUkdfSU5URUdFUiwgR0xfUkdCX0lOVEVHRVIpKTsKKyAgICBz
ZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SR19JTlRFR0VSLCBHTF9SR0JBX0lOVEVHRVIp
KTsKKyAgICBzZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SR0JfSU5URUdFUiwgR0xfUkdC
X0lOVEVHRVIpKTsKKyAgICBzZXQtPmluc2VydChDb3B5Q29udmVyc2lvbihHTF9SR0JfSU5URUdF
UiwgR0xfUkdCQV9JTlRFR0VSKSk7CisgICAgc2V0LT5pbnNlcnQoQ29weUNvbnZlcnNpb24oR0xf
UkdCQV9JTlRFR0VSLCBHTF9SR0JBX0lOVEVHRVIpKTsKIAogICAgIHJldHVybiBzZXQ7CiB9CkBA
IC03MzMsOCArNzMzLDggQEAgc3RhdGljIGJvb2wgSXNWYWxpZEVTM0NvcHlUZXhJbWFnZUNvbWJp
bgogICAgIGNvbnN0IEludGVybmFsRm9ybWF0ICZ0ZXh0dXJlSW50ZXJuYWxGb3JtYXRJbmZvID0g
R2V0SW50ZXJuYWxGb3JtYXRJbmZvKHRleHR1cmVJbnRlcm5hbEZvcm1hdCk7CiAgICAgY29uc3Qg
SW50ZXJuYWxGb3JtYXQgJmZyYW1lYnVmZmVySW50ZXJuYWxGb3JtYXRJbmZvID0gR2V0SW50ZXJu
YWxGb3JtYXRJbmZvKGZyYW1lQnVmZmVySW50ZXJuYWxGb3JtYXQpOwogCi0gICAgc3RhdGljIGNv
bnN0IENvcHlDb252ZXJzaW9uU2V0IGNvbnZlcnNpb25TZXQgPSBCdWlsZFZhbGlkRVMzQ29weVRl
eEltYWdlQ29tYmluYXRpb25zKCk7Ci0gICAgaWYgKGNvbnZlcnNpb25TZXQuZmluZChDb3B5Q29u
dmVyc2lvbih0ZXh0dXJlSW50ZXJuYWxGb3JtYXRJbmZvLmZvcm1hdCwgZnJhbWVidWZmZXJJbnRl
cm5hbEZvcm1hdEluZm8uZm9ybWF0KSkgIT0gY29udmVyc2lvblNldC5lbmQoKSkKKyAgICBzdGF0
aWMgY29uc3QgQ29weUNvbnZlcnNpb25TZXQqIGNvbnZlcnNpb25TZXQgPSBCdWlsZFZhbGlkRVMz
Q29weVRleEltYWdlQ29tYmluYXRpb25zKCk7CisgICAgaWYgKGNvbnZlcnNpb25TZXQtPmZpbmQo
Q29weUNvbnZlcnNpb24odGV4dHVyZUludGVybmFsRm9ybWF0SW5mby5mb3JtYXQsIGZyYW1lYnVm
ZmVySW50ZXJuYWxGb3JtYXRJbmZvLmZvcm1hdCkpICE9IGNvbnZlcnNpb25TZXQtPmVuZCgpKQog
ICAgIHsKICAgICAgICAgLy8gU2VjdGlvbiAzLjguNSBvZiB0aGUgR0xFUyAzLjAuMyBzcGVjIHN0
YXRlcyB0aGF0IHNvdXJjZSBhbmQgZGVzdGluYXRpb24gZm9ybWF0cwogICAgICAgICAvLyBtdXN0
IGJvdGggYmUgc2lnbmVkLCB1bnNpZ25lZCwgb3IgZml4ZWQgcG9pbnQgYW5kIGJvdGggc291cmNl
IGFuZCBkZXN0aW5hdGlvbnMK
</data>
<flag name="review"
          id="308508"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="308509"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>