<?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>173675</bug_id>
          
          <creation_ts>2017-06-21 16:01:53 -0700</creation_ts>
          <short_desc>Update libyuv to 8cab2e31d76246263206318f3568d452e7f3ff3e</short_desc>
          <delta_ts>2017-06-21 18:23:21 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321662</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-06-21 16:01:53 -0700</bug_when>
    <thetext>Update libyuv to 8cab2e31d76246263206318f3568d452e7f3ff3e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321664</commentid>
    <comment_count>1</comment_count>
      <attachid>313559</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-06-21 16:06:00 -0700</bug_when>
    <thetext>Created attachment 313559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321713</commentid>
    <comment_count>2</comment_count>
      <attachid>313559</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-21 18:23:19 -0700</bug_when>
    <thetext>Comment on attachment 313559
Patch

Clearing flags on attachment: 313559

Committed r218670: &lt;http://trac.webkit.org/changeset/218670&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321714</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-21 18:23:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313559</attachid>
            <date>2017-06-21 16:06:00 -0700</date>
            <delta_ts>2017-06-21 18:23:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173675-20170621160559.patch</filename>
            <type>text/plain</type>
            <size>2974651</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBjZDhlN2EzMDY5ODc3Njg4YmFlNjgwODFkOTc2MjBmYzBhMjNmOWRmLi4zNjk2
OTRhMDQ3ZjFlMjA1NmY3ZmU4ZTNjN2YwOGEwYzIyNWZkYzk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMjYgQEAKIDIwMTctMDYtMjEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCisgICAgICAgIFVwZGF0ZSBsaWJ5dXYgdG8gOGNh
YjJlMzFkNzYyNDYyNjMyMDYzMThmMzU2OGQ0NTJlN2YzZmYzZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjc1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
Ly5jbGFuZy1mb3JtYXQ6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvLmdpdGlnbm9yZTogQWRkZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di9BbmRyb2lkLm1rOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvQlVJTEQu
Z246CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9DTV9saW51eF9wYWNrYWdl
cy5jbWFrZTogQWRkZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9DTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L0RFUFM6Cisg
ICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9QUkVTVUJNSVQucHk6CisgICAgICAg
IChfUnVuUHl0aG9uVGVzdHMpOgorICAgICAgICAoX1J1blB5dGhvblRlc3RzLmpvaW4pOgorICAg
ICAgICAoX0NvbW1vbkNoZWNrcyk6CisgICAgICAgIChDaGVja0NoYW5nZU9uVXBsb2FkKToKKyAg
ICAgICAgKENoZWNrQ2hhbmdlT25Db21taXQpOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvUkVBRE1FLmNocm9taXVtOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvYnVpbGRfb3ZlcnJpZGVzL2J1aWxkLmduaToKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L2Nocm9taXVtLy5nY2xpZW50OiBSZW1vdmVkLgorICAgICAgICAqIFNvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvY2hyb21pdW0vUkVBRE1FOiBSZW1vdmVkLgorICAgICAgICAq
IFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvY2xlYW51cF9saW5rcy5weTogQWRkZWQuCisgICAg
ICAgIChXZWJSVENMaW5rU2V0dXApOgorICAgICAgICAoV2ViUlRDTGlua1NldHVwLl9faW5pdF9f
KToKKyAgICAgICAgKFdlYlJUQ0xpbmtTZXR1cC5DbGVhbnVwTGlua3MpOgorICAgICAgICAoX2lu
aXRpYWxpemVfZGF0YWJhc2UpOgorICAgICAgICAobWFpbik6CisgICAgICAgICogU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di9jb2RlcmV2aWV3LnNldHRpbmdzOgorICAgICAgICAqIFNvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvZG9jcy9kZXByZWNhdGVkX2J1aWxkcy5tZDoKKyAgICAgICAgKiBT
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2RvY3MvZ2V0dGluZ19zdGFydGVkLm1kOgorICAgICAg
ICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvZ3lwX2xpYnl1di5weToKKyAgICAgICAgKiBT
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2Jhc2ljX3R5cGVzLmg6Cisg
ICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9jb21wYXJl
Lmg6CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9j
b21wYXJlX3Jvdy5oOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVk
ZS9saWJ5dXYvY29udmVydC5oOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
aW5jbHVkZS9saWJ5dXYvY29udmVydF9hcmdiLmg6CisgICAgICAgICogU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9jb252ZXJ0X2Zyb20uaDoKKyAgICAgICAgKiBTb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2NvbnZlcnRfZnJvbV9hcmdiLmg6
CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9jcHVf
aWQuaDoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2
L21hY3Jvc19tc2EuaDoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1
ZGUvbGlieXV2L21qcGVnX2RlY29kZXIuaDoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L2luY2x1ZGUvbGlieXV2L3BsYW5hcl9mdW5jdGlvbnMuaDoKKyAgICAgICAgKiBTb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3JvdGF0ZS5oOgorICAgICAgICAq
IFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvcm90YXRlX2FyZ2IuaDoK
KyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3JvdGF0
ZV9yb3cuaDoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGli
eXV2L3Jvdy5oOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9s
aWJ5dXYvc2NhbGUuaDoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1
ZGUvbGlieXV2L3NjYWxlX2FyZ2IuaDoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L2luY2x1ZGUvbGlieXV2L3NjYWxlX3Jvdy5oOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvdmVyc2lvbi5oOgorICAgICAgICAqIFNvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvdmlkZW9fY29tbW9uLmg6CisgICAgICAg
ICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmZyYS9jb25maWcvT1dORVJTOiBBZGRlZC4K
KyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luZnJhL2NvbmZpZy9SRUFETUUu
bWQ6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5mcmEvY29u
ZmlnL2NxLmNmZzogQWRkZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9s
aWJ5dXYuZ3lwOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvbGlieXV2Lmd5
cGk6CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9saWJ5dXZfdGVzdC5neXA6
CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9saW51eC5tazoKKyAgICAgICAg
KiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3B5bGludHJjOiBBZGRlZC4KKyAgICAgICAgKiBT
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NldHVwX2xpbmtzLnB5OiBSZW1vdmVkLgorICAgICAg
ICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbXBhcmUuY2M6CisgICAgICAg
ICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29tcGFyZV9jb21tb24uY2M6Cisg
ICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29tcGFyZV9nY2MuY2M6
CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29tcGFyZV9uZW9u
LmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbXBhcmVf
bmVvbjY0LmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2Nv
bXBhcmVfd2luLmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNl
L2NvbnZlcnQuY2M6CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uv
Y29udmVydF9hcmdiLmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291
cmNlL2NvbnZlcnRfZnJvbS5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3NvdXJjZS9jb252ZXJ0X2Zyb21fYXJnYi5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3NvdXJjZS9jb252ZXJ0X2pwZWcuY2M6CisgICAgICAgICogU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9zb3VyY2UvY29udmVydF90b19hcmdiLmNjOgorICAgICAgICAqIFNvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbnZlcnRfdG9faTQyMC5jYzoKKyAgICAgICAg
KiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jcHVfaWQuY2M6CisgICAgICAgICog
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvbWpwZWdfZGVjb2Rlci5jYzoKKyAgICAg
ICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9tanBlZ192YWxpZGF0ZS5jYzoK
KyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9wbGFuYXJfZnVuY3Rp
b25zLmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0
ZS5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3RhdGVf
YW55LmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0
ZV9hcmdiLmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jv
dGF0ZV9jb21tb24uY2M6CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3Vy
Y2Uvcm90YXRlX2RzcHIyLmNjOiBSZW5hbWVkIGZyb20gU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZV9taXBzLmNjLgorICAg
ICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZV9nY2MuY2M6Cisg
ICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90YXRlX21zYS5jYzog
QWRkZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90YXRl
X25lb24uY2M6CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90
YXRlX25lb242NC5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJj
ZS9yb3RhdGVfd2luLmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291
cmNlL3Jvd19hbnkuY2M6CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3Vy
Y2Uvcm93X2NvbW1vbi5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Nv
dXJjZS9yb3dfZHNwcjIuY2M6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvc291cmNlL3Jvd19nY2MuY2M6CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9zb3VyY2Uvcm93X21pcHMuY2M6IFJlbW92ZWQuCisgICAgICAgICogU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93X21zYS5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L3NvdXJjZS9yb3dfbmVvbi5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L3NvdXJjZS9yb3dfbmVvbjY0LmNjOgorICAgICAgICAqIFNvdXJjZS90aGly
ZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jvd193aW4uY2M6CisgICAgICAgICogU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGUuY2M6CisgICAgICAgICogU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfYW55LmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX2FyZ2IuY2M6CisgICAgICAgICogU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfY29tbW9uLmNjOgorICAgICAgICAqIFNvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX2RzcHIyLmNjOiBSZW5hbWVkIGZyb20gU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNl
L3NjYWxlX21pcHMuY2MuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3Vy
Y2Uvc2NhbGVfZ2NjLmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291
cmNlL3NjYWxlX21zYS5jYzogQWRkZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9zb3VyY2Uvc2NhbGVfbmVvbi5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L3NvdXJjZS9zY2FsZV9uZW9uNjQuY2M6CisgICAgICAgICogU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfd2luLmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvc291cmNlL3ZpZGVvX2NvbW1vbi5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3N5bmNfY2hyb21pdW0ucHk6IFJlbW92ZWQuCisgICAgICAgICogU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvQlVJTEQuZ246IFJlbW92
ZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxh
Z3MvTElDRU5TRTogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3RoaXJkX3BhcnR5L2dmbGFncy9SRUFETUUubGlieXV2OiBSZW1vdmVkLgorICAgICAgICAqIFNv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2ZsYWdzL2dlbi9wb3NpeC9pbmNs
dWRlL2dmbGFncy9nZmxhZ3MuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3RoaXJkX3BhcnR5L2dmbGFncy9nZW4vcG9zaXgvaW5jbHVkZS9nZmxhZ3MvZ2Zs
YWdzX2NvbXBsZXRpb25zLmg6IFJlbW92ZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3Bvc2l4L2luY2x1ZGUvZ2ZsYWdzL2dmbGFn
c19kZWNsYXJlLmg6IFJlbW92ZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3Bvc2l4L2luY2x1ZGUvZ2ZsYWdzL2dmbGFnc19nZmxh
Z3MuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3RoaXJk
X3BhcnR5L2dmbGFncy9nZW4vcG9zaXgvaW5jbHVkZS9wcml2YXRlL2NvbmZpZy5oOiBSZW1vdmVk
LgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2ZsYWdz
L2dlbi93aW4vaW5jbHVkZS9nZmxhZ3MvZ2ZsYWdzLmg6IFJlbW92ZWQuCisgICAgICAgICogU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3dpbi9pbmNsdWRl
L2dmbGFncy9nZmxhZ3NfY29tcGxldGlvbnMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L3RoaXJkX3BhcnR5L2dmbGFncy9nZW4vd2luL2luY2x1ZGUvZ2Zs
YWdzL2dmbGFnc19kZWNsYXJlLmg6IFJlbW92ZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3dpbi9pbmNsdWRlL2dmbGFncy9nZmxh
Z3NfZ2ZsYWdzLmg6IFJlbW92ZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3dpbi9pbmNsdWRlL3ByaXZhdGUvY29uZmlnLmg6IFJl
bW92ZWQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9n
ZmxhZ3MvZ2ZsYWdzLmd5cDogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L3Rvb2xzL2dyaXRzZXR0aW5ncy9SRUFETUU6IFJlbW92ZWQuCisgICAgICAgICogU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy9ncml0c2V0dGluZ3MvcmVzb3VyY2VfaWRzOiBS
ZW1vdmVkLgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3Jp
bmQtbGlieXV2L3RzYW4vT1dORVJTOiBSZW1vdmVkLgorICAgICAgICAqIFNvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L3RzYW4vUFJFU1VCTUlULnB5OiBSZW1v
dmVkLgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQt
bGlieXV2L3RzYW4vc3VwcHJlc3Npb25zLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di90c2FuL3N1cHByZXNzaW9u
c19tYWMudHh0OiBSZW1vdmVkLgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
dG9vbHMvdmFsZ3JpbmQtbGlieXV2L3RzYW4vc3VwcHJlc3Npb25zX3dpbjMyLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di9PV05F
UlM6IFJlbmFtZWQgZnJvbSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di90b29scy9PV05FUlMuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di90b29sc19saWJ5dXYvYXV0b3JvbGxlci9yb2xsX2RlcHMucHk6IEFkZGVkLgorICAg
ICAgICAoUm9sbEVycm9yKToKKyAgICAgICAgKFBhcnNlRGVwc0RpY3QpOgorICAgICAgICAoUGFy
c2VMb2NhbERlcHNGaWxlKToKKyAgICAgICAgKFBhcnNlUmVtb3RlQ3JEZXBzRmlsZSk6CisgICAg
ICAgIChQYXJzZUNvbW1pdFBvc2l0aW9uKToKKyAgICAgICAgKF9SdW5Db21tYW5kKToKKyAgICAg
ICAgKF9HZXRCcmFuY2hlcyk6CisgICAgICAgIChfUmVhZEdpdGlsZXNDb250ZW50KToKKyAgICAg
ICAgKFJlYWRSZW1vdGVDckZpbGUpOgorICAgICAgICAoUmVhZFJlbW90ZUNyQ29tbWl0KToKKyAg
ICAgICAgKFJlYWRVcmxDb250ZW50KToKKyAgICAgICAgKEdldE1hdGNoaW5nRGVwc0VudHJpZXMp
OgorICAgICAgICAoQnVpbGREZXBzZW50cnlEaWN0KToKKyAgICAgICAgKEJ1aWxkRGVwc2VudHJ5
RGljdC5BZGREZXBzRW50cmllcyk6CisgICAgICAgIChDYWxjdWxhdGVDaGFuZ2VkRGVwcyk6Cisg
ICAgICAgIChDYWxjdWxhdGVDaGFuZ2VkQ2xhbmcpOgorICAgICAgICAoQ2FsY3VsYXRlQ2hhbmdl
ZENsYW5nLkdldENsYW5nUmV2KToKKyAgICAgICAgKEdlbmVyYXRlQ29tbWl0TWVzc2FnZSk6Cisg
ICAgICAgIChVcGRhdGVEZXBzRmlsZSk6CisgICAgICAgIChfSXNUcmVlQ2xlYW4pOgorICAgICAg
ICAoX0Vuc3VyZVVwZGF0ZWRNYXN0ZXJCcmFuY2gpOgorICAgICAgICAoX0NyZWF0ZVJvbGxCcmFu
Y2gpOgorICAgICAgICAoX1JlbW92ZVByZXZpb3VzUm9sbEJyYW5jaCk6CisgICAgICAgIChfTG9j
YWxDb21taXQpOgorICAgICAgICAoX1VwbG9hZENMKToKKyAgICAgICAgKF9TZW5kVG9DUSk6Cisg
ICAgICAgIChtYWluKToKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xz
X2xpYnl1di9hdXRvcm9sbGVyL3VuaXR0ZXN0cy9yb2xsX2RlcHNfdGVzdC5weTogQWRkZWQuCisg
ICAgICAgIChUZXN0RXJyb3IpOgorICAgICAgICAoRmFrZUNtZCk6CisgICAgICAgIChGYWtlQ21k
Ll9faW5pdF9fKToKKyAgICAgICAgKEZha2VDbWQuYWRkX2V4cGVjdGF0aW9uKToKKyAgICAgICAg
KEZha2VDbWQuX19jYWxsX18pOgorICAgICAgICAoVGVzdFJvbGxDaHJvbWl1bVJldmlzaW9uKToK
KyAgICAgICAgKFRlc3RSb2xsQ2hyb21pdW1SZXZpc2lvbi5zZXRVcCk6CisgICAgICAgIChUZXN0
Um9sbENocm9taXVtUmV2aXNpb24udGVhckRvd24pOgorICAgICAgICAoVGVzdFJvbGxDaHJvbWl1
bVJldmlzaW9uLnRlc3RVcGRhdGVEZXBzRmlsZSk6CisgICAgICAgIChUZXN0Um9sbENocm9taXVt
UmV2aXNpb24udGVzdFBhcnNlRGVwc0RpY3QpOgorICAgICAgICAoVGVzdFJvbGxDaHJvbWl1bVJl
dmlzaW9uLnRlc3RQYXJzZURlcHNEaWN0LmFzc2VydFZhcik6CisgICAgICAgIChUZXN0Um9sbENo
cm9taXVtUmV2aXNpb24udGVzdEdldE1hdGNoaW5nRGVwc0VudHJpZXNSZXR1cm5zUGF0aEluU2lt
cGxlQ2FzZSk6CisgICAgICAgIChUZXN0Um9sbENocm9taXVtUmV2aXNpb24udGVzdEdldE1hdGNo
aW5nRGVwc0VudHJpZXNIYW5kbGVzU2ltaWxhclN0YXJ0aW5nUGF0aHMpOgorICAgICAgICAoVGVz
dFJvbGxDaHJvbWl1bVJldmlzaW9uLnRlc3RHZXRNYXRjaGluZ0RlcHNFbnRyaWVzSGFuZGxlc1R3
b1BhdGhzV2l0aElkZW50aWNhbEZpcnN0UGFydHMpOgorICAgICAgICAoVGVzdFJvbGxDaHJvbWl1
bVJldmlzaW9uLnRlc3RDYWxjdWxhdGVDaGFuZ2VkRGVwcyk6CisgICAgICAgIChfU2V0dXBHaXRM
c1JlbW90ZUNhbGwpOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNf
bGlieXV2L2F1dG9yb2xsZXIvdW5pdHRlc3RzL3Rlc3RkYXRhL0RFUFM6IEFkZGVkLgorICAgICAg
ICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L2F1dG9yb2xsZXIvdW5p
dHRlc3RzL3Rlc3RkYXRhL0RFUFMuY2hyb21pdW0ubmV3OiBBZGRlZC4KKyAgICAgICAgKiBTb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di9hdXRvcm9sbGVyL3VuaXR0ZXN0cy90
ZXN0ZGF0YS9ERVBTLmNocm9taXVtLm9sZDogQWRkZWQuCisgICAgICAgICogU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvZ2V0X2xhbmRtaW5lcy5weTogUmVuYW1lZCBmcm9t
IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rv
b2xzL2dldF9sYW5kbWluZXMucHkuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di90b29sc19saWJ5dXYvbXNhbi9PV05FUlM6IFJlbmFtZWQgZnJvbSBTb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy9tc2FuL09XTkVSUy4K
KyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di9tc2FuL2Js
YWNrbGlzdC50eHQ6IFJlbmFtZWQgZnJvbSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy9tc2FuL2JsYWNrbGlzdC50eHQuCisgICAgICAg
ICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdWJzYW4vT1dORVJTOiBS
ZW5hbWVkIGZyb20gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvdG9vbHMvdWJzYW4vT1dORVJTLgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvdG9vbHNfbGlieXV2L3Vic2FuL2JsYWNrbGlzdC50eHQ6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29s
cy91YnNhbi9ibGFja2xpc3QudHh0LgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvdG9vbHNfbGlieXV2L3Vic2FuL3ZwdHJfYmxhY2tsaXN0LnR4dDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xz
L3Vic2FuL3ZwdHJfYmxhY2tsaXN0LnR4dC4KKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L3Rvb2xzX2xpYnl1di92YWxncmluZC9saWJ5dXZfdGVzdHMuYmF0OiBSZW5hbWVkIGZy
b20gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
dG9vbHMvdmFsZ3JpbmQtbGlieXV2L2xpYnl1dl90ZXN0cy5iYXQuCisgICAgICAgICogU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdmFsZ3JpbmQvbGlieXV2X3Rlc3RzLnB5
OiBSZW5hbWVkIGZyb20gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L2xpYnl1dl90ZXN0cy5weS4KKyAgICAg
ICAgKExpYnl1dlRlc3QuX0RlZmF1bHRDb21tYW5kKToKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di92YWxncmluZC9saWJ5dXZfdGVzdHMuc2g6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di90b29scy92YWxncmluZC1saWJ5dXYvbGlieXV2X3Rlc3RzLnNoLgorICAgICAgICAqIFNv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L3ZhbGdyaW5kL21lbWNoZWNrL09X
TkVSUzogUmVuYW1lZCBmcm9tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di9tZW1jaGVjay9PV05FUlMuCisg
ICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdmFsZ3JpbmQv
bWVtY2hlY2svUFJFU1VCTUlULnB5OiBSZW5hbWVkIGZyb20gU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L21l
bWNoZWNrL1BSRVNVQk1JVC5weS4KKyAgICAgICAgKENoZWNrQ2hhbmdlKToKKyAgICAgICAgKiBT
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di92YWxncmluZC9tZW1jaGVjay9z
dXBwcmVzc2lvbnMudHh0OiBSZW5hbWVkIGZyb20gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L21lbWNoZWNr
L3N1cHByZXNzaW9ucy50eHQuCisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90
b29sc19saWJ5dXYvdmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJlc3Npb25zX21hYy50eHQ6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di90b29scy92YWxncmluZC1saWJ5dXYvbWVtY2hlY2svc3VwcHJlc3Npb25zX21hYy50eHQu
CisgICAgICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdmFsZ3Jp
bmQvbWVtY2hlY2svc3VwcHJlc3Npb25zX3dpbjMyLnR4dDogUmVuYW1lZCBmcm9tIFNvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL3ZhbGdy
aW5kLWxpYnl1di9tZW1jaGVjay9zdXBwcmVzc2lvbnNfd2luMzIudHh0LgorICAgICAgICAqIFNv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L2NvbG9yX3Rlc3QuY2M6CisgICAgICAg
ICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3QvY29tcGFyZV90ZXN0LmNjOgor
ICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L2NvbnZlcnRfdGVz
dC5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9jcHVf
dGVzdC5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9j
cHVfdGhyZWFkX3Rlc3QuY2M6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvdW5pdF90ZXN0L21hdGhfdGVzdC5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3VuaXRfdGVzdC9wbGFuYXJfdGVzdC5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9yb3RhdGVfYXJnYl90ZXN0LmNjOgorICAgICAgICAq
IFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L3JvdGF0ZV90ZXN0LmNjOgorICAg
ICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L3NjYWxlX2FyZ2JfdGVz
dC5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9zY2Fs
ZV90ZXN0LmNjOgorICAgICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0
L3VuaXRfdGVzdC5jYzoKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRf
dGVzdC91bml0X3Rlc3QuaDoKKyAgICAgICAgKFNpemVWYWxpZCk6CisgICAgICAgICogU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3QvdmlkZW9fY29tbW9uX3Rlc3QuY2M6CisgICAg
ICAgICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL2NvbXBhcmUuY2M6CisgICAgICAg
ICogU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL2NwdWlkLmM6CisgICAgICAgIChtYWlu
KToKKyAgICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3V0aWwvcHNuci5jYzoKKyAg
ICAgICAgKiBTb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3V0aWwvcHNucl9tYWluLmNjOgorICAg
ICAgICAqIFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRpbC9zc2ltLmNjOgorICAgICAgICAq
IFNvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRpbC9zc2ltLmg6CisgICAgICAgICogU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL3l1dmNvbnZlcnQuY2M6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL2Nv
bnZlcnQuY2MuCisKKzIwMTctMDYtMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCiAgICAgICAgIFJlZnJlc2ggdXNyc2N0cCB0byBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvV2ViS2l0L3BhdGNoLXVzcnNjdHAgYW5kIGxpYnNydHAgdG8gY2NmODQ3ODZmOGVmODAzY2I5
Yzc1ZTkxOWU1YTM5NzZiOWY1YTY3CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzM2NzMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvLmNsYW5nLWZvcm1hdCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2Ly5jbGFuZy1mb3Jt
YXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTlkNDg3MDUxZjVlZjlkMDQyYjRkNjMwZGVkOTg2M2IwNTlkYWE3ZQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2Ly5jbGFuZy1mb3JtYXQKQEAgLTAsMCArMSw2IEBACisjIERlZmluZXMg
dGhlIENocm9taXVtIHN0eWxlIGZvciBhdXRvbWF0aWMgcmVmb3JtYXR0aW5nLgorIyBodHRwOi8v
Y2xhbmcubGx2bS5vcmcvZG9jcy9DbGFuZ0Zvcm1hdFN0eWxlT3B0aW9ucy5odG1sCitCYXNlZE9u
U3R5bGU6IENocm9taXVtCistLS0KK0xhbmd1YWdlOiBKYXZhCitCYXNlZE9uU3R5bGU6IEdvb2ds
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvLmdpdGlnbm9yZSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2Ly5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2RkNjA0NjhlYjc0
MDkyZWViN2ZmZWIzMmM1MjJjMjU2YzFjOGRkYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2Ly5naXRpZ25vcmUK
QEAgLTAsMCArMSwzNSBAQAorKi5weWMKKy5sYW5kbWluZXMKK3Bpbi1sb2cudHh0CisvYmFzZQor
L2J1aWxkCisvYnVpbGR0b29scworL2dvb2dsZV9hcGlzCisvbGlua3MKKy9saW5rcy5kYgorL2lv
cworL21vam8KKy9uYXRpdmVfY2xpZW50CisvbmV0Cisvb3V0Cisvc2RlLWF2eC1zc2UtdHJhbnNp
dGlvbi1vdXQudHh0CisvdGVzdGluZworL3RoaXJkX3BhcnR5CisvdG9vbHMKKworIyBGaWxlcyBn
ZW5lcmF0ZWQgYnkgQ01ha2UgYnVpbGQKK2NtYWtlX2luc3RhbGwuY21ha2UKK0NNYWtlQ2FjaGUu
dHh0CitDTWFrZUZpbGVzLworeXV2Y29udmVydAorbGliZ3Rlc3QuYQorbGlieXV2LmEKK2xpYnl1
dl91bml0dGVzdAorCisjIEZpbGVzIGdlbmVyYXRlZCBieSB3aW5hcm0ubWsgYnVpbGQKK2xpYnl1
dl9hcm0ubGliCitzb3VyY2UvKi5vCisKKyMgRmlsZXMgZ2VuZXJhdGVkIGJ5IHBlcmYKK3BlcmYu
ZGF0YQorcGVyZi5kYXRhLm9sZApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvQW5kcm9pZC5tayBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L0FuZHJvaWQubWsKaW5kZXgg
Mzk4OGNiOTY5MTgwMzU1ZTQ2NDU0MzhkNjRhZjhlMGQ5OTkyYTcxOS4uZTAzNDU5MjY0NjE3YmM0
MzRhMGQzZTY0NTI2OWY3NjdkYjUwMjk4OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvQW5kcm9pZC5taworKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9BbmRyb2lk
Lm1rCkBAIC0xLDQgKzEsNCBAQAotIyBUaGlzIGlzIHRoZSBBbmRyb2lkIG1ha2VmaWxlIGZvciBs
aWJ5dXYgZm9yIGJvdGggcGxhdGZvcm0gYW5kIE5ESy4KKyMgVGhpcyBpcyB0aGUgQW5kcm9pZCBt
YWtlZmlsZSBmb3IgbGlieXV2IGZvciBOREsuCiBMT0NBTF9QQVRIOj0gJChjYWxsIG15LWRpcikK
IAogaW5jbHVkZSAkKENMRUFSX1ZBUlMpCkBAIC04LDggKzgsOSBAQCBMT0NBTF9DUFBfRVhURU5T
SU9OIDo9IC5jYwogTE9DQUxfU1JDX0ZJTEVTIDo9IFwKICAgICBzb3VyY2UvY29tcGFyZS5jYyAg
ICAgICAgICAgXAogICAgIHNvdXJjZS9jb21wYXJlX2NvbW1vbi5jYyAgICBcCi0gICAgc291cmNl
L2NvbXBhcmVfbmVvbjY0LmNjICAgIFwKICAgICBzb3VyY2UvY29tcGFyZV9nY2MuY2MgICAgICAg
XAorICAgIHNvdXJjZS9jb21wYXJlX25lb24uY2MgICAgICBcCisgICAgc291cmNlL2NvbXBhcmVf
bmVvbjY0LmNjICAgIFwKICAgICBzb3VyY2UvY29udmVydC5jYyAgICAgICAgICAgXAogICAgIHNv
dXJjZS9jb252ZXJ0X2FyZ2IuY2MgICAgICBcCiAgICAgc291cmNlL2NvbnZlcnRfZnJvbS5jYyAg
ICAgIFwKQEAgLTIyLDQ4ICsyMyw4MCBAQCBMT0NBTF9TUkNfRklMRVMgOj0gXAogICAgIHNvdXJj
ZS9yb3RhdGVfYW55LmNjICAgICAgICBcCiAgICAgc291cmNlL3JvdGF0ZV9hcmdiLmNjICAgICAg
IFwKICAgICBzb3VyY2Uvcm90YXRlX2NvbW1vbi5jYyAgICAgXAotICAgIHNvdXJjZS9yb3RhdGVf
bWlwcy5jYyAgICAgICBcCi0gICAgc291cmNlL3JvdGF0ZV9uZW9uNjQuY2MgICAgIFwKKyAgICBz
b3VyY2Uvcm90YXRlX2RzcHIyLmNjICAgICAgXAogICAgIHNvdXJjZS9yb3RhdGVfZ2NjLmNjICAg
ICAgICBcCisgICAgc291cmNlL3JvdGF0ZV9tc2EuY2MgICAgICAgIFwKKyAgICBzb3VyY2Uvcm90
YXRlX25lb24uY2MgICAgICAgXAorICAgIHNvdXJjZS9yb3RhdGVfbmVvbjY0LmNjICAgICBcCiAg
ICAgc291cmNlL3Jvd19hbnkuY2MgICAgICAgICAgIFwKICAgICBzb3VyY2Uvcm93X2NvbW1vbi5j
YyAgICAgICAgXAotICAgIHNvdXJjZS9yb3dfbWlwcy5jYyAgICAgICAgICBcCisgICAgc291cmNl
L3Jvd19kc3ByMi5jYyAgICAgICAgIFwKKyAgICBzb3VyY2Uvcm93X2djYy5jYyAgICAgICAgICAg
XAorICAgIHNvdXJjZS9yb3dfbXNhLmNjICAgICAgICAgICBcCisgICAgc291cmNlL3Jvd19uZW9u
LmNjICAgICAgICAgIFwKICAgICBzb3VyY2Uvcm93X25lb242NC5jYyAgICAgICAgXAotICAgIHNv
dXJjZS9yb3dfZ2NjLmNjCSAgICAgICAgXAogICAgIHNvdXJjZS9zY2FsZS5jYyAgICAgICAgICAg
ICBcCiAgICAgc291cmNlL3NjYWxlX2FueS5jYyAgICAgICAgIFwKICAgICBzb3VyY2Uvc2NhbGVf
YXJnYi5jYyAgICAgICAgXAogICAgIHNvdXJjZS9zY2FsZV9jb21tb24uY2MgICAgICBcCi0gICAg
c291cmNlL3NjYWxlX21pcHMuY2MgICAgICAgIFwKLSAgICBzb3VyY2Uvc2NhbGVfbmVvbjY0LmNj
ICAgICAgXAorICAgIHNvdXJjZS9zY2FsZV9kc3ByMi5jYyAgICAgICBcCiAgICAgc291cmNlL3Nj
YWxlX2djYy5jYyAgICAgICAgIFwKKyAgICBzb3VyY2Uvc2NhbGVfbXNhLmNjICAgICAgICAgXAor
ICAgIHNvdXJjZS9zY2FsZV9uZW9uLmNjICAgICAgICBcCisgICAgc291cmNlL3NjYWxlX25lb242
NC5jYyAgICAgIFwKICAgICBzb3VyY2UvdmlkZW9fY29tbW9uLmNjCiAKLSMgVE9ETyhmYmFyY2hh
cmQpOiBFbmFibGUgbWpwZWcgZW5jb2Rlci4KLSMgICBzb3VyY2UvbWpwZWdfZGVjb2Rlci5jYwot
IyAgIHNvdXJjZS9jb252ZXJ0X2pwZWcuY2MKLSMgICBzb3VyY2UvbWpwZWdfdmFsaWRhdGUuY2MK
LQotaWZlcSAoJChUQVJHRVRfQVJDSF9BQkkpLGFybWVhYmktdjdhKQotICAgIExPQ0FMX0NGTEFH
UyArPSAtRExJQllVVl9ORU9OCi0gICAgTE9DQUxfU1JDX0ZJTEVTICs9IFwKLSAgICAgICAgc291
cmNlL2NvbXBhcmVfbmVvbi5jYy5uZW9uICAgIFwKLSAgICAgICAgc291cmNlL3JvdGF0ZV9uZW9u
LmNjLm5lb24gICAgIFwKLSAgICAgICAgc291cmNlL3Jvd19uZW9uLmNjLm5lb24gICAgICAgIFwK
LSAgICAgICAgc291cmNlL3NjYWxlX25lb24uY2MubmVvbgotZW5kaWYKLQotaWZlcSAoJChUQVJH
RVRfQVJDSF9BQkkpLG1pcHMpCi0gICAgTE9DQUxfQ0ZMQUdTICs9IC1ETElCWVVWX01TQQotICAg
IExPQ0FMX1NSQ19GSUxFUyArPSBcCi0gICAgICAgIHNvdXJjZS9yb3dfbXNhLmNjCitjb21tb25f
Q0ZMQUdTIDo9IC1XYWxsIC1mZXhjZXB0aW9ucworaWZuZXEgKCQoTElCWVVWX0RJU0FCTEVfSlBF
RyksICJ5ZXMiKQorTE9DQUxfU1JDX0ZJTEVTICs9IFwKKyAgICBzb3VyY2UvY29udmVydF9qcGVn
LmNjICAgICAgXAorICAgIHNvdXJjZS9tanBlZ19kZWNvZGVyLmNjICAgICBcCisgICAgc291cmNl
L21qcGVnX3ZhbGlkYXRlLmNjCitjb21tb25fQ0ZMQUdTICs9IC1ESEFWRV9KUEVHCitMT0NBTF9T
SEFSRURfTElCUkFSSUVTIDo9IGxpYmpwZWcKIGVuZGlmCiAKK0xPQ0FMX0NGTEFHUyArPSAkKGNv
bW1vbl9DRkxBR1MpCiBMT0NBTF9FWFBPUlRfQ19JTkNMVURFUyA6PSAkKExPQ0FMX1BBVEgpL2lu
Y2x1ZGUKIExPQ0FMX0NfSU5DTFVERVMgKz0gJChMT0NBTF9QQVRIKS9pbmNsdWRlCitMT0NBTF9F
WFBPUlRfQ19JTkNMVURFX0RJUlMgOj0gJChMT0NBTF9QQVRIKS9pbmNsdWRlCiAKIExPQ0FMX01P
RFVMRSA6PSBsaWJ5dXZfc3RhdGljCiBMT0NBTF9NT0RVTEVfVEFHUyA6PSBvcHRpb25hbAogCiBp
bmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCiAKK2luY2x1ZGUgJChDTEVBUl9WQVJTKQor
CitMT0NBTF9XSE9MRV9TVEFUSUNfTElCUkFSSUVTIDo9IGxpYnl1dl9zdGF0aWMKK0xPQ0FMX01P
RFVMRSA6PSBsaWJ5dXYKK2lmbmVxICgkKExJQllVVl9ESVNBQkxFX0pQRUcpLCAieWVzIikKK0xP
Q0FMX1NIQVJFRF9MSUJSQVJJRVMgOj0gbGlianBlZworZW5kaWYKKworaW5jbHVkZSAkKEJVSUxE
X1NIQVJFRF9MSUJSQVJZKQorCitpbmNsdWRlICQoQ0xFQVJfVkFSUykKK0xPQ0FMX1NUQVRJQ19M
SUJSQVJJRVMgOj0gbGlieXV2X3N0YXRpYworTE9DQUxfU0hBUkVEX0xJQlJBUklFUyA6PSBsaWJq
cGVnCitMT0NBTF9NT0RVTEVfVEFHUyA6PSB0ZXN0cworTE9DQUxfQ1BQX0VYVEVOU0lPTiA6PSAu
Y2MKK0xPQ0FMX0NfSU5DTFVERVMgKz0gJChMT0NBTF9QQVRIKS9pbmNsdWRlCitMT0NBTF9TUkNf
RklMRVMgOj0gXAorICAgIHVuaXRfdGVzdC91bml0X3Rlc3QuY2MgICAgICAgIFwKKyAgICB1bml0
X3Rlc3QvYmFzaWN0eXBlc190ZXN0LmNjICBcCisgICAgdW5pdF90ZXN0L2NvbG9yX3Rlc3QuY2Mg
ICAgICAgXAorICAgIHVuaXRfdGVzdC9jb21wYXJlX3Rlc3QuY2MgICAgIFwKKyAgICB1bml0X3Rl
c3QvY29udmVydF90ZXN0LmNjICAgICBcCisgICAgdW5pdF90ZXN0L2NwdV90ZXN0LmNjICAgICAg
ICAgXAorICAgIHVuaXRfdGVzdC9jcHVfdGhyZWFkX3Rlc3QuY2MgIFwKKyAgICB1bml0X3Rlc3Qv
bWF0aF90ZXN0LmNjICAgICAgICBcCisgICAgdW5pdF90ZXN0L3BsYW5hcl90ZXN0LmNjICAgICAg
XAorICAgIHVuaXRfdGVzdC9yb3RhdGVfYXJnYl90ZXN0LmNjIFwKKyAgICB1bml0X3Rlc3Qvcm90
YXRlX3Rlc3QuY2MgICAgICBcCisgICAgdW5pdF90ZXN0L3NjYWxlX2FyZ2JfdGVzdC5jYyAgXAor
ICAgIHVuaXRfdGVzdC9zY2FsZV90ZXN0LmNjICAgICAgIFwKKyAgICB1bml0X3Rlc3QvdmlkZW9f
Y29tbW9uX3Rlc3QuY2MKKworTE9DQUxfTU9EVUxFIDo9IGxpYnl1dl91bml0dGVzdAoraW5jbHVk
ZSAkKEJVSUxEX05BVElWRV9URVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvQlVJTEQuZ24gYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9CVUlMRC5nbgppbmRleCAw
NGJmODBmZmZmNmM2NGVjZjFkN2M0YTcxOGNmZTM5NWQzNmRiMDhiLi44MDU3Y2ZmYTc5OGE2ZDcy
MTUyNDI2ZWM4NmU0NTM5ZWE2MjcxOTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9CVUlMRC5nbgorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9CVUlMRC5nbgpA
QCAtOSw5ICs5LDE0IEBACiBpbXBvcnQoImxpYnl1di5nbmkiKQogaW1wb3J0KCIvL3Rlc3Rpbmcv
dGVzdC5nbmkiKQogCitkZWNsYXJlX2FyZ3MoKSB7CisgICMgU2V0IHRvIGZhbHNlIHRvIGRpc2Fi
bGUgYnVpbGRpbmcgd2l0aCBnZmxhZ3MuCisgIGxpYnl1dl91c2VfZ2ZsYWdzID0gdHJ1ZQorfQor
CiBjb25maWcoImxpYnl1dl9jb25maWciKSB7CiAgIGluY2x1ZGVfZGlycyA9IFsgImluY2x1ZGUi
IF0KLSAgaWYgKGlzX2FuZHJvaWQgJiYgY3VycmVudF9jcHU9PSJhcm02NCIpIHsKKyAgaWYgKGlz
X2FuZHJvaWQgJiYgY3VycmVudF9jcHUgPT0gImFybTY0IikgewogICAgIGxkZmxhZ3MgPSBbICIt
V2wsLS1keW5hbWljLWxpbmtlciwvc3lzdGVtL2Jpbi9saW5rZXI2NCIgXQogICB9CiAgIGlmIChp
c19hbmRyb2lkICYmIGN1cnJlbnRfY3B1ICE9ICJhcm02NCIpIHsKQEAgLTI4LDE1ICszMyw0MSBA
QCBncm91cCgiZGVmYXVsdCIpIHsKICAgaWYgKGxpYnl1dl9pbmNsdWRlX3Rlc3RzKSB7CiAgICAg
ZGVwcyArPSBbCiAgICAgICAiOmNvbXBhcmUiLAotICAgICAgIjpjb252ZXJ0IiwKICAgICAgICI6
Y3B1aWQiLAogICAgICAgIjpsaWJ5dXZfdW5pdHRlc3QiLAogICAgICAgIjpwc25yIiwKKyAgICAg
ICI6eXV2Y29udmVydCIsCisgICAgXQorICB9Cit9CisKK2dyb3VwKCJsaWJ5dXYiKSB7CisgIHB1
YmxpY19jb25maWdzID0gWyAiOmxpYnl1dl9jb25maWciIF0KKworICBpZiAoaXNfd2luICYmIHRh
cmdldF9jcHUgPT0gIng2NCIpIHsKKyAgICAjIENvbXBpbGUgd2l0aCBjbGFuZyBpbiBvcmRlciB0
byBnZXQgaW5saW5lIGFzc2VtYmx5CisgICAgcHVibGljX2RlcHMgPSBbCisgICAgICAiOmxpYnl1
dl9pbnRlcm5hbCgvL2J1aWxkL3Rvb2xjaGFpbi93aW46Y2xhbmdfeDY0KSIsCisgICAgXQorICB9
IGVsc2UgeworICAgIHB1YmxpY19kZXBzID0gWworICAgICAgIjpsaWJ5dXZfaW50ZXJuYWwiLAor
ICAgIF0KKyAgfQorCisgIGlmICghaXNfaW9zKSB7CisgICAgIyBNYWtlIHN1cmUgdGhhdCBjbGll
bnRzIG9mIGxpYnl1diBsaW5rIHdpdGggbGlianBlZy4gVGhpcyBjYW4ndCBnbyBpbgorICAgICMg
bGlieXV2X2ludGVybmFsIGJlY2F1c2UgaW4gV2luZG93cyB4NjQgYnVpbGRzIHRoYXQgd2lsbCBn
ZW5lcmF0ZSBhIGNsYW5nCisgICAgIyBidWlsZCBvZiBsaWJqcGVnLCBhbmQgd2UgZG9uJ3Qgd2Fu
dCB0d28gY29waWVzLgorICAgIGRlcHMgPSBbCisgICAgICAiLy90aGlyZF9wYXJ0eTpqcGVnIiwK
ICAgICBdCiAgIH0KIH0KIAotc3RhdGljX2xpYnJhcnkoImxpYnl1diIpIHsKK3N0YXRpY19saWJy
YXJ5KCJsaWJ5dXZfaW50ZXJuYWwiKSB7CisgIHZpc2liaWxpdHkgPSBbICI6KiIgXQorCiAgIHNv
dXJjZXMgPSBbCiAgICAgIyBIZWFkZXJzCiAgICAgImluY2x1ZGUvbGlieXV2LmgiLApAQCAtNzks
MzIgKzExMCwzNCBAQCBzdGF0aWNfbGlicmFyeSgibGlieXV2IikgewogICAgICJzb3VyY2Uvcm90
YXRlX2FueS5jYyIsCiAgICAgInNvdXJjZS9yb3RhdGVfYXJnYi5jYyIsCiAgICAgInNvdXJjZS9y
b3RhdGVfY29tbW9uLmNjIiwKLSAgICAic291cmNlL3JvdGF0ZV9taXBzLmNjIiwKKyAgICAic291
cmNlL3JvdGF0ZV9kc3ByMi5jYyIsCiAgICAgInNvdXJjZS9yb3RhdGVfZ2NjLmNjIiwKICAgICAi
c291cmNlL3JvdGF0ZV93aW4uY2MiLAogICAgICJzb3VyY2Uvcm93X2FueS5jYyIsCiAgICAgInNv
dXJjZS9yb3dfY29tbW9uLmNjIiwKLSAgICAic291cmNlL3Jvd19taXBzLmNjIiwKKyAgICAic291
cmNlL3Jvd19kc3ByMi5jYyIsCiAgICAgInNvdXJjZS9yb3dfZ2NjLmNjIiwKICAgICAic291cmNl
L3Jvd193aW4uY2MiLAogICAgICJzb3VyY2Uvc2NhbGUuY2MiLAogICAgICJzb3VyY2Uvc2NhbGVf
YW55LmNjIiwKICAgICAic291cmNlL3NjYWxlX2FyZ2IuY2MiLAogICAgICJzb3VyY2Uvc2NhbGVf
Y29tbW9uLmNjIiwKLSAgICAic291cmNlL3NjYWxlX21pcHMuY2MiLAorICAgICJzb3VyY2Uvc2Nh
bGVfZHNwcjIuY2MiLAogICAgICJzb3VyY2Uvc2NhbGVfZ2NjLmNjIiwKICAgICAic291cmNlL3Nj
YWxlX3dpbi5jYyIsCiAgICAgInNvdXJjZS92aWRlb19jb21tb24uY2MiLAogICBdCiAKLSAgcHVi
bGljX2NvbmZpZ3MgPSBbICI6bGlieXV2X2NvbmZpZyIgXQotCisgIGNvbmZpZ3MgKz0gWyAiOmxp
Ynl1dl9jb25maWciIF0KICAgZGVmaW5lcyA9IFtdCiAgIGRlcHMgPSBbXQogCiAgIGlmICghaXNf
aW9zKSB7CiAgICAgZGVmaW5lcyArPSBbICJIQVZFX0pQRUciIF0KLSAgICBkZXBzICs9IFsgIi8v
dGhpcmRfcGFydHk6anBlZyIgXQorCisgICAgIyBOZWVkZWQgdG8gcHVsbCBpbiBsaWJqcGVnIGhl
YWRlcnMuIENhbid0IGFkZCAvL3RoaXJkX3BhcnR5OmpwZWcgdG8gZGVwcworICAgICMgYmVjYXVz
ZSBpbiBXaW5kb3dzIHg2NCBidWlsZCBpdCB3aWxsIGdldCBjb21waWxlZCB3aXRoIGNsYW5nLgor
ICAgIGRlcHMgKz0gWyAiLy90aGlyZF9wYXJ0eTpqcGVnX2luY2x1ZGVzIiBdCiAgIH0KIAogICBp
ZiAobGlieXV2X3VzZV9uZW9uKSB7CkBAIC0xMTksMTMgKzE1MiwxNCBAQCBzdGF0aWNfbGlicmFy
eSgibGlieXV2IikgewogICAjIGNyYnVnLmNvbS81MzgyNDMpLgogICBpZiAoIWlzX2RlYnVnIHx8
IGlzX25hY2wpIHsKICAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOmRl
ZmF1bHRfb3B0aW1pemF0aW9uIiBdCisKICAgICAjIEVuYWJsZSBvcHRpbWl6ZSBmb3Igc3BlZWQg
KC1PMikgb3ZlciBzaXplICgtT3MpLgogICAgIGNvbmZpZ3MgKz0gWyAiLy9idWlsZC9jb25maWcv
Y29tcGlsZXI6b3B0aW1pemVfbWF4IiBdCiAgIH0KIAogICAjIFRvIGVuYWJsZSBBVlgyIG9yIG90
aGVyIGNwdSBvcHRpbWl6YXRpb24sIHBhc3MgZmxhZyBoZXJlCi0gICMgIGNmbGFncyA9IFsgIi1t
YXZ4MiIgXQotCisgICMgY2ZsYWdzID0gWyAiLW1hdngyIiBdCisgICMgY2ZsYWdzID0gWyAiLW1w
b3BjbnQiIF0KIH0KIAogaWYgKGxpYnl1dl91c2VfbmVvbikgewpAQCAtMTQ4LDYgKzE4Miw3IEBA
IGlmIChsaWJ5dXZfdXNlX25lb24pIHsKICAgICAjIGNyYnVnLmNvbS81MzgyNDMpLgogICAgIGlm
ICghaXNfZGVidWcpIHsKICAgICAgIGNvbmZpZ3MgLT0gWyAiLy9idWlsZC9jb25maWcvY29tcGls
ZXI6ZGVmYXVsdF9vcHRpbWl6YXRpb24iIF0KKwogICAgICAgIyBFbmFibGUgb3B0aW1pemUgZm9y
IHNwZWVkICgtTzIpIG92ZXIgc2l6ZSAoLU9zKS4KICAgICAgIGNvbmZpZ3MgKz0gWyAiLy9idWls
ZC9jb25maWcvY29tcGlsZXI6b3B0aW1pemVfbWF4IiBdCiAgICAgfQpAQCAtMTYzLDcgKzE5OCw5
IEBAIGlmIChsaWJ5dXZfdXNlX21zYSkgewogICBzdGF0aWNfbGlicmFyeSgibGlieXV2X21zYSIp
IHsKICAgICBzb3VyY2VzID0gWwogICAgICAgIyBNU0EgU291cmNlIEZpbGVzCisgICAgICAic291
cmNlL3JvdGF0ZV9tc2EuY2MiLAogICAgICAgInNvdXJjZS9yb3dfbXNhLmNjIiwKKyAgICAgICJz
b3VyY2Uvc2NhbGVfbXNhLmNjIiwKICAgICBdCiAKICAgICBwdWJsaWNfY29uZmlncyA9IFsgIjps
aWJ5dXZfY29uZmlnIiBdCkBAIC0xNzYsMTMgKzIxMywxMyBAQCBpZiAobGlieXV2X2luY2x1ZGVf
dGVzdHMpIHsKICAgICAgIGNmbGFncyA9IFsKICAgICAgICAgIyBUT0RPKGZiYXJjaGFyZCk6IEZp
eCBzaWduIGFuZCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MuCiAgICAgICAgICItV25vLXNpZ24t
Y29tcGFyZSIsCi0gICAgICAgICItV25vLXVudXNlZC12YXJpYWJsZSIKKyAgICAgICAgIi1Xbm8t
dW51c2VkLXZhcmlhYmxlIiwKICAgICAgIF0KICAgICB9CiAgICAgaWYgKGlzX3dpbikgewogICAg
ICAgY2ZsYWdzID0gWwotICAgICAgICAiL3dkNDI0NSIsICMgc2lnbmVkL3Vuc2lnbmVkIG1pc21h
dGNoCi0gICAgICAgICIvd2Q0MTg5IiwgIyBsb2NhbCB2YXJpYWJsZSBpcyBpbml0aWFsaXplZCBi
dXQgbm90IHJlZmVyZW5jZWQKKyAgICAgICAgIi93ZDQyNDUiLCAgIyBzaWduZWQvdW5zaWduZWQg
bWlzbWF0Y2gKKyAgICAgICAgIi93ZDQxODkiLCAgIyBsb2NhbCB2YXJpYWJsZSBpcyBpbml0aWFs
aXplZCBidXQgbm90IHJlZmVyZW5jZWQKICAgICAgIF0KICAgICB9CiAgIH0KQEAgLTE5NCwxNCAr
MjMxLDE0IEBAIGlmIChsaWJ5dXZfaW5jbHVkZV90ZXN0cykgewogICAgIHRlc3Rvbmx5ID0gdHJ1
ZQogCiAgICAgc291cmNlcyA9IFsKLSAgICAgICMgaGVhZGVycwotICAgICAgInVuaXRfdGVzdC91
bml0X3Rlc3QuaCIsCiAgICAgICAjIHNvdXJjZXMKKyAgICAgICMgaGVhZGVycwogICAgICAgInVu
aXRfdGVzdC9iYXNpY3R5cGVzX3Rlc3QuY2MiLAotICAgICAgInVuaXRfdGVzdC9jb21wYXJlX3Rl
c3QuY2MiLAogICAgICAgInVuaXRfdGVzdC9jb2xvcl90ZXN0LmNjIiwKKyAgICAgICJ1bml0X3Rl
c3QvY29tcGFyZV90ZXN0LmNjIiwKICAgICAgICJ1bml0X3Rlc3QvY29udmVydF90ZXN0LmNjIiwK
ICAgICAgICJ1bml0X3Rlc3QvY3B1X3Rlc3QuY2MiLAorICAgICAgInVuaXRfdGVzdC9jcHVfdGhy
ZWFkX3Rlc3QuY2MiLAogICAgICAgInVuaXRfdGVzdC9tYXRoX3Rlc3QuY2MiLAogICAgICAgInVu
aXRfdGVzdC9wbGFuYXJfdGVzdC5jYyIsCiAgICAgICAidW5pdF90ZXN0L3JvdGF0ZV9hcmdiX3Rl
c3QuY2MiLApAQCAtMjA5LDIyICsyNDYsMjggQEAgaWYgKGxpYnl1dl9pbmNsdWRlX3Rlc3RzKSB7
CiAgICAgICAidW5pdF90ZXN0L3NjYWxlX2FyZ2JfdGVzdC5jYyIsCiAgICAgICAidW5pdF90ZXN0
L3NjYWxlX3Rlc3QuY2MiLAogICAgICAgInVuaXRfdGVzdC91bml0X3Rlc3QuY2MiLAorICAgICAg
InVuaXRfdGVzdC91bml0X3Rlc3QuaCIsCiAgICAgICAidW5pdF90ZXN0L3ZpZGVvX2NvbW1vbl90
ZXN0LmNjIiwKICAgICBdCiAKICAgICBkZXBzID0gWwogICAgICAgIjpsaWJ5dXYiLAogICAgICAg
Ii8vdGVzdGluZy9ndGVzdCIsCi0gICAgICAiLy90aGlyZF9wYXJ0eS9nZmxhZ3MiLAogICAgIF0K
IAorICAgIGRlZmluZXMgPSBbXQorICAgIGlmIChsaWJ5dXZfdXNlX2dmbGFncykgeworICAgICAg
ZGVmaW5lcyArPSBbICJMSUJZVVZfVVNFX0dGTEFHUyIgXQorICAgICAgZGVwcyArPSBbICIvL3Ro
aXJkX3BhcnR5L2dmbGFncyIgXQorICAgIH0KKwogICAgIGNvbmZpZ3MgKz0gWyAiOmxpYnl1dl91
bml0dGVzdF93YXJuaW5nc19jb25maWciIF0KIAotICAgIHB1YmxpY19kZXBzID0gWyAiLy90ZXN0
aW5nL2d0ZXN0IiBdCisgICAgcHVibGljX2RlcHMgPSBbCisgICAgICAiLy90ZXN0aW5nL2d0ZXN0
IiwKKyAgICBdCiAgICAgcHVibGljX2NvbmZpZ3MgPSBbICI6bGlieXV2X3VuaXR0ZXN0X2NvbmZp
ZyIgXQogCi0gICAgZGVmaW5lcyA9IFtdCi0KICAgICBpZiAoaXNfbGludXgpIHsKICAgICAgIGNm
bGFncyA9IFsgIi1mZXhjZXB0aW9ucyIgXQogICAgIH0KQEAgLTI0Miw4ICsyODUsOCBAQCBpZiAo
bGlieXV2X2luY2x1ZGVfdGVzdHMpIHsKIAogICAgICMgVE9ETyhZYW5nWmhhbmcpOiBUaGVzZSBs
aW5lcyBjYW4gYmUgcmVtb3ZlZCB3aGVuIGhpZ2ggYWNjdXJhY3kKICAgICAjIFlVViB0byBSR0Ig
dG8gTmVvbiBpcyBwb3J0ZWQuCi0gICAgaWYgKCh0YXJnZXRfY3B1PT0iYXJtdjciIHx8IHRhcmdl
dF9jcHU9PSJhcm12N3MiIHx8Ci0gICAgICAgICh0YXJnZXRfY3B1PT0iYXJtIiAmJiBhcm1fdmVy
c2lvbiA+PSA3KSB8fCB0YXJnZXRfY3B1PT0iYXJtNjQiKSAmJgorICAgIGlmICgodGFyZ2V0X2Nw
dSA9PSAiYXJtdjciIHx8IHRhcmdldF9jcHUgPT0gImFybXY3cyIgfHwKKyAgICAgICAgICh0YXJn
ZXRfY3B1ID09ICJhcm0iICYmIGFybV92ZXJzaW9uID49IDcpIHx8IHRhcmdldF9jcHUgPT0gImFy
bTY0IikgJiYKICAgICAgICAgKGFybV91c2VfbmVvbiB8fCBhcm1fb3B0aW9uYWxseV91c2VfbmVv
bikpIHsKICAgICAgIGRlZmluZXMgKz0gWyAiTElCWVVWX05FT04iIF0KICAgICB9CkBAIC0yNTIs
NyArMjk1LDcgQEAgaWYgKGxpYnl1dl9pbmNsdWRlX3Rlc3RzKSB7CiAgICAgICAjIEVuYWJsZSB0
aGUgZm9sbG93aW5nIDMgbWFjcm9zIHRvIHR1cm4gb2ZmIGFzc2VtYmx5IGZvciBzcGVjaWZpZWQg
Q1BVLgogICAgICAgIyAiTElCWVVWX0RJU0FCTEVfWDg2IiwKICAgICAgICMgIkxJQllVVl9ESVNB
QkxFX05FT04iLAotICAgICAgIyAiTElCWVVWX0RJU0FCTEVfTUlQUyIsCisgICAgICAjICJMSUJZ
VVZfRElTQUJMRV9EU1BSMiIsCiAgICAgICAjIEVuYWJsZSB0aGUgZm9sbG93aW5nIG1hY3JvIHRv
IGJ1aWxkIGxpYnl1diBhcyBhIHNoYXJlZCBsaWJyYXJ5IChkbGwpLgogICAgICAgIyAiTElCWVVW
X1VTSU5HX1NIQVJFRF9MSUJSQVJZIgogICAgIF0KQEAgLTI2MSwyMCArMzA0LDI0IEBAIGlmIChs
aWJ5dXZfaW5jbHVkZV90ZXN0cykgewogICBleGVjdXRhYmxlKCJjb21wYXJlIikgewogICAgIHNv
dXJjZXMgPSBbCiAgICAgICAjIHNvdXJjZXMKLSAgICAgICJ1dGlsL2NvbXBhcmUuY2MiCisgICAg
ICAidXRpbC9jb21wYXJlLmNjIiwKKyAgICBdCisgICAgZGVwcyA9IFsKKyAgICAgICI6bGlieXV2
IiwKICAgICBdCi0gICAgZGVwcyA9IFsgIjpsaWJ5dXYiIF0KICAgICBpZiAoaXNfbGludXgpIHsK
ICAgICAgIGNmbGFncyA9IFsgIi1mZXhjZXB0aW9ucyIgXQogICAgIH0KICAgfQogCi0gIGV4ZWN1
dGFibGUoImNvbnZlcnQiKSB7CisgIGV4ZWN1dGFibGUoInl1dmNvbnZlcnQiKSB7CiAgICAgc291
cmNlcyA9IFsKICAgICAgICMgc291cmNlcwotICAgICAgInV0aWwvY29udmVydC5jYyIKKyAgICAg
ICJ1dGlsL3l1dmNvbnZlcnQuY2MiLAorICAgIF0KKyAgICBkZXBzID0gWworICAgICAgIjpsaWJ5
dXYiLAogICAgIF0KLSAgICBkZXBzID0gWyAiOmxpYnl1diIgXQogICAgIGlmIChpc19saW51eCkg
ewogICAgICAgY2ZsYWdzID0gWyAiLWZleGNlcHRpb25zIiBdCiAgICAgfQpAQCAtMjgzLDExICsz
MzAsMTMgQEAgaWYgKGxpYnl1dl9pbmNsdWRlX3Rlc3RzKSB7CiAgIGV4ZWN1dGFibGUoInBzbnIi
KSB7CiAgICAgc291cmNlcyA9IFsKICAgICAgICMgc291cmNlcwotICAgICAgInV0aWwvcHNucl9t
YWluLmNjIiwKICAgICAgICJ1dGlsL3BzbnIuY2MiLAotICAgICAgInV0aWwvc3NpbS5jYyIKKyAg
ICAgICJ1dGlsL3BzbnJfbWFpbi5jYyIsCisgICAgICAidXRpbC9zc2ltLmNjIiwKKyAgICBdCisg
ICAgZGVwcyA9IFsKKyAgICAgICI6bGlieXV2IiwKICAgICBdCi0gICAgZGVwcyA9IFsgIjpsaWJ5
dXYiIF0KIAogICAgIGlmICghaXNfaW9zICYmICFsaWJ5dXZfZGlzYWJsZV9qcGVnKSB7CiAgICAg
ICBkZWZpbmVzID0gWyAiSEFWRV9KUEVHIiBdCkBAIC0yOTcsOCArMzQ2LDEwIEBAIGlmIChsaWJ5
dXZfaW5jbHVkZV90ZXN0cykgewogICBleGVjdXRhYmxlKCJjcHVpZCIpIHsKICAgICBzb3VyY2Vz
ID0gWwogICAgICAgIyBzb3VyY2VzCi0gICAgICAidXRpbC9jcHVpZC5jIgorICAgICAgInV0aWwv
Y3B1aWQuYyIsCisgICAgXQorICAgIGRlcHMgPSBbCisgICAgICAiOmxpYnl1diIsCiAgICAgXQot
ICAgIGRlcHMgPSBbICI6bGlieXV2IiBdCiAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L0NNX2xpbnV4X3BhY2th
Z2VzLmNtYWtlIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvQ01fbGludXhfcGFja2FnZXMuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWY2NzZmODk5ODRh
OGI1NDc5ODY3ZTg3NGJmZTIxZjY2NzlhYTgwYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L0NNX2xpbnV4X3Bh
Y2thZ2VzLmNtYWtlCkBAIC0wLDAgKzEsNjkgQEAKKyMgZGV0ZXJtaW5lIHRoZSB2ZXJzaW9uIG51
bWJlciBmcm9tIHRoZSAjZGVmaW5lIGluIGxpYnl1di92ZXJzaW9uLmgKK0VYRUNVVEVfUFJPQ0VT
UyAoCisJQ09NTUFORCBncmVwIC0tcGVybC1yZWdleCAtLW9ubHktbWF0Y2hpbmcgIig/PD1MSUJZ
VVZfVkVSU0lPTiApWzAtOV0rIiBpbmNsdWRlL2xpYnl1di92ZXJzaW9uLmgKKwlXT1JLSU5HX0RJ
UkVDVE9SWSAke1BST0pFQ1RfU09VUkNFX0RJUn0KKwlPVVRQVVRfVkFSSUFCTEUgWVVWX1ZFUlNJ
T05fTlVNQkVSCisJT1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UgKQorU0VUICggWVVW
X1ZFUl9NQUpPUiAwICkKK1NFVCAoIFlVVl9WRVJfTUlOT1IgMCApCitTRVQgKCBZVVZfVkVSX1BB
VENIICR7WVVWX1ZFUlNJT05fTlVNQkVSfSApCitTRVQgKCBZVVZfVkVSU0lPTiAke1lVVl9WRVJf
TUFKT1J9LiR7WVVWX1ZFUl9NSU5PUn0uJHtZVVZfVkVSX1BBVENIfSApCitNRVNTQUdFICggIkJ1
aWxkaW5nIHZlci46ICR7WVVWX1ZFUlNJT059IiApCisKKyMgaXMgdGhpcyBhIDMyLWJpdCBvciA2
NC1iaXQgYnVpbGQ/CitJRiAoIENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgOCApCisJU0VUICgg
WVVWX0JJVF9TSVpFIDY0ICkKK0VMU0VJRiAoIENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCAp
CisJU0VUICggWVVWX0JJVF9TSVpFIDMyICkKK0VMU0UgKCkKKwlNRVNTQUdFICggRkFUQUxfRVJS
T1IgIkNNQUtFX1NJWkVPRl9WT0lEX1A9JHtDTUFLRV9TSVpFT0ZfVk9JRF9QfSIgKQorRU5ESUYg
KCkKKworIyBkZXRlY3QgaWYgdGhpcyBpcyBhIEFSTSBidWlsZAorU1RSSU5HIChGSU5EICIke0NN
QUtFX0NYWF9DT01QSUxFUn0iICJhcm0tbGludXgtZ251ZWFiaWhmLWcrKyIgcG9zKQorSUYgKCAk
e3Bvc30gRVFVQUwgLTEgKQorCVNFVCAoIFlVVl9DUk9TU19DT01QSUxFX0ZPUl9BUk03IEZBTFNF
ICkKK0VMU0UgKCkKKwlNRVNTQUdFICggIkNyb3NzIGNvbXBpbGluZyBmb3IgQVJNNyIgKQorCVNF
VCAoIFlVVl9DUk9TU19DT01QSUxFX0ZPUl9BUk03IFRSVUUgKQorRU5ESUYgKCkKK1NUUklORyAo
RklORCAiJHtDTUFLRV9TWVNURU1fUFJPQ0VTU09SfSIgImFybSIgcG9zKQorSUYgKCAke3Bvc30g
RVFVQUwgLTEgKQorCVNFVCAoIFlVVl9DT01QSUxFX0ZPUl9BUk03IEZBTFNFICkKK0VMU0UgKCkK
KwlNRVNTQUdFICggIkNvbXBpbGluZyBmb3IgQVJNIiApCisJU0VUICggWVVWX0NPTVBJTEVfRk9S
X0FSTTcgVFJVRSApCitFTkRJRiAoKQorCisjIHNldHVwIHRoZSBzeXRlbSBuYW1lLCBzdWNoIGFz
ICJ4ODYtMzIiLCAiYW1kLTY0IiwgYW5kICJhcm0tMzIKK0lGICggJHtZVVZfQ1JPU1NfQ09NUElM
RV9GT1JfQVJNN30gT1IgJHtZVVZfQ09NUElMRV9GT1JfQVJNN30gKQorCVNFVCAoIFlVVl9TWVNU
RU1fTkFNRSAiYXJtaGYtJHtZVVZfQklUX1NJWkV9IiApCitFTFNFICgpCisJSUYgKCBZVVZfQklU
X1NJWkUgRVFVQUwgMzIgKQorCQlTRVQgKCBZVVZfU1lTVEVNX05BTUUgIng4Ni0ke1lVVl9CSVRf
U0laRX0iICkKKwlFTFNFICgpCisJCVNFVCAoIFlVVl9TWVNURU1fTkFNRSAiYW1kLSR7WVVWX0JJ
VF9TSVpFfSIgKQorCUVORElGICgpCitFTkRJRiAoKQorTUVTU0FHRSAoICJQYWNrYWdpbmcgZm9y
OiAke1lVVl9TWVNURU1fTkFNRX0iICkKKworIyBkZWZpbmUgYWxsIHRoZSB2YXJpYWJsZXMgbmVl
ZGVkIGJ5IENQYWNrIHRvIGNyZWF0ZSAuZGViIGFuZCAucnBtIHBhY2thZ2VzCitTRVQgKCBDUEFD
S19QQUNLQUdFX1ZFTkRPUgkJCQkJIkZyYW5rIEJhcmNoYXJkIiApCitTRVQgKCBDUEFDS19QQUNL
QUdFX0NPTlRBQ1QJCQkJCSJmYmFyY2hhcmRAY2hyb21pdW0ub3JnIiApCitTRVQgKCBDUEFDS19Q
QUNLQUdFX1ZFUlNJT04JCQkJCSR7WVVWX1ZFUlNJT059ICkKK1NFVCAoIENQQUNLX1BBQ0tBR0Vf
VkVSU0lPTl9NQUpPUgkJCSR7WVVWX1ZFUl9NQUpPUn0gKQorU0VUICggQ1BBQ0tfUEFDS0FHRV9W
RVJTSU9OX01JTk9SCQkJJHtZVVZfVkVSX01JTk9SfSApCitTRVQgKCBDUEFDS19QQUNLQUdFX1ZF
UlNJT05fUEFUQ0gJCQkke1lVVl9WRVJfUEFUQ0h9ICkKK1NFVCAoIENQQUNLX1JFU09VUkNFX0ZJ
TEVfTElDRU5TRQkJCSR7UFJPSkVDVF9TT1VSQ0VfRElSfS9MSUNFTlNFICkKK1NFVCAoIENQQUNL
X1NZU1RFTV9OQU1FCQkJCQkJImxpbnV4LSR7WVVWX1NZU1RFTV9OQU1FfSIgKQorU0VUICggQ1BB
Q0tfUEFDS0FHRV9OQU1FCQkJCQkibGlieXV2IiApCitTRVQgKCBDUEFDS19QQUNLQUdFX0RFU0NS
SVBUSU9OX1NVTU1BUlkJCSJZVVYgbGlicmFyeSIgKQorU0VUICggQ1BBQ0tfUEFDS0FHRV9ERVND
UklQVElPTgkJCQkiWVVWIGxpYnJhcnkgYW5kIFlVViBjb252ZXJzaW9uIHRvb2wiICkKK1NFVCAo
IENQQUNLX0RFQklBTl9QQUNLQUdFX1NFQ1RJT04JCQkib3RoZXIiICkKK1NFVCAoIENQQUNLX0RF
QklBTl9QQUNLQUdFX1BSSU9SSVRZCQkJIm9wdGlvbmFsIiApCitTRVQgKCBDUEFDS19ERUJJQU5f
UEFDS0FHRV9NQUlOVEFJTkVSCQkiRnJhbmsgQmFyY2hhcmQgPGZiYXJjaGFyZEBjaHJvbWl1bS5v
cmc+IiApCitTRVQgKCBDUEFDS19HRU5FUkFUT1IJCQkJCQkiREVCO1JQTSIgKQorCisjIGNyZWF0
ZSB0aGUgLmRlYiBhbmQgLnJwbSBmaWxlcyAoeW91J2xsIG5lZWQgYnVpbGQtZXNzZW50aWFsIGFu
ZCBycG0gdG9vbHMpCitJTkNMVURFKCBDUGFjayApCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
Q01ha2VMaXN0cy50eHQKaW5kZXggNmI3ZDJhYjFiZmExNjFjMDdjYTAwNGE3NDhkY2JhNGJlNzg3
NmY4NC4uNjQyMDM3MWRlOTgzMTRiODJlYzM5ZjU0MWMzN2M4YTgyYWJjZWM0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTEyICsxLDQ1IEBACi1jbWFr
ZV9taW5pbXVtX3JlcXVpcmVkKFZFUlNJT04gMi44KQotCiAjIENNYWtlTGlzdHMgZm9yIGxpYnl1
dgogIyBPcmlnaW5hbGx5IGNyZWF0ZWQgZm9yICJyb3hsdSBidWlsZCBzeXN0ZW0iIHRvIGNvbXBp
bGUgbGlieXV2IG9uIHdpbmRvd3MKICMgUnVuIHdpdGggLURURVNUPU9OIHRvIGJ1aWxkIHVuaXQg
dGVzdHMKLW9wdGlvbihURVNUICJCdWlsdCB1bml0IHRlc3RzIiBPRkYpCi0KLXNldChseV9iYXNl
X2RpciAke0NNQUtFX0NVUlJFTlRfTElTVF9ESVJ9KQotc2V0KGx5X3NyY19kaXIgJHtseV9iYXNl
X2Rpcn0vc291cmNlLykKLXNldChseV9pbmNfZGlyICR7bHlfYmFzZV9kaXJ9L2luY2x1ZGUpCi1z
ZXQobHlfbGliX25hbWUgInl1diIpCi0KLXNldChseV9zb3VyY2VfZmlsZXMKLSAgJHtseV9zcmNf
ZGlyfS9jb21wYXJlLmNjCi0gICR7bHlfc3JjX2Rpcn0vY29tcGFyZV9jb21tb24uY2MKLSAgJHts
eV9zcmNfZGlyfS9jb21wYXJlX25lb24uY2MKLSAgJHtseV9zcmNfZGlyfS9jb21wYXJlX25lb242
NC5jYwotICAke2x5X3NyY19kaXJ9L2NvbXBhcmVfZ2NjLmNjCi0gICR7bHlfc3JjX2Rpcn0vY29t
cGFyZV93aW4uY2MKLSAgJHtseV9zcmNfZGlyfS9jb252ZXJ0LmNjCi0gICR7bHlfc3JjX2Rpcn0v
Y29udmVydF9hcmdiLmNjCi0gICR7bHlfc3JjX2Rpcn0vY29udmVydF9mcm9tLmNjCi0gICR7bHlf
c3JjX2Rpcn0vY29udmVydF9mcm9tX2FyZ2IuY2MKLSAgJHtseV9zcmNfZGlyfS9jb252ZXJ0X2pw
ZWcuY2MKLSAgJHtseV9zcmNfZGlyfS9jb252ZXJ0X3RvX2FyZ2IuY2MKLSAgJHtseV9zcmNfZGly
fS9jb252ZXJ0X3RvX2k0MjAuY2MKLSAgJHtseV9zcmNfZGlyfS9jcHVfaWQuY2MKLSAgJHtseV9z
cmNfZGlyfS9tanBlZ19kZWNvZGVyLmNjCi0gICR7bHlfc3JjX2Rpcn0vbWpwZWdfdmFsaWRhdGUu
Y2MKLSAgJHtseV9zcmNfZGlyfS9wbGFuYXJfZnVuY3Rpb25zLmNjCi0gICR7bHlfc3JjX2Rpcn0v
cm90YXRlLmNjCi0gICR7bHlfc3JjX2Rpcn0vcm90YXRlX2FueS5jYwotICAke2x5X3NyY19kaXJ9
L3JvdGF0ZV9hcmdiLmNjCi0gICR7bHlfc3JjX2Rpcn0vcm90YXRlX2NvbW1vbi5jYwotICAke2x5
X3NyY19kaXJ9L3JvdGF0ZV9taXBzLmNjCi0gICR7bHlfc3JjX2Rpcn0vcm90YXRlX25lb24uY2MK
LSAgJHtseV9zcmNfZGlyfS9yb3RhdGVfbmVvbjY0LmNjCi0gICR7bHlfc3JjX2Rpcn0vcm90YXRl
X2djYy5jYwotICAke2x5X3NyY19kaXJ9L3JvdGF0ZV93aW4uY2MKLSAgJHtseV9zcmNfZGlyfS9y
b3dfYW55LmNjCi0gICR7bHlfc3JjX2Rpcn0vcm93X2NvbW1vbi5jYwotICAke2x5X3NyY19kaXJ9
L3Jvd19taXBzLmNjCi0gICR7bHlfc3JjX2Rpcn0vcm93X21zYS5jYwotICAke2x5X3NyY19kaXJ9
L3Jvd19uZW9uLmNjCi0gICR7bHlfc3JjX2Rpcn0vcm93X25lb242NC5jYwotICAke2x5X3NyY19k
aXJ9L3Jvd19nY2MuY2MKLSAgJHtseV9zcmNfZGlyfS9yb3dfd2luLmNjCi0gICR7bHlfc3JjX2Rp
cn0vc2NhbGUuY2MKLSAgJHtseV9zcmNfZGlyfS9zY2FsZV9hbnkuY2MKLSAgJHtseV9zcmNfZGly
fS9zY2FsZV9hcmdiLmNjCi0gICR7bHlfc3JjX2Rpcn0vc2NhbGVfY29tbW9uLmNjCi0gICR7bHlf
c3JjX2Rpcn0vc2NhbGVfbWlwcy5jYwotICAke2x5X3NyY19kaXJ9L3NjYWxlX25lb24uY2MKLSAg
JHtseV9zcmNfZGlyfS9zY2FsZV9uZW9uNjQuY2MKLSAgJHtseV9zcmNfZGlyfS9zY2FsZV9nY2Mu
Y2MKLSAgJHtseV9zcmNfZGlyfS9zY2FsZV93aW4uY2MKLSAgJHtseV9zcmNfZGlyfS92aWRlb19j
b21tb24uY2MKLSkKLQotc2V0KGx5X3VuaXR0ZXN0X3NvdXJjZXMKLSAgJHtseV9iYXNlX2Rpcn0v
dW5pdF90ZXN0L2Jhc2ljdHlwZXNfdGVzdC5jYwotICAke2x5X2Jhc2VfZGlyfS91bml0X3Rlc3Qv
Y29sb3JfdGVzdC5jYwotICAke2x5X2Jhc2VfZGlyfS91bml0X3Rlc3QvY29tcGFyZV90ZXN0LmNj
Ci0gICR7bHlfYmFzZV9kaXJ9L3VuaXRfdGVzdC9jb252ZXJ0X3Rlc3QuY2MKLSAgJHtseV9iYXNl
X2Rpcn0vdW5pdF90ZXN0L2NwdV90ZXN0LmNjCi0gICR7bHlfYmFzZV9kaXJ9L3VuaXRfdGVzdC9t
YXRoX3Rlc3QuY2MKLSAgJHtseV9iYXNlX2Rpcn0vdW5pdF90ZXN0L3BsYW5hcl90ZXN0LmNjCi0g
ICR7bHlfYmFzZV9kaXJ9L3VuaXRfdGVzdC9yb3RhdGVfYXJnYl90ZXN0LmNjCi0gICR7bHlfYmFz
ZV9kaXJ9L3VuaXRfdGVzdC9yb3RhdGVfdGVzdC5jYwotICAke2x5X2Jhc2VfZGlyfS91bml0X3Rl
c3Qvc2NhbGVfYXJnYl90ZXN0LmNjCi0gICR7bHlfYmFzZV9kaXJ9L3VuaXRfdGVzdC9zY2FsZV90
ZXN0LmNjCi0gICR7bHlfYmFzZV9kaXJ9L3VuaXRfdGVzdC91bml0X3Rlc3QuY2MKLSAgJHtseV9i
YXNlX2Rpcn0vdW5pdF90ZXN0L3ZpZGVvX2NvbW1vbl90ZXN0LmNjCi0pCi0KLXNldChseV9oZWFk
ZXJfZmlsZXMKLSAgJHtseV9pbmNfZGlyfS9saWJ5dXYvYmFzaWNfdHlwZXMuaAotICAke2x5X2lu
Y19kaXJ9L2xpYnl1di9jb21wYXJlLmgKLSAgJHtseV9pbmNfZGlyfS9saWJ5dXYvY29udmVydC5o
Ci0gICR7bHlfaW5jX2Rpcn0vbGlieXV2L2NvbnZlcnRfYXJnYi5oCi0gICR7bHlfaW5jX2Rpcn0v
bGlieXV2L2NvbnZlcnRfZnJvbS5oCi0gICR7bHlfaW5jX2Rpcn0vbGlieXV2L2NvbnZlcnRfZnJv
bV9hcmdiLmgKLSAgJHtseV9pbmNfZGlyfS9saWJ5dXYvY3B1X2lkLmgKLSAgJHtseV9pbmNfZGly
fS9saWJ5dXYvbWFjcm9zX21zYS5oCi0gICR7bHlfaW5jX2Rpcn0vbGlieXV2L3BsYW5hcl9mdW5j
dGlvbnMuaAotICAke2x5X2luY19kaXJ9L2xpYnl1di9yb3RhdGUuaAotICAke2x5X2luY19kaXJ9
L2xpYnl1di9yb3RhdGVfYXJnYi5oCi0gICR7bHlfaW5jX2Rpcn0vbGlieXV2L3JvdGF0ZV9yb3cu
aAotICAke2x5X2luY19kaXJ9L2xpYnl1di9yb3cuaAotICAke2x5X2luY19kaXJ9L2xpYnl1di9z
Y2FsZS5oCi0gICR7bHlfaW5jX2Rpcn0vbGlieXV2L3NjYWxlX2FyZ2IuaAotICAke2x5X2luY19k
aXJ9L2xpYnl1di9zY2FsZV9yb3cuaAotICAke2x5X2luY19kaXJ9L2xpYnl1di92ZXJzaW9uLmgK
LSAgJHtseV9pbmNfZGlyfS9saWJ5dXYvdmlkZW9fY29tbW9uLmgKLSAgJHtseV9pbmNfZGlyfS9s
aWJ5dXYvbWpwZWdfZGVjb2Rlci5oCi0pCi0KLWluY2x1ZGVfZGlyZWN0b3JpZXMoJHtseV9pbmNf
ZGlyfSkKLQotYWRkX2xpYnJhcnkoJHtseV9saWJfbmFtZX0gU1RBVElDICR7bHlfc291cmNlX2Zp
bGVzfSkKLQotYWRkX2V4ZWN1dGFibGUoY29udmVydCAke2x5X2Jhc2VfZGlyfS91dGlsL2NvbnZl
cnQuY2MpCi10YXJnZXRfbGlua19saWJyYXJpZXMoY29udmVydCAke2x5X2xpYl9uYW1lfSkKLQot
aW5jbHVkZShGaW5kSlBFRykKKworUFJPSkVDVCAoIFlVViBDIENYWCApCSMgIkMiIGlzIHJlcXVp
cmVkIGV2ZW4gZm9yIEMrKyBwcm9qZWN0cworQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCggVkVSU0lP
TiAyLjggKQorT1BUSU9OKCBURVNUICJCdWlsdCB1bml0IHRlc3RzIiBPRkYgKQorCitTRVQgKCBs
eV9iYXNlX2Rpcgkke1BST0pFQ1RfU09VUkNFX0RJUn0gKQorU0VUICggbHlfc3JjX2Rpcgkke2x5
X2Jhc2VfZGlyfS9zb3VyY2UgKQorU0VUICggbHlfaW5jX2Rpcgkke2x5X2Jhc2VfZGlyfS9pbmNs
dWRlICkKK1NFVCAoIGx5X3RzdF9kaXIJJHtseV9iYXNlX2Rpcn0vdW5pdF90ZXN0ICkKK1NFVCAo
IGx5X2xpYl9uYW1lCXl1diApCitTRVQgKCBseV9saWJfc3RhdGljCSR7bHlfbGliX25hbWV9ICkK
K1NFVCAoIGx5X2xpYl9zaGFyZWQJJHtseV9saWJfbmFtZX1fc2hhcmVkICkKKworRklMRSAoIEdM
T0JfUkVDVVJTRQlseV9zb3VyY2VfZmlsZXMgJHtseV9zcmNfZGlyfS8qLmNjICkKK0xJU1QgKCBT
T1JUCQkJbHlfc291cmNlX2ZpbGVzICkKKworRklMRSAoIEdMT0JfUkVDVVJTRQlseV91bml0dGVz
dF9zb3VyY2VzICR7bHlfdHN0X2Rpcn0vKi5jYyApCitMSVNUICggU09SVAkJCWx5X3VuaXR0ZXN0
X3NvdXJjZXMgKQorCitJTkNMVURFX0RJUkVDVE9SSUVTKCBCRUZPUkUgJHtseV9pbmNfZGlyfSAp
CisKKyMgdGhpcyBjcmVhdGVzIHRoZSBzdGF0aWMgbGlicmFyeSAoLmEpCitBRERfTElCUkFSWQkJ
CQkoICR7bHlfbGliX3N0YXRpY30gU1RBVElDICR7bHlfc291cmNlX2ZpbGVzfSApCisKKyMgdGhp
cyBjcmVhdGVzIHRoZSBzaGFyZWQgbGlicmFyeSAoLnNvKQorQUREX0xJQlJBUlkJCQkJKCAke2x5
X2xpYl9zaGFyZWR9IFNIQVJFRCAke2x5X3NvdXJjZV9maWxlc30gKQorU0VUX1RBUkdFVF9QUk9Q
RVJUSUVTCSggJHtseV9saWJfc2hhcmVkfSBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICIke2x5X2xp
Yl9uYW1lfSIgKQorU0VUX1RBUkdFVF9QUk9QRVJUSUVTCSggJHtseV9saWJfc2hhcmVkfSBQUk9Q
RVJUSUVTIFBSRUZJWCAibGliIiApCisKKyMgdGhpcyBjcmVhdGVzIHRoZSBjb252ZXJzaW9uIHRv
b2wKK0FERF9FWEVDVVRBQkxFCQkJKCB5dXZjb252ZXJ0ICR7bHlfYmFzZV9kaXJ9L3V0aWwveXV2
Y29udmVydC5jYyApCitUQVJHRVRfTElOS19MSUJSQVJJRVMJKCB5dXZjb252ZXJ0ICR7bHlfbGli
X3N0YXRpY30gKQorCisKK0lOQ0xVREUgKCBGaW5kSlBFRyApCiBpZiAoSlBFR19GT1VORCkKLSAg
aW5jbHVkZV9kaXJlY3Rvcmllcygke0pQRUdfSU5DTFVERV9ESVJ9KQotICB0YXJnZXRfbGlua19s
aWJyYXJpZXMoY29udmVydCAke0pQRUdfTElCUkFSWX0pCi0gIGFkZF9kZWZpbml0aW9ucygtREhB
VkVfSlBFRykKKyAgaW5jbHVkZV9kaXJlY3RvcmllcyggJHtKUEVHX0lOQ0xVREVfRElSfSApCisg
IHRhcmdldF9saW5rX2xpYnJhcmllcyggeXV2Y29udmVydCAke0pQRUdfTElCUkFSWX0gKQorICBh
ZGRfZGVmaW5pdGlvbnMoIC1ESEFWRV9KUEVHICkKIGVuZGlmKCkKIAogaWYoVEVTVCkKQEAgLTEz
MCwxNSArNjMsMjEgQEAgaWYoVEVTVCkKICAgaWYgKEpQRUdfRk9VTkQpCiAgICAgdGFyZ2V0X2xp
bmtfbGlicmFyaWVzKGxpYnl1dl91bml0dGVzdCAke0pQRUdfTElCUkFSWX0pCiAgIGVuZGlmKCkK
LSAgCisKICAgaWYoTkFDTCBBTkQgTkFDTF9MSUJDIFNUUkVRVUFMICJuZXdsaWIiKQogICAgIHRh
cmdldF9saW5rX2xpYnJhcmllcyhsaWJ5dXZfdW5pdHRlc3QgZ2xpYmMtY29tcGF0KQogICBlbmRp
ZigpCiAKICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGxpYnl1dl91bml0dGVzdCBnZmxhZ3MpCi0g
IAogZW5kaWYoKQogCi1pbnN0YWxsKFRBUkdFVFMgJHtseV9saWJfbmFtZX0gREVTVElOQVRJT04g
bGliKQotaW5zdGFsbChGSUxFUyAke2x5X2hlYWRlcl9maWxlc30gREVTVElOQVRJT04gaW5jbHVk
ZS9saWJ5dXYpCi1pbnN0YWxsKEZJTEVTICR7bHlfaW5jX2Rpcn0vbGlieXV2LmggREVTVElOQVRJ
T04gaW5jbHVkZS8pCisKKyMgaW5zdGFsbCB0aGUgY29udmVyc2lvbiB0b29sLCAuc28sIC5hLCBh
bmQgYWxsIHRoZSBoZWFkZXIgZmlsZXMKK0lOU1RBTEwgKCBQUk9HUkFNUyAke0NNQUtFX0JJTkFS
WV9ESVJ9L3l1dmNvbnZlcnQJCQlERVNUSU5BVElPTiBiaW4gKQorSU5TVEFMTCAoIFRBUkdFVFMg
JHtseV9saWJfc3RhdGljfQkJCQkJCURFU1RJTkFUSU9OIGxpYiApCitJTlNUQUxMICggVEFSR0VU
UyAke2x5X2xpYl9zaGFyZWR9IExJQlJBUlkJCQkJREVTVElOQVRJT04gbGliICkKK0lOU1RBTEwg
KCBESVJFQ1RPUlkgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2luY2x1ZGUvCQlERVNUSU5BVElPTiBp
bmNsdWRlICkKKworIyBjcmVhdGUgdGhlIC5kZWIgYW5kIC5ycG0gcGFja2FnZXMgdXNpbmcgY3Bh
Y2sKK0lOQ0xVREUgKCBDTV9saW51eF9wYWNrYWdlcy5jbWFrZSApCisKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L0RFUFMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9E
RVBTCmluZGV4IGVkMTY2MzdiMzcwOWFkMmNkMzU3ODI2ZjFmYTdjZWM0YTYzNTVhMDYuLjE3MThh
NDBkNDNkMTEyNmM2MjQxYWFiZDcwNTZiYjc5ZTYzMjNjODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L0RFUFMKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvREVQ
UwpAQCAtMSwzOSArMSwxMDYgQEAKIHZhcnMgPSB7Ci0gICMgT3ZlcnJpZGUgcm9vdF9kaXIgaW4g
eW91ciAuZ2NsaWVudCdzIGN1c3RvbV92YXJzIHRvIHNwZWNpZnkgYSBjdXN0b20gcm9vdAotICAj
IGZvbGRlciBuYW1lLgotICAncm9vdF9kaXInOiAnbGlieXV2JywKLSAgJ2V4dHJhX2d5cF9mbGFn
JzogJy1EZXh0cmFfZ3lwX2ZsYWc9MCcsCiAgICdjaHJvbWl1bV9naXQnOiAnaHR0cHM6Ly9jaHJv
bWl1bS5nb29nbGVzb3VyY2UuY29tJywKLQotICAjIFJvbGwgdGhlIENocm9taXVtIEdpdCBoYXNo
IHRvIHBpY2sgdXAgbmV3ZXIgdmVyc2lvbnMgb2YgYWxsIHRoZQotICAjIGRlcGVuZGVuY2llcyBh
bmQgdG9vbHMgbGlua2VkIHRvIGluIHNldHVwX2xpbmtzLnB5LgotICAnY2hyb21pdW1fcmV2aXNp
b24nOiAnOTQxMTE4ODI3ZjUyNDBkZWRiNDAwODJjZmZiMWVhZDZjNmQ2MjFjYycsCisgICdjaHJv
bWl1bV9yZXZpc2lvbic6ICdjZTk1ZTVkODNmMzUzOGU1Nzk3Yjg1Zjk4NmU1MmFmZGE4YTdhNDBh
JywKKyAgJ3N3YXJtaW5nX3JldmlzaW9uJzogJzExZTMxYWZhNWQzMzA3NTZmZjg3YWExMjA2NGJi
NWQwMzI4OTZjYjUnLAorICAjIFRocmVlIGxpbmVzIG9mIG5vbi1jaGFuZ2luZyBjb21tZW50cyBz
byB0aGF0CisgICMgdGhlIGNvbW1pdCBxdWV1ZSBjYW4gaGFuZGxlIENMcyByb2xsaW5nIGxzcwor
ICAjIGFuZCB3aGF0ZXZlciBlbHNlIHdpdGhvdXQgaW50ZXJmZXJlbmNlIGZyb20gZWFjaCBvdGhl
ci4KKyAgJ2xzc19yZXZpc2lvbic6ICc2M2YyNGM4MjIxYTIyOWY2NzdkMjZlYmU4ZjNkMTUyOGE5
ZDc4N2FjJywKKyAgIyBUaHJlZSBsaW5lcyBvZiBub24tY2hhbmdpbmcgY29tbWVudHMgc28gdGhh
dAorICAjIHRoZSBjb21taXQgcXVldWUgY2FuIGhhbmRsZSBDTHMgcm9sbGluZyBjYXRhcHVsdAor
ICAjIGFuZCB3aGF0ZXZlciBlbHNlIHdpdGhvdXQgaW50ZXJmZXJlbmNlIGZyb20gZWFjaCBvdGhl
ci4KKyAgJ2NhdGFwdWx0X3JldmlzaW9uJzogJ2U4Nzc1ZjBmNjRiY2FlNmIwNzg5ZGY2ZDRhMmE1
YWNhOWY1Y2Y0YWMnLAogfQogCi0jIE5PVEU6IFVzZSBodHRwIHJhdGhlciB0aGFuIGh0dHBzOyB0
aGUgbGF0dGVyIGNhbiBjYXVzZSBwcm9ibGVtcyBmb3IgdXNlcnMKLSMgYmVoaW5kIHByb3hpZXMu
CiBkZXBzID0gewotICBWYXIoJ3Jvb3RfZGlyJykgKyAnL3RoaXJkX3BhcnR5L2dmbGFncy9zcmMn
OgotICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAnL2V4dGVybmFsL2dpdGh1Yi5jb20vZ2ZsYWdz
L2dmbGFnc0AwM2JlYmNiMDY1YzgzYmVmZjgzZDUwYWUwMjVhNTVhNGJmOTRkZmNhJywKKyAgJ3Ny
Yy9idWlsZCc6CisgICAgVmFyKCdjaHJvbWl1bV9naXQnKSArICcvY2hyb21pdW0vc3JjL2J1aWxk
JyArICdAJyArICdiY2ExY2JlMmFhZWQ2MTBlNDEyZWVkNzBhM2E3ZDIyNzk5YzY1MjU5JywKKyAg
J3NyYy9idWlsZHRvb2xzJzoKKyAgICBWYXIoJ2Nocm9taXVtX2dpdCcpICsgJy9jaHJvbWl1bS9i
dWlsZHRvb2xzLmdpdCcgKyAnQCcgKyAnODg4MTFmNDhhNmI3OTc4NmVmMzViZTg2ODI1NjQyZmMz
MzAxMTE1MScsCisgICdzcmMvdGVzdGluZyc6CisgICAgVmFyKCdjaHJvbWl1bV9naXQnKSArICcv
Y2hyb21pdW0vc3JjL3Rlc3RpbmcnICsgJ0AnICsgJzdiM2U2ODFmOTZjNWJjNTRkMWJhNGE0NzI4
NWE5ODc0ZWQxODUxNGYnLAorICAnc3JjL3Rlc3RpbmcvZ3Rlc3QnOgorICAgIFZhcignY2hyb21p
dW1fZ2l0JykgKyAnL2V4dGVybmFsL2dpdGh1Yi5jb20vZ29vZ2xlL2dvb2dsZXRlc3QuZ2l0JyAr
ICdAJyArICc2ZjhhNjY0MzFjYjU5MmRhZDYyOTAyOGE1MGIzZGQ0MThhNDA4Yzg3JywKKyAgJ3Ny
Yy90ZXN0aW5nL2dtb2NrJzoKKyAgICBWYXIoJ2Nocm9taXVtX2dpdCcpICsgJy9leHRlcm5hbC9n
b29nbGVtb2NrLmdpdCcgKyAnQCcgKyAnMDQyMWI2ZjM1ODEzOWYwMmUxMDJjOWMzMzJjZTE5YTMz
ZmFmNzViZScsICMgZnJvbSBzdm4gcmV2aXNpb24gNTY2CisgICdzcmMvdGhpcmRfcGFydHknOgor
ICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAnL2Nocm9taXVtL3NyYy90aGlyZF9wYXJ0eScgKyAn
QCcgKyAnYjI4YjMzMjVmOTM3NGRkNzlkM2E4NzRkNmRkNjg4MjIyZDYxZjRmMScsCisgICdzcmMv
dGhpcmRfcGFydHkvY2F0YXB1bHQnOgorICAgVmFyKCdjaHJvbWl1bV9naXQnKSArICcvZXh0ZXJu
YWwvZ2l0aHViLmNvbS9jYXRhcHVsdC1wcm9qZWN0L2NhdGFwdWx0LmdpdCcgKyAnQCcgKyBWYXIo
J2NhdGFwdWx0X3JldmlzaW9uJyksCisgICdzcmMvdGhpcmRfcGFydHkvY29sb3JhbWEvc3JjJzoK
KyAgICBWYXIoJ2Nocm9taXVtX2dpdCcpICsgJy9leHRlcm5hbC9jb2xvcmFtYS5naXQnICsgJ0An
ICsgJzc5OTYwNGExMDQxZTliM2JjNWQyNzg5ZWNiZDdlOGRiMmUxOGU2YjgnLAorICAnc3JjL3Ro
aXJkX3BhcnR5L2xpYmpwZWdfdHVyYm8nOgorICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAnL2No
cm9taXVtL2RlcHMvbGlianBlZ190dXJiby5naXQnICsgJ0AnICsgJzcyNjBlNGQ4YjhlMWU0MGIx
N2YwM2ZhZmRmMWNkODMyOTY5MDBmNzYnLAorICAnc3JjL3RoaXJkX3BhcnR5L3lhc20vc291cmNl
L3BhdGNoZWQteWFzbSc6CisgICAgVmFyKCdjaHJvbWl1bV9naXQnKSArICcvY2hyb21pdW0vZGVw
cy95YXNtL3BhdGNoZWQteWFzbS5naXQnICsgJ0AnICsgJzdkYTI4YzZjN2M2YTEzODcyMTczNTJj
ZTAyYjMxNzU0ZGViNTRkMmEnLAorICAnc3JjL3Rvb2xzJzoKKyAgICBWYXIoJ2Nocm9taXVtX2dp
dCcpICsgJy9jaHJvbWl1bS9zcmMvdG9vbHMnICsgJ0AnICsgJzVjMzI3ZDExNWUyMDIyY2JlYjJl
OGY1MWYzYTBiNGRiY2IxZGQ0NTEnLAorICAnc3JjL3Rvb2xzL2d5cCc6CisgICAgVmFyKCdjaHJv
bWl1bV9naXQnKSArICcvZXh0ZXJuYWwvZ3lwLmdpdCcgKyAnQCcgKyAnZWIyOTZmNjdkYTA3OGVj
MDFmNWUzYTllYTljZGM2ZDI2ZDY4MDE2MScsCisgICAnc3JjL3Rvb2xzL3N3YXJtaW5nX2NsaWVu
dCc6CisgICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAnL2V4dGVybmFsL3N3YXJtaW5nLmNsaWVu
dC5naXQnICsgJ0AnICsgIFZhcignc3dhcm1pbmdfcmV2aXNpb24nKSwKKworICAjIGxpYnl1di1v
bmx5IGRlcGVuZGVuY2llcyAobm90IHByZXNlbnQgaW4gQ2hyb21pdW0pLgorICAnc3JjL3RoaXJk
X3BhcnR5L2dmbGFncyc6CisgICAgVmFyKCdjaHJvbWl1bV9naXQnKSArICcvZXh0ZXJuYWwvd2Vi
cnRjL2RlcHMvdGhpcmRfcGFydHkvZ2ZsYWdzJyArICdAJyArICc4OTI1NzYxNzliNDU4NjFiNTNl
MDRhMTEyOTk2YTczODMwOWNmMzY0JywKKyAgJ3NyYy90aGlyZF9wYXJ0eS9nZmxhZ3Mvc3JjJzoK
KyAgICBWYXIoJ2Nocm9taXVtX2dpdCcpICsgJy9leHRlcm5hbC9naXRodWIuY29tL2dmbGFncy9n
ZmxhZ3MnICsgJ0AnICsgJzAzYmViY2IwNjVjODNiZWZmODNkNTBhZTAyNWE1NWE0YmY5NGRmY2En
LAorICAnc3JjL3RoaXJkX3BhcnR5L2d0ZXN0LXBhcmFsbGVsJzoKKyAgICBWYXIoJ2Nocm9taXVt
X2dpdCcpICsgJy9leHRlcm5hbC93ZWJydGMvZGVwcy90aGlyZF9wYXJ0eS9ndGVzdC1wYXJhbGxl
bCcgKyAnQCcgKyAnMWRhZDBlOWY2ZDgyZmY5OTQxMzBiNTI5ZDdkODE0YjQwZWIzMmIwZScsCit9
CisKK2RlcHNfb3MgPSB7CisgICdhbmRyb2lkJzogeworICAgICdzcmMvYmFzZSc6CisgICAgICBW
YXIoJ2Nocm9taXVtX2dpdCcpICsgJy9jaHJvbWl1bS9zcmMvYmFzZScgKyAnQCcgKyAnZjY0ODlm
NGZkMmJlOWY0MjQ1NDkyZmQ0YTcwODc0MGJiYTA3M2YxMycsCisgICAgJ3NyYy90aGlyZF9wYXJ0
eS9hbmRyb2lkX3Rvb2xzJzoKKyAgICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAnL2FuZHJvaWRf
dG9vbHMuZ2l0JyArICdAJyArICdiNjVjNDc3NmRhYzJjZjFiODBlOTY5YjNiMmQ0ZTA4MWI5Yzg0
ZjI5JywKKyAgICAnc3JjL3RoaXJkX3BhcnR5L2NlZC9zcmMnOgorICAgICAgVmFyKCdjaHJvbWl1
bV9naXQnKSArICcvZXh0ZXJuYWwvZ2l0aHViLmNvbS9nb29nbGUvY29tcGFjdF9lbmNfZGV0Lmdp
dCcgKyAnQCcgKyAnZTIxZWI2YWVkMTBiOWY2ZTI3MjdmMTM2YzUyNDIwMDMzMjE0ZDQ1OCcsCisg
ICAgJ3NyYy90aGlyZF9wYXJ0eS9pY3UnOgorICAgICAgVmFyKCdjaHJvbWl1bV9naXQnKSArICcv
Y2hyb21pdW0vZGVwcy9pY3UuZ2l0JyArICdAJyArICdiMzQyNTFmOGI3NjJmOGUyMTEyYTg5YzU4
Nzg1NWNhNDI5N2ZlZDk2JywKKyAgICAnc3JjL3RoaXJkX3BhcnR5L2pzci0zMDUvc3JjJzoKKyAg
ICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAnL2V4dGVybmFsL2pzci0zMDUuZ2l0JyArICdAJyAr
ICc2NDJjNTA4MjM1NDcxZjcyMjBhZjZkNWRmMmQzMjEwZTNiZmMwOTE5JywKKyAgICAnc3JjL3Ro
aXJkX3BhcnR5L2p1bml0L3NyYyc6CisgICAgICBWYXIoJ2Nocm9taXVtX2dpdCcpICsgJy9leHRl
cm5hbC9qdW5pdC5naXQnICsgJ0AnICsgJzY0MTU1ZjhhOWJhYmNmY2Y0MjYzY2Y0ZDA4MjUzYTE1
NTZlNzU0ODEnLAorICAgICdzcmMvdGhpcmRfcGFydHkvbHNzJzoKKyAgICAgIFZhcignY2hyb21p
dW1fZ2l0JykgKyAnL2xpbnV4LXN5c2NhbGwtc3VwcG9ydC5naXQnICsgJ0AnICsgVmFyKCdsc3Nf
cmV2aXNpb24nKSwKKyAgICAnc3JjL3RoaXJkX3BhcnR5L21vY2tpdG8vc3JjJzoKKyAgICAgIFZh
cignY2hyb21pdW1fZ2l0JykgKyAnL2V4dGVybmFsL21vY2tpdG8vbW9ja2l0by5naXQnICsgJ0An
ICsgJ2RlODNhZDQ1OThhZDRjZjVlYTUzYzY5YThhODA1Mzc4MGIwNGI4NTAnLAorICAgICdzcmMv
dGhpcmRfcGFydHkvcmVxdWVzdHMvc3JjJzoKKyAgICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAn
L2V4dGVybmFsL2dpdGh1Yi5jb20va2VubmV0aHJlaXR6L3JlcXVlc3RzLmdpdCcgKyAnQCcgKyAn
ZjE3MmIzMDM1NmQ4MjFkMTgwZmE0ZWNmYTNlNzFjNzI3NGEzMmRlNCcsCisgICAgJ3NyYy90aGly
ZF9wYXJ0eS9yb2JvbGVjdHJpYy9yb2JvbGVjdHJpYyc6CisgICAgICBWYXIoJ2Nocm9taXVtX2dp
dCcpICsgJy9leHRlcm5hbC9yb2JvbGVjdHJpYy5naXQnICsgJ0AnICsgJzJhMGI2YmEyMjFjMTRm
MzM3MTgxM2E2NzZjZTA2MTQzMzUzZTQ0OGQnLAorICB9LAorICAnaW9zJzogeworICAgICdzcmMv
aW9zJzoKKyAgICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAnL2Nocm9taXVtL3NyYy9pb3MnICsg
J0AnICsgJzk1OTVlZDdlZDZhYjdiY2IzYjFmOTkwYTQ0NTVmNTZkNmVkMDFlZjMnLAorICB9LAor
ICAndW5peCc6IHsKKyAgICAnc3JjL3RoaXJkX3BhcnR5L2xzcyc6CisgICAgICBWYXIoJ2Nocm9t
aXVtX2dpdCcpICsgJy9saW51eC1zeXNjYWxsLXN1cHBvcnQuZ2l0JyArICdAJyArIFZhcignbHNz
X3JldmlzaW9uJyksCisgIH0sCisgICd3aW4nOiB7CisgICAgIyBEZXBlbmRlbmNpZXMgdXNlZCBi
eSBsaWJqcGVnLXR1cmJvCisgICAgJ3NyYy90aGlyZF9wYXJ0eS95YXNtL2JpbmFyaWVzJzoKKyAg
ICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAnL2Nocm9taXVtL2RlcHMveWFzbS9iaW5hcmllcy5n
aXQnICsgJ0AnICsgJzUyZjliM2Y0YjBhYTA2ZGEyNGVmOGIxMjMwNThiYjYxZWU0Njg4ODEnLAor
ICB9LAogfQogCiAjIERlZmluZSBydWxlcyBmb3Igd2hpY2ggaW5jbHVkZSBwYXRocyBhcmUgYWxs
b3dlZCBpbiBvdXIgc291cmNlLgogaW5jbHVkZV9ydWxlcyA9IFsgJytnZmxhZ3MnIF0KIAotaG9v
a3MgPSBbCitwcmVfZGVwc19ob29rcyA9IFsKICAgewotICAgICMgQ2xvbmUgY2hyb21pdW0gYW5k
IGl0cyBkZXBzLgotICAgICduYW1lJzogJ3N5bmMgY2hyb21pdW0nLAorICAgICMgUmVtb3ZlIGFu
eSBzeW1saW5rcyBmcm9tIGJlZm9yZSAxNzc1NjdjNTE4YjEyMTczMWU1MDdlOWI5YzQwNDljNGRj
OTZlNGM4LgorICAgICMgVE9ETyhramVsbGFuZGVyKTogUmVtb3ZlIHRoaXMgaW4gTWFyY2ggMjAx
Ny4KKyAgICAnbmFtZSc6ICdjbGVhbnVwX2xpbmtzJywKICAgICAncGF0dGVybic6ICcuJywKLSAg
ICAnYWN0aW9uJzogWydweXRob24nLCAnLXUnLCBWYXIoJ3Jvb3RfZGlyJykgKyAnL3N5bmNfY2hy
b21pdW0ucHknLAotICAgICAgICAgICAgICAgJy0tdGFyZ2V0LXJldmlzaW9uJywgVmFyKCdjaHJv
bWl1bV9yZXZpc2lvbicpXSwKLSAgfSwKLSAgewotICAgICMgQ3JlYXRlIGxpbmtzIHRvIHNoYXJl
ZCBkZXBlbmRlbmNpZXMgaW4gQ2hyb21pdW0uCi0gICAgJ25hbWUnOiAnc2V0dXBfbGlua3MnLAot
ICAgICdwYXR0ZXJuJzogJy4nLAotICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsIFZhcigncm9vdF9k
aXInKSArICcvc2V0dXBfbGlua3MucHknXSwKKyAgICAnYWN0aW9uJzogWydweXRob24nLCAnc3Jj
L2NsZWFudXBfbGlua3MucHknXSwKICAgfSwKK10KKworaG9va3MgPSBbCiAgIHsKICAgICAjIFRo
aXMgY2xvYmJlcnMgd2hlbiBuZWNlc3NhcnkgKGJhc2VkIG9uIGdldF9sYW5kbWluZXMucHkpLiBJ
dCBzaG91bGQgYmUKICAgICAjIGFuIGVhcmx5IGhvb2sgYnV0IGl0IHdpbGwgbmVlZCB0byBiZSBy
dW4gYWZ0ZXIgc3luY2luZyBDaHJvbWl1bSBhbmQKQEAgLTQyLDE2ICsxMDksMzMzIEBAIGhvb2tz
ID0gWwogICAgICdwYXR0ZXJuJzogJy4nLAogICAgICdhY3Rpb24nOiBbCiAgICAgICAgICdweXRo
b24nLAotICAgICAgICBWYXIoJ3Jvb3RfZGlyJykgKyAnL2J1aWxkL2xhbmRtaW5lcy5weScsCisg
ICAgICAgICdzcmMvYnVpbGQvbGFuZG1pbmVzLnB5JywKICAgICAgICAgJy0tbGFuZG1pbmUtc2Ny
aXB0cycsCi0gICAgICAgIFZhcigncm9vdF9kaXInKSArICcvdG9vbHMvZ2V0X2xhbmRtaW5lcy5w
eScsCisgICAgICAgICdzcmMvdG9vbHNfbGlieXV2L2dldF9sYW5kbWluZXMucHknLAogICAgICAg
ICAnLS1zcmMtZGlyJywKLSAgICAgICAgVmFyKCdyb290X2RpcicpLAorICAgICAgICAnc3JjJywK
KyAgICBdLAorICB9LAorICAjIEFuZHJvaWQgZGVwZW5kZW5jaWVzLiBNYW55IGFyZSBkb3dubG9h
ZGVkIHVzaW5nIEdvb2dsZSBTdG9yYWdlIHRoZXNlIGRheXMuCisgICMgVGhleSdyZSBjb3BpZWQg
ZnJvbSBodHRwczovL2NzLmNocm9taXVtLm9yZy9jaHJvbWl1bS9zcmMvREVQUyBmb3IgYWxsCisg
ICMgc3VjaCBkZXBlbmRlbmNpZXMgd2Ugc2hhcmUgd2l0aCBDaHJvbWl1bS4KKyAgeworICAgICMg
VGhpcyBkb3dubG9hZHMgU0RLIGV4dHJhcyBhbmQgcHV0cyB0aGVtIGluIHRoZQorICAgICMgdGhp
cmRfcGFydHkvYW5kcm9pZF90b29scy9zZGsvZXh0cmFzIGRpcmVjdG9yeS4KKyAgICAnbmFtZSc6
ICdzZGtleHRyYXMnLAorICAgICdwYXR0ZXJuJzogJy4nLAorICAgICMgV2hlbiBhZGRpbmcgYSBu
ZXcgc2RrIGV4dHJhcyBwYWNrYWdlIHRvIGRvd25sb2FkLCBhZGQgdGhlIHBhY2thZ2UKKyAgICAj
IGRpcmVjdG9yeSBhbmQgemlwIGZpbGUgdG8gLmdpdGlnbm9yZSBpbiB0aGlyZF9wYXJ0eS9hbmRy
b2lkX3Rvb2xzLgorICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsCisgICAgICAgICAgICAgICAnc3Jj
L2J1aWxkL2FuZHJvaWQvcGxheV9zZXJ2aWNlcy91cGRhdGUucHknLAorICAgICAgICAgICAgICAg
J2Rvd25sb2FkJworICAgIF0sCisgIH0sCisgIHsKKyAgICAnbmFtZSc6ICdpbnRlbGxpaicsCisg
ICAgJ3BhdHRlcm4nOiAnLicsCisgICAgJ2FjdGlvbic6IFsncHl0aG9uJywKKyAgICAgICAgICAg
ICAgICdzcmMvYnVpbGQvYW5kcm9pZC91cGRhdGVfZGVwcy91cGRhdGVfdGhpcmRfcGFydHlfZGVw
cy5weScsCisgICAgICAgICAgICAgICAnZG93bmxvYWQnLAorICAgICAgICAgICAgICAgJy1iJywg
J2Nocm9taXVtLWludGVsbGlqJywKKyAgICAgICAgICAgICAgICctbCcsICd0aGlyZF9wYXJ0eS9p
bnRlbGxpaicKKyAgICBdLAorICB9LAorICB7CisgICAgJ25hbWUnOiAnamF2YXhfaW5qZWN0JywK
KyAgICAncGF0dGVybic6ICcuJywKKyAgICAnYWN0aW9uJzogWydweXRob24nLAorICAgICAgICAg
ICAgICAgJ3NyYy9idWlsZC9hbmRyb2lkL3VwZGF0ZV9kZXBzL3VwZGF0ZV90aGlyZF9wYXJ0eV9k
ZXBzLnB5JywKKyAgICAgICAgICAgICAgICdkb3dubG9hZCcsCisgICAgICAgICAgICAgICAnLWIn
LCAnY2hyb21pdW0tamF2YXgtaW5qZWN0JywKKyAgICAgICAgICAgICAgICctbCcsICd0aGlyZF9w
YXJ0eS9qYXZheF9pbmplY3QnCisgICAgXSwKKyAgfSwKKyAgeworICAgICduYW1lJzogJ2hhbWNy
ZXN0JywKKyAgICAncGF0dGVybic6ICcuJywKKyAgICAnYWN0aW9uJzogWydweXRob24nLAorICAg
ICAgICAgICAgICAgJ3NyYy9idWlsZC9hbmRyb2lkL3VwZGF0ZV9kZXBzL3VwZGF0ZV90aGlyZF9w
YXJ0eV9kZXBzLnB5JywKKyAgICAgICAgICAgICAgICdkb3dubG9hZCcsCisgICAgICAgICAgICAg
ICAnLWInLCAnY2hyb21pdW0taGFtY3Jlc3QnLAorICAgICAgICAgICAgICAgJy1sJywgJ3RoaXJk
X3BhcnR5L2hhbWNyZXN0JworICAgIF0sCisgIH0sCisgIHsKKyAgICAnbmFtZSc6ICdndWF2YScs
CisgICAgJ3BhdHRlcm4nOiAnLicsCisgICAgJ2FjdGlvbic6IFsncHl0aG9uJywKKyAgICAgICAg
ICAgICAgICdzcmMvYnVpbGQvYW5kcm9pZC91cGRhdGVfZGVwcy91cGRhdGVfdGhpcmRfcGFydHlf
ZGVwcy5weScsCisgICAgICAgICAgICAgICAnZG93bmxvYWQnLAorICAgICAgICAgICAgICAgJy1i
JywgJ2Nocm9taXVtLWd1YXZhJywKKyAgICAgICAgICAgICAgICctbCcsICd0aGlyZF9wYXJ0eS9n
dWF2YScKKyAgICBdLAorICB9LAorICB7CisgICAgJ25hbWUnOiAnYW5kcm9pZF9zdXBwb3J0X3Rl
c3RfcnVubmVyJywKKyAgICAncGF0dGVybic6ICcuJywKKyAgICAnYWN0aW9uJzogWydweXRob24n
LAorICAgICAgICAgICAgICAgJ3NyYy9idWlsZC9hbmRyb2lkL3VwZGF0ZV9kZXBzL3VwZGF0ZV90
aGlyZF9wYXJ0eV9kZXBzLnB5JywKKyAgICAgICAgICAgICAgICdkb3dubG9hZCcsCisgICAgICAg
ICAgICAgICAnLWInLCAnY2hyb21pdW0tYW5kcm9pZC1zdXBwb3J0LXRlc3QtcnVubmVyJywKKyAg
ICAgICAgICAgICAgICctbCcsICd0aGlyZF9wYXJ0eS9hbmRyb2lkX3N1cHBvcnRfdGVzdF9ydW5u
ZXInCisgICAgXSwKKyAgfSwKKyAgeworICAgICduYW1lJzogJ2J5dGVfYnVkZHknLAorICAgICdw
YXR0ZXJuJzogJy4nLAorICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsCisgICAgICAgICAgICAgICAn
c3JjL2J1aWxkL2FuZHJvaWQvdXBkYXRlX2RlcHMvdXBkYXRlX3RoaXJkX3BhcnR5X2RlcHMucHkn
LAorICAgICAgICAgICAgICAgJ2Rvd25sb2FkJywKKyAgICAgICAgICAgICAgICctYicsICdjaHJv
bWl1bS1ieXRlLWJ1ZGR5JywKKyAgICAgICAgICAgICAgICctbCcsICd0aGlyZF9wYXJ0eS9ieXRl
X2J1ZGR5JworICAgIF0sCisgIH0sCisgIHsKKyAgICAnbmFtZSc6ICdlc3ByZXNzbycsCisgICAg
J3BhdHRlcm4nOiAnLicsCisgICAgJ2FjdGlvbic6IFsncHl0aG9uJywKKyAgICAgICAgICAgICAg
ICdzcmMvYnVpbGQvYW5kcm9pZC91cGRhdGVfZGVwcy91cGRhdGVfdGhpcmRfcGFydHlfZGVwcy5w
eScsCisgICAgICAgICAgICAgICAnZG93bmxvYWQnLAorICAgICAgICAgICAgICAgJy1iJywgJ2No
cm9taXVtLWVzcHJlc3NvJywKKyAgICAgICAgICAgICAgICctbCcsICd0aGlyZF9wYXJ0eS9lc3By
ZXNzbycKKyAgICBdLAorICB9LAorICB7CisgICAgJ25hbWUnOiAncm9ib2xlY3RyaWNfbGlicycs
CisgICAgJ3BhdHRlcm4nOiAnLicsCisgICAgJ2FjdGlvbic6IFsncHl0aG9uJywKKyAgICAgICAg
ICAgICAgICdzcmMvYnVpbGQvYW5kcm9pZC91cGRhdGVfZGVwcy91cGRhdGVfdGhpcmRfcGFydHlf
ZGVwcy5weScsCisgICAgICAgICAgICAgICAnZG93bmxvYWQnLAorICAgICAgICAgICAgICAgJy1i
JywgJ2Nocm9taXVtLXJvYm9sZWN0cmljJywKKyAgICAgICAgICAgICAgICctbCcsICd0aGlyZF9w
YXJ0eS9yb2JvbGVjdHJpYycKICAgICBdLAogICB9LAogICB7Ci0gICAgIyBBIGNoYW5nZSB0byBh
IC5neXAsIC5neXBpLCBvciB0byBHWVAgaXRzZWxmIHNob3VsZCBydW4gdGhlIGdlbmVyYXRvci4K
KyAgICAnbmFtZSc6ICdhcGFjaGVfdmVsb2NpdHknLAogICAgICdwYXR0ZXJuJzogJy4nLAotICAg
ICdhY3Rpb24nOiBbJ3B5dGhvbicsIFZhcigncm9vdF9kaXInKSArICcvZ3lwX2xpYnl1diddLAor
ICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsCisgICAgICAgICAgICAgICAnc3JjL2J1aWxkL2FuZHJv
aWQvdXBkYXRlX2RlcHMvdXBkYXRlX3RoaXJkX3BhcnR5X2RlcHMucHknLAorICAgICAgICAgICAg
ICAgJ2Rvd25sb2FkJywKKyAgICAgICAgICAgICAgICctYicsICdjaHJvbWl1bS1hcGFjaGUtdmVs
b2NpdHknLAorICAgICAgICAgICAgICAgJy1sJywgJ3RoaXJkX3BhcnR5L2FwYWNoZV92ZWxvY2l0
eScKKyAgICBdLAorICB9LAorICB7CisgICAgJ25hbWUnOiAnb3cyX2FzbScsCisgICAgJ3BhdHRl
cm4nOiAnLicsCisgICAgJ2FjdGlvbic6IFsncHl0aG9uJywKKyAgICAgICAgICAgICAgICdzcmMv
YnVpbGQvYW5kcm9pZC91cGRhdGVfZGVwcy91cGRhdGVfdGhpcmRfcGFydHlfZGVwcy5weScsCisg
ICAgICAgICAgICAgICAnZG93bmxvYWQnLAorICAgICAgICAgICAgICAgJy1iJywgJ2Nocm9taXVt
LW93Mi1hc20nLAorICAgICAgICAgICAgICAgJy1sJywgJ3RoaXJkX3BhcnR5L293Ml9hc20nCisg
ICAgXSwKKyAgfSwKKyAgeworICAgICduYW1lJzogJ2ljdTRqJywKKyAgICAncGF0dGVybic6ICcu
JywKKyAgICAnYWN0aW9uJzogWydweXRob24nLAorICAgICAgICAgICAgICAgJ3NyYy9idWlsZC9h
bmRyb2lkL3VwZGF0ZV9kZXBzL3VwZGF0ZV90aGlyZF9wYXJ0eV9kZXBzLnB5JywKKyAgICAgICAg
ICAgICAgICdkb3dubG9hZCcsCisgICAgICAgICAgICAgICAnLWInLCAnY2hyb21pdW0taWN1NGon
LAorICAgICAgICAgICAgICAgJy1sJywgJ3RoaXJkX3BhcnR5L2ljdTRqJworICAgIF0sCisgIH0s
CisgIHsKKyAgICAnbmFtZSc6ICdhY2Nlc3NpYmlsaXR5X3Rlc3RfZnJhbWV3b3JrJywKKyAgICAn
cGF0dGVybic6ICcuJywKKyAgICAnYWN0aW9uJzogWydweXRob24nLAorICAgICAgICAgICAgICAg
J3NyYy9idWlsZC9hbmRyb2lkL3VwZGF0ZV9kZXBzL3VwZGF0ZV90aGlyZF9wYXJ0eV9kZXBzLnB5
JywKKyAgICAgICAgICAgICAgICdkb3dubG9hZCcsCisgICAgICAgICAgICAgICAnLWInLCAnY2hy
b21pdW0tYWNjZXNzaWJpbGl0eS10ZXN0LWZyYW1ld29yaycsCisgICAgICAgICAgICAgICAnLWwn
LCAndGhpcmRfcGFydHkvYWNjZXNzaWJpbGl0eV90ZXN0X2ZyYW1ld29yaycKKyAgICBdLAorICB9
LAorICB7CisgICAgJ25hbWUnOiAnYm91bmN5Y2FzdGxlJywKKyAgICAncGF0dGVybic6ICcuJywK
KyAgICAnYWN0aW9uJzogWydweXRob24nLAorICAgICAgICAgICAgICAgJ3NyYy9idWlsZC9hbmRy
b2lkL3VwZGF0ZV9kZXBzL3VwZGF0ZV90aGlyZF9wYXJ0eV9kZXBzLnB5JywKKyAgICAgICAgICAg
ICAgICdkb3dubG9hZCcsCisgICAgICAgICAgICAgICAnLWInLCAnY2hyb21pdW0tYm91bmN5Y2Fz
dGxlJywKKyAgICAgICAgICAgICAgICctbCcsICd0aGlyZF9wYXJ0eS9ib3VuY3ljYXN0bGUnCisg
ICAgXSwKICAgfSwKKyAgeworICAgICduYW1lJzogJ3NxbGl0ZTRqYXZhJywKKyAgICAncGF0dGVy
bic6ICcuJywKKyAgICAnYWN0aW9uJzogWydweXRob24nLAorICAgICAgICAgICAgICAgJ3NyYy9i
dWlsZC9hbmRyb2lkL3VwZGF0ZV9kZXBzL3VwZGF0ZV90aGlyZF9wYXJ0eV9kZXBzLnB5JywKKyAg
ICAgICAgICAgICAgICdkb3dubG9hZCcsCisgICAgICAgICAgICAgICAnLWInLCAnY2hyb21pdW0t
c3FsaXRlNGphdmEnLAorICAgICAgICAgICAgICAgJy1sJywgJ3RoaXJkX3BhcnR5L3NxbGl0ZTRq
YXZhJworICAgIF0sCisgIH0sCisgIHsKKyAgICAnbmFtZSc6ICdvYmplbmVzaXMnLAorICAgICdw
YXR0ZXJuJzogJy4nLAorICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsCisgICAgICAgICAgICAgICAn
c3JjL2J1aWxkL2FuZHJvaWQvdXBkYXRlX2RlcHMvdXBkYXRlX3RoaXJkX3BhcnR5X2RlcHMucHkn
LAorICAgICAgICAgICAgICAgJ2Rvd25sb2FkJywKKyAgICAgICAgICAgICAgICctYicsICdjaHJv
bWl1bS1vYmplbmVzaXMnLAorICAgICAgICAgICAgICAgJy1sJywgJ3RoaXJkX3BhcnR5L29iamVu
ZXNpcycKKyAgICBdLAorICB9LAorICB7CisgICAgIyBEb3dubG9hZHMgdGhlIGN1cnJlbnQgc3Rh
YmxlIGxpbnV4IHN5c3Jvb3QgdG8gYnVpbGQvbGludXgvIGlmIG5lZWRlZC4KKyAgICAjIFRoaXMg
c3lzcm9vdCB1cGRhdGVzIGF0IGFib3V0IHRoZSBzYW1lIHJhdGUgdGhhdCB0aGUgY2hyb21lIGJ1
aWxkIGRlcHMKKyAgICAjIGNoYW5nZS4gVGhpcyBzY3JpcHQgaXMgYSBuby1vcCBleGNlcHQgZm9y
IGxpbnV4IHVzZXJzIHdobyBhcmUgZG9pbmcKKyAgICAjIG9mZmljaWFsIGNocm9tZSBidWlsZHMg
b3IgY3Jvc3MgY29tcGlsaW5nLgorICAgICduYW1lJzogJ3N5c3Jvb3QnLAorICAgICdwYXR0ZXJu
JzogJy4nLAorICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsICdzcmMvYnVpbGQvbGludXgvc3lzcm9v
dF9zY3JpcHRzL2luc3RhbGwtc3lzcm9vdC5weScsCisgICAgICAgICAgICAgICAnLS1ydW5uaW5n
LWFzLWhvb2snXSwKKyAgfSwKKyAgeworICAgICMgVXBkYXRlIHRoZSBXaW5kb3dzIHRvb2xjaGFp
biBpZiBuZWNlc3NhcnkuCisgICAgJ25hbWUnOiAnd2luX3Rvb2xjaGFpbicsCisgICAgJ3BhdHRl
cm4nOiAnLicsCisgICAgJ2FjdGlvbic6IFsncHl0aG9uJywgJ3NyYy9idWlsZC92c190b29sY2hh
aW4ucHknLCAndXBkYXRlJ10sCisgIH0sCisgICMgUHVsbCBiaW51dGlscyBmb3IgbGludXgsIGVu
YWJsZWQgZGVidWcgZmlzc2lvbiBmb3IgZmFzdGVyIGxpbmtpbmcgLworICAjIGRlYnVnZ2luZyB3
aGVuIHVzZWQgd2l0aCBjbGFuZyBvbiBVYnVudHUgUHJlY2lzZS4KKyAgIyBodHRwczovL2NvZGUu
Z29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MzUyMDQ2CisgIHsKKyAgICAn
bmFtZSc6ICdiaW51dGlscycsCisgICAgJ3BhdHRlcm4nOiAnc3JjL3RoaXJkX3BhcnR5L2JpbnV0
aWxzJywKKyAgICAnYWN0aW9uJzogWworICAgICAgICAncHl0aG9uJywKKyAgICAgICAgJ3NyYy90
aGlyZF9wYXJ0eS9iaW51dGlscy9kb3dubG9hZC5weScsCisgICAgXSwKKyAgfSwKKyAgeworICAg
ICMgUHVsbCBjbGFuZyBpZiBuZWVkZWQgb3IgcmVxdWVzdGVkIHZpYSBHWVBfREVGSU5FUy4KKyAg
ICAjIE5vdGU6IE9uIFdpbiwgdGhpcyBzaG91bGQgcnVuIGFmdGVyIHdpbl90b29sY2hhaW4sIGFz
IGl0IG1heSB1c2UgaXQuCisgICAgJ25hbWUnOiAnY2xhbmcnLAorICAgICdwYXR0ZXJuJzogJy4n
LAorICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsICdzcmMvdG9vbHMvY2xhbmcvc2NyaXB0cy91cGRh
dGUucHknLCAnLS1pZi1uZWVkZWQnXSwKKyAgfSwKKyAgeworICAgICMgVXBkYXRlIExBU1RDSEFO
R0UuCisgICAgJ25hbWUnOiAnbGFzdGNoYW5nZScsCisgICAgJ3BhdHRlcm4nOiAnLicsCisgICAg
J2FjdGlvbic6IFsncHl0aG9uJywgJ3NyYy9idWlsZC91dGlsL2xhc3RjaGFuZ2UucHknLAorICAg
ICAgICAgICAgICAgJy1vJywgJ3NyYy9idWlsZC91dGlsL0xBU1RDSEFOR0UnXSwKKyAgfSwKKyAg
IyBQdWxsIEdOIGJpbmFyaWVzLgorICB7CisgICAgJ25hbWUnOiAnZ25fd2luJywKKyAgICAncGF0
dGVybic6ICcuJywKKyAgICAnYWN0aW9uJzogWyAnZG93bmxvYWRfZnJvbV9nb29nbGVfc3RvcmFn
ZScsCisgICAgICAgICAgICAgICAgJy0tbm9fcmVzdW1lJywKKyAgICAgICAgICAgICAgICAnLS1w
bGF0Zm9ybT13aW4zMicsCisgICAgICAgICAgICAgICAgJy0tbm9fYXV0aCcsCisgICAgICAgICAg
ICAgICAgJy0tYnVja2V0JywgJ2Nocm9taXVtLWduJywKKyAgICAgICAgICAgICAgICAnLXMnLCAn
c3JjL2J1aWxkdG9vbHMvd2luL2duLmV4ZS5zaGExJywKKyAgICBdLAorICB9LAorICB7CisgICAg
J25hbWUnOiAnZ25fbWFjJywKKyAgICAncGF0dGVybic6ICcuJywKKyAgICAnYWN0aW9uJzogWyAn
ZG93bmxvYWRfZnJvbV9nb29nbGVfc3RvcmFnZScsCisgICAgICAgICAgICAgICAgJy0tbm9fcmVz
dW1lJywKKyAgICAgICAgICAgICAgICAnLS1wbGF0Zm9ybT1kYXJ3aW4nLAorICAgICAgICAgICAg
ICAgICctLW5vX2F1dGgnLAorICAgICAgICAgICAgICAgICctLWJ1Y2tldCcsICdjaHJvbWl1bS1n
bicsCisgICAgICAgICAgICAgICAgJy1zJywgJ3NyYy9idWlsZHRvb2xzL21hYy9nbi5zaGExJywK
KyAgICBdLAorICB9LAorICB7CisgICAgJ25hbWUnOiAnZ25fbGludXg2NCcsCisgICAgJ3BhdHRl
cm4nOiAnLicsCisgICAgJ2FjdGlvbic6IFsgJ2Rvd25sb2FkX2Zyb21fZ29vZ2xlX3N0b3JhZ2Un
LAorICAgICAgICAgICAgICAgICctLW5vX3Jlc3VtZScsCisgICAgICAgICAgICAgICAgJy0tcGxh
dGZvcm09bGludXgqJywKKyAgICAgICAgICAgICAgICAnLS1ub19hdXRoJywKKyAgICAgICAgICAg
ICAgICAnLS1idWNrZXQnLCAnY2hyb21pdW0tZ24nLAorICAgICAgICAgICAgICAgICctcycsICdz
cmMvYnVpbGR0b29scy9saW51eDY0L2duLnNoYTEnLAorICAgIF0sCisgIH0sCisgICMgUHVsbCBj
bGFuZy1mb3JtYXQgYmluYXJpZXMgdXNpbmcgY2hlY2tlZC1pbiBoYXNoZXMuCisgIHsKKyAgICAn
bmFtZSc6ICdjbGFuZ19mb3JtYXRfd2luJywKKyAgICAncGF0dGVybic6ICcuJywKKyAgICAnYWN0
aW9uJzogWyAnZG93bmxvYWRfZnJvbV9nb29nbGVfc3RvcmFnZScsCisgICAgICAgICAgICAgICAg
Jy0tbm9fcmVzdW1lJywKKyAgICAgICAgICAgICAgICAnLS1wbGF0Zm9ybT13aW4zMicsCisgICAg
ICAgICAgICAgICAgJy0tbm9fYXV0aCcsCisgICAgICAgICAgICAgICAgJy0tYnVja2V0JywgJ2No
cm9taXVtLWNsYW5nLWZvcm1hdCcsCisgICAgICAgICAgICAgICAgJy1zJywgJ3NyYy9idWlsZHRv
b2xzL3dpbi9jbGFuZy1mb3JtYXQuZXhlLnNoYTEnLAorICAgIF0sCisgIH0sCisgIHsKKyAgICAn
bmFtZSc6ICdjbGFuZ19mb3JtYXRfbWFjJywKKyAgICAncGF0dGVybic6ICcuJywKKyAgICAnYWN0
aW9uJzogWyAnZG93bmxvYWRfZnJvbV9nb29nbGVfc3RvcmFnZScsCisgICAgICAgICAgICAgICAg
Jy0tbm9fcmVzdW1lJywKKyAgICAgICAgICAgICAgICAnLS1wbGF0Zm9ybT1kYXJ3aW4nLAorICAg
ICAgICAgICAgICAgICctLW5vX2F1dGgnLAorICAgICAgICAgICAgICAgICctLWJ1Y2tldCcsICdj
aHJvbWl1bS1jbGFuZy1mb3JtYXQnLAorICAgICAgICAgICAgICAgICctcycsICdzcmMvYnVpbGR0
b29scy9tYWMvY2xhbmctZm9ybWF0LnNoYTEnLAorICAgIF0sCisgIH0sCisgIHsKKyAgICAnbmFt
ZSc6ICdjbGFuZ19mb3JtYXRfbGludXgnLAorICAgICdwYXR0ZXJuJzogJy4nLAorICAgICdhY3Rp
b24nOiBbICdkb3dubG9hZF9mcm9tX2dvb2dsZV9zdG9yYWdlJywKKyAgICAgICAgICAgICAgICAn
LS1ub19yZXN1bWUnLAorICAgICAgICAgICAgICAgICctLXBsYXRmb3JtPWxpbnV4KicsCisgICAg
ICAgICAgICAgICAgJy0tbm9fYXV0aCcsCisgICAgICAgICAgICAgICAgJy0tYnVja2V0JywgJ2No
cm9taXVtLWNsYW5nLWZvcm1hdCcsCisgICAgICAgICAgICAgICAgJy1zJywgJ3NyYy9idWlsZHRv
b2xzL2xpbnV4NjQvY2xhbmctZm9ybWF0LnNoYTEnLAorICAgIF0sCisgIH0sCisgICMgUHVsbCBs
dWNpLWdvIGJpbmFyaWVzIChpc29sYXRlLCBzd2FybWluZykgdXNpbmcgY2hlY2tlZC1pbiBoYXNo
ZXMuCisgIHsKKyAgICAnbmFtZSc6ICdsdWNpLWdvX3dpbicsCisgICAgJ3BhdHRlcm4nOiAnLics
CisgICAgJ2FjdGlvbic6IFsgJ2Rvd25sb2FkX2Zyb21fZ29vZ2xlX3N0b3JhZ2UnLAorICAgICAg
ICAgICAgICAgICctLW5vX3Jlc3VtZScsCisgICAgICAgICAgICAgICAgJy0tcGxhdGZvcm09d2lu
MzInLAorICAgICAgICAgICAgICAgICctLW5vX2F1dGgnLAorICAgICAgICAgICAgICAgICctLWJ1
Y2tldCcsICdjaHJvbWl1bS1sdWNpJywKKyAgICAgICAgICAgICAgICAnLWQnLCAnc3JjL3Rvb2xz
L2x1Y2ktZ28vd2luNjQnLAorICAgIF0sCisgIH0sCisgIHsKKyAgICAnbmFtZSc6ICdsdWNpLWdv
X21hYycsCisgICAgJ3BhdHRlcm4nOiAnLicsCisgICAgJ2FjdGlvbic6IFsgJ2Rvd25sb2FkX2Zy
b21fZ29vZ2xlX3N0b3JhZ2UnLAorICAgICAgICAgICAgICAgICctLW5vX3Jlc3VtZScsCisgICAg
ICAgICAgICAgICAgJy0tcGxhdGZvcm09ZGFyd2luJywKKyAgICAgICAgICAgICAgICAnLS1ub19h
dXRoJywKKyAgICAgICAgICAgICAgICAnLS1idWNrZXQnLCAnY2hyb21pdW0tbHVjaScsCisgICAg
ICAgICAgICAgICAgJy1kJywgJ3NyYy90b29scy9sdWNpLWdvL21hYzY0JywKKyAgICBdLAorICB9
LAorICB7CisgICAgJ25hbWUnOiAnbHVjaS1nb19saW51eCcsCisgICAgJ3BhdHRlcm4nOiAnLics
CisgICAgJ2FjdGlvbic6IFsgJ2Rvd25sb2FkX2Zyb21fZ29vZ2xlX3N0b3JhZ2UnLAorICAgICAg
ICAgICAgICAgICctLW5vX3Jlc3VtZScsCisgICAgICAgICAgICAgICAgJy0tcGxhdGZvcm09bGlu
dXgqJywKKyAgICAgICAgICAgICAgICAnLS1ub19hdXRoJywKKyAgICAgICAgICAgICAgICAnLS1i
dWNrZXQnLCAnY2hyb21pdW0tbHVjaScsCisgICAgICAgICAgICAgICAgJy1kJywgJ3NyYy90b29s
cy9sdWNpLWdvL2xpbnV4NjQnLAorICAgIF0sCisgIH0sCisgIHsKKyAgICAnbmFtZSc6ICdjbGFu
Z19mb3JtYXRfbWVyZ2VfZHJpdmVyJywKKyAgICAncGF0dGVybic6ICcuJywKKyAgICAnYWN0aW9u
JzogWyAncHl0aG9uJywKKyAgICAgICAgICAgICAgICAnc3JjL3Rvb2xzL2NsYW5nX2Zvcm1hdF9t
ZXJnZV9kcml2ZXIvaW5zdGFsbF9naXRfaG9vay5weScsCisgICAgXSwKKyAgfSwKK10KKworcmVj
dXJzZWRlcHMgPSBbCisgICMgYnVpbGR0b29scyBwcm92aWRlcyBjbGFuZ19mb3JtYXQsIGxpYmMr
KywgYW5kIGxpYmMrK2FiaS4KKyAgJ3NyYy9idWlsZHRvb2xzJywKKyAgIyBhbmRyb2lkX3Rvb2xz
IG1hbmFnZXMgdGhlIE5ESy4KKyAgJ3NyYy90aGlyZF9wYXJ0eS9hbmRyb2lkX3Rvb2xzJywKIF0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L1BSRVNVQk1JVC5weSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L1BSRVNVQk1JVC5weQpvbGQgbW9kZSAxMDA3NTUKbmV3IG1v
ZGUgMTAwNjQ0CmluZGV4IDA0YzJhNWJlNjEzNzAzNGRhMzMxNjE0ZDdjZTY2ZTAxMWIwYTBiYmQu
LjJjZjE1NDJmZjE3NzlmMDI5Zjk1OGIyZDYzMmVmYjYxNGMzODZkYTMKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvUFJFU1VCTUlULnB5
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L1BSRVNVQk1JVC5weQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IDIwMTQgVGhlIExp
Yll1diBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAy
MDE3IFRoZSBMaWJZdXYgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwog
IyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlCiAjIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qg
b2YgdGhlIHNvdXJjZQpAQCAtNiw1MiArNiw2NyBAQAogIyBpbiB0aGUgZmlsZSBQQVRFTlRTLiBB
bGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKICMgYmUgZm91bmQgaW4gdGhlIEFV
VEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCiAKLWltcG9ydCByZQot
aW1wb3J0IHN5cwotCi0KLWRlZiBHZXREZWZhdWx0VHJ5Q29uZmlncyhib3RzPU5vbmUpOgotICAi
IiJSZXR1cm5zIGEgbGlzdCBvZiAoJ2JvdCcsIHNldChbJ3Rlc3RzJ10pLCBvcHRpb25hbGx5IGZp
bHRlcmVkIGJ5IFtib3RzXS4KLQotICBGb3IgV2ViUlRDIHB1cnBvc2VzLCB3ZSBhbHdheXMgcmV0
dXJuIGFuIGVtcHR5IGxpc3Qgb2YgdGVzdHMsIHNpbmNlIHdlIHdhbnQKLSAgdG8gcnVuIGFsbCB0
ZXN0cyBieSBkZWZhdWx0IG9uIGFsbCBvdXIgdHJ5Ym90cy4KLSAgIiIiCi0gIHJldHVybiB7ICd0
cnlzZXJ2ZXIubGlieXV2JzogZGljdCgoYm90LCBbXSkgZm9yIGJvdCBpbiBib3RzKX0KLQotCi0j
IHB5bGludDogZGlzYWJsZT1XMDYxMwotZGVmIEdldFByZWZlcnJlZFRyeU1hc3RlcnMocHJvamVj
dCwgY2hhbmdlKToKLSAgZmlsZXMgPSBjaGFuZ2UuTG9jYWxQYXRocygpCi0gIGJvdHMgPSBbCi0g
ICAgJ3dpbicsCi0gICAgJ3dpbl9yZWwnLAotICAgICd3aW5feDY0X3JlbCcsCi0gICAgJ3dpbl9j
bGFuZycsCi0gICAgJ3dpbl9jbGFuZ19yZWwnLAotICAgICd3aW5feDY0X2NsYW5nX3JlbCcsCi0g
ICAgJ21hYycsCi0gICAgJ21hY19yZWwnLAotICAgICdtYWNfYXNhbicsCi0gICAgJ2lvcycsCi0g
ICAgJ2lvc19yZWwnLAotICAgICdpb3NfYXJtNjQnLAotICAgICdpb3NfYXJtNjRfcmVsJywKLSAg
ICAnbGludXgnLAotICAgICdsaW51eF9yZWwnLAotICAgICdsaW51eF9tZW1jaGVjaycsCi0gICAg
J2xpbnV4X3RzYW4yJywKLSAgICAnbGludXhfYXNhbicsCi0gICAgJ2xpbnV4X21zYW4nLAotICAg
ICdsaW51eF91YnNhbicsCi0gICAgJ2xpbnV4X3Vic2FuX3ZwdHInLAotICAgICdhbmRyb2lkJywK
LSAgICAnYW5kcm9pZF9yZWwnLAotICAgICdhbmRyb2lkX2NsYW5nJywKLSAgICAnYW5kcm9pZF9h
cm02NCcsCi0gICAgJ2FuZHJvaWRfbWlwcycsCi0gICAgJ2FuZHJvaWRfeDY0JywKLSAgICAnYW5k
cm9pZF94ODYnLAoraW1wb3J0IG9zCisKKworZGVmIF9SdW5QeXRob25UZXN0cyhpbnB1dF9hcGks
IG91dHB1dF9hcGkpOgorICBkZWYgam9pbigqYXJncyk6CisgICAgcmV0dXJuIGlucHV0X2FwaS5v
c19wYXRoLmpvaW4oaW5wdXRfYXBpLlByZXN1Ym1pdExvY2FsUGF0aCgpLCAqYXJncykKKworICB0
ZXN0X2RpcmVjdG9yaWVzID0gWworICAgICAgcm9vdCBmb3Igcm9vdCwgXywgZmlsZXMgaW4gb3Mu
d2Fsayhqb2luKCd0b29sc19saWJ5dXYnKSkKKyAgICAgIGlmIGFueShmLmVuZHN3aXRoKCdfdGVz
dC5weScpIGZvciBmIGluIGZpbGVzKQogICBdCi0gIGlmIG5vdCBmaWxlcyBvciBhbGwocmUuc2Vh
cmNoKHInW1xcL11PV05FUlMkJywgZikgZm9yIGYgaW4gZmlsZXMpOgotICAgIHJldHVybiB7fQot
ICByZXR1cm4gR2V0RGVmYXVsdFRyeUNvbmZpZ3MoYm90cykKKworICB0ZXN0cyA9IFtdCisgIGZv
ciBkaXJlY3RvcnkgaW4gdGVzdF9kaXJlY3RvcmllczoKKyAgICB0ZXN0cy5leHRlbmQoCisgICAg
ICBpbnB1dF9hcGkuY2FubmVkX2NoZWNrcy5HZXRVbml0VGVzdHNJbkRpcmVjdG9yeSgKKyAgICAg
ICAgICBpbnB1dF9hcGksCisgICAgICAgICAgb3V0cHV0X2FwaSwKKyAgICAgICAgICBkaXJlY3Rv
cnksCisgICAgICAgICAgd2hpdGVsaXN0PVtyJy4rX3Rlc3RcLnB5JCddKSkKKyAgcmV0dXJuIGlu
cHV0X2FwaS5SdW5UZXN0cyh0ZXN0cywgcGFyYWxsZWw9VHJ1ZSkKKworCitkZWYgX0NvbW1vbkNo
ZWNrcyhpbnB1dF9hcGksIG91dHB1dF9hcGkpOgorICAiIiJDaGVja3MgY29tbW9uIHRvIGJvdGgg
dXBsb2FkIGFuZCBjb21taXQuIiIiCisgIHJlc3VsdHMgPSBbXQorICByZXN1bHRzLmV4dGVuZChp
bnB1dF9hcGkuY2FubmVkX2NoZWNrcy5SdW5QeWxpbnQoaW5wdXRfYXBpLCBvdXRwdXRfYXBpLAor
ICAgICAgYmxhY2tfbGlzdD0ocideYmFzZVtcXFwvXS4qXC5weSQnLAorICAgICAgICAgICAgICAg
ICAgcideYnVpbGRbXFxcL10uKlwucHkkJywKKyAgICAgICAgICAgICAgICAgIHInXmJ1aWxkdG9v
bHNbXFxcL10uKlwucHkkJywKKyAgICAgICAgICAgICAgICAgIHInXmlvc1tcXFwvXS4qXC5weSQn
LAorICAgICAgICAgICAgICAgICAgcideb3V0LipbXFxcL10uKlwucHkkJywKKyAgICAgICAgICAg
ICAgICAgIHInXnRlc3RpbmdbXFxcL10uKlwucHkkJywKKyAgICAgICAgICAgICAgICAgIHInXnRo
aXJkX3BhcnR5W1xcXC9dLipcLnB5JCcsCisgICAgICAgICAgICAgICAgICByJ150b29sc1tcXFwv
XS4qXC5weSQnLAorICAgICAgICAgICAgICAgICAgIyBUT0RPKGtqZWxsYW5kZXIpOiBzaG91bGQg
YXJndWFibHkgYmUgY2hlY2tlZC4KKyAgICAgICAgICAgICAgICAgIHInXnRvb2xzX2xpYnl1dltc
XFwvXXZhbGdyaW5kW1xcXC9dLipcLnB5JCcsCisgICAgICAgICAgICAgICAgICByJ154Y29kZWJ1
aWxkLipbXFxcL10uKlwucHkkJywpLAorICAgICAgZGlzYWJsZWRfd2FybmluZ3M9WydGMDQwMScs
ICAjIEZhaWxlZCB0byBpbXBvcnQgeAorICAgICAgICAgICAgICAgICAgICAgICAgICdFMDYxMScs
ICAjIE5vIHBhY2thZ2UgeSBpbiB4CisgICAgICAgICAgICAgICAgICAgICAgICAgJ1cwMjMyJywg
ICMgQ2xhc3MgaGFzIG5vIF9faW5pdF9fIG1ldGhvZAorICAgICAgICAgICAgICAgICAgICAgICAg
XSwKKyAgICAgIHB5bGludHJjPSdweWxpbnRyYycpKQorICByZXN1bHRzLmV4dGVuZChfUnVuUHl0
aG9uVGVzdHMoaW5wdXRfYXBpLCBvdXRwdXRfYXBpKSkKKyAgcmV0dXJuIHJlc3VsdHMKKworCitk
ZWYgQ2hlY2tDaGFuZ2VPblVwbG9hZChpbnB1dF9hcGksIG91dHB1dF9hcGkpOgorICByZXN1bHRz
ID0gW10KKyAgcmVzdWx0cy5leHRlbmQoX0NvbW1vbkNoZWNrcyhpbnB1dF9hcGksIG91dHB1dF9h
cGkpKQorICByZXN1bHRzLmV4dGVuZCgKKyAgICAgIGlucHV0X2FwaS5jYW5uZWRfY2hlY2tzLkNo
ZWNrR05Gb3JtYXR0ZWQoaW5wdXRfYXBpLCBvdXRwdXRfYXBpKSkKKyAgcmV0dXJuIHJlc3VsdHMK
KworCitkZWYgQ2hlY2tDaGFuZ2VPbkNvbW1pdChpbnB1dF9hcGksIG91dHB1dF9hcGkpOgorICBy
ZXN1bHRzID0gW10KKyAgcmVzdWx0cy5leHRlbmQoX0NvbW1vbkNoZWNrcyhpbnB1dF9hcGksIG91
dHB1dF9hcGkpKQorICByZXN1bHRzLmV4dGVuZChpbnB1dF9hcGkuY2FubmVkX2NoZWNrcy5DaGVj
a093bmVycyhpbnB1dF9hcGksIG91dHB1dF9hcGkpKQorICByZXN1bHRzLmV4dGVuZChpbnB1dF9h
cGkuY2FubmVkX2NoZWNrcy5DaGVja0NoYW5nZVdhc1VwbG9hZGVkKAorICAgICAgaW5wdXRfYXBp
LCBvdXRwdXRfYXBpKSkKKyAgcmVzdWx0cy5leHRlbmQoaW5wdXRfYXBpLmNhbm5lZF9jaGVja3Mu
Q2hlY2tDaGFuZ2VIYXNEZXNjcmlwdGlvbigKKyAgICAgIGlucHV0X2FwaSwgb3V0cHV0X2FwaSkp
CisgIHJldHVybiByZXN1bHRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9SRUFETUUuY2hyb21pdW0gYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9SRUFETUUuY2hyb21p
dW0KaW5kZXggNmU2NjAyMWQ5OGY3ZjZhNGRkYzkxZjNkZmY1MzkzYTI3N2U1YTBiMy4uOTM5YzU1
YTg5NjZhZWM0MjM3ODBjNTZiMGI2NzIwNzNiMmFkYmFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvUkVBRE1FLmNocm9t
aXVtCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L1JFQURNRS5jaHJvbWl1bQpAQCAtMSw2ICsxLDYgQEAKIE5hbWU6IGxpYnl1dgogVVJM
OiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvbGlieXV2LwotVmVyc2lvbjogMTYyOQorVmVyc2lv
bjogMTY1OAogTGljZW5zZTogQlNECiBMaWNlbnNlIEZpbGU6IExJQ0VOU0UKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
YnVpbGRfb3ZlcnJpZGVzL2J1aWxkLmduaSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2J1aWxkX292ZXJyaWRlcy9idWlsZC5nbmkKaW5kZXgg
MmU5ZTAyYWRlNjVhMWFkMDg3YzU4Njk4NTE2ZTc1N2VhMDJjMGQ0MC4uMGE2YWZmYmYyNzQwZDkx
MDYzZTUyYTQ3NDBiMTMzZGZkNjA1Y2U2NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvYnVpbGRfb3ZlcnJpZGVzL2J1aWxk
LmduaQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di9idWlsZF9vdmVycmlkZXMvYnVpbGQuZ25pCkBAIC0yMywzICsyMywyNCBAQCBidWls
ZF93aXRoX2Nocm9taXVtID0gZmFsc2UKIAogIyBTb21lIG5vbi1DaHJvbWl1bSBidWlsZHMgZG9u
J3Qgc3VwcG9ydCBidWlsZGluZyBqYXZhIHRhcmdldHMuCiBlbmFibGVfamF2YV90ZW1wbGF0ZXMg
PSB0cnVlCisKKyMgQWxsb3cgdXNpbmcgY3VzdG9tIHN1cHByZXNzaW9ucyBmaWxlcyAoY3VycmVu
dGx5IG5vdCB1c2VkIGJ5IGxpYnl1dikuCithc2FuX3N1cHByZXNzaW9uc19maWxlID0gIi8vYnVp
bGQvc2FuaXRpemVycy9hc2FuX3N1cHByZXNzaW9ucy5jYyIKK2xzYW5fc3VwcHJlc3Npb25zX2Zp
bGUgPSAiLy9idWlsZC9zYW5pdGl6ZXJzL2xzYW5fc3VwcHJlc3Npb25zLmNjIgordHNhbl9zdXBw
cmVzc2lvbnNfZmlsZSA9ICIvL2J1aWxkL3Nhbml0aXplcnMvdHNhbl9zdXBwcmVzc2lvbnMuY2Mi
CisKK21zYW5fYmxhY2tsaXN0X3BhdGggPQorICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzX2xpYnl1
di9tc2FuL2JsYWNrbGlzdC50eHQiLCByb290X2J1aWxkX2RpcikKK3Vic2FuX2JsYWNrbGlzdF9w
YXRoID0KKyAgICByZWJhc2VfcGF0aCgiLy90b29sc19saWJ5dXYvdWJzYW4vYmxhY2tsaXN0LnR4
dCIsIHJvb3RfYnVpbGRfZGlyKQordWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0aCA9CisgICAgcmVi
YXNlX3BhdGgoIi8vdG9vbHNfbGlieXV2L3Vic2FuL3ZwdHJfYmxhY2tsaXN0LnR4dCIsIHJvb3Rf
YnVpbGRfZGlyKQorCisjIEZvciBDaHJvbWl1bSwgQW5kcm9pZCAzMi1iaXQgbm9uLWNvbXBvbmVu
dCwgbm9uLWNsYW5nIGJ1aWxkcyBoaXQgYSA0R2lCIHNpemUKKyMgbGltaXQsIG1ha2luZyB0aGVt
IHJlcXVpcmluZyBzeW1ib2xfbGV2ZWw9Mi4gV2ViUlRDIGRvZXNuJ3QgaGl0IHRoYXQgcHJvYmxl
bQorIyBzbyB3ZSBqdXN0IGlnbm9yZSB0aGF0IGFzc2VydC4gU2VlIGh0dHBzOi8vY3JidWcuY29t
LzY0ODk0OCBmb3IgbW9yZSBpbmZvLgoraWdub3JlX2VsZjMyX2xpbWl0YXRpb25zID0gdHJ1ZQor
CisjIFVzZSBzeXN0ZW0gWGNvZGUgaW5zdGFsbGF0aW9uIGluc3RlYWQgb2YgdGhlIENocm9taXVt
IGJ1bmRsZWQgTWFjIHRvb2xjaGFpbiwKKyMgc2luY2UgaXQgY29udGFpbnMgb25seSBTREsgMTAu
MTEsIG5vdCAxMC4xMiB3aGljaCBXZWJSVEMgbmVlZHMuCit1c2Vfc3lzdGVtX3hjb2RlID0gdHJ1
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvY2hyb21pdW0vLmdjbGllbnQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9jaHJvbWl1bS8uZ2NsaWVudApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYzFhODZlY2ZlYmMyYzg2ZGFkOWRmNjJlZjk5ODRlNTY1M2M2
ZTI2MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9jaHJvbWl1
bS8uZ2NsaWVudAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLXNvbHV0aW9ucyA9IFt7
Ci0gICduYW1lJzogJ3NyYycsCi0gICd1cmwnOiAnaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2Nocm9taXVtL3NyYy5naXQnLAotICAnZGVwc19maWxlJzogJy5ERVBTLmdpdCcsCi0g
ICdtYW5hZ2VkJzogRmFsc2UsCi0gICdjdXN0b21fZGVwcyc6IHsKLSAgICAjIFNraXAgc3luY2lu
ZyBzb21lIGxhcmdlIGRlcGVuZGVuY2llcyBMaWJ5dXYgd2lsbCBuZXZlciBuZWVkLgotICAgICdz
cmMvdGhpcmRfcGFydHkvY2xkXzIvc3JjJzogTm9uZSwKLSAgICAnc3JjL3RoaXJkX3BhcnR5L2Zm
bXBlZyc6IE5vbmUsCi0gICAgJ3NyYy90aGlyZF9wYXJ0eS9odW5zcGVsbF9kaWN0aW9uYXJpZXMn
OiBOb25lLAotICAgICdzcmMvdGhpcmRfcGFydHkvbGlibG91aXMvc3JjJzogTm9uZSwKLSAgICAn
c3JjL3RoaXJkX3BhcnR5L3BkZml1bSc6IE5vbmUsCi0gICAgJ3NyYy90aGlyZF9wYXJ0eS9za2lh
JzogTm9uZSwKLSAgICAnc3JjL3RoaXJkX3BhcnR5L3RyYWNlLXZpZXdlcic6IE5vbmUsCi0gICAg
J3NyYy90aGlyZF9wYXJ0eS93ZWJydGMnOiBOb25lLAotICB9LAotICAnc2FmZXN5bmNfdXJsJzog
JycKLX1dCi0KLWNhY2hlX2RpciA9IE5vbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2Nocm9taXVtL1JFQURNRSBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2Nocm9t
aXVtL1JFQURNRQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTI3ZjRiNTIwZjM0NzJl
ZjZkMDAxOWQ1ZmQ2NjRhYWIzNmVlYTg1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9jaHJvbWl1bS9SRUFETUUKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAg
QEAKLVRoaXMgLmdjbGllbnQgZmlsZSBpcyB1c2VkIHRvIGRvIGRvd25sb2FkIGEgY29weSBvZiBD
aHJvbWl1bS4KLUxpYnl1diB1c2VzIHRoZSBDaHJvbWl1bSBidWlsZCB0b29sY2hhaW4gYW5kIGEg
bnVtYmVyIG9mIHNoYXJlZAotZGVwZW5kZW5jaWVzIGJ5IGNyZWF0aW5nIHN5bWxpbmtzIHRvIGZv
bGRlcnMgaW4gdGhpcyBjaGVja291dCwKLXVzaW5nIHRoZSAuLi9zZXR1cF9saW5rcy5weSBzY3Jp
cHQuCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L2NsZWFudXBfbGlua3MucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9jbGVhbnVwX2xpbmtzLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJhMjkwNzg5MmZmMWRjNDA0ODQ4YzQ0ZGIwZjk0MjAzNWJjMWU5ZGQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9jbGVhbnVwX2xpbmtzLnB5CkBAIC0wLDAgKzEsMTA3IEBACisjIS91c3IvYmluL2VudiBw
eXRob24KKyMgQ29weXJpZ2h0IDIwMTcgVGhlIExpYll1diBQcm9qZWN0IEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjCisjIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk
IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UKKyMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCisjIHRyZWUuIEFuIGFkZGl0aW9uYWwg
aW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKKyMgaW4gdGhl
IGZpbGUgUEFURU5UUy4gQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5CisjIGJl
IGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVl
LgorCisjIFRoaXMgaXMgYSBjb3B5IG9mIHRoZSBmaWxlIGZyb20gV2ViUlRDIGluOgorIyBodHRw
czovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vZXh0ZXJuYWwvd2VicnRjLysvbWFzdGVyL2Ns
ZWFudXBfbGlua3MucHkKKworIiIiU2NyaXB0IHRvIGNsZWFudXAgc3ltbGlua3MgY3JlYXRlZCBm
cm9tIHNldHVwX2xpbmtzLnB5LgorCitCZWZvcmUgMTc3NTY3YzUxOGIxMjE3MzFlNTA3ZTliOWM0
MDQ5YzRkYzk2ZTRjOCAoIzE1NzU0KSB3ZSBoYWQgYSBDaHJvbWl1bQorY2hlY2tvdXQgd2hpY2gg
d2UgY3JlYXRlZCBzeW1saW5rcyBpbnRvLiBJbiBvcmRlciB0byBkbyBjbGVhbiBzeW5jcyBhZnRl
cgorbGFuZGluZyB0aGF0IGNoYW5nZSwgdGhpcyBzY3JpcHQgY2xlYW5zIHVwIGFueSBvbGQgc3lt
bGlua3MsIGF2b2lkaW5nIGFubm95aW5nCittYW51YWwgY2xlYW51cCBuZWVkZWQgaW4gb3JkZXIg
dG8gY29tcGxldGUgZ2NsaWVudCBzeW5jLgorIiIiCisKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQg
b3B0cGFyc2UKK2ltcG9ydCBvcworaW1wb3J0IHNoZWx2ZQoraW1wb3J0IHN1YnByb2Nlc3MKK2lt
cG9ydCBzeXMKKworCitST09UX0RJUiA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgo
X19maWxlX18pKQorTElOS1NfREIgPSAnbGlua3MnCisKKyMgVmVyc2lvbiBtYW5hZ2VtZW50IHRv
IG1ha2UgZnV0dXJlIHVwZ3JhZGVzL2Rvd25ncmFkZXMgZWFzaWVyIHRvIHN1cHBvcnQuCitTQ0hF
TUFfVkVSU0lPTiA9IDEKKworY2xhc3MgV2ViUlRDTGlua1NldHVwKG9iamVjdCk6CisgIGRlZiBf
X2luaXRfXyhzZWxmLCBsaW5rc19kYiwgZHJ5X3J1bj1GYWxzZSk6CisgICAgc2VsZi5fZHJ5X3J1
biA9IGRyeV9ydW4KKyAgICBzZWxmLl9saW5rc19kYiA9IGxpbmtzX2RiCisKKyAgZGVmIENsZWFu
dXBMaW5rcyhzZWxmKToKKyAgICBsb2dnaW5nLmRlYnVnKCdDbGVhbnVwTGlua3MnKQorICAgIGZv
ciBzb3VyY2UsIGxpbmtfcGF0aCAgaW4gc2VsZi5fbGlua3NfZGIuaXRlcml0ZW1zKCk6CisgICAg
ICBpZiBzb3VyY2UgPT0gJ1NDSEVNQV9WRVJTSU9OJzoKKyAgICAgICAgY29udGludWUKKyAgICAg
IGlmIG9zLnBhdGguaXNsaW5rKGxpbmtfcGF0aCkgb3Igc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgo
J3dpbicpOgorICAgICAgICAjIG9zLnBhdGguaXNsaW5rKCkgYWx3YXlzIHJldHVybnMgZmFsc2Ug
b24gV2luZG93cworICAgICAgICAjIFNlZSBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTMx
NDMuCisgICAgICAgIGxvZ2dpbmcuZGVidWcoJ1JlbW92aW5nIGxpbmsgdG8gJXMgYXQgJXMnLCBz
b3VyY2UsIGxpbmtfcGF0aCkKKyAgICAgICAgaWYgbm90IHNlbGYuX2RyeV9ydW46CisgICAgICAg
ICAgaWYgb3MucGF0aC5leGlzdHMobGlua19wYXRoKToKKyAgICAgICAgICAgIGlmIHN5cy5wbGF0
Zm9ybS5zdGFydHN3aXRoKCd3aW4nKSBhbmQgb3MucGF0aC5pc2RpcihsaW5rX3BhdGgpOgorICAg
ICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWydybWRpcicsICcvcScsICcvcycsIGxp
bmtfcGF0aF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbD1UcnVl
KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgb3MucmVtb3ZlKGxpbmtfcGF0aCkK
KyAgICAgICAgICBkZWwgc2VsZi5fbGlua3NfZGJbc291cmNlXQorCisKK2RlZiBfaW5pdGlhbGl6
ZV9kYXRhYmFzZShmaWxlbmFtZSk6CisgIGxpbmtzX2RhdGFiYXNlID0gc2hlbHZlLm9wZW4oZmls
ZW5hbWUpCisgICMgV2lwZSB0aGUgZGF0YWJhc2UgaWYgdGhpcyB2ZXJzaW9uIG9mIHRoZSBzY3Jp
cHQgZW5kcyB1cCBsb29raW5nIGF0IGEKKyAgIyBuZXdlciAoZnV0dXJlKSB2ZXJzaW9uIG9mIHRo
ZSBsaW5rcyBkYiwganVzdCB0byBiZSBzdXJlLgorICB2ZXJzaW9uID0gbGlua3NfZGF0YWJhc2Uu
Z2V0KCdTQ0hFTUFfVkVSU0lPTicpCisgIGlmIHZlcnNpb24gYW5kIHZlcnNpb24gIT0gU0NIRU1B
X1ZFUlNJT046CisgICAgbG9nZ2luZy5pbmZvKCdGb3VuZCBkYXRhYmFzZSB3aXRoIHNjaGVtYSB2
ZXJzaW9uICVzIHdoaWxlIHRoaXMgc2NyaXB0IG9ubHkgJworICAgICAgICAgICAgICAgICAnc3Vw
cG9ydHMgJXMuIFdpcGluZyBwcmV2aW91cyBkYXRhYmFzZSBjb250ZW50cy4nLCB2ZXJzaW9uLAor
ICAgICAgICAgICAgICAgICBTQ0hFTUFfVkVSU0lPTikKKyAgICBsaW5rc19kYXRhYmFzZS5jbGVh
cigpCisgIGxpbmtzX2RhdGFiYXNlWydTQ0hFTUFfVkVSU0lPTiddID0gU0NIRU1BX1ZFUlNJT04K
KyAgcmV0dXJuIGxpbmtzX2RhdGFiYXNlCisKKworZGVmIG1haW4oKToKKyAgcGFyc2VyID0gb3B0
cGFyc2UuT3B0aW9uUGFyc2VyKCkKKyAgcGFyc2VyLmFkZF9vcHRpb24oJy1kJywgJy0tZHJ5LXJ1
bicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAg
ICAgIGhlbHA9J1ByaW50IHdoYXQgd291bGQgYmUgZG9uZSwgYnV0IGRvblwndCBwZXJmb3JtIGFu
eSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgJ29wZXJhdGlvbnMuIFRoaXMgd2lsbCBhdXRv
bWF0aWNhbGx5IHNldCBsb2dnaW5nIHRvICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAndmVy
Ym9zZS4nKQorICBwYXJzZXIuYWRkX29wdGlvbignLXYnLCAnLS12ZXJib3NlJywgYWN0aW9uPSdz
dG9yZV9jb25zdCcsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0PWxvZ2dpbmcuREVCVUcsIGRl
ZmF1bHQ9bG9nZ2luZy5JTkZPLAorICAgICAgICAgICAgICAgICAgICBoZWxwPSdQcmludCB2ZXJi
b3NlIG91dHB1dCBmb3IgZGVidWdnaW5nLicpCisgIG9wdGlvbnMsIF8gPSBwYXJzZXIucGFyc2Vf
YXJncygpCisKKyAgaWYgb3B0aW9ucy5kcnlfcnVuOgorICAgIG9wdGlvbnMudmVyYm9zZSA9IGxv
Z2dpbmcuREVCVUcKKyAgbG9nZ2luZy5iYXNpY0NvbmZpZyhmb3JtYXQ9JyUobWVzc2FnZSlzJywg
bGV2ZWw9b3B0aW9ucy52ZXJib3NlKQorCisgICMgV29yayBmcm9tIHRoZSByb290IGRpcmVjdG9y
eSBvZiB0aGUgY2hlY2tvdXQuCisgIHNjcmlwdF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0
aC5hYnNwYXRoKF9fZmlsZV9fKSkKKyAgb3MuY2hkaXIoc2NyaXB0X2RpcikKKworICAjIFRoZSBk
YXRhYmFzZSBmaWxlIGdldHMgLmRiIGFwcGVuZGVkIG9uIHNvbWUgcGxhdGZvcm1zLgorICBkYl9m
aWxlbmFtZXMgPSBbTElOS1NfREIsIExJTktTX0RCICsgJy5kYiddCisgIGlmIGFueShvcy5wYXRo
LmlzZmlsZShmKSBmb3IgZiBpbiBkYl9maWxlbmFtZXMpOgorICAgIGxpbmtzX2RhdGFiYXNlID0g
X2luaXRpYWxpemVfZGF0YWJhc2UoTElOS1NfREIpCisgICAgdHJ5OgorICAgICAgc3ltbGlua19j
cmVhdG9yID0gV2ViUlRDTGlua1NldHVwKGxpbmtzX2RhdGFiYXNlLCBvcHRpb25zLmRyeV9ydW4p
CisgICAgICBzeW1saW5rX2NyZWF0b3IuQ2xlYW51cExpbmtzKCkKKyAgICBmaW5hbGx5OgorICAg
ICAgZm9yIGYgaW4gZGJfZmlsZW5hbWVzOgorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmKToK
KyAgICAgICAgICBvcy5yZW1vdmUoZikKKyAgcmV0dXJuIDAKKworCitpZiBfX25hbWVfXyA9PSAn
X19tYWluX18nOgorICBzeXMuZXhpdChtYWluKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9jb2RlcmV2aWV3LnNldHRp
bmdzIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvY29kZXJldmlldy5zZXR0aW5ncwppbmRleCBlNmFmMTA0MmJlOTFjMjE5NTVmODk1NWFlY2Fm
ZjcxZjViN2I2ZGRjLi4wMGJhMWQzN2QwM2JkZDU3MzhmNmQ4YTM0ZmMwYzVhM2JkZTk1OGM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di9jb2RlcmV2aWV3LnNldHRpbmdzCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2NvZGVyZXZpZXcuc2V0dGluZ3MKQEAgLTEs
MTEgKzEsNiBAQAotIyBUaGlzIGZpbGUgaXMgdXNlZCBieSBnY2wgdG8gZ2V0IHJlcG9zaXRvcnkg
c3BlY2lmaWMgaW5mb3JtYXRpb24uCisjIFRoaXMgZmlsZSBpcyB1c2VkIGJ5IGdpdCBjbCB0byBn
ZXQgcmVwb3NpdG9yeSBzcGVjaWZpYyBpbmZvcm1hdGlvbi4KIENPREVfUkVWSUVXX1NFUlZFUjog
Y29kZXJldmlldy5jaHJvbWl1bS5vcmcKLSNDQ19MSVNUOgotVklFV19WQzogaHR0cHM6Ly9jaHJv
bWl1bS5nb29nbGVzb3VyY2UuY29tL2xpYnl1di9saWJ5dXYvKy8KLSNTVEFUVVM6Ci1GT1JDRV9I
VFRQU19DT01NSVRfVVJMOiBUcnVlCitHRVJSSVRfSE9TVDogVHJ1ZQogUFJPSkVDVDogbGlieXV2
CiBUUllfT05fVVBMT0FEOiBGYWxzZQotVFJZU0VSVkVSX1JPT1Q6IHNyYwotI0dJVENMX1BSRVVQ
TE9BRDoKLSNHSVRDTF9QUkVEQ09NTUlUOgorVklFV19WQzogaHR0cHM6Ly9jaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL2xpYnl1di9saWJ5dXYvKy8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2RvY3MvZGVwcmVjYXRlZF9i
dWlsZHMubWQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di9kb2NzL2RlcHJlY2F0ZWRfYnVpbGRzLm1kCmluZGV4IDVjNzE5OWI4ZDIzZmY4NmVm
MDAwZTMzOWMzNmRjYjc0OTk4ODdhZWQuLmQ1NGEwMjgyYzE1NWFjZmUzZDNlYmQzZWZiNjY5OWRk
NzJjYzViNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L2RvY3MvZGVwcmVjYXRlZF9idWlsZHMubWQKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvZG9jcy9kZXBy
ZWNhdGVkX2J1aWxkcy5tZApAQCAtMTczLDE1ICsxNzMsMTUgQEAgYXJtNjQgZGlzYXNzZW1ibHk6
CiAKIFJ1bm5pbmcgdGVzdHM6CiAKLSAgICB1dGlsL2FuZHJvaWQvdGVzdF9ydW5uZXIucHkgZ3Rl
c3QgLXMgbGlieXV2X3VuaXR0ZXN0IC10IDcyMDAgLS12ZXJib3NlIC0tcmVsZWFzZSAtLWd0ZXN0
X2ZpbHRlcj0qCisgICAgYnVpbGQvYW5kcm9pZC90ZXN0X3J1bm5lci5weSBndGVzdCAtcyBsaWJ5
dXZfdW5pdHRlc3QgLXQgNzIwMCAtLXZlcmJvc2UgLS1yZWxlYXNlIC0tZ3Rlc3RfZmlsdGVyPSoK
IAogUnVubmluZyB0ZXN0IGFzIGJlbmNobWFyazoKIAotICAgIHV0aWwvYW5kcm9pZC90ZXN0X3J1
bm5lci5weSBndGVzdCAtcyBsaWJ5dXZfdW5pdHRlc3QgLXQgNzIwMCAtLXZlcmJvc2UgLS1yZWxl
YXNlIC0tZ3Rlc3RfZmlsdGVyPSogLWEgIi0tbGlieXV2X3dpZHRoPTEyODAgLS1saWJ5dXZfaGVp
Z2h0PTcyMCAtLWxpYnl1dl9yZXBlYXQ9OTk5IC0tbGlieXV2X2ZsYWdzPS0xIgorICAgIGJ1aWxk
L2FuZHJvaWQvdGVzdF9ydW5uZXIucHkgZ3Rlc3QgLXMgbGlieXV2X3VuaXR0ZXN0IC10IDcyMDAg
LS12ZXJib3NlIC0tcmVsZWFzZSAtLWd0ZXN0X2ZpbHRlcj0qIC1hICItLWxpYnl1dl93aWR0aD0x
MjgwIC0tbGlieXV2X2hlaWdodD03MjAgLS1saWJ5dXZfcmVwZWF0PTk5OSAtLWxpYnl1dl9mbGFn
cz0tMSIKIAogUnVubmluZyB0ZXN0IHdpdGggQyBjb2RlOgogCi0gICAgdXRpbC9hbmRyb2lkL3Rl
c3RfcnVubmVyLnB5IGd0ZXN0IC1zIGxpYnl1dl91bml0dGVzdCAtdCA3MjAwIC0tdmVyYm9zZSAt
LXJlbGVhc2UgLS1ndGVzdF9maWx0ZXI9KiAtYSAiLS1saWJ5dXZfd2lkdGg9MTI4MCAtLWxpYnl1
dl9oZWlnaHQ9NzIwIC0tbGlieXV2X3JlcGVhdD05OTkgLS1saWJ5dXZfZmxhZ3M9MSAtLWxpYnl1
dl9jcHVfaW5mbz0xIgorICAgIGJ1aWxkL2FuZHJvaWQvdGVzdF9ydW5uZXIucHkgZ3Rlc3QgLXMg
bGlieXV2X3VuaXR0ZXN0IC10IDcyMDAgLS12ZXJib3NlIC0tcmVsZWFzZSAtLWd0ZXN0X2ZpbHRl
cj0qIC1hICItLWxpYnl1dl93aWR0aD0xMjgwIC0tbGlieXV2X2hlaWdodD03MjAgLS1saWJ5dXZf
cmVwZWF0PTk5OSAtLWxpYnl1dl9mbGFncz0xIC0tbGlieXV2X2NwdV9pbmZvPTEiCiAKICMjIyMg
QnVpbGRpbmcgd2l0aCBHTgogCkBAIC0yMzgsNyArMjM4LDcgQEAgSWYgeW91IGdldCBhIGNvbXBp
bGUgZXJyb3IgZm9yIGF0bHRodW5rLmxpYiBvbiBXaW5kb3dzLCByZWFkIGh0dHA6Ly93d3cuY2hy
b21pdW0KICAgICBuaW5qYSAtQyBvdXQvRGVidWcgbGlieXV2CiAgICAgbmluamEgLUMgb3V0L0Rl
YnVnIGxpYnl1dl91bml0dGVzdAogICAgIG5pbmphIC1DIG91dC9EZWJ1ZyBjb21wYXJlCi0gICAg
bmluamEgLUMgb3V0L0RlYnVnIGNvbnZlcnQKKyAgICBuaW5qYSAtQyBvdXQvRGVidWcgeXV2Y29u
dmVydAogICAgIG5pbmphIC1DIG91dC9EZWJ1ZyBwc25yCiAgICAgbmluamEgLUMgb3V0L0RlYnVn
IGNwdWlkCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L2RvY3MvZ2V0dGluZ19zdGFydGVkLm1kIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvZG9jcy9nZXR0aW5nX3N0
YXJ0ZWQubWQKaW5kZXggYTBkNTBhOTRlZjBhMDViOTY1YTFjZWU2OGY5MTMxY2UxMWY1MDEyNi4u
NWRmNGMzMGRiNzMxNjhhOTM2MzE5ZTdlYTFmMTM2MzhjOWRmMGZlNiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvZG9jcy9n
ZXR0aW5nX3N0YXJ0ZWQubWQKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvZG9jcy9nZXR0aW5nX3N0YXJ0ZWQubWQKQEAgLTExLDEzICsx
MSwxMyBAQCBSZWZlciB0byBjaHJvbWl1bSBpbnN0cnVjdGlvbnMgZm9yIGVhY2ggcGxhdGZvcm0g
Zm9yIG90aGVyIHByZXJlcXVpc2l0ZXMuCiAKIENyZWF0ZSBhIHdvcmtpbmcgZGlyZWN0b3J5LCBl
bnRlciBpdCwgYW5kIHJ1bjoKIAotICAgIGdjbGllbnQgY29uZmlnIGh0dHBzOi8vY2hyb21pdW0u
Z29vZ2xlc291cmNlLmNvbS9saWJ5dXYvbGlieXV2CisgICAgZ2NsaWVudCBjb25maWcgLS1uYW1l
IHNyYyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vbGlieXV2L2xpYnl1dgogICAg
IGdjbGllbnQgc3luYwogCiBUaGVuIHlvdSdsbCBnZXQgYSAuZ2NsaWVudCBmaWxlIGxpa2U6CiAK
ICAgICBzb2x1dGlvbnMgPSBbCi0gICAgICB7ICJuYW1lIiAgICAgICAgOiAibGlieXV2IiwKKyAg
ICAgIHsgIm5hbWUiICAgICAgICA6ICJzcmMiLAogICAgICAgICAidXJsIiAgICAgICAgIDogImh0
dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9saWJ5dXYvbGlieXV2IiwKICAgICAgICAg
ImRlcHNfZmlsZSIgICA6ICJERVBTIiwKICAgICAgICAgIm1hbmFnZWQiICAgICA6IFRydWUsCkBA
IC0zNSw3ICszNSw3IEBAIEJyb3dzZSB0aGUgR2l0IHJlcHJvc2l0b3J5OiBodHRwczovL2Nocm9t
aXVtLmdvb2dsZXNvdXJjZS5jb20vbGlieXV2L2xpYnl1di8rL21hCiBGb3IgQW5kcm9pZCBhZGQg
YDt0YXJnZXRfb3M9WydhbmRyb2lkJ107YCB0byB5b3VyIExpbnV4IC5nY2xpZW50CiAKICAgICBz
b2x1dGlvbnMgPSBbCi0gICAgICB7ICJuYW1lIiAgICAgICAgOiAibGlieXV2IiwKKyAgICAgIHsg
Im5hbWUiICAgICAgICA6ICJzcmMiLAogICAgICAgICAidXJsIiAgICAgICAgIDogImh0dHBzOi8v
Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9saWJ5dXYvbGlieXV2IiwKICAgICAgICAgImRlcHNf
ZmlsZSIgICA6ICJERVBTIiwKICAgICAgICAgIm1hbmFnZWQiICAgICA6IFRydWUsCkBAIC00NCwy
MSArNDQsMTMgQEAgRm9yIEFuZHJvaWQgYWRkIGA7dGFyZ2V0X29zPVsnYW5kcm9pZCddO2AgdG8g
eW91ciBMaW51eCAuZ2NsaWVudAogICAgICAgICAic2FmZXN5bmNfdXJsIjogIiIsCiAgICAgICB9
LAogICAgIF07Ci0gICAgdGFyZ2V0X29zID0gWyJhbmRyb2lkIiwgInVuaXgiXTsKKyAgICB0YXJn
ZXRfb3MgPSBbImFuZHJvaWQiLCAibGludXgiXTsKIAogVGhlbiBydW46CiAKICAgICBleHBvcnQg
R1lQX0RFRklORVM9Ik9TPWFuZHJvaWQiCiAgICAgZ2NsaWVudCBzeW5jCiAKLUNhdmVhdDogVGhl
cmVzIGFuIGVycm9yIHdpdGggR29vZ2xlIFBsYXkgc2VydmljZXMgdXBkYXRlcy4gIElmIHlvdSBn
ZXQgdGhlIGVycm9yICJZb3VyIHZlcnNpb24gb2YgdGhlIEdvb2dsZSBQbGF5IHNlcnZpY2VzIGxp
YnJhcnkgaXMgbm90IHVwIHRvIGRhdGUiLCBydW4gdGhlIGZvbGxvd2luZzoKLQotICAgIGNkIGNo
cm9taXVtL3NyYwotICAgIC4vYnVpbGQvYW5kcm9pZC9wbGF5X3NlcnZpY2VzL3VwZGF0ZS5weSBk
b3dubG9hZAotICAgIGNkIC4uLy4uCi0KLUZvciBXaW5kb3dzIHRoZSBnY2xpZW50IHN5bmMgbXVz
dCBiZSBkb25lIGZyb20gYW4gQWRtaW5pc3RyYXRvciBjb21tYW5kIHByb21wdC4KLQogVGhlIHN5
bmMgd2lsbCBnZW5lcmF0ZSBuYXRpdmUgYnVpbGQgZmlsZXMgZm9yIHlvdXIgZW52aXJvbm1lbnQg
dXNpbmcgZ3lwIChXaW5kb3dzOiBWaXN1YWwgU3R1ZGlvLCBPU1g6IFhDb2RlLCBMaW51eDogbWFr
ZSkuIFRoaXMgZ2VuZXJhdGlvbiBjYW4gYWxzbyBiZSBmb3JjZWQgbWFudWFsbHk6IGBnY2xpZW50
IHJ1bmhvb2tzYAogCiBUbyBnZXQganVzdCB0aGUgc291cmNlIChub3QgYnVpbGRhYmxlKToKQEAg
LTcyLDEzICs2NCwxMyBAQCBUbyBnZXQganVzdCB0aGUgc291cmNlIChub3QgYnVpbGRhYmxlKToK
IAogICAgIGNhbGwgZ24gZ2VuIG91dC9SZWxlYXNlICItLWFyZ3M9aXNfZGVidWc9ZmFsc2UgdGFy
Z2V0X2NwdT1cIng4NlwiIgogICAgIGNhbGwgZ24gZ2VuIG91dC9EZWJ1ZyAiLS1hcmdzPWlzX2Rl
YnVnPXRydWUgdGFyZ2V0X2NwdT1cIng4NlwiIgotICAgIG5pbmphIC1qNyAtdiAtQyBvdXQvUmVs
ZWFzZQotICAgIG5pbmphIC1qNyAtdiAtQyBvdXQvRGVidWcKKyAgICBuaW5qYSAtdiAtQyBvdXQv
UmVsZWFzZQorICAgIG5pbmphIC12IC1DIG91dC9EZWJ1ZwogCiAgICAgY2FsbCBnbiBnZW4gb3V0
L1JlbGVhc2UgIi0tYXJncz1pc19kZWJ1Zz1mYWxzZSB0YXJnZXRfY3B1PVwieDY0XCIiCiAgICAg
Y2FsbCBnbiBnZW4gb3V0L0RlYnVnICItLWFyZ3M9aXNfZGVidWc9dHJ1ZSB0YXJnZXRfY3B1PVwi
eDY0XCIiCi0gICAgbmluamEgLWo3IC12IC1DIG91dC9SZWxlYXNlCi0gICAgbmluamEgLWo3IC12
IC1DIG91dC9EZWJ1ZworICAgIG5pbmphIC12IC1DIG91dC9SZWxlYXNlCisgICAgbmluamEgLXYg
LUMgb3V0L0RlYnVnCiAKICMjIyMgQnVpbGRpbmcgd2l0aCBjbGFuZy1jbAogCkBAIC04NywyMCAr
NzksMjAgQEAgVG8gZ2V0IGp1c3QgdGhlIHNvdXJjZSAobm90IGJ1aWxkYWJsZSk6CiAKICAgICBj
YWxsIGduIGdlbiBvdXQvUmVsZWFzZSAiLS1hcmdzPWlzX2RlYnVnPWZhbHNlIGlzX29mZmljaWFs
X2J1aWxkPWZhbHNlIGlzX2NsYW5nPXRydWUgdGFyZ2V0X2NwdT1cIng4NlwiIgogICAgIGNhbGwg
Z24gZ2VuIG91dC9EZWJ1ZyAiLS1hcmdzPWlzX2RlYnVnPXRydWUgaXNfb2ZmaWNpYWxfYnVpbGQ9
ZmFsc2UgaXNfY2xhbmc9dHJ1ZSB0YXJnZXRfY3B1PVwieDg2XCIiCi0gICAgbmluamEgLWo3IC12
IC1DIG91dC9SZWxlYXNlCi0gICAgbmluamEgLWo3IC12IC1DIG91dC9EZWJ1ZworICAgIG5pbmph
IC12IC1DIG91dC9SZWxlYXNlCisgICAgbmluamEgLXYgLUMgb3V0L0RlYnVnCiAKICAgICBjYWxs
IGduIGdlbiBvdXQvUmVsZWFzZSAiLS1hcmdzPWlzX2RlYnVnPWZhbHNlIGlzX29mZmljaWFsX2J1
aWxkPWZhbHNlIGlzX2NsYW5nPXRydWUgdGFyZ2V0X2NwdT1cIng2NFwiIgogICAgIGNhbGwgZ24g
Z2VuIG91dC9EZWJ1ZyAiLS1hcmdzPWlzX2RlYnVnPXRydWUgaXNfb2ZmaWNpYWxfYnVpbGQ9ZmFs
c2UgaXNfY2xhbmc9dHJ1ZSB0YXJnZXRfY3B1PVwieDY0XCIiCi0gICAgbmluamEgLWo3IC12IC1D
IG91dC9SZWxlYXNlCi0gICAgbmluamEgLWo3IC12IC1DIG91dC9EZWJ1ZworICAgIG5pbmphIC12
IC1DIG91dC9SZWxlYXNlCisgICAgbmluamEgLXYgLUMgb3V0L0RlYnVnCiAKICMjIyBtYWNPUyBh
bmQgTGludXgKIAogICAgIGduIGdlbiBvdXQvUmVsZWFzZSAiLS1hcmdzPWlzX2RlYnVnPWZhbHNl
IgogICAgIGduIGdlbiBvdXQvRGVidWcgIi0tYXJncz1pc19kZWJ1Zz10cnVlIgotICAgIG5pbmph
IC1qNyAtdiAtQyBvdXQvUmVsZWFzZQotICAgIG5pbmphIC1qNyAtdiAtQyBvdXQvRGVidWcKKyAg
ICBuaW5qYSAtdiAtQyBvdXQvUmVsZWFzZQorICAgIG5pbmphIC12IC1DIG91dC9EZWJ1ZwogCiAj
IyMgQnVpbGRpbmcgT2ZmaWNhbCB3aXRoIEdOCiAKQEAgLTEwOCwzNCArMTAwLDIzIEBAIFRvIGdl
dCBqdXN0IHRoZSBzb3VyY2UgKG5vdCBidWlsZGFibGUpOgogICAgIG5pbmphIC1DIG91dC9PZmZp
Y2lhbAogCiAjIyMgaU9TCi1UaGlzIHNlY3Rpb24gbmVlZHMgYW4gdXBkYXRlIHRvIEdOIGJ1aWxk
IGRvY3VtZW50YXRpb24uCiBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9kZXZlbG9wZXJzL2hvdy10
b3MvYnVpbGQtaW5zdHJ1Y3Rpb25zLWlvcwogCiBBZGQgdG8gLmdjbGllbnQgbGFzdCBsaW5lOiBg
dGFyZ2V0X29zPVsnaW9zJ107YAogCi1hcm12NwotCi0gICAgR1lQX0RFRklORVM9Ik9TPWlvcyB0
YXJnZXRfYXJjaD1hcm12NyB0YXJnZXRfc3ViYXJjaD1hcm0zMiIgR1lQX0NST1NTQ09NUElMRT0x
IEdZUF9HRU5FUkFUT1JfRkxBR1M9Im91dHB1dF9kaXI9b3V0X2lvcyIgLi9neXBfbGlieXV2Ci0g
ICAgbmluamEgLWo3IC1DIG91dF9pb3MvRGVidWctaXBob25lb3MgbGlieXV2X3VuaXR0ZXN0Ci0g
ICAgbmluamEgLWo3IC1DIG91dF9pb3MvUmVsZWFzZS1pcGhvbmVvcyBsaWJ5dXZfdW5pdHRlc3QK
LQogYXJtNjQKIAotICAgIEdZUF9ERUZJTkVTPSJPUz1pb3MgdGFyZ2V0X2FyY2g9YXJtNjQgdGFy
Z2V0X3N1YmFyY2g9YXJtNjQiIEdZUF9DUk9TU0NPTVBJTEU9MSBHWVBfR0VORVJBVE9SX0ZMQUdT
PSJvdXRwdXRfZGlyPW91dF9pb3MiIC4vZ3lwX2xpYnl1dgotICAgIG5pbmphIC1qNyAtQyBvdXRf
aW9zL0RlYnVnLWlwaG9uZW9zIGxpYnl1dl91bml0dGVzdAotICAgIG5pbmphIC1qNyAtQyBvdXRf
aW9zL1JlbGVhc2UtaXBob25lb3MgbGlieXV2X3VuaXR0ZXN0Ci0KLWJvdGggYXJtdjcgYW5kIGFy
bTY0IChmYXQpCisgICAgZ24gZ2VuIG91dC9SZWxlYXNlICItLWFyZ3M9aXNfZGVidWc9ZmFsc2Ug
dGFyZ2V0X29zPVwiaW9zXCIgaW9zX2VuYWJsZV9jb2RlX3NpZ25pbmc9ZmFsc2UgdGFyZ2V0X2Nw
dT1cImFybTY0XCIiCisgICAgZ24gZ2VuIG91dC9EZWJ1ZyAiLS1hcmdzPWlzX2RlYnVnPXRydWUg
dGFyZ2V0X29zPVwiaW9zXCIgaW9zX2VuYWJsZV9jb2RlX3NpZ25pbmc9ZmFsc2UgdGFyZ2V0X2Nw
dT1cImFybTY0XCIiCisgICAgbmluamEgLXYgLUMgb3V0L0RlYnVnIGxpYnl1dl91bml0dGVzdAor
ICAgIG5pbmphIC12IC1DIG91dC9SZWxlYXNlIGxpYnl1dl91bml0dGVzdAogCi0gICAgR1lQX0RF
RklORVM9Ik9TPWlvcyB0YXJnZXRfYXJjaD1hcm12NyB0YXJnZXRfc3ViYXJjaD1ib3RoIiBHWVBf
Q1JPU1NDT01QSUxFPTEgR1lQX0dFTkVSQVRPUl9GTEFHUz0ib3V0cHV0X2Rpcj1vdXRfaW9zIiAu
L2d5cF9saWJ5dXYKLSAgICBuaW5qYSAtajcgLUMgb3V0X2lvcy9EZWJ1Zy1pcGhvbmVvcyBsaWJ5
dXZfdW5pdHRlc3QKLSAgICBuaW5qYSAtajcgLUMgb3V0X2lvcy9SZWxlYXNlLWlwaG9uZW9zIGxp
Ynl1dl91bml0dGVzdAoraW9zIHNpbXVsYXRvcgogCi1zaW11bGF0b3IKLQotICAgIEdZUF9ERUZJ
TkVTPSJPUz1pb3MgdGFyZ2V0X2FyY2g9aWEzMiB0YXJnZXRfc3ViYXJjaD1hcm0zMiIgR1lQX0NS
T1NTQ09NUElMRT0xIEdZUF9HRU5FUkFUT1JfRkxBR1M9Im91dHB1dF9kaXI9b3V0X3NpbSIgLi9n
eXBfbGlieXV2Ci0gICAgbmluamEgLWo3IC1DIG91dF9zaW0vRGVidWctaXBob25lc2ltdWxhdG9y
IGxpYnl1dl91bml0dGVzdAotICAgIG5pbmphIC1qNyAtQyBvdXRfc2ltL1JlbGVhc2UtaXBob25l
c2ltdWxhdG9yIGxpYnl1dl91bml0dGVzdAorICAgIGduIGdlbiBvdXQvUmVsZWFzZSAiLS1hcmdz
PWlzX2RlYnVnPWZhbHNlIHRhcmdldF9vcz1cImlvc1wiIGlvc19lbmFibGVfY29kZV9zaWduaW5n
PWZhbHNlIHRhcmdldF9jcHU9XCJ4ODZcIiIKKyAgICBnbiBnZW4gb3V0L0RlYnVnICItLWFyZ3M9
aXNfZGVidWc9dHJ1ZSB0YXJnZXRfb3M9XCJpb3NcIiBpb3NfZW5hYmxlX2NvZGVfc2lnbmluZz1m
YWxzZSB0YXJnZXRfY3B1PVwieDg2XCIiCisgICAgbmluamEgLXYgLUMgb3V0L0RlYnVnIGxpYnl1
dl91bml0dGVzdAorICAgIG5pbmphIC12IC1DIG91dC9SZWxlYXNlIGxpYnl1dl91bml0dGVzdAog
CiAjIyMgQW5kcm9pZAogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS93aWtpL0Fu
ZHJvaWRCdWlsZEluc3RydWN0aW9ucwpAQCAtMTQ2LDM0ICsxMjcsMzQgQEAgYXJtdjcKIAogICAg
IGduIGdlbiBvdXQvUmVsZWFzZSAiLS1hcmdzPWlzX2RlYnVnPWZhbHNlIHRhcmdldF9vcz1cImFu
ZHJvaWRcIiB0YXJnZXRfY3B1PVwiYXJtXCIiCiAgICAgZ24gZ2VuIG91dC9EZWJ1ZyAiLS1hcmdz
PWlzX2RlYnVnPXRydWUgdGFyZ2V0X29zPVwiYW5kcm9pZFwiIHRhcmdldF9jcHU9XCJhcm1cIiIK
LSAgICBuaW5qYSAtajcgLXYgLUMgb3V0L0RlYnVnIGxpYnl1dl91bml0dGVzdAotICAgIG5pbmph
IC1qNyAtdiAtQyBvdXQvUmVsZWFzZSBsaWJ5dXZfdW5pdHRlc3QKKyAgICBuaW5qYSAtdiAtQyBv
dXQvRGVidWcgbGlieXV2X3VuaXR0ZXN0CisgICAgbmluamEgLXYgLUMgb3V0L1JlbGVhc2UgbGli
eXV2X3VuaXR0ZXN0CiAKIGFybTY0CiAKICAgICBnbiBnZW4gb3V0L1JlbGVhc2UgIi0tYXJncz1p
c19kZWJ1Zz1mYWxzZSB0YXJnZXRfb3M9XCJhbmRyb2lkXCIgdGFyZ2V0X2NwdT1cImFybTY0XCIi
CiAgICAgZ24gZ2VuIG91dC9EZWJ1ZyAiLS1hcmdzPWlzX2RlYnVnPXRydWUgdGFyZ2V0X29zPVwi
YW5kcm9pZFwiIHRhcmdldF9jcHU9XCJhcm02NFwiIgotICAgIG5pbmphIC1qNyAtdiAtQyBvdXQv
RGVidWcgbGlieXV2X3VuaXR0ZXN0Ci0gICAgbmluamEgLWo3IC12IC1DIG91dC9SZWxlYXNlIGxp
Ynl1dl91bml0dGVzdAorICAgIG5pbmphIC12IC1DIG91dC9EZWJ1ZyBsaWJ5dXZfdW5pdHRlc3QK
KyAgICBuaW5qYSAtdiAtQyBvdXQvUmVsZWFzZSBsaWJ5dXZfdW5pdHRlc3QKIAogaWEzMgogCiAg
ICAgZ24gZ2VuIG91dC9SZWxlYXNlICItLWFyZ3M9aXNfZGVidWc9ZmFsc2UgdGFyZ2V0X29zPVwi
YW5kcm9pZFwiIHRhcmdldF9jcHU9XCJ4ODZcIiIKICAgICBnbiBnZW4gb3V0L0RlYnVnICItLWFy
Z3M9aXNfZGVidWc9dHJ1ZSB0YXJnZXRfb3M9XCJhbmRyb2lkXCIgdGFyZ2V0X2NwdT1cIng4Nlwi
IgotICAgIG5pbmphIC1qNyAtdiAtQyBvdXQvRGVidWcgbGlieXV2X3VuaXR0ZXN0Ci0gICAgbmlu
amEgLWo3IC12IC1DIG91dC9SZWxlYXNlIGxpYnl1dl91bml0dGVzdAorICAgIG5pbmphIC12IC1D
IG91dC9EZWJ1ZyBsaWJ5dXZfdW5pdHRlc3QKKyAgICBuaW5qYSAtdiAtQyBvdXQvUmVsZWFzZSBs
aWJ5dXZfdW5pdHRlc3QKIAogbWlwc2VsCiAKICAgICBnbiBnZW4gb3V0L1JlbGVhc2UgIi0tYXJn
cz1pc19kZWJ1Zz1mYWxzZSB0YXJnZXRfb3M9XCJhbmRyb2lkXCIgdGFyZ2V0X2NwdT1cIm1pcHNl
bFwiIG1pcHNfYXJjaF92YXJpYW50PVwicjZcIiBtaXBzX3VzZV9tc2E9dHJ1ZSBpc19jb21wb25l
bnRfYnVpbGQ9dHJ1ZSBpc19jbGFuZz1mYWxzZSIKICAgICBnbiBnZW4gb3V0L0RlYnVnICItLWFy
Z3M9aXNfZGVidWc9dHJ1ZSB0YXJnZXRfb3M9XCJhbmRyb2lkXCIgdGFyZ2V0X2NwdT1cIm1pcHNl
bFwiIG1pcHNfYXJjaF92YXJpYW50PVwicjZcIiBtaXBzX3VzZV9tc2E9dHJ1ZSBpc19jb21wb25l
bnRfYnVpbGQ9dHJ1ZSBpc19jbGFuZz1mYWxzZSIKLSAgICBuaW5qYSAtajcgLXYgLUMgb3V0L0Rl
YnVnIGxpYnl1dl91bml0dGVzdAotICAgIG5pbmphIC1qNyAtdiAtQyBvdXQvUmVsZWFzZSBsaWJ5
dXZfdW5pdHRlc3QKKyAgICBuaW5qYSAtdiAtQyBvdXQvRGVidWcgbGlieXV2X3VuaXR0ZXN0Cisg
ICAgbmluamEgLXYgLUMgb3V0L1JlbGVhc2UgbGlieXV2X3VuaXR0ZXN0CiAKICAgICBnbiBnZW4g
b3V0L1JlbGVhc2UgIi0tYXJncz1pc19kZWJ1Zz1mYWxzZSB0YXJnZXRfb3M9XCJhbmRyb2lkXCIg
dGFyZ2V0X2NwdT1cIm1pcHM2NGVsXCIgbWlwc19hcmNoX3ZhcmlhbnQ9XCJyNlwiIG1pcHNfdXNl
X21zYT10cnVlIGlzX2NvbXBvbmVudF9idWlsZD10cnVlIGlzX2NsYW5nPWZhbHNlIgogICAgIGdu
IGdlbiBvdXQvRGVidWcgIi0tYXJncz1pc19kZWJ1Zz10cnVlIHRhcmdldF9vcz1cImFuZHJvaWRc
IiB0YXJnZXRfY3B1PVwibWlwczY0ZWxcIiBtaXBzX2FyY2hfdmFyaWFudD1cInI2XCIgbWlwc191
c2VfbXNhPXRydWUgaXNfY29tcG9uZW50X2J1aWxkPXRydWUgaXNfY2xhbmc9ZmFsc2UiCi0gICAg
bmluamEgLWo3IC12IC1DIG91dC9EZWJ1ZyBsaWJ5dXZfdW5pdHRlc3QKLSAgICBuaW5qYSAtajcg
LXYgLUMgb3V0L1JlbGVhc2UgbGlieXV2X3VuaXR0ZXN0CisgICAgbmluamEgLXYgLUMgb3V0L0Rl
YnVnIGxpYnl1dl91bml0dGVzdAorICAgIG5pbmphIC12IC1DIG91dC9SZWxlYXNlIGxpYnl1dl91
bml0dGVzdAogCiBhcm0gZGlzYXNzZW1ibHk6CiAKQEAgLTE4NSwxNSArMTY2LDE1IEBAIGFybSBk
aXNhc3NlbWJseToKIAogUnVubmluZyB0ZXN0czoKIAotICAgIHV0aWwvYW5kcm9pZC90ZXN0X3J1
bm5lci5weSBndGVzdCAtcyBsaWJ5dXZfdW5pdHRlc3QgLXQgNzIwMCAtLXZlcmJvc2UgLS1yZWxl
YXNlIC0tZ3Rlc3RfZmlsdGVyPSoKKyAgICBidWlsZC9hbmRyb2lkL3Rlc3RfcnVubmVyLnB5IGd0
ZXN0IC1zIGxpYnl1dl91bml0dGVzdCAtdCA3MjAwIC0tdmVyYm9zZSAtLXJlbGVhc2UgLS1ndGVz
dF9maWx0ZXI9KgogCiBSdW5uaW5nIHRlc3QgYXMgYmVuY2htYXJrOgogCi0gICAgdXRpbC9hbmRy
b2lkL3Rlc3RfcnVubmVyLnB5IGd0ZXN0IC1zIGxpYnl1dl91bml0dGVzdCAtdCA3MjAwIC0tdmVy
Ym9zZSAtLXJlbGVhc2UgLS1ndGVzdF9maWx0ZXI9KiAtYSAiLS1saWJ5dXZfd2lkdGg9MTI4MCAt
LWxpYnl1dl9oZWlnaHQ9NzIwIC0tbGlieXV2X3JlcGVhdD05OTkgLS1saWJ5dXZfZmxhZ3M9LTEg
IC0tbGlieXV2X2NwdV9pbmZvPS0xIgorICAgIGJ1aWxkL2FuZHJvaWQvdGVzdF9ydW5uZXIucHkg
Z3Rlc3QgLXMgbGlieXV2X3VuaXR0ZXN0IC10IDcyMDAgLS12ZXJib3NlIC0tcmVsZWFzZSAtLWd0
ZXN0X2ZpbHRlcj0qIC1hICItLWxpYnl1dl93aWR0aD0xMjgwIC0tbGlieXV2X2hlaWdodD03MjAg
LS1saWJ5dXZfcmVwZWF0PTk5OSAtLWxpYnl1dl9mbGFncz0tMSAgLS1saWJ5dXZfY3B1X2luZm89
LTEiCiAKIFJ1bm5pbmcgdGVzdCB3aXRoIEMgY29kZToKIAotICAgIHV0aWwvYW5kcm9pZC90ZXN0
X3J1bm5lci5weSBndGVzdCAtcyBsaWJ5dXZfdW5pdHRlc3QgLXQgNzIwMCAtLXZlcmJvc2UgLS1y
ZWxlYXNlIC0tZ3Rlc3RfZmlsdGVyPSogLWEgIi0tbGlieXV2X3dpZHRoPTEyODAgLS1saWJ5dXZf
aGVpZ2h0PTcyMCAtLWxpYnl1dl9yZXBlYXQ9OTk5IC0tbGlieXV2X2ZsYWdzPTEgLS1saWJ5dXZf
Y3B1X2luZm89MSIKKyAgICBidWlsZC9hbmRyb2lkL3Rlc3RfcnVubmVyLnB5IGd0ZXN0IC1zIGxp
Ynl1dl91bml0dGVzdCAtdCA3MjAwIC0tdmVyYm9zZSAtLXJlbGVhc2UgLS1ndGVzdF9maWx0ZXI9
KiAtYSAiLS1saWJ5dXZfd2lkdGg9MTI4MCAtLWxpYnl1dl9oZWlnaHQ9NzIwIC0tbGlieXV2X3Jl
cGVhdD05OTkgLS1saWJ5dXZfZmxhZ3M9MSAtLWxpYnl1dl9jcHVfaW5mbz0xIgogCiAjIyMgQnVp
bGQgdGFyZ2V0cwogCkBAIC0yMDgsMjkgKzE4OSwyOSBAQCBSdW5uaW5nIHRlc3Qgd2l0aCBDIGNv
ZGU6CiAKICAgICBnbiBnZW4gb3V0L1JlbGVhc2UgIi0tYXJncz1pc19kZWJ1Zz1mYWxzZSB0YXJn
ZXRfY3B1PVwiYXJtNjRcIiIKICAgICBnbiBnZW4gb3V0L0RlYnVnICItLWFyZ3M9aXNfZGVidWc9
dHJ1ZSB0YXJnZXRfY3B1PVwiYXJtNjRcIiIKLSAgICBuaW5qYSAtajcgLXYgLUMgb3V0L0RlYnVn
IGxpYnl1dl91bml0dGVzdAotICAgIG5pbmphIC1qNyAtdiAtQyBvdXQvUmVsZWFzZSBsaWJ5dXZf
dW5pdHRlc3QKKyAgICBuaW5qYSAtdiAtQyBvdXQvRGVidWcgbGlieXV2X3VuaXR0ZXN0CisgICAg
bmluamEgLXYgLUMgb3V0L1JlbGVhc2UgbGlieXV2X3VuaXR0ZXN0CiAKICMjIEJ1aWxkaW5nIHRo
ZSBMaWJyYXJ5IHdpdGggbWFrZQogCiAjIyMgTGludXgKIAotICAgIG1ha2UgLWo3IFY9MSAtZiBs
aW51eC5tawotICAgIG1ha2UgLWo3IFY9MSAtZiBsaW51eC5tayBjbGVhbgotICAgIG1ha2UgLWo3
IFY9MSAtZiBsaW51eC5tayBDWFg9Y2xhbmcrKworICAgIG1ha2UgVj0xIC1mIGxpbnV4Lm1rCisg
ICAgbWFrZSBWPTEgLWYgbGludXgubWsgY2xlYW4KKyAgICBtYWtlIFY9MSAtZiBsaW51eC5tayBD
WFg9Y2xhbmcrKwogCi0jIyBCdWlsZGluZyB0aGUgTGlicmFyeSB3aXRoIGNtYWtlCisjIyBCdWls
ZGluZyB0aGUgbGlicmFyeSB3aXRoIGNtYWtlCiAKIEluc3RhbGwgY21ha2U6IGh0dHA6Ly93d3cu
Y21ha2Uub3JnLwogCi1EZWZhdWx0IGRlYnVnIGJ1aWxkOgorIyMjIERlZmF1bHQgZGVidWcgYnVp
bGQ6CiAKICAgICBta2RpciBvdXQKICAgICBjZCBvdXQKICAgICBjbWFrZSAuLgogICAgIGNtYWtl
IC0tYnVpbGQgLgogCi1SZWxlYXNlIGJ1aWxkL2luc3RhbGwKKyMjIyBSZWxlYXNlIGJ1aWxkL2lu
c3RhbGwKIAogICAgIG1rZGlyIG91dAogICAgIGNkIG91dApAQCAtMjM4LDYgKzIxOSwzMiBAQCBS
ZWxlYXNlIGJ1aWxkL2luc3RhbGwKICAgICBjbWFrZSAtLWJ1aWxkIC4gLS1jb25maWcgUmVsZWFz
ZQogICAgIHN1ZG8gY21ha2UgLS1idWlsZCAuIC0tdGFyZ2V0IGluc3RhbGwgLS1jb25maWcgUmVs
ZWFzZQogCisjIyMgQnVpbGQgUlBNL0RFQiBwYWNrYWdlcworCisgICAgbWtkaXIgb3V0CisgICAg
Y2Qgb3V0CisgICAgY21ha2UgLURDTUFLRV9CVUlMRF9UWVBFPVJlbGVhc2UgLi4KKyAgICBtYWtl
IC1qNAorICAgIG1ha2UgcGFja2FnZQorCisjIyBTZXR1cCBmb3IgQXJtIENyb3NzIGNvbXBpbGUK
KworU2VlIGFsc28gaHR0cHM6Ly93d3cuY2NvZGVydW4uY2EvcHJvZ3JhbW1pbmcvMjAxNS0xMi0y
MF9Dcm9zc0NvbXBpbGluZy9pbmRleC5odG1sCisKKyAgICBzdWRvIGFwdC1nZXQgaW5zdGFsbCBz
c2ggZGttcyBidWlsZC1lc3NlbnRpYWwgbGludXgtaGVhZGVycy1nZW5lcmljCisgICAgc3VkbyBh
cHQtZ2V0IGluc3RhbGwga2RldmVsb3AgY21ha2UgZ2l0IHN1YnZlcnNpb24KKyAgICBzdWRvIGFw
dC1nZXQgaW5zdGFsbCBncmFwaHZpeiBkb3h5Z2VuIGRveHlnZW4tZ3VpCisgICAgc3VkbyBhcHQt
Z2V0IGluc3RhbGwgbWFucGFnZXMgbWFucGFnZXMtZGV2IG1hbnBhZ2VzLXBvc2l4IG1hbnBhZ2Vz
LXBvc2l4LWRldgorICAgIHN1ZG8gYXB0LWdldCBpbnN0YWxsIGxpYmJvb3N0LWFsbC1kZXYgbGli
Ym9vc3QtZGV2IGxpYnNzbC1kZXYKKyAgICBzdWRvIGFwdC1nZXQgaW5zdGFsbCBycG0gdGVybWlu
YXRvciBmaXNoCisgICAgc3VkbyBhcHQtZ2V0IGluc3RhbGwgZysrLWFybS1saW51eC1nbnVlYWJp
aGYgZ2NjLWFybS1saW51eC1nbnVlYWJpaGYKKworIyMjIEJ1aWxkIHBzbnIgdG9vbAorCisgICAg
Y2QgdXRpbAorICAgIGFybS1saW51eC1nbnVlYWJpaGYtZysrIHBzbnJfbWFpbi5jYyBwc25yLmNj
IHNzaW0uY2MgLW8gcHNucgorICAgIGFybS1saW51eC1nbnVlYWJpaGYtb2JqZHVtcCAtZCBwc25y
CisKICMjIFJ1bm5pbmcgVW5pdHRlc3RzCiAKICMjIyBXaW5kb3dzCkBAIC0yNzEsNyArMjc4LDcg
QEAgVGhlbiBydW46CiAjIyBTYW5pdGl6ZXJzCiAKICAgICBnbiBnZW4gb3V0L0RlYnVnICItLWFy
Z3M9aXNfZGVidWc9dHJ1ZSBpc19hc2FuPXRydWUiCi0gICAgbmluamEgLWo3IC12IC1DIG91dC9E
ZWJ1ZworICAgIG5pbmphIC12IC1DIG91dC9EZWJ1ZwogCiAgICAgU2FuaXRpemVycyBhdmFpbGFi
bGU6IHRzYW4sIG1zYW4sIGFzYW4sIHVic2FuLCBsc2FuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2d5cF9saWJ5dXYu
cHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di9neXBfbGlieXV2LnB5CmluZGV4IGFjNDIwMzhkZjNkNzdiMzc3MTg0OTA0OWI0ZTNlZmFiMzA5
ODI4YWMuLmJiMzJlYzM5ZGYzOTUzY2I5OGMyNWYxZDgwYjNmZDRhMjdmNmFjZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L2d5cF9saWJ5dXYucHkKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvZ3lwX2xpYnl1di5weQpAQCAtOSw3ICs5LDcgQEAKICMgYmUgZm91
bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCiAK
IAotIyBUaGlzIHNjcmlwdCBpcyBhIG1vZGlmaWVkIGNvcHkgb2YgdGhlIHNyYy9idWlsZC9neXBf
Y2hyb21pdW0ucHkgZmlsZS4gCisjIFRoaXMgc2NyaXB0IGlzIGEgbW9kaWZpZWQgY29weSBvZiB0
aGUgc3JjL2J1aWxkL2d5cF9jaHJvbWl1bS5weSBmaWxlLgogIyBJdCBpcyBuZWVkZWQgZm9yIHBh
cmFsbGVsIHByb2Nlc3NpbmcuCiAKICMgVGhpcyBmaWxlIGlzIChwb3NzaWJseSwgZGVwZW5kaW5n
IG9uIHB5dGhvbiB2ZXJzaW9uKSBpbXBvcnRlZCBieQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYv
YmFzaWNfdHlwZXMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2Jhc2ljX3R5cGVzLmgKaW5kZXggNWI3NjBlZTBk
NGQ0YTJiZTllZWFkODQxMDBlMDI5MTUwNWMzYTNhNS4uN2Q5OGJiOTNmMGVlZDE2MjkxMjRmM2Iz
NzRjYzhkZjZiNjI0MWI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvYmFzaWNfdHlwZXMuaAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di9pbmNsdWRlL2xpYnl1di9iYXNpY190eXBlcy5oCkBAIC0yNiwzMSArMjYsMzEgQEAKIHR5cGVk
ZWYgdW5zaWduZWQgX19pbnQ2NCB1aW50NjQ7CiB0eXBlZGVmIF9faW50NjQgaW50NjQ7CiAjaWZu
ZGVmIElOVDY0X0MKLSNkZWZpbmUgSU5UNjRfQyh4KSB4ICMjIEk2NAorI2RlZmluZSBJTlQ2NF9D
KHgpIHgjI0k2NAogI2VuZGlmCiAjaWZuZGVmIFVJTlQ2NF9DCi0jZGVmaW5lIFVJTlQ2NF9DKHgp
IHggIyMgVUk2NAorI2RlZmluZSBVSU5UNjRfQyh4KSB4IyNVSTY0CiAjZW5kaWYKICNkZWZpbmUg
SU5UNjRfRiAiSTY0IgogI2Vsc2UgIC8vIENPTVBJTEVSX01TVkMKICNpZiBkZWZpbmVkKF9fTFA2
NF9fKSAmJiAhZGVmaW5lZChfX09wZW5CU0RfXykgJiYgIWRlZmluZWQoX19BUFBMRV9fKQogdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIHVpbnQ2NDsgIC8vIE5PTElOVAotdHlwZWRlZiBsb25nIGludDY0
OyAgLy8gTk9MSU5UCit0eXBlZGVmIGxvbmcgaW50NjQ7ICAgICAgICAgICAgLy8gTk9MSU5UCiAj
aWZuZGVmIElOVDY0X0MKLSNkZWZpbmUgSU5UNjRfQyh4KSB4ICMjIEwKKyNkZWZpbmUgSU5UNjRf
Qyh4KSB4IyNMCiAjZW5kaWYKICNpZm5kZWYgVUlOVDY0X0MKLSNkZWZpbmUgVUlOVDY0X0MoeCkg
eCAjIyBVTAorI2RlZmluZSBVSU5UNjRfQyh4KSB4IyNVTAogI2VuZGlmCiAjZGVmaW5lIElOVDY0
X0YgImwiCiAjZWxzZSAgLy8gZGVmaW5lZChfX0xQNjRfXykgJiYgIWRlZmluZWQoX19PcGVuQlNE
X18pICYmICFkZWZpbmVkKF9fQVBQTEVfXykKIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVp
bnQ2NDsgIC8vIE5PTElOVAotdHlwZWRlZiBsb25nIGxvbmcgaW50NjQ7ICAvLyBOT0xJTlQKK3R5
cGVkZWYgbG9uZyBsb25nIGludDY0OyAgICAgICAgICAgIC8vIE5PTElOVAogI2lmbmRlZiBJTlQ2
NF9DCi0jZGVmaW5lIElOVDY0X0MoeCkgeCAjIyBMTAorI2RlZmluZSBJTlQ2NF9DKHgpIHgjI0xM
CiAjZW5kaWYKICNpZm5kZWYgVUlOVDY0X0MKLSNkZWZpbmUgVUlOVDY0X0MoeCkgeCAjIyBVTEwK
KyNkZWZpbmUgVUlOVDY0X0MoeCkgeCMjVUxMCiAjZW5kaWYKICNkZWZpbmUgSU5UNjRfRiAibGwi
CiAjZW5kaWYgIC8vIF9fTFA2NF9fCkBAIC01OCwxNSArNTgsMTUgQEAgdHlwZWRlZiBsb25nIGxv
bmcgaW50NjQ7ICAvLyBOT0xJTlQKIHR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnQzMjsKIHR5cGVk
ZWYgaW50IGludDMyOwogdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1aW50MTY7ICAvLyBOT0xJTlQK
LXR5cGVkZWYgc2hvcnQgaW50MTY7ICAvLyBOT0xJTlQKK3R5cGVkZWYgc2hvcnQgaW50MTY7ICAg
ICAgICAgICAgLy8gTk9MSU5UCiB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludDg7CiB0eXBlZGVm
IHNpZ25lZCBjaGFyIGludDg7CiAjZW5kaWYgIC8vIElOVF9UWVBFU19ERUZJTkVECiAjZW5kaWYg
IC8vIEdHX0xPTkdMT05HCiAKIC8vIERldGVjdCBjb21waWxlciBpcyBmb3IgeDg2IG9yIHg2NC4K
LSNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX01fWDY0KSB8fCBcCi0gICAgZGVm
aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfTV9JWDg2KQorI2lmIGRlZmluZWQoX194ODZfNjRf
XykgfHwgZGVmaW5lZChfTV9YNjQpIHx8IGRlZmluZWQoX19pMzg2X18pIHx8IFwKKyAgICBkZWZp
bmVkKF9NX0lYODYpCiAjZGVmaW5lIENQVV9YODYgMQogI2VuZGlmCiAvLyBEZXRlY3QgY29tcGls
ZXIgaXMgZm9yIEFSTS4KQEAgLTc2LDEyICs3NiwxMiBAQCB0eXBlZGVmIHNpZ25lZCBjaGFyIGlu
dDg7CiAKICNpZm5kZWYgQUxJR05QCiAjaWZkZWYgX19jcGx1c3BsdXMKLSNkZWZpbmUgQUxJR05Q
KHAsIHQpIFwKLSAgICAocmVpbnRlcnByZXRfY2FzdDx1aW50OCo+KCgocmVpbnRlcnByZXRfY2Fz
dDx1aW50cHRyX3Q+KHApICsgXAotICAgICgodCkgLSAxKSkgJiB+KCh0KSAtIDEpKSkpCisjZGVm
aW5lIEFMSUdOUChwLCB0KSAgICAgICAgXAorICByZWludGVycHJldF9jYXN0PHVpbnQ4Kj4oIFwK
KyAgICAgICgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHApICsgKCh0KS0xKSkgJiB+KCh0
KS0xKSkpCiAjZWxzZQogI2RlZmluZSBBTElHTlAocCwgdCkgXAotICAgICgodWludDgqKSgoKCh1
aW50cHRyX3QpKHApICsgKCh0KSAtIDEpKSAmIH4oKHQpIC0gMSkpKSkgIC8qIE5PTElOVCAqLwor
ICAodWludDgqKSgoKCh1aW50cHRyX3QpKHApICsgKCh0KS0xKSkgJiB+KCh0KS0xKSkpIC8qIE5P
TElOVCAqLwogI2VuZGlmCiAjZW5kaWYKIApAQCAtOTUsOSArOTUsOSBAQCB0eXBlZGVmIHNpZ25l
ZCBjaGFyIGludDg7CiAjZGVmaW5lIExJQllVVl9BUEkKICNlbmRpZiAgLy8gTElCWVVWX0JVSUxE
SU5HX1NIQVJFRF9MSUJSQVJZCiAjZWxpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoX19HTlVDX18g
Pj0gNCkgJiYgIWRlZmluZWQoX19BUFBMRV9fKSAmJiBcCi0gICAgKGRlZmluZWQoTElCWVVWX0JV
SUxESU5HX1NIQVJFRF9MSUJSQVJZKSB8fCBcCi0gICAgZGVmaW5lZChMSUJZVVZfVVNJTkdfU0hB
UkVEX0xJQlJBUlkpKQotI2RlZmluZSBMSUJZVVZfQVBJIF9fYXR0cmlidXRlX18gKCh2aXNpYmls
aXR5ICgiZGVmYXVsdCIpKSkKKyAgICAoZGVmaW5lZChMSUJZVVZfQlVJTERJTkdfU0hBUkVEX0xJ
QlJBUlkpIHx8ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgZGVmaW5lZChMSUJZVVZfVVNJ
TkdfU0hBUkVEX0xJQlJBUlkpKQorI2RlZmluZSBMSUJZVVZfQVBJIF9fYXR0cmlidXRlX18oKHZp
c2liaWxpdHkoImRlZmF1bHQiKSkpCiAjZWxzZQogI2RlZmluZSBMSUJZVVZfQVBJCiAjZW5kaWYg
IC8vIF9fR05VQ19fCkBAIC0xMDgsMTAgKzEwOCw5IEBAIHR5cGVkZWYgc2lnbmVkIGNoYXIgaW50
ODsKICNkZWZpbmUgTElCWVVWX1RSVUUgMQogCiAvLyBWaXN1YWwgQyB4ODYgb3IgR0NDIGxpdHRs
ZSBlbmRpYW4uCi0jaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9NX1g2NCkgfHwg
XAotICBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9NX0lYODYpIHx8IFwKLSAgZGVmaW5l
ZChfX2FybV9fKSB8fCBkZWZpbmVkKF9NX0FSTSkgfHwgXAotICAoZGVmaW5lZChfX0JZVEVfT1JE
RVJfXykgJiYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18pCisjaWYg
ZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9NX1g2NCkgfHwgZGVmaW5lZChfX2kzODZf
XykgfHwgXAorICAgIGRlZmluZWQoX01fSVg4NikgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZp
bmVkKF9NX0FSTSkgfHwgICAgIFwKKyAgICAoZGVmaW5lZChfX0JZVEVfT1JERVJfXykgJiYgX19C
WVRFX09SREVSX18gPT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18pCiAjZGVmaW5lIExJQllVVl9M
SVRUTEVfRU5ESUFOCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvY29tcGFyZS5o
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
aW5jbHVkZS9saWJ5dXYvY29tcGFyZS5oCmluZGV4IDU1MDcxMmRlNmU1ODliNjc1MzEyM2Y5N2I1
MzZhZDYwNjVkN2UxY2UuLmEwNmVmZjIwNjZmMWU5YjU5MzAzZWQ1NjIzNTY1MTE3YWU3MTY4N2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2NvbXBhcmUuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9jb21w
YXJlLmgKQEAgLTIyLDYgKzIyLDEyIEBAIGV4dGVybiAiQyIgewogTElCWVVWX0FQSQogdWludDMy
IEhhc2hEamIyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ2NCBjb3VudCwgdWludDMyIHNlZWQpOwog
CisvLyBIYW1taW5nIERpc3RhbmNlCitMSUJZVVZfQVBJCit1aW50NjQgQ29tcHV0ZUhhbW1pbmdE
aXN0YW5jZShjb25zdCB1aW50OCogc3JjX2EsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
Y291bnQpOworCiAvLyBTY2FuIGFuIG9wYXF1ZSBhcmdiIGltYWdlIGFuZCByZXR1cm4gZm91cmNj
IGJhc2VkIG9uIGFscGhhIG9mZnNldC4KIC8vIFJldHVybnMgRk9VUkNDX0FSR0IsIEZPVVJDQ19C
R1JBLCBvciAwIGlmIHVua25vd24uCiBMSUJZVVZfQVBJCkBAIC0yOSwxMyArMzUsMTUgQEAgdWlu
dDMyIEFSR0JEZXRlY3QoY29uc3QgdWludDgqIGFyZ2IsIGludCBzdHJpZGVfYXJnYiwgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0KTsKIAogLy8gU3VtIFNxdWFyZSBFcnJvciAtIHVzZWQgdG8gY29tcHV0
ZSBNZWFuIFNxdWFyZSBFcnJvciBvciBQU05SLgogTElCWVVWX0FQSQotdWludDY0IENvbXB1dGVT
dW1TcXVhcmVFcnJvcihjb25zdCB1aW50OCogc3JjX2EsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYiwgaW50IGNvdW50KTsKK3VpbnQ2NCBDb21wdXRlU3Vt
U3F1YXJlRXJyb3IoY29uc3QgdWludDgqIHNyY19hLCBjb25zdCB1aW50OCogc3JjX2IsIGludCBj
b3VudCk7CiAKIExJQllVVl9BUEkKLXVpbnQ2NCBDb21wdXRlU3VtU3F1YXJlRXJyb3JQbGFuZShj
b25zdCB1aW50OCogc3JjX2EsIGludCBzdHJpZGVfYSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2IsIGludCBzdHJpZGVfYiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwordWludDY0IENv
bXB1dGVTdW1TcXVhcmVFcnJvclBsYW5lKGNvbnN0IHVpbnQ4KiBzcmNfYSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX2EsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19iLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzdHJpZGVfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhl
aWdodCk7CiAKIHN0YXRpYyBjb25zdCBpbnQga01heFBzbnIgPSAxMjg7CiAKQEAgLTQzLDMyICs1
MSw1MiBAQCBMSUJZVVZfQVBJCiBkb3VibGUgU3VtU3F1YXJlRXJyb3JUb1BzbnIodWludDY0IHNz
ZSwgdWludDY0IGNvdW50KTsKIAogTElCWVVWX0FQSQotZG91YmxlIENhbGNGcmFtZVBzbnIoY29u
c3QgdWludDgqIHNyY19hLCBpbnQgc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX2IsIGludCBzdHJpZGVfYiwKLSAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwgaW50IGhlaWdodCk7Citkb3VibGUgQ2FsY0ZyYW1lUHNucihjb25zdCB1aW50OCogc3Jj
X2EsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX2EsCisgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX2IsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRl
X2IsCisgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAg
ICBpbnQgaGVpZ2h0KTsKIAogTElCWVVWX0FQSQotZG91YmxlIEk0MjBQc25yKGNvbnN0IHVpbnQ4
KiBzcmNfeV9hLCBpbnQgc3RyaWRlX3lfYSwKLSAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3VfYSwgaW50IHN0cmlkZV91X2EsCi0gICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y192X2EsIGludCBzdHJpZGVfdl9hLAotICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
eV9iLCBpbnQgc3RyaWRlX3lfYiwKLSAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Vf
YiwgaW50IHN0cmlkZV91X2IsCi0gICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192X2Is
IGludCBzdHJpZGVfdl9iLAotICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7
Citkb3VibGUgSTQyMFBzbnIoY29uc3QgdWludDgqIHNyY195X2EsCisgICAgICAgICAgICAgICAg
aW50IHN0cmlkZV95X2EsCisgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191X2EsCisg
ICAgICAgICAgICAgICAgaW50IHN0cmlkZV91X2EsCisgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY192X2EsCisgICAgICAgICAgICAgICAgaW50IHN0cmlkZV92X2EsCisgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY195X2IsCisgICAgICAgICAgICAgICAgaW50IHN0cmlkZV95
X2IsCisgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191X2IsCisgICAgICAgICAgICAg
ICAgaW50IHN0cmlkZV91X2IsCisgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192X2Is
CisgICAgICAgICAgICAgICAgaW50IHN0cmlkZV92X2IsCisgICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiBMSUJZVVZfQVBJCi1kb3VibGUg
Q2FsY0ZyYW1lU3NpbShjb25zdCB1aW50OCogc3JjX2EsIGludCBzdHJpZGVfYSwKLSAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYiwgaW50IHN0cmlkZV9iLAotICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2RvdWJsZSBDYWxjRnJhbWVTc2lt
KGNvbnN0IHVpbnQ4KiBzcmNfYSwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGVfYSwK
KyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYiwKKyAgICAgICAgICAgICAg
ICAgICAgIGludCBzdHJpZGVfYiwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiBMSUJZVVZfQVBJCi1kb3VibGUgSTQy
MFNzaW0oY29uc3QgdWludDgqIHNyY195X2EsIGludCBzdHJpZGVfeV9hLAotICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfdV9hLCBpbnQgc3RyaWRlX3VfYSwKLSAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3ZfYSwgaW50IHN0cmlkZV92X2EsCi0gICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY195X2IsIGludCBzdHJpZGVfeV9iLAotICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdV9iLCBpbnQgc3RyaWRlX3VfYiwKLSAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3ZfYiwgaW50IHN0cmlkZV92X2IsCi0gICAgICAgICAgICAgICAgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0KTsKK2RvdWJsZSBJNDIwU3NpbShjb25zdCB1aW50OCogc3JjX3lfYSwK
KyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3lfYSwKKyAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3VfYSwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3VfYSwKKyAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3ZfYSwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRl
X3ZfYSwKKyAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3lfYiwKKyAgICAgICAgICAg
ICAgICBpbnQgc3RyaWRlX3lfYiwKKyAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Vf
YiwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3VfYiwKKyAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3ZfYiwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3ZfYiwKKyAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwogfSAgLy8gZXh0ZXJuICJDIgpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5
dXYvY29tcGFyZV9yb3cuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2NvbXBhcmVfcm93LmgKaW5kZXggNzgxY2Fk
M2U2NWFiYTAyZjlhYjgzNzkyYTc5MjEwM2ViNWViODU4OS4uYTI5YzRjMDllMzZhYjlhNGU3NDY4
ZWMzNjE0NjY4YzZhODJiNTc1MSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvY29tcGFyZV9yb3cu
aAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9pbmNsdWRlL2xpYnl1di9jb21wYXJlX3Jvdy5oCkBAIC0zMCw4ICszMCw4IEBAIGV4dGVy
biAiQyIgewogI2VuZGlmCiAKIC8vIFZpc3VhbCBDIDIwMTIgcmVxdWlyZWQgZm9yIEFWWDIuCi0j
aWYgZGVmaW5lZChfTV9JWDg2KSAmJiAhZGVmaW5lZChfX2NsYW5nX18pICYmIFwKLSAgICBkZWZp
bmVkKF9NU0NfVkVSKSAmJiBfTVNDX1ZFUiA+PSAxNzAwCisjaWYgZGVmaW5lZChfTV9JWDg2KSAm
JiAhZGVmaW5lZChfX2NsYW5nX18pICYmIGRlZmluZWQoX01TQ19WRVIpICYmIFwKKyAgICBfTVND
X1ZFUiA+PSAxNzAwCiAjZGVmaW5lIFZJU1VBTENfSEFTX0FWWDIgMQogI2VuZGlmICAvLyBWaXN1
YWxTdHVkaW8gPj0gMjAxMgogCkBAIC00MiwxNiArNDIsMTcgQEAgZXh0ZXJuICJDIiB7CiAjZW5k
aWYgIC8vIGNsYW5nID49IDMuNAogI2VuZGlmICAvLyBfX2NsYW5nX18KIAotI2lmICFkZWZpbmVk
KExJQllVVl9ESVNBQkxFX1g4NikgJiYgXAotICAgIGRlZmluZWQoX01fSVg4NikgJiYgKGRlZmlu
ZWQoVklTVUFMQ19IQVNfQVZYMikgfHwgZGVmaW5lZChDTEFOR19IQVNfQVZYMikpCisjaWYgIWRl
ZmluZWQoTElCWVVWX0RJU0FCTEVfWDg2KSAmJiBkZWZpbmVkKF9NX0lYODYpICYmIFwKKyAgICAo
ZGVmaW5lZChWSVNVQUxDX0hBU19BVlgyKSB8fCBkZWZpbmVkKENMQU5HX0hBU19BVlgyKSkKICNk
ZWZpbmUgSEFTX0hBU0hESkIyX0FWWDIKICNlbmRpZgogCiAvLyBUaGUgZm9sbG93aW5nIGFyZSBh
dmFpbGFibGUgZm9yIFZpc3VhbCBDIGFuZCBHQ0M6CiAjaWYgIWRlZmluZWQoTElCWVVWX0RJU0FC
TEVfWDg2KSAmJiBcCi0gICAgKGRlZmluZWQoX194ODZfNjRfXykgfHwgKGRlZmluZWQoX19pMzg2
X18pIHx8IGRlZmluZWQoX01fSVg4NikpKQorICAgIChkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRl
ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX01fSVg4NikpCiAjZGVmaW5lIEhBU19IQVNIREpC
Ml9TU0U0MQogI2RlZmluZSBIQVNfU1VNU1FVQVJFRVJST1JfU1NFMgorI2RlZmluZSBIQVNfSEFN
TUlOR0RJU1RBTkNFX1g4NgogI2VuZGlmCiAKIC8vIFRoZSBmb2xsb3dpbmcgYXJlIGF2YWlsYWJs
ZSBmb3IgVmlzdWFsIEMgYW5kIGNsYW5nY2wgMzIgYml0OgpAQCAtNjcsNiArNjgsMTUgQEAgZXh0
ZXJuICJDIiB7CiAjZGVmaW5lIEhBU19TVU1TUVVBUkVFUlJPUl9ORU9OCiAjZW5kaWYKIAorLy8g
VGhlIGZvbGxvd2luZyBhcmUgYXZhaWxhYmxlIGZvciBOZW9uIDY0IGJpdDoKKyNpZiAhZGVmaW5l
ZChMSUJZVVZfRElTQUJMRV9ORU9OKSAmJiBkZWZpbmVkKF9fYWFyY2g2NF9fKQorI2RlZmluZSBI
QVNfSEFNTUlOR0RJU1RBTkNFX05FT04KKyNlbmRpZgorCit1aW50MzIgSGFtbWluZ0Rpc3RhbmNl
X0MoY29uc3QgdWludDgqIHNyY19hLCBjb25zdCB1aW50OCogc3JjX2IsIGludCBjb3VudCk7Cit1
aW50MzIgSGFtbWluZ0Rpc3RhbmNlX1g4Nihjb25zdCB1aW50OCogc3JjX2EsIGNvbnN0IHVpbnQ4
KiBzcmNfYiwgaW50IGNvdW50KTsKK3VpbnQzMiBIYW1taW5nRGlzdGFuY2VfTkVPTihjb25zdCB1
aW50OCogc3JjX2EsIGNvbnN0IHVpbnQ4KiBzcmNfYiwgaW50IGNvdW50KTsKKwogdWludDMyIFN1
bVNxdWFyZUVycm9yX0MoY29uc3QgdWludDgqIHNyY19hLCBjb25zdCB1aW50OCogc3JjX2IsIGlu
dCBjb3VudCk7CiB1aW50MzIgU3VtU3F1YXJlRXJyb3JfU1NFMihjb25zdCB1aW50OCogc3JjX2Es
IGNvbnN0IHVpbnQ4KiBzcmNfYiwgaW50IGNvdW50KTsKIHVpbnQzMiBTdW1TcXVhcmVFcnJvcl9B
VlgyKGNvbnN0IHVpbnQ4KiBzcmNfYSwgY29uc3QgdWludDgqIHNyY19iLCBpbnQgY291bnQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvY29udmVydC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvY29udmVydC5o
CmluZGV4IDVhOTM2OGRkNjFlZmIzYTZlZDk2YzRlNWJiY2MwYjQ5ZGQzNjkwMGMuLmYwOTZkMTkz
YTc0ZWU4MDhmOTk5NWM4ZWQzNDcwMGJiZjc1N2E2NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2
L2NvbnZlcnQuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9jb252ZXJ0LmgKQEAgLTE2LDggKzE2LDggQEAK
ICNpbmNsdWRlICJsaWJ5dXYvcm90YXRlLmgiICAvLyBGb3IgZW51bSBSb3RhdGlvbk1vZGUuCiAK
IC8vIFRPRE8oZmJhcmNoYXJkKTogZml4IFdlYlJUQyBzb3VyY2UgdG8gaW5jbHVkZSBmb2xsb3dp
bmcgbGlieXV2IGhlYWRlcnM6Ci0jaW5jbHVkZSAibGlieXV2L2NvbnZlcnRfYXJnYi5oIiAgLy8g
Rm9yIFdlYlJUQyBJNDIwVG9BUkdCLiBiLzYyMAotI2luY2x1ZGUgImxpYnl1di9jb252ZXJ0X2Zy
b20uaCIgIC8vIEZvciBXZWJSVEMgQ29udmVydEZyb21JNDIwLiBiLzYyMAorI2luY2x1ZGUgImxp
Ynl1di9jb252ZXJ0X2FyZ2IuaCIgICAgICAvLyBGb3IgV2ViUlRDIEk0MjBUb0FSR0IuIGIvNjIw
CisjaW5jbHVkZSAibGlieXV2L2NvbnZlcnRfZnJvbS5oIiAgICAgIC8vIEZvciBXZWJSVEMgQ29u
dmVydEZyb21JNDIwLiBiLzYyMAogI2luY2x1ZGUgImxpYnl1di9wbGFuYXJfZnVuY3Rpb25zLmgi
ICAvLyBGb3IgV2ViUlRDIEk0MjBSZWN0LCBDb3B5UGxhbmUuIGIvNjE4CiAKICNpZmRlZiBfX2Nw
bHVzcGx1cwpAQCAtMjcsMTg1ICsyNywyOTUgQEAgZXh0ZXJuICJDIiB7CiAKIC8vIENvbnZlcnQg
STQ0NCB0byBJNDIwLgogTElCWVVWX0FQSQotaW50IEk0NDRUb0k0MjAoY29uc3QgdWludDgqIHNy
Y195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191
LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBp
bnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0
cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAot
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAg
ICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJNDQ0VG9JNDIwKGNvbnN0IHVpbnQ4
KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAor
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAg
IGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAor
ICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIGludCB3aWR0
aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IEk0MjIgdG8gSTQy
MC4KIExJQllVVl9BUEkKLWludCBJNDIyVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNy
Y19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19z
dHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJp
ZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIGludCB3
aWR0aCwgaW50IGhlaWdodCk7CitpbnQgSTQyMlRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksCisg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3Ys
CisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgaW50
IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAg
ICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29weSBJNDIwIHRvIEk0MjAuCiAjZGVmaW5lIEk0
MjBUb0k0MjAgSTQyMENvcHkKIExJQllVVl9BUEkKLWludCBJNDIwQ29weShjb25zdCB1aW50OCog
c3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191
LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50
IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRl
X3ksCi0gICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICBpbnQg
d2lkdGgsIGludCBoZWlnaHQpOworaW50IEk0MjBDb3B5KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfdSwKKyAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAor
ICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8g
Q29udmVydCBJNDAwIChncmV5KSB0byBJNDIwLgogTElCWVVWX0FQSQotaW50IEk0MDBUb0k0MjAo
Y29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91
LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0
X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJ
NDAwVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogI2RlZmluZSBKNDAwVG9KNDIwIEk0MDBUb0k0
MjAKIAogLy8gQ29udmVydCBOVjEyIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1pbnQgTlYxMlRvSTQy
MChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3V2LCBpbnQgc3JjX3N0cmlkZV91diwKLSAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRz
dF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQg
TlYxMlRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3V2LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQg
TlYyMSB0byBJNDIwLgogTElCWVVWX0FQSQotaW50IE5WMjFUb0k0MjAoY29uc3QgdWludDgqIHNy
Y195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
dSwgaW50IHNyY19zdHJpZGVfdnUsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBk
c3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRl
X3UsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAg
ICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IE5WMjFUb0k0MjAoY29uc3Qg
dWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdnUsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV92dSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IFlVWTIgdG8gSTQyMC4KIExJ
QllVVl9BUEkKLWludCBZVVkyVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHNyY19z
dHJpZGVfeXV5MiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVf
eSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAg
IGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgWVVZMlRvSTQyMChjb25zdCB1aW50OCogc3Jj
X3l1eTIsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95dXkyLAorICAgICAgICAgICAg
ICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3Us
CisgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV92LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhl
aWdodCk7CiAKIC8vIENvbnZlcnQgVVlWWSB0byBJNDIwLgogTElCWVVWX0FQSQotaW50IFVZVllU
b0k0MjAoY29uc3QgdWludDgqIHNyY191eXZ5LCBpbnQgc3JjX3N0cmlkZV91eXZ5LAotICAgICAg
ICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRz
dF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0KTsKK2ludCBVWVZZVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKKyAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3V5dnksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAg
ICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVy
dCBNNDIwIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1pbnQgTTQyMFRvSTQyMChjb25zdCB1aW50OCog
c3JjX200MjAsIGludCBzcmNfc3RyaWRlX200MjAsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0
X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBk
c3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRl
X3YsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IE00MjBUb0k0
MjAoY29uc3QgdWludDgqIHNyY19tNDIwLAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
bTQyMCwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IEFuZHJvaWQ0MjAgdG8gSTQy
MC4KIExJQllVVl9BUEkKLWludCBBbmRyb2lkNDIwVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfeSwg
aW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfdiwgaW50IHNyY19zdHJpZGVfdiwKK2ludCBBbmRyb2lkNDIwVG9JNDIwKGNvbnN0IHVpbnQ4
KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKICAgICAgICAgICAgICAg
ICAgICAgIGludCBwaXhlbF9zdHJpZGVfdXYsCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3Ys
IGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpOworICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdSwKKyAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV92LAorICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAg
ICAgICAgaW50IGhlaWdodCk7CiAKIC8vIEFSR0IgbGl0dGxlIGVuZGlhbiAoYmdyYSBpbiBtZW1v
cnkpIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvSTQyMChjb25zdCB1aW50OCogc3Jj
X2ZyYW1lLCBpbnQgc3JjX3N0cmlkZV9mcmFtZSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
eSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRz
dF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVf
diwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlRvSTQy
MChjb25zdCB1aW50OCogc3JjX2ZyYW1lLAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
ZnJhbWUsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQkdSQSBsaXR0bGUgZW5kaWFuIChhcmdi
IGluIG1lbW9yeSkgdG8gSTQyMC4KIExJQllVVl9BUEkKLWludCBCR1JBVG9JNDIwKGNvbnN0IHVp
bnQ4KiBzcmNfZnJhbWUsIGludCBzcmNfc3RyaWRlX2ZyYW1lLAotICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91
LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0
X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBC
R1JBVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfZnJhbWUsCisgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV9mcmFtZSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92
LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBBQkdSIGxpdHRsZSBlbmRp
YW4gKHJnYmEgaW4gbWVtb3J5KSB0byBJNDIwLgogTElCWVVWX0FQSQotaW50IEFCR1JUb0k0MjAo
Y29uc3QgdWludDgqIHNyY19mcmFtZSwgaW50IHNyY19zdHJpZGVfZnJhbWUsCi0gICAgICAgICAg
ICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3Ys
IGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
OworaW50IEFCR1JUb0k0MjAoY29uc3QgdWludDgqIHNyY19mcmFtZSwKKyAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX2ZyYW1lLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIFJHQkEgbGl0
dGxlIGVuZGlhbiAoYWJnciBpbiBtZW1vcnkpIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1pbnQgUkdC
QVRvSTQyMChjb25zdCB1aW50OCogc3JjX2ZyYW1lLCBpbnQgc3JjX3N0cmlkZV9mcmFtZSwKLSAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50
IGhlaWdodCk7CitpbnQgUkdCQVRvSTQyMChjb25zdCB1aW50OCogc3JjX2ZyYW1lLAorICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGVfZnJhbWUsCisgICAgICAgICAgICAgICB1aW50OCogZHN0
X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF91LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8g
UkdCIGxpdHRsZSBlbmRpYW4gKGJnciBpbiBtZW1vcnkpIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1p
bnQgUkdCMjRUb0k0MjAoY29uc3QgdWludDgqIHNyY19mcmFtZSwgaW50IHNyY19zdHJpZGVfZnJh
bWUsCi0gICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgaW50
IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBSR0IyNFRvSTQyMChjb25zdCB1aW50OCogc3JjX2Zy
YW1lLAorICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2ZyYW1lLAorICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlk
ZV91LAorICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAg
ICBpbnQgaGVpZ2h0KTsKIAogLy8gUkdCIGJpZyBlbmRpYW4gKHJnYiBpbiBtZW1vcnkpIHRvIEk0
MjAuCiBMSUJZVVZfQVBJCi1pbnQgUkFXVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfZnJhbWUsIGlu
dCBzcmNfc3RyaWRlX2ZyYW1lLAotICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rf
c3RyaWRlX3ksCi0gICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwK
LSAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAg
ICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IFJBV1RvSTQyMChjb25zdCB1aW50OCog
c3JjX2ZyYW1lLAorICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9mcmFtZSwKKyAgICAgICAg
ICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAg
ICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3Us
CisgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfdiwKKyAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICBpbnQgaGVpZ2h0
KTsKIAogLy8gUkdCMTYgKFJHQlAgZm91cmNjKSBsaXR0bGUgZW5kaWFuIHRvIEk0MjAuCiBMSUJZ
VVZfQVBJCi1pbnQgUkdCNTY1VG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfZnJhbWUsIGludCBzcmNf
c3RyaWRlX2ZyYW1lLAotICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3Ry
aWRlX3ksCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwK
LSAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IFJHQjU2NVRvSTQyMChjb25z
dCB1aW50OCogc3JjX2ZyYW1lLAorICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9mcmFt
ZSwKKyAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwK
KyAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgICAgaW50
IHdpZHRoLAorICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gUkdCMTUgKFJHQk8g
Zm91cmNjKSBsaXR0bGUgZW5kaWFuIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQjE1NTVU
b0k0MjAoY29uc3QgdWludDgqIHNyY19mcmFtZSwgaW50IHNyY19zdHJpZGVfZnJhbWUsCi0gICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBBUkdCMTU1NVRvSTQyMChjb25zdCB1aW50OCog
c3JjX2ZyYW1lLAorICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2ZyYW1lLAorICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
diwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gUkdC
MTIgKFI0NDQgZm91cmNjKSBsaXR0bGUgZW5kaWFuIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1pbnQg
QVJHQjQ0NDRUb0k0MjAoY29uc3QgdWludDgqIHNyY19mcmFtZSwgaW50IHNyY19zdHJpZGVfZnJh
bWUsCi0gICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAot
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBBUkdCNDQ0NFRvSTQyMChjb25z
dCB1aW50OCogc3JjX2ZyYW1lLAorICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2Zy
YW1lLAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsK
IAogI2lmZGVmIEhBVkVfSlBFRwogLy8gc3JjX3dpZHRoL2hlaWdodCBwcm92aWRlZCBieSBjYXB0
dXJlLgogLy8gZHN0X3dpZHRoL2hlaWdodCBmb3IgY2xpcHBpbmcgZGV0ZXJtaW5lIGZpbmFsIHNp
emUuCiBMSUJZVVZfQVBJCi1pbnQgTUpQR1RvSTQyMChjb25zdCB1aW50OCogc2FtcGxlLCBzaXpl
X3Qgc2FtcGxlX3NpemUsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3Ry
aWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0g
ICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAg
ICAgICBpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgIGludCBk
c3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0KTsKK2ludCBNSlBHVG9JNDIwKGNvbnN0IHVpbnQ4KiBz
YW1wbGUsCisgICAgICAgICAgICAgICBzaXplX3Qgc2FtcGxlX3NpemUsCisgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAg
ICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwK
KyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3Ry
aWRlX3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoLAorICAgICAgICAgICAgICAgaW50
IHNyY19oZWlnaHQsCisgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAg
ICAgaW50IGRzdF9oZWlnaHQpOwogCiAvLyBRdWVyeSBzaXplIG9mIE1KUEcgaW4gcGl4ZWxzLgog
TElCWVVWX0FQSQotaW50IE1KUEdTaXplKGNvbnN0IHVpbnQ4KiBzYW1wbGUsIHNpemVfdCBzYW1w
bGVfc2l6ZSwKLSAgICAgICAgICAgICBpbnQqIHdpZHRoLCBpbnQqIGhlaWdodCk7CitpbnQgTUpQ
R1NpemUoY29uc3QgdWludDgqIHNhbXBsZSwgc2l6ZV90IHNhbXBsZV9zaXplLCBpbnQqIHdpZHRo
LCBpbnQqIGhlaWdodCk7CiAjZW5kaWYKIAogLy8gQ29udmVydCBjYW1lcmEgc2FtcGxlIHRvIEk0
MjAgd2l0aCBjcm9wcGluZywgcm90YXRpb24gYW5kIHZlcnRpY2FsIGZsaXAuCkBAIC0yMzEsMTMg
KzM0MSwyMCBAQCBpbnQgTUpQR1NpemUoY29uc3QgdWludDgqIHNhbXBsZSwgc2l6ZV90IHNhbXBs
ZV9zaXplLAogLy8gImZvcm1hdCIgaXMgYSBmb3VyY2MuIGllICdJNDIwJywgJ1lVWTInCiAvLyBS
ZXR1cm5zIDAgZm9yIHN1Y2Nlc3NmdWw7IC0xIGZvciBpbnZhbGlkIHBhcmFtZXRlci4gTm9uLXpl
cm8gZm9yIGZhaWx1cmUuCiBMSUJZVVZfQVBJCi1pbnQgQ29udmVydFRvSTQyMChjb25zdCB1aW50
OCogc3JjX2ZyYW1lLCBzaXplX3Qgc3JjX3NpemUsCi0gICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3Us
IGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBk
c3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICBpbnQgY3JvcF94LCBpbnQgY3JvcF95LAot
ICAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAg
ICAgICAgICAgICBpbnQgY3JvcF93aWR0aCwgaW50IGNyb3BfaGVpZ2h0LAoraW50IENvbnZlcnRU
b0k0MjAoY29uc3QgdWludDgqIHNyY19mcmFtZSwKKyAgICAgICAgICAgICAgICAgIHNpemVfdCBz
cmNfc2l6ZSwKKyAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAg
ICAgICAgICAgIGludCBjcm9wX3gsCisgICAgICAgICAgICAgICAgICBpbnQgY3JvcF95LAorICAg
ICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwKKyAgICAgICAgICAgICAgICAgIGludCBzcmNf
aGVpZ2h0LAorICAgICAgICAgICAgICAgICAgaW50IGNyb3Bfd2lkdGgsCisgICAgICAgICAgICAg
ICAgICBpbnQgY3JvcF9oZWlnaHQsCiAgICAgICAgICAgICAgICAgICBlbnVtIFJvdGF0aW9uTW9k
ZSByb3RhdGlvbiwKICAgICAgICAgICAgICAgICAgIHVpbnQzMiBmb3JtYXQpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di9pbmNsdWRlL2xpYnl1di9jb252ZXJ0X2FyZ2IuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2NvbnZlcnRfYXJn
Yi5oCmluZGV4IDVkOGRlNTlmYzUyZWE1YTZlM2M5MGFjNmE4YTNmZjk2ZTIzNmMwNDQuLmY0M2E1
MDYwYmRiZjdjZDAzM2QxNTVkMmFmMmJhODVjYmJkZWIxM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGli
eXV2L2NvbnZlcnRfYXJnYi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2NvbnZlcnRfYXJnYi5oCkBAIC0z
MCwyNDYgKzMwLDM4NCBAQCBleHRlcm4gIkMiIHsKIAogLy8gQ29weSBBUkdCIHRvIEFSR0IuCiBM
SUJZVVZfQVBJCi1pbnQgQVJHQkNvcHkoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0
cmlkZV9hcmdiLAotICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVf
YXJnYiwKLSAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFSR0JDb3B5
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdi
LAorICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV9hcmdiLAorICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICBpbnQgaGVp
Z2h0KTsKIAogLy8gQ29udmVydCBJNDIwIHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgSTQyMFRv
QVJHQihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lk
dGgsIGludCBoZWlnaHQpOworaW50IEk0MjBUb0FSR0IoY29uc3QgdWludDgqIHNyY195LAorICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGlu
dCBoZWlnaHQpOwogCiAvLyBEdXBsaWNhdGUgcHJvdG90eXBlIGZvciBmdW5jdGlvbiBpbiBjb252
ZXJ0X2Zyb20uaCBmb3IgcmVtb3RpbmcuCiBMSUJZVVZfQVBJCi1pbnQgSTQyMFRvQUJHUihjb25z
dCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpOworaW50IEk0MjBUb0FCR1IoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwK
KyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJn
YiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQp
OwogCiAvLyBDb252ZXJ0IEk0MjIgdG8gQVJHQi4KIExJQllVVl9BUEkKLWludCBJNDIyVG9BUkdC
KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwg
aW50IGhlaWdodCk7CitpbnQgSTQyMlRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlk
ZV9hcmdiLAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhl
aWdodCk7CiAKIC8vIENvbnZlcnQgSTQ0NCB0byBBUkdCLgogTElCWVVWX0FQSQotaW50IEk0NDRU
b0FSR0IoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJNDQ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwK
KyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBp
bnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBKNDQ0IHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQg
SjQ0NFRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBp
bnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEo0NDRUb0FSR0IoY29uc3QgdWludDgqIHNyY195
LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgaW50
IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAg
ICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IEk0NDQgdG8gQUJHUi4KIExJQllVVl9BUEkK
LWludCBJNDQ0VG9BQkdSKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYWJnciwgaW50IGRzdF9zdHJpZGVfYWJnciwKLSAgICAgICAgICAg
ICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgSTQ0NFRvQUJHUihjb25zdCB1aW50OCog
c3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FiZ3IsCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV9hYmdyLAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAg
ICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgSTQyMCB3aXRoIEFscGhhIHRvIHBy
ZWF0dGVudWF0ZWQgQVJHQi4KIExJQllVVl9BUEkKLWludCBJNDIwQWxwaGFUb0FSR0IoY29uc3Qg
dWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY19hLCBpbnQgc3JjX3N0cmlkZV9hLAotICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGF0dGVudWF0ZSk7CitpbnQgSTQyMEFscGhh
VG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYSwKKyAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfYSwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCisgICAg
ICAgICAgICAgICAgICAgIGludCBhdHRlbnVhdGUpOwogCiAvLyBDb252ZXJ0IEk0MjAgd2l0aCBB
bHBoYSB0byBwcmVhdHRlbnVhdGVkIEFCR1IuCiBMSUJZVVZfQVBJCi1pbnQgSTQyMEFscGhhVG9B
QkdSKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYSwgaW50IHNyY19zdHJpZGVfYSwKLSAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hYmdyLCBpbnQgZHN0X3N0cmlkZV9hYmdyLAotICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBhdHRlbnVhdGUpOworaW50
IEk0MjBBbHBoYVRvQUJHUihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZV92LAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2EsCisgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2EsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYWJnciwKKyAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYWJnciwKKyAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICBpbnQgaGVp
Z2h0LAorICAgICAgICAgICAgICAgICAgICBpbnQgYXR0ZW51YXRlKTsKIAogLy8gQ29udmVydCBJ
NDAwIChncmV5KSB0byBBUkdCLiAgUmV2ZXJzZSBvZiBBUkdCVG9JNDAwLgogTElCWVVWX0FQSQot
aW50IEk0MDBUb0FSR0IoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAg
ICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJNDAwVG9BUkdCKGNvbnN0IHVp
bnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdi
LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7
CiAKIC8vIENvbnZlcnQgSjQwMCAoanBlZyBncmV5KSB0byBBUkdCLgogTElCWVVWX0FQSQotaW50
IEo0MDBUb0FSR0IoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAg
ICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBKNDAwVG9BUkdCKGNvbnN0IHVpbnQ4
KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAor
ICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAK
IC8vIEFsaWFzLgogI2RlZmluZSBZVG9BUkdCIEk0MDBUb0FSR0IKIAogLy8gQ29udmVydCBOVjEy
IHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgTlYxMlRvQVJHQihjb25zdCB1aW50OCogc3JjX3ks
IGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3V2LCBp
bnQgc3JjX3N0cmlkZV91diwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRz
dF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7Citp
bnQgTlYxMlRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3V2LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IE5WMjEg
dG8gQVJHQi4KIExJQllVVl9BUEkKLWludCBOVjIxVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwg
aW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdnUsIGlu
dCBzcmNfc3RyaWRlX3Z1LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0
X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2lu
dCBOVjIxVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Z1LAorICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfdnUsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
CisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgaW50
IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgTTQyMCB0
byBBUkdCLgogTElCWVVWX0FQSQotaW50IE00MjBUb0FSR0IoY29uc3QgdWludDgqIHNyY19tNDIw
LCBpbnQgc3JjX3N0cmlkZV9tNDIwLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBp
bnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
KTsKK2ludCBNNDIwVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfbTQyMCwKKyAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX200MjAsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgWVVZMiB0byBB
UkdCLgogTElCWVVWX0FQSQotaW50IFlVWTJUb0FSR0IoY29uc3QgdWludDgqIHNyY195dXkyLCBp
bnQgc3JjX3N0cmlkZV95dXkyLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQg
ZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsK
K2ludCBZVVkyVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3l1eTIsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgaW50IHdpZHRo
LAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgVVlWWSB0byBBUkdC
LgogTElCWVVWX0FQSQotaW50IFVZVllUb0FSR0IoY29uc3QgdWludDgqIHNyY191eXZ5LCBpbnQg
c3JjX3N0cmlkZV91eXZ5LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0
X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2lu
dCBVWVZZVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKKyAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX3V5dnksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAor
ICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgSjQyMCB0byBBUkdCLgog
TElCWVVWX0FQSQotaW50IEo0MjBUb0FSR0IoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0
cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlk
ZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92
LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAot
ICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBKNDIwVG9BUkdCKGNv
bnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgd2lk
dGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBKNDIyIHRvIEFS
R0IuCiBMSUJZVVZfQVBJCi1pbnQgSjQyMlRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksIGludCBz
cmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNf
c3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3Ry
aWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2Fy
Z2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEo0MjJUb0FS
R0IoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwK
KyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IEo0MjAg
dG8gQUJHUi4KIExJQllVVl9BUEkKLWludCBKNDIwVG9BQkdSKGNvbnN0IHVpbnQ4KiBzcmNfeSwg
aW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50
IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNy
Y19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYWJnciwgaW50IGRzdF9zdHJp
ZGVfYWJnciwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgSjQy
MFRvQUJHUihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FiZ3IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hYmdyLAorICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQg
SjQyMiB0byBBQkdSLgogTElCWVVWX0FQSQotaW50IEo0MjJUb0FCR1IoY29uc3QgdWludDgqIHNy
Y195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191
LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBp
bnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hYmdyLCBpbnQgZHN0
X3N0cmlkZV9hYmdyLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2lu
dCBKNDIyVG9BQkdSKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYWJnciwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FiZ3IsCisgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29u
dmVydCBINDIwIHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgSDQyMFRvQVJHQihjb25zdCB1aW50
OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGlu
dCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
OworaW50IEg0MjBUb0FSR0IoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAg
ICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAv
LyBDb252ZXJ0IEg0MjIgdG8gQVJHQi4KIExJQllVVl9BUEkKLWludCBINDIyVG9BUkdCKGNvbnN0
IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhl
aWdodCk7CitpbnQgSDQyMlRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAor
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdi
LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7
CiAKIC8vIENvbnZlcnQgSDQyMCB0byBBQkdSLgogTElCWVVWX0FQSQotaW50IEg0MjBUb0FCR1Io
Y29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hYmdyLCBpbnQgZHN0X3N0cmlkZV9hYmdyLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KTsKK2ludCBINDIwVG9BQkdSKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfYWJnciwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X2FiZ3IsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVp
Z2h0KTsKIAogLy8gQ29udmVydCBINDIyIHRvIEFCR1IuCiBMSUJZVVZfQVBJCi1pbnQgSDQyMlRv
QUJHUihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50
OCogZHN0X2FiZ3IsIGludCBkc3Rfc3RyaWRlX2FiZ3IsCi0gICAgICAgICAgICAgICBpbnQgd2lk
dGgsIGludCBoZWlnaHQpOworaW50IEg0MjJUb0FCR1IoY29uc3QgdWludDgqIHNyY195LAorICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hYmdyLAorICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfYWJnciwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGlu
dCBoZWlnaHQpOwogCiAvLyBCR1JBIGxpdHRsZSBlbmRpYW4gKGFyZ2IgaW4gbWVtb3J5KSB0byBB
UkdCLgogTElCWVVWX0FQSQotaW50IEJHUkFUb0FSR0IoY29uc3QgdWludDgqIHNyY19mcmFtZSwg
aW50IHNyY19zdHJpZGVfZnJhbWUsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGlu
dCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
OworaW50IEJHUkFUb0FSR0IoY29uc3QgdWludDgqIHNyY19mcmFtZSwKKyAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX2ZyYW1lLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAor
ICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBBQkdSIGxpdHRsZSBlbmRp
YW4gKHJnYmEgaW4gbWVtb3J5KSB0byBBUkdCLgogTElCWVVWX0FQSQotaW50IEFCR1JUb0FSR0Io
Y29uc3QgdWludDgqIHNyY19mcmFtZSwgaW50IHNyY19zdHJpZGVfZnJhbWUsCi0gICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAg
ICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFCR1JUb0FSR0IoY29uc3QgdWludDgqIHNy
Y19mcmFtZSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2ZyYW1lLAorICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJn
YiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQp
OwogCiAvLyBSR0JBIGxpdHRsZSBlbmRpYW4gKGFiZ3IgaW4gbWVtb3J5KSB0byBBUkdCLgogTElC
WVVWX0FQSQotaW50IFJHQkFUb0FSR0IoY29uc3QgdWludDgqIHNyY19mcmFtZSwgaW50IHNyY19z
dHJpZGVfZnJhbWUsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3Ry
aWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IFJH
QkFUb0FSR0IoY29uc3QgdWludDgqIHNyY19mcmFtZSwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX2ZyYW1lLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBEZXByZWNhdGVkIGZ1bmN0aW9uIG5hbWUu
CiAjZGVmaW5lIEJHMjRUb0FSR0IgUkdCMjRUb0FSR0IKIAogLy8gUkdCIGxpdHRsZSBlbmRpYW4g
KGJnciBpbiBtZW1vcnkpIHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgUkdCMjRUb0FSR0IoY29u
c3QgdWludDgqIHNyY19mcmFtZSwgaW50IHNyY19zdHJpZGVfZnJhbWUsCi0gICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAg
IGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgUkdCMjRUb0FSR0IoY29uc3QgdWludDgqIHNy
Y19mcmFtZSwKKyAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9mcmFtZSwKKyAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVf
YXJnYiwKKyAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IGhl
aWdodCk7CiAKIC8vIFJHQiBiaWcgZW5kaWFuIChyZ2IgaW4gbWVtb3J5KSB0byBBUkdCLgogTElC
WVVWX0FQSQotaW50IFJBV1RvQVJHQihjb25zdCB1aW50OCogc3JjX2ZyYW1lLCBpbnQgc3JjX3N0
cmlkZV9mcmFtZSwKLSAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlk
ZV9hcmdiLAotICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IFJBV1Rv
QVJHQihjb25zdCB1aW50OCogc3JjX2ZyYW1lLAorICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV9mcmFtZSwKKyAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAg
ICAgIGludCBoZWlnaHQpOwogCiAvLyBSR0IxNiAoUkdCUCBmb3VyY2MpIGxpdHRsZSBlbmRpYW4g
dG8gQVJHQi4KIExJQllVVl9BUEkKLWludCBSR0I1NjVUb0FSR0IoY29uc3QgdWludDgqIHNyY19m
cmFtZSwgaW50IHNyY19zdHJpZGVfZnJhbWUsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KTsKK2ludCBSR0I1NjVUb0FSR0IoY29uc3QgdWludDgqIHNyY19mcmFtZSwKKyAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfZnJhbWUsCisgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsK
IAogLy8gUkdCMTUgKFJHQk8gZm91cmNjKSBsaXR0bGUgZW5kaWFuIHRvIEFSR0IuCiBMSUJZVVZf
QVBJCi1pbnQgQVJHQjE1NTVUb0FSR0IoY29uc3QgdWludDgqIHNyY19mcmFtZSwgaW50IHNyY19z
dHJpZGVfZnJhbWUsCi0gICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0
X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7
CitpbnQgQVJHQjE1NTVUb0FSR0IoY29uc3QgdWludDgqIHNyY19mcmFtZSwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV9mcmFtZSwKKyAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7
CiAKIC8vIFJHQjEyIChSNDQ0IGZvdXJjYykgbGl0dGxlIGVuZGlhbiB0byBBUkdCLgogTElCWVVW
X0FQSQotaW50IEFSR0I0NDQ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfZnJhbWUsIGludCBzcmNf
c3RyaWRlX2ZyYW1lLAotICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRz
dF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
OworaW50IEFSR0I0NDQ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfZnJhbWUsCisgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGVfZnJhbWUsCisgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQp
OwogCiAjaWZkZWYgSEFWRV9KUEVHCiAvLyBzcmNfd2lkdGgvaGVpZ2h0IHByb3ZpZGVkIGJ5IGNh
cHR1cmUKIC8vIGRzdF93aWR0aC9oZWlnaHQgZm9yIGNsaXBwaW5nIGRldGVybWluZSBmaW5hbCBz
aXplLgogTElCWVVWX0FQSQotaW50IE1KUEdUb0FSR0IoY29uc3QgdWludDgqIHNhbXBsZSwgc2l6
ZV90IHNhbXBsZV9zaXplLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0
X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwgaW50IHNyY19oZWln
aHQsCi0gICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCk7CitpbnQg
TUpQR1RvQVJHQihjb25zdCB1aW50OCogc2FtcGxlLAorICAgICAgICAgICAgICAgc2l6ZV90IHNh
bXBsZV9zaXplLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgsCisg
ICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgIGludCBkc3Rfd2lk
dGgsCisgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCk7CiAjZW5kaWYKIAogLy8gQ29udmVy
dCBjYW1lcmEgc2FtcGxlIHRvIEFSR0Igd2l0aCBjcm9wcGluZywgcm90YXRpb24gYW5kIHZlcnRp
Y2FsIGZsaXAuCkBAIC0yOTUsMTEgKzQzMywxNiBAQCBpbnQgTUpQR1RvQVJHQihjb25zdCB1aW50
OCogc2FtcGxlLCBzaXplX3Qgc2FtcGxlX3NpemUsCiAvLyAiZm9ybWF0IiBpcyBhIGZvdXJjYy4g
aWUgJ0k0MjAnLCAnWVVZMicKIC8vIFJldHVybnMgMCBmb3Igc3VjY2Vzc2Z1bDsgLTEgZm9yIGlu
dmFsaWQgcGFyYW1ldGVyLiBOb24temVybyBmb3IgZmFpbHVyZS4KIExJQllVVl9BUEkKLWludCBD
b252ZXJ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfZnJhbWUsIHNpemVfdCBzcmNfc2l6ZSwKLSAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAg
ICAgICAgICAgICAgICAgIGludCBjcm9wX3gsIGludCBjcm9wX3ksCi0gICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgIGludCBj
cm9wX3dpZHRoLCBpbnQgY3JvcF9oZWlnaHQsCitpbnQgQ29udmVydFRvQVJHQihjb25zdCB1aW50
OCogc3JjX2ZyYW1lLAorICAgICAgICAgICAgICAgICAgc2l6ZV90IHNyY19zaXplLAorICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgIGludCBjcm9wX3gsCisgICAgICAgICAgICAg
ICAgICBpbnQgY3JvcF95LAorICAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwKKyAgICAg
ICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgaW50IGNyb3Bf
d2lkdGgsCisgICAgICAgICAgICAgICAgICBpbnQgY3JvcF9oZWlnaHQsCiAgICAgICAgICAgICAg
ICAgICBlbnVtIFJvdGF0aW9uTW9kZSByb3RhdGlvbiwKICAgICAgICAgICAgICAgICAgIHVpbnQz
MiBmb3JtYXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9jb252ZXJ0X2Zyb20uaCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1
ZGUvbGlieXV2L2NvbnZlcnRfZnJvbS5oCmluZGV4IDI0ZjExYTUyZTQ3NWUyZGNmZWE2MGRiOGVj
ZDZkNjcwMzRiMzY2NTkuLmEwNTBlNDQ1N2YzODJmZDhmODdiMDViMzZlYzc0NWU3NjI1NjYxNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2NvbnZlcnRfZnJvbS5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2
L2NvbnZlcnRfZnJvbS5oCkBAIC0yNCwxNDIgKzI0LDI0OSBAQCBleHRlcm4gIkMiIHsKIC8vIEk0
MjBDb3B5IGluIGNvbnZlcnQgdG8gSTQyMFRvSTQyMC4KIAogTElCWVVWX0FQSQotaW50IEk0MjBU
b0k0MjIoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91
LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0
X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKLQotTElC
WVVWX0FQSQotaW50IEk0MjBUb0k0NDQoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlk
ZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91
LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAot
ICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KTsKK2ludCBJNDIwVG9JNDIyKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ks
CisgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV91LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgaW50
IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAg
IGludCBoZWlnaHQpOworCitMSUJZVVZfQVBJCitpbnQgSTQyMFRvSTQ0NChjb25zdCB1aW50OCog
c3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgs
CisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29weSB0byBJNDAwLiBTb3VyY2Ug
Y2FuIGJlIEk0MjAsIEk0MjIsIEk0NDQsIEk0MDAsIE5WMTIgb3IgTlYyMS4KIExJQllVVl9BUEkK
LWludCBJNDAwQ29weShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAg
ICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgIGlu
dCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgSTQwMENvcHkoY29uc3QgdWludDgqIHNyY195LAor
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgdWludDgqIGRzdF95
LAorICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgaW50IHdpZHRo
LAorICAgICAgICAgICAgIGludCBoZWlnaHQpOworCitMSUJZVVZfQVBJCitpbnQgSTQyMFRvTlYx
Mihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAor
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRz
dF91diwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3V2LAorICAgICAgICAgICAgICAg
aW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkKLWlu
dCBJNDIwVG9OVjEyKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdXYsIGludCBkc3Rfc3RyaWRlX3V2LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KTsKK2ludCBJNDIwVG9OVjIxKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ks
CisgICAgICAgICAgICAgICB1aW50OCogZHN0X3Z1LAorICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfdnUsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQg
aGVpZ2h0KTsKIAogTElCWVVWX0FQSQotaW50IEk0MjBUb05WMjEoY29uc3QgdWludDgqIHNyY195
LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBp
bnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQg
c3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlk
ZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92dSwgaW50IGRzdF9zdHJpZGVfdnUsCi0g
ICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEk0MjBUb1lVWTIoY29u
c3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwKKyAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2ZyYW1lLAorICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkKLWludCBJNDIw
VG9ZVVkyKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfZnJhbWUsIGludCBkc3Rfc3RyaWRlX2ZyYW1lLAotICAgICAgICAgICAgICAgaW50
IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJNDIwVG9VWVZZKGNvbnN0IHVpbnQ4KiBzcmNfeSwK
KyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
diwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfZnJhbWUsCisgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV9mcmFtZSwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAg
ICAgIGludCBoZWlnaHQpOwogCiBMSUJZVVZfQVBJCi1pbnQgSTQyMFRvVVlWWShjb25zdCB1aW50
OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2ZyYW1lLCBp
bnQgZHN0X3N0cmlkZV9mcmFtZSwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdo
dCk7CitpbnQgSTQyMFRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAor
ICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAK
IExJQllVVl9BUEkKLWludCBJNDIwVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19z
dHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJp
ZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVf
diwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwK
LSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgSTQyMFRvQkdSQShj
b25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkKLWludCBJNDIw
VG9CR1JBKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3
aWR0aCwgaW50IGhlaWdodCk7CitpbnQgSTQyMFRvQUJHUihjb25zdCB1aW50OCogc3JjX3ksCisg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3Ys
CisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0
X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAg
aW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkKLWludCBJNDIwVG9BQkdSKGNvbnN0IHVpbnQ4KiBz
cmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwg
aW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRz
dF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7Citp
bnQgSTQyMFRvUkdCQShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
diwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50
OCogZHN0X3JnYmEsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9yZ2JhLAorICAgICAg
ICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIExJQllV
Vl9BUEkKLWludCBJNDIwVG9SR0JBKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVf
eSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwK
LSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiYSwgaW50IGRzdF9zdHJpZGVfcmdiYSwKLSAgICAg
ICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgSTQyMFRvUkdCMjQoY29uc3Qg
dWludDgqIHNyY195LAorICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3UsCisgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwK
KyAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9mcmFtZSwKKyAgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkKLWlu
dCBJNDIwVG9SR0IyNChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2ZyYW1lLCBpbnQgZHN0X3N0cmlkZV9mcmFtZSwKLSAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEk0MjBUb1JBVyhjb25zdCB1aW50
OCogc3JjX3ksCisgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZV92LAorICAgICAgICAgICAgICB1aW50OCogZHN0X2ZyYW1lLAorICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV9mcmFtZSwKKyAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAg
ICAgICBpbnQgaGVpZ2h0KTsKIAogTElCWVVWX0FQSQotaW50IEk0MjBUb1JBVyhjb25zdCB1aW50
OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICB1aW50OCogZHN0X2ZyYW1lLCBpbnQg
ZHN0X3N0cmlkZV9mcmFtZSwKLSAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsK
K2ludCBJNDIwVG9SR0I1NjUoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwKKyAgICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfZnJhbWUsCisgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAg
ICAgaW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkKLWludCBJNDIwVG9SR0I1NjUoY29uc3QgdWlu
dDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9m
cmFtZSwgaW50IGRzdF9zdHJpZGVfZnJhbWUsCi0gICAgICAgICAgICAgICAgIGludCB3aWR0aCwg
aW50IGhlaWdodCk7CitpbnQgSTQyMlRvUkdCNTY1KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY191LAorICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3YsCisgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfZnJhbWUsCisgICAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX2ZyYW1lLAorICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IEk0MjAgVG8gUkdCNTY1
IHdpdGggNHg0IGRpdGhlciBtYXRyaXggKDE2IGJ5dGVzKS4KIC8vIFZhbHVlcyBpbiBkaXRoZXIg
bWF0cml4IGZyb20gMCB0byA3IHJlY29tbWVuZGVkLgogLy8gVGhlIG9yZGVyIG9mIHRoZSBkaXRo
ZXIgbWF0cml4IGlzIGZpcnN0IGJ5dGUgaXMgdXBwZXIgbGVmdC4KIAogTElCWVVWX0FQSQotaW50
IEk0MjBUb1JHQjU2NURpdGhlcihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ks
Ci0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJp
ZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3Jj
X3N0cmlkZV92LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2ZyYW1lLCBpbnQg
ZHN0X3N0cmlkZV9mcmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGRp
dGhlcjR4NCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJNDIwVG9SR0I1NjVEaXRoZXIo
Y29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV95LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGVfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfZnJhbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBkaXRoZXI0eDQsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkK
LWludCBJNDIwVG9BUkdCMTU1NShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ks
Ci0gICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91
LAotICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVf
diwKLSAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2ZyYW1lLCBpbnQgZHN0X3N0cmlkZV9m
cmFtZSwKLSAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEk0
MjBUb0FSR0IxNTU1KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAor
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfZnJhbWUsCisgICAgICAgICAgICAgICAgICAg
aW50IGRzdF9zdHJpZGVfZnJhbWUsCisgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAg
ICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiBMSUJZVVZfQVBJCi1pbnQgSTQyMFRvQVJH
QjQ0NDQoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwgaW50IGRzdF9zdHJpZGVfZnJhbWUsCi0gICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJNDIwVG9BUkdCNDQ0NChj
b25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwK
KyAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3YsCisgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2ZyYW1lLAorICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X2ZyYW1lLAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAg
ICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBJNDIwIHRvIHNwZWNpZmllZCBmb3JtYXQuCiAv
LyAiZHN0X3NhbXBsZV9zdHJpZGUiIGlzIGJ5dGVzIGluIGEgcm93IGZvciB0aGUgZGVzdGluYXRp
b24uIFBhc3MgMCBpZiB0aGUKIC8vICAgIGJ1ZmZlciBoYXMgY29udGlndW91cyByb3dzLiBDYW4g
YmUgbmVnYXRpdmUuIEEgbXVsdGlwbGUgb2YgMTYgaXMgb3B0aW1hbC4KIExJQllVVl9BUEkKLWlu
dCBDb252ZXJ0RnJvbUk0MjAoY29uc3QgdWludDgqIHksIGludCB5X3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHUsIGludCB1X3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHYsIGludCB2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9zYW1wbGUsIGludCBkc3Rfc2FtcGxlX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAoraW50IENvbnZlcnRGcm9tSTQyMChjb25zdCB1
aW50OCogeSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHlfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogdSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHVfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdiwKKyAgICAgICAgICAgICAgICAg
ICAgaW50IHZfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3NhbXBsZSwK
KyAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zYW1wbGVfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCiAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMiBmb3JtYXQpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L2luY2x1ZGUvbGlieXV2L2NvbnZlcnRfZnJvbV9hcmdiLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9j
b252ZXJ0X2Zyb21fYXJnYi5oCmluZGV4IDhiYjA5ZjYxNzdlNmE1M2NiYTgzMWViNjBhMmIxYmRj
ZDExZTQ1MjYuLjUwNzIyZDc2MTAyMWUzMWFlYjdmYzdkMzhiYjRmNGQ2NmE4NWJmZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L2luY2x1ZGUvbGlieXV2L2NvbnZlcnRfZnJvbV9hcmdiLmgKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYv
Y29udmVydF9mcm9tX2FyZ2IuaApAQCAtMjEsNDUgKzIxLDY2IEBAIGV4dGVybiAiQyIgewogLy8g
Q29weSBBUkdCIHRvIEFSR0IuCiAjZGVmaW5lIEFSR0JUb0FSR0IgQVJHQkNvcHkKIExJQllVVl9B
UEkKLWludCBBUkdCQ29weShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2Fy
Z2IsCi0gICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAot
ICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQkNvcHkoY29uc3Qg
dWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2Fy
Z2IsCisgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgIGludCBoZWlnaHQpOwog
CiAvLyBDb252ZXJ0IEFSR0IgVG8gQkdSQS4KIExJQllVVl9BUEkKLWludCBBUkdCVG9CR1JBKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfYmdyYSwgaW50IGRzdF9zdHJpZGVfYmdyYSwKLSAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlRvQkdSQShjb25zdCB1aW50OCogc3JjX2Fy
Z2IsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAg
dWludDgqIGRzdF9iZ3JhLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYmdyYSwKKyAg
ICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAv
LyBDb252ZXJ0IEFSR0IgVG8gQUJHUi4KIExJQllVVl9BUEkKLWludCBBUkdCVG9BQkdSKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYWJnciwgaW50IGRzdF9zdHJpZGVfYWJnciwKLSAgICAgICAgICAgICAgIGludCB3
aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlRvQUJHUihjb25zdCB1aW50OCogc3JjX2FyZ2Is
CisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hYmdyLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYWJnciwKKyAgICAg
ICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBD
b252ZXJ0IEFSR0IgVG8gUkdCQS4KIExJQllVVl9BUEkKLWludCBBUkdCVG9SR0JBKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcmdiYSwgaW50IGRzdF9zdHJpZGVfcmdiYSwKLSAgICAgICAgICAgICAgIGludCB3aWR0
aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlRvUkdCQShjb25zdCB1aW50OCogc3JjX2FyZ2IsCisg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgdWludDgq
IGRzdF9yZ2JhLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfcmdiYSwKKyAgICAgICAg
ICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252
ZXJ0IEFSR0IgVG8gUkdCMjQuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvUkdCMjQoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcmdiMjQsIGludCBkc3Rfc3RyaWRlX3JnYjI0LAotICAgICAgICAgICAgICAgIGludCB3
aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlRvUkdCMjQoY29uc3QgdWludDgqIHNyY19hcmdi
LAorICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9yZ2IyNCwKKyAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9yZ2IyNCwK
KyAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7
CiAKIC8vIENvbnZlcnQgQVJHQiBUbyBSQVcuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvUkFXKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAg
dWludDgqIGRzdF9yZ2IsIGludCBkc3Rfc3RyaWRlX3JnYiwKLSAgICAgICAgICAgICAgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBBUkdCVG9SQVcoY29uc3QgdWludDgqIHNyY19hcmdiLAor
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICB1aW50OCog
ZHN0X3JnYiwKKyAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfcmdiLAorICAgICAgICAgICAg
ICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IEFS
R0IgVG8gUkdCNTY1LgogTElCWVVWX0FQSQotaW50IEFSR0JUb1JHQjU2NShjb25zdCB1aW50OCog
c3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfcmdiNTY1LCBpbnQgZHN0X3N0cmlkZV9yZ2I1NjUsCi0gICAgICAgICAgICAgICAgIGludCB3
aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlRvUkdCNTY1KGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9yZ2I1NjUsCisgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3Jn
YjU2NSwKKyAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICBpbnQg
aGVpZ2h0KTsKIAogLy8gQ29udmVydCBBUkdCIFRvIFJHQjU2NSB3aXRoIDR4NCBkaXRoZXIgbWF0
cml4ICgxNiBieXRlcykuCiAvLyBWYWx1ZXMgaW4gZGl0aGVyIG1hdHJpeCBmcm9tIDAgdG8gNyBy
ZWNvbW1lbmRlZC4KQEAgLTY3LDExMiArODgsMTc0IEBAIGludCBBUkdCVG9SR0I1NjUoY29uc3Qg
dWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogLy8gVE9ETyhmYmFyY2hhcmQp
OiBDb25zaWRlciBwb2ludGVyIHRvIDJkIGFycmF5IGZvciBkaXRoZXI0eDQuCiAvLyBjb25zdCB1
aW50OCgqZGl0aGVyKVs0XVs0XTsKIExJQllVVl9BUEkKLWludCBBUkdCVG9SR0I1NjVEaXRoZXIo
Y29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3JnYjU2NSwgaW50IGRzdF9zdHJpZGVfcmdiNTY1LAotICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogZGl0aGVyNHg0LCBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpOworaW50IEFSR0JUb1JHQjU2NURpdGhlcihjb25zdCB1aW50OCogc3JjX2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiNTY1LAorICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV9yZ2I1NjUsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBkaXRoZXI0eDQsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgQVJHQiBUbyBBUkdCMTU1
NS4KIExJQllVVl9BUEkKLWludCBBUkdCVG9BUkdCMTU1NShjb25zdCB1aW50OCogc3JjX2FyZ2Is
IGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
MTU1NSwgaW50IGRzdF9zdHJpZGVfYXJnYjE1NTUsCi0gICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBBUkdCVG9BUkdCMTU1NShjb25zdCB1aW50OCogc3JjX2Fy
Z2IsCisgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IxNTU1LAorICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBBUkdCIFRvIEFSR0I0NDQ0Lgog
TElCWVVWX0FQSQotaW50IEFSR0JUb0FSR0I0NDQ0KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50
IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2I0NDQ0
LCBpbnQgZHN0X3N0cmlkZV9hcmdiNDQ0NCwKLSAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgs
IGludCBoZWlnaHQpOworaW50IEFSR0JUb0FSR0I0NDQ0KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYjQ0NDQsCisgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfYXJnYjQ0NDQsCisgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAg
ICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IEFSR0IgVG8gSTQ0NC4KIExJQllVVl9B
UEkKLWludCBBUkdCVG9JNDQ0KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVf
YXJnYiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIGludCB3
aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlRvSTQ0NChjb25zdCB1aW50OCogc3JjX2FyZ2Is
CisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92
LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7
CiAKIC8vIENvbnZlcnQgQVJHQiBUbyBJNDIyLgogTElCWVVWX0FQSQotaW50IEFSR0JUb0k0MjIo
Y29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAg
ICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBp
bnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsK
K2ludCBBUkdCVG9JNDIyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBBUkdC
IFRvIEk0MjAuIChhbHNvIGluIGNvbnZlcnQuaCkKIExJQllVVl9BUEkKLWludCBBUkdCVG9JNDIw
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rfdiwg
aW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7
CitpbnQgQVJHQlRvSTQyMChjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwK
KyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAg
aW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgQVJH
QiB0byBKNDIwLiAoSlBlZyBmdWxsIHJhbmdlIEk0MjApLgogTElCWVVWX0FQSQotaW50IEFSR0JU
b0o0MjAoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAg
ICAgICAgICAgdWludDgqIGRzdF95aiwgaW50IGRzdF9zdHJpZGVfeWosCi0gICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICB1aW50OCog
ZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpOworaW50IEFSR0JUb0o0MjAoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeWos
CisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95aiwKKyAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAg
ICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENv
bnZlcnQgQVJHQiB0byBKNDIyLgogTElCWVVWX0FQSQotaW50IEFSR0JUb0o0MjIoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgdWludDgq
IGRzdF95aiwgaW50IGRzdF9zdHJpZGVfeWosCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3Us
IGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rf
c3RyaWRlX3YsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFS
R0JUb0o0MjIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeWosCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV95aiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3Ys
CisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgQVJHQiB0byBK
NDAwLiAoSlBlZyBmdWxsIHJhbmdlKS4KIExJQllVVl9BUEkKLWludCBBUkdCVG9KNDAwKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfeWosIGludCBkc3Rfc3RyaWRlX3lqLAotICAgICAgICAgICAgICAgaW50IHdpZHRo
LCBpbnQgaGVpZ2h0KTsKK2ludCBBUkdCVG9KNDAwKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3lqLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeWosCisgICAgICAgICAgICAg
ICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBB
UkdCIHRvIEk0MDAuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvSTQwMChjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ks
IGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
OworaW50IEFSR0JUb0k0MDAoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBBUkdCIHRvIEcuIChSZXZl
cnNlIG9mIEo0MDB0b0FSR0IsIHdoaWNoIHJlcGxpY2F0ZXMgRyBiYWNrIHRvIEFSR0IpCiBMSUJZ
VVZfQVBJCi1pbnQgQVJHQlRvRyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRl
X2FyZ2IsCi0gICAgICAgICAgICB1aW50OCogZHN0X2csIGludCBkc3Rfc3RyaWRlX2csCi0gICAg
ICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFSR0JUb0coY29uc3QgdWludDgq
IHNyY19hcmdiLAorICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAg
IHVpbnQ4KiBkc3RfZywKKyAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2csCisgICAgICAgICAg
ICBpbnQgd2lkdGgsCisgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBBUkdC
IFRvIE5WMTIuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvTlYxMihjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGlu
dCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LCBpbnQgZHN0X3N0
cmlkZV91diwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJH
QlRvTlYxMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAg
aW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXYsCisgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZV91diwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IEFSR0IgVG8gTlYyMS4KIExJ
QllVVl9BUEkKLWludCBBUkdCVG9OVjIxKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19z
dHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVf
eSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdnUsIGludCBkc3Rfc3RyaWRlX3Z1LAotICAg
ICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBBUkdCVG9OVjIxKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlk
ZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92dSwKKyAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3Z1LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAg
aW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgQVJHQiBUbyBOVjIxLgogTElCWVVWX0FQSQotaW50
IEFSR0JUb05WMjEoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAot
ICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAg
ICAgICAgdWludDgqIGRzdF92dSwgaW50IGRzdF9zdHJpZGVfdnUsCi0gICAgICAgICAgICAgICBp
bnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFSR0JUb05WMjEoY29uc3QgdWludDgqIHNyY19h
cmdiLAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3Z1LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdnUs
CisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsK
IAogLy8gQ29udmVydCBBUkdCIFRvIFlVWTIuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvWVVZMihj
b25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAg
ICB1aW50OCogZHN0X3l1eTIsIGludCBkc3Rfc3RyaWRlX3l1eTIsCi0gICAgICAgICAgICAgICBp
bnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFSR0JUb1lVWTIoY29uc3QgdWludDgqIHNyY19h
cmdiLAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfeXV5MiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3l1eTIsCisg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAog
Ly8gQ29udmVydCBBUkdCIFRvIFVZVlkuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvVVlWWShjb25z
dCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICB1
aW50OCogZHN0X3V5dnksIGludCBkc3Rfc3RyaWRlX3V5dnksCi0gICAgICAgICAgICAgICBpbnQg
d2lkdGgsIGludCBoZWlnaHQpOworaW50IEFSR0JUb1VZVlkoY29uc3QgdWludDgqIHNyY19hcmdi
LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdXl2eSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3V5dnksCisgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogI2lm
ZGVmIF9fY3BsdXNwbHVzCiB9ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1
di9jcHVfaWQuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2NwdV9pZC5oCmluZGV4IGJjZGRiMzJlYWYxZjQwZTFm
MmI0ZWVlZDZiY2Q3YzRmMjJhMmU2MWUuLjZkMWFmYmRiYjEyMDk0Y2FjODhiMWMzNTMyMjkxNGE4
MjkwMjU2MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L2NwdV9pZC5oCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGli
eXV2L2NwdV9pZC5oCkBAIC00NiwzNCArNDYsNDIgQEAgc3RhdGljIGNvbnN0IGludCBrQ3B1SGFz
TUlQUyA9IDB4MTAwMDA7CiBzdGF0aWMgY29uc3QgaW50IGtDcHVIYXNEU1BSMiA9IDB4MjAwMDA7
CiBzdGF0aWMgY29uc3QgaW50IGtDcHVIYXNNU0EgPSAweDQwMDAwOwogCi0vLyBJbnRlcm5hbCBm
dW5jdGlvbiB1c2VkIHRvIGF1dG8taW5pdC4KKy8vIE9wdGlvbmFsIGluaXQgZnVuY3Rpb24uIFRl
c3RDcHVGbGFnIGRvZXMgYW4gYXV0by1pbml0LgorLy8gUmV0dXJucyBjcHVfaW5mbyBmbGFncy4K
IExJQllVVl9BUEkKIGludCBJbml0Q3B1RmxhZ3Modm9pZCk7CiAKLS8vIEludGVybmFsIGZ1bmN0
aW9uIGZvciBwYXJzaW5nIC9wcm9jL2NwdWluZm8uCi1MSUJZVVZfQVBJCi1pbnQgQXJtQ3B1Q2Fw
cyhjb25zdCBjaGFyKiBjcHVpbmZvX25hbWUpOwotCiAvLyBEZXRlY3QgQ1BVIGhhcyBTU0UyIGV0
Yy4KIC8vIFRlc3RfZmxhZyBwYXJhbWV0ZXIgc2hvdWxkIGJlIG9uZSBvZiBrQ3B1SGFzIGNvbnN0
YW50cyBhYm92ZS4KLS8vIHJldHVybnMgbm9uLXplcm8gaWYgaW5zdHJ1Y3Rpb24gc2V0IGlzIGRl
dGVjdGVkCisvLyBSZXR1cm5zIG5vbi16ZXJvIGlmIGluc3RydWN0aW9uIHNldCBpcyBkZXRlY3Rl
ZAogc3RhdGljIF9faW5saW5lIGludCBUZXN0Q3B1RmxhZyhpbnQgdGVzdF9mbGFnKSB7CiAgIExJ
QllVVl9BUEkgZXh0ZXJuIGludCBjcHVfaW5mb187Ci0gIHJldHVybiAoIWNwdV9pbmZvXyA/IElu
aXRDcHVGbGFncygpIDogY3B1X2luZm9fKSAmIHRlc3RfZmxhZzsKKyNpZmRlZiBfX0FUT01JQ19S
RUxBWEVECisgIGludCBjcHVfaW5mbyA9IF9fYXRvbWljX2xvYWRfbigmY3B1X2luZm9fLCBfX0FU
T01JQ19SRUxBWEVEKTsKKyNlbHNlCisgIGludCBjcHVfaW5mbyA9IGNwdV9pbmZvXzsKKyNlbmRp
ZgorICByZXR1cm4gKCFjcHVfaW5mbyA/IEluaXRDcHVGbGFncygpIDogY3B1X2luZm8pICYgdGVz
dF9mbGFnOwogfQogCisvLyBJbnRlcm5hbCBmdW5jdGlvbiBmb3IgcGFyc2luZyAvcHJvYy9jcHVp
bmZvLgorTElCWVVWX0FQSQoraW50IEFybUNwdUNhcHMoY29uc3QgY2hhciogY3B1aW5mb19uYW1l
KTsKKwogLy8gRm9yIHRlc3RpbmcsIGFsbG93IENQVSBmbGFncyB0byBiZSBkaXNhYmxlZC4KIC8v
IGllIE1hc2tDcHVGbGFncyh+a0NwdUhhc1NTU0UzKSB0byBkaXNhYmxlIFNTU0UzLgogLy8gTWFz
a0NwdUZsYWdzKC0xKSB0byBlbmFibGUgYWxsIGNwdSBzcGVjaWZpYyBvcHRpbWl6YXRpb25zLgog
Ly8gTWFza0NwdUZsYWdzKDEpIHRvIGRpc2FibGUgYWxsIGNwdSBzcGVjaWZpYyBvcHRpbWl6YXRp
b25zLgorLy8gTWFza0NwdUZsYWdzKDApIHRvIHJlc2V0IHN0YXRlIHNvIG5leHQgY2FsbCB3aWxs
IGF1dG8gaW5pdC4KKy8vIFJldHVybnMgY3B1X2luZm8gZmxhZ3MuCiBMSUJZVVZfQVBJCi12b2lk
IE1hc2tDcHVGbGFncyhpbnQgZW5hYmxlX2ZsYWdzKTsKK2ludCBNYXNrQ3B1RmxhZ3MoaW50IGVu
YWJsZV9mbGFncyk7CiAKIC8vIExvdyBsZXZlbCBjcHVpZCBmb3IgWDg2LiBSZXR1cm5zIHplcm9z
IG9uIG90aGVyIENQVXMuCiAvLyBlYXggaXMgdGhlIGluZm8gdHlwZSB0aGF0IHlvdSB3YW50Lgog
Ly8gZWN4IGlzIHR5cGljYWxseSB0aGUgY3B1IG51bWJlciwgYW5kIHNob3VsZCBub3JtYWxseSBi
ZSB6ZXJvLgogTElCWVVWX0FQSQotdm9pZCBDcHVJZCh1aW50MzIgZWF4LCB1aW50MzIgZWN4LCB1
aW50MzIqIGNwdV9pbmZvKTsKK3ZvaWQgQ3B1SWQoaW50IGVheCwgaW50IGVjeCwgaW50KiBjcHVf
aW5mbyk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfSAgLy8gZXh0ZXJuICJDIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
aW5jbHVkZS9saWJ5dXYvbWFjcm9zX21zYS5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvbWFjcm9zX21zYS5oCmlu
ZGV4IDhhODFlODIxM2FmYmEzODczN2UxZDhkZWY1MmFjN2M0N2IyNTEzOWYuLjYxYmUzNTJlM2Fm
NzRiN2U1YjAwMjA4MDBmNTcyNjM1YzFmZWU2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L21h
Y3Jvc19tc2EuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9tYWNyb3NfbXNhLmgKQEAgLTEyLDE1ICsxMiwx
NDAgQEAKICNkZWZpbmUgSU5DTFVERV9MSUJZVVZfTUFDUk9TX01TQV9IXwogCiAjaWYgIWRlZmlu
ZWQoTElCWVVWX0RJU0FCTEVfTVNBKSAmJiBkZWZpbmVkKF9fbWlwc19tc2EpCi0jaW5jbHVkZSA8
c3RkaW50Lmg+CiAjaW5jbHVkZSA8bXNhLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpZiAo
X19taXBzX2lzYV9yZXYgPj0gNikKKyNkZWZpbmUgTFcocHNyYykgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIHVpbnQ4KiBwc3JjX2x3X20gPSAodWludDgqKShwc3JjKTsg
LyogTk9MSU5UICovIFwKKyAgICB1aW50MzIgdmFsX207ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgYXNtIHZvbGF0aWxlKCJsdyAgJVt2YWxfbV0sICAlW3BzcmNfbHdf
bV0gIFxuIiAgXAorICAgICAgICAgICAgICAgICA6IFt2YWxfbV0gIj1yIih2YWxfbSkgICAgICAg
ICAgICAgIFwKKyAgICAgICAgICAgICAgICAgOiBbcHNyY19sd19tXSAibSIoKnBzcmNfbHdfbSkp
OyAgICBcCisgICAgdmFsX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICB9KQorCisjaWYgKF9fbWlwcyA9PSA2NCkKKyNkZWZpbmUgTEQocHNyYykgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVpbnQ4KiBwc3JjX2xkX20gPSAodWlu
dDgqKShwc3JjKTsgLyogTk9MSU5UICovIFwKKyAgICB1aW50NjQgdmFsX20gPSAwOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNtIHZvbGF0aWxlKCJsZCAgJVt2YWxfbV0s
ICAlW3BzcmNfbGRfbV0gIFxuIiAgXAorICAgICAgICAgICAgICAgICA6IFt2YWxfbV0gIj1yIih2
YWxfbSkgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgOiBbcHNyY19sZF9tXSAibSIo
KnBzcmNfbGRfbSkpOyAgICBcCisgICAgdmFsX207ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICB9KQorI2Vsc2UgIC8vICEoX19taXBzID09IDY0KQorI2RlZmlu
ZSBMRChwc3JjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50OCogcHNyY19sZF9tID0gKHVpbnQ4
KikocHNyYyk7IC8qIE5PTElOVCAqLyAgICAgICAgICAgICAgICAgICAgXAorICAgIHVpbnQzMiB2
YWwwX20sIHZhbDFfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgdWludDY0IHZhbF9tID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICB2YWwwX20gPSBMVyhwc3JjX2xkX20pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHZhbDFfbSA9IExXKHBz
cmNfbGRfbSArIDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgdmFsX20gPSAodWludDY0KSh2YWwxX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogTk9MSU5UICovIFwKKyAgICB2YWxfbSA9ICh1aW50NjQpKCh2YWxfbSA8PCAzMikgJiAweEZG
RkZGRkZGMDAwMDAwMDApOyAvKiBOT0xJTlQgKi8gXAorICAgIHZhbF9tID0gKHVpbnQ2NCkodmFs
X20gfCAodWludDY0KXZhbDBfbSk7ICAgICAgICAgICAgIC8qIE5PTElOVCAqLyBcCisgICAgdmFs
X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgfSkKKyNlbmRpZiAgLy8gKF9fbWlwcyA9PSA2NCkKKworI2RlZmluZSBTVyh2
YWwsIHBkc3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50
OF90KiBwZHN0X3N3X20gPSAodWludDhfdCopKHBkc3QpOyAvKiBOT0xJTlQgKi8gXAorICAgIHVp
bnQzMl90IHZhbF9tID0gKHZhbCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
YXNtIHZvbGF0aWxlKCJzdyAgJVt2YWxfbV0sICAlW3Bkc3Rfc3dfbV0gIFxuIiAgICAgIFwKKyAg
ICAgICAgICAgICAgICAgOiBbcGRzdF9zd19tXSAiPW0iKCpwZHN0X3N3X20pICAgICAgICAgXAor
ICAgICAgICAgICAgICAgICA6IFt2YWxfbV0gInIiKHZhbF9tKSk7ICAgICAgICAgICAgICAgICBc
CisgIH0pCisKKyNpZiAoX19taXBzID09IDY0KQorI2RlZmluZSBTRCh2YWwsIHBkc3QpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50OF90KiBwZHN0X3NkX20g
PSAodWludDhfdCopKHBkc3QpOyAvKiBOT0xJTlQgKi8gXAorICAgIHVpbnQ2NF90IHZhbF9tID0g
KHZhbCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNtIHZvbGF0aWxlKCJz
ZCAgJVt2YWxfbV0sICAlW3Bkc3Rfc2RfbV0gIFxuIiAgICAgIFwKKyAgICAgICAgICAgICAgICAg
OiBbcGRzdF9zZF9tXSAiPW0iKCpwZHN0X3NkX20pICAgICAgICAgXAorICAgICAgICAgICAgICAg
ICA6IFt2YWxfbV0gInIiKHZhbF9tKSk7ICAgICAgICAgICAgICAgICBcCisgIH0pCisjZWxzZSAg
Ly8gIShfX21pcHMgPT0gNjQpCisjZGVmaW5lIFNEKHZhbCwgcGRzdCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAoeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50OF90KiBwZHN0X3NkX20g
PSAodWludDhfdCopKHBkc3QpOyAvKiBOT0xJTlQgKi8gICAgICBcCisgICAgdWludDMyX3QgdmFs
MF9tLCB2YWwxX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHZhbDBf
bSA9ICh1aW50MzJfdCkoKHZhbCkmMHgwMDAwMDAwMEZGRkZGRkZGKTsgICAgICAgICAgIFwKKyAg
ICB2YWwxX20gPSAodWludDMyX3QpKCgodmFsKSA+PiAzMikgJiAweDAwMDAwMDAwRkZGRkZGRkYp
OyBcCisgICAgU1codmFsMF9tLCBwZHN0X3NkX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIFNXKHZhbDFfbSwgcGRzdF9zZF9tICsgNCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgfSkKKyNlbmRpZiAgLy8gIShfX21pcHMgPT0gNjQpCisjZWxz
ZSAgIC8vICEoX19taXBzX2lzYV9yZXYgPj0gNikKKyNkZWZpbmUgTFcocHNyYykgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVpbnQ4KiBwc3JjX2x3X20gPSAodWludDgq
KShwc3JjKTsgLyogTk9MSU5UICovIFwKKyAgICB1aW50MzIgdmFsX207ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNtIHZvbGF0aWxlKCJ1bHcgICVbdmFsX21dLCAg
JVtwc3JjX2x3X21dICBcbiIgXAorICAgICAgICAgICAgICAgICA6IFt2YWxfbV0gIj1yIih2YWxf
bSkgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgOiBbcHNyY19sd19tXSAibSIoKnBz
cmNfbHdfbSkpOyAgICBcCisgICAgdmFsX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICB9KQorCisjaWYgKF9fbWlwcyA9PSA2NCkKKyNkZWZpbmUgTEQocHNy
YykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVpbnQ4KiBwc3JjX2xk
X20gPSAodWludDgqKShwc3JjKTsgLyogTk9MSU5UICovIFwKKyAgICB1aW50NjQgdmFsX20gPSAw
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXNtIHZvbGF0aWxlKCJ1bGQg
ICVbdmFsX21dLCAgJVtwc3JjX2xkX21dICBcbiIgXAorICAgICAgICAgICAgICAgICA6IFt2YWxf
bV0gIj1yIih2YWxfbSkgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgOiBbcHNyY19s
ZF9tXSAibSIoKnBzcmNfbGRfbSkpOyAgICBcCisgICAgdmFsX207ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9KQorI2Vsc2UgIC8vICEoX19taXBzID09IDY0
KQorI2RlZmluZSBMRChwc3JjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50OCogcHNyY19sZF9t
ID0gKHVpbnQ4KikocHNyYyk7IC8qIE5PTElOVCAqLyAgICAgICAgICAgICAgICAgICAgXAorICAg
IHVpbnQzMiB2YWwwX20sIHZhbDFfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgdWludDY0IHZhbF9tID0gMDsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2YWwwX20gPSBMVyhwc3JjX2xkX20p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHZhbDFf
bSA9IExXKHBzcmNfbGRfbSArIDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgdmFsX20gPSAodWludDY0KSh2YWwxX20pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLyogTk9MSU5UICovIFwKKyAgICB2YWxfbSA9ICh1aW50NjQpKCh2YWxfbSA8PCAz
MikgJiAweEZGRkZGRkZGMDAwMDAwMDApOyAvKiBOT0xJTlQgKi8gXAorICAgIHZhbF9tID0gKHVp
bnQ2NCkodmFsX20gfCAodWludDY0KXZhbDBfbSk7ICAgICAgICAgICAgIC8qIE5PTElOVCAqLyBc
CisgICAgdmFsX207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgfSkKKyNlbmRpZiAgLy8gKF9fbWlwcyA9PSA2NCkKKworI2Rl
ZmluZSBTVyh2YWwsIHBkc3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICB1aW50OF90KiBwZHN0X3N3X20gPSAodWludDhfdCopKHBkc3QpOyAvKiBOT0xJTlQgKi8g
XAorICAgIHVpbnQzMl90IHZhbF9tID0gKHZhbCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgYXNtIHZvbGF0aWxlKCJ1c3cgICVbdmFsX21dLCAgJVtwZHN0X3N3X21dICBcbiIg
ICAgIFwKKyAgICAgICAgICAgICAgICAgOiBbcGRzdF9zd19tXSAiPW0iKCpwZHN0X3N3X20pICAg
ICAgICAgXAorICAgICAgICAgICAgICAgICA6IFt2YWxfbV0gInIiKHZhbF9tKSk7ICAgICAgICAg
ICAgICAgICBcCisgIH0pCiAKLSNkZWZpbmUgTERfQihSVFlQRSwgcHNyYykgKigoUlRZUEUqKShw
c3JjKSkgICAvKiBOT0xJTlQgKi8KKyNkZWZpbmUgU0QodmFsLCBwZHN0KSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICh7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVpbnQ4X3QqIHBkc3Rfc2Rf
bSA9ICh1aW50OF90KikocGRzdCk7IC8qIE5PTElOVCAqLyAgICAgIFwKKyAgICB1aW50MzJfdCB2
YWwwX20sIHZhbDFfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdmFs
MF9tID0gKHVpbnQzMl90KSgodmFsKSYweDAwMDAwMDAwRkZGRkZGRkYpOyAgICAgICAgICAgXAor
ICAgIHZhbDFfbSA9ICh1aW50MzJfdCkoKCh2YWwpID4+IDMyKSAmIDB4MDAwMDAwMDBGRkZGRkZG
Rik7IFwKKyAgICBTVyh2YWwwX20sIHBkc3Rfc2RfbSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgU1codmFsMV9tLCBwZHN0X3NkX20gKyA0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICB9KQorI2VuZGlmICAvLyAoX19taXBzX2lzYV9yZXYgPj0g
NikKKworLy8gVE9ETyhmYmFyY2hhcmQpOiBDb25zaWRlciByZW1vdmluZyBfX1ZBUl9BUkdTIHZl
cnNpb25zLgorI2RlZmluZSBMRF9CKFJUWVBFLCBwc3JjKSAqKChSVFlQRSopKHBzcmMpKSAvKiBO
T0xJTlQgKi8KICNkZWZpbmUgTERfVUIoLi4uKSBMRF9CKHYxNnU4LCBfX1ZBX0FSR1NfXykKIAot
I2RlZmluZSBTVF9CKFJUWVBFLCBpbiwgcGRzdCkgKigoUlRZUEUqKShwZHN0KSkgPSAoaW4pICAv
KiBOT0xJTlQgKi8KKyNkZWZpbmUgU1RfQihSVFlQRSwgaW4sIHBkc3QpICooKFJUWVBFKikocGRz
dCkpID0gKGluKSAvKiBOT0xJTlQgKi8KICNkZWZpbmUgU1RfVUIoLi4uKSBTVF9CKHYxNnU4LCBf
X1ZBX0FSR1NfXykKIAorI2RlZmluZSBTVF9IKFJUWVBFLCBpbiwgcGRzdCkgKigoUlRZUEUqKShw
ZHN0KSkgPSAoaW4pIC8qIE5PTElOVCAqLworI2RlZmluZSBTVF9VSCguLi4pIFNUX0godjh1MTYs
IF9fVkFfQVJHU19fKQorCiAvKiBEZXNjcmlwdGlvbiA6IExvYWQgdHdvIHZlY3RvcnMgd2l0aCAx
NiAnYnl0ZScgc2l6ZWQgZWxlbWVudHMKICAgIEFyZ3VtZW50cyAgIDogSW5wdXRzICAtIHBzcmMs
IHN0cmlkZQogICAgICAgICAgICAgICAgICBPdXRwdXRzIC0gb3V0MCwgb3V0MQpAQCAtMjgsMTYg
KzE1MywxOCBAQAogICAgRGV0YWlscyAgICAgOiBMb2FkIDE2IGJ5dGUgZWxlbWVudHMgaW4gJ291
dDAnIGZyb20gKHBzcmMpCiAgICAgICAgICAgICAgICAgIExvYWQgMTYgYnl0ZSBlbGVtZW50cyBp
biAnb3V0MScgZnJvbSAocHNyYyArIHN0cmlkZSkKICovCi0jZGVmaW5lIExEX0IyKFJUWVBFLCBw
c3JjLCBzdHJpZGUsIG91dDAsIG91dDEpIHsgIFwKLSAgb3V0MCA9IExEX0IoUlRZUEUsIChwc3Jj
KSk7ICAgICAgICAgICAgICAgICAgICAgXAotICBvdXQxID0gTERfQihSVFlQRSwgKHBzcmMpICsg
c3RyaWRlKTsgICAgICAgICAgICBcCi19CisjZGVmaW5lIExEX0IyKFJUWVBFLCBwc3JjLCBzdHJp
ZGUsIG91dDAsIG91dDEpIFwKKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIG91dDAgPSBMRF9CKFJUWVBFLCAocHNyYykpOyAgICAgICAgICAgICAg
ICBcCisgICAgb3V0MSA9IExEX0IoUlRZUEUsIChwc3JjKSArIHN0cmlkZSk7ICAgICAgIFwKKyAg
fQogI2RlZmluZSBMRF9VQjIoLi4uKSBMRF9CMih2MTZ1OCwgX19WQV9BUkdTX18pCiAKLSNkZWZp
bmUgTERfQjQoUlRZUEUsIHBzcmMsIHN0cmlkZSwgb3V0MCwgb3V0MSwgb3V0Miwgb3V0MykgeyAg
XAotICBMRF9CMihSVFlQRSwgKHBzcmMpLCBzdHJpZGUsIG91dDAsIG91dDEpOyAgICAgICAgICAg
ICAgICAgICBcCi0gIExEX0IyKFJUWVBFLCAocHNyYykgKyAyICogc3RyaWRlICwgc3RyaWRlLCBv
dXQyLCBvdXQzKTsgICAgIFwKLX0KKyNkZWZpbmUgTERfQjQoUlRZUEUsIHBzcmMsIHN0cmlkZSwg
b3V0MCwgb3V0MSwgb3V0Miwgb3V0MykgXAorICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgTERfQjIoUlRZUEUsIChwc3JjKSwg
c3RyaWRlLCBvdXQwLCBvdXQxKTsgICAgICAgICAgICAgIFwKKyAgICBMRF9CMihSVFlQRSwgKHBz
cmMpICsgMiAqIHN0cmlkZSwgc3RyaWRlLCBvdXQyLCBvdXQzKTsgXAorICB9CiAjZGVmaW5lIExE
X1VCNCguLi4pIExEX0I0KHYxNnU4LCBfX1ZBX0FSR1NfXykKIAogLyogRGVzY3JpcHRpb24gOiBT
dG9yZSB0d28gdmVjdG9ycyB3aXRoIHN0cmlkZSBlYWNoIGhhdmluZyAxNiAnYnl0ZScgc2l6ZWQK
QEAgLTQ2LDE4ICsxNzMsMzMgQEAKICAgIERldGFpbHMgICAgIDogU3RvcmUgMTYgYnl0ZSBlbGVt
ZW50cyBmcm9tICdpbjAnIHRvIChwZHN0KQogICAgICAgICAgICAgICAgICBTdG9yZSAxNiBieXRl
IGVsZW1lbnRzIGZyb20gJ2luMScgdG8gKHBkc3QgKyBzdHJpZGUpCiAqLwotI2RlZmluZSBTVF9C
MihSVFlQRSwgaW4wLCBpbjEsIHBkc3QsIHN0cmlkZSkgeyAgXAotICBTVF9CKFJUWVBFLCBpbjAs
IChwZHN0KSk7ICAgICAgICAgICAgICAgICAgICAgXAotICBTVF9CKFJUWVBFLCBpbjEsIChwZHN0
KSArIHN0cmlkZSk7ICAgICAgICAgICAgXAotfQorI2RlZmluZSBTVF9CMihSVFlQRSwgaW4wLCBp
bjEsIHBkc3QsIHN0cmlkZSkgXAorICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIFNUX0IoUlRZUEUsIGluMCwgKHBkc3QpKTsgICAgICAgICAgICAgICAg
XAorICAgIFNUX0IoUlRZUEUsIGluMSwgKHBkc3QpICsgc3RyaWRlKTsgICAgICAgXAorICB9CiAj
ZGVmaW5lIFNUX1VCMiguLi4pIFNUX0IyKHYxNnU4LCBfX1ZBX0FSR1NfXykKLSMKLSNkZWZpbmUg
U1RfQjQoUlRZUEUsIGluMCwgaW4xLCBpbjIsIGluMywgcGRzdCwgc3RyaWRlKSB7ICBcCi0gIFNU
X0IyKFJUWVBFLCBpbjAsIGluMSwgKHBkc3QpLCBzdHJpZGUpOyAgICAgICAgICAgICAgICAgXAot
ICBTVF9CMihSVFlQRSwgaW4yLCBpbjMsIChwZHN0KSArIDIgKiBzdHJpZGUsIHN0cmlkZSk7ICAg
IFwKLX0KKworI2RlZmluZSBTVF9CNChSVFlQRSwgaW4wLCBpbjEsIGluMiwgaW4zLCBwZHN0LCBz
dHJpZGUpICAgXAorICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIFNUX0IyKFJUWVBFLCBpbjAsIGluMSwgKHBkc3QpLCBzdHJpZGUp
OyAgICAgICAgICAgICAgXAorICAgIFNUX0IyKFJUWVBFLCBpbjIsIGluMywgKHBkc3QpICsgMiAq
IHN0cmlkZSwgc3RyaWRlKTsgXAorICB9CiAjZGVmaW5lIFNUX1VCNCguLi4pIFNUX0I0KHYxNnU4
LCBfX1ZBX0FSR1NfXykKLSMKKworLyogRGVzY3JpcHRpb24gOiBTdG9yZSB2ZWN0b3JzIG9mIDgg
aGFsZndvcmQgZWxlbWVudHMgd2l0aCBzdHJpZGUKKyAgIEFyZ3VtZW50cyAgIDogSW5wdXRzIC0g
aW4wLCBpbjEsIHBkc3QsIHN0cmlkZQorICAgRGV0YWlscyAgICAgOiBTdG9yZSA4IGhhbGZ3b3Jk
IGVsZW1lbnRzIGZyb20gJ2luMCcgdG8gKHBkc3QpCisgICAgICAgICAgICAgICAgIFN0b3JlIDgg
aGFsZndvcmQgZWxlbWVudHMgZnJvbSAnaW4xJyB0byAocGRzdCArIHN0cmlkZSkKKyovCisjZGVm
aW5lIFNUX0gyKFJUWVBFLCBpbjAsIGluMSwgcGRzdCwgc3RyaWRlKSBcCisgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgU1RfSChSVFlQRSwgaW4wLCAo
cGRzdCkpOyAgICAgICAgICAgICAgICBcCisgICAgU1RfSChSVFlQRSwgaW4xLCAocGRzdCkgKyBz
dHJpZGUpOyAgICAgICBcCisgIH0KKyNkZWZpbmUgU1RfVUgyKC4uLikgU1RfSDIodjh1MTYsIF9f
VkFfQVJHU19fKQorCisvLyBUT0RPKGZiYXJjaGFyZCk6IENvbnNpZGVyIHVzaW5nIF9fbXNhX3Zz
aGZfYiBhbmQgX19tc2FfaWx2cl9iIGRpcmVjdGx5LgogLyogRGVzY3JpcHRpb24gOiBTaHVmZmxl
IGJ5dGUgdmVjdG9yIGVsZW1lbnRzIGFzIHBlciBtYXNrIHZlY3RvcgogICAgQXJndW1lbnRzICAg
OiBJbnB1dHMgIC0gaW4wLCBpbjEsIGluMiwgaW4zLCBtYXNrMCwgbWFzazEKICAgICAgICAgICAg
ICAgICAgT3V0cHV0cyAtIG91dDAsIG91dDEKQEAgLTY1LDEwICsyMDcsMTEgQEAKICAgIERldGFp
bHMgICAgIDogQnl0ZSBlbGVtZW50cyBmcm9tICdpbjAnICYgJ2luMScgYXJlIGNvcGllZCBzZWxl
Y3RpdmVseSB0bwogICAgICAgICAgICAgICAgICAnb3V0MCcgYXMgcGVyIGNvbnRyb2wgdmVjdG9y
ICdtYXNrMCcKICovCi0jZGVmaW5lIFZTSEZfQjIoUlRZUEUsIGluMCwgaW4xLCBpbjIsIGluMywg
bWFzazAsIG1hc2sxLCBvdXQwLCBvdXQxKSB7ICAgXAotICBvdXQwID0gKFJUWVBFKSBfX21zYV92
c2hmX2IoKHYxNmk4KSBtYXNrMCwgKHYxNmk4KSBpbjEsICh2MTZpOCkgaW4wKTsgIFwKLSAgb3V0
MSA9IChSVFlQRSkgX19tc2FfdnNoZl9iKCh2MTZpOCkgbWFzazEsICh2MTZpOCkgaW4zLCAodjE2
aTgpIGluMik7ICBcCi19CisjZGVmaW5lIFZTSEZfQjIoUlRZUEUsIGluMCwgaW4xLCBpbjIsIGlu
MywgbWFzazAsIG1hc2sxLCBvdXQwLCBvdXQxKSAgXAorICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBvdXQw
ID0gKFJUWVBFKV9fbXNhX3ZzaGZfYigodjE2aTgpbWFzazAsICh2MTZpOClpbjEsICh2MTZpOClp
bjApOyBcCisgICAgb3V0MSA9IChSVFlQRSlfX21zYV92c2hmX2IoKHYxNmk4KW1hc2sxLCAodjE2
aTgpaW4zLCAodjE2aTgpaW4yKTsgXAorICB9CiAjZGVmaW5lIFZTSEZfQjJfVUIoLi4uKSBWU0hG
X0IyKHYxNnU4LCBfX1ZBX0FSR1NfXykKIAogLyogRGVzY3JpcHRpb24gOiBJbnRlcmxlYXZlIGJv
dGggbGVmdCBhbmQgcmlnaHQgaGFsZiBvZiBpbnB1dCB2ZWN0b3JzCkBAIC03OCwxMiArMjIxLDEz
IEBACiAgICBEZXRhaWxzICAgICA6IFJpZ2h0IGhhbGYgb2YgYnl0ZSBlbGVtZW50cyBmcm9tICdp
bjAnIGFuZCAnaW4xJyBhcmUKICAgICAgICAgICAgICAgICAgaW50ZXJsZWF2ZWQgYW5kIHdyaXR0
ZW4gdG8gJ291dDAnCiAqLwotI2RlZmluZSBJTFZSTF9CMihSVFlQRSwgaW4wLCBpbjEsIG91dDAs
IG91dDEpIHsgICAgICAgICAgIFwKLSAgb3V0MCA9IChSVFlQRSkgX19tc2FfaWx2cl9iKCh2MTZp
OCkgaW4wLCAodjE2aTgpIGluMSk7ICBcCi0gIG91dDEgPSAoUlRZUEUpIF9fbXNhX2lsdmxfYigo
djE2aTgpIGluMCwgKHYxNmk4KSBpbjEpOyAgXAotfQorI2RlZmluZSBJTFZSTF9CMihSVFlQRSwg
aW4wLCBpbjEsIG91dDAsIG91dDEpICAgICAgICAgICBcCisgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBvdXQwID0gKFJUWVBFKV9f
bXNhX2lsdnJfYigodjE2aTgpaW4wLCAodjE2aTgpaW4xKTsgXAorICAgIG91dDEgPSAoUlRZUEUp
X19tc2FfaWx2bF9iKCh2MTZpOClpbjAsICh2MTZpOClpbjEpOyBcCisgIH0KICNkZWZpbmUgSUxW
UkxfQjJfVUIoLi4uKSBJTFZSTF9CMih2MTZ1OCwgX19WQV9BUkdTX18pCiAKLSNlbmRpZiAgLyog
IWRlZmluZWQoTElCWVVWX0RJU0FCTEVfTVNBKSAmJiBkZWZpbmVkKF9fbWlwc19tc2EpICovCisj
ZW5kaWYgLyogIWRlZmluZWQoTElCWVVWX0RJU0FCTEVfTVNBKSAmJiBkZWZpbmVkKF9fbWlwc19t
c2EpICovCiAKICNlbmRpZiAgLy8gSU5DTFVERV9MSUJZVVZfTUFDUk9TX01TQV9IXwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvaW5jbHVkZS9saWJ5dXYvbWpwZWdfZGVjb2Rlci5oIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvbWpwZWdfZGVj
b2Rlci5oCmluZGV4IGQ2NTRlZTA2YWUxNzRhZGFiZDMxODRhYWRkMGEwZjY5MjA0YjdhMzguLjhh
NGYyODIyMDViOTYxOGQ1NGViNjY3NDZhNDIwZWM2MWJjNDYzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUv
bGlieXV2L21qcGVnX2RlY29kZXIuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9tanBlZ19kZWNvZGVyLmgK
QEAgLTE0NCwxMiArMTQ0LDE2IEBAIGNsYXNzIExJQllVVl9BUEkgTUpwZWdEZWNvZGVyIHsKICAg
Ly8gY2FsbGJhY2sgZnVuY3Rpb24uIEVhY2ggY2FsbCB3aWxsIGdldCB0aGUgZGF0YSBmb3IgYSB3
aG9sZSBudW1iZXIgb2YKICAgLy8gaW1hZ2Ugc2NhbmxpbmVzLgogICAvLyBUT0RPKGZiYXJjaGFy
ZCk6IEFkZCBkc3RfeCwgZHN0X3kgdG8gYWxsb3cgc3BlY2lmaWMgcmVjdCB0byBiZSBkZWNvZGVk
LgotICBMSUJZVVZfQk9PTCBEZWNvZGVUb0NhbGxiYWNrKENhbGxiYWNrRnVuY3Rpb24gZm4sIHZv
aWQqIG9wYXF1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBk
c3RfaGVpZ2h0KTsKKyAgTElCWVVWX0JPT0wgRGVjb2RlVG9DYWxsYmFjayhDYWxsYmFja0Z1bmN0
aW9uIGZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQqIG9wYXF1ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0KTsKIAogICAvLyBUaGUgaGVscGVyIGZ1
bmN0aW9uIHdoaWNoIHJlY29nbml6ZXMgdGhlIGpwZWcgc3ViLXNhbXBsaW5nIHR5cGUuCiAgIHN0
YXRpYyBKcGVnU3Vic2FtcGxpbmdUeXBlIEpwZWdTdWJzYW1wbGluZ1R5cGVIZWxwZXIoCi0gICAg
IGludCogc3Vic2FtcGxlX3gsIGludCogc3Vic2FtcGxlX3ksIGludCBudW1iZXJfb2ZfY29tcG9u
ZW50cyk7CisgICAgICBpbnQqIHN1YnNhbXBsZV94LAorICAgICAgaW50KiBzdWJzYW1wbGVfeSwK
KyAgICAgIGludCBudW1iZXJfb2ZfY29tcG9uZW50cyk7CiAKICBwcml2YXRlOgogICB2b2lkIEFs
bG9jT3V0cHV0QnVmZmVycyhpbnQgbnVtX291dGJ1ZnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5
dXYvcGxhbmFyX2Z1bmN0aW9ucy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvcGxhbmFyX2Z1bmN0aW9ucy5oCmlu
ZGV4IDEwOThkZDY0Y2MwMTczN2VjYzA2YzVkOTU4NmZmZDVkMDVlMmQ5M2QuLjA0MDgzOWMyMTFi
MTI3ZjhmYTA4MzM4M2M4MWE2NzUyMTViN2I4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3Bs
YW5hcl9mdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9wbGFuYXJfZnVuY3Rpb25zLmgKQEAg
LTI0LDEwNSArMjQsMTY0IEBAIGV4dGVybiAiQyIgewogCiAvLyBDb3B5IGEgcGxhbmUgb2YgZGF0
YS4KIExJQllVVl9BUEkKLXZvaWQgQ29weVBsYW5lKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNy
Y19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVf
eSwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7Cit2b2lkIENvcHlQbGFu
ZShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfeSwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWln
aHQpOwogCiBMSUJZVVZfQVBJCi12b2lkIENvcHlQbGFuZV8xNihjb25zdCB1aW50MTYqIHNyY195
LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3RfeSwgaW50
IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7
Cit2b2lkIENvcHlQbGFuZV8xNihjb25zdCB1aW50MTYqIHNyY195LAorICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0X3ksCisg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoLAorICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIFNldCBhIHBsYW5l
IG9mIGRhdGEgdG8gYSAzMiBiaXQgdmFsdWUuCiBMSUJZVVZfQVBJCi12b2lkIFNldFBsYW5lKHVp
bnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0LAordm9pZCBTZXRQbGFuZSh1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgIGlu
dCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAg
aW50IGhlaWdodCwKICAgICAgICAgICAgICAgdWludDMyIHZhbHVlKTsKIAogLy8gU3BsaXQgaW50
ZXJsZWF2ZWQgVVYgcGxhbmUgaW50byBzZXBhcmF0ZSBVIGFuZCBWIHBsYW5lcy4KIExJQllVVl9B
UEkKLXZvaWQgU3BsaXRVVlBsYW5lKGNvbnN0IHVpbnQ4KiBzcmNfdXYsIGludCBzcmNfc3RyaWRl
X3V2LAotICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAot
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK3ZvaWQgU3BsaXRVVlBsYW5lKGNv
bnN0IHVpbnQ4KiBzcmNfdXYsCisgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91diwK
KyAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAor
ICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIE1lcmdlIHNlcGFyYXRlIFUgYW5k
IFYgcGxhbmVzIGludG8gb25lIGludGVybGVhdmVkIFVWIHBsYW5lLgogTElCWVVWX0FQSQotdm9p
ZCBNZXJnZVVWUGxhbmUoY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91diwgaW50IGRzdF9zdHJpZGVfdXYsCi0gICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwordm9pZCBNZXJnZVVWUGxhbmUoY29u
c3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LAorICAgICAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdXYsCisgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgsCisgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29weSBJNDAwLiAgU3Vw
cG9ydHMgaW52ZXJ0aW5nLgogTElCWVVWX0FQSQotaW50IEk0MDBUb0k0MDAoY29uc3QgdWludDgq
IHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBp
bnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsK
K2ludCBJNDAwVG9JNDAwKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAg
ICAgICAgaW50IGhlaWdodCk7CiAKICNkZWZpbmUgSjQwMFRvSjQwMCBJNDAwVG9JNDAwCiAKIC8v
IENvcHkgSTQyMiB0byBJNDIyLgogI2RlZmluZSBJNDIyVG9JNDIyIEk0MjJDb3B5CiBMSUJZVVZf
QVBJCi1pbnQgSTQyMkNvcHkoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAot
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAg
ICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBk
c3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJ
NDIyQ29weShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
eSwKKyAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfdSwKKyAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvcHkgSTQ0NCB0byBJNDQ0LgogI2RlZmlu
ZSBJNDQ0VG9JNDQ0IEk0NDRDb3B5CiBMSUJZVVZfQVBJCi1pbnQgSTQ0NENvcHkoY29uc3QgdWlu
dDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Ys
IGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0
cmlkZV95LAotICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAg
ICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAg
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJNDQ0Q29weShjb25zdCB1aW50OCogc3JjX3ks
CisgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsCisgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAg
ICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAg
ICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwK
KyAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVf
diwKKyAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAK
IC8vIENvbnZlcnQgWVVZMiB0byBJNDIyLgogTElCWVVWX0FQSQotaW50IFlVWTJUb0k0MjIoY29u
c3QgdWludDgqIHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95dXkyLAotICAgICAgICAgICAgICAg
dWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQg
ZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2lu
dCBZVVkyVG9JNDIyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX3l1eTIsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAg
ICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
diwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBpbnQg
d2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBVWVZZIHRv
IEk0MjIuCiBMSUJZVVZfQVBJCi1pbnQgVVlWWVRvSTQyMihjb25zdCB1aW50OCogc3JjX3V5dnks
IGludCBzcmNfc3RyaWRlX3V5dnksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBk
c3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRl
X3UsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAg
ICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwotCi1MSUJZVVZfQVBJCi1pbnQgWVVZ
MlRvTlYxMihjb25zdCB1aW50OCogc3JjX3l1eTIsIGludCBzcmNfc3RyaWRlX3l1eTIsCi0gICAg
ICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAg
ICB1aW50OCogZHN0X3V2LCBpbnQgZHN0X3N0cmlkZV91diwKLSAgICAgICAgICAgICAgIGludCB3
aWR0aCwgaW50IGhlaWdodCk7Ci0KLUxJQllVVl9BUEkKLWludCBVWVZZVG9OVjEyKGNvbnN0IHVp
bnQ4KiBzcmNfdXl2eSwgaW50IHNyY19zdHJpZGVfdXl2eSwKLSAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXYs
IGludCBkc3Rfc3RyaWRlX3V2LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
KTsKLQotTElCWVVWX0FQSQotaW50IFlVWTJUb1koY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQg
c3JjX3N0cmlkZV95dXkyLAotICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJp
ZGVfeSwKLSAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IFVZVllUb0k0
MjIoY29uc3QgdWludDgqIHNyY191eXZ5LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
dXl2eSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgIGludCBoZWlnaHQpOworCitMSUJZVVZfQVBJCitpbnQgWVVZMlRvTlYxMihj
b25zdCB1aW50OCogc3JjX3l1eTIsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95dXky
LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXYsCisgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV91diwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAg
ICAgIGludCBoZWlnaHQpOworCitMSUJZVVZfQVBJCitpbnQgVVlWWVRvTlYxMihjb25zdCB1aW50
OCogc3JjX3V5dnksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91eXZ5LAorICAgICAg
ICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwK
KyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXYsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV91diwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBo
ZWlnaHQpOworCitMSUJZVVZfQVBJCitpbnQgWVVZMlRvWShjb25zdCB1aW50OCogc3JjX3l1eTIs
CisgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95dXkyLAorICAgICAgICAgICAgdWludDgqIGRz
dF95LAorICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgIGludCB3aWR0
aCwKKyAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IEk0MjAgdG8gSTQwMC4g
KGNhbGxzIENvcHlQbGFuZSBpZ25vcmluZyB1L3YpLgogTElCWVVWX0FQSQotaW50IEk0MjBUb0k0
MDAoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgq
IGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0KTsKK2ludCBJNDIwVG9JNDAwKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Us
CisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAog
Ly8gQWxpYXMKICNkZWZpbmUgSjQyMFRvSjQwMCBJNDIwVG9JNDAwCkBAIC0xMzAsMTMgKzE4OSwy
MCBAQCBpbnQgSTQyMFRvSTQwMChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ks
CiAKIC8vIEk0MjAgbWlycm9yLgogTElCWVVWX0FQSQotaW50IEk0MjBNaXJyb3IoY29uc3QgdWlu
dDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQg
ZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlk
ZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAg
ICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJNDIwTWlycm9yKGNvbnN0
IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgdWludDgqIGRz
dF92LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBBbGlhcwogI2RlZmlu
ZSBJNDAwVG9JNDAwTWlycm9yIEk0MDBNaXJyb3IKQEAgLTE0NCw4NyArMjEwLDEzOSBAQCBpbnQg
STQyME1pcnJvcihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAvLyBJNDAw
IG1pcnJvci4gIEEgc2luZ2xlIHBsYW5lIGlzIG1pcnJvcmVkIGhvcml6b250YWxseS4KIC8vIFBh
c3MgbmVnYXRpdmUgaGVpZ2h0IHRvIGFjaGlldmUgMTgwIGRlZ3JlZSByb3RhdGlvbi4KIExJQllV
Vl9BUEkKLWludCBJNDAwTWlycm9yKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVf
eSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAg
ICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgSTQwME1pcnJvcihjb25zdCB1
aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAg
ICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAg
ICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAv
LyBBbGlhcwogI2RlZmluZSBBUkdCVG9BUkdCTWlycm9yIEFSR0JNaXJyb3IKIAogLy8gQVJHQiBt
aXJyb3IuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQk1pcnJvcihjb25zdCB1aW50OCogc3JjX2FyZ2Is
IGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGlu
dCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
OworaW50IEFSR0JNaXJyb3IoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgd2lk
dGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQ29udmVydCBOVjEyIHRvIFJH
QjU2NS4KIExJQllVVl9BUEkKLWludCBOVjEyVG9SR0I1NjUoY29uc3QgdWludDgqIHNyY195LCBp
bnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3V2LCBp
bnQgc3JjX3N0cmlkZV91diwKLSAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2I1NjUsIGlu
dCBkc3Rfc3RyaWRlX3JnYjU2NSwKLSAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0KTsKK2ludCBOVjEyVG9SR0I1NjUoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3V2LAorICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91diwKKyAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9yZ2I1NjUsCisgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3Jn
YjU2NSwKKyAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICBpbnQg
aGVpZ2h0KTsKIAogLy8gSTQyMlRvQVJHQiBpcyBpbiBjb252ZXJ0X2FyZ2IuaAogLy8gQ29udmVy
dCBJNDIyIHRvIEJHUkEuCiBMSUJZVVZfQVBJCi1pbnQgSTQyMlRvQkdSQShjb25zdCB1aW50OCog
c3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Ys
IGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2JncmEsIGludCBk
c3Rfc3RyaWRlX2JncmEsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwor
aW50IEk0MjJUb0JHUkEoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9iZ3JhLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYmdyYSwKKyAgICAg
ICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBD
b252ZXJ0IEk0MjIgdG8gQUJHUi4KIExJQllVVl9BUEkKLWludCBJNDIyVG9BQkdSKGNvbnN0IHVp
bnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYWJnciwg
aW50IGRzdF9zdHJpZGVfYWJnciwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdo
dCk7CitpbnQgSTQyMlRvQUJHUihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FiZ3IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hYmdyLAor
ICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAK
IC8vIENvbnZlcnQgSTQyMiB0byBSR0JBLgogTElCWVVWX0FQSQotaW50IEk0MjJUb1JHQkEoY29u
c3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9y
Z2JhLCBpbnQgZHN0X3N0cmlkZV9yZ2JhLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0KTsKK2ludCBJNDIyVG9SR0JBKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Us
CisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfcmdiYSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3Jn
YmEsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0
KTsKIAogLy8gQWxpYXMKICNkZWZpbmUgUkdCMjRUb1JBVyBSQVdUb1JHQjI0CiAKIExJQllVVl9B
UEkKLWludCBSQVdUb1JHQjI0KGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCBpbnQgc3JjX3N0cmlkZV9y
YXcsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYjI0LCBpbnQgZHN0X3N0cmlkZV9yZ2Iy
NCwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgUkFXVG9SR0Iy
NChjb25zdCB1aW50OCogc3JjX3JhdywKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3Jh
dywKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiMjQsCisgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV9yZ2IyNCwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAg
ICAgIGludCBoZWlnaHQpOwogCiAvLyBEcmF3IGEgcmVjdGFuZ2xlIGludG8gSTQyMC4KIExJQllV
Vl9BUEkKLWludCBJNDIwUmVjdCh1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAg
ICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICBpbnQgeCwgaW50IHks
IGludCB3aWR0aCwgaW50IGhlaWdodCwKLSAgICAgICAgICAgICBpbnQgdmFsdWVfeSwgaW50IHZh
bHVlX3UsIGludCB2YWx1ZV92KTsKK2ludCBJNDIwUmVjdCh1aW50OCogZHN0X3ksCisgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICBpbnQgeCwKKyAgICAg
ICAgICAgICBpbnQgeSwKKyAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgaW50
IGhlaWdodCwKKyAgICAgICAgICAgICBpbnQgdmFsdWVfeSwKKyAgICAgICAgICAgICBpbnQgdmFs
dWVfdSwKKyAgICAgICAgICAgICBpbnQgdmFsdWVfdik7CiAKIC8vIERyYXcgYSByZWN0YW5nbGUg
aW50byBBUkdCLgogTElCWVVWX0FQSQotaW50IEFSR0JSZWN0KHVpbnQ4KiBkc3RfYXJnYiwgaW50
IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICBpbnQgeCwgaW50IHksIGludCB3aWR0aCwg
aW50IGhlaWdodCwgdWludDMyIHZhbHVlKTsKK2ludCBBUkdCUmVjdCh1aW50OCogZHN0X2FyZ2Is
CisgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICBpbnQgeCwK
KyAgICAgICAgICAgICBpbnQgeSwKKyAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAg
ICAgaW50IGhlaWdodCwKKyAgICAgICAgICAgICB1aW50MzIgdmFsdWUpOwogCiAvLyBDb252ZXJ0
IEFSR0IgdG8gZ3JheSBzY2FsZSBBUkdCLgogTElCWVVWX0FQSQotaW50IEFSR0JHcmF5VG8oY29u
c3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50
IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBBUkdCR3JheVRvKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAg
ICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8v
IE1ha2UgYSByZWN0YW5nbGUgb2YgQVJHQiBncmF5IHNjYWxlLgogTElCWVVWX0FQSQotaW50IEFS
R0JHcmF5KHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAg
ICBpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQkdyYXkodWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAg
ICAgICAgaW50IHgsCisgICAgICAgICAgICAgaW50IHksCisgICAgICAgICAgICAgaW50IHdpZHRo
LAorICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBNYWtlIGEgcmVjdGFuZ2xlIG9mIEFS
R0IgU2VwaWEgdG9uZS4KIExJQllVVl9BUEkKLWludCBBUkdCU2VwaWEodWludDgqIGRzdF9hcmdi
LCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICBpbnQgeCwgaW50IHksIGludCB3
aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlNlcGlhKHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgaW50IHgsCisgICAg
ICAgICAgICAgIGludCB5LAorICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAg
IGludCBoZWlnaHQpOwogCiAvLyBBcHBseSBhIG1hdHJpeCByb3RhdGlvbiB0byBlYWNoIEFSR0Ig
cGl4ZWwuCiAvLyBtYXRyaXhfYXJnYiBpcyA0IHNpZ25lZCBBUkdCIHZhbHVlcy4gLTEyOCB0byAx
MjcgcmVwcmVzZW50aW5nIC0yIHRvIDIuCkBAIC0yMzMsMTAgKzM1MSwxMyBAQCBpbnQgQVJHQlNl
cGlhKHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKIC8vIFRoZSBuZXh0IDQg
Y29lZmZpY2llbnRzIGFwcGx5IHRvIEIsIEcsIFIsIEEgYW5kIHByb2R1Y2UgUiBvZiB0aGUgb3V0
cHV0LgogLy8gVGhlIGxhc3QgNCBjb2VmZmljaWVudHMgYXBwbHkgdG8gQiwgRywgUiwgQSBhbmQg
cHJvZHVjZSBBIG9mIHRoZSBvdXRwdXQuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQkNvbG9yTWF0cml4
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAoraW50IEFSR0JD
b2xvck1hdHJpeChjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50OCogbWF0cml4X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwgaW50IGhlaWdodCk7CisgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAg
ICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIERlcHJlY2F0ZWQuIFVzZSBBUkdCQ29s
b3JNYXRyaXggaW5zdGVhZC4KIC8vIEFwcGx5IGEgbWF0cml4IHJvdGF0aW9uIHRvIGVhY2ggQVJH
QiBwaXhlbC4KQEAgLTI0NSwzMiArMzY2LDQ3IEBAIGludCBBUkdCQ29sb3JNYXRyaXgoY29uc3Qg
dWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogLy8gVGhlIG5leHQgNCBjb2Vm
ZmljaWVudHMgYXBwbHkgdG8gQiwgRywgUiwgQSBhbmQgcHJvZHVjZSBHIG9mIHRoZSBvdXRwdXQu
CiAvLyBUaGUgbGFzdCA0IGNvZWZmaWNpZW50cyBhcHBseSB0byBCLCBHLCBSLCBBIGFuZCBwcm9k
dWNlIFIgb2YgdGhlIG91dHB1dC4KIExJQllVVl9BUEkKLWludCBSR0JDb2xvck1hdHJpeCh1aW50
OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCitpbnQgUkdCQ29sb3JNYXRyaXgodWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCiAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50OCogbWF0cml4X3JnYiwKLSAgICAgICAgICAgICAg
ICAgICBpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCk7CisgICAgICAgICAgICAg
ICAgICAgaW50IHgsCisgICAgICAgICAgICAgICAgICAgaW50IHksCisgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBBcHBs
eSBhIGNvbG9yIHRhYmxlIGVhY2ggQVJHQiBwaXhlbC4KIC8vIFRhYmxlIGNvbnRhaW5zIDI1NiBB
UkdCIHZhbHVlcy4KIExJQllVVl9BUEkKLWludCBBUkdCQ29sb3JUYWJsZSh1aW50OCogZHN0X2Fy
Z2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCitpbnQgQVJHQkNvbG9yVGFibGUodWludDgqIGRzdF9h
cmdiLAorICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHRhYmxlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgaW50
IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworICAgICAgICAgICAgICAgICAgIGlu
dCB4LAorICAgICAgICAgICAgICAgICAgIGludCB5LAorICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQXBwbHkgYSBjb2xv
ciB0YWJsZSBlYWNoIEFSR0IgcGl4ZWwgYnV0IHByZXNlcnZlIGRlc3RpbmF0aW9uIGFscGhhLgog
Ly8gVGFibGUgY29udGFpbnMgMjU2IEFSR0IgdmFsdWVzLgogTElCWVVWX0FQSQotaW50IFJHQkNv
bG9yVGFibGUodWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAoraW50IFJHQkNv
bG9yVGFibGUodWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfYXJnYiwKICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB0YWJsZV9hcmdiLAotICAg
ICAgICAgICAgICAgICAgaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworICAg
ICAgICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAgICAgICAgICBpbnQgeSwKKyAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAv
LyBBcHBseSBhIGx1bWEvY29sb3IgdGFibGUgZWFjaCBBUkdCIHBpeGVsIGJ1dCBwcmVzZXJ2ZSBk
ZXN0aW5hdGlvbiBhbHBoYS4KIC8vIFRhYmxlIGNvbnRhaW5zIDMyNzY4IHZhbHVlcyBpbmRleGVk
IGJ5IFtZXVtDXSB3aGVyZSA3IGl0IDcgYml0IGx1bWEgZnJvbQogLy8gUkdCIChZSiBzdHlsZSkg
YW5kIEMgaXMgYW4gOCBiaXQgY29sb3IgY29tcG9uZW50IChSLCBHIG9yIEIpLgogTElCWVVWX0FQ
SQotaW50IEFSR0JMdW1hQ29sb3JUYWJsZShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNf
c3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50
IGRzdF9zdHJpZGVfYXJnYiwKK2ludCBBUkdCTHVtYUNvbG9yVGFibGUoY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBsdW1hX3JnYl90YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQXBwbHkgYSAzIHRlcm0gcG9seW5vbWlh
bCB0byBBUkdCIHZhbHVlcy4KIC8vIHBvbHkgcG9pbnRzIHRvIGEgNHg0IG1hdHJpeC4gIFRoZSBm
aXJzdCByb3cgaXMgY29uc3RhbnRzLiAgVGhlIDJuZCByb3cgaXMKQEAgLTI4MSw1NCArNDE3LDgw
IEBAIGludCBBUkdCTHVtYUNvbG9yVGFibGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3Jj
X3N0cmlkZV9hcmdiLAogLy8gQSBwb2x5bm9taWFsIGFwcHJveGltYXRpb24gY2FuIGJlIGRpcml2
ZWQgdXNpbmcgc29mdHdhcmUgc3VjaCBhcyAnUicuCiAKIExJQllVVl9BUEkKLWludCBBUkdCUG9s
eW5vbWlhbChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAoraW50
IEFSR0JQb2x5bm9taWFsKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAogICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGZsb2F0KiBwb2x5LAotICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwg
aW50IGhlaWdodCk7CisgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAg
ICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IHBsYW5lIG9mIDE2IGJpdCBzaG9ydHMg
dG8gaGFsZiBmbG9hdHMuCiAvLyBTb3VyY2UgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IHNjYWxl
IGJlZm9yZSBzdG9yaW5nIGFzIGhhbGYgZmxvYXQuCiBMSUJZVVZfQVBJCi1pbnQgSGFsZkZsb2F0
UGxhbmUoY29uc3QgdWludDE2KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAg
ICAgICAgICB1aW50MTYqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAoraW50IEhhbGZGbG9hdFBs
YW5lKGNvbnN0IHVpbnQxNiogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGVfeSwKKyAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF95LAorICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX3ksCiAgICAgICAgICAgICAgICAgICAgZmxvYXQgc2NhbGUsCi0g
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKKyAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIFF1
YW50aXplIGEgcmVjdGFuZ2xlIG9mIEFSR0IuIEFscGhhIHVuYWZmZWN0ZWQuCiAvLyBzY2FsZSBp
cyBhIDE2IGJpdCBmcmFjdGlvbmFsIGZpeGVkIHBvaW50IHNjYWxlciBiZXR3ZWVuIDAgYW5kIDY1
NTM1LgogLy8gaW50ZXJ2YWxfc2l6ZSBzaG91bGQgYmUgYSB2YWx1ZSBiZXR3ZWVuIDEgYW5kIDI1
NS4KIC8vIGludGVydmFsX29mZnNldCBzaG91bGQgYmUgYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDI1
NS4KIExJQllVVl9BUEkKLWludCBBUkdCUXVhbnRpemUodWludDgqIGRzdF9hcmdiLCBpbnQgZHN0
X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9z
aXplLCBpbnQgaW50ZXJ2YWxfb2Zmc2V0LAotICAgICAgICAgICAgICAgICBpbnQgeCwgaW50IHks
IGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlF1YW50aXplKHVpbnQ4KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgaW50IHNjYWxlLAorICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxfc2l6ZSwKKyAgICAg
ICAgICAgICAgICAgaW50IGludGVydmFsX29mZnNldCwKKyAgICAgICAgICAgICAgICAgaW50IHgs
CisgICAgICAgICAgICAgICAgIGludCB5LAorICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb3B5IEFSR0IgdG8gQVJHQi4KIExJ
QllVVl9BUEkKLWludCBBUkdCQ29weShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3Ry
aWRlX2FyZ2IsCi0gICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9h
cmdiLAotICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQkNvcHko
Y29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2Is
CisgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgIGludCBkc3Rfc3Ry
aWRlX2FyZ2IsCisgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgIGludCBoZWln
aHQpOwogCiAvLyBDb3B5IEFscGhhIGNoYW5uZWwgb2YgQVJHQiB0byBhbHBoYSBvZiBBUkdCLgog
TElCWVVWX0FQSQotaW50IEFSR0JDb3B5QWxwaGEoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQg
c3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQg
ZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
KTsKK2ludCBBUkdCQ29weUFscGhhKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsCisgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8v
IEV4dHJhY3QgdGhlIGFscGhhIGNoYW5uZWwgZnJvbSBBUkdCLgogTElCWVVWX0FQSQotaW50IEFS
R0JFeHRyYWN0QWxwaGEoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hLCBpbnQgZHN0X3N0cmlkZV9hLAot
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBBUkdCRXh0
cmFjdEFscGhhKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2EsCisg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hLAorICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENv
cHkgWSBjaGFubmVsIHRvIEFscGhhIG9mIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQkNvcHlZ
VG9BbHBoYShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFSR0JDb3B5WVRvQWxw
aGEoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGVfeSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAotdHlwZWRlZiB2b2lk
ICgqQVJHQkJsZW5kUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3Jj
X2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGlu
dCB3aWR0aCk7Cit0eXBlZGVmIHZvaWQgKCpBUkdCQmxlbmRSb3cpKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIAogLy8gR2V0IGZ1bmN0aW9uIHRv
IEFscGhhIEJsZW5kIEFSR0IgcGl4ZWxzIGFuZCBzdG9yZSB0byBkZXN0aW5hdGlvbi4KIExJQllV
Vl9BUEkKQEAgLTMzOCw5MiArNTAwLDE0MyBAQCBBUkdCQmxlbmRSb3cgR2V0QVJHQkJsZW5kKCk7
CiAvLyBTb3VyY2UgaXMgcHJlLW11bHRpcGxpZWQgYnkgYWxwaGEgdXNpbmcgQVJHQkF0dGVudWF0
ZS4KIC8vIEFscGhhIG9mIGRlc3RpbmF0aW9uIGlzIHNldCB0byAyNTUuCiBMSUJZVVZfQVBJCi1p
bnQgQVJHQkJsZW5kKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2Iw
LAotICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLCBpbnQgc3JjX3N0cmlkZV9h
cmdiMSwKLSAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdi
LAotICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFSR0JCbGVuZChj
b25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdi
MCwKKyAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfYXJnYjEsCisgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgaW50IHdpZHRo
LAorICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQWxwaGEgQmxlbmQgcGxhbmUgYW5k
IHN0b3JlIHRvIGRlc3RpbmF0aW9uLgogLy8gU291cmNlIGlzIG5vdCBwcmUtbXVsdGlwbGllZCBi
eSBhbHBoYS4KIExJQllVVl9BUEkKLWludCBCbGVuZFBsYW5lKGNvbnN0IHVpbnQ4KiBzcmNfeTAs
IGludCBzcmNfc3RyaWRlX3kwLAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY195MSwg
aW50IHNyY19zdHJpZGVfeTEsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogYWxwaGEsIGlu
dCBhbHBoYV9zdHJpZGUsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3Ry
aWRlX3ksCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEJsZW5k
UGxhbmUoY29uc3QgdWludDgqIHNyY195MCwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3kwLAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY195MSwKKyAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3kxLAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFscGhhLAor
ICAgICAgICAgICAgICAgaW50IGFscGhhX3N0cmlkZSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfeSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gQWxwaGEgQmxlbmQg
WVVWIGltYWdlcyBhbmQgc3RvcmUgdG8gZGVzdGluYXRpb24uCiAvLyBTb3VyY2UgaXMgbm90IHBy
ZS1tdWx0aXBsaWVkIGJ5IGFscGhhLgogLy8gQWxwaGEgaXMgZnVsbCB3aWR0aCB4IGhlaWdodCBh
bmQgc3Vic2FtcGxlZCB0byBoYWxmIHNpemUgdG8gYXBwbHkgdG8gVVYuCiBMSUJZVVZfQVBJCi1p
bnQgSTQyMEJsZW5kKGNvbnN0IHVpbnQ4KiBzcmNfeTAsIGludCBzcmNfc3RyaWRlX3kwLAotICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UwLCBpbnQgc3JjX3N0cmlkZV91MCwKLSAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY192MCwgaW50IHNyY19zdHJpZGVfdjAsCi0gICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfeTEsIGludCBzcmNfc3RyaWRlX3kxLAotICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3UxLCBpbnQgc3JjX3N0cmlkZV91MSwKLSAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY192MSwgaW50IHNyY19zdHJpZGVfdjEsCi0gICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBhbHBoYSwgaW50IGFscGhhX3N0cmlkZSwKLSAgICAgICAgICAgICAgdWlu
dDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICB1aW50OCogZHN0X3Us
IGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9z
dHJpZGVfdiwKLSAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBJNDIw
QmxlbmQoY29uc3QgdWludDgqIHNyY195MCwKKyAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
eTAsCisgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdTAsCisgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3UwLAorICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YwLAorICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92MCwKKyAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY195MSwKKyAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeTEsCisgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdTEsCisgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UxLAor
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YxLAorICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV92MSwKKyAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFscGhhLAorICAgICAgICAg
ICAgICBpbnQgYWxwaGFfc3RyaWRlLAorICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwK
KyAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgdWludDgqIGRz
dF92LAorICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICBpbnQg
d2lkdGgsCisgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBNdWx0aXBseSBBUkdCIGlt
YWdlIGJ5IEFSR0IgaW1hZ2UuIFNoaWZ0ZWQgZG93biBieSA4LiBTYXR1cmF0ZXMgdG8gMjU1Lgog
TElCWVVWX0FQSQotaW50IEFSR0JNdWx0aXBseShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQg
c3JjX3N0cmlkZV9hcmdiMCwKLSAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdi
MSwgaW50IHNyY19zdHJpZGVfYXJnYjEsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0KTsKK2ludCBBUkdCTXVsdGlwbHkoY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYjAsCisgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2Ix
LAorICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAg
ICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIEFkZCBBUkdCIGltYWdlIHdpdGggQVJHQiBpbWFn
ZS4gU2F0dXJhdGVzIHRvIDI1NS4KIExJQllVVl9BUEkKLWludCBBUkdCQWRkKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IwLAotICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY19hcmdiMSwgaW50IHNyY19zdHJpZGVfYXJnYjEsCi0gICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpOworaW50IEFSR0JBZGQoY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX2FyZ2IwLAorICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19h
cmdiMSwKKyAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IxLAorICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAg
ICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBTdWJ0cmFjdCBB
UkdCIGltYWdlIChhcmdiMSkgZnJvbSBBUkdCIGltYWdlIChhcmdiMCkuIFNhdHVyYXRlcyB0byAw
LgogTElCWVVWX0FQSQotaW50IEFSR0JTdWJ0cmFjdChjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBp
bnQgc3JjX3N0cmlkZV9hcmdiMCwKLSAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19h
cmdiMSwgaW50IHNyY19zdHJpZGVfYXJnYjEsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KTsKK2ludCBBUkdCU3VidHJhY3QoY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYjAsCisgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2Fy
Z2IxLAorICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAg
IGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAg
ICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgSTQyMiB0byBZVVkyLgogTElC
WVVWX0FQSQotaW50IEk0MjJUb1lVWTIoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlk
ZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91
LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAot
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwgaW50IGRzdF9zdHJpZGVfZnJhbWUsCi0g
ICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEk0MjJUb1lVWTIoY29u
c3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwKKyAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2ZyYW1lLAorICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQgSTQyMiB0byBV
WVZZLgogTElCWVVWX0FQSQotaW50IEk0MjJUb1VZVlkoY29uc3QgdWludDgqIHNyY195LCBpbnQg
c3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3Jj
X3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0
cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwgaW50IGRzdF9zdHJpZGVf
ZnJhbWUsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEk0MjJU
b1VZVlkoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
eSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9m
cmFtZSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2ZyYW1lLAorICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIENvbnZlcnQg
dW5hdHRlbnR1YXRlZCBBUkdCIHRvIHByZWF0dGVudWF0ZWQgQVJHQi4KIExJQllVVl9BUEkKLWlu
dCBBUkdCQXR0ZW51YXRlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJn
YiwKLSAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJn
YiwKLSAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQkF0
dGVudWF0ZShjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOwogCiAvLyBDb252ZXJ0IHByZWF0
dGVudHVhdGVkIEFSR0IgdG8gdW5hdHRlbnVhdGVkIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgQVJH
QlVuYXR0ZW51YXRlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwK
LSAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdi
LAotICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFSR0JV
bmF0dGVudWF0ZShjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8g
SW50ZXJuYWwgZnVuY3Rpb24gLSBkbyBub3QgY2FsbCBkaXJlY3RseS4KIC8vIENvbXB1dGVzIHRh
YmxlIG9mIGN1bXVsYXRpdmUgc3VtIGZvciBpbWFnZSB3aGVyZSB0aGUgdmFsdWUgaXMgdGhlIHN1
bQogLy8gb2YgYWxsIHZhbHVlcyBhYm92ZSBhbmQgdG8gdGhlIGxlZnQgb2YgdGhlIGVudHJ5LiBV
c2VkIGJ5IEFSR0JCbHVyLgogTElCWVVWX0FQSQotaW50IEFSR0JDb21wdXRlQ3VtdWxhdGl2ZVN1
bShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDMyKiBkc3RfY3Vtc3VtLCBpbnQgZHN0X3N0cmlkZTMyX2N1
bXN1bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
KTsKK2ludCBBUkdCQ29tcHV0ZUN1bXVsYXRpdmVTdW0oY29uc3QgdWludDgqIHNyY19hcmdiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQzMiogZHN0X2N1bXN1bSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUzMl9jdW1zdW0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGhlaWdodCk7CiAKIC8vIEJsdXIgQVJHQiBpbWFnZS4KIC8vIGRzdF9jdW1zdW0gdGFibGUgb2Yg
d2lkdGggKiAoaGVpZ2h0ICsgMSkgKiAxNiBieXRlcyBhbGlnbmVkIHRvCkBAIC00MzIsNDkgKzY0
NSw3OSBAQCBpbnQgQVJHQkNvbXB1dGVDdW11bGF0aXZlU3VtKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgaW50IHNyY19zdHJpZGVfYXJnYiwKIC8vIHJhZGl1cyBpcyBudW1iZXIgb2YgcGl4ZWxzIGFy
b3VuZCB0aGUgY2VudGVyLiAgZS5nLiAxID0gM3gzLiAyPTV4NS4KIC8vIEJsdXIgaXMgb3B0aW1p
emVkIGZvciByYWRpdXMgb2YgNSAoMTF4MTEpIG9yIGxlc3MuCiBMSUJZVVZfQVBJCi1pbnQgQVJH
QkJsdXIoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAg
ICBpbnQzMiogZHN0X2N1bXN1bSwgaW50IGRzdF9zdHJpZGUzMl9jdW1zdW0sCi0gICAgICAgICAg
ICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgcmFkaXVzKTsKK2ludCBBUkdCQmx1cihjb25z
dCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVf
YXJnYiwKKyAgICAgICAgICAgICBpbnQzMiogZHN0X2N1bXN1bSwKKyAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZTMyX2N1bXN1bSwKKyAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAg
ICAgaW50IGhlaWdodCwKKyAgICAgICAgICAgICBpbnQgcmFkaXVzKTsKIAogLy8gTXVsdGlwbHkg
QVJHQiBpbWFnZSBieSBBUkdCIHZhbHVlLgogTElCWVVWX0FQSQotaW50IEFSR0JTaGFkZShjb25z
dCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0LCB1aW50MzIgdmFsdWUpOworaW50IEFSR0JTaGFkZShjb25zdCB1aW50
OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJn
YiwKKyAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAor
ICAgICAgICAgICAgICB1aW50MzIgdmFsdWUpOwogCiAvLyBJbnRlcnBvbGF0ZSBiZXR3ZWVuIHR3
byBpbWFnZXMgdXNpbmcgc3BlY2lmaWVkIGFtb3VudCBvZiBpbnRlcnBvbGF0aW9uCiAvLyAoMCB0
byAyNTUpIGFuZCBzdG9yZSB0byBkZXN0aW5hdGlvbi4KIC8vICdpbnRlcnBvbGF0aW9uJyBpcyBz
cGVjaWZpZWQgYXMgOCBiaXQgZnJhY3Rpb24gd2hlcmUgMCBtZWFucyAxMDAlIHNyYzAKIC8vIGFu
ZCAyNTUgbWVhbnMgMSUgc3JjMCBhbmQgOTklIHNyYzEuCiBMSUJZVVZfQVBJCi1pbnQgSW50ZXJw
b2xhdGVQbGFuZShjb25zdCB1aW50OCogc3JjMCwgaW50IHNyY19zdHJpZGUwLAotICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyYzEsIGludCBzcmNfc3RyaWRlMSwKLSAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgaW50ZXJwb2xhdGlvbik7CitpbnQgSW50
ZXJwb2xhdGVQbGFuZShjb25zdCB1aW50OCogc3JjMCwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlMCwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmMxLAor
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUxLAorICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaW50IGhl
aWdodCwKKyAgICAgICAgICAgICAgICAgICAgIGludCBpbnRlcnBvbGF0aW9uKTsKIAogLy8gSW50
ZXJwb2xhdGUgYmV0d2VlbiB0d28gQVJHQiBpbWFnZXMgdXNpbmcgc3BlY2lmaWVkIGFtb3VudCBv
ZiBpbnRlcnBvbGF0aW9uCiAvLyBJbnRlcm5hbGx5IGNhbGxzIEludGVycG9sYXRlUGxhbmUgd2l0
aCB3aWR0aCAqIDQgKGJwcCkuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQkludGVycG9sYXRlKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IwLAotICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLCBpbnQgc3JjX3N0cmlkZV9hcmdiMSwKLSAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBpbnRlcnBvbGF0aW9u
KTsKK2ludCBBUkdCSW50ZXJwb2xhdGUoY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYjAsCisgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKKyAgICAgICAgICAgICAgICAg
ICAgaW50IGludGVycG9sYXRpb24pOwogCiAvLyBJbnRlcnBvbGF0ZSBiZXR3ZWVuIHR3byBZVVYg
aW1hZ2VzIHVzaW5nIHNwZWNpZmllZCBhbW91bnQgb2YgaW50ZXJwb2xhdGlvbgogLy8gSW50ZXJu
YWxseSBjYWxscyBJbnRlcnBvbGF0ZVBsYW5lIG9uIGVhY2ggcGxhbmUgd2hlcmUgdGhlIFUgYW5k
IFYgcGxhbmVzCiAvLyBhcmUgaGFsZiB3aWR0aCBhbmQgaGFsZiBoZWlnaHQuCiBMSUJZVVZfQVBJ
Ci1pbnQgSTQyMEludGVycG9sYXRlKGNvbnN0IHVpbnQ4KiBzcmMwX3ksIGludCBzcmMwX3N0cmlk
ZV95LAotICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjMF91LCBpbnQgc3JjMF9z
dHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyYzBfdiwgaW50IHNy
YzBfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmMxX3ksIGlu
dCBzcmMxX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjMV91
LCBpbnQgc3JjMV9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
YzFfdiwgaW50IHNyYzFfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
eSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBp
bnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBk
c3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCwg
aW50IGludGVycG9sYXRpb24pOworaW50IEk0MjBJbnRlcnBvbGF0ZShjb25zdCB1aW50OCogc3Jj
MF95LAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjMF9zdHJpZGVfeSwKKyAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyYzBfdSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNy
YzBfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmMwX3YsCisg
ICAgICAgICAgICAgICAgICAgIGludCBzcmMwX3N0cmlkZV92LAorICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjMV95LAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjMV9zdHJp
ZGVfeSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyYzFfdSwKKyAgICAgICAg
ICAgICAgICAgICAgaW50IHNyYzFfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmMxX3YsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmMxX3N0cmlkZV92LAor
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQs
CisgICAgICAgICAgICAgICAgICAgIGludCBpbnRlcnBvbGF0aW9uKTsKIAogI2lmIGRlZmluZWQo
X19wbmFjbF9fKSB8fCBkZWZpbmVkKF9fQ0xSX1ZFUikgfHwgXAogICAgIChkZWZpbmVkKF9faTM4
Nl9fKSAmJiAhZGVmaW5lZChfX1NTRTJfXykpCkBAIC00OTUsMzYgKzczOCw1NSBAQCBpbnQgSTQy
MEludGVycG9sYXRlKGNvbnN0IHVpbnQ4KiBzcmMwX3ksIGludCBzcmMwX3N0cmlkZV95LAogLy8g
Um93IGZ1bmN0aW9uIGZvciBjb3B5aW5nIHBpeGVscyBmcm9tIGEgc291cmNlIHdpdGggYSBzbG9w
ZSB0byBhIHJvdwogLy8gb2YgZGVzdGluYXRpb24uIFVzZWZ1bCBmb3Igc2NhbGluZywgcm90YXRp
b24sIG1pcnJvciwgdGV4dHVyZSBtYXBwaW5nLgogTElCWVVWX0FQSQotdm9pZCBBUkdCQWZmaW5l
Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX2FyZ2Jfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBjb25zdCBmbG9hdCogdXZfZHVkdiwgaW50
IHdpZHRoKTsKK3ZvaWQgQVJHQkFmZmluZVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfYXJnYl9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCBmbG9hdCog
dXZfZHVkdiwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiBMSUJZVVZfQVBJCi12
b2lkIEFSR0JBZmZpbmVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfYXJn
Yl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGNvbnN0
IGZsb2F0KiB1dl9kdWR2LCBpbnQgd2lkdGgpOwordm9pZCBBUkdCQWZmaW5lUm93X1NTRTIoY29u
c3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19hcmdi
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0KiB1dl9kdWR2LAorICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKTsKIAogLy8gU2h1ZmZsZSBBUkdCIGNoYW5uZWwgb3JkZXIuICBl
LmcuIEJHUkEgdG8gQVJHQi4KIC8vIHNodWZmbGVyIGlzIDE2IGJ5dGVzIGFuZCBtdXN0IGJlIGFs
aWduZWQuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlNodWZmbGUoY29uc3QgdWludDgqIHNyY19iZ3Jh
LCBpbnQgc3JjX3N0cmlkZV9iZ3JhLAotICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwg
aW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZs
ZXIsIGludCB3aWR0aCwgaW50IGhlaWdodCk7CitpbnQgQVJHQlNodWZmbGUoY29uc3QgdWludDgq
IHNyY19iZ3JhLAorICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2JncmEsCisgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X2FyZ2IsCisgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLAorICAgICAgICAg
ICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogLy8gU29i
ZWwgQVJHQiBlZmZlY3Qgd2l0aCBwbGFuYXIgb3V0cHV0LgogTElCWVVWX0FQSQotaW50IEFSR0JT
b2JlbFRvUGxhbmUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAot
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK2ludCBBUkdCU29iZWxU
b1BsYW5lKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIFNvYmVs
IEFSR0IgZWZmZWN0LgogTElCWVVWX0FQSQotaW50IEFSR0JTb2JlbChjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0KTsKK2ludCBBUkdCU29iZWwoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgIGludCB3aWR0
aCwKKyAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIFNvYmVsIEFSR0IgZWZmZWN0IHcv
IFNvYmVsIFgsIFNvYmVsLCBTb2JlbCBZIGluIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlNv
YmVsWFkoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworaW50IEFSR0JTb2JlbFhZKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICBp
bnQgaGVpZ2h0KTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9ICAvLyBleHRlcm4gIkMiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9pbmNsdWRlL2xpYnl1di9yb3RhdGUuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3JvdGF0ZS5oCmluZGV4
IDhhMmRhOWE1YWFkNWM1YmQwOTllMjFjZWIyMDc1ZmIyYzdkMjc4NzcuLmI5ZjcxNTRhNTFkNzc2
ZWE2NzM1MWUwZGNiYjYxMzU0OGMyNzA5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3JvdGF0
ZS5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L2luY2x1ZGUvbGlieXV2L3JvdGF0ZS5oCkBAIC0yMCw4ICsyMCw4IEBAIGV4dGVybiAi
QyIgewogCiAvLyBTdXBwb3J0ZWQgcm90YXRpb24uCiB0eXBlZGVmIGVudW0gUm90YXRpb25Nb2Rl
IHsKLSAga1JvdGF0ZTAgPSAwLCAgLy8gTm8gcm90YXRpb24uCi0gIGtSb3RhdGU5MCA9IDkwLCAg
Ly8gUm90YXRlIDkwIGRlZ3JlZXMgY2xvY2t3aXNlLgorICBrUm90YXRlMCA9IDAsICAgICAgLy8g
Tm8gcm90YXRpb24uCisgIGtSb3RhdGU5MCA9IDkwLCAgICAvLyBSb3RhdGUgOTAgZGVncmVlcyBj
bG9ja3dpc2UuCiAgIGtSb3RhdGUxODAgPSAxODAsICAvLyBSb3RhdGUgMTgwIGRlZ3JlZXMuCiAg
IGtSb3RhdGUyNzAgPSAyNzAsICAvLyBSb3RhdGUgMjcwIGRlZ3JlZXMgY2xvY2t3aXNlLgogCkBA
IC0zMyw4MSArMzMsMTI4IEBAIHR5cGVkZWYgZW51bSBSb3RhdGlvbk1vZGUgewogCiAvLyBSb3Rh
dGUgSTQyMCBmcmFtZS4KIExJQllVVl9BUEkKLWludCBJNDIwUm90YXRlKGNvbnN0IHVpbnQ4KiBz
cmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwg
aW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9z
dHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwK
LSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAg
ICAgICAgIGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LCBlbnVtIFJvdGF0aW9uTW9kZSBt
b2RlKTsKK2ludCBJNDIwUm90YXRlKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91
LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICBp
bnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgIGVudW0gUm90YXRpb25Nb2RlIG1vZGUpOwog
CiAvLyBSb3RhdGUgTlYxMiBpbnB1dCBhbmQgc3RvcmUgaW4gSTQyMC4KIExJQllVVl9BUEkKLWlu
dCBOVjEyVG9JNDIwUm90YXRlKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwK
LSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdXYsIGludCBzcmNfc3RyaWRl
X3V2LAotICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95
LAotICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAot
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsIGVudW0gUm90
YXRpb25Nb2RlIG1vZGUpOworaW50IE5WMTJUb0k0MjBSb3RhdGUoY29uc3QgdWludDgqIHNyY195
LAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdXYsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV91diwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgIGVudW0g
Um90YXRpb25Nb2RlIG1vZGUpOwogCiAvLyBSb3RhdGUgYSBwbGFuZSBieSAwLCA5MCwgMTgwLCBv
ciAyNzAuCiBMSUJZVVZfQVBJCi1pbnQgUm90YXRlUGxhbmUoY29uc3QgdWludDgqIHNyYywgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsIGVudW0gUm90
YXRpb25Nb2RlIG1vZGUpOworaW50IFJvdGF0ZVBsYW5lKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgdWludDgqIGRzdCwK
KyAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICBpbnQgc3Jj
X3dpZHRoLAorICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAg
IGVudW0gUm90YXRpb25Nb2RlIG1vZGUpOwogCiAvLyBSb3RhdGUgcGxhbmVzIGJ5IDkwLCAxODAs
IDI3MC4gRGVwcmVjYXRlZC4KIExJQllVVl9BUEkKLXZvaWQgUm90YXRlUGxhbmU5MChjb25zdCB1
aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
LCBpbnQgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWln
aHQpOwordm9pZCBSb3RhdGVQbGFuZTkwKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgsCisgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkKLXZv
aWQgUm90YXRlUGxhbmUxODAoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwordm9pZCBSb3RhdGVQbGFuZTE4MChjb25z
dCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAg
ICAgaW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkKLXZvaWQgUm90YXRlUGxhbmUyNzAoY29uc3Qg
dWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3QsIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpOwordm9pZCBSb3RhdGVQbGFuZTI3MChjb25zdCB1aW50OCogc3JjLAorICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dCwKKyAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIExJQllV
Vl9BUEkKLXZvaWQgUm90YXRlVVY5MChjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICB1aW50OCogZHN0X2EsIGludCBkc3Rfc3RyaWRlX2EsCi0gICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlkZV9iLAotICAgICAgICAgICAgICAg
IGludCB3aWR0aCwgaW50IGhlaWdodCk7Cit2b2lkIFJvdGF0ZVVWOTAoY29uc3QgdWludDgqIHNy
YywKKyAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICB1aW50
OCogZHN0X2EsCisgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYSwKKyAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2IsCisgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYiwKKyAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAK
IC8vIFJvdGF0aW9ucyBmb3Igd2hlbiBVIGFuZCBWIGFyZSBpbnRlcmxlYXZlZC4KIC8vIFRoZXNl
IGZ1bmN0aW9ucyB0YWtlIG9uZSBpbnB1dCBwb2ludGVyIGFuZAogLy8gc3BsaXQgdGhlIGRhdGEg
aW50byB0d28gYnVmZmVycyB3aGlsZQogLy8gcm90YXRpbmcgdGhlbS4gRGVwcmVjYXRlZC4KIExJ
QllVVl9BUEkKLXZvaWQgUm90YXRlVVYxODAoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwgaW50IGRzdF9zdHJpZGVfYSwKLSAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlkZV9iLAotICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwordm9pZCBSb3RhdGVVVjE4MChjb25zdCB1
aW50OCogc3JjLAorICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hLAorICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hLAor
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2IsCisgICAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX2IsCisgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAg
aW50IGhlaWdodCk7CiAKIExJQllVVl9BUEkKLXZvaWQgUm90YXRlVVYyNzAoY29uc3QgdWludDgq
IHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwgaW50
IGRzdF9zdHJpZGVfYSwKLSAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLCBpbnQgZHN0X3N0
cmlkZV9iLAotICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwordm9pZCBS
b3RhdGVVVjI3MChjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hLAorICAgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV9hLAorICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2IsCisgICAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2IsCisgICAgICAgICAgICAgICAgIGludCB3aWR0aCwK
KyAgICAgICAgICAgICAgICAgaW50IGhlaWdodCk7CiAKIC8vIFRoZSA5MCBhbmQgMjcwIGZ1bmN0
aW9ucyBhcmUgYmFzZWQgb24gdHJhbnNwb3Nlcy4KIC8vIERvaW5nIGEgdHJhbnNwb3NlIHdpdGgg
cmV2ZXJzaW5nIHRoZSByZWFkL3dyaXRlCiAvLyBvcmRlciB3aWxsIHJlc3VsdCBpbiBhIHJvdGF0
aW9uIGJ5ICstIDkwIGRlZ3JlZXMuCiAvLyBEZXByZWNhdGVkLgogTElCWVVWX0FQSQotdm9pZCBU
cmFuc3Bvc2VQbGFuZShjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7Cit2b2lkIFRyYW5zcG9zZVBsYW5lKGNvbnN0IHVp
bnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICBp
bnQgaGVpZ2h0KTsKIAogTElCWVVWX0FQSQotdm9pZCBUcmFuc3Bvc2VVVihjb25zdCB1aW50OCog
c3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hLCBpbnQg
ZHN0X3N0cmlkZV9hLAotICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2IsIGludCBkc3Rfc3Ry
aWRlX2IsCi0gICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7Cit2b2lkIFRy
YW5zcG9zZVVWKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2EsCisgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfc3RyaWRlX2EsCisgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwKKyAgICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfYiwKKyAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAor
ICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9ICAv
LyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9yb3RhdGVfYXJnYi5oIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVk
ZS9saWJ5dXYvcm90YXRlX2FyZ2IuaAppbmRleCAyMWZlN2UxODA3YzMzNDhjMTE3ZjI1MGQ2MzAz
OTEzYjQyZWZmYmM0Li5iZTAxOTBjMTc4Nzg0YzM2NTQ3NDM0NzQwMWFjZDg3NWNhYTdiNjUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di9pbmNsdWRlL2xpYnl1di9yb3RhdGVfYXJnYi5oCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3Jv
dGF0ZV9hcmdiLmgKQEAgLTIxLDkgKzIxLDEzIEBAIGV4dGVybiAiQyIgewogCiAvLyBSb3RhdGUg
QVJHQiBmcmFtZQogTElCWVVWX0FQSQotaW50IEFSR0JSb3RhdGUoY29uc3QgdWludDgqIHNyY19h
cmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwgaW50
IHNyY19oZWlnaHQsIGVudW0gUm90YXRpb25Nb2RlIG1vZGUpOworaW50IEFSR0JSb3RhdGUoY29u
c3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwK
KyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoLAorICAgICAgICAgICAg
ICAgaW50IHNyY19oZWlnaHQsCisgICAgICAgICAgICAgICBlbnVtIFJvdGF0aW9uTW9kZSBtb2Rl
KTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNs
dWRlL2xpYnl1di9yb3RhdGVfcm93LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9yb3RhdGVfcm93LmgKaW5kZXgg
NmFiZDIwMTY3NzQ2MGJmNjBlZmNlMjg2YTQ4Y2U2NjJiZjIzYzdkMy4uMmM1MTU4NGVlZThiNGZk
MTY4ZWM0OWU5OTRhMDllYTMzOTM3ODA1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvcm90YXRl
X3Jvdy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3JvdGF0ZV9yb3cuaApAQCAtMzYsNyArMzYsOCBAQCBl
eHRlcm4gIkMiIHsKIAogLy8gVGhlIGZvbGxvd2luZyBhcmUgYXZhaWxhYmxlIGZvciBHQ0MgMzIg
b3IgNjQgYml0IGJ1dCBub3QgTmFDTCBmb3IgNjQgYml0OgogI2lmICFkZWZpbmVkKExJQllVVl9E
SVNBQkxFX1g4NikgJiYgXAotICAgIChkZWZpbmVkKF9faTM4Nl9fKSB8fCAoZGVmaW5lZChfX3g4
Nl82NF9fKSAmJiAhZGVmaW5lZChfX25hdGl2ZV9jbGllbnRfXykpKQorICAgIChkZWZpbmVkKF9f
aTM4Nl9fKSB8fCAgICAgICAgICAgXAorICAgICAoZGVmaW5lZChfX3g4Nl82NF9fKSAmJiAhZGVm
aW5lZChfX25hdGl2ZV9jbGllbnRfXykpKQogI2RlZmluZSBIQVNfVFJBTlNQT1NFV1g4X1NTU0Uz
CiAjZW5kaWYKIApAQCAtNTMsNjUgKzU0LDE3MSBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgSEFT
X1RSQU5TUE9TRVVWV1g4X05FT04KICNlbmRpZgogCi0jaWYgIWRlZmluZWQoTElCWVVWX0RJU0FC
TEVfTUlQUykgJiYgIWRlZmluZWQoX19uYXRpdmVfY2xpZW50X18pICYmIFwKLSAgICBkZWZpbmVk
KF9fbWlwc19fKSAmJiBcCi0gICAgZGVmaW5lZChfX21pcHNfZHNwKSAmJiAoX19taXBzX2RzcF9y
ZXYgPj0gMikKKyNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJMRV9EU1BSMikgJiYgIWRlZmluZWQo
X19uYXRpdmVfY2xpZW50X18pICYmIFwKKyAgICBkZWZpbmVkKF9fbWlwc19fKSAmJiBkZWZpbmVk
KF9fbWlwc19kc3ApICYmIChfX21pcHNfZHNwX3JldiA+PSAyKQogI2RlZmluZSBIQVNfVFJBTlNQ
T1NFV1g4X0RTUFIyCiAjZGVmaW5lIEhBU19UUkFOU1BPU0VVVldYOF9EU1BSMgogI2VuZGlmICAv
LyBkZWZpbmVkKF9fbWlwc19fKQogCi12b2lkIFRyYW5zcG9zZVd4SF9DKGNvbnN0IHVpbnQ4KiBz
cmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQg
ZHN0X3N0cmlkZSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKLQotdm9pZCBUcmFuc3Bvc2VXeDhf
Qyhjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUsIGludCB3aWR0aCk7Ci12b2lkIFRyYW5zcG9zZVd4
OF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3N0cmlkZSwgaW50IHdpZHRoKTsKLXZvaWQgVHJh
bnNwb3NlV3g4X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUsIGludCB3aWR0aCk7
Ci12b2lkIFRyYW5zcG9zZVd4OF9GYXN0X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0
X3N0cmlkZSwgaW50IHdpZHRoKTsKLXZvaWQgVHJhbnNwb3NlV3g4X0RTUFIyKGNvbnN0IHVpbnQ4
KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dCwgaW50IGRzdF9zdHJpZGUsIGludCB3aWR0aCk7Ci12b2lkIFRyYW5zcG9zZVd4OF9GYXN0X0RT
UFIyKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3N0cmlkZSwgaW50IHdpZHRoKTsKLQotdm9p
ZCBUcmFuc3Bvc2VXeDhfQW55X05FT04oY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3N0cmlkZSwg
aW50IHdpZHRoKTsKLXZvaWQgVHJhbnNwb3NlV3g4X0FueV9TU1NFMyhjb25zdCB1aW50OCogc3Jj
LCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
LCBpbnQgZHN0X3N0cmlkZSwgaW50IHdpZHRoKTsKLXZvaWQgVHJhbnNwb3NlV3g4X0Zhc3RfQW55
X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUsIGludCB3aWR0aCk7
Ci12b2lkIFRyYW5zcG9zZVd4OF9BbnlfRFNQUjIoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF9z
dHJpZGUsIGludCB3aWR0aCk7Ci0KLXZvaWQgVHJhbnNwb3NlVVZXeEhfQyhjb25zdCB1aW50OCog
c3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Es
IGludCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLCBp
bnQgZHN0X3N0cmlkZV9iLAotICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhl
aWdodCk7Ci0KLXZvaWQgVHJhbnNwb3NlVVZXeDhfQyhjb25zdCB1aW50OCogc3JjLCBpbnQgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2EsIGludCBkc3Rfc3Ry
aWRlX2EsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlk
ZV9iLCBpbnQgd2lkdGgpOwotdm9pZCBUcmFuc3Bvc2VVVld4OF9TU0UyKGNvbnN0IHVpbnQ4KiBz
cmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YSwgaW50IGRzdF9zdHJpZGVfYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2IsIGludCBkc3Rfc3RyaWRlX2IsIGludCB3aWR0aCk7Ci12b2lkIFRyYW5zcG9zZVVWV3g4X05F
T04oY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hLCBpbnQgZHN0X3N0cmlkZV9hLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYiwgaW50IGRzdF9zdHJpZGVfYiwgaW50IHdpZHRoKTsKLXZvaWQg
VHJhbnNwb3NlVVZXeDhfRFNQUjIoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwgaW50IGRzdF9zdHJpZGVfYSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlkZV9i
LCBpbnQgd2lkdGgpOwotCi12b2lkIFRyYW5zcG9zZVVWV3g4X0FueV9TU0UyKGNvbnN0IHVpbnQ4
KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X2EsIGludCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfYiwgaW50IGRzdF9zdHJpZGVfYiwgaW50IHdpZHRoKTsKLXZvaWQgVHJhbnNw
b3NlVVZXeDhfQW55X05FT04oY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwgaW50IGRzdF9zdHJpZGVfYSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlk
ZV9iLCBpbnQgd2lkdGgpOwotdm9pZCBUcmFuc3Bvc2VVVld4OF9BbnlfRFNQUjIoY29uc3QgdWlu
dDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2EsIGludCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2IsIGludCBkc3Rfc3RyaWRlX2IsIGludCB3aWR0aCk7CisjaWYgIWRl
ZmluZWQoTElCWVVWX0RJU0FCTEVfTVNBKSAmJiBkZWZpbmVkKF9fbWlwc19tc2EpCisjZGVmaW5l
IEhBU19UUkFOU1BPU0VXWDE2X01TQQorI2RlZmluZSBIQVNfVFJBTlNQT1NFVVZXWDE2X01TQQor
I2VuZGlmCisKK3ZvaWQgVHJhbnNwb3NlV3hIX0MoY29uc3QgdWludDgqIHNyYywKKyAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3QsCisgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpOworCit2b2lk
IFRyYW5zcG9zZVd4OF9DKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
KTsKK3ZvaWQgVHJhbnNwb3NlV3gxNl9DKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Qs
CisgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7Cit2b2lkIFRyYW5zcG9zZVd4OF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmMs
CisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgVHJhbnNwb3NlV3g4
X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCk7Cit2b2lkIFRyYW5zcG9zZVd4OF9GYXN0X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKTsKK3ZvaWQgVHJhbnNwb3NlV3g4X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFRyYW5zcG9zZVd4OF9GYXN0
X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgVHJhbnNwb3NlV3gxNl9NU0EoY29u
c3QgdWludDgqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOworCit2
b2lkIFRyYW5zcG9zZVd4OF9BbnlfTkVPTihjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBUcmFuc3Bvc2VX
eDhfQW55X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBUcmFuc3Bvc2VXeDhfRmFzdF9B
bnlfU1NTRTMoY29uc3QgdWludDgqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgVHJh
bnNwb3NlV3g4X0FueV9EU1BSMihjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgVHJhbnNwb3NlV3gx
Nl9BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7CisKK3ZvaWQgVHJhbnNwb3NlVVZXeEhfQyhjb25zdCB1
aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV9hLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwKKyAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9iLAorICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KTsKKwordm9pZCBU
cmFuc3Bvc2VVVld4OF9DKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hLAorICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2EsCisgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9iLAorICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2Is
CisgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgVHJhbnNwb3NlVVZXeDE2
X0MoY29uc3QgdWludDgqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfYSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9iLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9iLAorICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBUcmFuc3Bvc2VVVld4OF9TU0UyKGNv
bnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2EsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9iLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgVHJhbnNwb3NlVVZXeDhf
TkVPTihjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlk
ZV9iLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFRyYW5zcG9z
ZVVWV3g4X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Es
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2EsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF9zdHJpZGVfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsK
K3ZvaWQgVHJhbnNwb3NlVVZXeDE2X01TQShjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZV9iLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCk7CisKK3ZvaWQgVHJhbnNwb3NlVVZXeDhfQW55X1NTRTIoY29uc3QgdWludDgqIHNyYywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGVfYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9i
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBUcmFuc3Bv
c2VVVld4OF9BbnlfTkVPTihjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9h
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFRyYW5zcG9zZVVWV3g4X0FueV9EU1BSMihjb25z
dCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2EsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCk7Cit2b2lkIFRyYW5zcG9zZVVWV3gxNl9BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2EsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX2EsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIAogI2lmZGVmIF9fY3Bs
dXNwbHVzCiB9ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9yb3cuaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2lu
Y2x1ZGUvbGlieXV2L3Jvdy5oCmluZGV4IDk2ODYxYmVmYjA3MWY1YTI1N2IwYWNjNDdjNGIwMGIy
ZmUxYzNiZDIuLjNlNWRkMjAwM2ZjZDgyN2QzYTUxMzAxNDU5MDhkNWE4M2Y5MTBiMDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L2luY2x1ZGUvbGlieXV2L3Jvdy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3Jvdy5oCkBAIC0yMCwx
NCArMjAsMTQgQEAgbmFtZXNwYWNlIGxpYnl1diB7CiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi0j
ZGVmaW5lIElTX0FMSUdORUQocCwgYSkgKCEoKHVpbnRwdHJfdCkocCkgJiAoKGEpIC0gMSkpKQor
I2RlZmluZSBJU19BTElHTkVEKHAsIGEpICghKCh1aW50cHRyX3QpKHApICYgKChhKS0xKSkpCiAK
LSNkZWZpbmUgYWxpZ25fYnVmZmVyXzY0KHZhciwgc2l6ZSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHVpbnQ4KiB2YXIjI19tZW0gPSAodWludDgqKSht
YWxsb2MoKHNpemUpICsgNjMpKTsgICAgICAgICAgICAgICAvKiBOT0xJTlQgKi8gXAotICB1aW50
OCogdmFyID0gKHVpbnQ4KikoKChpbnRwdHJfdCkodmFyIyNfbWVtKSArIDYzKSAmIH42MykgICAg
ICAgLyogTk9MSU5UICovCisjZGVmaW5lIGFsaWduX2J1ZmZlcl82NCh2YXIsIHNpemUpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB1aW50OCogdmFyIyNfbWVtID0g
KHVpbnQ4KikobWFsbG9jKChzaXplKSArIDYzKSk7ICAgICAgICAgLyogTk9MSU5UICovIFwKKyAg
dWludDgqIHZhciA9ICh1aW50OCopKCgoaW50cHRyX3QpKHZhciMjX21lbSkgKyA2MykgJiB+NjMp
IC8qIE5PTElOVCAqLwogCiAjZGVmaW5lIGZyZWVfYWxpZ25lZF9idWZmZXJfNjQodmFyKSBcCi0g
IGZyZWUodmFyIyNfbWVtKTsgIFwKKyAgZnJlZSh2YXIjI19tZW0pOyAgICAgICAgICAgICAgICAg
IFwKICAgdmFyID0gMAogCiAjaWYgZGVmaW5lZChfX3BuYWNsX18pIHx8IGRlZmluZWQoX19DTFJf
VkVSKSB8fCBcCkBAIC03MCw4ICs3MCw4IEBAIGV4dGVybiAiQyIgewogI2VuZGlmICAvLyBfX2Ns
YW5nX18KIAogLy8gVmlzdWFsIEMgMjAxMiByZXF1aXJlZCBmb3IgQVZYMi4KLSNpZiBkZWZpbmVk
KF9NX0lYODYpICYmICFkZWZpbmVkKF9fY2xhbmdfXykgJiYgXAotICAgIGRlZmluZWQoX01TQ19W
RVIpICYmIF9NU0NfVkVSID49IDE3MDAKKyNpZiBkZWZpbmVkKF9NX0lYODYpICYmICFkZWZpbmVk
KF9fY2xhbmdfXykgJiYgZGVmaW5lZChfTVNDX1ZFUikgJiYgXAorICAgIF9NU0NfVkVSID49IDE3
MDAKICNkZWZpbmUgVklTVUFMQ19IQVNfQVZYMiAxCiAjZW5kaWYgIC8vIFZpc3VhbFN0dWRpbyA+
PSAyMDEyCiAKQEAgLTE3NCw4ICsxNzQsOCBAQCBleHRlcm4gIkMiIHsKIAogLy8gVGhlIGZvbGxv
d2luZyBmdW5jdGlvbnMgZmFpbCBvbiBnY2MvY2xhbmcgMzIgYml0IHdpdGggZnBpYyBhbmQgZnJh
bWVwb2ludGVyLgogLy8gY2F2ZWF0OiBjbGFuZ2NsIHVzZXMgcm93X3dpbi5jYyB3aGljaCB3b3Jr
cy4KLSNpZiBkZWZpbmVkKE5ERUJVRykgfHwgIShkZWZpbmVkKF9ERUJVRykgJiYgZGVmaW5lZChf
X2kzODZfXykpIHx8IFwKLSAgICAhZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfTVNDX1ZF
UikKKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8ICFkZWZpbmVkKF9fcGljX18pIHx8IGRlZmlu
ZWQoX19jbGFuZ19fKSB8fCBcCisgICAgZGVmaW5lZChfTVNDX1ZFUikKIC8vIFRPRE8oZmJhcmNo
YXJkKTogZml4IGJ1aWxkIGVycm9yIG9uIGFuZHJvaWRfZnVsbF9kZWJ1Zz0xCiAvLyBodHRwczov
L2NvZGUuZ29vZ2xlLmNvbS9wL2xpYnl1di9pc3N1ZXMvZGV0YWlsP2lkPTUxNwogI2RlZmluZSBI
QVNfSTQyMkFMUEhBVE9BUkdCUk9XX1NTU0UzCkBAIC0xODUsOCArMTg1LDkgQEAgZXh0ZXJuICJD
IiB7CiAvLyBUaGUgZm9sbG93aW5nIGFyZSBhdmFpbGFibGUgb24gYWxsIHg4NiBwbGF0Zm9ybXMs
IGJ1dAogLy8gcmVxdWlyZSBWUzIwMTIsIGNsYW5nIDMuNCBvciBnY2MgNC43LgogLy8gVGhlIGNv
ZGUgc3VwcG9ydHMgTmFDTCBidXQgcmVxdWlyZXMgYSBuZXcgY29tcGlsZXIgYW5kIHZhbGlkYXRv
ci4KLSNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJMRV9YODYpICYmIChkZWZpbmVkKFZJU1VBTENf
SEFTX0FWWDIpIHx8IFwKLSAgICBkZWZpbmVkKENMQU5HX0hBU19BVlgyKSB8fCBkZWZpbmVkKEdD
Q19IQVNfQVZYMikpCisjaWYgIWRlZmluZWQoTElCWVVWX0RJU0FCTEVfWDg2KSAmJiAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIChkZWZpbmVkKFZJU1VBTENfSEFTX0FWWDIpIHx8IGRl
ZmluZWQoQ0xBTkdfSEFTX0FWWDIpIHx8IFwKKyAgICAgZGVmaW5lZChHQ0NfSEFTX0FWWDIpKQog
I2RlZmluZSBIQVNfQVJHQkNPUFlBTFBIQVJPV19BVlgyCiAjZGVmaW5lIEhBU19BUkdCQ09QWVlU
T0FMUEhBUk9XX0FWWDIKICNkZWZpbmUgSEFTX0FSR0JFWFRSQUNUQUxQSEFST1dfQVZYMgpAQCAt
MjM1LDcgKzIzNiw4IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBIQVNfQVJHQlVOQVRURU5VQVRF
Uk9XX0FWWDIKICNkZWZpbmUgSEFTX0JMRU5EUExBTkVST1dfQVZYMgogCi0jaWYgIShkZWZpbmVk
KF9ERUJVRykgJiYgZGVmaW5lZChfX2kzODZfXykpCisjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8
fCAhZGVmaW5lZChfX3BpY19fKSB8fCBkZWZpbmVkKF9fY2xhbmdfXykgfHwgXAorICAgIGRlZmlu
ZWQoX01TQ19WRVIpCiAvLyBUT0RPKGZiYXJjaGFyZCk6IGZpeCBidWlsZCBlcnJvciBvbiBhbmRy
b2lkX2Z1bGxfZGVidWc9MQogLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9saWJ5dXYvaXNz
dWVzL2RldGFpbD9pZD01MTcKICNkZWZpbmUgSEFTX0k0MjJBTFBIQVRPQVJHQlJPV19BVlgyCkBA
IC0yODksNiArMjkxLDcgQEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5lIEhBU19CR1JBVE9VVlJPV19O
RU9OCiAjZGVmaW5lIEhBU19CR1JBVE9ZUk9XX05FT04KICNkZWZpbmUgSEFTX0NPUFlST1dfTkVP
TgorI2RlZmluZSBIQVNfSEFMRkZMT0FUUk9XX05FT04KICNkZWZpbmUgSEFTX0k0MDBUT0FSR0JS
T1dfTkVPTgogI2RlZmluZSBIQVNfSTQyMkFMUEhBVE9BUkdCUk9XX05FT04KICNkZWZpbmUgSEFT
X0k0MjJUT0FSR0IxNTU1Uk9XX05FT04KQEAgLTMzMCwxMSArMzMzLDYgQEAgZXh0ZXJuICJDIiB7
CiAjZGVmaW5lIEhBU19ZVVkyVE9VVlJPV19ORU9OCiAjZGVmaW5lIEhBU19ZVVkyVE9ZUk9XX05F
T04KIAotLy8gVE9ETyhmYmFyY2hhcmQpOiBQb3J0IHRvIDMyIGJpdC4KLSNpZiBkZWZpbmVkKF9f
YWFyY2g2NF9fKQotI2RlZmluZSBIQVNfSEFMRkZMT0FUUk9XX05FT04KLSNlbmRpZgotCiAvLyBF
ZmZlY3RzOgogI2RlZmluZSBIQVNfQVJHQkFERFJPV19ORU9OCiAjZGVmaW5lIEhBU19BUkdCQVRU
RU5VQVRFUk9XX05FT04KQEAgLTM1Nyw3ICszNTUsNyBAQCBleHRlcm4gIkMiIHsKICNlbmRpZgog
CiAvLyBUaGUgZm9sbG93aW5nIGFyZSBhdmFpbGFibGUgb24gTWlwcyBwbGF0Zm9ybXM6Ci0jaWYg
IWRlZmluZWQoTElCWVVWX0RJU0FCTEVfTUlQUykgJiYgZGVmaW5lZChfX21pcHNfXykgJiYgXAor
I2lmICFkZWZpbmVkKExJQllVVl9ESVNBQkxFX0RTUFIyKSAmJiBkZWZpbmVkKF9fbWlwc19fKSAm
JiBcCiAgICAgKF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIpICYmIChfX21pcHNfaXNhX3Jl
diA8IDYpCiAjZGVmaW5lIEhBU19DT1BZUk9XX01JUFMKICNpZiBkZWZpbmVkKF9fbWlwc19kc3Ap
ICYmIChfX21pcHNfZHNwX3JldiA+PSAyKQpAQCAtMzY2LDYgKzM2NCwyMyBAQCBleHRlcm4gIkMi
IHsKICNkZWZpbmUgSEFTX01JUlJPUlJPV19EU1BSMgogI2RlZmluZSBIQVNfTUlSUk9SVVZST1df
RFNQUjIKICNkZWZpbmUgSEFTX1NQTElUVVZST1dfRFNQUjIKKyNkZWZpbmUgSEFTX1JHQjI0VE9B
UkdCUk9XX0RTUFIyCisjZGVmaW5lIEhBU19SQVdUT0FSR0JST1dfRFNQUjIKKyNkZWZpbmUgSEFT
X1JHQjU2NVRPQVJHQlJPV19EU1BSMgorI2RlZmluZSBIQVNfQVJHQjE1NTVUT0FSR0JST1dfRFNQ
UjIKKyNkZWZpbmUgSEFTX0FSR0I0NDQ0VE9BUkdCUk9XX0RTUFIyCisjZGVmaW5lIEhBU19JNDQ0
VE9BUkdCUk9XX0RTUFIyCisjZGVmaW5lIEhBU19JNDIyVE9BUkdCNDQ0NFJPV19EU1BSMgorI2Rl
ZmluZSBIQVNfSTQyMlRPQVJHQjE1NTVST1dfRFNQUjIKKyNkZWZpbmUgSEFTX05WMTJUT0FSR0JS
T1dfRFNQUjIKKyNkZWZpbmUgSEFTX0JHUkFUT1VWUk9XX0RTUFIyCisjZGVmaW5lIEhBU19CR1JB
VE9ZUk9XX0RTUFIyCisjZGVmaW5lIEhBU19BQkdSVE9VVlJPV19EU1BSMgorI2RlZmluZSBIQVNf
QVJHQlRPWVJPV19EU1BSMgorI2RlZmluZSBIQVNfQUJHUlRPWVJPV19EU1BSMgorI2RlZmluZSBI
QVNfUkdCQVRPVVZST1dfRFNQUjIKKyNkZWZpbmUgSEFTX1JHQkFUT1lST1dfRFNQUjIKKyNkZWZp
bmUgSEFTX0FSR0JUT1VWUk9XX0RTUFIyCiAjZW5kaWYKICNlbmRpZgogCkBAIC0zODIsNyArMzk3
LDYwIEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBIQVNfQVJHQjQ0NDRUT0FSR0JST1dfTVNBCiAj
ZGVmaW5lIEhBU19BUkdCVE9ZUk9XX01TQQogI2RlZmluZSBIQVNfQVJHQlRPVVZST1dfTVNBCi0K
KyNkZWZpbmUgSEFTX0k0MjJUT0FSR0JST1dfTVNBCisjZGVmaW5lIEhBU19JNDIyVE9SR0JBUk9X
X01TQQorI2RlZmluZSBIQVNfSTQyMkFMUEhBVE9BUkdCUk9XX01TQQorI2RlZmluZSBIQVNfSTQy
MlRPUkdCMjRST1dfTVNBCisjZGVmaW5lIEhBU19BUkdCVE9SR0IyNFJPV19NU0EKKyNkZWZpbmUg
SEFTX0FSR0JUT1JBV1JPV19NU0EKKyNkZWZpbmUgSEFTX0FSR0JUT1JHQjU2NVJPV19NU0EKKyNk
ZWZpbmUgSEFTX0FSR0JUT0FSR0IxNTU1Uk9XX01TQQorI2RlZmluZSBIQVNfQVJHQlRPQVJHQjQ0
NDRST1dfTVNBCisjZGVmaW5lIEhBU19BUkdCVE9VVjQ0NFJPV19NU0EKKyNkZWZpbmUgSEFTX0FS
R0JNVUxUSVBMWVJPV19NU0EKKyNkZWZpbmUgSEFTX0FSR0JBRERST1dfTVNBCisjZGVmaW5lIEhB
U19BUkdCU1VCVFJBQ1RST1dfTVNBCisjZGVmaW5lIEhBU19BUkdCQVRURU5VQVRFUk9XX01TQQor
I2RlZmluZSBIQVNfQVJHQlRPUkdCNTY1RElUSEVSUk9XX01TQQorI2RlZmluZSBIQVNfQVJHQlNI
VUZGTEVST1dfTVNBCisjZGVmaW5lIEhBU19BUkdCU0hBREVST1dfTVNBCisjZGVmaW5lIEhBU19B
UkdCR1JBWVJPV19NU0EKKyNkZWZpbmUgSEFTX0FSR0JTRVBJQVJPV19NU0EKKyNkZWZpbmUgSEFT
X0FSR0IxNTU1VE9BUkdCUk9XX01TQQorI2RlZmluZSBIQVNfUkdCNTY1VE9BUkdCUk9XX01TQQor
I2RlZmluZSBIQVNfUkdCMjRUT0FSR0JST1dfTVNBCisjZGVmaW5lIEhBU19SQVdUT0FSR0JST1df
TVNBCisjZGVmaW5lIEhBU19BUkdCMTU1NVRPWVJPV19NU0EKKyNkZWZpbmUgSEFTX1JHQjU2NVRP
WVJPV19NU0EKKyNkZWZpbmUgSEFTX1JHQjI0VE9ZUk9XX01TQQorI2RlZmluZSBIQVNfUkFXVE9Z
Uk9XX01TQQorI2RlZmluZSBIQVNfQVJHQjE1NTVUT1VWUk9XX01TQQorI2RlZmluZSBIQVNfUkdC
NTY1VE9VVlJPV19NU0EKKyNkZWZpbmUgSEFTX1JHQjI0VE9VVlJPV19NU0EKKyNkZWZpbmUgSEFT
X1JBV1RPVVZST1dfTVNBCisjZGVmaW5lIEhBU19OVjEyVE9BUkdCUk9XX01TQQorI2RlZmluZSBI
QVNfTlYxMlRPUkdCNTY1Uk9XX01TQQorI2RlZmluZSBIQVNfTlYyMVRPQVJHQlJPV19NU0EKKyNk
ZWZpbmUgSEFTX1NPQkVMUk9XX01TQQorI2RlZmluZSBIQVNfU09CRUxUT1BMQU5FUk9XX01TQQor
I2RlZmluZSBIQVNfU09CRUxYWVJPV19NU0EKKyNkZWZpbmUgSEFTX0FSR0JUT1lKUk9XX01TQQor
I2RlZmluZSBIQVNfQkdSQVRPWVJPV19NU0EKKyNkZWZpbmUgSEFTX0FCR1JUT1lST1dfTVNBCisj
ZGVmaW5lIEhBU19SR0JBVE9ZUk9XX01TQQorI2RlZmluZSBIQVNfQVJHQlRPVVZKUk9XX01TQQor
I2RlZmluZSBIQVNfQkdSQVRPVVZST1dfTVNBCisjZGVmaW5lIEhBU19BQkdSVE9VVlJPV19NU0EK
KyNkZWZpbmUgSEFTX1JHQkFUT1VWUk9XX01TQQorI2RlZmluZSBIQVNfSTQ0NFRPQVJHQlJPV19N
U0EKKyNkZWZpbmUgSEFTX0k0MDBUT0FSR0JST1dfTVNBCisjZGVmaW5lIEhBU19KNDAwVE9BUkdC
Uk9XX01TQQorI2RlZmluZSBIQVNfWVVZMlRPQVJHQlJPV19NU0EKKyNkZWZpbmUgSEFTX1VZVllU
T0FSR0JST1dfTVNBCisjZGVmaW5lIEhBU19JTlRFUlBPTEFURVJPV19NU0EKKyNkZWZpbmUgSEFT
X0FSR0JTRVRST1dfTVNBCisjZGVmaW5lIEhBU19SQVdUT1JHQjI0Uk9XX01TQQorI2RlZmluZSBI
QVNfTUVSR0VVVlJPV19NU0EKICNlbmRpZgogCiAjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgIWRl
ZmluZWQoX19DTFJfVkVSKSAmJiAhZGVmaW5lZChfX2NsYW5nX18pCkBAIC00NjksMTMgKzUzNywx
MyBAQCBzdHJ1Y3QgWXV2Q29uc3RhbnRzIHsKIH07CiAKIC8vIE9mZnNldHMgaW50byBZdXZDb25z
dGFudHMgc3RydWN0dXJlCi0jZGVmaW5lIEtVVlRPQiAgIDAKLSNkZWZpbmUgS1VWVE9HICAgMzIK
LSNkZWZpbmUgS1VWVE9SICAgNjQKKyNkZWZpbmUgS1VWVE9CIDAKKyNkZWZpbmUgS1VWVE9HIDMy
CisjZGVmaW5lIEtVVlRPUiA2NAogI2RlZmluZSBLVVZCSUFTQiA5NgogI2RlZmluZSBLVVZCSUFT
RyAxMjgKICNkZWZpbmUgS1VWQklBU1IgMTYwCi0jZGVmaW5lIEtZVE9SR0IgIDE5MgorI2RlZmlu
ZSBLWVRPUkdCIDE5MgogI2VuZGlmCiAKIC8vIENvbnZlcnNpb24gbWF0cml4IGZvciBZVVYgdG8g
UkdCCkBAIC01MDgsNjAgKzU3Niw1MyBAQCBleHRlcm4gY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50
cyBTSU1EX0FMSUdORUQoa1l2dUg3MDlDb25zdGFudHMpOyAgLy8gQlQuNzA5CiAjZGVmaW5lIE1F
TUFDQ0VTUyhiYXNlKSAiJSVuYWNsOiglJXIxNSwlcSIgI2Jhc2UgIikiCiAjZGVmaW5lIE1FTUFD
Q0VTUzIob2Zmc2V0LCBiYXNlKSAiJSVuYWNsOiIgI29mZnNldCAiKCUlcjE1LCVxIiAjYmFzZSAi
KSIKICNkZWZpbmUgTUVNTEVBKG9mZnNldCwgYmFzZSkgI29mZnNldCAiKCVxIiAjYmFzZSAiKSIK
LSNkZWZpbmUgTUVNTEVBMyhvZmZzZXQsIGluZGV4LCBzY2FsZSkgXAotICAgICNvZmZzZXQgIigs
JXEiICNpbmRleCAiLCIgI3NjYWxlICIpIgorI2RlZmluZSBNRU1MRUEzKG9mZnNldCwgaW5kZXgs
IHNjYWxlKSAjb2Zmc2V0ICIoLCVxIiAjaW5kZXggIiwiICNzY2FsZSAiKSIKICNkZWZpbmUgTUVN
TEVBNChvZmZzZXQsIGJhc2UsIGluZGV4LCBzY2FsZSkgXAotICAgICNvZmZzZXQgIiglcSIgI2Jh
c2UgIiwlcSIgI2luZGV4ICIsIiAjc2NhbGUgIikiCisgICNvZmZzZXQgIiglcSIgI2Jhc2UgIiwl
cSIgI2luZGV4ICIsIiAjc2NhbGUgIikiCiAjZGVmaW5lIE1FTU1PVkVTVFJJTkcocywgZCkgIiUl
bmFjbDooJXEiICNzICIpLCUlbmFjbDooJXEiICNkICIpLCAlJXIxNSIKICNkZWZpbmUgTUVNU1RP
UkVTVFJJTkcocmVnLCBkKSAiJSUiICNyZWcgIiwlJW5hY2w6KCVxIiAjZCAiKSwgJSVyMTUiCi0j
ZGVmaW5lIE1FTU9QUkVHKG9wY29kZSwgb2Zmc2V0LCBiYXNlLCBpbmRleCwgc2NhbGUsIHJlZykg
XAotICAgIEJVTkRMRUxPQ0sgXAotICAgICJsZWEgIiAjb2Zmc2V0ICIoJXEiICNiYXNlICIsJXEi
ICNpbmRleCAiLCIgI3NjYWxlICIpLCUlcjE0ZFxuIiBcCi0gICAgI29wY29kZSAiICglJXIxNSwl
JXIxNCksJSUiICNyZWcgIlxuIiBcCi0gICAgQlVORExFVU5MT0NLCi0jZGVmaW5lIE1FTU9QTUVN
KG9wY29kZSwgcmVnLCBvZmZzZXQsIGJhc2UsIGluZGV4LCBzY2FsZSkgXAotICAgIEJVTkRMRUxP
Q0sgXAotICAgICJsZWEgIiAjb2Zmc2V0ICIoJXEiICNiYXNlICIsJXEiICNpbmRleCAiLCIgI3Nj
YWxlICIpLCUlcjE0ZFxuIiBcCi0gICAgI29wY29kZSAiICUlIiAjcmVnICIsKCUlcjE1LCUlcjE0
KVxuIiBcCi0gICAgQlVORExFVU5MT0NLCi0jZGVmaW5lIE1FTU9QQVJHKG9wY29kZSwgb2Zmc2V0
LCBiYXNlLCBpbmRleCwgc2NhbGUsIGFyZykgXAotICAgIEJVTkRMRUxPQ0sgXAotICAgICJsZWEg
IiAjb2Zmc2V0ICIoJXEiICNiYXNlICIsJXEiICNpbmRleCAiLCIgI3NjYWxlICIpLCUlcjE0ZFxu
IiBcCi0gICAgI29wY29kZSAiICglJXIxNSwlJXIxNCksJSIgI2FyZyAiXG4iIFwKLSAgICBCVU5E
TEVVTkxPQ0sKLSNkZWZpbmUgVk1FTU9QUkVHKG9wY29kZSwgb2Zmc2V0LCBiYXNlLCBpbmRleCwg
c2NhbGUsIHJlZzEsIHJlZzIpIFwKLSAgICBCVU5ETEVMT0NLIFwKLSAgICAibGVhICIgI29mZnNl
dCAiKCVxIiAjYmFzZSAiLCVxIiAjaW5kZXggIiwiICNzY2FsZSAiKSwlJXIxNGRcbiIgXAotICAg
ICNvcGNvZGUgIiAoJSVyMTUsJSVyMTQpLCUlIiAjcmVnMSAiLCUlIiAjcmVnMiAiXG4iIFwKLSAg
ICBCVU5ETEVVTkxPQ0sKLSNkZWZpbmUgVkVYVE9QTUVNKG9wLCBzZWwsIHJlZywgb2Zmc2V0LCBi
YXNlLCBpbmRleCwgc2NhbGUpIFwKLSAgICBCVU5ETEVMT0NLIFwKLSAgICAibGVhICIgI29mZnNl
dCAiKCVxIiAjYmFzZSAiLCVxIiAjaW5kZXggIiwiICNzY2FsZSAiKSwlJXIxNGRcbiIgXAotICAg
ICNvcCAiICQiICNzZWwgIiwlJSIgI3JlZyAiLCglJXIxNSwlJXIxNClcbiIgXAotICAgIEJVTkRM
RVVOTE9DSworI2RlZmluZSBNRU1PUFJFRyhvcGNvZGUsIG9mZnNldCwgYmFzZSwgaW5kZXgsIHNj
YWxlLCByZWcpICAgICAgICAgICAgICAgICBcCisgIEJVTkRMRUxPQ0sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgImxlYSAi
ICNvZmZzZXQgIiglcSIgI2Jhc2UgIiwlcSIgI2luZGV4ICIsIiAjc2NhbGUgIiksJSVyMTRkXG4i
ICNvcGNvZGUgXAorICAiICglJXIxNSwlJXIxNCksJSUiICNyZWcgIlxuIiBCVU5ETEVVTkxPQ0sK
KyNkZWZpbmUgTUVNT1BNRU0ob3Bjb2RlLCByZWcsIG9mZnNldCwgYmFzZSwgaW5kZXgsIHNjYWxl
KSAgICAgICAgICAgICAgICAgXAorICBCVU5ETEVMT0NLICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJsZWEgIiAjb2Zmc2V0
ICIoJXEiICNiYXNlICIsJXEiICNpbmRleCAiLCIgI3NjYWxlICIpLCUlcjE0ZFxuIiAjb3Bjb2Rl
IFwKKyAgIiAlJSIgI3JlZyAiLCglJXIxNSwlJXIxNClcbiIgQlVORExFVU5MT0NLCisjZGVmaW5l
IE1FTU9QQVJHKG9wY29kZSwgb2Zmc2V0LCBiYXNlLCBpbmRleCwgc2NhbGUsIGFyZykgICAgICAg
ICAgICAgICAgIFwKKyAgQlVORExFTE9DSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAibGVhICIgI29mZnNldCAiKCVxIiAj
YmFzZSAiLCVxIiAjaW5kZXggIiwiICNzY2FsZSAiKSwlJXIxNGRcbiIgI29wY29kZSBcCisgICIg
KCUlcjE1LCUlcjE0KSwlIiAjYXJnICJcbiIgQlVORExFVU5MT0NLCisjZGVmaW5lIFZNRU1PUFJF
RyhvcGNvZGUsIG9mZnNldCwgYmFzZSwgaW5kZXgsIHNjYWxlLCByZWcxLCByZWcyKSAgICAgICAg
IFwKKyAgQlVORExFTE9DSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAibGVhICIgI29mZnNldCAiKCVxIiAjYmFzZSAiLCVx
IiAjaW5kZXggIiwiICNzY2FsZSAiKSwlJXIxNGRcbiIgI29wY29kZSBcCisgICIgKCUlcjE1LCUl
cjE0KSwlJSIgI3JlZzEgIiwlJSIgI3JlZzIgIlxuIiBCVU5ETEVVTkxPQ0sKKyNkZWZpbmUgVkVY
VE9QTUVNKG9wLCBzZWwsIHJlZywgb2Zmc2V0LCBiYXNlLCBpbmRleCwgc2NhbGUpICAgICAgICAg
ICBcCisgIEJVTkRMRUxPQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAibGVhICIgI29mZnNldCAiKCVxIiAjYmFzZSAiLCVxIiAj
aW5kZXggIiwiICNzY2FsZSAiKSwlJXIxNGRcbiIgI29wIFwKKyAgIiAkIiAjc2VsICIsJSUiICNy
ZWcgIiwoJSVyMTUsJSVyMTQpXG4iIEJVTkRMRVVOTE9DSwogI2Vsc2UgIC8vIGRlZmluZWQoX19u
YXRpdmVfY2xpZW50X18pICYmIGRlZmluZWQoX194ODZfNjRfXykKICNkZWZpbmUgTkFDTF9SMTQK
ICNkZWZpbmUgQlVORExFQUxJR04KICNkZWZpbmUgTUVNQUNDRVNTKGJhc2UpICIoJSIgI2Jhc2Ug
IikiCiAjZGVmaW5lIE1FTUFDQ0VTUzIob2Zmc2V0LCBiYXNlKSAjb2Zmc2V0ICIoJSIgI2Jhc2Ug
IikiCiAjZGVmaW5lIE1FTUxFQShvZmZzZXQsIGJhc2UpICNvZmZzZXQgIiglIiAjYmFzZSAiKSIK
LSNkZWZpbmUgTUVNTEVBMyhvZmZzZXQsIGluZGV4LCBzY2FsZSkgXAotICAgICNvZmZzZXQgIigs
JSIgI2luZGV4ICIsIiAjc2NhbGUgIikiCisjZGVmaW5lIE1FTUxFQTMob2Zmc2V0LCBpbmRleCwg
c2NhbGUpICNvZmZzZXQgIigsJSIgI2luZGV4ICIsIiAjc2NhbGUgIikiCiAjZGVmaW5lIE1FTUxF
QTQob2Zmc2V0LCBiYXNlLCBpbmRleCwgc2NhbGUpIFwKLSAgICAjb2Zmc2V0ICIoJSIgI2Jhc2Ug
IiwlIiAjaW5kZXggIiwiICNzY2FsZSAiKSIKKyAgI29mZnNldCAiKCUiICNiYXNlICIsJSIgI2lu
ZGV4ICIsIiAjc2NhbGUgIikiCiAjZGVmaW5lIE1FTU1PVkVTVFJJTkcocywgZCkKICNkZWZpbmUg
TUVNU1RPUkVTVFJJTkcocmVnLCBkKQogI2RlZmluZSBNRU1PUFJFRyhvcGNvZGUsIG9mZnNldCwg
YmFzZSwgaW5kZXgsIHNjYWxlLCByZWcpIFwKLSAgICAjb3Bjb2RlICIgIiAjb2Zmc2V0ICIoJSIg
I2Jhc2UgIiwlIiAjaW5kZXggIiwiICNzY2FsZSAiKSwlJSIgI3JlZyAiXG4iCisgICNvcGNvZGUg
IiAiICNvZmZzZXQgIiglIiAjYmFzZSAiLCUiICNpbmRleCAiLCIgI3NjYWxlICIpLCUlIiAjcmVn
ICJcbiIKICNkZWZpbmUgTUVNT1BNRU0ob3Bjb2RlLCByZWcsIG9mZnNldCwgYmFzZSwgaW5kZXgs
IHNjYWxlKSBcCi0gICAgI29wY29kZSAiICUlIiAjcmVnICIsIiNvZmZzZXQgIiglIiAjYmFzZSAi
LCUiICNpbmRleCAiLCIgI3NjYWxlICIpXG4iCisgICNvcGNvZGUgIiAlJSIgI3JlZyAiLCIgI29m
ZnNldCAiKCUiICNiYXNlICIsJSIgI2luZGV4ICIsIiAjc2NhbGUgIilcbiIKICNkZWZpbmUgTUVN
T1BBUkcob3Bjb2RlLCBvZmZzZXQsIGJhc2UsIGluZGV4LCBzY2FsZSwgYXJnKSBcCi0gICAgI29w
Y29kZSAiICIgI29mZnNldCAiKCUiICNiYXNlICIsJSIgI2luZGV4ICIsIiAjc2NhbGUgIiksJSIg
I2FyZyAiXG4iCi0jZGVmaW5lIFZNRU1PUFJFRyhvcGNvZGUsIG9mZnNldCwgYmFzZSwgaW5kZXgs
IHNjYWxlLCByZWcxLCByZWcyKSBcCi0gICAgI29wY29kZSAiICIgI29mZnNldCAiKCUiICNiYXNl
ICIsJSIgI2luZGV4ICIsIiAjc2NhbGUgIiksJSUiICNyZWcxICIsJSUiIFwKLSAgICAjcmVnMiAi
XG4iCisgICNvcGNvZGUgIiAiICNvZmZzZXQgIiglIiAjYmFzZSAiLCUiICNpbmRleCAiLCIgI3Nj
YWxlICIpLCUiICNhcmcgIlxuIgorI2RlZmluZSBWTUVNT1BSRUcob3Bjb2RlLCBvZmZzZXQsIGJh
c2UsIGluZGV4LCBzY2FsZSwgcmVnMSwgcmVnMikgICAgXAorICAjb3Bjb2RlICIgIiAjb2Zmc2V0
ICIoJSIgI2Jhc2UgIiwlIiAjaW5kZXggIiwiICNzY2FsZSAiKSwlJSIgI3JlZzEgXAorICAgICAg
ICAgICIsJSUiICNyZWcyICJcbiIKICNkZWZpbmUgVkVYVE9QTUVNKG9wLCBzZWwsIHJlZywgb2Zm
c2V0LCBiYXNlLCBpbmRleCwgc2NhbGUpIFwKLSAgICAjb3AgIiAkIiAjc2VsICIsJSUiICNyZWcg
IiwiI29mZnNldCAiKCUiICNiYXNlICIsJSIgI2luZGV4ICIsIiAjc2NhbGUgIilcbiIKKyAgI29w
ICIgJCIgI3NlbCAiLCUlIiAjcmVnICIsIiAjb2Zmc2V0ICIoJSIgI2Jhc2UgIiwlIiAjaW5kZXgg
IiwiICNzY2FsZSAiKVxuIgogI2VuZGlmICAvLyBkZWZpbmVkKF9fbmF0aXZlX2NsaWVudF9fKSAm
JiBkZWZpbmVkKF9feDg2XzY0X18pCiAKICNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQo
X19hYXJjaDY0X18pCkBAIC01NzMsNiArNjM0LDU3IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgWXV2
Q29uc3RhbnRzIFNJTURfQUxJR05FRChrWXZ1SDcwOUNvbnN0YW50cyk7ICAvLyBCVC43MDkKICNl
bmRpZgogI2VuZGlmCiAKKy8vIEludGVsIENvZGUgQW5hbGl6ZXIgbWFya2Vycy4gIEluc2VydCBJ
QUNBX1NUQVJUIElBQ0FfRU5EIGFyb3VuZCBjb2RlIHRvIGJlCisvLyBtZWFzdXJlZCBhbmQgdGhl
biBydW4gd2l0aCBpYWNhIC02NCBsaWJ5dXZfdW5pdHRlc3QuCisvLyBJQUNBX0FTTV9TVEFSVCBh
bWQgSUFDQV9BU01fRU5EIGFyZSBlcXVpdmFsZW50cyB0aGF0IGNhbiBiZSB1c2VkIHdpdGhpbgor
Ly8gaW5saW5lIGFzc2VtYmx5IGJsb2Nrcy4KKy8vIGV4YW1wbGUgb2YgaWFjYToKKy8vIH4vaWFj
YS1saW42NC9iaW4vaWFjYS5zaCAtNjQgLWFuYWx5c2lzIExBVEVOQ1kgb3V0L1JlbGVhc2UvbGli
eXV2X3VuaXR0ZXN0CisKKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19pMzg2
X18pCisKKyNkZWZpbmUgSUFDQV9BU01fU1RBUlQgIFwKKyAgIi5ieXRlIDB4MEYsIDB4MEJcbiIg
IFwKKyAgIiBtb3ZsICQxMTEsICUlZWJ4XG4iIFwKKyAgIi5ieXRlIDB4NjQsIDB4NjcsIDB4OTBc
biIKKworI2RlZmluZSBJQUNBX0FTTV9FTkQgICAgICAgICBcCisgICIgbW92bCAkMjIyLCAlJWVi
eFxuIiAgICAgIFwKKyAgIi5ieXRlIDB4NjQsIDB4NjcsIDB4OTBcbiIgXAorICAiLmJ5dGUgMHgw
RiwgMHgwQlxuIgorCisjZGVmaW5lIElBQ0FfU1NDX01BUksoTUFSS19JRCkgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgIF9fYXNtX18gX192b2xhdGlsZV9fKCJcblx0ICBtb3ZsICQiICNNQVJL
X0lEICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICIsICUlZWJ4IiAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICJcblx0ICAuYnl0ZSAweDY0LCAw
eDY3LCAweDkwIiBcCisgICAgICAgICAgICAgICAgICAgICAgIDogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgIDogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIpOworCisjZGVm
aW5lIElBQ0FfVURfQllURVMgX19hc21fXyBfX3ZvbGF0aWxlX18oIlxuXHQgLmJ5dGUgMHgwRiwg
MHgwQiIpOworCisjZWxzZSAvKiBWaXN1YWwgQyAqLworI2RlZmluZSBJQUNBX1VEX0JZVEVTIFwK
KyAgeyBfX2FzbSBfZW1pdCAweDBGIF9fYXNtIF9lbWl0IDB4MEIgfQorCisjZGVmaW5lIElBQ0Ff
U1NDX01BUksoeCkgXAorICB7IF9fYXNtIG1vdiBlYngsIHggX19hc20gX2VtaXQgMHg2NCBfX2Fz
bSBfZW1pdCAweDY3IF9fYXNtIF9lbWl0IDB4OTAgfQorCisjZGVmaW5lIElBQ0FfVkM2NF9TVEFS
VCBfX3dyaXRlZ3NieXRlKDExMSwgMTExKTsKKyNkZWZpbmUgSUFDQV9WQzY0X0VORCBfX3dyaXRl
Z3NieXRlKDIyMiwgMjIyKTsKKyNlbmRpZgorCisjZGVmaW5lIElBQ0FfU1RBUlQgICAgIFwKKyAg
eyAgICAgICAgICAgICAgICAgICAgXAorICAgIElBQ0FfVURfQllURVMgICAgICBcCisgICAgSUFD
QV9TU0NfTUFSSygxMTEpIFwKKyAgfQorI2RlZmluZSBJQUNBX0VORCAgICAgICBcCisgIHsgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBJQUNBX1NTQ19NQVJLKDIyMikgXAorICAgIElBQ0FfVURf
QllURVMgICAgICBcCisgIH0KKwogdm9pZCBJNDQ0VG9BUkdCUm93X05FT04oY29uc3QgdWludDgq
IHNyY195LAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAogICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LApAQCAtNjUxLDYgKzc2Mywx
MDIgQEAgdm9pZCBVWVZZVG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNyY191eXZ5LAogICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgSTQ0NFRvQVJHQlJvd19NU0EoY29uc3Qg
dWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Us
CisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7Cit2b2lkIEk0NDRUb0FSR0JSb3dfRFNQUjIoY29uc3QgdWludDgqIHNy
Y195LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpOwordm9pZCBJNDIyVG9BUkdCNDQ0NFJvd19EU1BSMihjb25zdCB1aW50
OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2I0NDQ0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFu
dHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEk0MjJU
b0FSR0IxNTU1Um93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYjE1NTUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgTlYxMlRvQVJHQlJvd19EU1BSMihjb25zdCB1aW50OCog
c3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191diwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CisKK3ZvaWQgSTQyMlRvQVJHQlJvd19NU0Eo
Y29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEk0MjJUb1JHQkFSb3dfTVNBKGNvbnN0IHVpbnQ4
KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfcmdiYSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpOwordm9pZCBJNDIyQWxwaGFUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiB5X2J1
ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdV9idWYsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHZfYnVmLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBhX2J1ZiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEk0MjJUb1JHQjI0Um93X01TQShjb25zdCB1aW50
OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3JnYjI0LAorICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgSTQyMlRvUkdCNTY1Um93X01TQShjb25zdCB1aW50OCog
c3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgSTQyMlRvQVJHQjQ0NDRSb3dfTVNBKGNvbnN0IHVp
bnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYjQ0NDQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBJNDIyVG9BUkdCMTU1
NVJvd19NU0EoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY192LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiMTU1
NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMq
IHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2
b2lkIE5WMTJUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29u
c3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7
Cit2b2lkIE5WMTJUb1JHQjU2NVJvd19NU0EoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdXYsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9yZ2I1NjUsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7Cit2b2lkIE5WMjFUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNf
eSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192dSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFlVWTJUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBz
cmNfeXV5MiwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMs
CisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFVZVllUb0FSR0JSb3df
TVNBKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3Rh
bnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiAK
IHZvaWQgQVJHQlRvWVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF95
LCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCVG9ZUm93X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwpAQCAtNjY2LDMwICs4NzQsMTEwIEBAIHZv
aWQgUkFXVG9ZUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCB1aW50OCogZHN0X3ksIGlu
dCB3aWR0aCk7CiB2b2lkIEFSR0JUb1lSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVp
bnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKIHZvaWQgQVJHQlRvWUpSb3dfTkVPTihjb25zdCB1aW50
OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKIHZvaWQgQVJHQlRvWVJvd19N
U0EoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Ci12b2lk
IEFSR0JUb1VWNDQ0Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3Us
IHVpbnQ4KiBkc3RfdiwKK3ZvaWQgQVJHQlRvWUpSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwordm9pZCBBUkdCVG9VVjQ0NFJvd19ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1VWUm93X05FT04oY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9p
ZCBBUkdCVG9VVjQ0NFJvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQlRv
VVZSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpOwordm9pZCBBUkdCVG9VVkpSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBCR1JBVG9V
VlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwKKyAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV9iZ3JhLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwK
KyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKTsKK3ZvaWQgQUJHUlRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2Fi
Z3IsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYWJnciwKKyAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFJHQkFUb1VW
Um93X05FT04oY29uc3QgdWludDgqIHNyY19yZ2JhLAorICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3JnYmEsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpOwordm9pZCBSR0IyNFRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3Jn
YjI0LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2IyNCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFJB
V1RvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3JhdywKKyAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3JhdywKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwK
KyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCk7Cit2b2lkIFJHQjU2NVRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3Jn
YjU2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JnYjU2NSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2
b2lkIEFSR0IxNTU1VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3Zv
aWQgQVJHQjQ0NDRUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYjQ0NDQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9p
ZCBBUkdCVG9VVkpSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQkdSQVRvVVZSb3dfTVNBKGNvbnN0IHVpbnQ4
KiBzcmNfYmdyYSwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2JncmEsCisg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBBQkdS
VG9VVlJvd19NU0EoY29uc3QgdWludDgqIHNyY19hYmdyLAorICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfYWJnciwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwK
KyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCk7Cit2b2lkIFJHQkFUb1VWUm93X01TQShjb25zdCB1aW50OCogc3JjX3JnYmEs
CisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2JhLAorICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92
LAorICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgUkdCMjRUb1VWUm93X01T
QShjb25zdCB1aW50OCogc3JjX3JnYjI0LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3JnYjI0LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKTsKK3ZvaWQgUkFXVG9VVlJvd19NU0EoY29uc3QgdWludDgqIHNyY19yYXcsCisgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JhdywKKyAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFJHQjU2NVRvVVZSb3dfTVNBKGNvbnN0IHVp
bnQ4KiBzcmNfcmdiNTY1LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9y
Z2I1NjUsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpOwordm9pZCBBUkdCMTU1NVRvVVZSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYjE1NTUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwot
dm9pZCBBUkdCVG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJp
ZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rf
diwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlRvVVZSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCVG9VVkpSb3dfTkVPTihjb25z
dCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBCR1JB
VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwgaW50IHNyY19zdHJpZGVfYmdyYSwK
LSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdp
ZHRoKTsKLXZvaWQgQUJHUlRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FiZ3IsIGludCBz
cmNfc3RyaWRlX2FiZ3IsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50
OCogZHN0X3YsIGludCB3aWR0aCk7Ci12b2lkIFJHQkFUb1VWUm93X05FT04oY29uc3QgdWludDgq
IHNyY19yZ2JhLCBpbnQgc3JjX3N0cmlkZV9yZ2JhLAotICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBSR0IyNFRvVVZSb3df
TkVPTihjb25zdCB1aW50OCogc3JjX3JnYjI0LCBpbnQgc3JjX3N0cmlkZV9yZ2IyNCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7
Ci12b2lkIFJBV1RvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3JhdywgaW50IHNyY19zdHJp
ZGVfcmF3LAotICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3Ys
IGludCB3aWR0aCk7Ci12b2lkIFJHQjU2NVRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3Jn
YjU2NSwgaW50IHNyY19zdHJpZGVfcmdiNTY1LAotICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Ci12b2lkIEFSR0IxNTU1VG9VVlJv
d19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1
LAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rfdiwg
aW50IHdpZHRoKTsKLXZvaWQgQVJHQjQ0NDRUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19h
cmdiNDQ0NCwgaW50IHNyY19zdHJpZGVfYXJnYjQ0NDQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwogdm9pZCBCR1JBVG9Z
Um93X05FT04oY29uc3QgdWludDgqIHNyY19iZ3JhLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7
CiB2b2lkIEFCR1JUb1lSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FiZ3IsIHVpbnQ4KiBkc3Rf
eSwgaW50IHdpZHRoKTsKIHZvaWQgUkdCQVRvWVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmdi
YSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwpAQCAtNjk4LDYgKzk4NiwzNyBAQCB2b2lkIFJB
V1RvWVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCB1aW50OCogZHN0X3ksIGludCB3aWR0
aCk7CiB2b2lkIFJHQjU2NVRvWVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCB1aW50
OCogZHN0X3ksIGludCB3aWR0aCk7CiB2b2lkIEFSR0IxNTU1VG9ZUm93X05FT04oY29uc3QgdWlu
dDgqIHNyY19hcmdiMTU1NSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCNDQ0
NFRvWVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsIHVpbnQ4KiBkc3RfeSwgaW50
IHdpZHRoKTsKK3ZvaWQgQkdSQVRvWVJvd19NU0EoY29uc3QgdWludDgqIHNyY19iZ3JhLCB1aW50
OCogZHN0X3ksIGludCB3aWR0aCk7Cit2b2lkIEFCR1JUb1lSb3dfTVNBKGNvbnN0IHVpbnQ4KiBz
cmNfYWJnciwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwordm9pZCBSR0JBVG9ZUm93X01TQShj
b25zdCB1aW50OCogc3JjX3JnYmEsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKK3ZvaWQgUkdC
MjRUb1lSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMjQsIHVpbnQ4KiBkc3RfeSwgaW50IHdp
ZHRoKTsKK3ZvaWQgUkFXVG9ZUm93X01TQShjb25zdCB1aW50OCogc3JjX3JhdywgdWludDgqIGRz
dF95LCBpbnQgd2lkdGgpOwordm9pZCBSR0I1NjVUb1lSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNf
cmdiNTY1LCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Cit2b2lkIEFSR0IxNTU1VG9ZUm93X01T
QShjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Cit2
b2lkIEJHUkFUb1VWUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYmdyYSwKKyAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEJHUkFUb1lSb3dfRFNQUjIoY29u
c3QgdWludDgqIHNyY19iZ3JhLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Cit2b2lkIEFCR1JU
b1VWUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfYWJnciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfYWJnciwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1lSb3dfRFNQUjIoY29uc3QgdWludDgq
IHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Cit2b2lkIEFCR1JUb1lSb3dfRFNQ
UjIoY29uc3QgdWludDgqIHNyY19hYmdyLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Cit2b2lk
IFJHQkFUb1VWUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGVfcmdiYSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFJHQkFUb1lSb3dfRFNQUjIoY29uc3Qg
dWludDgqIHNyY19yZ2JhLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1VW
Um93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91
LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCk7CiB2b2lkIEFSR0JUb1lSb3dfQyhjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKIHZvaWQgQVJHQlRvWUpSb3dfQyhjb25zdCB1
aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKIHZvaWQgQkdSQVRvWVJv
d19DKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwpAQCAt
NzIzLDk0ICsxMDQyLDI5MyBAQCB2b2lkIFJHQkFUb1lSb3dfQW55X05FT04oY29uc3QgdWludDgq
IHNyY19yZ2JhLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7CiB2b2lkIFJHQjI0VG9ZUm93X0Fu
eV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMjQsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsK
IHZvaWQgUkFXVG9ZUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCB1aW50OCogZHN0
X3ksIGludCB3aWR0aCk7CiB2b2lkIFJHQjU2NVRvWVJvd19BbnlfTkVPTihjb25zdCB1aW50OCog
c3JjX3JnYjU2NSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCMTU1NVRvWVJv
d19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCB1aW50OCogZHN0X3ksCit2b2lk
IEFSR0IxNTU1VG9ZUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgQVJHQjQ0NDRUb1lSb3dfQW55X05FT04oY29u
c3QgdWludDgqIHNyY19hcmdiNDQ0NCwgdWludDgqIGRzdF95LAordm9pZCBCR1JBVG9ZUm93X0Fu
eV9EU1BSMihjb25zdCB1aW50OCogc3JjX2JncmEsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsK
K3ZvaWQgQVJHQlRvWVJvd19BbnlfRFNQUjIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCog
ZHN0X3ksIGludCB3aWR0aCk7Cit2b2lkIEFCR1JUb1lSb3dfQW55X0RTUFIyKGNvbnN0IHVpbnQ4
KiBzcmNfYWJnciwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwordm9pZCBSR0JBVG9ZUm93X0Fu
eV9EU1BSMihjb25zdCB1aW50OCogc3JjX3JnYmEsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsK
K3ZvaWQgQVJHQjQ0NDRUb1lSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBCR1JBVG9ZUm93X0FueV9NU0EoY29u
c3QgdWludDgqIHNyY19iZ3JhLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Cit2b2lkIEFCR1JU
b1lSb3dfQW55X01TQShjb25zdCB1aW50OCogc3JjX2FiZ3IsIHVpbnQ4KiBkc3RfeSwgaW50IHdp
ZHRoKTsKK3ZvaWQgUkdCQVRvWVJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYSwgdWlu
dDgqIGRzdF95LCBpbnQgd2lkdGgpOwordm9pZCBBUkdCVG9ZSlJvd19BbnlfTVNBKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCVG9ZUm93
X0FueV9NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7
Ci0KLXZvaWQgQVJHQlRvVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNf
c3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCog
ZHN0X3YsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JUb1VWSlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JUb1VWUm93X1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Ci12
b2lkIEFSR0JUb1VWSlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3Ry
aWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBk
c3RfdiwgaW50IHdpZHRoKTsKLXZvaWQgQkdSQVRvVVZSb3dfU1NTRTMoY29uc3QgdWludDgqIHNy
Y19iZ3JhLCBpbnQgc3JjX3N0cmlkZV9iZ3JhLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKLXZvaWQgQUJHUlRvVVZSb3dfU1NT
RTMoY29uc3QgdWludDgqIHNyY19hYmdyLCBpbnQgc3JjX3N0cmlkZV9hYmdyLAotICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKLXZv
aWQgUkdCQVRvVVZSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19yZ2JhLCBpbnQgc3JjX3N0cmlk
ZV9yZ2JhLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rf
diwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlRvVVZSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNy
Y19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlRvVVZKUm93
X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQg
d2lkdGgpOwotdm9pZCBBUkdCVG9VVlJvd19BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdi
LCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JUb1VWSlJvd19Bbnlf
U1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lk
dGgpOwotdm9pZCBCR1JBVG9VVlJvd19BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19iZ3JhLCBp
bnQgc3JjX3N0cmlkZV9iZ3JhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Ci12b2lkIEFCR1JUb1VWUm93X0FueV9TU1NF
Myhjb25zdCB1aW50OCogc3JjX2FiZ3IsIGludCBzcmNfc3RyaWRlX2FiZ3IsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsK
LXZvaWQgUkdCQVRvVVZSb3dfQW55X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYSwgaW50IHNy
Y19zdHJpZGVfcmdiYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwg
dWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCVG9VVjQ0NFJvd19BbnlfTkVPTihj
b25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAordm9pZCBS
R0IyNFRvWVJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMjQsIHVpbnQ4KiBkc3RfeSwg
aW50IHdpZHRoKTsKK3ZvaWQgUkFXVG9ZUm93X0FueV9NU0EoY29uc3QgdWludDgqIHNyY19yYXcs
IHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKK3ZvaWQgUkdCNTY1VG9ZUm93X0FueV9NU0EoY29u
c3QgdWludDgqIHNyY19yZ2I1NjUsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKK3ZvaWQgQVJH
QjE1NTVUb1lSb3dfQW55X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCB1aW50OCogZHN0
X3ksIGludCB3aWR0aCk7CisKK3ZvaWQgQVJHQlRvVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JU
b1VWSlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1VWUm93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2
b2lkIEFSR0JUb1VWSlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAor
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQkdSQVRvVVZSb3dfU1NT
RTMoY29uc3QgdWludDgqIHNyY19iZ3JhLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV9iZ3JhLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKTsKK3ZvaWQgQUJHUlRvVVZSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hYmdy
LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hYmdyLAorICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgUkdCQVRv
VVZSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19yZ2JhLAorICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV9yZ2JhLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3UsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQlRvVVZSb3dfQW55X0FWWDIoY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKTsKK3ZvaWQgQVJHQlRvVVZKUm93X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpOwordm9pZCBBUkdCVG9VVlJvd19BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCk7Cit2b2lkIEFSR0JUb1VWSlJvd19BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpOwordm9pZCBCR1JBVG9VVlJvd19BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19iZ3JhLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYmdyYSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7
Cit2b2lkIEFCR1JUb1VWUm93X0FueV9TU1NFMyhjb25zdCB1aW50OCogc3JjX2FiZ3IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hYmdyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3Zv
aWQgUkdCQVRvVVZSb3dfQW55X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JnYmEsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBB
UkdCVG9VVjQ0NFJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF92LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpOwotdm9pZCBBUkdCVG9VVlJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGlu
dCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCVG9VVlJvd19BbnlfTVNBKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKLXZvaWQg
QVJHQlRvVVZKUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJp
ZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgq
IGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBCR1JBVG9VVlJvd19BbnlfTkVPTihjb25zdCB1aW50
OCogc3JjX2JncmEsIGludCBzcmNfc3RyaWRlX2JncmEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBBQkdSVG9V
VlJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX2FiZ3IsIGludCBzcmNfc3RyaWRlX2FiZ3Is
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpOwotdm9pZCBSR0JBVG9VVlJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3Jn
YmEsIGludCBzcmNfc3RyaWRlX3JnYmEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBSR0IyNFRvVVZSb3dfQW55
X05FT04oY29uc3QgdWludDgqIHNyY19yZ2IyNCwgaW50IHNyY19zdHJpZGVfcmdiMjQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdp
ZHRoKTsKLXZvaWQgUkFXVG9VVlJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3JhdywgaW50
IHNyY19zdHJpZGVfcmF3LAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwg
dWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBSR0I1NjVUb1VWUm93X0FueV9ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCBpbnQgc3JjX3N0cmlkZV9yZ2I1NjUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7
Cit2b2lkIEFSR0JUb1VWUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFS
R0JUb1VWNDQ0Um93X0FueV9NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsK
K3ZvaWQgQVJHQlRvVVZSb3dfQW55X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF92LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1VW
SlJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQkdSQVRvVVZSb3df
QW55X05FT04oY29uc3QgdWludDgqIHNyY19iZ3JhLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV9iZ3JhLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQUJHUlRvVVZSb3dfQW55X05FT04o
Y29uc3QgdWludDgqIHNyY19hYmdyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV9hYmdyLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgUkdCQVRvVVZSb3dfQW55X05FT04oY29uc3QgdWlu
dDgqIHNyY19yZ2JhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9y
Z2JhLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKTsKK3ZvaWQgUkdCMjRUb1VWUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
cmdiMjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2IyNCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCk7Cit2b2lkIFJBV1RvVVZSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19yYXcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfcmF3LAorICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQg
UkdCNTY1VG9VVlJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2I1NjUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwog
dm9pZCBBUkdCMTU1NVRvVVZSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3Ys
IGludCB3aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBBUkdCNDQ0NFRvVVZSb3dfQW55
X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2I0NDQ0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JU
b1VWUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwot
dm9pZCBBUkdCVG9VVkpSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRl
X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpOwotdm9pZCBCR1JBVG9VVlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwgaW50
IHNyY19zdHJpZGVfYmdyYSwKLSAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4
KiBkc3RfdiwgaW50IHdpZHRoKTsKLXZvaWQgQUJHUlRvVVZSb3dfQyhjb25zdCB1aW50OCogc3Jj
X2FiZ3IsIGludCBzcmNfc3RyaWRlX2FiZ3IsCi0gICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Ci12b2lkIFJHQkFUb1VWUm93X0MoY29uc3Qg
dWludDgqIHNyY19yZ2JhLCBpbnQgc3JjX3N0cmlkZV9yZ2JhLAotICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwotdm9pZCBSR0IyNFRvVVZS
b3dfQyhjb25zdCB1aW50OCogc3JjX3JnYjI0LCBpbnQgc3JjX3N0cmlkZV9yZ2IyNCwKLSAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Ci12
b2lkIFJBV1RvVVZSb3dfQyhjb25zdCB1aW50OCogc3JjX3JhdywgaW50IHNyY19zdHJpZGVfcmF3
LAotICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0
aCk7Ci12b2lkIFJHQjU2NVRvVVZSb3dfQyhjb25zdCB1aW50OCogc3JjX3JnYjU2NSwgaW50IHNy
Y19zdHJpZGVfcmdiNTY1LAotICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50
OCogZHN0X3YsIGludCB3aWR0aCk7Ci12b2lkIEFSR0IxNTU1VG9VVlJvd19DKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAotICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKLXZvaWQgQVJH
QjQ0NDRUb1VWUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwgaW50IHNyY19zdHJpZGVf
YXJnYjQ0NDQsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRz
dF92LCBpbnQgd2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQlRvVVZKUm93X0Fu
eV9NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQkdSQVRvVVZSb3dfQW55X01TQShjb25z
dCB1aW50OCogc3JjX2JncmEsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGVfYmdyYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCk7Cit2b2lkIEFCR1JUb1VWUm93X0FueV9NU0EoY29uc3QgdWludDgqIHNyY19h
YmdyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FiZ3IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwor
dm9pZCBSR0JBVG9VVlJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2JhLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgUkdCMjRUb1VW
Um93X0FueV9NU0EoY29uc3QgdWludDgqIHNyY19yZ2IyNCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfcmdiMjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBSQVdUb1VWUm93X0FueV9N
U0EoY29uc3QgdWludDgqIHNyY19yYXcsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV9yYXcsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpOwordm9pZCBSR0I1NjVUb1VWUm93X0FueV9NU0EoY29uc3QgdWludDgqIHNy
Y19yZ2I1NjUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2I1
NjUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpOwordm9pZCBBUkdCMTU1NVRvVVZSb3dfQW55X01TQShjb25zdCB1aW50OCog
c3JjX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV9hcmdiMTU1NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEJHUkFUb1VWUm93X0FueV9EU1BSMihj
b25zdCB1aW50OCogc3JjX2JncmEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV9iZ3JhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQUJHUlRvVVZSb3dfQW55X0RTUFIyKGNvbnN0
IHVpbnQ4KiBzcmNfYWJnciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX2FiZ3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBSR0JBVG9VVlJvd19BbnlfRFNQUjIoY29uc3QgdWlu
dDgqIHNyY19yZ2JhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
cmdiYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1VWUm93X0FueV9EU1BSMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKTsKK3ZvaWQgQVJHQlRvVVZSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1VWSlJvd19DKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1VW
Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwor
dm9pZCBBUkdCVG9VVkpSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdSwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpOwordm9pZCBCR1JBVG9VVlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYmdy
YSwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9iZ3JhLAorICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQUJHUlRvVVZSb3dfQyhjb25zdCB1
aW50OCogc3JjX2FiZ3IsCisgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYWJnciwK
KyAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFJHQkFUb1VW
Um93X0MoY29uc3QgdWludDgqIHNyY19yZ2JhLAorICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3JnYmEsCisgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwor
dm9pZCBSR0IyNFRvVVZSb3dfQyhjb25zdCB1aW50OCogc3JjX3JnYjI0LAorICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2IyNCwKKyAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFJBV1RvVVZSb3dfQyhjb25zdCB1aW50OCogc3JjX3Jh
dywKKyAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JhdywKKyAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFJHQjU2NVRvVVZSb3dfQyhjb25zdCB1aW50
OCogc3JjX3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JnYjU2
NSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lk
IEFSR0IxNTU1VG9VVlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsCisgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwK
KyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQjQ0NDRUb1VWUm93
X0MoY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGVfYXJnYjQ0NDQsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpOwogCiB2b2lkIEFSR0JUb1VWNDQ0Um93X1NTU0UzKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1
aW50OCogZHN0X3YsIGludCB3aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBBUkdCVG9VVjQ0NFJvd19Bbnlf
U1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpOwogCiB2b2lkIEFSR0JUb1VWNDQ0Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAotICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgp
OworICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIAog
dm9pZCBNaXJyb3JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lk
dGgpOwogdm9pZCBNaXJyb3JSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwg
aW50IHdpZHRoKTsKQEAgLTgyNCwxMSArMTM0MiwxNyBAQCB2b2lkIE1pcnJvclJvd19BbnlfU1NF
Mihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpOwogdm9pZCBNaXJyb3JS
b3dfQW55X05FT04oY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKTsKIHZv
aWQgTWlycm9yUm93X0FueV9NU0EoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdp
ZHRoKTsKIAotdm9pZCBNaXJyb3JVVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3V2LCB1aW50
OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwKK3ZvaWQgTWlycm9yVVZSb3dfU1NTRTMoY29uc3QgdWlu
dDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCiAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCk7Ci12b2lkIE1pcnJvclVWUm93X05FT04oY29uc3QgdWludDgqIHNyY191diwgdWlu
dDgqIGRzdF91LCB1aW50OCogZHN0X3YsCit2b2lkIE1pcnJvclVWUm93X05FT04oY29uc3QgdWlu
dDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAogICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCk7Ci12b2lkIE1pcnJvclVWUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfdXYsIHVpbnQ4
KiBkc3RfdSwgdWludDgqIGRzdF92LAordm9pZCBNaXJyb3JVVlJvd19EU1BSMihjb25zdCB1aW50
OCogc3JjX3V2LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKTsKIHZvaWQgTWlycm9yVVZSb3dfQyhjb25zdCB1aW50OCogc3JjX3V2LCB1aW50OCog
ZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKIApAQCAtODQzLDM3ICsxMzY3LDc1IEBA
IHZvaWQgQVJHQk1pcnJvclJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0
LCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCTWlycm9yUm93X0FueV9NU0EoY29uc3QgdWludDgqIHNy
YywgdWludDgqIGRzdCwgaW50IHdpZHRoKTsKIAogdm9pZCBTcGxpdFVWUm93X0MoY29uc3QgdWlu
dDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Ci12b2lk
IFNwbGl0VVZSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3V2LCB1aW50OCogZHN0X3UsIHVpbnQ4
KiBkc3RfdiwKK3ZvaWQgU3BsaXRVVlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdXYsCisgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwotdm9pZCBTcGxpdFVW
Um93X0FWWDIoY29uc3QgdWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3Ys
Cit2b2lkIFNwbGl0VVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3V2LAorICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92
LAogICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgU3BsaXRVVlJvd19ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfdXYsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAordm9pZCBT
cGxpdFVWUm93X05FT04oY29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lkIFNwbGl0VVZSb3dfRFNQUjIoY29uc3Qg
dWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsCit2b2lkIFNwbGl0VVZS
b3dfRFNQUjIoY29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAogICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lkIFNwbGl0VVZSb3dfQW55X1NTRTIoY29uc3Qg
dWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsCit2b2lkIFNwbGl0VVZS
b3dfQW55X1NTRTIoY29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAog
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lkIFNwbGl0VVZSb3dfQW55
X0FWWDIoY29uc3QgdWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsCit2
b2lkIFNwbGl0VVZSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lkIFNw
bGl0VVZSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50
OCogZHN0X3YsCit2b2lkIFNwbGl0VVZSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY191diwK
KyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF92LAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCk7Ci12b2lkIFNwbGl0VVZSb3dfQW55X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfdXYsIHVpbnQ4
KiBkc3RfdSwgdWludDgqIGRzdF92LAordm9pZCBTcGxpdFVWUm93X0FueV9EU1BSMihjb25zdCB1
aW50OCogc3JjX3V2LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKTsKIAotdm9pZCBNZXJnZVVWUm93X0MoY29uc3QgdWludDgqIHNy
Y191LCBjb25zdCB1aW50OCogc3JjX3YsIHVpbnQ4KiBkc3RfdXYsCit2b2lkIE1lcmdlVVZSb3df
Qyhjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3YsCisgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LAogICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKTsKLXZvaWQgTWVyZ2VVVlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdSwgY29u
c3QgdWludDgqIHNyY192LCB1aW50OCogZHN0X3V2LAordm9pZCBNZXJnZVVWUm93X1NTRTIoY29u
c3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91diwKICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7Ci12b2lkIE1lcmdlVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3Us
IGNvbnN0IHVpbnQ4KiBzcmNfdiwgdWludDgqIGRzdF91diwKK3ZvaWQgTWVyZ2VVVlJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfdiwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXYsCiAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpOwotdm9pZCBNZXJnZVVWUm93X05FT04oY29uc3QgdWludDgqIHNy
Y191LCBjb25zdCB1aW50OCogc3JjX3YsIHVpbnQ4KiBkc3RfdXYsCit2b2lkIE1lcmdlVVZSb3df
TkVPTihjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LAogICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgTWVyZ2VVVlJvd19BbnlfU1NFMihjb25zdCB1
aW50OCogc3JjX3UsIGNvbnN0IHVpbnQ4KiBzcmNfdiwgdWludDgqIGRzdF91diwKK3ZvaWQgTWVy
Z2VVVlJvd19NU0EoY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXYsCisgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIE1lcmdlVVZSb3dfQW55X1NTRTIoY29u
c3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LAogICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lkIE1lcmdlVVZSb3dfQW55X0FWWDIoY29u
c3QgdWludDgqIHNyY191LCBjb25zdCB1aW50OCogc3JjX3YsIHVpbnQ4KiBkc3RfdXYsCit2b2lk
IE1lcmdlVVZSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3V2LAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lk
IE1lcmdlVVZSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY191LCBjb25zdCB1aW50OCogc3Jj
X3YsIHVpbnQ4KiBkc3RfdXYsCit2b2lkIE1lcmdlVVZSb3dfQW55X05FT04oY29uc3QgdWludDgq
IHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LAogICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCk7Cit2b2lkIE1lcmdlVVZSb3dfQW55X01TQShjb25zdCB1aW50OCog
c3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LAorICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKTsKIAogdm9pZCBDb3B5Um93X1NTRTIoY29uc3QgdWludDgqIHNyYywgdWlu
dDgqIGRzdCwgaW50IGNvdW50KTsKIHZvaWQgQ29weVJvd19BVlgoY29uc3QgdWludDgqIHNyYywg
dWludDgqIGRzdCwgaW50IGNvdW50KTsKQEAgLTg5MCwyOCArMTQ1MiwzNSBAQCB2b2lkIENvcHlS
b3dfMTZfQyhjb25zdCB1aW50MTYqIHNyYywgdWludDE2KiBkc3QsIGludCBjb3VudCk7CiB2b2lk
IEFSR0JDb3B5QWxwaGFSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJn
YiwgaW50IHdpZHRoKTsKIHZvaWQgQVJHQkNvcHlBbHBoYVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCQ29weUFscGhh
Um93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0
aCk7Ci12b2lkIEFSR0JDb3B5QWxwaGFSb3dfQW55X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdi
LCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIEFSR0JDb3B5QWxwaGFSb3dfQW55X1NTRTIoY29uc3Qg
dWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwotdm9p
ZCBBUkdCQ29weUFscGhhUm93X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgq
IGRzdF9hcmdiLAordm9pZCBBUkdCQ29weUFscGhhUm93X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIAogdm9pZCBBUkdC
RXh0cmFjdEFscGhhUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2EsIGlu
dCB3aWR0aCk7CiB2b2lkIEFSR0JFeHRyYWN0QWxwaGFSb3dfU1NFMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHVpbnQ4KiBkc3RfYSwgaW50IHdpZHRoKTsKIHZvaWQgQVJHQkV4dHJhY3RBbHBoYVJv
d19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hLCBpbnQgd2lkdGgpOwog
dm9pZCBBUkdCRXh0cmFjdEFscGhhUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50
OCogZHN0X2EsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JFeHRyYWN0QWxwaGFSb3dfQW55X1NTRTIo
Y29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2EsCit2b2lkIEFSR0JFeHRyYWN0QWxw
aGFSb3dfQW55X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpOwotdm9pZCBBUkdCRXh0cmFjdEFscGhhUm93X0FueV9BVlgyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hLAordm9pZCBBUkdCRXh0cmFjdEFscGhh
Um93X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2EsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKTsKLXZvaWQgQVJHQkV4dHJhY3RBbHBoYVJvd19BbnlfTkVPTihjb25z
dCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYSwKK3ZvaWQgQVJHQkV4dHJhY3RBbHBoYVJv
d19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7CiAKIHZvaWQgQVJHQkNvcHlZVG9BbHBoYVJvd19DKGNvbnN0IHVpbnQ4
KiBzcmNfeSwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCQ29weVlUb0Fs
cGhhUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0
aCk7CiB2b2lkIEFSR0JDb3B5WVRvQWxwaGFSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3ksIHVp
bnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQkNvcHlZVG9BbHBoYVJvd19Bbnlf
U1NFMihjb25zdCB1aW50OCogc3JjX3ksIHVpbnQ4KiBkc3RfYXJnYiwKK3ZvaWQgQVJHQkNvcHlZ
VG9BbHBoYVJvd19BbnlfU1NFMihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lkIEFSR0JDb3B5WVRvQWxwaGFSb3dfQW55X0FW
WDIoY29uc3QgdWludDgqIHNyY195LCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIEFSR0JDb3B5WVRv
QWxwaGFSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgpOwogCiB2b2lkIFNldFJvd19DKHVpbnQ4KiBkc3QsIHVpbnQ4
IHY4LCBpbnQgY291bnQpOwpAQCAtOTI1LDUwICsxNDk0LDEwMSBAQCB2b2lkIEFSR0JTZXRSb3df
Qyh1aW50OCogZHN0X2FyZ2IsIHVpbnQzMiB2MzIsIGludCBjb3VudCk7CiB2b2lkIEFSR0JTZXRS
b3dfWDg2KHVpbnQ4KiBkc3RfYXJnYiwgdWludDMyIHYzMiwgaW50IGNvdW50KTsKIHZvaWQgQVJH
QlNldFJvd19ORU9OKHVpbnQ4KiBkc3RfYXJnYiwgdWludDMyIHYzMiwgaW50IGNvdW50KTsKIHZv
aWQgQVJHQlNldFJvd19BbnlfTkVPTih1aW50OCogZHN0X2FyZ2IsIHVpbnQzMiB2MzIsIGludCBj
b3VudCk7Cit2b2lkIEFSR0JTZXRSb3dfTVNBKHVpbnQ4KiBkc3RfYXJnYiwgdWludDMyIHYzMiwg
aW50IGNvdW50KTsKK3ZvaWQgQVJHQlNldFJvd19BbnlfTVNBKHVpbnQ4KiBkc3RfYXJnYiwgdWlu
dDMyIHYzMiwgaW50IGNvdW50KTsKIAogLy8gQVJHQlNodWZmbGVycyBmb3IgQkdSQVRvQVJHQiBl
dGMuCi12b2lkIEFSR0JTaHVmZmxlUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCog
ZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLCBp
bnQgd2lkdGgpOwotdm9pZCBBUkdCU2h1ZmZsZVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzaHVmZmxlciwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlNodWZmbGVSb3dfU1NTRTMoY29uc3Qg
dWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzaHVmZmxlciwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlNodWZmbGVS
b3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsIGludCB3aWR0aCk7Ci12b2lk
IEFSR0JTaHVmZmxlUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2Fy
Z2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLCBpbnQg
d2lkdGgpOwotdm9pZCBBUkdCU2h1ZmZsZVJvd19BbnlfU1NFMihjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNodWZmbGVyLCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCU2h1ZmZsZVJvd19BbnlfU1NT
RTMoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsIGludCB3aWR0aCk7Ci12b2lk
IEFSR0JTaHVmZmxlUm93X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRz
dF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZs
ZXIsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JTaHVmZmxlUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc2h1ZmZsZXIsIGludCB3aWR0aCk7Cit2b2lkIEFSR0JTaHVmZmxlUm93
X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsCisg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQlNodWZmbGVSb3dfU1NF
Mihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzaHVmZmxl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBBUkdCU2h1ZmZs
ZVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNodWZmbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9p
ZCBBUkdCU2h1ZmZsZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNodWZmbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCk7Cit2b2lkIEFSR0JTaHVmZmxlUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKTsKK3ZvaWQgQVJHQlNodWZmbGVSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzaHVmZmxlciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JTaHVmZmxlUm93X0FueV9TU0UyKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JTaHVmZmxl
Um93X0FueV9TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc2h1ZmZsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpOwordm9pZCBBUkdCU2h1ZmZsZVJvd19BbnlfQVZYMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBBUkdCU2h1ZmZsZVJvd19B
bnlfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNodWZmbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
Owordm9pZCBBUkdCU2h1ZmZsZVJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCk7CiAKIHZvaWQgUkdCMjRUb0FSR0JSb3dfU1NTRTMoY29uc3Qg
dWludDgqIHNyY19yZ2IyNCwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBSQVdU
b0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19yYXcsIHVpbnQ4KiBkc3RfYXJnYiwgaW50
IHdpZHRoKTsKIHZvaWQgUkFXVG9SR0IyNFJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3Jhdywg
dWludDgqIGRzdF9yZ2IyNCwgaW50IHdpZHRoKTsKIHZvaWQgUkdCNTY1VG9BUkdCUm93X1NTRTIo
Y29uc3QgdWludDgqIHNyY19yZ2I1NjUsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZv
aWQgQVJHQjE1NTVUb0FSR0JSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCB1aW50
OCogZHN0X2FyZ2IsCit2b2lkIEFSR0IxNTU1VG9BUkdCUm93X1NTRTIoY29uc3QgdWludDgqIHNy
Y19hcmdiMTU1NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgQVJHQjQ0NDRU
b0FSR0JSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCB1aW50OCogZHN0X2FyZ2Is
Cit2b2lkIEFSR0I0NDQ0VG9BUkdCUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgUkdCNTY1VG9BUkdCUm93X0FWWDIo
Y29uc3QgdWludDgqIHNyY19yZ2I1NjUsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZv
aWQgQVJHQjE1NTVUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCB1aW50
OCogZHN0X2FyZ2IsCit2b2lkIEFSR0IxNTU1VG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHNy
Y19hcmdiMTU1NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgQVJHQjQ0NDRU
b0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCB1aW50OCogZHN0X2FyZ2Is
Cit2b2lkIEFSR0I0NDQ0VG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIAogdm9pZCBSR0IyNFRvQVJHQlJvd19ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfcmdiMjQsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKK3Zv
aWQgUkdCMjRUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMjQsIHVpbnQ4KiBkc3Rf
YXJnYiwgaW50IHdpZHRoKTsKIHZvaWQgUkFXVG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNy
Y19yYXcsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKK3ZvaWQgUkFXVG9BUkdCUm93X01T
QShjb25zdCB1aW50OCogc3JjX3JhdywgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9p
ZCBSQVdUb1JHQjI0Um93X05FT04oY29uc3QgdWludDgqIHNyY19yYXcsIHVpbnQ4KiBkc3Rfcmdi
MjQsIGludCB3aWR0aCk7Cit2b2lkIFJBV1RvUkdCMjRSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNf
cmF3LCB1aW50OCogZHN0X3JnYjI0LCBpbnQgd2lkdGgpOwogdm9pZCBSR0I1NjVUb0FSR0JSb3df
TkVPTihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgp
Owotdm9pZCBBUkdCMTU1NVRvQVJHQlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUs
IHVpbnQ4KiBkc3RfYXJnYiwKK3ZvaWQgUkdCNTY1VG9BUkdCUm93X01TQShjb25zdCB1aW50OCog
c3JjX3JnYjU2NSwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwordm9pZCBBUkdCMTU1NVRv
QVJHQlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCk7Ci12b2lkIEFSR0I0NDQ0VG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNy
Y19hcmdiNDQ0NCwgdWludDgqIGRzdF9hcmdiLAordm9pZCBBUkdCMTU1NVRvQVJHQlJvd19NU0Eo
Y29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2
b2lkIEFSR0I0NDQ0VG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgQVJHQjQ0NDRUb0FSR0JSb3dfTVNBKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsIHVpbnQ4KiBkc3RfYXJnYiwKK3ZvaWQgUkdCMjRUb0FS
R0JSb3dfRFNQUjIoY29uc3QgdWludDgqIHNyY19yZ2IyNCwgdWludDgqIGRzdF9hcmdiLCBpbnQg
d2lkdGgpOwordm9pZCBSQVdUb0FSR0JSb3dfRFNQUjIoY29uc3QgdWludDgqIHNyY19yYXcsIHVp
bnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKK3ZvaWQgUkdCNTY1VG9BUkdCUm93X0RTUFIyKGNv
bnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7Cit2b2lk
IEFSR0IxNTU1VG9BUkdCUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQjQ0NDRUb0FSR0JSb3dfRFNQUjIo
Y29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
Owordm9pZCBBUkdCNDQ0NFRvQVJHQlJvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIFJHQjI0VG9BUkdCUm93X0MoY29uc3Qg
dWludDgqIHNyY19yZ2IyNCwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBSQVdU
b0FSR0JSb3dfQyhjb25zdCB1aW50OCogc3JjX3JhdywgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lk
dGgpOwpAQCAtOTc2LDM1ICsxNTk2LDcwIEBAIHZvaWQgUkFXVG9SR0IyNFJvd19DKGNvbnN0IHVp
bnQ4KiBzcmNfcmF3LCB1aW50OCogZHN0X3JnYjI0LCBpbnQgd2lkdGgpOwogdm9pZCBSR0I1NjVU
b0FSR0JSb3dfQyhjb25zdCB1aW50OCogc3JjX3JnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lk
dGgpOwogdm9pZCBBUkdCMTU1NVRvQVJHQlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCNDQ0NFRvQVJHQlJvd19DKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwotdm9pZCBSR0Iy
NFRvQVJHQlJvd19BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19yZ2IyNCwgdWludDgqIGRzdF9h
cmdiLAordm9pZCBSR0IyNFRvQVJHQlJvd19BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19yZ2Iy
NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIFJBV1RvQVJHQlJvd19B
bnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19yYXcsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRo
KTsKIHZvaWQgUkFXVG9SR0IyNFJvd19BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19yYXcsIHVp
bnQ4KiBkc3RfcmdiMjQsIGludCB3aWR0aCk7CiAKLXZvaWQgUkdCNTY1VG9BUkdCUm93X0FueV9T
U0UyKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIFJHQjU2
NVRvQVJHQlJvd19BbnlfU1NFMihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lkIEFSR0IxNTU1VG9BUkdCUm93X0FueV9TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIHVpbnQ4KiBkc3RfYXJnYiwKK3ZvaWQgQVJHQjE1NTVU
b0FSR0JSb3dfQW55X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpOwotdm9pZCBBUkdCNDQ0NFRvQVJHQlJvd19BbnlfU1NF
Mihjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIEFSR0I0
NDQ0VG9BUkdCUm93X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgUkdCNTY1VG9BUkdCUm93X0FueV9B
VlgyKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIFJHQjU2
NVRvQVJHQlJvd19BbnlfQVZYMihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lkIEFSR0IxNTU1VG9BUkdCUm93X0FueV9BVlgyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIHVpbnQ4KiBkc3RfYXJnYiwKK3ZvaWQgQVJHQjE1NTVU
b0FSR0JSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpOwotdm9pZCBBUkdCNDQ0NFRvQVJHQlJvd19BbnlfQVZY
Mihjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIEFSR0I0
NDQ0VG9BUkdCUm93X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIAotdm9pZCBSR0IyNFRvQVJHQlJvd19Bbnlf
TkVPTihjb25zdCB1aW50OCogc3JjX3JnYjI0LCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIFJHQjI0
VG9BUkdCUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMjQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgUkdCMjRUb0FSR0JSb3dfQW55X01TQShjb25zdCB1aW50
OCogc3JjX3JnYjI0LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7CiB2b2lkIFJBV1RvQVJH
QlJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3JhdywgdWludDgqIGRzdF9hcmdiLCBpbnQg
d2lkdGgpOwordm9pZCBSQVdUb0FSR0JSb3dfQW55X01TQShjb25zdCB1aW50OCogc3JjX3Jhdywg
dWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBSQVdUb1JHQjI0Um93X0FueV9ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCB1aW50OCogZHN0X3JnYjI0LCBpbnQgd2lkdGgpOwotdm9p
ZCBSR0I1NjVUb0FSR0JSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19yZ2I1NjUsIHVpbnQ4
KiBkc3RfYXJnYiwKK3ZvaWQgUkFXVG9SR0IyNFJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNf
cmF3LCB1aW50OCogZHN0X3JnYjI0LCBpbnQgd2lkdGgpOwordm9pZCBSR0I1NjVUb0FSR0JSb3df
QW55X05FT04oY29uc3QgdWludDgqIHNyY19yZ2I1NjUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpOwotdm9pZCBBUkdCMTU1NVRvQVJHQlJvd19BbnlfTkVPTihjb25zdCB1aW50OCog
c3JjX2FyZ2IxNTU1LCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIFJHQjU2NVRvQVJHQlJvd19Bbnlf
TVNBKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCk7Cit2b2lkIEFSR0IxNTU1VG9BUkdCUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjE1NTUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgQVJHQjQ0
NDRUb0FSR0JSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwgdWludDgqIGRz
dF9hcmdiLAordm9pZCBBUkdCMTU1NVRvQVJHQlJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjE1NTUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0I0
NDQ0VG9BUkdCUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgQVJHQjQ0NDRUb0FSR0JSb3dfQW55
X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIFJH
QjI0VG9BUkdCUm93X0FueV9EU1BSMihjb25zdCB1aW50OCogc3JjX3JnYjI0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgUkFXVG9BUkdCUm93X0FueV9EU1BSMihjb25z
dCB1aW50OCogc3JjX3JhdywgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwordm9pZCBSR0I1
NjVUb0FSR0JSb3dfQW55X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBBUkdCMTU1NVRvQVJHQlJvd19BbnlfRFNQ
UjIoY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCk7Cit2b2lkIEFSR0I0NDQ0VG9BUkdCUm93X0FueV9EU1BSMihjb25zdCB1aW50
OCogc3JjX2FyZ2I0NDQ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsK
Kwordm9pZCBBUkdCNDQ0NFRvQVJHQlJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0
NDQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiAKIHZvaWQgQVJHQlRvUkdC
MjRSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwgaW50IHdp
ZHRoKTsKQEAgLTEwMTMsMTIgKzE2NjgsMTggQEAgdm9pZCBBUkdCVG9SR0I1NjVSb3dfU1NFMihj
b25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBB
UkdCVG9BUkdCMTU1NVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9y
Z2IsIGludCB3aWR0aCk7CiB2b2lkIEFSR0JUb0FSR0I0NDQ0Um93X1NTRTIoY29uc3QgdWludDgq
IHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwgaW50IHdpZHRoKTsKIAotdm9pZCBBUkdCVG9SR0I1
NjVEaXRoZXJSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzIgZGl0aGVyNCwgaW50IHdpZHRo
KTsKLXZvaWQgQVJHQlRvUkdCNTY1RGl0aGVyUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdi
LCB1aW50OCogZHN0X3JnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDMyIGRpdGhlcjQsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JUb1JHQjU2NURpdGhlclJvd19B
VlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMiBkaXRoZXI0LCBpbnQgd2lkdGgpOwordm9p
ZCBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50MzIgZGl0aGVyNCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQlRvUkdCNTY1RGl0aGVyUm93X1NTRTIoY29uc3Qg
dWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3JnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyIGRp
dGhlcjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lk
IEFSR0JUb1JHQjU2NURpdGhlclJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMiBkaXRoZXI0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogCiB2b2lkIEFSR0JUb1JHQjU2NVJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCk7CiB2b2lk
IEFSR0JUb0FSR0IxNTU1Um93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X3JnYiwgaW50IHdpZHRoKTsKQEAgLTEwMjksOCArMTY5MCwxOSBAQCB2b2lkIEFSR0JUb1JBV1Jv
d19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCk7
CiB2b2lkIEFSR0JUb1JHQjU2NVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgq
IGRzdF9yZ2IsIGludCB3aWR0aCk7CiB2b2lkIEFSR0JUb0FSR0IxNTU1Um93X05FT04oY29uc3Qg
dWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwgaW50IHdpZHRoKTsKIHZvaWQgQVJHQlRv
QVJHQjQ0NDRSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBp
bnQgd2lkdGgpOwotdm9pZCBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfTkVPTihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50MzIgZGl0aGVyNCwgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQlRvUkdCNTY1RGl0
aGVyUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3JnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDMyIGRpdGhlcjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1JHQjI0Um93X01TQShjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpOwordm9pZCBBUkdCVG9SQVdSb3dfTVNBKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCk7Cit2b2lkIEFS
R0JUb1JHQjU2NVJvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwg
aW50IHdpZHRoKTsKK3ZvaWQgQVJHQlRvQVJHQjE1NTVSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb0FSR0I0NDQ0Um93
X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpOwor
dm9pZCBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzIgZGl0aGVyNCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogCiB2b2lkIEFSR0JUb1JHQkFSb3dfQyhjb25z
dCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBBUkdC
VG9SR0IyNFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3
aWR0aCk7CkBAIC0xMDQyLDEwICsxNzE0LDEyIEBAIHZvaWQgQVJHQlRvQVJHQjQ0NDRSb3dfQyhj
b25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBK
NDAwVG9BUkdCUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195LCB1aW50OCogZHN0X2FyZ2IsIGlu
dCB3aWR0aCk7CiB2b2lkIEo0MDBUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3ksIHVp
bnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKIHZvaWQgSjQwMFRvQVJHQlJvd19ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfeSwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwordm9pZCBKNDAwVG9B
UkdCUm93X01TQShjb25zdCB1aW50OCogc3JjX3ksIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRo
KTsKIHZvaWQgSjQwMFRvQVJHQlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeSwgdWludDgqIGRzdF9h
cmdiLCBpbnQgd2lkdGgpOwogdm9pZCBKNDAwVG9BUkdCUm93X0FueV9TU0UyKGNvbnN0IHVpbnQ4
KiBzcmNfeSwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBKNDAwVG9BUkdCUm93
X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeSwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgp
Owogdm9pZCBKNDAwVG9BUkdCUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwgdWludDgq
IGRzdF9hcmdiLCBpbnQgd2lkdGgpOwordm9pZCBKNDAwVG9BUkdCUm93X0FueV9NU0EoY29uc3Qg
dWludDgqIHNyY195LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7CiAKIHZvaWQgSTQ0NFRv
QVJHQlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdSwKQEAgLTE0NDIsMTA4ICsyMTE2LDIyMiBAQCB2b2lkIEk0MDBUb0FSR0JS
b3dfQyhjb25zdCB1aW50OCogc3JjX3ksIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKIHZv
aWQgSTQwMFRvQVJHQlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeSwgdWludDgqIGRzdF9hcmdi
LCBpbnQgd2lkdGgpOwogdm9pZCBJNDAwVG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHNyY195
LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7CiB2b2lkIEk0MDBUb0FSR0JSb3dfTkVPTihj
b25zdCB1aW50OCogc3JjX3ksIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKK3ZvaWQgSTQw
MFRvQVJHQlJvd19NU0EoY29uc3QgdWludDgqIHNyY195LCB1aW50OCogZHN0X2FyZ2IsIGludCB3
aWR0aCk7CiB2b2lkIEk0MDBUb0FSR0JSb3dfQW55X1NTRTIoY29uc3QgdWludDgqIHNyY195LCB1
aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7CiB2b2lkIEk0MDBUb0FSR0JSb3dfQW55X0FWWDIo
Y29uc3QgdWludDgqIHNyY195LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7CiB2b2lkIEk0
MDBUb0FSR0JSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY195LCB1aW50OCogZHN0X2FyZ2Is
IGludCB3aWR0aCk7Cit2b2lkIEk0MDBUb0FSR0JSb3dfQW55X01TQShjb25zdCB1aW50OCogc3Jj
X3ksIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKIAogLy8gQVJHQiBwcmVhdHRlbnVhdGVk
IGFscGhhIGJsZW5kLgotdm9pZCBBUkdCQmxlbmRSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19h
cmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCQmxlbmRSb3dfTkVPTihjb25zdCB1
aW50OCogc3JjX2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQkJsZW5kUm93X0Mo
Y29uc3QgdWludDgqIHNyY19hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7Cit2b2lkIEFSR0JCbGVuZFJv
d19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQkJs
ZW5kUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JC
bGVuZFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogCiAvLyBVbmF0dGVudWF0ZWQgcGxh
bmFyIGFscGhhIGJsZW5kLgotdm9pZCBCbGVuZFBsYW5lUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBz
cmMwLCBjb25zdCB1aW50OCogc3JjMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogYWxwaGEsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCk7Ci12b2lkIEJsZW5kUGxhbmVSb3df
QW55X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMwLCBjb25zdCB1aW50OCogc3JjMSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFscGhhLCB1aW50OCogZHN0LCBpbnQg
d2lkdGgpOwotdm9pZCBCbGVuZFBsYW5lUm93X0FWWDIoY29uc3QgdWludDgqIHNyYzAsIGNvbnN0
IHVpbnQ4KiBzcmMxLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFscGhh
LCB1aW50OCogZHN0LCBpbnQgd2lkdGgpOwotdm9pZCBCbGVuZFBsYW5lUm93X0FueV9BVlgyKGNv
bnN0IHVpbnQ4KiBzcmMwLCBjb25zdCB1aW50OCogc3JjMSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogYWxwaGEsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCk7Ci12b2lk
IEJsZW5kUGxhbmVSb3dfQyhjb25zdCB1aW50OCogc3JjMCwgY29uc3QgdWludDgqIHNyYzEsCi0g
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogYWxwaGEsIHVpbnQ4KiBkc3QsIGludCB3
aWR0aCk7Cit2b2lkIEJsZW5kUGxhbmVSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyYzAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyYzEsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQmxl
bmRQbGFuZVJvd19BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyYzAsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmMxLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogYWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lk
IEJsZW5kUGxhbmVSb3dfQVZYMihjb25zdCB1aW50OCogc3JjMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmMxLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIGFscGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEJsZW5kUGxhbmVSb3dfQW55X0FW
WDIoY29uc3QgdWludDgqIHNyYzAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyYzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFs
cGhhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQmxlbmRQbGFuZVJvd19DKGNvbnN0
IHVpbnQ4KiBzcmMwLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyYzEsCisg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogYWxwaGEsCisgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIAogLy8g
QVJHQiBtdWx0aXBseSBpbWFnZXMuIFNhbWUgQVBJIGFzIEJsZW5kLCBidXQgdGhlc2UgcmVxdWly
ZQogLy8gcG9pbnRlciBhbmQgd2lkdGggYWxpZ25tZW50IGZvciBTU0UyLgotdm9pZCBBUkdCTXVs
dGlwbHlSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEs
Ci0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZv
aWQgQVJHQk11bHRpcGx5Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCBjb25zdCB1aW50
OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
IGludCB3aWR0aCk7Ci12b2lkIEFSR0JNdWx0aXBseVJvd19BbnlfU1NFMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JNdWx0aXBseVJv
d19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwotdm9p
ZCBBUkdCTXVsdGlwbHlSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCBjb25zdCB1
aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCTXVsdGlwbHlSb3dfTkVPTihjb25zdCB1aW50
OCogc3JjX2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQk11bHRpcGx5Um93
X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiMSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRo
KTsKK3ZvaWQgQVJHQk11bHRpcGx5Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCk7Cit2b2lkIEFSR0JNdWx0aXBseVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpOwordm9pZCBBUkdCTXVsdGlwbHlSb3dfQW55X1NTRTIoY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JN
dWx0aXBseVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
Owordm9pZCBBUkdCTXVsdGlwbHlSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JNdWx0aXBseVJvd19ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBBUkdCTXVs
dGlwbHlSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JNdWx0aXBseVJvd19NU0EoY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEs
CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JNdWx0aXBseVJvd19BbnlfTVNBKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogCiAvLyBB
UkdCIGFkZCBpbWFnZXMuCi12b2lkIEFSR0JBZGRSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2Is
IGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JBZGRSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JBZGRSb3dfQW55X1NTRTIoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQkFkZFJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKLSAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQkFkZFJv
d19BbnlfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwot
dm9pZCBBUkdCQWRkUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCBjb25zdCB1aW50OCog
c3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lk
dGgpOwotdm9pZCBBUkdCQWRkUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgY29u
c3QgdWludDgqIHNyY19hcmdiMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsIGludCB3aWR0aCk7Cit2b2lkIEFSR0JBZGRSb3dfQyhjb25zdCB1aW50OCogc3JjX2Fy
Z2IsCisgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsK
K3ZvaWQgQVJHQkFkZFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBB
UkdCQWRkUm93X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
Owordm9pZCBBUkdCQWRkUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lk
IEFSR0JBZGRSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCk7Cit2b2lkIEFSR0JBZGRSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3Zv
aWQgQVJHQkFkZFJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKTsKK3ZvaWQgQVJHQkFkZFJvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lk
IEFSR0JBZGRSb3dfQW55X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsK
IAogLy8gQVJHQiBzdWJ0cmFjdCBpbWFnZXMuIFNhbWUgQVBJIGFzIEJsZW5kLCBidXQgdGhlc2Ug
cmVxdWlyZQogLy8gcG9pbnRlciBhbmQgd2lkdGggYWxpZ25tZW50IGZvciBTU0UyLgotdm9pZCBB
UkdCU3VidHJhY3RSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjEsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRo
KTsKLXZvaWQgQVJHQlN1YnRyYWN0Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCBjb25z
dCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JTdWJ0cmFjdFJvd19BbnlfU1NFMihjb25zdCB1
aW50OCogc3JjX2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JTdWJ0
cmFjdFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdi
MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgp
Owotdm9pZCBBUkdCU3VidHJhY3RSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCBj
b25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCU3VidHJhY3RSb3dfTkVPTihjb25z
dCB1aW50OCogc3JjX2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlN1YnRy
YWN0Um93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgY29uc3QgdWludDgqIHNyY19h
cmdiMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50
IHdpZHRoKTsKK3ZvaWQgQVJHQlN1YnRyYWN0Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAor
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCk7Cit2b2lkIEFSR0JTdWJ0cmFjdFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBBUkdCU3VidHJhY3RSb3dfQW55X1NTRTIoY29u
c3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lk
IEFSR0JTdWJ0cmFjdFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpOwordm9pZCBBUkdCU3VidHJhY3RSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdi
MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JTdWJ0cmFjdFJv
d19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBB
UkdCU3VidHJhY3RSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JTdWJ0cmFjdFJvd19NU0EoY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JTdWJ0cmFjdFJvd19Bbnlf
TVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwog
CiB2b2lkIEFSR0JUb1JHQjI0Um93X0FueV9TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVp
bnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCVG9SQVdSb3dfQW55X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCk7CiB2b2lkIEFS
R0JUb1JHQjU2NVJvd19BbnlfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3Rf
cmdiLCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCVG9BUkdCMTU1NVJvd19BbnlfU1NFMihjb25zdCB1
aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLAordm9pZCBBUkdCVG9BUkdCMTU1NVJvd19B
bnlfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfcmdiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpOwotdm9pZCBBUkdCVG9BUkdCNDQ0NFJvd19BbnlfU1NFMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLAordm9pZCBBUkdCVG9BUkdCNDQ0NFJvd19BbnlfU1NF
Mihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfcmdiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpOwogCi12b2lkIEFSR0JUb1JHQjU2NURpdGhlclJvd19BbnlfU1NFMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDMyIGRpdGhlcjQsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JUb1JHQjU2
NURpdGhlclJvd19BbnlfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3Rfcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyIGRpdGhl
cjQsIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1JHQjU2NURpdGhlclJvd19BbnlfU1NFMihjb25z
dCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3JnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQzMiBkaXRoZXI0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKTsKK3ZvaWQgQVJHQlRvUkdCNTY1RGl0aGVyUm93X0FueV9BVlgyKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMy
IGRpdGhlcjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
OwogCiB2b2lkIEFSR0JUb1JHQjU2NVJvd19BbnlfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2Is
IHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpOwotdm9pZCBBUkdCVG9BUkdCMTU1NVJvd19Bbnlf
QVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLAordm9pZCBBUkdCVG9B
UkdCMTU1NVJvd19BbnlfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgpOwotdm9pZCBBUkdCVG9BUkdCNDQ0NFJvd19BbnlfQVZYMihj
b25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLAordm9pZCBBUkdCVG9BUkdCNDQ0
NFJvd19BbnlfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpOwogCiB2b2lkIEFSR0JUb1JHQjI0Um93X0FueV9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCk7CiB2b2lkIEFSR0JUb1JB
V1Jvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQg
d2lkdGgpOwogdm9pZCBBUkdCVG9SR0I1NjVSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19h
cmdiLCB1aW50OCogZHN0X3JnYiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlRvQVJHQjE1NTVSb3df
QW55X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwKK3ZvaWQgQVJH
QlRvQVJHQjE1NTVSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlRvQVJHQjQ0NDRSb3dfQW55X05F
T04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwKK3ZvaWQgQVJHQlRvQVJH
QjQ0NDRSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlRvUkdCNTY1RGl0aGVyUm93X0FueV9ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzIgZGl0aGVyNCwgaW50IHdpZHRoKTsKK3Zv
aWQgQVJHQlRvUkdCNTY1RGl0aGVyUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyIGRpdGhlcjQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBBUkdC
VG9SR0IyNFJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2Is
IGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1JBV1Jvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb1JHQjU2NVJvd19B
bnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCk7
Cit2b2lkIEFSR0JUb0FSR0IxNTU1Um93X0FueV9NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JUb0FSR0I0NDQ0Um93
X0FueV9NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCk7Cit2b2lkIEFSR0JUb1JHQjU2NURpdGhlclJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9yZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMiBk
aXRoZXI0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwog
CiB2b2lkIEk0NDRUb0FSR0JSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY195LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKQEAgLTE2MTcsMjExICsy
NDA1LDQ0NSBAQCB2b2lkIFVZVllUb0FSR0JSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY191
eXZ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25z
dGFudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgSTQ0
NFRvQVJHQlJvd19BbnlfRFNQUjIoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7Cit2b2lkIEk0MjJUb0FSR0I0NDQ0Um93X0FueV9EU1BSMihjb25zdCB1
aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3Rh
bnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpOwordm9pZCBJNDIyVG9BUkdCUm93X0FueV9EU1BSMihjb25zdCB1aW50OCogc3JjX3ks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgSTQyMlRvQVJHQlJvd19EU1BS
Mihjb25zdCB1aW50OCogc3JjX3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY191LAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEk0MjJUb0FSR0IxNTU1Um93
X0FueV9EU1BSMihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBJNDExVG9BUkdCUm93X0FueV9EU1BSMihj
b25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y192LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNv
bnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQg
TlYxMlRvQVJHQlJvd19BbnlfRFNQUjIoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3V2LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgSTQyMlRvQVJHQlJvd19EU1BSMihjb25z
dCB1aW50OCogc3JjX3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y191LAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEk0NDRUb0FSR0JSb3dfQW55X01TQShj
b25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Ys
CisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBJNDIyVG9BUkdC
Um93X0FueV9NU0EoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY192LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyog
eXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3Zv
aWQgSTQyMlRvUkdCQVJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZ
dXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCk7Cit2b2lkIEk0MjJBbHBoYVRvQVJHQlJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBz
cmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFu
dHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEk0
MjJUb1JHQjI0Um93X0FueV9NU0EoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9yZ2IyNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
WXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKTsKK3ZvaWQgSTQyMlRvUkdCNTY1Um93X0FueV9NU0EoY29uc3QgdWludDgqIHNy
Y195LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2I1NjUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgSTQyMlRvQVJHQjQ0
NDRSb3dfQW55X01TQShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2I0NDQ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBJNDIyVG9BUkdCMTU1NVJvd19BbnlfTVNBKGNv
bnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY192LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYjE1
NTUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0
YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCk7Cit2b2lkIE5WMTJUb0FSR0JSb3dfQW55X01TQShjb25zdCB1aW50OCogc3JjX3ksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3V2LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgTlYxMlRvUkdCNTY1Um93X0FueV9N
U0EoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3V2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25z
dGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKTsKK3ZvaWQgTlYyMVRvQVJHQlJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdnUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBZVVkyVG9BUkdCUm93X0FueV9NU0Eo
Y29uc3QgdWludDgqIHNyY195dXkyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNv
bnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKTsKK3ZvaWQgVVlWWVRvQVJHQlJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiAKIHZvaWQgWVVZMlRvWVJv
d19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwot
dm9pZCBZVVkyVG9VVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHN0cmlkZV95
dXkyLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpOwordm9pZCBZVVkyVG9VVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwK
KyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3l1eTIsCisgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwK
KyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBZVVkyVG9VVjQyMlJvd19B
VlgyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIFlVWTJUb1lSb3df
U1NFMihjb25zdCB1aW50OCogc3JjX3l1eTIsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKLXZv
aWQgWVVZMlRvVVZSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3l1eTIsIGludCBzdHJpZGVfeXV5
MiwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50
IHdpZHRoKTsKK3ZvaWQgWVVZMlRvVVZSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3l1eTIsCisg
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZV95dXkyLAorICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgWVVZMlRvVVY0MjJSb3dfU1NF
Mihjb25zdCB1aW50OCogc3JjX3l1eTIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBZVVkyVG9ZUm93X05F
T04oY29uc3QgdWludDgqIHNyY195dXkyLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Ci12b2lk
IFlVWTJUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3RyaWRlX3l1eTIs
Ci0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3
aWR0aCk7Cit2b2lkIFlVWTJUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY195dXkyLAorICAg
ICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGVfeXV5MiwKKyAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIFlVWTJUb1VWNDIyUm93X05FT04o
Y29uc3QgdWludDgqIHNyY195dXkyLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgWVVZMlRvWVJvd19NU0Eo
Y29uc3QgdWludDgqIHNyY195dXkyLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Ci12b2lkIFlV
WTJUb1VWUm93X01TQShjb25zdCB1aW50OCogc3JjX3l1eTIsIGludCBzdHJpZGVfeXV5MiwKLSAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgp
Owordm9pZCBZVVkyVG9VVlJvd19NU0EoY29uc3QgdWludDgqIHNyY195dXkyLAorICAgICAgICAg
ICAgICAgICAgICAgaW50IHN0cmlkZV95dXkyLAorICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgWVVZMlRvVVY0MjJSb3dfTVNBKGNvbnN0IHVpbnQ4
KiBzcmNfeXV5MiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgq
IGRzdF92LCBpbnQgd2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91
LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgWVVZMlRvWVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNf
eXV5MiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwotdm9pZCBZVVkyVG9VVlJvd19DKGNvbnN0
IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHN0cmlkZV95dXkyLAotICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwordm9pZCBZVVkyVG9VVlJvd19D
KGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3l1
eTIsCisgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBZVVky
VG9VVjQyMlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKLSAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKKyAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92
LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIFlVWTJUb1lSb3dfQW55
X0FWWDIoY29uc3QgdWludDgqIHNyY195dXkyLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Ci12
b2lkIFlVWTJUb1VWUm93X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHN0cmlk
ZV95dXkyLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBk
c3RfdiwgaW50IHdpZHRoKTsKK3ZvaWQgWVVZMlRvVVZSb3dfQW55X0FWWDIoY29uc3QgdWludDgq
IHNyY195dXkyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3l1eTIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpOwogdm9pZCBZVVkyVG9VVjQyMlJvd19BbnlfQVZYMihjb25zdCB1aW50OCogc3JjX3l1eTIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92
LCBpbnQgd2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgWVVZMlRvWVJvd19BbnlfU1NFMihj
b25zdCB1aW50OCogc3JjX3l1eTIsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKLXZvaWQgWVVZ
MlRvVVZSb3dfQW55X1NTRTIoY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3RyaWRlX3l1eTIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpOwordm9pZCBZVVkyVG9VVlJvd19BbnlfU1NFMihjb25zdCB1aW50OCogc3JjX3l1
eTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGVfeXV5MiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2
b2lkIFlVWTJUb1VWNDIyUm93X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3
aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBZVVkyVG9ZUm93X0FueV9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfeXV5MiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwotdm9pZCBZVVkyVG9VVlJv
d19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3l1eTIsIGludCBzdHJpZGVfeXV5MiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0
aCk7Cit2b2lkIFlVWTJUb1VWUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZV95dXkyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgWVVZ
MlRvVVY0MjJSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY195dXkyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7CiB2b2lkIFlVWTJUb1lSb3dfQW55X01TQShjb25zdCB1aW50OCogc3Jj
X3l1eTIsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKLXZvaWQgWVVZMlRvVVZSb3dfQW55X01T
QShjb25zdCB1aW50OCogc3JjX3l1eTIsIGludCBzdHJpZGVfeXV5MiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKK3ZvaWQg
WVVZMlRvVVZSb3dfQW55X01TQShjb25zdCB1aW50OCogc3JjX3l1eTIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHN0cmlkZV95dXkyLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgWVVZMlRvVVY0MjJSb3dfQW55
X01TQShjb25zdCB1aW50OCogc3JjX3l1eTIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9p
ZCBVWVZZVG9ZUm93X0FWWDIoY29uc3QgdWludDgqIHNyY191eXZ5LCB1aW50OCogZHN0X3ksIGlu
dCB3aWR0aCk7Ci12b2lkIFVZVllUb1VWUm93X0FWWDIoY29uc3QgdWludDgqIHNyY191eXZ5LCBp
bnQgc3RyaWRlX3V5dnksCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50
OCogZHN0X3YsIGludCB3aWR0aCk7Cit2b2lkIFVZVllUb1VWUm93X0FWWDIoY29uc3QgdWludDgq
IHNyY191eXZ5LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGVfdXl2eSwKKyAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIFVZVllU
b1VWNDIyUm93X0FWWDIoY29uc3QgdWludDgqIHNyY191eXZ5LAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOworICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQg
VVlWWVRvWVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgdWludDgqIGRzdF95LCBpbnQg
d2lkdGgpOwotdm9pZCBVWVZZVG9VVlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgaW50
IHN0cmlkZV91eXZ5LAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgq
IGRzdF92LCBpbnQgd2lkdGgpOwordm9pZCBVWVZZVG9VVlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBz
cmNfdXl2eSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3V5dnksCisgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBVWVZZVG9V
VjQyMlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIFVZ
VllUb1lSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3V5dnksIHVpbnQ4KiBkc3RfeSwgaW50IHdp
ZHRoKTsKLXZvaWQgVVlWWVRvVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3V5dnksIGludCBz
dHJpZGVfdXl2eSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBk
c3RfdiwgaW50IHdpZHRoKTsKK3ZvaWQgVVlWWVRvVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3Jj
X3V5dnksCisgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZV91eXZ5LAorICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgVVlWWVRvVVY0
MjJSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3V5dnksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBVWVZZ
VG9ZUm93X05FT04oY29uc3QgdWludDgqIHNyY191eXZ5LCB1aW50OCogZHN0X3ksIGludCB3aWR0
aCk7Ci12b2lkIFVZVllUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY191eXZ5LCBpbnQgc3Ry
aWRlX3V5dnksCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0
X3YsIGludCB3aWR0aCk7Cit2b2lkIFVZVllUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY191
eXZ5LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGVfdXl2eSwKKyAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF92LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIFVZVllUb1VWNDIy
Um93X05FT04oY29uc3QgdWludDgqIHNyY191eXZ5LAotICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOworICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgVVlWWVRv
WVJvd19NU0EoY29uc3QgdWludDgqIHNyY191eXZ5LCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7
Ci12b2lkIFVZVllUb1VWUm93X01TQShjb25zdCB1aW50OCogc3JjX3V5dnksIGludCBzdHJpZGVf
dXl2eSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpOwordm9pZCBVWVZZVG9VVlJvd19NU0EoY29uc3QgdWludDgqIHNyY191eXZ5LAor
ICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZV91eXZ5LAorICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgVVlWWVRvVVY0MjJSb3dfTVNBKGNv
bnN0IHVpbnQ4KiBzcmNfdXl2eSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIAogdm9pZCBVWVZZVG9ZUm93X0MoY29uc3Qg
dWludDgqIHNyY191eXZ5LCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Ci12b2lkIFVZVllUb1VW
Um93X0MoY29uc3QgdWludDgqIHNyY191eXZ5LCBpbnQgc3RyaWRlX3V5dnksCi0gICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCk7Cit2b2lkIFVZ
VllUb1VWUm93X0MoY29uc3QgdWludDgqIHNyY191eXZ5LAorICAgICAgICAgICAgICAgICAgIGlu
dCBzdHJpZGVfdXl2eSwKKyAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7
CiB2b2lkIFVZVllUb1VWNDIyUm93X0MoY29uc3QgdWludDgqIHNyY191eXZ5LAotICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOworICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgVVlW
WVRvWVJvd19BbnlfQVZYMihjb25zdCB1aW50OCogc3JjX3V5dnksIHVpbnQ4KiBkc3RfeSwgaW50
IHdpZHRoKTsKLXZvaWQgVVlWWVRvVVZSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY191eXZ5
LCBpbnQgc3RyaWRlX3V5dnksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpOwordm9pZCBVWVZZVG9VVlJvd19BbnlfQVZYMihj
b25zdCB1aW50OCogc3JjX3V5dnksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJp
ZGVfdXl2eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7CiB2b2lkIFVZVllUb1VWNDIyUm93X0FueV9BVlgyKGNvbnN0IHVpbnQ4
KiBzcmNfdXl2eSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1
aW50OCogZHN0X3YsIGludCB3aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBVWVZZVG9ZUm93
X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgp
Owotdm9pZCBVWVZZVG9VVlJvd19BbnlfU1NFMihjb25zdCB1aW50OCogc3JjX3V5dnksIGludCBz
dHJpZGVfdXl2eSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50
OCogZHN0X3YsIGludCB3aWR0aCk7Cit2b2lkIFVZVllUb1VWUm93X0FueV9TU0UyKGNvbnN0IHVp
bnQ4KiBzcmNfdXl2eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZV91eXZ5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKTsKIHZvaWQgVVlWWVRvVVY0MjJSb3dfQW55X1NTRTIoY29uc3QgdWludDgqIHNyY191
eXZ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBk
c3RfdiwgaW50IHdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIFVZVllUb1lSb3dfQW55X05F
T04oY29uc3QgdWludDgqIHNyY191eXZ5LCB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7Ci12b2lk
IFVZVllUb1VWUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgaW50IHN0cmlkZV91
eXZ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rf
diwgaW50IHdpZHRoKTsKK3ZvaWQgVVlWWVRvVVZSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNy
Y191eXZ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3V5dnksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
Owogdm9pZCBVWVZZVG9VVjQyMlJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3V5dnksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgVVlWWVRvWVJvd19BbnlfTVNBKGNvbnN0
IHVpbnQ4KiBzcmNfdXl2eSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwotdm9pZCBVWVZZVG9V
VlJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgaW50IHN0cmlkZV91eXZ5LAotICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lk
dGgpOwordm9pZCBVWVZZVG9VVlJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3V5dnksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBVWVZZVG9V
VjQyMlJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCk7CiAKIHZvaWQgSTQyMlRvWVVZMlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdiwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeXV5
MiwgaW50IHdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeXV5MiwKKyAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIEk0MjJUb1VZVllSb3dfQyhjb25z
dCB1aW50OCogc3JjX3ksCiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Us
CiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCi0gICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3V5dnksIGludCB3aWR0aCk7CisgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3V5dnksCisgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9p
ZCBJNDIyVG9ZVVkyUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195LAogICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAogICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY192LAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95dXky
LCBpbnQgd2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95dXkyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgSTQyMlRvVVlWWVJvd19T
U0UyKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfdSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXl2eSwgaW50IHdpZHRoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXl2eSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCk7CiB2b2lkIEk0MjJUb1lVWTJSb3dfQW55X1NTRTIoY29uc3QgdWlu
dDgqIHNyY195LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95dXkyLCBpbnQgd2lkdGgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeXV5MiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBJNDIyVG9VWVZZUm93X0FueV9TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXl2eSwgaW50IHdpZHRo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V5dnksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgSTQyMlRvWVVZMlJvd19ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeXV5MiwgaW50IHdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeXV5MiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCk7CiB2b2lkIEk0MjJUb1VZVllSb3dfTkVPTihjb25zdCB1aW50OCogc3Jj
X3ksCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCi0gICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3V5dnksIGludCB3aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3V5dnksCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwog
dm9pZCBJNDIyVG9ZVVkyUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfeXV5MiwgaW50IHdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3l1eTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKTsKIHZvaWQgSTQyMlRvVVlWWVJvd19BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3ksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3V5dnksIGludCB3aWR0aCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91eXZ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCk7CiB2b2lkIEk0MjJUb1lVWTJSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfeSwK
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAogICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCi0gICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfeXV5MiwgaW50IHdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF95dXkyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBJNDIy
VG9VWVZZUm93X01TQShjb25zdCB1aW50OCogc3JjX3ksCiAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdSwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY192LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V5dnksIGludCB3aWR0
aCk7CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXl2eSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgSTQyMlRvWVVZMlJvd19BbnlfTVNBKGNvbnN0
IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfdSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeXV5MiwgaW50IHdpZHRoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeXV5MiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7CiB2b2lkIEk0MjJUb1VZVllSb3dfQW55X01TQShjb25z
dCB1aW50OCogc3JjX3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V5dnksIGludCB3aWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V5dnksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogCiAvLyBFZmZlY3RzIHJlbGF0ZWQgcm93IGZ1bmN0
aW9ucy4KIHZvaWQgQVJHQkF0dGVudWF0ZVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCQXR0ZW51YXRlUm93X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBB
UkdCQXR0ZW51YXRlUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2Fy
Z2IsIGludCB3aWR0aCk7CiB2b2lkIEFSR0JBdHRlbnVhdGVSb3dfTkVPTihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQkF0dGVudWF0
ZVJvd19BbnlfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKK3Zv
aWQgQVJHQkF0dGVudWF0ZVJvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X2FyZ2IsIGludCB3aWR0aCk7Cit2b2lkIEFSR0JBdHRlbnVhdGVSb3dfQW55X1NTRTIoY29uc3Qg
dWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwotdm9p
ZCBBUkdCQXR0ZW51YXRlUm93X0FueV9TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4
KiBkc3RfYXJnYiwKK3ZvaWQgQVJHQkF0dGVudWF0ZVJvd19BbnlfU1NTRTMoY29uc3QgdWludDgq
IHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Ci12b2lkIEFS
R0JBdHRlbnVhdGVSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X2FyZ2IsCit2b2lkIEFSR0JBdHRlbnVhdGVSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwotdm9pZCBBUkdCQXR0ZW51
YXRlUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAor
dm9pZCBBUkdCQXR0ZW51YXRlUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQkF0dGVudWF0ZVJvd19B
bnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCk7CiAKIC8vIEludmVyc2UgdGFibGUgZm9yIHVuYXR0ZW51YXRlLCBzaGFyZWQgYnkgQyBh
bmQgU1NFMi4KIGV4dGVybiBjb25zdCB1aW50MzIgZml4ZWRfaW52dGJsOFsyNTZdOwogdm9pZCBB
UkdCVW5hdHRlbnVhdGVSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJn
YiwgaW50IHdpZHRoKTsKIHZvaWQgQVJHQlVuYXR0ZW51YXRlUm93X1NTRTIoY29uc3QgdWludDgq
IHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7CiB2b2lkIEFSR0JVbmF0dGVu
dWF0ZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQg
d2lkdGgpOwotdm9pZCBBUkdCVW5hdHRlbnVhdGVSb3dfQW55X1NTRTIoY29uc3QgdWludDgqIHNy
Y19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIEFSR0JVbmF0dGVudWF0ZVJvd19BbnlfU1NF
Mihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpOwotdm9pZCBBUkdCVW5hdHRlbnVhdGVSb3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNy
Y19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCit2b2lkIEFSR0JVbmF0dGVudWF0ZVJvd19BbnlfQVZY
Mihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpOwogCiB2b2lkIEFSR0JHcmF5Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50
OCogZHN0X2FyZ2IsIGludCB3aWR0aCk7CiB2b2lkIEFSR0JHcmF5Um93X1NTU0UzKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCR3Jh
eVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lk
dGgpOwordm9pZCBBUkdCR3JheVJvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCog
ZHN0X2FyZ2IsIGludCB3aWR0aCk7CiAKIHZvaWQgQVJHQlNlcGlhUm93X0ModWludDgqIGRzdF9h
cmdiLCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCU2VwaWFSb3dfU1NTRTModWludDgqIGRzdF9hcmdi
LCBpbnQgd2lkdGgpOwogdm9pZCBBUkdCU2VwaWFSb3dfTkVPTih1aW50OCogZHN0X2FyZ2IsIGlu
dCB3aWR0aCk7Cit2b2lkIEFSR0JTZXBpYVJvd19NU0EodWludDgqIGRzdF9hcmdiLCBpbnQgd2lk
dGgpOwogCi12b2lkIEFSR0JDb2xvck1hdHJpeFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwg
dWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4KiBt
YXRyaXhfYXJnYiwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQkNvbG9yTWF0cml4Um93X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW50OCogbWF0cml4X2FyZ2IsIGludCB3aWR0aCk7Ci12b2lkIEFS
R0JDb2xvck1hdHJpeFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9h
cmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4KiBtYXRyaXhfYXJn
YiwgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQkNvbG9yTWF0cml4Um93X0MoY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDgqIG1hdHJpeF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBBUkdCQ29sb3JNYXRyaXhSb3dfU1NT
RTMoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50
OCogbWF0cml4X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
Owordm9pZCBBUkdCQ29sb3JNYXRyaXhSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgaW50OCogbWF0cml4X2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiAKIHZvaWQgQVJHQkNvbG9yVGFibGVSb3dfQyh1
aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiB0YWJsZV9hcmdiLCBpbnQgd2lkdGgpOwogdm9p
ZCBBUkdCQ29sb3JUYWJsZVJvd19YODYodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogdGFi
bGVfYXJnYiwgaW50IHdpZHRoKTsKQEAgLTE4MjksMTQ1ICsyODUxLDMwNyBAQCB2b2lkIEFSR0JD
b2xvclRhYmxlUm93X1g4Nih1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiB0YWJsZV9hcmdi
LCBpbnQgd2lkdGgpOwogdm9pZCBSR0JDb2xvclRhYmxlUm93X0ModWludDgqIGRzdF9hcmdiLCBj
b25zdCB1aW50OCogdGFibGVfYXJnYiwgaW50IHdpZHRoKTsKIHZvaWQgUkdCQ29sb3JUYWJsZVJv
d19YODYodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogdGFibGVfYXJnYiwgaW50IHdpZHRo
KTsKIAotdm9pZCBBUkdCUXVhbnRpemVSb3dfQyh1aW50OCogZHN0X2FyZ2IsIGludCBzY2FsZSwg
aW50IGludGVydmFsX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCBpbnRlcnZhbF9v
ZmZzZXQsIGludCB3aWR0aCk7Ci12b2lkIEFSR0JRdWFudGl6ZVJvd19TU0UyKHVpbnQ4KiBkc3Rf
YXJnYiwgaW50IHNjYWxlLCBpbnQgaW50ZXJ2YWxfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGludGVydmFsX29mZnNldCwgaW50IHdpZHRoKTsKLXZvaWQgQVJHQlF1YW50aXpl
Um93X05FT04odWludDgqIGRzdF9hcmdiLCBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9zaXplLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxfb2Zmc2V0LCBpbnQgd2lkdGgp
Owordm9pZCBBUkdCUXVhbnRpemVSb3dfQyh1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzY2FsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGludGVydmFs
X3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnRlcnZhbF9vZmZzZXQsCisgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIEFSR0JRdWFudGl6ZVJvd19TU0Uy
KHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNjYWxlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxfc2l6ZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGludGVydmFsX29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgQVJHQlF1YW50aXplUm93X05FT04odWludDgqIGRzdF9h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2NhbGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBpbnRlcnZhbF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgaW50ZXJ2YWxfb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpOwogCi12b2lkIEFSR0JTaGFkZVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgq
IGRzdF9hcmdiLCBpbnQgd2lkdGgsCit2b2lkIEFSR0JTaGFkZVJvd19DKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgIHVpbnQzMiB2YWx1ZSk7
Ci12b2lkIEFSR0JTaGFkZVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRz
dF9hcmdiLCBpbnQgd2lkdGgsCit2b2lkIEFSR0JTaGFkZVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
MiB2YWx1ZSk7Ci12b2lkIEFSR0JTaGFkZVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwg
dWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgsCit2b2lkIEFSR0JTaGFkZVJvd19ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCiAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMiB2YWx1ZSk7Cit2b2lkIEFSR0JTaGFkZVJvd19NU0EoY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyIHZh
bHVlKTsKIAogLy8gVXNlZCBmb3IgYmx1ci4KLXZvaWQgQ3VtdWxhdGl2ZVN1bVRvQXZlcmFnZVJv
d19TU0UyKGNvbnN0IGludDMyKiB0b3BsZWZ0LCBjb25zdCBpbnQzMiogYm90bGVmdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGFyZWEsIHVpbnQ4
KiBkc3QsIGludCBjb3VudCk7Ci12b2lkIENvbXB1dGVDdW11bGF0aXZlU3VtUm93X1NTRTIoY29u
c3QgdWludDgqIHJvdywgaW50MzIqIGN1bXN1bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQzMiogcHJldmlvdXNfY3Vtc3VtLCBpbnQgd2lkdGgpOwordm9pZCBD
dW11bGF0aXZlU3VtVG9BdmVyYWdlUm93X1NTRTIoY29uc3QgaW50MzIqIHRvcGxlZnQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQzMiogYm90bGVmdCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhcmVhLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBjb3VudCk7Cit2b2lkIENvbXB1dGVDdW11bGF0aXZlU3VtUm93X1NTRTIoY29u
c3QgdWludDgqIHJvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMiog
Y3Vtc3VtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDMyKiBw
cmV2aW91c19jdW1zdW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKTsKIAotdm9pZCBDdW11bGF0aXZlU3VtVG9BdmVyYWdlUm93X0MoY29uc3QgaW50MzIqIHRv
cGxlZnQsIGNvbnN0IGludDMyKiBib3RsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLCBpbnQgYXJlYSwgdWludDgqIGRzdCwgaW50IGNvdW50KTsKLXZvaWQg
Q29tcHV0ZUN1bXVsYXRpdmVTdW1Sb3dfQyhjb25zdCB1aW50OCogcm93LCBpbnQzMiogY3Vtc3Vt
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDMyKiBwcmV2aW91c19j
dW1zdW0sIGludCB3aWR0aCk7Cit2b2lkIEN1bXVsYXRpdmVTdW1Ub0F2ZXJhZ2VSb3dfQyhjb25z
dCBpbnQzMiogdG9wbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludDMyKiBib3RsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFyZWEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGNvdW50KTsKK3ZvaWQgQ29tcHV0ZUN1bXVsYXRpdmVTdW1Sb3df
Qyhjb25zdCB1aW50OCogcm93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMy
KiBjdW1zdW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MzIqIHBy
ZXZpb3VzX2N1bXN1bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
OwogCiBMSUJZVVZfQVBJCi12b2lkIEFSR0JBZmZpbmVSb3dfQyhjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIGludCBzcmNfYXJnYl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsIGNvbnN0IGZsb2F0KiB1dl9kdWR2LCBpbnQgd2lkdGgpOwordm9pZCBBUkdCQWZmaW5l
Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19hcmdiX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0KiB1dl9kdWR2LAorICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKTsKIExJQllVVl9BUEkKLXZvaWQgQVJHQkFmZmluZVJvd19TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19hcmdiX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgZmxvYXQqIHV2X2R1ZHYsIGludCB3aWR0
aCk7Cit2b2lkIEFSR0JBZmZpbmVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2FyZ2Jfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
ZmxvYXQqIHV2X2R1ZHYsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwogCiAv
LyBVc2VkIGZvciBJNDIwU2NhbGUsIEFSR0JTY2FsZSwgYW5kIEFSR0JJbnRlcnBvbGF0ZS4KLXZv
aWQgSW50ZXJwb2xhdGVSb3dfQyh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIs
Cit2b2lkIEludGVycG9sYXRlUm93X0ModWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGVfcHRyLAotICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50
IHNvdXJjZV95X2ZyYWN0aW9uKTsKLXZvaWQgSW50ZXJwb2xhdGVSb3dfU1NTRTModWludDgqIGRz
dF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZV9wdHIsIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNvdXJjZV95X2ZyYWN0aW9u
KTsKK3ZvaWQgSW50ZXJwb2xhdGVSb3dfU1NTRTModWludDgqIGRzdF9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZV9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNvdXJjZV95X2Zy
YWN0aW9uKTsKLXZvaWQgSW50ZXJwb2xhdGVSb3dfQVZYMih1aW50OCogZHN0X3B0ciwgY29uc3Qg
dWludDgqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19z
dHJpZGVfcHRyLCBpbnQgd2lkdGgsCit2b2lkIEludGVycG9sYXRlUm93X0FWWDIodWludDgqIGRz
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGVfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc291cmNlX3lfZnJhY3Rpb24pOwotdm9pZCBJbnRlcnBvbGF0ZVJvd19ORU9OKHVpbnQ4KiBk
c3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZV9wdHIsIGludCB3aWR0aCwKK3ZvaWQgSW50ZXJwb2xhdGVSb3df
TkVPTih1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZV9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAogICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzb3VyY2VfeV9mcmFjdGlvbik7Ci12b2lkIEludGVycG9sYXRlUm93
X0RTUFIyKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGVfcHRyLCBpbnQgd2lkdGgsCit2b2lk
IEludGVycG9sYXRlUm93X0RTUFIyKHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGVfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb3VyY2VfeV9mcmFjdGlvbik7
Ci12b2lkIEludGVycG9sYXRlUm93X0FueV9ORU9OKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50
OCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19z
dHJpZGVfcHRyLCBpbnQgd2lkdGgsCit2b2lkIEludGVycG9sYXRlUm93X01TQSh1aW50OCogZHN0
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGVfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNv
dXJjZV95X2ZyYWN0aW9uKTsKK3ZvaWQgSW50ZXJwb2xhdGVSb3dfQW55X05FT04odWludDgqIGRz
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZV9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNvdXJjZV95X2ZyYWN0aW9uKTsKLXZvaWQgSW50ZXJwb2xhdGVS
b3dfQW55X1NTU0UzKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlX3B0ciwgaW50IHdp
ZHRoLAordm9pZCBJbnRlcnBvbGF0ZVJvd19BbnlfU1NTRTModWludDgqIGRzdF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzb3VyY2VfeV9mcmFjdGlvbik7Ci12b2lkIEludGVycG9sYXRlUm93X0FueV9B
VlgyKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGVfcHRyLCBpbnQgd2lkdGgsCit2b2lk
IEludGVycG9sYXRlUm93X0FueV9BVlgyKHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGVfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb3Vy
Y2VfeV9mcmFjdGlvbik7Ci12b2lkIEludGVycG9sYXRlUm93X0FueV9EU1BSMih1aW50OCogZHN0
X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZV9wdHIsIGludCB3aWR0aCwKK3ZvaWQgSW50ZXJwb2xhdGVS
b3dfQW55X0RTUFIyKHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZV9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc291cmNlX3lfZnJh
Y3Rpb24pOwotCi12b2lkIEludGVycG9sYXRlUm93XzE2X0ModWludDE2KiBkc3RfcHRyLCBjb25z
dCB1aW50MTYqIHNyY19wdHIsCit2b2lkIEludGVycG9sYXRlUm93X0FueV9NU0EodWludDgqIGRz
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGVfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc291cmNlX3lfZnJhY3Rpb24pOworCit2b2lkIEludGVycG9sYXRlUm93
XzE2X0ModWludDE2KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQxNiogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZV9wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgc291cmNl
X3lfZnJhY3Rpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc291cmNlX3lfZnJhY3Rpb24pOwogCiAvLyBTb2JlbCBp
bWFnZXMuCi12b2lkIFNvYmVsWFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeTAsIGNvbnN0IHVpbnQ4
KiBzcmNfeTEsIGNvbnN0IHVpbnQ4KiBzcmNfeTIsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3Rfc29iZWx4LCBpbnQgd2lkdGgpOwotdm9pZCBTb2JlbFhSb3dfU1NFMihjb25zdCB1aW50OCog
c3JjX3kwLCBjb25zdCB1aW50OCogc3JjX3kxLAotICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3kyLCB1aW50OCogZHN0X3NvYmVseCwgaW50IHdpZHRoKTsKLXZvaWQgU29iZWxY
Um93X05FT04oY29uc3QgdWludDgqIHNyY195MCwgY29uc3QgdWludDgqIHNyY195MSwKLSAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY195MiwgdWludDgqIGRzdF9zb2JlbHgsIGlu
dCB3aWR0aCk7Ci12b2lkIFNvYmVsWVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeTAsIGNvbnN0IHVp
bnQ4KiBzcmNfeTEsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rfc29iZWx5LCBpbnQgd2lk
dGgpOwotdm9pZCBTb2JlbFlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3kwLCBjb25zdCB1aW50
OCogc3JjX3kxLAotICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3NvYmVseSwgaW50IHdp
ZHRoKTsKLXZvaWQgU29iZWxZUm93X05FT04oY29uc3QgdWludDgqIHNyY195MCwgY29uc3QgdWlu
dDgqIHNyY195MSwKLSAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9zb2JlbHksIGludCB3
aWR0aCk7Ci12b2lkIFNvYmVsUm93X0MoY29uc3QgdWludDgqIHNyY19zb2JlbHgsIGNvbnN0IHVp
bnQ4KiBzcmNfc29iZWx5LAotICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdp
ZHRoKTsKLXZvaWQgU29iZWxSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3Qg
dWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBp
bnQgd2lkdGgpOwotdm9pZCBTb2JlbFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBj
b25zdCB1aW50OCogc3JjX3NvYmVseSwKLSAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsIGludCB3aWR0aCk7Ci12b2lkIFNvYmVsVG9QbGFuZVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNf
c29iZWx4LCBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKLSAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF95LCBpbnQgd2lkdGgpOwotdm9pZCBTb2JlbFRvUGxhbmVSb3dfU1NFMihjb25z
dCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKLXZvaWQgU29iZWxUb1Bs
YW5lUm93X05FT04oY29uc3QgdWludDgqIHNyY19zb2JlbHgsIGNvbnN0IHVpbnQ4KiBzcmNfc29i
ZWx5LAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCB3aWR0aCk7
Ci12b2lkIFNvYmVsWFlSb3dfQyhjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgq
IHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0
aCk7Ci12b2lkIFNvYmVsWFlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3Qg
dWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
IGludCB3aWR0aCk7Ci12b2lkIFNvYmVsWFlSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3NvYmVs
eCwgY29uc3QgdWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsIGludCB3aWR0aCk7Ci12b2lkIFNvYmVsUm93X0FueV9TU0UyKGNvbnN0IHVpbnQ4
KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwotdm9pZCBTb2JlbFJvd19BbnlfTkVP
Tihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgqIHNyY19zb2JlbHksCi0gICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKTsKLXZvaWQgU29i
ZWxUb1BsYW5lUm93X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1aW50
OCogc3JjX3NvYmVseSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
eSwgaW50IHdpZHRoKTsKLXZvaWQgU29iZWxUb1BsYW5lUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKTsKLXZvaWQgU29iZWxYWVJvd19B
bnlfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgqIHNyY19zb2JlbHks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpOwot
dm9pZCBTb2JlbFhZUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1
aW50OCogc3JjX3NvYmVseSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsIGludCB3aWR0aCk7Cit2b2lkIFNvYmVsWFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeTAsCisg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfeTEsCisgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfeTIsCisgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rfc29iZWx4LAor
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBTb2JlbFhSb3dfU1NFMihjb25zdCB1
aW50OCogc3JjX3kwLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3kxLAor
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3kyLAorICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3NvYmVseCwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsK
K3ZvaWQgU29iZWxYUm93X05FT04oY29uc3QgdWludDgqIHNyY195MCwKKyAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY195MSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY195MiwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9zb2JlbHgsCisgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFNvYmVsWVJvd19DKGNvbnN0IHVpbnQ4
KiBzcmNfeTAsCisgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfeTEsCisgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3Rfc29iZWx5LAorICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
Owordm9pZCBTb2JlbFlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3kwLAorICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3kxLAorICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgU29iZWxZ
Um93X05FT04oY29uc3QgdWludDgqIHNyY195MCwKKyAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY195MSwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9zb2JlbHksCisg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFNvYmVsUm93X0MoY29uc3QgdWlu
dDgqIHNyY19zb2JlbHgsCisgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19zb2JlbHks
CisgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgIGludCB3
aWR0aCk7Cit2b2lkIFNvYmVsUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19zb2JlbHgsCisgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19zb2JlbHksCisgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lk
IFNvYmVsUm93X05FT04oY29uc3QgdWludDgqIHNyY19zb2JlbHgsCisgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY19zb2JlbHksCisgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFNvYmVsUm93X01T
QShjb25zdCB1aW50OCogc3JjX3NvYmVseCwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfc29iZWx5LAorICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgU29iZWxUb1BsYW5lUm93X0MoY29uc3QgdWlu
dDgqIHNyY19zb2JlbHgsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
c29iZWx5LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFNvYmVsVG9QbGFuZVJvd19TU0UyKGNvbnN0
IHVpbnQ4KiBzcmNfc29iZWx4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBTb2JlbFRvUGxhbmVS
b3dfTkVPTihjb25zdCB1aW50OCogc3JjX3NvYmVseCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY19zb2JlbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQg
U29iZWxUb1BsYW5lUm93X01TQShjb25zdCB1aW50OCogc3JjX3NvYmVseCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
KTsKK3ZvaWQgU29iZWxYWVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LAorICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY19zb2JlbHksCisgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBTb2JlbFhZ
Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19zb2JlbHgsCisgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFNvYmVsWFlSb3df
TkVPTihjb25zdCB1aW50OCogc3JjX3NvYmVseCwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfc29iZWx5LAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgU29iZWxYWVJvd19NU0Eo
Y29uc3QgdWludDgqIHNyY19zb2JlbHgsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfc29iZWx5LAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFNvYmVsUm93X0FueV9TU0UyKGNvbnN0
IHVpbnQ4KiBzcmNfc29iZWx4LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBTb2JlbFJvd19BbnlfTkVPTihj
b25zdCB1aW50OCogc3JjX3NvYmVseCwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY19zb2JlbHksCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgU29iZWxSb3dfQW55X01T
QShjb25zdCB1aW50OCogc3JjX3NvYmVseCwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgU29iZWxUb1BsYW5lUm93
X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY19zb2JlbHksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpOwordm9pZCBTb2JlbFRvUGxhbmVSb3dfQW55X05FT04oY29uc3QgdWludDgqIHNyY19z
b2JlbHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Nv
YmVseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7Cit2b2lkIFNvYmVsVG9QbGFuZVJv
d19BbnlfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpOwordm9pZCBTb2JlbFhZUm93X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpOwordm9pZCBTb2JlbFhZUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBz
cmNfc29iZWx4LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfc29i
ZWx5LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBTb2JlbFhZUm93X0FueV9NU0EoY29u
c3QgdWludDgqIHNyY19zb2JlbHgsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCk7CiAKIHZvaWQgQVJHQlBvbHlub21p
YWxSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLCBjb25zdCBmbG9hdCogcG9seSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxv
YXQqIHBvbHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIHZvaWQgQVJH
QlBvbHlub21pYWxSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBjb25zdCBmbG9hdCogcG9seSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZmxvYXQqIHBvbHksCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKTsKIHZvaWQgQVJHQlBvbHlub21pYWxSb3dfQVZYMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBj
b25zdCBmbG9hdCogcG9seSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxvYXQqIHBvbHksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKIAogLy8gU2NhbGUgYW5kIGNv
bnZlcnQgdG8gaGFsZiBmbG9hdC4KIHZvaWQgSGFsZkZsb2F0Um93X0MoY29uc3QgdWludDE2KiBz
cmMsIHVpbnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50IHdpZHRoKTsKIHZvaWQgSGFsZkZsb2F0
Um93X1NTRTIoY29uc3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50
IHdpZHRoKTsKLXZvaWQgSGFsZkZsb2F0Um93X0FueV9TU0UyKGNvbnN0IHVpbnQxNiogc3JjLCB1
aW50MTYqIGRzdCwgZmxvYXQgc2NhbGUsCit2b2lkIEhhbGZGbG9hdFJvd19BbnlfU1NFMihjb25z
dCB1aW50MTYqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgc2NhbGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgpOwogdm9pZCBIYWxmRmxvYXRSb3dfQVZYMihjb25zdCB1aW50
MTYqIHNyYywgdWludDE2KiBkc3QsIGZsb2F0IHNjYWxlLCBpbnQgd2lkdGgpOwotdm9pZCBIYWxm
RmxvYXRSb3dfQW55X0FWWDIoY29uc3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBz
Y2FsZSwKK3ZvaWQgSGFsZkZsb2F0Um93X0FueV9BVlgyKGNvbnN0IHVpbnQxNiogc3JjLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3QsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmbG9hdCBzY2FsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCk7CiB2b2lkIEhhbGZGbG9hdFJvd19GMTZDKGNvbnN0IHVpbnQxNiogc3JjLCB1aW50MTYqIGRz
dCwgZmxvYXQgc2NhbGUsIGludCB3aWR0aCk7Ci12b2lkIEhhbGZGbG9hdFJvd19BbnlfRjE2Qyhj
b25zdCB1aW50MTYqIHNyYywgdWludDE2KiBkc3QsIGZsb2F0IHNjYWxlLAordm9pZCBIYWxmRmxv
YXRSb3dfQW55X0YxNkMoY29uc3QgdWludDE2KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50MTYqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHNjYWxl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKTsKK3ZvaWQgSGFsZkZsb2F0
MVJvd19GMTZDKGNvbnN0IHVpbnQxNiogc3JjLCB1aW50MTYqIGRzdCwgZmxvYXQgc2NhbGUsIGlu
dCB3aWR0aCk7Cit2b2lkIEhhbGZGbG9hdDFSb3dfQW55X0YxNkMoY29uc3QgdWludDE2KiBzcmMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3QsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmxvYXQgc2NhbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKTsKIHZvaWQgSGFsZkZsb2F0Um93X05FT04oY29uc3QgdWludDE2KiBzcmMsIHVp
bnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50IHdpZHRoKTsKLXZvaWQgSGFsZkZsb2F0Um93X0Fu
eV9ORU9OKGNvbnN0IHVpbnQxNiogc3JjLCB1aW50MTYqIGRzdCwgZmxvYXQgc2NhbGUsCit2b2lk
IEhhbGZGbG9hdFJvd19BbnlfTkVPTihjb25zdCB1aW50MTYqIHNyYywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQxNiogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxv
YXQgc2NhbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOwordm9pZCBI
YWxmRmxvYXQxUm93X05FT04oY29uc3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBz
Y2FsZSwgaW50IHdpZHRoKTsKK3ZvaWQgSGFsZkZsb2F0MVJvd19BbnlfTkVPTihjb25zdCB1aW50
MTYqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBzY2FsZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpOwogCi12b2lkIEFSR0JMdW1hQ29sb3JUYWJsZVJvd19DKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBsdW1hLCB1aW50MzIgbHVtYWNvZWZmKTsK
LXZvaWQgQVJHQkx1bWFDb2xvclRhYmxlUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwg
dWludDgqIGRzdF9hcmdiLAordm9pZCBBUkdCTHVtYUNvbG9yVGFibGVSb3dfQyhjb25zdCB1aW50
OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogbHVtYSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyIGx1bWFjb2VmZik7Cit2b2lkIEFSR0JMdW1hQ29sb3JUYWJsZVJvd19T
U1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
bHVtYSwgdWludDMyIGx1bWFjb2VmZik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogbHVtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQzMiBsdW1hY29lZmYpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0gIC8vIGV4dGVybiAiQyIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3NjYWxlLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9zY2FsZS5oCmlu
ZGV4IGFlMTQ2OTQ1OThiMmNjMGE1MzM1ZGZmZjkxZDA3YzcwNzI1YTBjY2EuLjZkNmI5YTg1ODNh
ZDI0Mzk4NzIxM2QyODA1NGM1OWUyOTBkYjUzYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3Nj
YWxlLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvc2NhbGUuaApAQCAtMjAsMjUgKzIwLDMzIEBAIGV4dGVy
biAiQyIgewogCiAvLyBTdXBwb3J0ZWQgZmlsdGVyaW5nLgogdHlwZWRlZiBlbnVtIEZpbHRlck1v
ZGUgewotICBrRmlsdGVyTm9uZSA9IDAsICAvLyBQb2ludCBzYW1wbGU7IEZhc3Rlc3QuCi0gIGtG
aWx0ZXJMaW5lYXIgPSAxLCAgLy8gRmlsdGVyIGhvcml6b250YWxseSBvbmx5LgorICBrRmlsdGVy
Tm9uZSA9IDAsICAgICAgLy8gUG9pbnQgc2FtcGxlOyBGYXN0ZXN0LgorICBrRmlsdGVyTGluZWFy
ID0gMSwgICAgLy8gRmlsdGVyIGhvcml6b250YWxseSBvbmx5LgogICBrRmlsdGVyQmlsaW5lYXIg
PSAyLCAgLy8gRmFzdGVyIHRoYW4gYm94LCBidXQgbG93ZXIgcXVhbGl0eSBzY2FsaW5nIGRvd24u
Ci0gIGtGaWx0ZXJCb3ggPSAzICAvLyBIaWdoZXN0IHF1YWxpdHkuCisgIGtGaWx0ZXJCb3ggPSAz
ICAgICAgICAvLyBIaWdoZXN0IHF1YWxpdHkuCiB9IEZpbHRlck1vZGVFbnVtOwogCiAvLyBTY2Fs
ZSBhIFlVViBwbGFuZS4KIExJQllVVl9BUEkKLXZvaWQgU2NhbGVQbGFuZShjb25zdCB1aW50OCog
c3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoLCBpbnQg
c3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3N0cmlkZSwK
LSAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKK3ZvaWQgU2Nh
bGVQbGFuZShjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IHNy
Y19oZWlnaHQsCisgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAg
ICAgICAgIGludCBkc3RfaGVpZ2h0LAogICAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBm
aWx0ZXJpbmcpOwogCiBMSUJZVVZfQVBJCi12b2lkIFNjYWxlUGxhbmVfMTYoY29uc3QgdWludDE2
KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgs
IGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0LCBpbnQgZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdo
dCwKK3ZvaWQgU2NhbGVQbGFuZV8xNihjb25zdCB1aW50MTYqIHNyYywKKyAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoLAor
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgIHVp
bnQxNiogZHN0LAorICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgaW50IGRzdF9oZWln
aHQsCiAgICAgICAgICAgICAgICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZyk7CiAKIC8v
IFNjYWxlcyBhIFlVViA0OjI6MCBpbWFnZSBmcm9tIHRoZSBzcmMgd2lkdGggYW5kIGhlaWdodCB0
byB0aGUKQEAgLTUyLDQyICs2MCw3MyBAQCB2b2lkIFNjYWxlUGxhbmVfMTYoY29uc3QgdWludDE2
KiBzcmMsIGludCBzcmNfc3RyaWRlLAogLy8gUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwuCiAKIExJ
QllVVl9BUEkKLWludCBJNDIwU2NhbGUoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlk
ZV95LAotICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3Us
Ci0gICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAg
ICAgICAgICAgICAgaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgdWludDgqIGRz
dF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBk
c3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0
LAoraW50IEk0MjBTY2FsZShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LAorICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICBpbnQgc3Jj
X3dpZHRoLAorICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgdWlu
dDgqIGRzdF95LAorICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAg
ICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQs
CiAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpOwogCiBMSUJZVVZfQVBJ
Ci1pbnQgSTQyMFNjYWxlXzE2KGNvbnN0IHVpbnQxNiogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ks
Ci0gICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX3UsIGludCBzcmNfc3RyaWRlX3Us
Ci0gICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX3YsIGludCBzcmNfc3RyaWRlX3Ys
Ci0gICAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAg
ICAgICAgICAgICB1aW50MTYqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAg
ICAgICB1aW50MTYqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgICB1
aW50MTYqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKK2ludCBJNDIwU2NhbGVfMTYoY29uc3QgdWludDE2KiBz
cmNfeSwKKyAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
dSwKKyAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfdiwKKyAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwKKyAg
ICAgICAgICAgICAgICAgaW50IHNyY19oZWlnaHQsCisgICAgICAgICAgICAgICAgIHVpbnQxNiog
ZHN0X3ksCisgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAg
ICAgIHVpbnQxNiogZHN0X3UsCisgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisg
ICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0X3YsCisgICAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX3YsCisgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAg
ICAgIGludCBkc3RfaGVpZ2h0LAogICAgICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmls
dGVyaW5nKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiAvLyBMZWdhY3kgQVBJLiAgRGVwcmVjYXRl
ZC4KIExJQllVVl9BUEkKLWludCBTY2FsZShjb25zdCB1aW50OCogc3JjX3ksIGNvbnN0IHVpbnQ4
KiBzcmNfdSwgY29uc3QgdWludDgqIHNyY192LAotICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ks
IGludCBzcmNfc3RyaWRlX3UsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgaW50IHNyY193
aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAgICAgdWludDgqIGRzdF95LCB1aW50OCogZHN0
X3UsIHVpbnQ4KiBkc3RfdiwKLSAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LCBpbnQgZHN0X3N0
cmlkZV91LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBk
c3RfaGVpZ2h0LAoraW50IFNjYWxlKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3UsCisgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgIGludCBzcmNfd2lkdGgsCisgICAgICAgICAg
aW50IHNyY19oZWlnaHQsCisgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgIHVpbnQ4
KiBkc3RfdSwKKyAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfeSwKKyAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgIGludCBkc3Rfc3Ry
aWRlX3YsCisgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICBpbnQgZHN0X2hlaWdo
dCwKICAgICAgICAgICBMSUJZVVZfQk9PTCBpbnRlcnBvbGF0ZSk7CiAKIC8vIExlZ2FjeSBBUEku
ICBEZXByZWNhdGVkLgogTElCWVVWX0FQSQotaW50IFNjYWxlT2Zmc2V0KGNvbnN0IHVpbnQ4KiBz
cmNfaTQyMCwgaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAg
dWludDgqIGRzdF9pNDIwLCBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwgaW50IGRzdF95
b2Zmc2V0LAoraW50IFNjYWxlT2Zmc2V0KGNvbnN0IHVpbnQ4KiBzcmNfaTQyMCwKKyAgICAgICAg
ICAgICAgICBpbnQgc3JjX3dpZHRoLAorICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAor
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfaTQyMCwKKyAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoLAorICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAorICAgICAgICAgICAgICAg
IGludCBkc3RfeW9mZnNldCwKICAgICAgICAgICAgICAgICBMSUJZVVZfQk9PTCBpbnRlcnBvbGF0
ZSk7CiAKIC8vIEZvciB0ZXN0aW5nLCBhbGxvdyBkaXNhYmxpbmcgb2Ygc3BlY2lhbGl6ZWQgc2Nh
bGVycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3NjYWxlX2FyZ2IuaCBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2
L3NjYWxlX2FyZ2IuaAppbmRleCAzNWNkMTkxYzBmNjEyMzlhNjI1ZWNhMmMwMTczZDZmMjM0NTRi
NmUzLi4zZDI1ZTU3OWNkZTI0NDYwMWY3NWI5MWM4MzA0OWZkYTQ5YTgzOTdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9p
bmNsdWRlL2xpYnl1di9zY2FsZV9hcmdiLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvc2NhbGVfYXJnYi5o
CkBAIC0yMCwzMiArMjAsNTIgQEAgZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAogTElCWVVWX0FQSQot
aW50IEFSR0JTY2FsZShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2Is
Ci0gICAgICAgICAgICAgIGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAoraW50IEFSR0JTY2FsZShjb25zdCB1aW50
OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAg
ICAgICAgIGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X2FyZ2IsCisgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgIGludCBk
c3RfaGVpZ2h0LAogICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5nKTsKIAog
Ly8gQ2xpcHBlZCBzY2FsZSB0YWtlcyBkZXN0aW5hdGlvbiByZWN0YW5nbGUgY29vcmRpbmF0ZXMg
Zm9yIGNsaXAgdmFsdWVzLgogTElCWVVWX0FQSQotaW50IEFSR0JTY2FsZUNsaXAoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgaW50
IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICBpbnQgZHN0X3dp
ZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgIGludCBjbGlwX3gsIGludCBj
bGlwX3ksIGludCBjbGlwX3dpZHRoLCBpbnQgY2xpcF9oZWlnaHQsCitpbnQgQVJHQlNjYWxlQ2xp
cChjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV9hcmdiLAorICAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwKKyAgICAgICAgICAgICAg
ICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAor
ICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAg
ICAgICAgICAgICAgIGludCBjbGlwX3gsCisgICAgICAgICAgICAgICAgICBpbnQgY2xpcF95LAor
ICAgICAgICAgICAgICAgICAgaW50IGNsaXBfd2lkdGgsCisgICAgICAgICAgICAgICAgICBpbnQg
Y2xpcF9oZWlnaHQsCiAgICAgICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5n
KTsKIAogLy8gU2NhbGUgd2l0aCBZVVYgY29udmVyc2lvbiB0byBBUkdCIGFuZCBjbGlwcGluZy4K
IExJQllVVl9BUEkKLWludCBZVVZUb0FSR0JTY2FsZUNsaXAoY29uc3QgdWludDgqIHNyY195LCBp
bnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKK2ludCBZVVZUb0FSR0JTY2FsZUNsaXAoY29uc3Qg
dWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAor
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwK
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyIHNyY19mb3VyY2MsCi0gICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMiBkc3RfZm91cmNjLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsaXBf
eCwgaW50IGNsaXBfeSwgaW50IGNsaXBfd2lkdGgsIGludCBjbGlwX2hlaWdodCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50
IGRzdF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBjbGlwX3gsCisgICAgICAg
ICAgICAgICAgICAgICAgIGludCBjbGlwX3ksCisgICAgICAgICAgICAgICAgICAgICAgIGludCBj
bGlwX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgY2xpcF9oZWlnaHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpOwogCiAjaWZkZWYg
X19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1ZGUvbGlieXV2L3NjYWxlX3Jvdy5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9s
aWJ5dXYvc2NhbGVfcm93LmgKaW5kZXggNzkxZmJmN2QwNTM4ZmJmMTI4NmQ5MmY5MjM3YmRhNTMw
MWFhYTdlMi4uZWRiNDZjYzhjNjQ3MjJlOGE5NjYyYWY3NDljZDNiYTJmZDljMThiNyAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvaW5jbHVkZS9saWJ5dXYvc2NhbGVfcm93LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvc2NhbGVfcm93
LmgKQEAgLTQ1LDggKzQ1LDggQEAgZXh0ZXJuICJDIiB7CiAjZW5kaWYgIC8vIF9fY2xhbmdfXwog
CiAvLyBWaXN1YWwgQyAyMDEyIHJlcXVpcmVkIGZvciBBVlgyLgotI2lmIGRlZmluZWQoX01fSVg4
NikgJiYgIWRlZmluZWQoX19jbGFuZ19fKSAmJiBcCi0gICAgZGVmaW5lZChfTVNDX1ZFUikgJiYg
X01TQ19WRVIgPj0gMTcwMAorI2lmIGRlZmluZWQoX01fSVg4NikgJiYgIWRlZmluZWQoX19jbGFu
Z19fKSAmJiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBcCisgICAgX01TQ19WRVIgPj0gMTcwMAogI2Rl
ZmluZSBWSVNVQUxDX0hBU19BVlgyIDEKICNlbmRpZiAgLy8gVmlzdWFsU3R1ZGlvID49IDIwMTIK
IApAQCAtNzIsOCArNzIsOSBAQCBleHRlcm4gIkMiIHsKIC8vIFRoZSBmb2xsb3dpbmcgYXJlIGF2
YWlsYWJsZSBvbiBhbGwgeDg2IHBsYXRmb3JtcywgYnV0CiAvLyByZXF1aXJlIFZTMjAxMiwgY2xh
bmcgMy40IG9yIGdjYyA0LjcuCiAvLyBUaGUgY29kZSBzdXBwb3J0cyBOYUNMIGJ1dCByZXF1aXJl
cyBhIG5ldyBjb21waWxlciBhbmQgdmFsaWRhdG9yLgotI2lmICFkZWZpbmVkKExJQllVVl9ESVNB
QkxFX1g4NikgJiYgKGRlZmluZWQoVklTVUFMQ19IQVNfQVZYMikgfHwgXAotICAgIGRlZmluZWQo
Q0xBTkdfSEFTX0FWWDIpIHx8IGRlZmluZWQoR0NDX0hBU19BVlgyKSkKKyNpZiAhZGVmaW5lZChM
SUJZVVZfRElTQUJMRV9YODYpICYmICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKGRl
ZmluZWQoVklTVUFMQ19IQVNfQVZYMikgfHwgZGVmaW5lZChDTEFOR19IQVNfQVZYMikgfHwgXAor
ICAgICBkZWZpbmVkKEdDQ19IQVNfQVZYMikpCiAjZGVmaW5lIEhBU19TQ0FMRUFERFJPV19BVlgy
CiAjZGVmaW5lIEhBU19TQ0FMRVJPV0RPV04yX0FWWDIKICNkZWZpbmUgSEFTX1NDQUxFUk9XRE9X
TjRfQVZYMgpAQCAtOTQsMzIgKzk1LDU2IEBAIGV4dGVybiAiQyIgewogI2VuZGlmCiAKIC8vIFRo
ZSBmb2xsb3dpbmcgYXJlIGF2YWlsYWJsZSBvbiBNaXBzIHBsYXRmb3JtczoKLSNpZiAhZGVmaW5l
ZChMSUJZVVZfRElTQUJMRV9NSVBTKSAmJiAhZGVmaW5lZChfX25hdGl2ZV9jbGllbnRfXykgJiYg
XAorI2lmICFkZWZpbmVkKExJQllVVl9ESVNBQkxFX0RTUFIyKSAmJiAhZGVmaW5lZChfX25hdGl2
ZV9jbGllbnRfXykgJiYgXAogICAgIGRlZmluZWQoX19taXBzX18pICYmIGRlZmluZWQoX19taXBz
X2RzcCkgJiYgKF9fbWlwc19kc3BfcmV2ID49IDIpCiAjZGVmaW5lIEhBU19TQ0FMRVJPV0RPV04y
X0RTUFIyCiAjZGVmaW5lIEhBU19TQ0FMRVJPV0RPV040X0RTUFIyCiAjZGVmaW5lIEhBU19TQ0FM
RVJPV0RPV04zNF9EU1BSMgogI2RlZmluZSBIQVNfU0NBTEVST1dET1dOMzhfRFNQUjIKKyNkZWZp
bmUgSEFTX1NDQUxFQUREUk9XX0RTUFIyCisjZW5kaWYKKworI2lmICFkZWZpbmVkKExJQllVVl9E
SVNBQkxFX01TQSkgJiYgZGVmaW5lZChfX21pcHNfbXNhKQorI2RlZmluZSBIQVNfU0NBTEVBUkdC
Uk9XRE9XTjJfTVNBCisjZGVmaW5lIEhBU19TQ0FMRUFSR0JST1dET1dORVZFTl9NU0EKKyNkZWZp
bmUgSEFTX1NDQUxFUk9XRE9XTjJfTVNBCisjZGVmaW5lIEhBU19TQ0FMRVJPV0RPV040X01TQQor
I2RlZmluZSBIQVNfU0NBTEVST1dET1dOMzhfTVNBCisjZGVmaW5lIEhBU19TQ0FMRUFERFJPV19N
U0EKICNlbmRpZgogCiAvLyBTY2FsZSBBUkdCIHZlcnRpY2FsbHkgd2l0aCBiaWxpbmVhciBpbnRl
cnBvbGF0aW9uLgogdm9pZCBTY2FsZVBsYW5lVmVydGljYWwoaW50IHNyY19oZWlnaHQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLCBpbnQgZHN0X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsIGludCB5LCBpbnQgZHksCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgYnBwLCBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5nKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB5LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGR5LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJwcCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpOwogCiB2b2lkIFNjYWxlUGxhbmVWZXJ0
aWNhbF8xNihpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk
c3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2KiBzcmNfYXJnYiwgdWludDE2KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB4LCBpbnQgeSwgaW50IGR5LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdwcCwgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZyk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQxNiogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdw
cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcp
OwogCiAvLyBTaW1wbGlmeSB0aGUgZmlsdGVyaW5nIGJhc2VkIG9uIHNjYWxlIGZhY3RvcnMuCi1l
bnVtIEZpbHRlck1vZGUgU2NhbGVGaWx0ZXJSZWR1Y2UoaW50IHNyY193aWR0aCwgaW50IHNyY19o
ZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwg
aW50IGRzdF9oZWlnaHQsCitlbnVtIEZpbHRlck1vZGUgU2NhbGVGaWx0ZXJSZWR1Y2UoaW50IHNy
Y193aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdo
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpOwogCiAv
LyBEaXZpZGUgbnVtIGJ5IGRpdiBhbmQgcmV0dXJuIGFzIDE2LjE2IGZpeGVkIHBvaW50IHJlc3Vs
dC4KQEAgLTEzNywzNjMgKzE2Miw3NjQgQEAgaW50IEZpeGVkRGl2MV9YODYoaW50IG51bSwgaW50
IGRpdik7CiAjZW5kaWYKIAogLy8gQ29tcHV0ZSBzbG9wZSB2YWx1ZXMgZm9yIHN0ZXBwaW5nLgot
dm9pZCBTY2FsZVNsb3BlKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAordm9pZCBTY2FsZVNsb3BlKGlu
dCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IHNyY19oZWlnaHQsCisgICAgICAgICAg
ICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKICAg
ICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5nLAotICAgICAgICAgICAgICAg
IGludCogeCwgaW50KiB5LCBpbnQqIGR4LCBpbnQqIGR5KTsKLQotdm9pZCBTY2FsZVJvd0Rvd24y
X0MoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93
bjJfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3QsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBT
Y2FsZVJvd0Rvd24yTGluZWFyX0MoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93
aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjJMaW5lYXJfMTZfQyhjb25zdCB1aW50MTYqIHNyY19w
dHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2KiBkc3QsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd24yQm94X0MoY29u
c3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjJC
b3hfT2RkX0MoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpOwotdm9p
ZCBTY2FsZVJvd0Rvd24yQm94XzE2X0MoY29uc3QgdWludDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0LCBpbnQg
ZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duNF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGlu
dCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd240XzE2X0MoY29uc3QgdWludDE2KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
NiogZHN0LCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duNEJveF9DKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd240Qm94XzE2
X0MoY29uc3QgdWludDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0LCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2Nh
bGVSb3dEb3duMzRfQyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCk7Ci12b2lk
IFNjYWxlUm93RG93bjM0XzE2X0MoY29uc3QgdWludDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdCwgaW50IGRzdF93
aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjM0XzBfQm94X0MoY29uc3QgdWludDgqIHNyY19wdHIs
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duMzRfMF9Cb3hfMTZfQyhjb25z
dCB1aW50MTYqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQxNiogZCwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93
RG93bjM0XzFfQm94X0MoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkLCBpbnQgZHN0X3dpZHRoKTsK
LXZvaWQgU2NhbGVSb3dEb3duMzRfMV9Cb3hfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
NiogZCwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlQ29sc19DKHVpbnQ4KiBkc3RfcHRyLCBj
b25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50
IHgsIGludCBkeCk7Ci12b2lkIFNjYWxlQ29sc18xNl9DKHVpbnQxNiogZHN0X3B0ciwgY29uc3Qg
dWludDE2KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQg
eCwgaW50IGR4KTsKLXZvaWQgU2NhbGVDb2xzVXAyX0ModWludDgqIGRzdF9wdHIsIGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQsIGlu
dCk7Ci12b2lkIFNjYWxlQ29sc1VwMl8xNl9DKHVpbnQxNiogZHN0X3B0ciwgY29uc3QgdWludDE2
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQsIGlu
dCk7Ci12b2lkIFNjYWxlRmlsdGVyQ29sc19DKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCog
c3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGlu
dCBkeCk7Ci12b2lkIFNjYWxlRmlsdGVyQ29sc18xNl9DKHVpbnQxNiogZHN0X3B0ciwgY29uc3Qg
dWludDE2KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRo
LCBpbnQgeCwgaW50IGR4KTsKLXZvaWQgU2NhbGVGaWx0ZXJDb2xzNjRfQyh1aW50OCogZHN0X3B0
ciwgY29uc3QgdWludDgqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCwgaW50IHgsIGludCBkeCk7Ci12b2lkIFNjYWxlRmlsdGVyQ29sczY0XzE2X0ModWlu
dDE2KiBkc3RfcHRyLCBjb25zdCB1aW50MTYqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCk7Ci12b2lkIFNjYWxlUm93RG93
bjM4X0MoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJv
d0Rvd24zOF8xNl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3QsIGludCBkc3Rfd2lkdGgpOwor
ICAgICAgICAgICAgICAgIGludCogeCwKKyAgICAgICAgICAgICAgICBpbnQqIHksCisgICAgICAg
ICAgICAgICAgaW50KiBkeCwKKyAgICAgICAgICAgICAgICBpbnQqIGR5KTsKKwordm9pZCBTY2Fs
ZVJvd0Rvd24yX0MoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMl8x
Nl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3QsCisg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3du
MkxpbmVhcl9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lk
IFNjYWxlUm93RG93bjJMaW5lYXJfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93bjJCb3hfQyhjb25zdCB1aW50
OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24yQm94X09kZF9DKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93
bjJCb3hfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQxNiogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2
b2lkIFNjYWxlUm93RG93bjRfQyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdCwKKyAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJv
d0Rvd240XzE2X0MoY29uc3QgdWludDE2KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYq
IGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2Fs
ZVJvd0Rvd240Qm94X0MoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2Nh
bGVSb3dEb3duNEJveF8xNl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dp
ZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMzRfQyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwor
dm9pZCBTY2FsZVJvd0Rvd24zNF8xNl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTYqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dp
ZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMzRfMF9Cb3hfQyhjb25zdCB1aW50OCogc3JjX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMzRfMF9Cb3hfMTZfQyhjb25z
dCB1aW50MTYqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBT
Y2FsZVJvd0Rvd24zNF8xX0JveF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
d2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24zNF8xX0JveF8xNl9DKGNvbnN0IHVpbnQxNiogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQ29sc19DKHVp
bnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgaW50IHgsCisg
ICAgICAgICAgICAgICAgIGludCBkeCk7Cit2b2lkIFNjYWxlQ29sc18xNl9DKHVpbnQxNiogZHN0
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfcHRyLAorICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICBpbnQgeCwK
KyAgICAgICAgICAgICAgICAgICAgaW50IGR4KTsKK3ZvaWQgU2NhbGVDb2xzVXAyX0ModWludDgq
IGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICBpbnQs
CisgICAgICAgICAgICAgICAgICAgIGludCk7Cit2b2lkIFNjYWxlQ29sc1VwMl8xNl9DKHVpbnQx
NiogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICBpbnQsCisgICAgICAgICAgICAgICAgICAgICAgIGludCk7Cit2b2lkIFNjYWxlRmls
dGVyQ29sc19DKHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBk
eCk7Cit2b2lkIFNjYWxlRmlsdGVyQ29sc18xNl9DKHVpbnQxNiogZHN0X3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4KTsKK3ZvaWQgU2NhbGVGaWx0ZXJD
b2xzNjRfQyh1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkeCk7Cit2b2lkIFNjYWxlRmlsdGVyQ29sczY0XzE2X0ModWludDE2KiBkc3RfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkeCk7Cit2
b2lkIFNjYWxlUm93RG93bjM4X0MoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2Nh
bGVSb3dEb3duMzhfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7CiB2
b2lkIFNjYWxlUm93RG93bjM4XzNfQm94X0MoY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgpOwogdm9pZCBTY2FsZVJvd0Rvd24zOF8zX0JveF8xNl9DKGNv
bnN0IHVpbnQxNiogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYq
IGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd24zOF8yX0JveF9DKGNv
bnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxl
Um93RG93bjM4XzJfQm94XzE2X0MoY29uc3QgdWludDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIs
IGludCBkc3Rfd2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiog
ZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsK
K3ZvaWQgU2NhbGVSb3dEb3duMzhfMl9Cb3hfQyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMzhfMl9Cb3hfMTZfQyhjb25z
dCB1aW50MTYqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBk
c3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwog
dm9pZCBTY2FsZUFkZFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIs
IGludCBzcmNfd2lkdGgpOwogdm9pZCBTY2FsZUFkZFJvd18xNl9DKGNvbnN0IHVpbnQxNiogc3Jj
X3B0ciwgdWludDMyKiBkc3RfcHRyLCBpbnQgc3JjX3dpZHRoKTsKIHZvaWQgU2NhbGVBUkdCUm93
RG93bjJfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLCBpbnQgZHN0X3dpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7CiB2b2lk
IFNjYWxlQVJHQlJvd0Rvd24yTGluZWFyX0MoY29uc3QgdWludDgqIHNyY19hcmdiLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCk7Ci12
b2lkIFNjYWxlQVJHQlJvd0Rvd24yQm94X0MoY29uc3QgdWludDgqIHNyY19hcmdiLCBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZUFSR0JSb3dEb3duRXZlbl9DKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZUFSR0JSb3dEb3duMkJveF9DKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJH
QlJvd0Rvd25FdmVuX0MoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RlcHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLCBpbnQgZHN0X3dpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7
CiB2b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RlcHgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQg
U2NhbGVBUkdCQ29sc19DKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAot
ICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCk7Ci12b2lk
IFNjYWxlQVJHQkNvbHM2NF9DKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KTsK
LXZvaWQgU2NhbGVBUkdCQ29sc1VwMl9DKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNy
Y19hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50LCBpbnQp
Owotdm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzX0ModWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50
OCogc3JjX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBp
bnQgeCwgaW50IGR4KTsKLXZvaWQgU2NhbGVBUkdCRmlsdGVyQ29sczY0X0ModWludDgqIGRzdF9h
cmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVBUkdCQ29sc19DKHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAg
ICAgICAgICAgICAgICAgIGludCBkeCk7Cit2b2lkIFNjYWxlQVJHQkNvbHM2NF9DKHVpbnQ4KiBk
c3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiLAor
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4KTsKK3ZvaWQgU2NhbGVB
UkdCQ29sc1VwMl9DKHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lk
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQsCisgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQpOwordm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzX0ModWludDgqIGRzdF9hcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4KTsKK3ZvaWQgU2Nh
bGVBUkdCRmlsdGVyQ29sczY0X0ModWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgpOwogCiAvLyBTcGVjaWFsaXpl
ZCBzY2FsZXJzIGZvciB4ODYuCi12b2lkIFNjYWxlUm93RG93bjJfU1NTRTMoY29uc3QgdWludDgq
IHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duMkxpbmVh
cl9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgp
Owotdm9pZCBTY2FsZVJvd0Rvd24yQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3B0ciwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjJfQVZYMihjb25zdCB1aW50
OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjJMaW5l
YXJfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7
Ci12b2lkIFNjYWxlUm93RG93bjJCb3hfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0
ciwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjRfU1NTRTMoY29uc3QgdWludDgq
IHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duNEJveF9T
U1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwotdm9p
ZCBTY2FsZVJvd0Rvd240X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rf
d2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd240Qm94X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIs
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwotCi12b2lkIFNjYWxlUm93RG93bjM0X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJv
d0Rvd24yX1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9p
ZCBTY2FsZVJvd0Rvd24yTGluZWFyX1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24yQm94X1NTU0Uz
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBT
Y2FsZVJvd0Rvd24yX0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2
b2lkIFNjYWxlUm93RG93bjJMaW5lYXJfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMkJveF9BVlgyKGNv
bnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJv
d0Rvd240X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9p
ZCBTY2FsZVJvd0Rvd240Qm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd240X0FWWDIoY29uc3QgdWludDgqIHNy
Y19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93bjRCb3hfQVZYMihjb25zdCB1
aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKKwordm9pZCBTY2FsZVJvd0Rv
d24zNF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKIHZv
aWQgU2NhbGVSb3dEb3duMzRfMV9Cb3hfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKIHZvaWQgU2NhbGVSb3dE
b3duMzRfMF9Cb3hfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxl
Um93RG93bjM4X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lk
dGgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxl
Um93RG93bjM4X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgp
Owogdm9pZCBTY2FsZVJvd0Rvd24zOF8zX0JveF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dp
ZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwogdm9pZCBTY2Fs
ZVJvd0Rvd24zOF8yX0JveF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQg
U2NhbGVSb3dEb3duMl9BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwg
aW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjJMaW5lYXJfQW55X1NTU0UzKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBT
Y2FsZVJvd0Rvd24yQm94X0FueV9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
cHRyLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duMkJveF9PZGRfU1NTRTMoY29u
c3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNj
YWxlUm93RG93bjJfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQg
ZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9BbnlfQVZYMihjb25zdCB1aW50
OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJv
d0Rvd24yQm94X0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50
IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjJCb3hfT2RkX0FWWDIoY29uc3QgdWludDgq
IHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3du
NF9BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0
aCk7Ci12b2lkIFNjYWxlUm93RG93bjRCb3hfQW55X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd240X0FueV9B
VlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7Ci12b2lk
IFNjYWxlUm93RG93bjRCb3hfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
cHRyLCBpbnQgZHN0X3dpZHRoKTsKLQotdm9pZCBTY2FsZVJvd0Rvd24zNF9BbnlfU1NTRTMoY29u
c3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93bjJfQW55X1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwor
dm9pZCBTY2FsZVJvd0Rvd24yTGluZWFyX0FueV9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2Nh
bGVSb3dEb3duMkJveF9BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93bjJCb3hfT2RkX1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
d2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24yX0FueV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24yTGluZWFyX0Fu
eV9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24yQm94X0FueV9BVlgyKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBT
Y2FsZVJvd0Rvd24yQm94X09kZF9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd240X0FueV9TU1NFMyhj
b25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQg
U2NhbGVSb3dEb3duNEJveF9BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93bjRfQW55X0FW
WDIoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lk
IFNjYWxlUm93RG93bjRCb3hfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7CisKK3ZvaWQgU2NhbGVSb3dEb3duMzRfQW55X1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgp
Owogdm9pZCBTY2FsZVJvd0Rvd24zNF8xX0JveF9BbnlfU1NTRTMoY29uc3QgdWludDgqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRy
LCBpbnQgZHN0X3dpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCk7CiB2b2lkIFNjYWxlUm93RG93bjM0XzBfQm94X0FueV9TU1NFMyhjb25zdCB1aW50
OCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd24zOF9BbnlfU1NTRTMo
Y29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dE
b3duMzhfQW55X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgpOwogdm9pZCBTY2FsZVJvd0Rvd24zOF8zX0JveF9BbnlfU1NTRTMoY29uc3Qg
dWludDgqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF93aWR0aCk7CiB2b2lkIFNjYWxlUm93RG93bjM4XzJfQm94X0FueV9TU1NF
Myhjb25zdCB1aW50OCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKIAogdm9pZCBTY2FsZUFkZFJvd19TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIsIGludCBzcmNfd2lkdGgpOwogdm9p
ZCBTY2FsZUFkZFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIs
IGludCBzcmNfd2lkdGgpOwogdm9pZCBTY2FsZUFkZFJvd19BbnlfU1NFMihjb25zdCB1aW50OCog
c3JjX3B0ciwgdWludDE2KiBkc3RfcHRyLCBpbnQgc3JjX3dpZHRoKTsKIHZvaWQgU2NhbGVBZGRS
b3dfQW55X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsIHVpbnQxNiogZHN0X3B0ciwgaW50IHNy
Y193aWR0aCk7CiAKLXZvaWQgU2NhbGVGaWx0ZXJDb2xzX1NTU0UzKHVpbnQ4KiBkc3RfcHRyLCBj
b25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
d2lkdGgsIGludCB4LCBpbnQgZHgpOwotdm9pZCBTY2FsZUNvbHNVcDJfU1NFMih1aW50OCogZHN0
X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCBk
c3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpOwotCit2b2lkIFNjYWxlRmlsdGVyQ29sc19TU1NFMyh1
aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGR4KTsKK3ZvaWQgU2NhbGVDb2xzVXAyX1NTRTIodWludDgqIGRzdF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGR4KTsKIAogLy8gQVJHQiBDb2x1bW4gZnVuY3Rpb25zCi12
b2lkIFNjYWxlQVJHQkNvbHNfU1NFMih1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQg
ZHgpOwotdm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzX1NTU0UzKHVpbnQ4KiBkc3RfYXJnYiwgY29u
c3QgdWludDgqIHNyY19hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk
c3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpOwotdm9pZCBTY2FsZUFSR0JDb2xzVXAyX1NTRTIodWlu
dDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KTsKLXZvaWQgU2NhbGVBUkdCRmls
dGVyQ29sc19ORU9OKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCk7
Ci12b2lkIFNjYWxlQVJHQkNvbHNfTkVPTih1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBp
bnQgZHgpOwotdm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzX0FueV9ORU9OKHVpbnQ4KiBkc3RfYXJn
YiwgY29uc3QgdWludDgqIHNyY19hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpOwotdm9pZCBTY2FsZUFSR0JDb2xzX0Fu
eV9ORU9OKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpOwordm9pZCBT
Y2FsZUFSR0JDb2xzX1NTRTIodWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGR4KTsKK3ZvaWQgU2NhbGVBUkdCRmlsdGVyQ29sc19TU1NFMyh1aW50OCog
ZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGR4KTsKK3ZvaWQgU2NhbGVBUkdCQ29sc1VwMl9TU0UyKHVpbnQ4KiBk
c3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk
eCk7Cit2b2lkIFNjYWxlQVJHQkZpbHRlckNvbHNfTkVPTih1aW50OCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgp
Owordm9pZCBTY2FsZUFSR0JDb2xzX05FT04odWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGR4KTsKK3ZvaWQgU2NhbGVBUkdCRmlsdGVyQ29sc19Bbnlf
TkVPTih1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4KTsKK3ZvaWQgU2NhbGVB
UkdCQ29sc19BbnlfTkVPTih1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4KTsKIAogLy8gQVJHQiBSb3cgZnVuY3Rpb25z
Ci12b2lkIFNjYWxlQVJHQlJvd0Rvd24yX1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZUFSR0JSb3dEb3duMkxpbmVhcl9TU0Uy
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3dpZHRoKTsK
LXZvaWQgU2NhbGVBUkdCUm93RG93bjJCb3hfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlQVJHQlJvd0Rvd24yX05FT04o
Y29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZUFS
R0JSb3dEb3duMkxpbmVhcl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9h
cmdiLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVBUkdCUm93RG93bjJCb3hfTkVPTihjb25z
dCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlQVJH
QlJvd0Rvd24yX0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgcHRyZGlmZl90IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwg
aW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd24yX1NTRTIoY29uc3QgdWludDgq
IHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVBUkdCUm93
RG93bjJMaW5lYXJfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZUFSR0JSb3dEb3duMkJveF9T
U0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93
aWR0aCk7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd24yX05FT04oY29uc3QgdWludDgqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfTkVP
Tihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZUFSR0JSb3dEb3duMkJveF9ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJH
QlJvd0Rvd24yX01TQShjb25zdCB1aW50OF90KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoKTsKK3ZvaWQgU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfTVNBKGNvbnN0IHVpbnQ4X3Qq
IHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3Rf
YXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwor
dm9pZCBTY2FsZUFSR0JSb3dEb3duMkJveF9NU0EoY29uc3QgdWludDhfdCogc3JjX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd24y
X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF93aWR0aCk7CiB2b2lkIFNjYWxlQVJHQlJvd0Rvd24yTGluZWFyX0FueV9TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlQVJHQlJv
d0Rvd24yQm94X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgcHRyZGlmZl90IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlQVJHQlJvd0Rvd24yX0FueV9ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJHQlJv
d0Rvd24yQm94X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd24y
X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCk7CiB2b2lkIFNjYWxlQVJHQlJvd0Rvd24yTGluZWFyX0FueV9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlQVJHQlJvd0Rvd24y
Qm94X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93
aWR0aCk7Ci0KLXZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5fU1NFMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RlcHgsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCk7Ci12b2lk
IFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVBUkdCUm93RG93bjJCb3hfQW55X05FT04oY29uc3Qg
dWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRo
KTsKK3ZvaWQgU2NhbGVBUkdCUm93RG93bjJfQW55X01TQShjb25zdCB1aW50OF90KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3RfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVBUkdC
Um93RG93bjJMaW5lYXJfQW55X01TQShjb25zdCB1aW50OF90KiBzcmNfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3RfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2Nh
bGVBUkdCUm93RG93bjJCb3hfQW55X01TQShjb25zdCB1aW50OF90KiBzcmNfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3RfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKKwordm9pZCBTY2FsZUFS
R0JSb3dEb3duRXZlbl9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0ZXB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfU1NFMihjb25zdCB1aW50
OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dGVweCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
IGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZUFSR0JSb3dEb3duRXZlbl9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZUFSR0JSb3dEb3duRXZlbl9ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0ZXB4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94X05FT04oY29u
c3QgdWludDgqIHNyY19hcmdiLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94X05F
T04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RlcHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5f
QW55X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJH
QlJvd0Rvd25FdmVuX01TQShjb25zdCB1aW50OF90KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50MzJfdCBzcmNfc3RlcHgsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OF90KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZUFSR0JSb3dEb3duRXZlbkJveF9NU0EoY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
ZXB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNj
YWxlQVJHQlJvd0Rvd25FdmVuX0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RlcHgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7CiB2b2lkIFNj
YWxlQVJHQlJvd0Rvd25FdmVuQm94X0FueV9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RlcHgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50
IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuX0FueV9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd25F
dmVuX0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RlcHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7CiB2b2lkIFNjYWxlQVJHQlJvd0Rvd25F
dmVuQm94X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RlcHgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lk
IFNjYWxlQVJHQlJvd0Rvd25FdmVuX0FueV9NU0EoY29uc3QgdWludDhfdCogc3JjX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBzcmNfc3RlcHgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0X2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJH
QlJvd0Rvd25FdmVuQm94X0FueV9NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RlcHgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwogCiAvLyBTY2FsZVJvd0Rv
d24yQm94IGFsc28gdXNlZCBieSBwbGFuYXIgZnVuY3Rpb25zCiAvLyBORU9OIGRvd25zY2FsZXJz
IHdpdGggaW50ZXJwb2xhdGlvbi4KIAogLy8gTm90ZSAtIG5vdCBzdGF0aWMgZHVlIHRvIHJldXNl
IGluIGNvbnZlcnQgZm9yIDQ0NCB0byA0MjAuCi12b2lkIFNjYWxlUm93RG93bjJfTkVPTihjb25z
dCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duMkxp
bmVhcl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpOwot
dm9pZCBTY2FsZVJvd0Rvd24yQm94X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50
IGRzdF93aWR0aCk7Ci0KLXZvaWQgU2NhbGVSb3dEb3duNF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duNEJveF9ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVS
b3dEb3duMl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxl
Um93RG93bjJMaW5lYXJfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24yQm94X05FT04oY29uc3QgdWludDgqIHNy
Y19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKKwordm9pZCBTY2FsZVJvd0Rvd240X05FT04oY29u
c3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93bjRCb3hf
TkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKIAogLy8g
RG93biBzY2FsZSBmcm9tIDQgdG8gMyBwaXhlbHMuIFVzZSB0aGUgbmVvbiBtdWx0aWxhbmUgcmVh
ZC93cml0ZQogLy8gIHRvIGxvYWQgdXAgdGhlIGV2ZXJ5IDR0aCBwaXhlbCBpbnRvIGEgNCBkaWZm
ZXJlbnQgcmVnaXN0ZXJzLgogLy8gUG9pbnQgc2FtcGxlcyAzMiBwaXhlbHMgdG8gMjQgcGl4ZWxz
Lgogdm9pZCBTY2FsZVJvd0Rvd24zNF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3dpZHRoKTsKIHZvaWQgU2NhbGVSb3dEb3duMzRfMF9Cb3hfTkVPTihjb25zdCB1aW50OCog
c3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50
IGRzdF93aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7CiB2b2lk
IFNjYWxlUm93RG93bjM0XzFfQm94X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwogCiAvLyAzMiAtPiAxMgogdm9pZCBT
Y2FsZVJvd0Rvd24zOF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRo
KTsKIC8vIDMyeDMgLT4gMTJ4MQogdm9pZCBTY2FsZVJvd0Rvd24zOF8zX0JveF9ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
cHRyLCBpbnQgZHN0X3dpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRo
KTsKIC8vIDMyeDIgLT4gMTJ4MQogdm9pZCBTY2FsZVJvd0Rvd24zOF8yX0JveF9ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
cHRyLCBpbnQgZHN0X3dpZHRoKTsKLQotdm9pZCBTY2FsZVJvd0Rvd24yX0FueV9ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3du
MkxpbmVhcl9BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRz
dF93aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjJCb3hfQW55X05FT04oY29uc3QgdWludDgqIHNy
Y19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd24yQm94X09k
ZF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKTsKLXZv
aWQgU2NhbGVSb3dEb3duNF9BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIs
IGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd240Qm94X0FueV9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93
RG93bjM0X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rf
d2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd24zNF8wX0JveF9BbnlfTkVPTihjb25zdCB1aW50OCog
c3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dE
b3duMzRfMV9Cb3hfQW55X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0
ciwgaW50IGRzdF93aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7
CisKK3ZvaWQgU2NhbGVSb3dEb3duMl9BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24yTGluZWFyX0FueV9ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0
aCk7Cit2b2lkIFNjYWxlUm93RG93bjJCb3hfQW55X05FT04oY29uc3QgdWludDgqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMkJveF9P
ZGRfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lk
dGgpOwordm9pZCBTY2FsZVJvd0Rvd240X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd240Qm94X0FueV9ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgp
Owordm9pZCBTY2FsZVJvd0Rvd24zNF9BbnlfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMzRfMF9Cb3hfQW55
X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93bjM0XzFfQm94X0FueV9ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk
c3Rfd2lkdGgpOwogLy8gMzIgLT4gMTIKLXZvaWQgU2NhbGVSb3dEb3duMzhfQW55X05FT04oY29u
c3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxl
Um93RG93bjM4X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgpOwogLy8gMzJ4MyAtPiAxMngxCi12b2lkIFNjYWxlUm93RG93bjM4XzNfQm94
X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0
aCk7Cit2b2lkIFNjYWxlUm93RG93bjM4XzNfQm94X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwogLy8g
MzJ4MiAtPiAxMngxCi12b2lkIFNjYWxlUm93RG93bjM4XzJfQm94X0FueV9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93
RG93bjM4XzJfQm94X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwogCiB2b2lkIFNjYWxlQWRkUm93X05F
T04oY29uc3QgdWludDgqIHNyY19wdHIsIHVpbnQxNiogZHN0X3B0ciwgaW50IHNyY193aWR0aCk7
CiB2b2lkIFNjYWxlQWRkUm93X0FueV9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1aW50MTYq
IGRzdF9wdHIsIGludCBzcmNfd2lkdGgpOwogCi12b2lkIFNjYWxlRmlsdGVyQ29sc19ORU9OKHVp
bnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCk7Ci0KLXZvaWQgU2NhbGVGaWx0ZXJD
b2xzX0FueV9ORU9OKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpOwot
Ci12b2lkIFNjYWxlUm93RG93bjJfRFNQUjIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBk
c3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd24yQm94X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duNF9EU1BSMihjb25z
dCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjRC
b3hfRFNQUjIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpOwotdm9p
ZCBTY2FsZVJvd0Rvd24zNF9EU1BSMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rf
d2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd24zNF8wX0JveF9EU1BSMihjb25zdCB1aW50OCogc3Jj
X3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkLCBpbnQgZHN0X3dpZHRoKTsKLXZvaWQgU2NhbGVSb3dEb3duMzRfMV9Cb3hf
RFNQUjIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZCwgaW50IGRzdF93aWR0aCk7Ci12b2lk
IFNjYWxlUm93RG93bjM4X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93
aWR0aCk7Ci12b2lkIFNjYWxlUm93RG93bjM4XzJfQm94X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwotdm9pZCBTY2FsZVJvd0Rvd24zOF8z
X0JveF9EU1BSMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dp
ZHRoKTsKK3ZvaWQgU2NhbGVGaWx0ZXJDb2xzX05FT04odWludDgqIGRzdF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4KTsKKwordm9pZCBTY2FsZUZpbHRl
ckNvbHNfQW55X05FT04odWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkeCk7CisKK3ZvaWQgU2NhbGVSb3dEb3du
Ml9EU1BSMihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJv
d0Rvd24yQm94X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0
aCk7Cit2b2lkIFNjYWxlUm93RG93bjRfRFNQUjIoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duNEJveF9EU1BSMihjb25zdCB1aW50OCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24zNF9EU1BSMihjb25z
dCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24zNF8w
X0JveF9EU1BSMihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMzRfMV9Cb3hfRFNQUjIoY29uc3QgdWludDgqIHNy
Y19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93
bjM4X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNj
YWxlUm93RG93bjM4XzJfQm94X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24zOF8zX0JveF9E
U1BSMihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoKTsKK3ZvaWQgU2NhbGVBZGRSb3dfRFNQUjIoY29uc3QgdWludDgqIHNyY19wdHIsIHVp
bnQxNiogZHN0X3B0ciwgaW50IHNyY193aWR0aCk7Cit2b2lkIFNjYWxlQWRkUm93X0FueV9EU1BS
Mihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
NiogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgpOwor
Cit2b2lkIFNjYWxlUm93RG93bjJfTVNBKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OF90KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgp
Owordm9pZCBTY2FsZVJvd0Rvd24yTGluZWFyX01TQShjb25zdCB1aW50OF90KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMkJveF9NU0EoY29u
c3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93
bjRfTVNBKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3Qs
CisgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rv
d240Qm94X01TQShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3Zv
aWQgU2NhbGVSb3dEb3duMzhfTVNBKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgp
Owordm9pZCBTY2FsZVJvd0Rvd24zOF8yX0JveF9NU0EoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0X3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24zOF8z
X0JveF9NU0EoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk
c3Rfd2lkdGgpOwordm9pZCBTY2FsZUFkZFJvd19NU0EoY29uc3QgdWludDhfdCogc3JjX3B0ciwg
dWludDE2X3QqIGRzdF9wdHIsIGludCBzcmNfd2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd24yX0Fu
eV9NU0EoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf
dCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lk
IFNjYWxlUm93RG93bjJMaW5lYXJfQW55X01TQShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMkJv
eF9BbnlfTVNBKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
d2lkdGgpOwordm9pZCBTY2FsZVJvd0Rvd240X0FueV9NU0EoY29uc3QgdWludDhfdCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93bjRCb3hfQW55X01TQShj
b25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90
KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKK3Zv
aWQgU2NhbGVSb3dEb3duMzhfQW55X01TQShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3dpZHRoKTsKK3ZvaWQgU2NhbGVSb3dEb3duMzhfMl9Cb3hfQW55X01TQShjb25z
dCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4X3QqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCk7Cit2b2lkIFNjYWxlUm93RG93bjM4XzNfQm94X0FueV9NU0EoY29uc3QgdWludDhf
dCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBk
c3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgp
Owordm9pZCBTY2FsZUFkZFJvd19BbnlfTVNBKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY193aWR0aCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfSAgLy8gZXh0
ZXJuICJDIgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvdmVyc2lvbi5oIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYv
dmVyc2lvbi5oCmluZGV4IDc1NDA2YmQ3ZmNiM2VhY2M4YTEzNzkzOTkwMTQ4MTliNTVkMzgzMjIu
LjgyNDI5MjdmYzAyNDFiOTQxYjY5NGFkYTgwNWViMDYzNDJiODA2YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luY2x1
ZGUvbGlieXV2L3ZlcnNpb24uaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di92ZXJzaW9uLmgKQEAgLTExLDYg
KzExLDYgQEAKICNpZm5kZWYgSU5DTFVERV9MSUJZVVZfVkVSU0lPTl9IXwogI2RlZmluZSBJTkNM
VURFX0xJQllVVl9WRVJTSU9OX0hfCiAKLSNkZWZpbmUgTElCWVVWX1ZFUlNJT04gMTYyOQorI2Rl
ZmluZSBMSUJZVVZfVkVSU0lPTiAxNjU4CiAKICNlbmRpZiAgLy8gSU5DTFVERV9MSUJZVVZfVkVS
U0lPTl9IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvdmlkZW9fY29tbW9uLmggYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xp
Ynl1di92aWRlb19jb21tb24uaAppbmRleCAwODQyMDFhZjU3ZGNhNGVhOGFkNDNlNGE3YTUxNWZh
ZGM4ZWM0MzI5Li5mMzcxMWM0MjNiYTNiNWYwNDIxMzgwZThjYjhlNDkxNjIwMmZjNjRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9pbmNsdWRlL2xpYnl1di92aWRlb19jb21tb24uaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di92aWRl
b19jb21tb24uaApAQCAtMjgsMTMgKzI4LDEzIEBAIGV4dGVybiAiQyIgewogLy8gTmVlZHMgdG8g
YmUgYSBtYWNybyBvdGhlcndpc2UgdGhlIE9TIFggY29tcGlsZXIgY29tcGxhaW5zIHdoZW4gdGhl
IGtGb3JtYXQqCiAvLyBjb25zdGFudHMgYXJlIHVzZWQgaW4gYSBzd2l0Y2guCiAjaWZkZWYgX19j
cGx1c3BsdXMKLSNkZWZpbmUgRk9VUkNDKGEsIGIsIGMsIGQpICggXAotICAgIChzdGF0aWNfY2Fz
dDx1aW50MzI+KGEpKSB8IChzdGF0aWNfY2FzdDx1aW50MzI+KGIpIDw8IDgpIHwgXAotICAgIChz
dGF0aWNfY2FzdDx1aW50MzI+KGMpIDw8IDE2KSB8IChzdGF0aWNfY2FzdDx1aW50MzI+KGQpIDw8
IDI0KSkKKyNkZWZpbmUgRk9VUkNDKGEsIGIsIGMsIGQpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAoKHN0YXRpY19jYXN0PHVpbnQzMj4oYSkpIHwgKHN0YXRpY19jYXN0
PHVpbnQzMj4oYikgPDwgOCkgfCBcCisgICAoc3RhdGljX2Nhc3Q8dWludDMyPihjKSA8PCAxNikg
fCAoc3RhdGljX2Nhc3Q8dWludDMyPihkKSA8PCAyNCkpCiAjZWxzZQotI2RlZmluZSBGT1VSQ0Mo
YSwgYiwgYywgZCkgKCBcCi0gICAgKCh1aW50MzIpKGEpKSB8ICgodWludDMyKShiKSA8PCA4KSB8
IC8qIE5PTElOVCAqLyBcCi0gICAgKCh1aW50MzIpKGMpIDw8IDE2KSB8ICgodWludDMyKShkKSA8
PCAyNCkpICAvKiBOT0xJTlQgKi8KKyNkZWZpbmUgRk9VUkNDKGEsIGIsIGMsIGQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAoKCh1aW50MzIpKGEpKSB8ICgodWludDMyKShi
KSA8PCA4KSB8ICAgICAgIC8qIE5PTElOVCAqLyBcCisgICAoKHVpbnQzMikoYykgPDwgMTYpIHwg
KCh1aW50MzIpKGQpIDw8IDI0KSkgLyogTk9MSU5UICovCiAjZW5kaWYKIAogLy8gU29tZSBwYWdl
cyBkaXNjdXNzaW5nIEZvdXJDQyBjb2RlczoKQEAgLTY5LDcgKzY5LDcgQEAgZW51bSBGb3VyQ0Mg
ewogICBGT1VSQ0NfQkdSQSA9IEZPVVJDQygnQicsICdHJywgJ1InLCAnQScpLAogICBGT1VSQ0Nf
QUJHUiA9IEZPVVJDQygnQScsICdCJywgJ0cnLCAnUicpLAogICBGT1VSQ0NfMjRCRyA9IEZPVVJD
QygnMicsICc0JywgJ0InLCAnRycpLAotICBGT1VSQ0NfUkFXICA9IEZPVVJDQygncicsICdhJywg
J3cnLCAnICcpLAorICBGT1VSQ0NfUkFXID0gRk9VUkNDKCdyJywgJ2EnLCAndycsICcgJyksCiAg
IEZPVVJDQ19SR0JBID0gRk9VUkNDKCdSJywgJ0cnLCAnQicsICdBJyksCiAgIEZPVVJDQ19SR0JQ
ID0gRk9VUkNDKCdSJywgJ0cnLCAnQicsICdQJyksICAvLyByZ2I1NjUgTEUuCiAgIEZPVVJDQ19S
R0JPID0gRk9VUkNDKCdSJywgJ0cnLCAnQicsICdPJyksICAvLyBhcmdiMTU1NSBMRS4KQEAgLTEz
Nyw3ICsxMzcsNyBAQCBlbnVtIEZvdXJDQ0JwcCB7CiAgIEZPVVJDQ19CUFBfQUJHUiA9IDMyLAog
ICBGT1VSQ0NfQlBQX1JHQkEgPSAzMiwKICAgRk9VUkNDX0JQUF8yNEJHID0gMjQsCi0gIEZPVVJD
Q19CUFBfUkFXICA9IDI0LAorICBGT1VSQ0NfQlBQX1JBVyA9IDI0LAogICBGT1VSQ0NfQlBQX1JH
QlAgPSAxNiwKICAgRk9VUkNDX0JQUF9SR0JPID0gMTYsCiAgIEZPVVJDQ19CUFBfUjQ0NCA9IDE2
LApAQCAtMTcwLDcgKzE3MCw3IEBAIGVudW0gRm91ckNDQnBwIHsKICAgRk9VUkNDX0JQUF9DTTI0
ID0gMjQsCiAKICAgLy8gTWF0Y2ggYW55IGZvdXJjYy4KLSAgRk9VUkNDX0JQUF9BTlkgID0gMCwg
IC8vIDAgbWVhbnMgdW5rbm93bi4KKyAgRk9VUkNDX0JQUF9BTlkgPSAwLCAgLy8gMCBtZWFucyB1
bmtub3duLgogfTsKIAogLy8gQ29udmVydHMgZm91cmNjIGFsaWFzZXMgaW50byBjYW5vbmljYWwg
b25lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L2luZnJhL2NvbmZpZy9PV05FUlMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9pbmZyYS9jb25maWcvT1dORVJTCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjAyZWNjZDVlYjUwMDliMGIzYWE0NDQwMzE3N2IzOWRhNTc2MTY1ZDQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di9pbmZyYS9jb25maWcvT1dORVJTCkBAIC0wLDAgKzEsMyBAQAorc2V0IG5vcGFy
ZW50CithZ2FibGVAY2hyb21pdW0ub3JnCitramVsbGFuZGVyQGNocm9taXVtLm9yZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvaW5mcmEvY29uZmlnL1JFQURNRS5tZCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2luZnJhL2NvbmZpZy9SRUFETUUubWQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzAzNmQ2MTBjNWZmYmU0YmQ5ZjQ2MmNmNzdlYTQyYWZmZjY3ZmYwMgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L2luZnJhL2NvbmZpZy9SRUFETUUubWQKQEAgLTAsMCArMSBAQAorVGhpcyBkaXJlY3Rvcnkg
Y29udGFpbnMgY29uZmlndXJhdGlvbiBmaWxlcyBmb3IgaW5mcmEgc2VydmljZXMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di9pbmZyYS9jb25maWcvY3EuY2ZnIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5mcmEvY29uZmlnL2NxLmNmZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjAz
NDdkNjM5YmVjMzZjNjcwNTg0MWM5Njg5YmE4OWNjNDUwYzA2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvaW5m
cmEvY29uZmlnL2NxLmNmZwpAQCAtMCwwICsxLDY2IEBACisjIENvbW1pdCBRdWV1ZSBjb25maWd1
cmF0aW9uIGZpbGUuIFRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBmb3JtYXQgY2FuIGJlIGZvdW5k
CisjIGF0IGh0dHA6Ly9sdWNpLWNvbmZpZy5hcHBzcG90LmNvbS9zY2hlbWFzL3Byb2plY3RzL3Jl
ZnM6Y3EuY2ZnLgorCit2ZXJzaW9uOiAxCitjcV9uYW1lOiAibGlieXV2IgorY3Ffc3RhdHVzX3Vy
bDogImh0dHBzOi8vY2hyb21pdW0tY3Etc3RhdHVzLmFwcHNwb3QuY29tIgorZ2l0X3JlcG9fdXJs
OiAiaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2xpYnl1di9saWJ5dXYuZ2l0Igor
CitnZXJyaXQge30KK3JpZXR2ZWxkIHsKKyAgdXJsOiAiaHR0cHM6Ly9jb2RlcmV2aWV3LmNocm9t
aXVtLm9yZyIKK30KKworCit2ZXJpZmllcnMgeworICByZXZpZXdlcl9sZ3RtIHsKKyAgICBjb21t
aXR0ZXJfbGlzdDogInByb2plY3QtbGlieXV2LWNvbW1pdHRlcnMiCisgICAgZHJ5X3J1bl9hY2Nl
c3NfbGlzdDogInByb2plY3QtbGlieXV2LXRyeWpvYi1hY2Nlc3MiCisgIH0KKyAgZ2Vycml0X2Nx
X2FiaWxpdHkgeworICAgIGNvbW1pdHRlcl9saXN0OiAicHJvamVjdC1saWJ5dXYtY29tbWl0dGVy
cyIKKyAgICBkcnlfcnVuX2FjY2Vzc19saXN0OiAicHJvamVjdC1saWJ5dXYtdHJ5am9iLWFjY2Vz
cyIKKyAgfQorCisgIHRyeV9qb2IgeworICAgIGJ1Y2tldHMgeworICAgICAgbmFtZTogIm1hc3Rl
ci50cnlzZXJ2ZXIubGlieXV2IgorICAgICAgYnVpbGRlcnMgeyBuYW1lOiAid2luIiB9CisgICAg
ICBidWlsZGVycyB7IG5hbWU6ICJ3aW5fcmVsIiB9CisgICAgICBidWlsZGVycyB7IG5hbWU6ICJ3
aW5feDY0X3JlbCIgfQorICAgICAgYnVpbGRlcnMgeyBuYW1lOiAid2luX2NsYW5nIiB9CisgICAg
ICBidWlsZGVycyB7IG5hbWU6ICJ3aW5fY2xhbmdfcmVsIiB9CisgICAgICBidWlsZGVycyB7IG5h
bWU6ICJ3aW5feDY0X2NsYW5nX3JlbCIgfQorICAgICAgYnVpbGRlcnMgeyBuYW1lOiAibWFjIiB9
CisgICAgICBidWlsZGVycyB7IG5hbWU6ICJtYWNfcmVsIiB9CisgICAgICBidWlsZGVycyB7IG5h
bWU6ICJtYWNfYXNhbiIgfQorICAgICAgYnVpbGRlcnMgeyBuYW1lOiAiaW9zIiB9CisgICAgICBi
dWlsZGVycyB7IG5hbWU6ICJpb3NfcmVsIiB9CisgICAgICBidWlsZGVycyB7IG5hbWU6ICJpb3Nf
YXJtNjQiIH0KKyAgICAgIGJ1aWxkZXJzIHsgbmFtZTogImlvc19hcm02NF9yZWwiIH0KKyAgICAg
IGJ1aWxkZXJzIHsgbmFtZTogImxpbnV4IiB9CisgICAgICBidWlsZGVycyB7IG5hbWU6ICJsaW51
eF9yZWwiIH0KKyAgICAgIGJ1aWxkZXJzIHsKKyAgICAgICAgbmFtZTogImxpbnV4X2djYyIKKyAg
ICAgICAgZXhwZXJpbWVudF9wZXJjZW50YWdlOiAxMDAKKyAgICAgIH0KKyAgICAgIGJ1aWxkZXJz
IHsgbmFtZTogImxpbnV4X21lbWNoZWNrIiB9CisgICAgICBidWlsZGVycyB7IG5hbWU6ICJsaW51
eF9tc2FuIiB9CisgICAgICBidWlsZGVycyB7IG5hbWU6ICJsaW51eF90c2FuMiIgfQorICAgICAg
YnVpbGRlcnMgeyBuYW1lOiAibGludXhfYXNhbiIgfQorICAgICAgYnVpbGRlcnMgeyBuYW1lOiAi
bGludXhfbXNhbiIgfQorICAgICAgYnVpbGRlcnMgeyBuYW1lOiAibGludXhfdWJzYW4iIH0KKyAg
ICAgIGJ1aWxkZXJzIHsgbmFtZTogImxpbnV4X3Vic2FuX3ZwdHIiIH0KKyAgICAgIGJ1aWxkZXJz
IHsgbmFtZTogImFuZHJvaWQiIH0KKyAgICAgIGJ1aWxkZXJzIHsgbmFtZTogImFuZHJvaWRfcmVs
IiB9CisgICAgICBidWlsZGVycyB7IG5hbWU6ICJhbmRyb2lkX2NsYW5nIiB9CisgICAgICBidWls
ZGVycyB7IG5hbWU6ICJhbmRyb2lkX2FybTY0IiB9CisgICAgICBidWlsZGVycyB7IG5hbWU6ICJh
bmRyb2lkX3g4NiIgfQorICAgICAgYnVpbGRlcnMgeyBuYW1lOiAiYW5kcm9pZF94NjQiIH0KKyAg
ICAgIGJ1aWxkZXJzIHsKKyAgICAgICAgbmFtZTogImFuZHJvaWRfbWlwcyIKKyAgICAgICAgZXhw
ZXJpbWVudF9wZXJjZW50YWdlOiAxMDAKKyAgICAgIH0KKyAgICB9CisgIH0KK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L2xpYnl1di5neXAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di9saWJ5dXYuZ3lwCmluZGV4IGZjN2QwODc5MmFhNTVhMTljMjZhMmY2YmZkYmVl
ZGM3MmU3MzQwMDQuLmY3M2ExYTRiNzQ1ZTRmZjUzY2Y1ODkwMjc2NzRjMDlmNzBjN2MzOTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L2xpYnl1di5neXAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvbGlieXV2Lmd5cApAQCAtMTgsNyArMTgsOCBAQAogICB9LAog
ICAndmFyaWFibGVzJzogewogICAgICd1c2Vfc3lzdGVtX2xpYmpwZWclJzogMCwKLSAgICAnbGli
eXV2X2Rpc2FibGVfanBlZyUnOiAwLAorICAgICMgQ2FuIGJlIGVuYWJsZWQgaWYgeW91ciBqcGVn
IGhhcyBHWVAgc3VwcG9ydC4KKyAgICAnbGlieXV2X2Rpc2FibGVfanBlZyUnOiAxLAogICAgICMg
J2Nocm9taXVtX2NvZGUnIHRyZWF0cyBsaWJ5dXYgYXMgaW50ZXJuYWwgYW5kIGluY3JlYXNlcyB3
YXJuaW5nIGxldmVsLgogICAgICdjaHJvbWl1bV9jb2RlJzogMSwKICAgICAjIGNsYW5nIGNvbXBp
bGVyIGRlZmF1bHQgdmFyaWFibGUgdXNhYmxlIGJ5IG90aGVyIGFwcHMgdGhhdCBpbmNsdWRlIGxp
Ynl1di4KQEAgLTEyMCw3ICsxMjEsNyBAQAogICAgICAgICAjIEVuYWJsZSB0aGUgZm9sbG93aW5n
IDMgbWFjcm9zIHRvIHR1cm4gb2ZmIGFzc2VtYmx5IGZvciBzcGVjaWZpZWQgQ1BVLgogICAgICAg
ICAjICdMSUJZVVZfRElTQUJMRV9YODYnLAogICAgICAgICAjICdMSUJZVVZfRElTQUJMRV9ORU9O
JywKLSAgICAgICAgIyAnTElCWVVWX0RJU0FCTEVfTUlQUycsCisgICAgICAgICMgJ0xJQllVVl9E
SVNBQkxFX0RTUFIyJywKICAgICAgICAgIyBFbmFibGUgdGhlIGZvbGxvd2luZyBtYWNybyB0byBi
dWlsZCBsaWJ5dXYgYXMgYSBzaGFyZWQgbGlicmFyeSAoZGxsKS4KICAgICAgICAgIyAnTElCWVVW
X1VTSU5HX1NIQVJFRF9MSUJSQVJZJywKICAgICAgICAgIyBUT0RPKGZiYXJjaGFyZCk6IE1ha2Ug
dGhlc2UgaW50byBneXAgZGVmaW5lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2xpYnl1di5neXBpIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvbGlieXV2Lmd5cGkK
aW5kZXggNGY2OGEwNjVjMGNhNTJhNTZjOTA1OTNhZmM1Zjc4YTc1ZTU3MTU3Yy4uMThiMmZlY2E1
ZWRmYjE4MDE5MTA2YzgwODRjNGZhMjM5MjE4M2RkNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvbGlieXV2Lmd5cGkKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
bGlieXV2Lmd5cGkKQEAgLTU0LDE0ICs1NCwxNSBAQAogICAgICAgJ3NvdXJjZS9yb3RhdGVfYXJn
Yi5jYycsCiAgICAgICAnc291cmNlL3JvdGF0ZV9jb21tb24uY2MnLAogICAgICAgJ3NvdXJjZS9y
b3RhdGVfZ2NjLmNjJywKLSAgICAgICdzb3VyY2Uvcm90YXRlX21pcHMuY2MnLAorICAgICAgJ3Nv
dXJjZS9yb3RhdGVfZHNwcjIuY2MnLAorICAgICAgJ3NvdXJjZS9yb3RhdGVfbXNhLmNjJywKICAg
ICAgICdzb3VyY2Uvcm90YXRlX25lb24uY2MnLAogICAgICAgJ3NvdXJjZS9yb3RhdGVfbmVvbjY0
LmNjJywKICAgICAgICdzb3VyY2Uvcm90YXRlX3dpbi5jYycsCiAgICAgICAnc291cmNlL3Jvd19h
bnkuY2MnLAogICAgICAgJ3NvdXJjZS9yb3dfY29tbW9uLmNjJywKICAgICAgICdzb3VyY2Uvcm93
X2djYy5jYycsCi0gICAgICAnc291cmNlL3Jvd19taXBzLmNjJywKKyAgICAgICdzb3VyY2Uvcm93
X2RzcHIyLmNjJywKICAgICAgICdzb3VyY2Uvcm93X21zYS5jYycsCiAgICAgICAnc291cmNlL3Jv
d19uZW9uLmNjJywKICAgICAgICdzb3VyY2Uvcm93X25lb242NC5jYycsCkBAIC03MSw3ICs3Miw4
IEBACiAgICAgICAnc291cmNlL3NjYWxlX2FyZ2IuY2MnLAogICAgICAgJ3NvdXJjZS9zY2FsZV9j
b21tb24uY2MnLAogICAgICAgJ3NvdXJjZS9zY2FsZV9nY2MuY2MnLAotICAgICAgJ3NvdXJjZS9z
Y2FsZV9taXBzLmNjJywKKyAgICAgICdzb3VyY2Uvc2NhbGVfZHNwcjIuY2MnLAorICAgICAgJ3Nv
dXJjZS9zY2FsZV9tc2EuY2MnLAogICAgICAgJ3NvdXJjZS9zY2FsZV9uZW9uLmNjJywKICAgICAg
ICdzb3VyY2Uvc2NhbGVfbmVvbjY0LmNjJywKICAgICAgICdzb3VyY2Uvc2NhbGVfd2luLmNjJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L2xpYnl1dl90ZXN0Lmd5cCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L2xpYnl1dl90ZXN0Lmd5cAppbmRleCBmNGM0ZWEwOTE5
MDkwZjZiMjA4NTRkZDg1YWI5MjFmZWJiNDI0MjIzLi40MjIyY2YyNmRhN2I2ZDdkNmU0NGU3YTE0
ZmFlMjBkM2UwZGI4N2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9saWJ5dXZfdGVzdC5neXAKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvbGlieXV2X3Rlc3Qu
Z3lwCkBAIC04LDcgKzgsOCBAQAogCiB7CiAgICd2YXJpYWJsZXMnOiB7Ci0gICAgJ2xpYnl1dl9k
aXNhYmxlX2pwZWclJzogMCwKKyAgICAjIENhbiBiZSBlbmFibGVkIGlmIHlvdXIganBlZyBoYXMg
R1lQIHN1cHBvcnQuCisgICAgJ2xpYnl1dl9kaXNhYmxlX2pwZWclJzogMSwKICAgICAnbWlwc19t
c2ElJzogMCwgICMgRGVmYXVsdCB0byBtc2Egb2ZmLgogICB9LAogICAndGFyZ2V0cyc6IFsKQEAg
LTM4LDYgKzM5LDcgQEAKICAgICAgICAgJ3VuaXRfdGVzdC9jb2xvcl90ZXN0LmNjJywKICAgICAg
ICAgJ3VuaXRfdGVzdC9jb252ZXJ0X3Rlc3QuY2MnLAogICAgICAgICAndW5pdF90ZXN0L2NwdV90
ZXN0LmNjJywKKyAgICAgICAgJ3VuaXRfdGVzdC9jcHVfdGhyZWFkX3Rlc3QuY2MnLAogICAgICAg
ICAndW5pdF90ZXN0L21hdGhfdGVzdC5jYycsCiAgICAgICAgICd1bml0X3Rlc3QvcGxhbmFyX3Rl
c3QuY2MnLAogICAgICAgICAndW5pdF90ZXN0L3JvdGF0ZV9hcmdiX3Rlc3QuY2MnLApAQCAtOTgs
NyArMTAwLDcgQEAKICAgICAgICAgIyBFbmFibGUgdGhlIGZvbGxvd2luZyAzIG1hY3JvcyB0byB0
dXJuIG9mZiBhc3NlbWJseSBmb3Igc3BlY2lmaWVkIENQVS4KICAgICAgICAgIyAnTElCWVVWX0RJ
U0FCTEVfWDg2JywKICAgICAgICAgIyAnTElCWVVWX0RJU0FCTEVfTkVPTicsCi0gICAgICAgICMg
J0xJQllVVl9ESVNBQkxFX01JUFMnLAorICAgICAgICAjICdMSUJZVVZfRElTQUJMRV9EU1BSMics
CiAgICAgICAgICMgRW5hYmxlIHRoZSBmb2xsb3dpbmcgbWFjcm8gdG8gYnVpbGQgbGlieXV2IGFz
IGEgc2hhcmVkIGxpYnJhcnkgKGRsbCkuCiAgICAgICAgICMgJ0xJQllVVl9VU0lOR19TSEFSRURf
TElCUkFSWScsCiAgICAgICBdLApAQCAtMTIyLDE0ICsxMjQsMTQgQEAKICAgICAgIF0sICMgY29u
ZGl0aW9ucwogICAgIH0sCiAgICAgewotICAgICAgJ3RhcmdldF9uYW1lJzogJ2NvbnZlcnQnLAor
ICAgICAgJ3RhcmdldF9uYW1lJzogJ3l1dmNvbnZlcnQnLAogICAgICAgJ3R5cGUnOiAnZXhlY3V0
YWJsZScsCiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAnbGlieXV2Lmd5cDpsaWJ5
dXYnLAogICAgICAgXSwKICAgICAgICdzb3VyY2VzJzogWwogICAgICAgICAjIHNvdXJjZXMKLSAg
ICAgICAgJ3V0aWwvY29udmVydC5jYycsCisgICAgICAgICd1dGlsL3l1dmNvbnZlcnQuY2MnLAog
ICAgICAgXSwKICAgICAgICdjb25kaXRpb25zJzogWwogICAgICAgICBbJ09TPT0ibGludXgiJywg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvbGludXgubWsgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di9saW51eC5tawppbmRleCA2MjVjZGU5ZGFlZDBhMjhjMTc5MDE1
ZjAxNDIwMmU4YjAyZmQ0ZjRiLi45MjMzNDVhZTRkMTI0OWYyZTE2OGFlMGU5MTc2YjRiYzk1ZTA4
YmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9saW51eC5taworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9saW51eC5tawpAQCAtMzIsMTQgKzMyLDE0IEBAIExP
Q0FMX09CSl9GSUxFUyA6PSBcCiAJc291cmNlL3JvdGF0ZS5vICAgICAgICAgICAgXAogCXNvdXJj
ZS9yb3RhdGVfY29tbW9uLm8gICAgIFwKIAlzb3VyY2Uvcm90YXRlX2djYy5vICAgICAgICBcCi0J
c291cmNlL3JvdGF0ZV9taXBzLm8gICAgICAgXAorCXNvdXJjZS9yb3RhdGVfZHNwcjIubyAgICAg
IFwKIAlzb3VyY2Uvcm90YXRlX25lb242NC5vICAgICBcCiAJc291cmNlL3JvdGF0ZV9uZW9uLm8g
ICAgICAgXAogCXNvdXJjZS9yb3RhdGVfd2luLm8gICAgICAgIFwKIAlzb3VyY2Uvcm93X2FueS5v
ICAgICAgICAgICBcCiAJc291cmNlL3Jvd19jb21tb24ubyAgICAgICAgXAogCXNvdXJjZS9yb3df
Z2NjLm8gICAgICAgICAgIFwKLQlzb3VyY2Uvcm93X21pcHMubyAgICAgICAgICBcCisJc291cmNl
L3Jvd19kc3ByMi5vICAgICAgICAgXAogCXNvdXJjZS9yb3dfbmVvbjY0Lm8gICAgICAgIFwKIAlz
b3VyY2Uvcm93X25lb24ubyAgICAgICAgICBcCiAJc291cmNlL3Jvd193aW4ubyAgICAgICAgICAg
XApAQCAtNDgsNyArNDgsNyBAQCBMT0NBTF9PQkpfRklMRVMgOj0gXAogCXNvdXJjZS9zY2FsZS5v
ICAgICAgICAgICAgIFwKIAlzb3VyY2Uvc2NhbGVfY29tbW9uLm8gICAgICBcCiAJc291cmNlL3Nj
YWxlX2djYy5vICAgICAgICAgXAotCXNvdXJjZS9zY2FsZV9taXBzLm8gICAgICAgIFwKKwlzb3Vy
Y2Uvc2NhbGVfZHNwcjIubyAgICAgICBcCiAJc291cmNlL3NjYWxlX25lb242NC5vICAgICAgXAog
CXNvdXJjZS9zY2FsZV9uZW9uLm8gICAgICAgIFwKIAlzb3VyY2Uvc2NhbGVfd2luLm8gICAgICAg
ICBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9weWxpbnRyYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L3B5bGludHJjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4YmVhMzM0ODlmMGE2
OGQwM2I5MmE4NjY5YWI5OTNiNDM1YWI2ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9weWxpbnRyYwpAQCAt
MCwwICsxLDE3IEBACitbTUVTU0FHRVMgQ09OVFJPTF0KKworIyBEaXNhYmxlIHRoZSBtZXNzYWdl
LCByZXBvcnQsIGNhdGVnb3J5IG9yIGNoZWNrZXIgd2l0aCB0aGUgZ2l2ZW4gaWQocykuCisjIFRP
RE8oa2plbGxhbmRlcik6IFJlZHVjZSB0aGlzIGxpc3QgdG8gYXMgc21hbGwgYXMgcG9zc2libGUu
CitkaXNhYmxlPUkwMDEwLEkwMDExLGJhZC1jb250aW51YXRpb24sYnJvYWQtZXhjZXB0LGR1cGxp
Y2F0ZS1jb2RlLGV2YWwtdXNlZCxleGVjLXVzZWQsZml4bWUsaW52YWxpZC1uYW1lLG1pc3Npbmct
ZG9jc3RyaW5nLG5vLWluaXQsbm8tbWVtYmVyLHRvby1mZXctcHVibGljLW1ldGhvZHMsdG9vLW1h
bnktYW5jZXN0b3JzLHRvby1tYW55LWFyZ3VtZW50cyx0b28tbWFueS1icmFuY2hlcyx0b28tbWFu
eS1mdW5jdGlvbi1hcmdzLHRvby1tYW55LWluc3RhbmNlLWF0dHJpYnV0ZXMsdG9vLW1hbnktbGlu
ZXMsdG9vLW1hbnktbG9jYWxzLHRvby1tYW55LXB1YmxpYy1tZXRob2RzLHRvby1tYW55LXJldHVy
bi1zdGF0ZW1lbnRzLHRvby1tYW55LXN0YXRlbWVudHMKKworCitbUkVQT1JUU10KKworIyBEb24n
dCB3cml0ZSBvdXQgZnVsbCByZXBvcnRzLCBqdXN0IG1lc3NhZ2VzLgorcmVwb3J0cz1ubworCisK
K1tGT1JNQVRdCisKKyMgV2UgdXNlIHR3byBzcGFjZXMgZm9yIGluZGVudHMsIGluc3RlYWQgb2Yg
dGhlIHVzdWFsIGZvdXIgc3BhY2VzIG9yIHRhYi4KK2luZGVudC1zdHJpbmc9JyAgJwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvc2V0dXBfbGlua3MucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di9zZXR1cF9saW5rcy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUK
aW5kZXggYmM1NmE1NmE1YjNjMTFmNDhlNzEyMmEzZThiM2ZmNWIyYWVlMTU1ZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zZXR1cF9saW5rcy5weQorKysgL2Rl
di9udWxsCkBAIC0xLDQ5OSArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLSMgQ29weXJp
Z2h0IChjKSAyMDE0IFRoZSBXZWJSVEMgcHJvamVjdCBhdXRob3JzLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgotIwotIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1z
dHlsZSBsaWNlbnNlCi0jIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4g
dGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotIyB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVh
bCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0jIGluIHRoZSBmaWxlIFBBVEVO
VFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSMgYmUgZm91bmQgaW4g
dGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0KLSIiIlNl
dHVwIGxpbmtzIHRvIGEgQ2hyb21pdW0gY2hlY2tvdXQgZm9yIFdlYlJUQy4KLQotV2ViUlRDIHN0
YW5kYWxvbmUgc2hhcmVzIGEgbG90IG9mIGRlcGVuZGVuY2llcyBhbmQgYnVpbGQgdG9vbHMgd2l0
aCBDaHJvbWl1bS4KLVRvIGRvIHRoaXMsIG1hbnkgb2YgdGhlIHBhdGhzIG9mIGEgQ2hyb21pdW0g
Y2hlY2tvdXQgaXMgZW11bGF0ZWQgYnkgY3JlYXRpbmcKLXN5bWxpbmtzIHRvIGZpbGVzIGFuZCBk
aXJlY3Rvcmllcy4gVGhpcyBzY3JpcHQgaGFuZGxlcyB0aGUgc2V0dXAgb2Ygc3ltbGlua3MgdG8K
LWFjaGlldmUgdGhpcy4KLSIiIgotCi0KLWltcG9ydCBjdHlwZXMKLWltcG9ydCBlcnJubwotaW1w
b3J0IGxvZ2dpbmcKLWltcG9ydCBvcHRwYXJzZQotaW1wb3J0IG9zCi1pbXBvcnQgc2hlbHZlCi1p
bXBvcnQgc2h1dGlsCi1pbXBvcnQgc3VicHJvY2VzcwotaW1wb3J0IHN5cwotaW1wb3J0IHRleHR3
cmFwCi0KLQotRElSRUNUT1JJRVMgPSBbCi0gICdidWlsZCcsCi0gICdidWlsZHRvb2xzJywKLSAg
J21vam8nLCAgIyBUT0RPKGtqZWxsYW5kZXIpOiBSZW1vdmUsIHNlZSB3ZWJydGM6NTYyOS4KLSAg
J25hdGl2ZV9jbGllbnQnLAotICAnbmV0JywKLSAgJ3Rlc3RpbmcnLAotICAndGhpcmRfcGFydHkv
YmludXRpbHMnLAotICAndGhpcmRfcGFydHkvZHJtZW1vcnknLAotICAndGhpcmRfcGFydHkvaW5z
dHJ1bWVudGVkX2xpYnJhcmllcycsCi0gICd0aGlyZF9wYXJ0eS9saWJqcGVnJywKLSAgJ3RoaXJk
X3BhcnR5L2xpYmpwZWdfdHVyYm8nLAotICAndGhpcmRfcGFydHkvbGx2bS1idWlsZCcsCi0gICd0
aGlyZF9wYXJ0eS9sc3MnLAotICAndGhpcmRfcGFydHkvcHJvZ3VhcmQnLAotICAndGhpcmRfcGFy
dHkvdGNtYWxsb2MnLAotICAndGhpcmRfcGFydHkveWFzbScsCi0gICd0aGlyZF9wYXJ0eS9XZWJL
aXQnLCAgIyBUT0RPKGtqZWxsYW5kZXIpOiBSZW1vdmUsIHNlZSB3ZWJydGM6NTYyOS4KLSAgJ3Rv
b2xzL2NsYW5nJywKLSAgJ3Rvb2xzL2duJywKLSAgJ3Rvb2xzL2d5cCcsCi0gICd0b29scy9tZW1v
cnknLAotICAndG9vbHMvcHl0aG9uJywKLSAgJ3Rvb2xzL3N3YXJtaW5nX2NsaWVudCcsCi0gICd0
b29scy92YWxncmluZCcsCi0gICd0b29scy92aW0nLAotICAndG9vbHMvd2luJywKLV0KLQotZnJv
bSBzeW5jX2Nocm9taXVtIGltcG9ydCBnZXRfdGFyZ2V0X29zX2xpc3QKLXRhcmdldF9vcyA9IGdl
dF90YXJnZXRfb3NfbGlzdCgpCi1pZiAnYW5kcm9pZCcgaW4gdGFyZ2V0X29zOgotICBESVJFQ1RP
UklFUyArPSBbCi0gICAgJ2Jhc2UnLAotICAgICd0aGlyZF9wYXJ0eS9hY2Nlc3NpYmlsaXR5X3Rl
c3RfZnJhbWV3b3JrJywKLSAgICAndGhpcmRfcGFydHkvYW5kcm9pZF9wbGF0Zm9ybScsCi0gICAg
J3RoaXJkX3BhcnR5L2FuZHJvaWRfdG9vbHMnLAotICAgICd0aGlyZF9wYXJ0eS9hcGFjaGVfdmVs
b2NpdHknLAotICAgICd0aGlyZF9wYXJ0eS9hcHB1cmlmeS1weXRob24nLAotICAgICd0aGlyZF9w
YXJ0eS9hc2htZW0nLAotICAgICd0aGlyZF9wYXJ0eS9ib3VuY3ljYXN0bGUnLAotICAgICd0aGly
ZF9wYXJ0eS9jYXRhcHVsdCcsCi0gICAgJ3RoaXJkX3BhcnR5L2NlZCcsCi0gICAgJ3RoaXJkX3Bh
cnR5L2Nsb3N1cmVfY29tcGlsZXInLAotICAgICd0aGlyZF9wYXJ0eS9ndWF2YScsCi0gICAgJ3Ro
aXJkX3BhcnR5L2hhbWNyZXN0JywKLSAgICAndGhpcmRfcGFydHkvaWN1JywKLSAgICAndGhpcmRf
cGFydHkvaWN1NGonLAotICAgICd0aGlyZF9wYXJ0eS9pamFyJywKLSAgICAndGhpcmRfcGFydHkv
aW50ZWxsaWonLAotICAgICd0aGlyZF9wYXJ0eS9qc3ItMzA1JywKLSAgICAndGhpcmRfcGFydHkv
anVuaXQnLAotICAgICd0aGlyZF9wYXJ0eS9saWJ4bWwnLAotICAgICd0aGlyZF9wYXJ0eS9tb2Nr
aXRvJywKLSAgICAndGhpcmRfcGFydHkvbW9kcF9iNjQnLAotICAgICd0aGlyZF9wYXJ0eS9vdzJf
YXNtJywKLSAgICAndGhpcmRfcGFydHkvcHJvdG9idWYnLAotICAgICd0aGlyZF9wYXJ0eS9yZXF1
ZXN0cycsCi0gICAgJ3RoaXJkX3BhcnR5L3JvYm9sZWN0cmljJywKLSAgICAndGhpcmRfcGFydHkv
c3FsaXRlNGphdmEnLAotICAgICd0aGlyZF9wYXJ0eS96bGliJywKLSAgICAndG9vbHMvYW5kcm9p
ZCcsCi0gICAgJ3Rvb2xzL2dyaXQnLAotICBdCi1pZiAnaW9zJyBpbiB0YXJnZXRfb3M6Ci0gIERJ
UkVDVE9SSUVTLmFwcGVuZCgndGhpcmRfcGFydHkvY2xhc3MtZHVtcCcpCi0KLUZJTEVTID0gewot
ICAndG9vbHMvaXNvbGF0ZV9kcml2ZXIucHknOiBOb25lLAotICAndGhpcmRfcGFydHkvQlVJTEQu
Z24nOiBOb25lLAotfQotCi1ST09UX0RJUiA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3Bh
dGgoX19maWxlX18pKQotQ0hST01JVU1fQ0hFQ0tPVVQgPSBvcy5wYXRoLmpvaW4oJ2Nocm9taXVt
JywgJ3NyYycpCi1MSU5LU19EQiA9ICdsaW5rcycKLQotIyBWZXJzaW9uIG1hbmFnZW1lbnQgdG8g
bWFrZSBmdXR1cmUgdXBncmFkZXMvZG93bmdyYWRlcyBlYXNpZXIgdG8gc3VwcG9ydC4KLVNDSEVN
QV9WRVJTSU9OID0gMQotCi0KLWRlZiBxdWVyeV95ZXNfbm8ocXVlc3Rpb24sIGRlZmF1bHQ9RmFs
c2UpOgotICAiIiJBc2sgYSB5ZXMvbm8gcXVlc3Rpb24gdmlhIHJhd19pbnB1dCgpIGFuZCByZXR1
cm4gdGhlaXIgYW5zd2VyLgotCi0gIE1vZGlmaWVkIGZyb20gaHR0cDovL3N0YWNrb3ZlcmZsb3cu
Y29tL2EvMzA0MTk5MC4KLSAgIiIiCi0gIHByb21wdCA9ICIgWyVzLyUlc106ICIKLSAgcHJvbXB0
ID0gcHJvbXB0ICUgKCdZJyBpZiBkZWZhdWx0IGlzIFRydWUgIGVsc2UgJ3knKQotICBwcm9tcHQg
PSBwcm9tcHQgJSAoJ04nIGlmIGRlZmF1bHQgaXMgRmFsc2UgZWxzZSAnbicpCi0KLSAgaWYgZGVm
YXVsdCBpcyBOb25lOgotICAgIGRlZmF1bHQgPSAnSU5WQUxJRCcKLQotICB3aGlsZSBUcnVlOgot
ICAgIHN5cy5zdGRvdXQud3JpdGUocXVlc3Rpb24gKyBwcm9tcHQpCi0gICAgY2hvaWNlID0gcmF3
X2lucHV0KCkubG93ZXIoKQotICAgIGlmIGNob2ljZSA9PSAnJyBhbmQgZGVmYXVsdCAhPSAnSU5W
QUxJRCc6Ci0gICAgICByZXR1cm4gZGVmYXVsdAotCi0gICAgaWYgJ3llcycuc3RhcnRzd2l0aChj
aG9pY2UpOgotICAgICAgcmV0dXJuIFRydWUKLSAgICBlbGlmICdubycuc3RhcnRzd2l0aChjaG9p
Y2UpOgotICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBwcmludCAiUGxlYXNlIHJlc3BvbmQgd2l0
aCAneWVzJyBvciAnbm8nIChvciAneScgb3IgJ24nKS4iCi0KLQotIyBBY3Rpb25zCi1jbGFzcyBB
Y3Rpb24ob2JqZWN0KToKLSAgZGVmIF9faW5pdF9fKHNlbGYsIGRhbmdlcm91cyk6Ci0gICAgc2Vs
Zi5kYW5nZXJvdXMgPSBkYW5nZXJvdXMKLQotICBkZWYgYW5ub3VuY2Uoc2VsZiwgcGxhbm5pbmcp
OgotICAgICIiIkxvZyBhIGRlc2NyaXB0aW9uIG9mIHRoaXMgYWN0aW9uLgotCi0gICAgQXJnczoK
LSAgICAgIHBsYW5uaW5nIC0gVHJ1ZSBpZmYgd2UncmUgaW4gdGhlIHBsYW5uaW5nIHN0YWdlLCBG
YWxzZSBpZiB3ZSdyZSBpbiB0aGUKLSAgICAgICAgICAgICAgICAgZG9pdCBzdGFnZS4KLSAgICAi
IiIKLSAgICBwYXNzCi0KLSAgZGVmIGRvaXQoc2VsZiwgbGlua3NfZGIpOgotICAgICIiIkV4ZWN1
dGUgdGhlIGFjdGlvbiwgcmVjb3JkaW5nIHdoYXQgd2UgZGlkIHRvIGxpbmtzX2RiLCBpZiBuZWNl
c3NhcnkuIiIiCi0gICAgcGFzcwotCi0KLWNsYXNzIFJlbW92ZShBY3Rpb24pOgotICBkZWYgX19p
bml0X18oc2VsZiwgcGF0aCwgZGFuZ2Vyb3VzKToKLSAgICBzdXBlcihSZW1vdmUsIHNlbGYpLl9f
aW5pdF9fKGRhbmdlcm91cykKLSAgICBzZWxmLl9wcmlvcml0eSA9IDAKLSAgICBzZWxmLl9wYXRo
ID0gcGF0aAotCi0gIGRlZiBhbm5vdW5jZShzZWxmLCBwbGFubmluZyk6Ci0gICAgbG9nID0gbG9n
Z2luZy53YXJuCi0gICAgZmlsZXN5c3RlbV90eXBlID0gJ2ZpbGUnCi0gICAgaWYgbm90IHNlbGYu
ZGFuZ2Vyb3VzOgotICAgICAgbG9nID0gbG9nZ2luZy5pbmZvCi0gICAgICBmaWxlc3lzdGVtX3R5
cGUgPSAnbGluaycKLSAgICBpZiBwbGFubmluZzoKLSAgICAgIGxvZygnUGxhbm5pbmcgdG8gcmVt
b3ZlICVzOiAlcycsIGZpbGVzeXN0ZW1fdHlwZSwgc2VsZi5fcGF0aCkKLSAgICBlbHNlOgotICAg
ICAgbG9nKCdSZW1vdmluZyAlczogJXMnLCBmaWxlc3lzdGVtX3R5cGUsIHNlbGYuX3BhdGgpCi0K
LSAgZGVmIGRvaXQoc2VsZiwgXyk6Ci0gICAgb3MucmVtb3ZlKHNlbGYuX3BhdGgpCi0KLQotY2xh
c3MgUm10cmVlKEFjdGlvbik6Ci0gIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKLSAgICBzdXBl
cihSbXRyZWUsIHNlbGYpLl9faW5pdF9fKGRhbmdlcm91cz1UcnVlKQotICAgIHNlbGYuX3ByaW9y
aXR5ID0gMAotICAgIHNlbGYuX3BhdGggPSBwYXRoCi0KLSAgZGVmIGFubm91bmNlKHNlbGYsIHBs
YW5uaW5nKToKLSAgICBpZiBwbGFubmluZzoKLSAgICAgIGxvZ2dpbmcud2FybignUGxhbm5pbmcg
dG8gcmVtb3ZlIGRpcmVjdG9yeTogJXMnLCBzZWxmLl9wYXRoKQotICAgIGVsc2U6Ci0gICAgICBs
b2dnaW5nLndhcm4oJ1JlbW92aW5nIGRpcmVjdG9yeTogJXMnLCBzZWxmLl9wYXRoKQotCi0gIGRl
ZiBkb2l0KHNlbGYsIF8pOgotICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCd3aW4nKToK
LSAgICAgICMgc2h1dGlsLnJtdHJlZSgpIGRvZXNuJ3Qgd29yayBvbiBXaW5kb3dzIGlmIGFueSBv
ZiB0aGUgZGlyZWN0b3JpZXMgYXJlCi0gICAgICAjIHJlYWQtb25seS4KLSAgICAgIHN1YnByb2Nl
c3MuY2hlY2tfY2FsbChbJ3JkJywgJy9xJywgJy9zJywgc2VsZi5fcGF0aF0sIHNoZWxsPVRydWUp
Ci0gICAgZWxzZToKLSAgICAgIHNodXRpbC5ybXRyZWUoc2VsZi5fcGF0aCkKLQotCi1jbGFzcyBN
YWtlZGlycyhBY3Rpb24pOgotICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6Ci0gICAgc3VwZXIo
TWFrZWRpcnMsIHNlbGYpLl9faW5pdF9fKGRhbmdlcm91cz1GYWxzZSkKLSAgICBzZWxmLl9wcmlv
cml0eSA9IDEKLSAgICBzZWxmLl9wYXRoID0gcGF0aAotCi0gIGRlZiBkb2l0KHNlbGYsIF8pOgot
ICAgIHRyeToKLSAgICAgIG9zLm1ha2VkaXJzKHNlbGYuX3BhdGgpCi0gICAgZXhjZXB0IE9TRXJy
b3IgYXMgZToKLSAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICByYWlz
ZQotCi0KLWNsYXNzIFN5bWxpbmsoQWN0aW9uKToKLSAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJj
ZV9wYXRoLCBsaW5rX3BhdGgpOgotICAgIHN1cGVyKFN5bWxpbmssIHNlbGYpLl9faW5pdF9fKGRh
bmdlcm91cz1GYWxzZSkKLSAgICBzZWxmLl9wcmlvcml0eSA9IDIKLSAgICBzZWxmLl9zb3VyY2Vf
cGF0aCA9IHNvdXJjZV9wYXRoCi0gICAgc2VsZi5fbGlua19wYXRoID0gbGlua19wYXRoCi0KLSAg
ZGVmIGFubm91bmNlKHNlbGYsIHBsYW5uaW5nKToKLSAgICBpZiBwbGFubmluZzoKLSAgICAgIGxv
Z2dpbmcuaW5mbygKLSAgICAgICAgICAnUGxhbm5pbmcgdG8gY3JlYXRlIGxpbmsgZnJvbSAlcyB0
byAlcycsIHNlbGYuX2xpbmtfcGF0aCwKLSAgICAgICAgICBzZWxmLl9zb3VyY2VfcGF0aCkKLSAg
ICBlbHNlOgotICAgICAgbG9nZ2luZy5kZWJ1ZygKLSAgICAgICAgICAnTGlua2luZyBmcm9tICVz
IHRvICVzJywgc2VsZi5fbGlua19wYXRoLCBzZWxmLl9zb3VyY2VfcGF0aCkKLQotICBkZWYgZG9p
dChzZWxmLCBsaW5rc19kYik6Ci0gICAgIyBGaWxlcyBub3QgaW4gdGhlIHJvb3QgZGlyZWN0b3J5
IG5lZWQgcmVsYXRpdmUgcGF0aCBjYWxjdWxhdGlvbi4KLSAgICAjIE9uIFdpbmRvd3MsIHVzZSBh
YnNvbHV0ZSBwYXRocyBpbnN0ZWFkIHNpbmNlIE5URlMgZG9lc24ndCBzZWVtIHRvIHN1cHBvcnQK
LSAgICAjIHJlbGF0aXZlIHBhdGhzIGZvciBzeW1saW5rcy4KLSAgICBpZiBzeXMucGxhdGZvcm0u
c3RhcnRzd2l0aCgnd2luJyk6Ci0gICAgICBzb3VyY2VfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChz
ZWxmLl9zb3VyY2VfcGF0aCkKLSAgICBlbHNlOgotICAgICAgaWYgb3MucGF0aC5kaXJuYW1lKHNl
bGYuX2xpbmtfcGF0aCkgIT0gc2VsZi5fbGlua19wYXRoOgotICAgICAgICBzb3VyY2VfcGF0aCA9
IG9zLnBhdGgucmVscGF0aChzZWxmLl9zb3VyY2VfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3MucGF0aC5kaXJuYW1lKHNlbGYuX2xpbmtfcGF0aCkpCi0KLSAg
ICBvcy5zeW1saW5rKHNvdXJjZV9wYXRoLCBvcy5wYXRoLmFic3BhdGgoc2VsZi5fbGlua19wYXRo
KSkKLSAgICBsaW5rc19kYltzZWxmLl9zb3VyY2VfcGF0aF0gPSBzZWxmLl9saW5rX3BhdGgKLQot
Ci1jbGFzcyBMaW5rRXJyb3IoSU9FcnJvcik6Ci0gICIiIkZhaWxlZCB0byBjcmVhdGUgYSBsaW5r
LiIiIgotICBwYXNzCi0KLQotIyBVc2UganVuY3Rpb25zIGluc3RlYWQgb2Ygc3ltbGlua3Mgb24g
dGhlIFdpbmRvd3MgcGxhdGZvcm0uCi1pZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyk6
Ci0gIGRlZiBzeW1saW5rKHNvdXJjZV9wYXRoLCBsaW5rX3BhdGgpOgotICAgIGlmIG9zLnBhdGgu
aXNkaXIoc291cmNlX3BhdGgpOgotICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsnY21kLmV4
ZScsICcvYycsICdta2xpbmsnLCAnL0onLCBsaW5rX3BhdGgsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNvdXJjZV9wYXRoXSkKLSAgICBlbHNlOgotICAgICAgIyBEb24ndCBjcmVhdGUg
c3ltbGlua3MgdG8gZmlsZXMgb24gV2luZG93cywganVzdCBjb3B5IHRoZSBmaWxlIGluc3RlYWQK
LSAgICAgICMgKHRoZXJlJ3Mgbm8gd2F5IHRvIGNyZWF0ZSBhIGxpbmsgd2l0aG91dCBhZG1pbmlz
dHJhdG9yJ3MgcHJpdmlsZWdlcykuCi0gICAgICBzaHV0aWwuY29weShzb3VyY2VfcGF0aCwgbGlu
a19wYXRoKQotICBvcy5zeW1saW5rID0gc3ltbGluawotCi0KLWNsYXNzIFdlYlJUQ0xpbmtTZXR1
cChvYmplY3QpOgotICBkZWYgX19pbml0X18oc2VsZiwgbGlua3NfZGIsIGZvcmNlPUZhbHNlLCBk
cnlfcnVuPUZhbHNlLCBwcm9tcHQ9RmFsc2UpOgotICAgIHNlbGYuX2ZvcmNlID0gZm9yY2UKLSAg
ICBzZWxmLl9kcnlfcnVuID0gZHJ5X3J1bgotICAgIHNlbGYuX3Byb21wdCA9IHByb21wdAotICAg
IHNlbGYuX2xpbmtzX2RiID0gbGlua3NfZGIKLQotICBkZWYgQ3JlYXRlTGlua3Moc2VsZiwgb25f
Ym90KToKLSAgICBsb2dnaW5nLmRlYnVnKCdDcmVhdGVMaW5rcycpCi0gICAgIyBGaXJzdCwgbWFr
ZSBhIHBsYW4gb2YgYWN0aW9uCi0gICAgYWN0aW9ucyA9IFtdCi0KLSAgICBmb3Igc291cmNlX3Bh
dGgsIGxpbmtfcGF0aCBpbiBGSUxFUy5pdGVyaXRlbXMoKToKLSAgICAgIGFjdGlvbnMgKz0gc2Vs
Zi5fQWN0aW9uRm9yUGF0aCgKLSAgICAgICAgICBzb3VyY2VfcGF0aCwgbGlua19wYXRoLCBjaGVj
a19mbj1vcy5wYXRoLmlzZmlsZSwgY2hlY2tfbXNnPSdmaWxlcycpCi0gICAgZm9yIHNvdXJjZV9k
aXIgaW4gRElSRUNUT1JJRVM6Ci0gICAgICBhY3Rpb25zICs9IHNlbGYuX0FjdGlvbkZvclBhdGgo
Ci0gICAgICAgICAgc291cmNlX2RpciwgTm9uZSwgY2hlY2tfZm49b3MucGF0aC5pc2RpciwKLSAg
ICAgICAgICBjaGVja19tc2c9J2RpcmVjdG9yaWVzJykKLQotICAgIGlmIG5vdCBvbl9ib3QgYW5k
IHNlbGYuX2ZvcmNlOgotICAgICAgIyBXaGVuIG1ha2luZyB0aGUgbWFudWFsIHN3aXRjaCBmcm9t
IGxlZ2FjeSBTVk4gY2hlY2tvdXRzIHRvIHRoZSBuZXcKLSAgICAgICMgR2l0LWJhc2VkIENocm9t
aXVtIERFUFMsIHRoZSAuZ2NsaWVudF9lbnRyaWVzIGZpbGUgdGhhdCBjb250YWlucyBjYWNoZWQK
LSAgICAgICMgVVJMcyBmb3IgYWxsIERFUFMgZW50cmllcyBtdXN0IGJlIHJlbW92ZWQgdG8gYXZv
aWQgZnV0dXJlIHN5bmMgcHJvYmxlbXMuCi0gICAgICBlbnRyaWVzX2ZpbGUgPSBvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKFJPT1RfRElSKSwgJy5nY2xpZW50X2VudHJpZXMnKQotICAgICAg
aWYgb3MucGF0aC5leGlzdHMoZW50cmllc19maWxlKToKLSAgICAgICAgYWN0aW9ucy5hcHBlbmQo
UmVtb3ZlKGVudHJpZXNfZmlsZSwgZGFuZ2Vyb3VzPVRydWUpKQotCi0gICAgYWN0aW9ucy5zb3J0
KCkKLQotICAgIGlmIHNlbGYuX2RyeV9ydW46Ci0gICAgICBmb3IgYWN0aW9uIGluIGFjdGlvbnM6
Ci0gICAgICAgIGFjdGlvbi5hbm5vdW5jZShwbGFubmluZz1UcnVlKQotICAgICAgbG9nZ2luZy5p
bmZvKCdOb3QgZG9pbmcgYW55dGhpbmcgYmVjYXVzZSBkcnktcnVuIHdhcyBzcGVjaWZpZWQuJykK
LSAgICAgIHN5cy5leGl0KDApCi0KLSAgICBpZiBhbnkoYS5kYW5nZXJvdXMgZm9yIGEgaW4gYWN0
aW9ucyk6Ci0gICAgICBsb2dnaW5nLndhcm4oJ0Rhbmdlcm91cyBhY3Rpb25zOicpCi0gICAgICBm
b3IgYWN0aW9uIGluIChhIGZvciBhIGluIGFjdGlvbnMgaWYgYS5kYW5nZXJvdXMpOgotICAgICAg
ICBhY3Rpb24uYW5ub3VuY2UocGxhbm5pbmc9VHJ1ZSkKLSAgICAgIHByaW50Ci0KLSAgICAgIGlm
IG5vdCBzZWxmLl9mb3JjZToKLSAgICAgICAgbG9nZ2luZy5lcnJvcih0ZXh0d3JhcC5kZWRlbnQo
IiIiXAotICAgICAgICBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEEgQyBUIEkgTyBOICAgICBSIEUgUSBJIFIgRSBECi0gICAgICAgIEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QAotCi0gICAgICAgIFNldHRpbmcgdXAgdGhlIGNoZWNrb3V0IHJlcXVpcmVzIGNyZWF0aW5nIHN5
bWxpbmtzIHRvIGRpcmVjdG9yaWVzIGluIHRoZQotICAgICAgICBDaHJvbWl1bSBjaGVja291dCBp
bnNpZGUgY2hyb21pdW0vc3JjLgotICAgICAgICBUbyBhdm9pZCBkaXNydXB0aW5nIGRldmVsb3Bl
cnMsIHdlJ3ZlIGNob3NlbiB0byBub3QgZGVsZXRlIGRpcmVjdG9yaWVzCi0gICAgICAgIGZvcmNp
Ymx5LCBpbiBjYXNlIHlvdSBoYXZlIHNvbWUgd29yayBpbiBwcm9ncmVzcyBpbiBvbmUgb2YgdGhl
bSA6KQotCi0gICAgICAgIEFDVElPTiBSRVFVSVJFRDoKLSAgICAgICAgQmVmb3JlIHJ1bm5pbmcg
YGdjbGllbnQgc3luY3xydW5ob29rc2AgYWdhaW4sIHlvdSBtdXN0IHJ1bjoKLSAgICAgICAgJXMl
cyAtLWZvcmNlCi0KLSAgICAgICAgV2hpY2ggd2lsbCByZXBsYWNlIGFsbCBkaXJlY3RvcmllcyB3
aGljaCBub3cgbXVzdCBiZSBzeW1saW5rcywgYWZ0ZXIKLSAgICAgICAgcHJvbXB0aW5nIHdpdGgg
YSBzdW1tYXJ5IG9mIHRoZSB3b3JrLXRvLWJlLWRvbmUuCi0gICAgICAgICIiIiksICdweXRob24g
JyBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJykgZWxzZSAnJywgX19maWxlX18pCi0g
ICAgICAgIHN5cy5leGl0KDEpCi0gICAgICBlbGlmIHNlbGYuX3Byb21wdDoKLSAgICAgICAgaWYg
bm90IHF1ZXJ5X3llc19ubygnV291bGQgeW91IGxpa2UgdG8gcGVyZm9ybSB0aGUgYWJvdmUgcGxh
bj8nKToKLSAgICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgZm9yIGFjdGlvbiBpbiBhY3Rpb25z
OgotICAgICAgYWN0aW9uLmFubm91bmNlKHBsYW5uaW5nPUZhbHNlKQotICAgICAgYWN0aW9uLmRv
aXQoc2VsZi5fbGlua3NfZGIpCi0KLSAgICBpZiBub3Qgb25fYm90IGFuZCBzZWxmLl9mb3JjZToK
LSAgICAgIGxvZ2dpbmcuaW5mbygnQ29tcGxldGVkIVxuXG5Ob3cgcnVuIGBnY2xpZW50IHN5bmN8
cnVuaG9va3NgIGFnYWluIHRvICcKLSAgICAgICAgICAgICAgICAgICAnbGV0IHRoZSByZW1haW5p
bmcgaG9va3MgKHRoYXQgcHJvYmFibHkgd2VyZSBpbnRlcnJ1cHRlZCkgJwotICAgICAgICAgICAg
ICAgICAgICdleGVjdXRlLicpCi0KLSAgZGVmIENsZWFudXBMaW5rcyhzZWxmKToKLSAgICBsb2dn
aW5nLmRlYnVnKCdDbGVhbnVwTGlua3MnKQotICAgIGZvciBzb3VyY2UsIGxpbmtfcGF0aCAgaW4g
c2VsZi5fbGlua3NfZGIuaXRlcml0ZW1zKCk6Ci0gICAgICBpZiBzb3VyY2UgPT0gJ1NDSEVNQV9W
RVJTSU9OJzoKLSAgICAgICAgY29udGludWUKLSAgICAgIGlmIG9zLnBhdGguaXNsaW5rKGxpbmtf
cGF0aCkgb3Igc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpOgotICAgICAgICAjIG9zLnBh
dGguaXNsaW5rKCkgYWx3YXlzIHJldHVybnMgZmFsc2Ugb24gV2luZG93cwotICAgICAgICAjIFNl
ZSBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTMxNDMuCi0gICAgICAgIGxvZ2dpbmcuZGVi
dWcoJ1JlbW92aW5nIGxpbmsgdG8gJXMgYXQgJXMnLCBzb3VyY2UsIGxpbmtfcGF0aCkKLSAgICAg
ICAgaWYgbm90IHNlbGYuX2RyeV9ydW46Ci0gICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMobGlu
a19wYXRoKToKLSAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCd3aW4nKSBh
bmQgb3MucGF0aC5pc2RpcihsaW5rX3BhdGgpOgotICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNo
ZWNrX2NhbGwoWydybWRpcicsICcvcScsICcvcycsIGxpbmtfcGF0aF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaGVsbD1UcnVlKQotICAgICAgICAgICAgZWxzZToKLSAg
ICAgICAgICAgICAgb3MucmVtb3ZlKGxpbmtfcGF0aCkKLSAgICAgICAgICBkZWwgc2VsZi5fbGlu
a3NfZGJbc291cmNlXQotCi0gIEBzdGF0aWNtZXRob2QKLSAgZGVmIF9BY3Rpb25Gb3JQYXRoKHNv
dXJjZV9wYXRoLCBsaW5rX3BhdGg9Tm9uZSwgY2hlY2tfZm49Tm9uZSwKLSAgICAgICAgICAgICAg
ICAgICAgIGNoZWNrX21zZz1Ob25lKToKLSAgICAiIiJDcmVhdGUgemVybyBvciBtb3JlIEFjdGlv
bnMgdG8gbGluayB0byBhIGZpbGUgb3IgZGlyZWN0b3J5LgotCi0gICAgVGhpcyB3aWxsIGJlIGEg
c3ltbGluayBvbiBQT1NJWCBwbGF0Zm9ybXMuIE9uIFdpbmRvd3MgaXQgd2lsbCByZXN1bHQgaW46
Ci0gICAgKiBhIGp1bmN0aW9uIGZvciBkaXJlY3RvcmllcwotICAgICogYSBjb3BpZWQgZmlsZSBm
b3Igc2luZ2xlIGZpbGVzLgotCi0gICAgQXJnczoKLSAgICAgIHNvdXJjZV9wYXRoOiBQYXRoIHJl
bGF0aXZlIHRvIHRoZSBDaHJvbWl1bSBjaGVja291dCByb290LgotICAgICAgICBGb3IgcmVhZGFi
aWxpdHksIHRoZSBwYXRoIG1heSBjb250YWluIHNsYXNoZXMsIHdoaWNoIHdpbGwKLSAgICAgICAg
YXV0b21hdGljYWxseSBiZSBjb252ZXJ0ZWQgdG8gdGhlIHJpZ2h0IHBhdGggZGVsaW1pdGVyIG9u
IFdpbmRvd3MuCi0gICAgICBsaW5rX3BhdGg6IFRoZSBsb2NhdGlvbiBmb3IgdGhlIGxpbmsgdG8g
Y3JlYXRlLiBJZiBvbWl0dGVkIGl0IHdpbGwgYmUgdGhlCi0gICAgICAgIHNhbWUgcGF0aCBhcyBz
b3VyY2VfcGF0aC4KLSAgICAgIGNoZWNrX2ZuOiBBIGZ1bmN0aW9uIHJldHVybmluZyB0cnVlIGlm
IHRoZSB0eXBlIG9mIGZpbGVzeXN0ZW0gb2JqZWN0IGlzCi0gICAgICAgIGNvcnJlY3QgZm9yIHRo
ZSBhdHRlbXB0ZWQgY2FsbC4gT3RoZXJ3aXNlIGFuIGVycm9yIG1lc3NhZ2Ugd2l0aAotICAgICAg
ICBjaGVja19tc2cgd2lsbCBiZSBwcmludGVkLgotICAgICAgY2hlY2tfbXNnOiBTdHJpbmcgdXNl
ZCB0byBpbmZvcm0gdGhlIHVzZXIgb2YgYW4gaW52YWxpZCBhdHRlbXB0IHRvIGNyZWF0ZQotICAg
ICAgICBhIGZpbGUuCi0gICAgUmV0dXJuczoKLSAgICAgIEEgbGlzdCBvZiBBY3Rpb24gb2JqZWN0
cy4KLSAgICAiIiIKLSAgICBkZWYgZml4X3NlcGFyYXRvcnMocGF0aCk6Ci0gICAgICBpZiBzeXMu
cGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyk6Ci0gICAgICAgIHJldHVybiBwYXRoLnJlcGxhY2Uo
b3MuYWx0c2VwLCBvcy5zZXApCi0gICAgICBlbHNlOgotICAgICAgICByZXR1cm4gcGF0aAotCi0g
ICAgYXNzZXJ0IGNoZWNrX2ZuCi0gICAgYXNzZXJ0IGNoZWNrX21zZwotICAgIGxpbmtfcGF0aCA9
IGxpbmtfcGF0aCBvciBzb3VyY2VfcGF0aAotICAgIGxpbmtfcGF0aCA9IGZpeF9zZXBhcmF0b3Jz
KGxpbmtfcGF0aCkKLQotICAgIHNvdXJjZV9wYXRoID0gZml4X3NlcGFyYXRvcnMoc291cmNlX3Bh
dGgpCi0gICAgc291cmNlX3BhdGggPSBvcy5wYXRoLmpvaW4oQ0hST01JVU1fQ0hFQ0tPVVQsIHNv
dXJjZV9wYXRoKQotICAgIGlmIG9zLnBhdGguZXhpc3RzKHNvdXJjZV9wYXRoKSBhbmQgbm90IGNo
ZWNrX2ZuOgotICAgICAgcmFpc2UgTGlua0Vycm9yKCdDYW4gb25seSB0byBsaW5rIHRvICVzOiB0
cmllZCB0byBsaW5rIHRvOiAlcycgJQotICAgICAgICAgICAgICAgICAgICAgIChjaGVja19tc2cs
IHNvdXJjZV9wYXRoKSkKLQotICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzb3VyY2VfcGF0aCk6
Ci0gICAgICBsb2dnaW5nLmRlYnVnKCdTaWxlbnRseSBpZ25vcmluZyBtaXNzaW5nIHNvdXJjZTog
JXMuIFRoaXMgaXMgdG8gYXZvaWQgJwotICAgICAgICAgICAgICAgICAgICAnZXJyb3JzIG9uIHBs
YXRmb3JtLXNwZWNpZmljIGRlcGVuZGVuY2llcy4nLCBzb3VyY2VfcGF0aCkKLSAgICAgIHJldHVy
biBbXQotCi0gICAgYWN0aW9ucyA9IFtdCi0KLSAgICBpZiBvcy5wYXRoLmV4aXN0cyhsaW5rX3Bh
dGgpIG9yIG9zLnBhdGguaXNsaW5rKGxpbmtfcGF0aCk6Ci0gICAgICBpZiBvcy5wYXRoLmlzbGlu
ayhsaW5rX3BhdGgpOgotICAgICAgICBhY3Rpb25zLmFwcGVuZChSZW1vdmUobGlua19wYXRoLCBk
YW5nZXJvdXM9RmFsc2UpKQotICAgICAgZWxpZiBvcy5wYXRoLmlzZmlsZShsaW5rX3BhdGgpOgot
ICAgICAgICBhY3Rpb25zLmFwcGVuZChSZW1vdmUobGlua19wYXRoLCBkYW5nZXJvdXM9VHJ1ZSkp
Ci0gICAgICBlbGlmIG9zLnBhdGguaXNkaXIobGlua19wYXRoKToKLSAgICAgICAgYWN0aW9ucy5h
cHBlbmQoUm10cmVlKGxpbmtfcGF0aCkpCi0gICAgICBlbHNlOgotICAgICAgICByYWlzZSBMaW5r
RXJyb3IoJ0RvblwndCBrbm93IGhvdyB0byBwbGFuOiAlcycgJSBsaW5rX3BhdGgpCi0KLSAgICAj
IENyZWF0ZSBwYXJlbnQgZGlyZWN0b3JpZXMgdG8gdGhlIHRhcmdldCBsaW5rIGlmIG5lZWRlZC4K
LSAgICB0YXJnZXRfcGFyZW50X2RpcnMgPSBvcy5wYXRoLmRpcm5hbWUobGlua19wYXRoKQotICAg
IGlmICh0YXJnZXRfcGFyZW50X2RpcnMgYW5kCi0gICAgICAgIHRhcmdldF9wYXJlbnRfZGlycyAh
PSBsaW5rX3BhdGggYW5kCi0gICAgICAgIG5vdCBvcy5wYXRoLmV4aXN0cyh0YXJnZXRfcGFyZW50
X2RpcnMpKToKLSAgICAgIGFjdGlvbnMuYXBwZW5kKE1ha2VkaXJzKHRhcmdldF9wYXJlbnRfZGly
cykpCi0KLSAgICBhY3Rpb25zLmFwcGVuZChTeW1saW5rKHNvdXJjZV9wYXRoLCBsaW5rX3BhdGgp
KQotCi0gICAgcmV0dXJuIGFjdGlvbnMKLQotZGVmIF9pbml0aWFsaXplX2RhdGFiYXNlKGZpbGVu
YW1lKToKLSAgbGlua3NfZGF0YWJhc2UgPSBzaGVsdmUub3BlbihmaWxlbmFtZSkKLQotICAjIFdp
cGUgdGhlIGRhdGFiYXNlIGlmIHRoaXMgdmVyc2lvbiBvZiB0aGUgc2NyaXB0IGVuZHMgdXAgbG9v
a2luZyBhdCBhCi0gICMgbmV3ZXIgKGZ1dHVyZSkgdmVyc2lvbiBvZiB0aGUgbGlua3MgZGIsIGp1
c3QgdG8gYmUgc3VyZS4KLSAgdmVyc2lvbiA9IGxpbmtzX2RhdGFiYXNlLmdldCgnU0NIRU1BX1ZF
UlNJT04nKQotICBpZiB2ZXJzaW9uIGFuZCB2ZXJzaW9uICE9IFNDSEVNQV9WRVJTSU9OOgotICAg
IGxvZ2dpbmcuaW5mbygnRm91bmQgZGF0YWJhc2Ugd2l0aCBzY2hlbWEgdmVyc2lvbiAlcyB3aGls
ZSB0aGlzIHNjcmlwdCBvbmx5ICcKLSAgICAgICAgICAgICAgICAgJ3N1cHBvcnRzICVzLiBXaXBp
bmcgcHJldmlvdXMgZGF0YWJhc2UgY29udGVudHMuJywgdmVyc2lvbiwKLSAgICAgICAgICAgICAg
ICAgU0NIRU1BX1ZFUlNJT04pCi0gICAgbGlua3NfZGF0YWJhc2UuY2xlYXIoKQotICBsaW5rc19k
YXRhYmFzZVsnU0NIRU1BX1ZFUlNJT04nXSA9IFNDSEVNQV9WRVJTSU9OCi0gIHJldHVybiBsaW5r
c19kYXRhYmFzZQotCi0KLWRlZiBtYWluKCk6Ci0gIG9uX2JvdCA9IG9zLmVudmlyb24uZ2V0KCdD
SFJPTUVfSEVBRExFU1MnKSA9PSAnMScKLQotICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJz
ZXIoKQotICBwYXJzZXIuYWRkX29wdGlvbignLWQnLCAnLS1kcnktcnVuJywgYWN0aW9uPSdzdG9y
ZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgaGVscD0nUHJpbnQg
d2hhdCB3b3VsZCBiZSBkb25lLCBidXQgZG9uXCd0IHBlcmZvcm0gYW55ICcKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAnb3BlcmF0aW9ucy4gVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgc2V0IGxv
Z2dpbmcgdG8gJwotICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJib3NlLicpCi0gIHBhcnNl
ci5hZGRfb3B0aW9uKCctYycsICctLWNsZWFuLW9ubHknLCBhY3Rpb249J3N0b3JlX3RydWUnLCBk
ZWZhdWx0PUZhbHNlLAotICAgICAgICAgICAgICAgICAgICBoZWxwPSdPbmx5IGNsZWFuIHByZXZp
b3VzbHkgY3JlYXRlZCBsaW5rcywgZG9uXCd0IGNyZWF0ZSAnCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgJ25ldyBvbmVzLiBUaGlzIHdpbGwgYXV0b21hdGljYWxseSBzZXQgbG9nZ2luZyB0byAn
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcmJvc2UuJykKLSAgcGFyc2VyLmFkZF9vcHRp
b24oJy1mJywgJy0tZm9yY2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PW9uX2JvdCwK
LSAgICAgICAgICAgICAgICAgICAgaGVscD0nRm9yY2UgbGluayBjcmVhdGlvbi4gQ0FVVElPTjog
VGhpcyBkZWxldGVzIGV4aXN0aW5nICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAnZm9sZGVy
cyBhbmQgZmlsZXMgaW4gdGhlIGxvY2F0aW9ucyB3aGVyZSBsaW5rcyBhcmUgJwotICAgICAgICAg
ICAgICAgICAgICAgICAgICdhYm91dCB0byBiZSBjcmVhdGVkLicpCi0gIHBhcnNlci5hZGRfb3B0
aW9uKCctbicsICctLW5vLXByb21wdCcsIGFjdGlvbj0nc3RvcmVfZmFsc2UnLCBkZXN0PSdwcm9t
cHQnLAotICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PShub3Qgb25fYm90KSwKLSAgICAgICAg
ICAgICAgICAgICAgaGVscD0nUHJvbXB0IGlmIHdlXCdyZSBwbGFubmluZyB0byBkbyBhIGRhbmdl
cm91cyBhY3Rpb24nKQotICBwYXJzZXIuYWRkX29wdGlvbignLXYnLCAnLS12ZXJib3NlJywgYWN0
aW9uPSdzdG9yZV9jb25zdCcsCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0PWxvZ2dpbmcuREVC
VUcsIGRlZmF1bHQ9bG9nZ2luZy5JTkZPLAotICAgICAgICAgICAgICAgICAgICBoZWxwPSdQcmlu
dCB2ZXJib3NlIG91dHB1dCBmb3IgZGVidWdnaW5nLicpCi0gIG9wdGlvbnMsIF8gPSBwYXJzZXIu
cGFyc2VfYXJncygpCi0KLSAgaWYgb3B0aW9ucy5kcnlfcnVuIG9yIG9wdGlvbnMuZm9yY2Ugb3Ig
b3B0aW9ucy5jbGVhbl9vbmx5OgotICAgIG9wdGlvbnMudmVyYm9zZSA9IGxvZ2dpbmcuREVCVUcK
LSAgbG9nZ2luZy5iYXNpY0NvbmZpZyhmb3JtYXQ9JyUobWVzc2FnZSlzJywgbGV2ZWw9b3B0aW9u
cy52ZXJib3NlKQotCi0gICMgV29yayBmcm9tIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgY2hl
Y2tvdXQuCi0gIHNjcmlwdF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9f
ZmlsZV9fKSkKLSAgb3MuY2hkaXIoc2NyaXB0X2RpcikKLQotICBpZiBzeXMucGxhdGZvcm0uc3Rh
cnRzd2l0aCgnd2luJyk6Ci0gICAgZGVmIGlzX2FkbWluKCk6Ci0gICAgICB0cnk6Ci0gICAgICAg
IHJldHVybiBvcy5nZXR1aWQoKSA9PSAwCi0gICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0g
ICAgICAgIHJldHVybiBjdHlwZXMud2luZGxsLnNoZWxsMzIuSXNVc2VyQW5BZG1pbigpICE9IDAK
LSAgICBpZiBpc19hZG1pbigpOgotICAgICAgbG9nZ2luZy53YXJuaW5nKCdXQVJOSU5HOiBPbiBX
aW5kb3dzLCB5b3Ugbm8gbG9uZ2VyIG5lZWQgcnVuIGFzICcKLSAgICAgICAgICAgICAgICAgICAg
ICAnYWRtaW5pc3RyYXRvci4gUGxlYXNlIHJ1biB3aXRoIHVzZXIgYWNjb3VudCBwcml2aWxlZ2Vz
LicpCi0KLSAgaWYgbm90IG9zLnBhdGguZXhpc3RzKENIUk9NSVVNX0NIRUNLT1VUKToKLSAgICBs
b2dnaW5nLmVycm9yKCdDYW5ub3QgZmluZCBhIENocm9taXVtIGNoZWNrb3V0IGF0ICVzLiBEaWQg
eW91IHJ1biAiZ2NsaWVudCAnCi0gICAgICAgICAgICAgICAgICAnc3luYyIgYmVmb3JlIHJ1bm5p
bmcgdGhpcyBzY3JpcHQ/JywgQ0hST01JVU1fQ0hFQ0tPVVQpCi0gICAgcmV0dXJuIDIKLQotICBs
aW5rc19kYXRhYmFzZSA9IF9pbml0aWFsaXplX2RhdGFiYXNlKExJTktTX0RCKQotICB0cnk6Ci0g
ICAgc3ltbGlua19jcmVhdG9yID0gV2ViUlRDTGlua1NldHVwKGxpbmtzX2RhdGFiYXNlLCBvcHRp
b25zLmZvcmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25z
LmRyeV9ydW4sIG9wdGlvbnMucHJvbXB0KQotICAgIHN5bWxpbmtfY3JlYXRvci5DbGVhbnVwTGlu
a3MoKQotICAgIGlmIG5vdCBvcHRpb25zLmNsZWFuX29ubHk6Ci0gICAgICBzeW1saW5rX2NyZWF0
b3IuQ3JlYXRlTGlua3Mob25fYm90KQotICBleGNlcHQgTGlua0Vycm9yIGFzIGU6Ci0gICAgcHJp
bnQgPj4gc3lzLnN0ZGVyciwgZS5tZXNzYWdlCi0gICAgcmV0dXJuIDMKLSAgZmluYWxseToKLSAg
ICBsaW5rc19kYXRhYmFzZS5jbG9zZSgpCi0gIHJldHVybiAwCi0KLQotaWYgX19uYW1lX18gPT0g
J19fbWFpbl9fJzoKLSAgc3lzLmV4aXQobWFpbigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbXBhcmUu
Y2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di9zb3VyY2UvY29tcGFyZS5jYwppbmRleCBlMzg0NmJkZmRkMTE1MjEzMjVjYzQ5NTNjZGZlMjk3
MzhiOTFhNGVkLi4zZjdmMTQ3NTFlZDNkMGMzOWFlODAyNjcwZTk0NGExNzQzZGFhNGFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9zb3VyY2UvY29tcGFyZS5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29tcGFyZS5jYwpAQCAtMzIsOCArMzIs
NyBAQCBMSUJZVVZfQVBJCiB1aW50MzIgSGFzaERqYjIoY29uc3QgdWludDgqIHNyYywgdWludDY0
IGNvdW50LCB1aW50MzIgc2VlZCkgewogICBjb25zdCBpbnQga0Jsb2NrU2l6ZSA9IDEgPDwgMTU7
ICAvLyAzMjc2ODsKICAgaW50IHJlbWFpbmRlcjsKLSAgdWludDMyICgqSGFzaERqYjJfU1NFKShj
b25zdCB1aW50OCogc3JjLCBpbnQgY291bnQsIHVpbnQzMiBzZWVkKSA9Ci0gICAgICBIYXNoRGpi
Ml9DOworICB1aW50MzIgKCpIYXNoRGpiMl9TU0UpKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBjb3Vu
dCwgdWludDMyIHNlZWQpID0gSGFzaERqYjJfQzsKICNpZiBkZWZpbmVkKEhBU19IQVNIREpCMl9T
U0U0MSkKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNTU0U0MSkpIHsKICAgICBIYXNoRGpiMl9T
U0UgPSBIYXNoRGpiMl9TU0U0MTsKQEAgLTUwLDEzICs0OSwxMyBAQCB1aW50MzIgSGFzaERqYjIo
Y29uc3QgdWludDgqIHNyYywgdWludDY0IGNvdW50LCB1aW50MzIgc2VlZCkgewogICAgIHNyYyAr
PSBrQmxvY2tTaXplOwogICAgIGNvdW50IC09IGtCbG9ja1NpemU7CiAgIH0KLSAgcmVtYWluZGVy
ID0gKGludCkoY291bnQpICYgfjE1OworICByZW1haW5kZXIgPSAoaW50KWNvdW50ICYgfjE1Owog
ICBpZiAocmVtYWluZGVyKSB7CiAgICAgc2VlZCA9IEhhc2hEamIyX1NTRShzcmMsIHJlbWFpbmRl
ciwgc2VlZCk7CiAgICAgc3JjICs9IHJlbWFpbmRlcjsKICAgICBjb3VudCAtPSByZW1haW5kZXI7
CiAgIH0KLSAgcmVtYWluZGVyID0gKGludCkoY291bnQpICYgMTU7CisgIHJlbWFpbmRlciA9IChp
bnQpY291bnQgJiAxNTsKICAgaWYgKHJlbWFpbmRlcikgewogICAgIHNlZWQgPSBIYXNoRGpiMl9D
KHNyYywgcmVtYWluZGVyLCBzZWVkKTsKICAgfQpAQCAtMTExLDkgKzExMCw1NSBAQCB1aW50MzIg
QVJHQkRldGVjdChjb25zdCB1aW50OCogYXJnYiwgaW50IHN0cmlkZV9hcmdiLCBpbnQgd2lkdGgs
IGludCBoZWlnaHQpIHsKICAgcmV0dXJuIGZvdXJjYzsKIH0KIAorTElCWVVWX0FQSQordWludDY0
IENvbXB1dGVIYW1taW5nRGlzdGFuY2UoY29uc3QgdWludDgqIHNyY19hLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGNvdW50KSB7CisgIGNvbnN0IGludCBrQmxvY2tTaXplID0gNjU1MzY7
CisgIGludCByZW1haW5kZXIgPSBjb3VudCAmIChrQmxvY2tTaXplIC0gMSkgJiB+MzE7CisgIHVp
bnQ2NCBkaWZmID0gMDsKKyAgaW50IGk7CisgIHVpbnQzMiAoKkhhbW1pbmdEaXN0YW5jZSkoY29u
c3QgdWludDgqIHNyY19hLCBjb25zdCB1aW50OCogc3JjX2IsIGludCBjb3VudCkgPQorICAgICAg
SGFtbWluZ0Rpc3RhbmNlX0M7CisjaWYgZGVmaW5lZChIQVNfSEFNTUlOR0RJU1RBTkNFX05FT04p
CisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTkVPTikpIHsKKyAgICBIYW1taW5nRGlzdGFuY2Ug
PSBIYW1taW5nRGlzdGFuY2VfTkVPTjsKKyAgfQorI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfSEFN
TUlOR0RJU1RBTkNFX1g4NikKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNYODYpKSB7CisgICAg
SGFtbWluZ0Rpc3RhbmNlID0gSGFtbWluZ0Rpc3RhbmNlX1g4NjsKKyAgfQorI2VuZGlmCisjaWYg
ZGVmaW5lZChIQVNfSEFNTUlOR0RJU1RBTkNFX0FWWDIpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1
SGFzQVZYMikpIHsKKyAgICBIYW1taW5nRGlzdGFuY2UgPSBIYW1taW5nRGlzdGFuY2VfQVZYMjsK
KyAgfQorI2VuZGlmCisjaWZkZWYgX09QRU5NUAorI3ByYWdtYSBvbXAgcGFyYWxsZWwgZm9yIHJl
ZHVjdGlvbigrIDogZGlmZikKKyNlbmRpZgorICBmb3IgKGkgPSAwOyBpIDwgKGNvdW50IC0gKGtC
bG9ja1NpemUgLSAxKSk7IGkgKz0ga0Jsb2NrU2l6ZSkgeworICAgIGRpZmYgKz0gSGFtbWluZ0Rp
c3RhbmNlKHNyY19hICsgaSwgc3JjX2IgKyBpLCBrQmxvY2tTaXplKTsKKyAgfQorICBzcmNfYSAr
PSBjb3VudCAmIH4oa0Jsb2NrU2l6ZSAtIDEpOworICBzcmNfYiArPSBjb3VudCAmIH4oa0Jsb2Nr
U2l6ZSAtIDEpOworICBpZiAocmVtYWluZGVyKSB7CisgICAgZGlmZiArPSBIYW1taW5nRGlzdGFu
Y2Uoc3JjX2EsIHNyY19iLCByZW1haW5kZXIpOworICAgIHNyY19hICs9IHJlbWFpbmRlcjsKKyAg
ICBzcmNfYiArPSByZW1haW5kZXI7CisgIH0KKyAgcmVtYWluZGVyID0gY291bnQgJiAzMTsKKyAg
aWYgKHJlbWFpbmRlcikgeworICAgIGRpZmYgKz0gSGFtbWluZ0Rpc3RhbmNlX0Moc3JjX2EsIHNy
Y19iLCByZW1haW5kZXIpOworICB9CisgIHJldHVybiBkaWZmOworfQorCiAvLyBUT0RPKGZiYXJj
aGFyZCk6IFJlZmFjdG9yIGludG8gcm93IGZ1bmN0aW9uLgogTElCWVVWX0FQSQotdWludDY0IENv
bXB1dGVTdW1TcXVhcmVFcnJvcihjb25zdCB1aW50OCogc3JjX2EsIGNvbnN0IHVpbnQ4KiBzcmNf
YiwKK3VpbnQ2NCBDb21wdXRlU3VtU3F1YXJlRXJyb3IoY29uc3QgdWludDgqIHNyY19hLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2IsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBjb3VudCkgewogICAvLyBTdW1TcXVhcmVFcnJvciByZXR1
cm5zIHZhbHVlcyAwIHRvIDY1NTM1IGZvciBlYWNoIHNxdWFyZWQgZGlmZmVyZW5jZS4KICAgLy8g
VXAgdG8gNjU1MzYgb2YgdGhvc2UgY2FuIGJlIHN1bW1lZCBhbmQgcmVtYWluIHdpdGhpbiBhIHVp
bnQzMi4KQEAgLTE0Miw3ICsxODcsNyBAQCB1aW50NjQgQ29tcHV0ZVN1bVNxdWFyZUVycm9yKGNv
bnN0IHVpbnQ4KiBzcmNfYSwgY29uc3QgdWludDgqIHNyY19iLAogICB9CiAjZW5kaWYKICNpZmRl
ZiBfT1BFTk1QCi0jcHJhZ21hIG9tcCBwYXJhbGxlbCBmb3IgcmVkdWN0aW9uKCs6IHNzZSkKKyNw
cmFnbWEgb21wIHBhcmFsbGVsIGZvciByZWR1Y3Rpb24oKyA6IHNzZSkKICNlbmRpZgogICBmb3Ig
KGkgPSAwOyBpIDwgKGNvdW50IC0gKGtCbG9ja1NpemUgLSAxKSk7IGkgKz0ga0Jsb2NrU2l6ZSkg
ewogICAgIHNzZSArPSBTdW1TcXVhcmVFcnJvcihzcmNfYSArIGksIHNyY19iICsgaSwga0Jsb2Nr
U2l6ZSk7CkBAIC0xNjIsMTQgKzIwNywxNiBAQCB1aW50NjQgQ29tcHV0ZVN1bVNxdWFyZUVycm9y
KGNvbnN0IHVpbnQ4KiBzcmNfYSwgY29uc3QgdWludDgqIHNyY19iLAogfQogCiBMSUJZVVZfQVBJ
Ci11aW50NjQgQ29tcHV0ZVN1bVNxdWFyZUVycm9yUGxhbmUoY29uc3QgdWludDgqIHNyY19hLCBp
bnQgc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY19iLCBpbnQgc3RyaWRlX2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Cit1aW50NjQgQ29tcHV0ZVN1bVNxdWFyZUVycm9y
UGxhbmUoY29uc3QgdWludDgqIHNyY19hLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzdHJpZGVfYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0
cmlkZV9iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIHVpbnQ2NCBz
c2UgPSAwOwogICBpbnQgaDsKICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHN0cmlkZV9hID09
IHdpZHRoICYmCi0gICAgICBzdHJpZGVfYiA9PSB3aWR0aCkgeworICBpZiAoc3RyaWRlX2EgPT0g
d2lkdGggJiYgc3RyaWRlX2IgPT0gd2lkdGgpIHsKICAgICB3aWR0aCAqPSBoZWlnaHQ7CiAgICAg
aGVpZ2h0ID0gMTsKICAgICBzdHJpZGVfYSA9IHN0cmlkZV9iID0gMDsKQEAgLTE4NiwxMCArMjMz
LDEwIEBAIExJQllVVl9BUEkKIGRvdWJsZSBTdW1TcXVhcmVFcnJvclRvUHNucih1aW50NjQgc3Nl
LCB1aW50NjQgY291bnQpIHsKICAgZG91YmxlIHBzbnI7CiAgIGlmIChzc2UgPiAwKSB7Ci0gICAg
ZG91YmxlIG1zZSA9IChkb3VibGUpKGNvdW50KSAvIChkb3VibGUpKHNzZSk7CisgICAgZG91Ymxl
IG1zZSA9IChkb3VibGUpY291bnQgLyAoZG91YmxlKXNzZTsKICAgICBwc25yID0gMTAuMCAqIGxv
ZzEwKDI1NS4wICogMjU1LjAgKiBtc2UpOwogICB9IGVsc2UgewotICAgIHBzbnIgPSBrTWF4UHNu
cjsgICAgICAvLyBMaW1pdCB0byBwcmV2ZW50IGRpdmlkZSBieSAwCisgICAgcHNuciA9IGtNYXhQ
c25yOyAgLy8gTGltaXQgdG8gcHJldmVudCBkaXZpZGUgYnkgMAogICB9CiAKICAgaWYgKHBzbnIg
PiBrTWF4UHNucikKQEAgLTE5OSw0NSArMjQ2LDUzIEBAIGRvdWJsZSBTdW1TcXVhcmVFcnJvclRv
UHNucih1aW50NjQgc3NlLCB1aW50NjQgY291bnQpIHsKIH0KIAogTElCWVVWX0FQSQotZG91Ymxl
IENhbGNGcmFtZVBzbnIoY29uc3QgdWludDgqIHNyY19hLCBpbnQgc3RyaWRlX2EsCi0gICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2IsIGludCBzdHJpZGVfYiwKLSAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworZG91YmxlIENhbGNGcmFtZVBz
bnIoY29uc3QgdWludDgqIHNyY19hLAorICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZV9h
LAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19iLAorICAgICAgICAgICAg
ICAgICAgICAgaW50IHN0cmlkZV9iLAorICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAor
ICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBjb25zdCB1aW50NjQgc2FtcGxl
cyA9IHdpZHRoICogaGVpZ2h0OwotICBjb25zdCB1aW50NjQgc3NlID0gQ29tcHV0ZVN1bVNxdWFy
ZUVycm9yUGxhbmUoc3JjX2EsIHN0cmlkZV9hLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3JjX2IsIHN0cmlkZV9iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CisgIGNvbnN0IHVp
bnQ2NCBzc2UgPSBDb21wdXRlU3VtU3F1YXJlRXJyb3JQbGFuZShzcmNfYSwgc3RyaWRlX2EsIHNy
Y19iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
aWRlX2IsIHdpZHRoLCBoZWlnaHQpOwogICByZXR1cm4gU3VtU3F1YXJlRXJyb3JUb1BzbnIoc3Nl
LCBzYW1wbGVzKTsKIH0KIAogTElCWVVWX0FQSQotZG91YmxlIEk0MjBQc25yKGNvbnN0IHVpbnQ4
KiBzcmNfeV9hLCBpbnQgc3RyaWRlX3lfYSwKLSAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3VfYSwgaW50IHN0cmlkZV91X2EsCi0gICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y192X2EsIGludCBzdHJpZGVfdl9hLAotICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
eV9iLCBpbnQgc3RyaWRlX3lfYiwKLSAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Vf
YiwgaW50IHN0cmlkZV91X2IsCi0gICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192X2Is
IGludCBzdHJpZGVfdl9iLAotICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkg
ewotICBjb25zdCB1aW50NjQgc3NlX3kgPSBDb21wdXRlU3VtU3F1YXJlRXJyb3JQbGFuZShzcmNf
eV9hLCBzdHJpZGVfeV9hLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzcmNfeV9iLCBzdHJpZGVfeV9iLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKK2RvdWJsZSBJNDIwUHNu
cihjb25zdCB1aW50OCogc3JjX3lfYSwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3lfYSwK
KyAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3VfYSwKKyAgICAgICAgICAgICAgICBp
bnQgc3RyaWRlX3VfYSwKKyAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3ZfYSwKKyAg
ICAgICAgICAgICAgICBpbnQgc3RyaWRlX3ZfYSwKKyAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3lfYiwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3lfYiwKKyAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3VfYiwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3Vf
YiwKKyAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3ZfYiwKKyAgICAgICAgICAgICAg
ICBpbnQgc3RyaWRlX3ZfYiwKKyAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAg
ICAgICAgaW50IGhlaWdodCkgeworICBjb25zdCB1aW50NjQgc3NlX3kgPSBDb21wdXRlU3VtU3F1
YXJlRXJyb3JQbGFuZShzcmNfeV9hLCBzdHJpZGVfeV9hLCBzcmNfeV9iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpZGVfeV9iLCB3aWR0aCwg
aGVpZ2h0KTsKICAgY29uc3QgaW50IHdpZHRoX3V2ID0gKHdpZHRoICsgMSkgPj4gMTsKICAgY29u
c3QgaW50IGhlaWdodF91diA9IChoZWlnaHQgKyAxKSA+PiAxOwotICBjb25zdCB1aW50NjQgc3Nl
X3UgPSBDb21wdXRlU3VtU3F1YXJlRXJyb3JQbGFuZShzcmNfdV9hLCBzdHJpZGVfdV9hLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdV9iLCBz
dHJpZGVfdV9iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB3aWR0aF91diwgaGVpZ2h0X3V2KTsKLSAgY29uc3QgdWludDY0IHNzZV92ID0gQ29tcHV0
ZVN1bVNxdWFyZUVycm9yUGxhbmUoc3JjX3ZfYSwgc3RyaWRlX3ZfYSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3ZfYiwgc3RyaWRlX3ZfYiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGhf
dXYsIGhlaWdodF91dik7CisgIGNvbnN0IHVpbnQ2NCBzc2VfdSA9IENvbXB1dGVTdW1TcXVhcmVF
cnJvclBsYW5lKAorICAgICAgc3JjX3VfYSwgc3RyaWRlX3VfYSwgc3JjX3VfYiwgc3RyaWRlX3Vf
Yiwgd2lkdGhfdXYsIGhlaWdodF91dik7CisgIGNvbnN0IHVpbnQ2NCBzc2VfdiA9IENvbXB1dGVT
dW1TcXVhcmVFcnJvclBsYW5lKAorICAgICAgc3JjX3ZfYSwgc3RyaWRlX3ZfYSwgc3JjX3ZfYiwg
c3RyaWRlX3ZfYiwgd2lkdGhfdXYsIGhlaWdodF91dik7CiAgIGNvbnN0IHVpbnQ2NCBzYW1wbGVz
ID0gd2lkdGggKiBoZWlnaHQgKyAyICogKHdpZHRoX3V2ICogaGVpZ2h0X3V2KTsKICAgY29uc3Qg
dWludDY0IHNzZSA9IHNzZV95ICsgc3NlX3UgKyBzc2VfdjsKICAgcmV0dXJuIFN1bVNxdWFyZUVy
cm9yVG9Qc25yKHNzZSwgc2FtcGxlcyk7CiB9CiAKLXN0YXRpYyBjb25zdCBpbnQ2NCBjYzEgPSAg
MjY2MzQ7ICAvLyAoNjReMiooLjAxKjI1NSleMgorc3RhdGljIGNvbnN0IGludDY0IGNjMSA9IDI2
NjM0OyAgIC8vICg2NF4yKiguMDEqMjU1KV4yCiBzdGF0aWMgY29uc3QgaW50NjQgY2MyID0gMjM5
NzA4OyAgLy8gKDY0XjIqKC4wMyoyNTUpXjIKIAotc3RhdGljIGRvdWJsZSBTc2ltOHg4X0MoY29u
c3QgdWludDgqIHNyY19hLCBpbnQgc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX2IsIGludCBzdHJpZGVfYikgeworc3RhdGljIGRvdWJsZSBTc2ltOHg4
X0MoY29uc3QgdWludDgqIHNyY19hLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0cmlk
ZV9hLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHN0cmlkZV9iKSB7CiAgIGludDY0IHN1bV9hID0gMDsKICAg
aW50NjQgc3VtX2IgPSAwOwogICBpbnQ2NCBzdW1fc3FfYSA9IDA7CkBAIC0yNzAsMTIgKzMyNSwx
MiBAQCBzdGF0aWMgZG91YmxlIFNzaW04eDhfQyhjb25zdCB1aW50OCogc3JjX2EsIGludCBzdHJp
ZGVfYSwKICAgICBjb25zdCBpbnQ2NCBzc2ltX24gPSAoMiAqIHN1bV9hX3hfc3VtX2IgKyBjMSkg
KgogICAgICAgICAgICAgICAgICAgICAgICAgICgyICogY291bnQgKiBzdW1fYXhiIC0gMiAqIHN1
bV9hX3hfc3VtX2IgKyBjMik7CiAKLSAgICBjb25zdCBpbnQ2NCBzdW1fYV9zcSA9IHN1bV9hKnN1
bV9hOwotICAgIGNvbnN0IGludDY0IHN1bV9iX3NxID0gc3VtX2Iqc3VtX2I7CisgICAgY29uc3Qg
aW50NjQgc3VtX2Ffc3EgPSBzdW1fYSAqIHN1bV9hOworICAgIGNvbnN0IGludDY0IHN1bV9iX3Nx
ID0gc3VtX2IgKiBzdW1fYjsKIAotICAgIGNvbnN0IGludDY0IHNzaW1fZCA9IChzdW1fYV9zcSAr
IHN1bV9iX3NxICsgYzEpICoKLSAgICAgICAgICAgICAgICAgICAgICAgICAoY291bnQgKiBzdW1f
c3FfYSAtIHN1bV9hX3NxICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgKiBzdW1f
c3FfYiAtIHN1bV9iX3NxICsgYzIpOworICAgIGNvbnN0IGludDY0IHNzaW1fZCA9CisgICAgICAg
IChzdW1fYV9zcSArIHN1bV9iX3NxICsgYzEpICoKKyAgICAgICAgKGNvdW50ICogc3VtX3NxX2Eg
LSBzdW1fYV9zcSArIGNvdW50ICogc3VtX3NxX2IgLSBzdW1fYl9zcSArIGMyKTsKIAogICAgIGlm
IChzc2ltX2QgPT0gMC4wKSB7CiAgICAgICByZXR1cm4gREJMX01BWDsKQEAgLTI4OCwxMyArMzQz
LDE2IEBAIHN0YXRpYyBkb3VibGUgU3NpbTh4OF9DKGNvbnN0IHVpbnQ4KiBzcmNfYSwgaW50IHN0
cmlkZV9hLAogLy8gb24gdGhlIDR4NCBwaXhlbCBncmlkLiBTdWNoIGFycmFuZ2VtZW50IGFsbG93
cyB0aGUgd2luZG93cyB0byBvdmVybGFwCiAvLyBibG9jayBib3VuZGFyaWVzIHRvIHBlbmFsaXpl
IGJsb2NraW5nIGFydGlmYWN0cy4KIExJQllVVl9BUEkKLWRvdWJsZSBDYWxjRnJhbWVTc2ltKGNv
bnN0IHVpbnQ4KiBzcmNfYSwgaW50IHN0cmlkZV9hLAotICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY19iLCBpbnQgc3RyaWRlX2IsCi0gICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgsIGludCBoZWlnaHQpIHsKK2RvdWJsZSBDYWxjRnJhbWVTc2ltKGNvbnN0IHVpbnQ4KiBz
cmNfYSwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGVfYSwKKyAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYiwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzdHJp
ZGVfYiwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAg
ICAgIGludCBoZWlnaHQpIHsKICAgaW50IHNhbXBsZXMgPSAwOwogICBkb3VibGUgc3NpbV90b3Rh
bCA9IDA7Ci0gIGRvdWJsZSAoKlNzaW04eDgpKGNvbnN0IHVpbnQ4KiBzcmNfYSwgaW50IHN0cmlk
ZV9hLAotICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2IsIGludCBzdHJpZGVf
YikgPSBTc2ltOHg4X0M7CisgIGRvdWJsZSAoKlNzaW04eDgpKGNvbnN0IHVpbnQ4KiBzcmNfYSwg
aW50IHN0cmlkZV9hLCBjb25zdCB1aW50OCogc3JjX2IsCisgICAgICAgICAgICAgICAgICAgIGlu
dCBzdHJpZGVfYikgPSBTc2ltOHg4X0M7CiAKICAgLy8gc2FtcGxlIHBvaW50IHN0YXJ0IHdpdGgg
ZWFjaCA0eDQgbG9jYXRpb24KICAgaW50IGk7CkBAIC0zMTQsMjIgKzM3MiwyNyBAQCBkb3VibGUg
Q2FsY0ZyYW1lU3NpbShjb25zdCB1aW50OCogc3JjX2EsIGludCBzdHJpZGVfYSwKIH0KIAogTElC
WVVWX0FQSQotZG91YmxlIEk0MjBTc2ltKGNvbnN0IHVpbnQ4KiBzcmNfeV9hLCBpbnQgc3RyaWRl
X3lfYSwKLSAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3VfYSwgaW50IHN0cmlkZV91
X2EsCi0gICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192X2EsIGludCBzdHJpZGVfdl9h
LAotICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfeV9iLCBpbnQgc3RyaWRlX3lfYiwK
LSAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3VfYiwgaW50IHN0cmlkZV91X2IsCi0g
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192X2IsIGludCBzdHJpZGVfdl9iLAotICAg
ICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICBjb25zdCBkb3VibGUgc3Np
bV95ID0gQ2FsY0ZyYW1lU3NpbShzcmNfeV9hLCBzdHJpZGVfeV9hLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzcmNfeV9iLCBzdHJpZGVfeV9iLCB3aWR0aCwgaGVpZ2h0
KTsKK2RvdWJsZSBJNDIwU3NpbShjb25zdCB1aW50OCogc3JjX3lfYSwKKyAgICAgICAgICAgICAg
ICBpbnQgc3RyaWRlX3lfYSwKKyAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3VfYSwK
KyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3VfYSwKKyAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3ZfYSwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3ZfYSwKKyAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3lfYiwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRl
X3lfYiwKKyAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3VfYiwKKyAgICAgICAgICAg
ICAgICBpbnQgc3RyaWRlX3VfYiwKKyAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Zf
YiwKKyAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3ZfYiwKKyAgICAgICAgICAgICAgICBpbnQg
d2lkdGgsCisgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgeworICBjb25zdCBkb3VibGUgc3Np
bV95ID0KKyAgICAgIENhbGNGcmFtZVNzaW0oc3JjX3lfYSwgc3RyaWRlX3lfYSwgc3JjX3lfYiwg
c3RyaWRlX3lfYiwgd2lkdGgsIGhlaWdodCk7CiAgIGNvbnN0IGludCB3aWR0aF91diA9ICh3aWR0
aCArIDEpID4+IDE7CiAgIGNvbnN0IGludCBoZWlnaHRfdXYgPSAoaGVpZ2h0ICsgMSkgPj4gMTsK
LSAgY29uc3QgZG91YmxlIHNzaW1fdSA9IENhbGNGcmFtZVNzaW0oc3JjX3VfYSwgc3RyaWRlX3Vf
YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3VfYiwgc3RyaWRl
X3VfYiwKKyAgY29uc3QgZG91YmxlIHNzaW1fdSA9IENhbGNGcmFtZVNzaW0oc3JjX3VfYSwgc3Ry
aWRlX3VfYSwgc3JjX3VfYiwgc3RyaWRlX3VfYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgd2lkdGhfdXYsIGhlaWdodF91dik7Ci0gIGNvbnN0IGRvdWJsZSBzc2ltX3Yg
PSBDYWxjRnJhbWVTc2ltKHNyY192X2EsIHN0cmlkZV92X2EsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNyY192X2IsIHN0cmlkZV92X2IsCisgIGNvbnN0IGRvdWJsZSBz
c2ltX3YgPSBDYWxjRnJhbWVTc2ltKHNyY192X2EsIHN0cmlkZV92X2EsIHNyY192X2IsIHN0cmlk
ZV92X2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoX3V2LCBo
ZWlnaHRfdXYpOwogICByZXR1cm4gc3NpbV95ICogMC44ICsgMC4xICogKHNzaW1fdSArIHNzaW1f
dik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29tcGFyZV9jb21tb24uY2MgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29tcGFyZV9j
b21tb24uY2MKaW5kZXggNDJmYzU4OTM1NDMyMGRjMTM4NzU4MjE1ZGJlNDE2OWU1M2M2ODM3Mi4u
ZDNlNDZmYjUwMmI4NzU4MmM0NGYwNzY1OTFiZjI5Mzc2NWY3ZjcyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNl
L2NvbXBhcmVfY29tbW9uLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jb21wYXJlX2NvbW1vbi5jYwpAQCAtMTcsNiAr
MTcsNTAgQEAgbmFtZXNwYWNlIGxpYnl1diB7CiBleHRlcm4gIkMiIHsKICNlbmRpZgogCisjaWYg
T1JJR0lOQUxfT1BUCit1aW50MzIgSGFtbWluZ0Rpc3RhbmNlX0MoY29uc3QgdWludDgqIHNyY19h
LCBjb25zdCB1aW50OCogc3JjX2IsIGludCBjb3VudCkgeworICB1aW50MzIgZGlmZiA9IDB1Owor
CisgIGludCBpOworICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkgeworICAgIGludCB4ID0g
c3JjX2FbaV0gXiBzcmNfYltpXTsKKyAgICBpZiAoeCAmIDEpCisgICAgICArK2RpZmY7CisgICAg
aWYgKHggJiAyKQorICAgICAgKytkaWZmOworICAgIGlmICh4ICYgNCkKKyAgICAgICsrZGlmZjsK
KyAgICBpZiAoeCAmIDgpCisgICAgICArK2RpZmY7CisgICAgaWYgKHggJiAxNikKKyAgICAgICsr
ZGlmZjsKKyAgICBpZiAoeCAmIDMyKQorICAgICAgKytkaWZmOworICAgIGlmICh4ICYgNjQpCisg
ICAgICArK2RpZmY7CisgICAgaWYgKHggJiAxMjgpCisgICAgICArK2RpZmY7CisgIH0KKyAgcmV0
dXJuIGRpZmY7Cit9CisjZW5kaWYKKworLy8gSGFrbWVtIG1ldGhvZCBmb3IgaGFtbWluZyBkaXN0
YW5jZS4KK3VpbnQzMiBIYW1taW5nRGlzdGFuY2VfQyhjb25zdCB1aW50OCogc3JjX2EsIGNvbnN0
IHVpbnQ4KiBzcmNfYiwgaW50IGNvdW50KSB7CisgIHVpbnQzMiBkaWZmID0gMHU7CisKKyAgaW50
IGk7CisgIGZvciAoaSA9IDA7IGkgPCBjb3VudCAtIDM7IGkgKz0gNCkgeworICAgIHVpbnQzMiB4
ID0gKigodWludDMyKilzcmNfYSkgXiAqKCh1aW50MzIqKXNyY19iKTsKKyAgICB1aW50MzIgdSA9
IHggLSAoKHggPj4gMSkgJiAweDU1NTU1NTU1KTsKKyAgICB1ID0gKCh1ID4+IDIpICYgMHgzMzMz
MzMzMykgKyAodSAmIDB4MzMzMzMzMzMpOworICAgIGRpZmYgKz0gKCgoKHUgKyAodSA+PiA0KSkg
JiAweDBmMGYwZjBmKSAqIDB4MDEwMTAxMDEpID4+IDI0KTsKKyAgICBzcmNfYSArPSA0OworICAg
IHNyY19iICs9IDQ7CisgIH0KKyAgcmV0dXJuIGRpZmY7Cit9CisKIHVpbnQzMiBTdW1TcXVhcmVF
cnJvcl9DKGNvbnN0IHVpbnQ4KiBzcmNfYSwgY29uc3QgdWludDgqIHNyY19iLCBpbnQgY291bnQp
IHsKICAgdWludDMyIHNzZSA9IDB1OwogICBpbnQgaTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jb21wYXJl
X2djYy5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L3NvdXJjZS9jb21wYXJlX2djYy5jYwppbmRleCAxYjgzZWRiMTY2YTE3ZDNlMjU3OWFh
OGQ3ZmJhYTM0ZTJhMzJmMzZkLi45OTRmYjEwZmQ1OTY2ZTk3ZmFiOGMzMDczNWVhMzlkOWJmMGY2
NzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9zb3VyY2UvY29tcGFyZV9nY2MuY2MKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbXBhcmVfZ2Nj
LmNjCkBAIC0yMiw2ICsyMiwxOSBAQCBleHRlcm4gIkMiIHsKICNpZiAhZGVmaW5lZChMSUJZVVZf
RElTQUJMRV9YODYpICYmIFwKICAgICAoZGVmaW5lZChfX3g4Nl82NF9fKSB8fCAoZGVmaW5lZChf
X2kzODZfXykgJiYgIWRlZmluZWQoX01TQ19WRVIpKSkKIAordWludDMyIEhhbW1pbmdEaXN0YW5j
ZV9YODYoY29uc3QgdWludDgqIHNyY19hLCBjb25zdCB1aW50OCogc3JjX2IsIGludCBjb3VudCkg
eworICB1aW50MzIgZGlmZiA9IDB1OworCisgIGludCBpOworICBmb3IgKGkgPSAwOyBpIDwgY291
bnQgLSA3OyBpICs9IDgpIHsKKyAgICB1aW50NjQgeCA9ICooKHVpbnQ2NCopc3JjX2EpIF4gKigo
dWludDY0KilzcmNfYik7CisgICAgc3JjX2EgKz0gODsKKyAgICBzcmNfYiArPSA4OworICAgIGRp
ZmYgKz0gX19idWlsdGluX3BvcGNvdW50bGwoeCk7CisgIH0KKyAgcmV0dXJuIGRpZmY7Cit9CisK
IHVpbnQzMiBTdW1TcXVhcmVFcnJvcl9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYSwgY29uc3QgdWlu
dDgqIHNyY19iLCBpbnQgY291bnQpIHsKICAgdWludDMyIHNzZTsKICAgYXNtIHZvbGF0aWxlICgK
QEAgLTYyLDMwICs3NSwzMCBAQCB1aW50MzIgU3VtU3F1YXJlRXJyb3JfU1NFMihjb25zdCB1aW50
OCogc3JjX2EsIGNvbnN0IHVpbnQ4KiBzcmNfYiwgaW50IGNvdW50KSB7CiAgIHJldHVybiBzc2U7
CiB9CiAKLXN0YXRpYyB1dmVjMzIga0hhc2gxNngzMyA9IHsgMHg5MmQ5ZTIwMSwgMCwgMCwgMCB9
OyAgLy8gMzMgXiAxNgorc3RhdGljIHV2ZWMzMiBrSGFzaDE2eDMzID0gezB4OTJkOWUyMDEsIDAs
IDAsIDB9OyAgLy8gMzMgXiAxNgogc3RhdGljIHV2ZWMzMiBrSGFzaE11bDAgPSB7Ci0gIDB4MGMz
NTI1ZTEsICAvLyAzMyBeIDE1Ci0gIDB4YTM0NzZkYzEsICAvLyAzMyBeIDE0Ci0gIDB4M2I0MDM5
YTEsICAvLyAzMyBeIDEzCi0gIDB4NGY1ZjA5ODEsICAvLyAzMyBeIDEyCisgICAgMHgwYzM1MjVl
MSwgIC8vIDMzIF4gMTUKKyAgICAweGEzNDc2ZGMxLCAgLy8gMzMgXiAxNAorICAgIDB4M2I0MDM5
YTEsICAvLyAzMyBeIDEzCisgICAgMHg0ZjVmMDk4MSwgIC8vIDMzIF4gMTIKIH07CiBzdGF0aWMg
dXZlYzMyIGtIYXNoTXVsMSA9IHsKLSAgMHgzMGYzNWQ2MSwgIC8vIDMzIF4gMTEKLSAgMHg4NTVj
YjU0MSwgIC8vIDMzIF4gMTAKLSAgMHgwNDBhOTEyMSwgIC8vIDMzIF4gOQotICAweDc0N2M3MTAx
LCAgLy8gMzMgXiA4CisgICAgMHgzMGYzNWQ2MSwgIC8vIDMzIF4gMTEKKyAgICAweDg1NWNiNTQx
LCAgLy8gMzMgXiAxMAorICAgIDB4MDQwYTkxMjEsICAvLyAzMyBeIDkKKyAgICAweDc0N2M3MTAx
LCAgLy8gMzMgXiA4CiB9Owogc3RhdGljIHV2ZWMzMiBrSGFzaE11bDIgPSB7Ci0gIDB4ZWM0MWQ0
ZTEsICAvLyAzMyBeIDcKLSAgMHg0Y2ZhM2NjMSwgIC8vIDMzIF4gNgotICAweDAyNTUyOGExLCAg
Ly8gMzMgXiA1Ci0gIDB4MDAxMjE4ODEsICAvLyAzMyBeIDQKKyAgICAweGVjNDFkNGUxLCAgLy8g
MzMgXiA3CisgICAgMHg0Y2ZhM2NjMSwgIC8vIDMzIF4gNgorICAgIDB4MDI1NTI4YTEsICAvLyAz
MyBeIDUKKyAgICAweDAwMTIxODgxLCAgLy8gMzMgXiA0CiB9Owogc3RhdGljIHV2ZWMzMiBrSGFz
aE11bDMgPSB7Ci0gIDB4MDAwMDhjNjEsICAvLyAzMyBeIDMKLSAgMHgwMDAwMDQ0MSwgIC8vIDMz
IF4gMgotICAweDAwMDAwMDIxLCAgLy8gMzMgXiAxCi0gIDB4MDAwMDAwMDEsICAvLyAzMyBeIDAK
KyAgICAweDAwMDA4YzYxLCAgLy8gMzMgXiAzCisgICAgMHgwMDAwMDQ0MSwgIC8vIDMzIF4gMgor
ICAgIDB4MDAwMDAwMjEsICAvLyAzMyBeIDEKKyAgICAweDAwMDAwMDAxLCAgLy8gMzMgXiAwCiB9
OwogCiB1aW50MzIgSGFzaERqYjJfU1NFNDEoY29uc3QgdWludDgqIHNyYywgaW50IGNvdW50LCB1
aW50MzIgc2VlZCkgewpAQCAtMTQ4LDQgKzE2MSwzIEBAIHVpbnQzMiBIYXNoRGpiMl9TU0U0MShj
b25zdCB1aW50OCogc3JjLCBpbnQgY291bnQsIHVpbnQzMiBzZWVkKSB7CiB9ICAvLyBleHRlcm4g
IkMiCiB9ICAvLyBuYW1lc3BhY2UgbGlieXV2CiAjZW5kaWYKLQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2Nv
bXBhcmVfbmVvbi5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L3NvdXJjZS9jb21wYXJlX25lb24uY2MKaW5kZXggNDlhYTNiNGVlZmVjOGI2
YzY5MmMxZWM5NTIzNDllYjAzOGU1N2MxZC4uYjc5OTFjMTcxMzZkNGZkYWExMDEzMWE1NGFlOGIx
NjVlODQzYzEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbXBhcmVfbmVvbi5jYworKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29t
cGFyZV9uZW9uLmNjCkBAIC0yMiw3ICsyMiw3IEBAIGV4dGVybiAiQyIgewogICAgICFkZWZpbmVk
KF9fYWFyY2g2NF9fKQogCiB1aW50MzIgU3VtU3F1YXJlRXJyb3JfTkVPTihjb25zdCB1aW50OCog
c3JjX2EsIGNvbnN0IHVpbnQ4KiBzcmNfYiwgaW50IGNvdW50KSB7Ci0gIHZvbGF0aWxlIHVpbnQz
MiBzc2U7CisgIHVpbnQzMiBzc2U7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInZtb3YudTggICAg
cTgsICMwICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJ2bW92LnU4ICAgIHExMCwg
IzAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jb21wYXJlX25l
b242NC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L3NvdXJjZS9jb21wYXJlX25lb242NC5jYwppbmRleCBmOWM3ZGY5OGM4OWRjYjk5NTI4
NjAwMmEzNWZmMzEzMDBiYTI4Njk1Li5mZGQ5ZTBmODc3MDIyMGEzMzQ0YjBjZmYzZWY0MDgyNjJi
YTA1YmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29tcGFyZV9uZW9uNjQuY2MKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbXBh
cmVfbmVvbjY0LmNjCkBAIC0yMCw4ICsyMCw0MCBAQCBleHRlcm4gIkMiIHsKIAogI2lmICFkZWZp
bmVkKExJQllVVl9ESVNBQkxFX05FT04pICYmIGRlZmluZWQoX19hYXJjaDY0X18pCiAKKy8vIDI1
NiBiaXRzIGF0IGEgdGltZQordWludDMyIEhhbW1pbmdEaXN0YW5jZV9ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfYSwgY29uc3QgdWludDgqIHNyY19iLCBpbnQgY291bnQpIHsKKyAgdWludDMyIGRpZmY7
CisgIGFzbSB2b2xhdGlsZSAoCisgICAgIm1vdmkgICAgICAgZDQsICMwICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorCisgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgIE1FTUFDQ0VTUygwKQorICAgICJsZDEgICAgICAgIHt2MC4xNmIsIHYx
LjE2Yn0sIFslMF0sICMzMiAgICBcbiIKKyAgICBNRU1BQ0NFU1MoMSkKKyAgICAibGQxICAgICAg
ICB7djIuMTZiLCB2My4xNmJ9LCBbJTFdLCAjMzIgICAgXG4iCisgICAgInN1YnMgICAgICAgJXcy
LCAldzIsICMzMiAgICAgICAgICAgICAgICAgIFxuIgorICAgICJlb3IgICAgICAgIHYwLjE2Yiwg
djAuMTZiLCB2Mi4xNmIgICAgICAgICBcbiIKKyAgICAiZW9yICAgICAgICB2MS4xNmIsIHYxLjE2
YiwgdjMuMTZiICAgICAgICAgXG4iCisgICAgImNudCAgICAgICAgdjAuMTZiLCB2MC4xNmIgICAg
ICAgICAgICAgICAgIFxuIgorICAgICJjbnQgICAgICAgIHYxLjE2YiwgdjEuMTZiICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAidWFkZGx2ICAgICBoMCwgdjAuMTZiICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgInVhZGRsdiAgICAgaDEsIHYxLjE2YiAgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICJhZGQgICAgICAgIGQ0LCBkNCwgZDAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAiYWRkICAgICAgICBkNCwgZDQsIGQxICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgImIu
Z3QgICAgICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCisgICAgImZtb3Yg
ICAgICAgJXczLCBzNCAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgIDogIityIihzcmNf
YSksCisgICAgICAiK3IiKHNyY19iKSwKKyAgICAgICIrciIoY291bnQpLAorICAgICAgIj1yIihk
aWZmKQorICAgIDoKKyAgICA6ICJjYyIsICJ2MCIsICJ2MSIsICJ2MiIsICJ2MyIsICJ2NCIpOwor
ICByZXR1cm4gZGlmZjsKK30KKwogdWludDMyIFN1bVNxdWFyZUVycm9yX05FT04oY29uc3QgdWlu
dDgqIHNyY19hLCBjb25zdCB1aW50OCogc3JjX2IsIGludCBjb3VudCkgewotICB2b2xhdGlsZSB1
aW50MzIgc3NlOworICB1aW50MzIgc3NlOwogICBhc20gdm9sYXRpbGUgKAogICAgICJlb3IgICAg
ICAgIHYxNi4xNmIsIHYxNi4xNmIsIHYxNi4xNmIgICAgICBcbiIKICAgICAiZW9yICAgICAgICB2
MTguMTZiLCB2MTguMTZiLCB2MTguMTZiICAgICAgXG4iCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29tcGFy
ZV93aW4uY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di9zb3VyY2UvY29tcGFyZV93aW4uY2MKaW5kZXggZGM4NmZlMjViMTlkZDkzYTRiMTFk
NDU5MGIzZjk0MTZkY2IwYmM0Yi4uNWNhNTkxNzhkYmM0NDNkNzUwZGU4ZTJhMzczNjcyOTMwZWJl
NTU3YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbXBhcmVfd2luLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jb21wYXJlX3dp
bi5jYwpAQCAtMTMsNiArMTMsMTAgQEAKICNpbmNsdWRlICJsaWJ5dXYvY29tcGFyZV9yb3cuaCIK
ICNpbmNsdWRlICJsaWJ5dXYvcm93LmgiCiAKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKQorI2luY2x1
ZGUgPGludHJpbi5oPiAgLy8gRm9yIF9fcG9wY250CisjZW5kaWYKKwogI2lmZGVmIF9fY3BsdXNw
bHVzCiBuYW1lc3BhY2UgbGlieXV2IHsKIGV4dGVybiAiQyIgewpAQCAtMjEsMTIgKzI1LDI1IEBA
IGV4dGVybiAiQyIgewogLy8gVGhpcyBtb2R1bGUgaXMgZm9yIDMyIGJpdCBWaXN1YWwgQyB4ODYg
YW5kIGNsYW5nY2wKICNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJMRV9YODYpICYmIGRlZmluZWQo
X01fSVg4NikKIAotX19kZWNsc3BlYyhuYWtlZCkKLXVpbnQzMiBTdW1TcXVhcmVFcnJvcl9TU0Uy
KGNvbnN0IHVpbnQ4KiBzcmNfYSwgY29uc3QgdWludDgqIHNyY19iLCBpbnQgY291bnQpIHsKK3Vp
bnQzMiBIYW1taW5nRGlzdGFuY2VfWDg2KGNvbnN0IHVpbnQ4KiBzcmNfYSwgY29uc3QgdWludDgq
IHNyY19iLCBpbnQgY291bnQpIHsKKyAgdWludDMyIGRpZmYgPSAwdTsKKworICBpbnQgaTsKKyAg
Zm9yIChpID0gMDsgaSA8IGNvdW50IC0gMzsgaSArPSA0KSB7CisgICAgdWludDMyIHggPSAqKCh1
aW50MzIqKXNyY19hKSBeICooKHVpbnQzMiopc3JjX2IpOworICAgIHNyY19hICs9IDQ7CisgICAg
c3JjX2IgKz0gNDsKKyAgICBkaWZmICs9IF9fcG9wY250KHgpOworICB9CisgIHJldHVybiBkaWZm
OworfQorCitfX2RlY2xzcGVjKG5ha2VkKSB1aW50MzIKKyAgICBTdW1TcXVhcmVFcnJvcl9TU0Uy
KGNvbnN0IHVpbnQ4KiBzcmNfYSwgY29uc3QgdWludDgqIHNyY19iLCBpbnQgY291bnQpIHsKICAg
X19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAgLy8gc3JjX2EKLSAgICBt
b3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAgIC8vIHNyY19iCi0gICAgbW92ICAgICAgICBlY3gs
IFtlc3AgKyAxMl0gICAvLyBjb3VudAorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8v
IHNyY19hCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgLy8gc3JjX2IKKyAgICBtb3Yg
ICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8gY291bnQKICAgICBweG9yICAgICAgIHhtbTAsIHht
bTAKICAgICBweG9yICAgICAgIHhtbTUsIHhtbTUKIApAQCAtNjEsMTMgKzc4LDEzIEBAIHVpbnQz
MiBTdW1TcXVhcmVFcnJvcl9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYSwgY29uc3QgdWludDgqIHNy
Y19iLCBpbnQgY291bnQpIHsKIC8vIFZpc3VhbCBDIDIwMTIgcmVxdWlyZWQgZm9yIEFWWDIuCiAj
aWYgX01TQ19WRVIgPj0gMTcwMAogLy8gQzQ3NTI6IGZvdW5kIEludGVsKFIpIEFkdmFuY2VkIFZl
Y3RvciBFeHRlbnNpb25zOyBjb25zaWRlciB1c2luZyAvYXJjaDpBVlguCi0jcHJhZ21hIHdhcm5p
bmcoZGlzYWJsZTogNDc1MikKLV9fZGVjbHNwZWMobmFrZWQpCi11aW50MzIgU3VtU3F1YXJlRXJy
b3JfQVZYMihjb25zdCB1aW50OCogc3JjX2EsIGNvbnN0IHVpbnQ4KiBzcmNfYiwgaW50IGNvdW50
KSB7CisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZSA6IDQ3NTIpCitfX2RlY2xzcGVjKG5ha2VkKSB1
aW50MzIKKyAgICBTdW1TcXVhcmVFcnJvcl9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYSwgY29uc3Qg
dWludDgqIHNyY19iLCBpbnQgY291bnQpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICAgZWF4
LCBbZXNwICsgNF0gICAgLy8gc3JjX2EKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAg
IC8vIHNyY19iCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gICAvLyBjb3VudAorICAg
IG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIHNyY19hCisgICAgbW92ICAgICAgICBlZHgs
IFtlc3AgKyA4XSAgLy8gc3JjX2IKKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8g
Y291bnQKICAgICB2cHhvciAgICAgIHltbTAsIHltbTAsIHltbTAgIC8vIHN1bQogICAgIHZweG9y
ICAgICAgeW1tNSwgeW1tNSwgeW1tNSAgLy8gY29uc3RhbnQgMCBmb3IgdW5wY2sKICAgICBzdWIg
ICAgICAgIGVkeCwgZWF4CkBAIC0xMDEsNjUgKzExOCw2NSBAQCB1aW50MzIgU3VtU3F1YXJlRXJy
b3JfQVZYMihjb25zdCB1aW50OCogc3JjX2EsIGNvbnN0IHVpbnQ4KiBzcmNfYiwgaW50IGNvdW50
KSB7CiB9CiAjZW5kaWYgIC8vIF9NU0NfVkVSID49IDE3MDAKIAotdXZlYzMyIGtIYXNoMTZ4MzMg
PSB7IDB4OTJkOWUyMDEsIDAsIDAsIDAgfTsgIC8vIDMzIF4gMTYKK3V2ZWMzMiBrSGFzaDE2eDMz
ID0gezB4OTJkOWUyMDEsIDAsIDAsIDB9OyAgLy8gMzMgXiAxNgogdXZlYzMyIGtIYXNoTXVsMCA9
IHsKLSAgMHgwYzM1MjVlMSwgIC8vIDMzIF4gMTUKLSAgMHhhMzQ3NmRjMSwgIC8vIDMzIF4gMTQK
LSAgMHgzYjQwMzlhMSwgIC8vIDMzIF4gMTMKLSAgMHg0ZjVmMDk4MSwgIC8vIDMzIF4gMTIKKyAg
ICAweDBjMzUyNWUxLCAgLy8gMzMgXiAxNQorICAgIDB4YTM0NzZkYzEsICAvLyAzMyBeIDE0Cisg
ICAgMHgzYjQwMzlhMSwgIC8vIDMzIF4gMTMKKyAgICAweDRmNWYwOTgxLCAgLy8gMzMgXiAxMgog
fTsKIHV2ZWMzMiBrSGFzaE11bDEgPSB7Ci0gIDB4MzBmMzVkNjEsICAvLyAzMyBeIDExCi0gIDB4
ODU1Y2I1NDEsICAvLyAzMyBeIDEwCi0gIDB4MDQwYTkxMjEsICAvLyAzMyBeIDkKLSAgMHg3NDdj
NzEwMSwgIC8vIDMzIF4gOAorICAgIDB4MzBmMzVkNjEsICAvLyAzMyBeIDExCisgICAgMHg4NTVj
YjU0MSwgIC8vIDMzIF4gMTAKKyAgICAweDA0MGE5MTIxLCAgLy8gMzMgXiA5CisgICAgMHg3NDdj
NzEwMSwgIC8vIDMzIF4gOAogfTsKIHV2ZWMzMiBrSGFzaE11bDIgPSB7Ci0gIDB4ZWM0MWQ0ZTEs
ICAvLyAzMyBeIDcKLSAgMHg0Y2ZhM2NjMSwgIC8vIDMzIF4gNgotICAweDAyNTUyOGExLCAgLy8g
MzMgXiA1Ci0gIDB4MDAxMjE4ODEsICAvLyAzMyBeIDQKKyAgICAweGVjNDFkNGUxLCAgLy8gMzMg
XiA3CisgICAgMHg0Y2ZhM2NjMSwgIC8vIDMzIF4gNgorICAgIDB4MDI1NTI4YTEsICAvLyAzMyBe
IDUKKyAgICAweDAwMTIxODgxLCAgLy8gMzMgXiA0CiB9OwogdXZlYzMyIGtIYXNoTXVsMyA9IHsK
LSAgMHgwMDAwOGM2MSwgIC8vIDMzIF4gMwotICAweDAwMDAwNDQxLCAgLy8gMzMgXiAyCi0gIDB4
MDAwMDAwMjEsICAvLyAzMyBeIDEKLSAgMHgwMDAwMDAwMSwgIC8vIDMzIF4gMAorICAgIDB4MDAw
MDhjNjEsICAvLyAzMyBeIDMKKyAgICAweDAwMDAwNDQxLCAgLy8gMzMgXiAyCisgICAgMHgwMDAw
MDAyMSwgIC8vIDMzIF4gMQorICAgIDB4MDAwMDAwMDEsICAvLyAzMyBeIDAKIH07CiAKLV9fZGVj
bHNwZWMobmFrZWQpCi11aW50MzIgSGFzaERqYjJfU1NFNDEoY29uc3QgdWludDgqIHNyYywgaW50
IGNvdW50LCB1aW50MzIgc2VlZCkgeworX19kZWNsc3BlYyhuYWtlZCkgdWludDMyCisgICAgSGFz
aERqYjJfU1NFNDEoY29uc3QgdWludDgqIHNyYywgaW50IGNvdW50LCB1aW50MzIgc2VlZCkgewog
ICBfX2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgICAvLyBzcmMKLSAgICBt
b3YgICAgICAgIGVjeCwgW2VzcCArIDhdICAgIC8vIGNvdW50CisgICAgbW92ICAgICAgICBlYXgs
IFtlc3AgKyA0XSAgLy8gc3JjCisgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA4XSAgLy8gY291
bnQKICAgICBtb3ZkICAgICAgIHhtbTAsIFtlc3AgKyAxMl0gIC8vIHNlZWQKIAotICAgIHB4b3Ig
ICAgICAgeG1tNywgeG1tNyAgICAgICAgLy8gY29uc3RhbnQgMCBmb3IgdW5wY2sKKyAgICBweG9y
ICAgICAgIHhtbTcsIHhtbTcgIC8vIGNvbnN0YW50IDAgZm9yIHVucGNrCiAgICAgbW92ZHFhICAg
ICB4bW02LCB4bW13b3JkIHB0ciBrSGFzaDE2eDMzCiAKICAgd2xvb3A6Ci0gICAgbW92ZHF1ICAg
ICB4bW0xLCBbZWF4XSAgICAgICAvLyBzcmNbMC0xNV0KKyAgICBtb3ZkcXUgICAgIHhtbTEsIFtl
YXhdICAvLyBzcmNbMC0xNV0KICAgICBsZWEgICAgICAgIGVheCwgW2VheCArIDE2XQotICAgIHBt
dWxsZCAgICAgeG1tMCwgeG1tNiAgICAgICAgLy8gaGFzaCAqPSAzMyBeIDE2CisgICAgcG11bGxk
ICAgICB4bW0wLCB4bW02ICAvLyBoYXNoICo9IDMzIF4gMTYKICAgICBtb3ZkcWEgICAgIHhtbTUs
IHhtbXdvcmQgcHRyIGtIYXNoTXVsMAogICAgIG1vdmRxYSAgICAgeG1tMiwgeG1tMQotICAgIHB1
bnBja2xidyAgeG1tMiwgeG1tNyAgICAgICAgLy8gc3JjWzAtN10KKyAgICBwdW5wY2tsYncgIHht
bTIsIHhtbTcgIC8vIHNyY1swLTddCiAgICAgbW92ZHFhICAgICB4bW0zLCB4bW0yCi0gICAgcHVu
cGNrbHdkICB4bW0zLCB4bW03ICAgICAgICAvLyBzcmNbMC0zXQorICAgIHB1bnBja2x3ZCAgeG1t
MywgeG1tNyAgLy8gc3JjWzAtM10KICAgICBwbXVsbGQgICAgIHhtbTMsIHhtbTUKICAgICBtb3Zk
cWEgICAgIHhtbTUsIHhtbXdvcmQgcHRyIGtIYXNoTXVsMQogICAgIG1vdmRxYSAgICAgeG1tNCwg
eG1tMgotICAgIHB1bnBja2h3ZCAgeG1tNCwgeG1tNyAgICAgICAgLy8gc3JjWzQtN10KKyAgICBw
dW5wY2tod2QgIHhtbTQsIHhtbTcgIC8vIHNyY1s0LTddCiAgICAgcG11bGxkICAgICB4bW00LCB4
bW01CiAgICAgbW92ZHFhICAgICB4bW01LCB4bW13b3JkIHB0ciBrSGFzaE11bDIKLSAgICBwdW5w
Y2toYncgIHhtbTEsIHhtbTcgICAgICAgIC8vIHNyY1s4LTE1XQorICAgIHB1bnBja2hidyAgeG1t
MSwgeG1tNyAgLy8gc3JjWzgtMTVdCiAgICAgbW92ZHFhICAgICB4bW0yLCB4bW0xCi0gICAgcHVu
cGNrbHdkICB4bW0yLCB4bW03ICAgICAgICAvLyBzcmNbOC0xMV0KKyAgICBwdW5wY2tsd2QgIHht
bTIsIHhtbTcgIC8vIHNyY1s4LTExXQogICAgIHBtdWxsZCAgICAgeG1tMiwgeG1tNQogICAgIG1v
dmRxYSAgICAgeG1tNSwgeG1td29yZCBwdHIga0hhc2hNdWwzCi0gICAgcHVucGNraHdkICB4bW0x
LCB4bW03ICAgICAgICAvLyBzcmNbMTItMTVdCisgICAgcHVucGNraHdkICB4bW0xLCB4bW03ICAv
LyBzcmNbMTItMTVdCiAgICAgcG11bGxkICAgICB4bW0xLCB4bW01Ci0gICAgcGFkZGQgICAgICB4
bW0zLCB4bW00ICAgICAgICAvLyBhZGQgMTYgcmVzdWx0cworICAgIHBhZGRkICAgICAgeG1tMywg
eG1tNCAgLy8gYWRkIDE2IHJlc3VsdHMKICAgICBwYWRkZCAgICAgIHhtbTEsIHhtbTIKICAgICBw
YWRkZCAgICAgIHhtbTEsIHhtbTMKIApAQCAtMTcxLDE4ICsxODgsMTggQEAgdWludDMyIEhhc2hE
amIyX1NTRTQxKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBjb3VudCwgdWludDMyIHNlZWQpIHsKICAg
ICBzdWIgICAgICAgIGVjeCwgMTYKICAgICBqZyAgICAgICAgIHdsb29wCiAKLSAgICBtb3ZkICAg
ICAgIGVheCwgeG1tMCAgICAgICAgIC8vIHJldHVybiBoYXNoCisgICAgbW92ZCAgICAgICBlYXgs
IHhtbTAgIC8vIHJldHVybiBoYXNoCiAgICAgcmV0CiAgIH0KIH0KIAogLy8gVmlzdWFsIEMgMjAx
MiByZXF1aXJlZCBmb3IgQVZYMi4KICNpZiBfTVNDX1ZFUiA+PSAxNzAwCi1fX2RlY2xzcGVjKG5h
a2VkKQotdWludDMyIEhhc2hEamIyX0FWWDIoY29uc3QgdWludDgqIHNyYywgaW50IGNvdW50LCB1
aW50MzIgc2VlZCkgeworX19kZWNsc3BlYyhuYWtlZCkgdWludDMyCisgICAgSGFzaERqYjJfQVZY
Mihjb25zdCB1aW50OCogc3JjLCBpbnQgY291bnQsIHVpbnQzMiBzZWVkKSB7CiAgIF9fYXNtIHsK
LSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgIC8vIHNyYwotICAgIG1vdiAgICAgICAg
ZWN4LCBbZXNwICsgOF0gICAgLy8gY291bnQKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRd
ICAvLyBzcmMKKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDhdICAvLyBjb3VudAogICAgIHZt
b3ZkICAgICAgeG1tMCwgW2VzcCArIDEyXSAgLy8gc2VlZAogCiAgIHdsb29wOgpAQCAtMTk2LDcg
KzIxMyw3IEBAIHVpbnQzMiBIYXNoRGpiMl9BVlgyKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBjb3Vu
dCwgdWludDMyIHNlZWQpIHsKICAgICB2cG11bGxkICAgIHhtbTIsIHhtbTIsIHhtbXdvcmQgcHRy
IGtIYXNoTXVsMgogICAgIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMTZdCiAgICAgdnBtdWxsZCAg
ICB4bW0xLCB4bW0xLCB4bW13b3JkIHB0ciBrSGFzaE11bDMKLSAgICB2cGFkZGQgICAgIHhtbTMs
IHhtbTMsIHhtbTQgICAgICAgIC8vIGFkZCAxNiByZXN1bHRzCisgICAgdnBhZGRkICAgICB4bW0z
LCB4bW0zLCB4bW00ICAvLyBhZGQgMTYgcmVzdWx0cwogICAgIHZwYWRkZCAgICAgeG1tMSwgeG1t
MSwgeG1tMgogICAgIHZwYWRkZCAgICAgeG1tMSwgeG1tMSwgeG1tMwogICAgIHZwc2h1ZmQgICAg
eG1tMiwgeG1tMSwgMHgwZSAgLy8gdXBwZXIgMiBkd29yZHMKQEAgLTIwNyw3ICsyMjQsNyBAQCB1
aW50MzIgSGFzaERqYjJfQVZYMihjb25zdCB1aW50OCogc3JjLCBpbnQgY291bnQsIHVpbnQzMiBz
ZWVkKSB7CiAgICAgc3ViICAgICAgICBlY3gsIDE2CiAgICAgamcgICAgICAgICB3bG9vcAogCi0g
ICAgdm1vdmQgICAgICBlYXgsIHhtbTAgICAgICAgICAvLyByZXR1cm4gaGFzaAorICAgIHZtb3Zk
ICAgICAgZWF4LCB4bW0wICAvLyByZXR1cm4gaGFzaAogICAgIHZ6ZXJvdXBwZXIKICAgICByZXQK
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbnZlcnQuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29udmVydC5jYwppbmRleCAw
NzdhZTkwYjZlZTE2MWU3MWMxMjhkOWM1OGJkYjRmZmY3ZTk2MzY5Li5kZmE4M2E1YTZkODY4MGRm
MWUwNjZiOGU0MzM5ZDUyN2IzZTI5OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29udmVydC5jYworKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9z
b3VyY2UvY29udmVydC5jYwpAQCAtMTQsOCArMTQsOCBAQAogI2luY2x1ZGUgImxpYnl1di9jcHVf
aWQuaCIKICNpbmNsdWRlICJsaWJ5dXYvcGxhbmFyX2Z1bmN0aW9ucy5oIgogI2luY2x1ZGUgImxp
Ynl1di9yb3RhdGUuaCIKLSNpbmNsdWRlICJsaWJ5dXYvc2NhbGUuaCIgIC8vIEZvciBTY2FsZVBs
YW5lKCkKICNpbmNsdWRlICJsaWJ5dXYvcm93LmgiCisjaW5jbHVkZSAibGlieXV2L3NjYWxlLmgi
ICAvLyBGb3IgU2NhbGVQbGFuZSgpCiAKICNpZmRlZiBfX2NwbHVzcGx1cwogbmFtZXNwYWNlIGxp
Ynl1diB7CkBAIC0yOCwxNCArMjgsMjIgQEAgc3RhdGljIF9faW5saW5lIGludCBBYnMoaW50IHYp
IHsKIH0KIAogLy8gQW55IEk0eHggVG8gSTQyMCBmb3JtYXQgd2l0aCBtaXJyb3JpbmcuCi1zdGF0
aWMgaW50IEk0eHhUb0k0MjAoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAot
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVf
dSwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3Ry
aWRlX3YsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlk
ZV95LAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVf
dSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3Ys
Ci0gICAgICAgICAgICAgICAgICAgICAgaW50IHNyY195X3dpZHRoLCBpbnQgc3JjX3lfaGVpZ2h0
LAotICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfdXZfd2lkdGgsIGludCBzcmNfdXZfaGVp
Z2h0KSB7CitzdGF0aWMgaW50IEk0eHhUb0k0MjAoY29uc3QgdWludDgqIHNyY195LAorICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3UsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF95LAorICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY195X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfeV9oZWln
aHQsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY191dl93aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3V2X2hlaWdodCkgewogICBjb25zdCBpbnQgZHN0X3lfd2lkdGgg
PSBBYnMoc3JjX3lfd2lkdGgpOwogICBjb25zdCBpbnQgZHN0X3lfaGVpZ2h0ID0gQWJzKHNyY195
X2hlaWdodCk7CiAgIGNvbnN0IGludCBkc3RfdXZfd2lkdGggPSBTVUJTQU1QTEUoZHN0X3lfd2lk
dGgsIDEsIDEpOwpAQCAtNDQsMTYgKzUyLDEzIEBAIHN0YXRpYyBpbnQgSTR4eFRvSTQyMChjb25z
dCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAgICAgcmV0dXJuIC0xOwogICB9CiAg
IGlmIChkc3RfeSkgewotICAgIFNjYWxlUGxhbmUoc3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3lf
d2lkdGgsIHNyY195X2hlaWdodCwKLSAgICAgICAgICAgICAgIGRzdF95LCBkc3Rfc3RyaWRlX3ks
IGRzdF95X3dpZHRoLCBkc3RfeV9oZWlnaHQsCi0gICAgICAgICAgICAgICBrRmlsdGVyQmlsaW5l
YXIpOwotICB9Ci0gIFNjYWxlUGxhbmUoc3JjX3UsIHNyY19zdHJpZGVfdSwgc3JjX3V2X3dpZHRo
LCBzcmNfdXZfaGVpZ2h0LAotICAgICAgICAgICAgIGRzdF91LCBkc3Rfc3RyaWRlX3UsIGRzdF91
dl93aWR0aCwgZHN0X3V2X2hlaWdodCwKLSAgICAgICAgICAgICBrRmlsdGVyQmlsaW5lYXIpOwot
ICBTY2FsZVBsYW5lKHNyY192LCBzcmNfc3RyaWRlX3YsIHNyY191dl93aWR0aCwgc3JjX3V2X2hl
aWdodCwKLSAgICAgICAgICAgICBkc3RfdiwgZHN0X3N0cmlkZV92LCBkc3RfdXZfd2lkdGgsIGRz
dF91dl9oZWlnaHQsCi0gICAgICAgICAgICAga0ZpbHRlckJpbGluZWFyKTsKKyAgICBTY2FsZVBs
YW5lKHNyY195LCBzcmNfc3RyaWRlX3ksIHNyY195X3dpZHRoLCBzcmNfeV9oZWlnaHQsIGRzdF95
LAorICAgICAgICAgICAgICAgZHN0X3N0cmlkZV95LCBkc3RfeV93aWR0aCwgZHN0X3lfaGVpZ2h0
LCBrRmlsdGVyQmlsaW5lYXIpOworICB9CisgIFNjYWxlUGxhbmUoc3JjX3UsIHNyY19zdHJpZGVf
dSwgc3JjX3V2X3dpZHRoLCBzcmNfdXZfaGVpZ2h0LCBkc3RfdSwKKyAgICAgICAgICAgICBkc3Rf
c3RyaWRlX3UsIGRzdF91dl93aWR0aCwgZHN0X3V2X2hlaWdodCwga0ZpbHRlckJpbGluZWFyKTsK
KyAgU2NhbGVQbGFuZShzcmNfdiwgc3JjX3N0cmlkZV92LCBzcmNfdXZfd2lkdGgsIHNyY191dl9o
ZWlnaHQsIGRzdF92LAorICAgICAgICAgICAgIGRzdF9zdHJpZGVfdiwgZHN0X3V2X3dpZHRoLCBk
c3RfdXZfaGVpZ2h0LCBrRmlsdGVyQmlsaW5lYXIpOwogICByZXR1cm4gMDsKIH0KIApAQCAtNjEs
MTggKzY2LDIzIEBAIHN0YXRpYyBpbnQgSTR4eFRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksIGlu
dCBzcmNfc3RyaWRlX3ksCiAvLyBUT0RPKGZiYXJjaGFyZCk6IFVzZSBTY2FsZSBwbGFuZSB3aGlj
aCBzdXBwb3J0cyBtaXJyb3JpbmcsIGJ1dCBlbnN1cmUKIC8vIGlzIGRvZXMgcm93IGNvYWxlc2Np
bmcuCiBMSUJZVVZfQVBJCi1pbnQgSTQyMENvcHkoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3Jj
X3N0cmlkZV95LAotICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJp
ZGVfdSwKLSAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3Ys
Ci0gICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICB1aW50OCog
ZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0KSB7CitpbnQgSTQyMENvcHkoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LAorICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgdWludDgqIGRz
dF95LAorICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgdWludDgq
IGRzdF91LAorICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAg
aW50IHdpZHRoLAorICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IGhhbGZ3aWR0aCA9
ICh3aWR0aCArIDEpID4+IDE7CiAgIGludCBoYWxmaGVpZ2h0ID0gKGhlaWdodCArIDEpID4+IDE7
Ci0gIGlmICghc3JjX3UgfHwgIXNyY192IHx8Ci0gICAgICAhZHN0X3UgfHwgIWRzdF92IHx8Ci0g
ICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3JjX3UgfHwgIXNyY192
IHx8ICFkc3RfdSB8fCAhZHN0X3YgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAg
IHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBp
bWFnZS4KQEAgLTk5LDU1ICsxMDksNjMgQEAgaW50IEk0MjBDb3B5KGNvbnN0IHVpbnQ4KiBzcmNf
eSwgaW50IHNyY19zdHJpZGVfeSwKIC8vIDQyMiBjaHJvbWEgaXMgMS8yIHdpZHRoLCAxeCBoZWln
aHQKIC8vIDQyMCBjaHJvbWEgaXMgMS8yIHdpZHRoLCAxLzIgaGVpZ2h0CiBMSUJZVVZfQVBJCi1p
bnQgSTQyMlRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAg
ICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3Ys
IGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
IHsKK2ludCBJNDIyVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfdiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWln
aHQpIHsKICAgY29uc3QgaW50IHNyY191dl93aWR0aCA9IFNVQlNBTVBMRSh3aWR0aCwgMSwgMSk7
Ci0gIHJldHVybiBJNHh4VG9JNDIwKHNyY195LCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAg
ICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgIHNyY192LCBz
cmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgIGRzdF95LCBkc3Rfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICAgICAgIGRzdF91LCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAg
ICAgIGRzdF92LCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWln
aHQsCi0gICAgICAgICAgICAgICAgICAgIHNyY191dl93aWR0aCwgaGVpZ2h0KTsKKyAgcmV0dXJu
IEk0eHhUb0k0MjAoc3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3UsIHNyY19zdHJpZGVfdSwgc3Jj
X3YsCisgICAgICAgICAgICAgICAgICAgIHNyY19zdHJpZGVfdiwgZHN0X3ksIGRzdF9zdHJpZGVf
eSwgZHN0X3UsIGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgICAgZHN0X3YsIGRzdF9z
dHJpZGVfdiwgd2lkdGgsIGhlaWdodCwgc3JjX3V2X3dpZHRoLCBoZWlnaHQpOwogfQogCiAvLyA0
NDQgY2hyb21hIGlzIDF4IHdpZHRoLCAxeCBoZWlnaHQKIC8vIDQyMCBjaHJvbWEgaXMgMS8yIHdp
ZHRoLCAxLzIgaGVpZ2h0CiBMSUJZVVZfQVBJCi1pbnQgSTQ0NFRvSTQyMChjb25zdCB1aW50OCog
c3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Ys
IGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rf
c3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3Us
Ci0gICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAg
ICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKLSAgcmV0dXJuIEk0eHhUb0k0MjAoc3Jj
X3ksIHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVf
dSwKLSAgICAgICAgICAgICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAg
ICAgICAgICAgZHN0X3ksIGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgZHN0X3Us
IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgZHN0X3YsIGRzdF9zdHJpZGVfdiwK
LSAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCwKLSAgICAgICAgICAgICAgICAgICAg
d2lkdGgsIGhlaWdodCk7CitpbnQgSTQ0NFRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksCisgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlk
ZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgaW50IGRz
dF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAg
IGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAg
ICAgICBpbnQgaGVpZ2h0KSB7CisgIHJldHVybiBJNHh4VG9JNDIwKHNyY195LCBzcmNfc3RyaWRl
X3ksIHNyY191LCBzcmNfc3RyaWRlX3UsIHNyY192LAorICAgICAgICAgICAgICAgICAgICBzcmNf
c3RyaWRlX3YsIGRzdF95LCBkc3Rfc3RyaWRlX3ksIGRzdF91LCBkc3Rfc3RyaWRlX3UsCisgICAg
ICAgICAgICAgICAgICAgIGRzdF92LCBkc3Rfc3RyaWRlX3YsIHdpZHRoLCBoZWlnaHQsIHdpZHRo
LCBoZWlnaHQpOwogfQogCiAvLyBJNDAwIGlzIGdyZXlzY2FsZSB0eXBpY2FsbHkgdXNlZCBpbiBN
SlBHCiBMSUJZVVZfQVBJCi1pbnQgSTQwMFRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksIGludCBz
cmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRl
X3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAg
ICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAg
ICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBJNDAwVG9JNDIwKGNvbnN0IHVpbnQ4KiBz
cmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1
aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X3YsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0
KSB7CiAgIGludCBoYWxmd2lkdGggPSAod2lkdGggKyAxKSA+PiAxOwogICBpbnQgaGFsZmhlaWdo
dCA9IChoZWlnaHQgKyAxKSA+PiAxOwotICBpZiAoIWRzdF91IHx8ICFkc3RfdiB8fAotICAgICAg
d2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAoIWRzdF91IHx8ICFkc3RfdiB8fCB3
aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5l
Z2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMTY1LDkgKzE4MywxMyBA
QCBpbnQgSTQwMFRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAg
IHJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBDb3B5UGxhbmUyKGNvbnN0IHVpbnQ4KiBzcmMs
IGludCBzcmNfc3RyaWRlXzAsIGludCBzcmNfc3RyaWRlXzEsCi0gICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK3N0YXRpYyB2b2lkIENvcHlQbGFuZTIoY29uc3QgdWlu
dDgqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfMCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfMSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
aW50IGhlaWdodCkgewogICBpbnQgeTsKICAgdm9pZCAoKkNvcHlSb3cpKGNvbnN0IHVpbnQ4KiBz
cmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgPSBDb3B5Um93X0M7CiAjaWYgZGVmaW5lZChIQVNf
Q09QWVJPV19TU0UyKQpAQCAtMjE4LDE2ICsyNDAsMjEgQEAgc3RhdGljIHZvaWQgQ29weVBsYW5l
Mihjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZV8wLCBpbnQgc3JjX3N0cmlkZV8xLAog
Ly8gICBUaGUgVVYgcGxhbmUgaXMgaGFsZiB3aWR0aCwgYnV0IDIgdmFsdWVzLCBzbyBzcmNfc3Ry
aWRlX200MjAgYXBwbGllcyB0bwogLy8gICB0aGlzIGFzIHdlbGwgYXMgdGhlIHR3byBZIHBsYW5l
cy4KIHN0YXRpYyBpbnQgWDQyMFRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksCi0gICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeTAsIGludCBzcmNfc3RyaWRlX3kxLAotICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdXYsIGludCBzcmNfc3RyaWRlX3V2LAot
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3kwLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3kxLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdXYsCisg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdXYsCisgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X3ksCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF92LAorICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQp
IHsKICAgaW50IGhhbGZ3aWR0aCA9ICh3aWR0aCArIDEpID4+IDE7CiAgIGludCBoYWxmaGVpZ2h0
ID0gKGhlaWdodCArIDEpID4+IDE7Ci0gIGlmICghc3JjX3V2IHx8ICFkc3RfdSB8fCAhZHN0X3Yg
fHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgaWYgKCFzcmNfdXYgfHwg
IWRzdF91IHx8ICFkc3RfdiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0
dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdl
LgpAQCAtMjQ0LDE2ICsyNzEsMTQgQEAgc3RhdGljIGludCBYNDIwVG9JNDIwKGNvbnN0IHVpbnQ4
KiBzcmNfeSwKICAgICBkc3Rfc3RyaWRlX3YgPSAtZHN0X3N0cmlkZV92OwogICB9CiAgIC8vIENv
YWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX3kwID09IHdpZHRoICYmCi0gICAgICBzcmNf
c3RyaWRlX3kxID09IHdpZHRoICYmCisgIGlmIChzcmNfc3RyaWRlX3kwID09IHdpZHRoICYmIHNy
Y19zdHJpZGVfeTEgPT0gd2lkdGggJiYKICAgICAgIGRzdF9zdHJpZGVfeSA9PSB3aWR0aCkgewog
ICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfeTAg
PSBzcmNfc3RyaWRlX3kxID0gZHN0X3N0cmlkZV95ID0gMDsKICAgfQogICAvLyBDb2FsZXNjZSBy
b3dzLgotICBpZiAoc3JjX3N0cmlkZV91diA9PSBoYWxmd2lkdGggKiAyICYmCi0gICAgICBkc3Rf
c3RyaWRlX3UgPT0gaGFsZndpZHRoICYmCisgIGlmIChzcmNfc3RyaWRlX3V2ID09IGhhbGZ3aWR0
aCAqIDIgJiYgZHN0X3N0cmlkZV91ID09IGhhbGZ3aWR0aCAmJgogICAgICAgZHN0X3N0cmlkZV92
ID09IGhhbGZ3aWR0aCkgewogICAgIGhhbGZ3aWR0aCAqPSBoYWxmaGVpZ2h0OwogICAgIGhhbGZo
ZWlnaHQgPSAxOwpAQCAtMjc4LDYzICszMDMsNzcgQEAgc3RhdGljIGludCBYNDIwVG9JNDIwKGNv
bnN0IHVpbnQ4KiBzcmNfeSwKIAogLy8gQ29udmVydCBOVjEyIHRvIEk0MjAuCiBMSUJZVVZfQVBJ
Ci1pbnQgTlYxMlRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3V2LCBpbnQgc3JjX3N0cmlkZV91diwKLSAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50
IGhlaWdodCkgewotICByZXR1cm4gWDQyMFRvSTQyMChzcmNfeSwgc3JjX3N0cmlkZV95LCBzcmNf
c3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgIHNyY191diwgc3JjX3N0cmlkZV91diwKLSAg
ICAgICAgICAgICAgICAgICAgZHN0X3ksIGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAg
ICAgZHN0X3UsIGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgZHN0X3YsIGRzdF9z
dHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CitpbnQgTlYxMlRv
STQyMChjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95
LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3V2LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50OCogZHN0
X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgaW50
IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgeworICByZXR1cm4gWDQyMFRvSTQy
MChzcmNfeSwgc3JjX3N0cmlkZV95LCBzcmNfc3RyaWRlX3ksIHNyY191diwgc3JjX3N0cmlkZV91
diwKKyAgICAgICAgICAgICAgICAgICAgZHN0X3ksIGRzdF9zdHJpZGVfeSwgZHN0X3UsIGRzdF9z
dHJpZGVfdSwgZHN0X3YsCisgICAgICAgICAgICAgICAgICAgIGRzdF9zdHJpZGVfdiwgd2lkdGgs
IGhlaWdodCk7CiB9CiAKIC8vIENvbnZlcnQgTlYyMSB0byBJNDIwLiAgU2FtZSBhcyBOVjEyIGJ1
dCB1IGFuZCB2IHBvaW50ZXJzIHN3YXBwZWQuCiBMSUJZVVZfQVBJCi1pbnQgTlYyMVRvSTQyMChj
b25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3Z1LCBpbnQgc3JjX3N0cmlkZV92dSwKLSAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwg
aW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9z
dHJpZGVfdiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICByZXR1
cm4gWDQyMFRvSTQyMChzcmNfeSwgc3JjX3N0cmlkZV95LCBzcmNfc3RyaWRlX3ksCi0gICAgICAg
ICAgICAgICAgICAgIHNyY192dSwgc3JjX3N0cmlkZV92dSwKLSAgICAgICAgICAgICAgICAgICAg
ZHN0X3ksIGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgZHN0X3YsIGRzdF9zdHJp
ZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgZHN0X3UsIGRzdF9zdHJpZGVfdSwKLSAgICAgICAg
ICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CitpbnQgTlYyMVRvSTQyMChjb25zdCB1aW50OCog
c3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY192dSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3Z1LAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAg
ICAgICAgaW50IGhlaWdodCkgeworICByZXR1cm4gWDQyMFRvSTQyMChzcmNfeSwgc3JjX3N0cmlk
ZV95LCBzcmNfc3RyaWRlX3ksIHNyY192dSwgc3JjX3N0cmlkZV92dSwKKyAgICAgICAgICAgICAg
ICAgICAgZHN0X3ksIGRzdF9zdHJpZGVfeSwgZHN0X3YsIGRzdF9zdHJpZGVfdiwgZHN0X3UsCisg
ICAgICAgICAgICAgICAgICAgIGRzdF9zdHJpZGVfdSwgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8v
IENvbnZlcnQgTTQyMCB0byBJNDIwLgogTElCWVVWX0FQSQotaW50IE00MjBUb0k0MjAoY29uc3Qg
dWludDgqIHNyY19tNDIwLCBpbnQgc3JjX3N0cmlkZV9tNDIwLAotICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91
LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0
X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQg
TTQyMFRvSTQyMChjb25zdCB1aW50OCogc3JjX200MjAsCisgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV9tNDIwLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3Ys
CisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICByZXR1cm4gWDQyMFRvSTQyMChz
cmNfbTQyMCwgc3JjX3N0cmlkZV9tNDIwLCBzcmNfc3RyaWRlX200MjAgKiAyLAotICAgICAgICAg
ICAgICAgICAgICBzcmNfbTQyMCArIHNyY19zdHJpZGVfbTQyMCAqIDIsIHNyY19zdHJpZGVfbTQy
MCAqIDMsCi0gICAgICAgICAgICAgICAgICAgIGRzdF95LCBkc3Rfc3RyaWRlX3ksCi0gICAgICAg
ICAgICAgICAgICAgIGRzdF91LCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgIGRz
dF92LCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICAgIHNyY19tNDIwICsgc3JjX3N0
cmlkZV9tNDIwICogMiwgc3JjX3N0cmlkZV9tNDIwICogMywgZHN0X3ksCisgICAgICAgICAgICAg
ICAgICAgIGRzdF9zdHJpZGVfeSwgZHN0X3UsIGRzdF9zdHJpZGVfdSwgZHN0X3YsIGRzdF9zdHJp
ZGVfdiwKICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8vIENvbnZl
cnQgWVVZMiB0byBJNDIwLgogTElCWVVWX0FQSQotaW50IFlVWTJUb0k0MjAoY29uc3QgdWludDgq
IHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95dXkyLAotICAgICAgICAgICAgICAgdWludDgqIGRz
dF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQg
ZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlk
ZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgWVVZMlRv
STQyMChjb25zdCB1aW50OCogc3JjX3l1eTIsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV95dXkyLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50
IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAor
ICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKLSAgdm9pZCAoKllVWTJUb1VW
Um93KShjb25zdCB1aW50OCogc3JjX3l1eTIsIGludCBzcmNfc3RyaWRlX3l1eTIsCi0gICAgICB1
aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IFlVWTJUb1VWUm93X0M7Ci0g
IHZvaWQgKCpZVVkyVG9ZUm93KShjb25zdCB1aW50OCogc3JjX3l1eTIsCi0gICAgICB1aW50OCog
ZHN0X3ksIGludCB3aWR0aCkgPSBZVVkyVG9ZUm93X0M7CisgIHZvaWQgKCpZVVkyVG9VVlJvdyko
Y29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95dXkyLCB1aW50OCogZHN0X3Us
CisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpID0gWVVZMlRv
VVZSb3dfQzsKKyAgdm9pZCAoKllVWTJUb1lSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgdWlu
dDgqIGRzdF95LCBpbnQgd2lkdGgpID0KKyAgICAgIFlVWTJUb1lSb3dfQzsKICAgLy8gTmVnYXRp
dmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCiAgIGlmIChoZWlnaHQgPCAwKSB7CiAg
ICAgaGVpZ2h0ID0gLWhlaWdodDsKQEAgLTQwMCwxNiArNDM5LDIxIEBAIGludCBZVVkyVG9JNDIw
KGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHNyY19zdHJpZGVfeXV5MiwKIAogLy8gQ29udmVy
dCBVWVZZIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1pbnQgVVlWWVRvSTQyMChjb25zdCB1aW50OCog
c3JjX3V5dnksIGludCBzcmNfc3RyaWRlX3V5dnksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0
X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBk
c3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRl
X3YsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBVWVZZVG9J
NDIwKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3V5dnksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotICB2b2lkICgqVVlWWVRvVVZS
b3cpKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgaW50IHNyY19zdHJpZGVfdXl2eSwKLSAgICAgIHVp
bnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpID0gVVlWWVRvVVZSb3dfQzsKLSAg
dm9pZCAoKlVZVllUb1lSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKLSAgICAgIHVpbnQ4KiBk
c3RfeSwgaW50IHdpZHRoKSA9IFVZVllUb1lSb3dfQzsKKyAgdm9pZCAoKlVZVllUb1VWUm93KShj
b25zdCB1aW50OCogc3JjX3V5dnksIGludCBzcmNfc3RyaWRlX3V5dnksIHVpbnQ4KiBkc3RfdSwK
KyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBVWVZZVG9V
VlJvd19DOworICB2b2lkICgqVVlWWVRvWVJvdykoY29uc3QgdWludDgqIHNyY191eXZ5LCB1aW50
OCogZHN0X3ksIGludCB3aWR0aCkgPQorICAgICAgVVlWWVRvWVJvd19DOwogICAvLyBOZWdhdGl2
ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KICAgaWYgKGhlaWdodCA8IDApIHsKICAg
ICBoZWlnaHQgPSAtaGVpZ2h0OwpAQCAtNDc1LDE5ICs1MTksMjIgQEAgaW50IFVZVllUb0k0MjAo
Y29uc3QgdWludDgqIHNyY191eXZ5LCBpbnQgc3JjX3N0cmlkZV91eXZ5LAogCiAvLyBDb252ZXJ0
IEFSR0IgdG8gSTQyMC4KIExJQllVVl9BUEkKLWludCBBUkdCVG9JNDIwKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
eSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRz
dF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVf
diwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IEFSR0JUb0k0
MjAoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
YXJnYiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7Ci0gIHZvaWQgKCpBUkdCVG9VVlJv
dykoY29uc3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgIHVp
bnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpID0gQVJHQlRvVVZSb3dfQzsKKyAg
dm9pZCAoKkFSR0JUb1VWUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlk
ZV9hcmdiLCB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92
LCBpbnQgd2lkdGgpID0gQVJHQlRvVVZSb3dfQzsKICAgdm9pZCAoKkFSR0JUb1lSb3cpKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpID0KICAgICAgIEFSR0JU
b1lSb3dfQzsKLSAgaWYgKCFzcmNfYXJnYiB8fAotICAgICAgIWRzdF95IHx8ICFkc3RfdSB8fCAh
ZHN0X3YgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgaWYgKCFzcmNf
YXJnYiB8fCAhZHN0X3kgfHwgIWRzdF91IHx8ICFkc3RfdiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdo
dCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFu
cyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtNTMyLDYgKzU3OSwxNCBAQCBpbnQgQVJHQlRvSTQyMChj
b25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgfQogICB9CiAj
ZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BUkdCVE9ZUk9XX0RTUFIyKQorICBpZiAoVGVzdENwdUZs
YWcoa0NwdUhhc0RTUFIyKSkgeworICAgIEFSR0JUb1lSb3cgPSBBUkdCVG9ZUm93X0FueV9EU1BS
MjsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIEFSR0JUb1lSb3cgPSBB
UkdCVG9ZUm93X0RTUFIyOworICAgIH0KKyAgfQorI2VuZGlmCiAjaWYgZGVmaW5lZChIQVNfQVJH
QlRPWVJPV19NU0EpCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgewogICAgIEFSR0JU
b1lSb3cgPSBBUkdCVG9ZUm93X0FueV9NU0E7CkBAIC01NDAsNiArNTk1LDE0IEBAIGludCBBUkdC
VG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICB9
CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0JUT1VWUk9XX0RTUFIyKQorICBpZiAo
VGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKSkgeworICAgIEFSR0JUb1VWUm93ID0gQVJHQlRvVVZS
b3dfQW55X0RTUFIyOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCAxNikpIHsKKyAgICAgIEFS
R0JUb1VWUm93ID0gQVJHQlRvVVZSb3dfRFNQUjI7CisgICAgfQorICB9CisjZW5kaWYKICNpZiBk
ZWZpbmVkKEhBU19BUkdCVE9VVlJPV19NU0EpCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNB
KSkgewogICAgIEFSR0JUb1VWUm93ID0gQVJHQlRvVVZSb3dfQW55X01TQTsKQEAgLTU2NywxOSAr
NjMwLDIyIEBAIGludCBBUkdCVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19z
dHJpZGVfYXJnYiwKIAogLy8gQ29udmVydCBCR1JBIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1pbnQg
QkdSQVRvSTQyMChjb25zdCB1aW50OCogc3JjX2JncmEsIGludCBzcmNfc3RyaWRlX2JncmEsCi0g
ICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAg
ICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpIHsKK2ludCBCR1JBVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwKKyAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlX2JncmEsCisgICAgICAgICAgICAgICB1aW50OCogZHN0
X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF91LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGlu
dCB5OwotICB2b2lkICgqQkdSQVRvVVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYTAsIGludCBz
cmNfc3RyaWRlX2JncmEsCi0gICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdp
ZHRoKSA9IEJHUkFUb1VWUm93X0M7CisgIHZvaWQgKCpCR1JBVG9VVlJvdykoY29uc3QgdWludDgq
IHNyY19iZ3JhMCwgaW50IHNyY19zdHJpZGVfYmdyYSwgdWludDgqIGRzdF91LAorICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IEJHUkFUb1VWUm93X0M7CiAg
IHZvaWQgKCpCR1JBVG9ZUm93KShjb25zdCB1aW50OCogc3JjX2JncmEsIHVpbnQ4KiBkc3RfeSwg
aW50IHdpZHRoKSA9CiAgICAgICBCR1JBVG9ZUm93X0M7Ci0gIGlmICghc3JjX2JncmEgfHwKLSAg
ICAgICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRzdF92IHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhl
aWdodCA9PSAwKSB7CisgIGlmICghc3JjX2JncmEgfHwgIWRzdF95IHx8ICFkc3RfdSB8fCAhZHN0
X3YgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQog
ICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTYwNywxMiAr
NjczLDQ0IEBAIGludCBCR1JBVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwgaW50IHNyY19z
dHJpZGVfYmdyYSwKICAgfQogI2VuZGlmCiAjaWYgZGVmaW5lZChIQVNfQkdSQVRPVVZST1dfTkVP
TikKLSAgICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc05FT04pKSB7Ci0gICAgICBCR1JBVG9VVlJv
dyA9IEJHUkFUb1VWUm93X0FueV9ORU9OOwotICAgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2
KSkgewotICAgICAgICBCR1JBVG9VVlJvdyA9IEJHUkFUb1VWUm93X05FT047Ci0gICAgICB9Cisg
IGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTkVPTikpIHsKKyAgICBCR1JBVG9VVlJvdyA9IEJHUkFU
b1VWUm93X0FueV9ORU9OOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCAxNikpIHsKKyAgICAg
IEJHUkFUb1VWUm93ID0gQkdSQVRvVVZSb3dfTkVPTjsKKyAgICB9CisgIH0KKyNlbmRpZgorI2lm
IGRlZmluZWQoSEFTX0JHUkFUT1lST1dfRFNQUjIpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFz
RFNQUjIpKSB7CisgICAgQkdSQVRvWVJvdyA9IEJHUkFUb1lSb3dfQW55X0RTUFIyOworICAgIGlm
IChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgQkdSQVRvWVJvdyA9IEJHUkFUb1lSb3df
RFNQUjI7CisgICAgfQorICB9CisjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19CR1JBVE9VVlJPV19E
U1BSMikKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikpIHsKKyAgICBCR1JBVG9VVlJv
dyA9IEJHUkFUb1VWUm93X0FueV9EU1BSMjsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYp
KSB7CisgICAgICBCR1JBVG9VVlJvdyA9IEJHUkFUb1VWUm93X0RTUFIyOworICAgIH0KKyAgfQor
I2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQkdSQVRPWVJPV19NU0EpCisgIGlmIChUZXN0Q3B1Rmxh
ZyhrQ3B1SGFzTVNBKSkgeworICAgIEJHUkFUb1lSb3cgPSBCR1JBVG9ZUm93X0FueV9NU0E7Cisg
ICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkgeworICAgICAgQkdSQVRvWVJvdyA9IEJHUkFU
b1lSb3dfTVNBOwogICAgIH0KKyAgfQorI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQkdSQVRPVVZS
T1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBCR1JBVG9VVlJv
dyA9IEJHUkFUb1VWUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkg
eworICAgICAgQkdSQVRvVVZSb3cgPSBCR1JBVG9VVlJvd19NU0E7CisgICAgfQorICB9CiAjZW5k
aWYKIAogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0IC0gMTsgeSArPSAyKSB7CkBAIC02MzMsMTkg
KzczMSwyMiBAQCBpbnQgQkdSQVRvSTQyMChjb25zdCB1aW50OCogc3JjX2JncmEsIGludCBzcmNf
c3RyaWRlX2JncmEsCiAKIC8vIENvbnZlcnQgQUJHUiB0byBJNDIwLgogTElCWVVWX0FQSQotaW50
IEFCR1JUb0k0MjAoY29uc3QgdWludDgqIHNyY19hYmdyLCBpbnQgc3JjX3N0cmlkZV9hYmdyLAot
ICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KSB7CitpbnQgQUJHUlRvSTQyMChjb25zdCB1aW50OCogc3JjX2FiZ3IsCisgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hYmdyLAorICAgICAgICAgICAgICAgdWludDgqIGRz
dF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAg
ICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBp
bnQgeTsKLSAgdm9pZCAoKkFCR1JUb1VWUm93KShjb25zdCB1aW50OCogc3JjX2FiZ3IwLCBpbnQg
c3JjX3N0cmlkZV9hYmdyLAotICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3
aWR0aCkgPSBBQkdSVG9VVlJvd19DOworICB2b2lkICgqQUJHUlRvVVZSb3cpKGNvbnN0IHVpbnQ4
KiBzcmNfYWJncjAsIGludCBzcmNfc3RyaWRlX2FiZ3IsIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBBQkdSVG9VVlJvd19DOwog
ICB2b2lkICgqQUJHUlRvWVJvdykoY29uc3QgdWludDgqIHNyY19hYmdyLCB1aW50OCogZHN0X3ks
IGludCB3aWR0aCkgPQogICAgICAgQUJHUlRvWVJvd19DOwotICBpZiAoIXNyY19hYmdyIHx8Ci0g
ICAgICAhZHN0X3kgfHwgIWRzdF91IHx8ICFkc3RfdiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBo
ZWlnaHQgPT0gMCkgeworICBpZiAoIXNyY19hYmdyIHx8ICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRz
dF92IHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0K
ICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC02ODAsNiAr
NzgxLDM4IEBAIGludCBBQkdSVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfYWJnciwgaW50IHNyY19z
dHJpZGVfYWJnciwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FCR1JUT1lS
T1dfRFNQUjIpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpKSB7CisgICAgQUJHUlRv
WVJvdyA9IEFCR1JUb1lSb3dfQW55X0RTUFIyOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4
KSkgeworICAgICAgQUJHUlRvWVJvdyA9IEFCR1JUb1lSb3dfRFNQUjI7CisgICAgfQorICB9Cisj
ZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BQkdSVE9VVlJPV19EU1BSMikKKyAgaWYgKFRlc3RDcHVG
bGFnKGtDcHVIYXNEU1BSMikpIHsKKyAgICBBQkdSVG9VVlJvdyA9IEFCR1JUb1VWUm93X0FueV9E
U1BSMjsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBBQkdSVG9VVlJv
dyA9IEFCR1JUb1VWUm93X0RTUFIyOworICAgIH0KKyAgfQorI2VuZGlmCisjaWYgZGVmaW5lZChI
QVNfQUJHUlRPWVJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAg
IEFCR1JUb1lSb3cgPSBBQkdSVG9ZUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lk
dGgsIDE2KSkgeworICAgICAgQUJHUlRvWVJvdyA9IEFCR1JUb1lSb3dfTVNBOworICAgIH0KKyAg
fQorI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQUJHUlRPVVZST1dfTVNBKQorICBpZiAoVGVzdENw
dUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBBQkdSVG9VVlJvdyA9IEFCR1JUb1VWUm93X0FueV9N
U0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkgeworICAgICAgQUJHUlRvVVZSb3cg
PSBBQkdSVG9VVlJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKIAogICBmb3IgKHkgPSAwOyB5
IDwgaGVpZ2h0IC0gMTsgeSArPSAyKSB7CiAgICAgQUJHUlRvVVZSb3coc3JjX2FiZ3IsIHNyY19z
dHJpZGVfYWJnciwgZHN0X3UsIGRzdF92LCB3aWR0aCk7CkBAIC02OTksMTkgKzgzMiwyMiBAQCBp
bnQgQUJHUlRvSTQyMChjb25zdCB1aW50OCogc3JjX2FiZ3IsIGludCBzcmNfc3RyaWRlX2FiZ3Is
CiAKIC8vIENvbnZlcnQgUkdCQSB0byBJNDIwLgogTElCWVVWX0FQSQotaW50IFJHQkFUb0k0MjAo
Y29uc3QgdWludDgqIHNyY19yZ2JhLCBpbnQgc3JjX3N0cmlkZV9yZ2JhLAotICAgICAgICAgICAg
ICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBp
bnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7
CitpbnQgUkdCQVRvSTQyMChjb25zdCB1aW50OCogc3JjX3JnYmEsCisgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV9yZ2JhLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwK
KyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAg
aW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKLSAgdm9p
ZCAoKlJHQkFUb1VWUm93KShjb25zdCB1aW50OCogc3JjX3JnYmEwLCBpbnQgc3JjX3N0cmlkZV9y
Z2JhLAotICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBSR0JB
VG9VVlJvd19DOworICB2b2lkICgqUkdCQVRvVVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYTAs
IGludCBzcmNfc3RyaWRlX3JnYmEsIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBSR0JBVG9VVlJvd19DOwogICB2b2lkICgqUkdC
QVRvWVJvdykoY29uc3QgdWludDgqIHNyY19yZ2JhLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkg
PQogICAgICAgUkdCQVRvWVJvd19DOwotICBpZiAoIXNyY19yZ2JhIHx8Ci0gICAgICAhZHN0X3kg
fHwgIWRzdF91IHx8ICFkc3RfdiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkg
eworICBpZiAoIXNyY19yZ2JhIHx8ICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRzdF92IHx8IHdpZHRo
IDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRp
dmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC03NDYsNiArODgyLDM4IEBAIGlu
dCBSR0JBVG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYSwgaW50IHNyY19zdHJpZGVfcmdiYSwK
ICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX1JHQkFUT1lST1dfRFNQUjIpCisg
IGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpKSB7CisgICAgUkdCQVRvWVJvdyA9IFJHQkFU
b1lSb3dfQW55X0RTUFIyOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAg
UkdCQVRvWVJvdyA9IFJHQkFUb1lSb3dfRFNQUjI7CisgICAgfQorICB9CisjZW5kaWYKKyNpZiBk
ZWZpbmVkKEhBU19SR0JBVE9VVlJPV19EU1BSMikKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNE
U1BSMikpIHsKKyAgICBSR0JBVG9VVlJvdyA9IFJHQkFUb1VWUm93X0FueV9EU1BSMjsKKyAgICBp
ZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBSR0JBVG9VVlJvdyA9IFJHQkFUb1VW
Um93X0RTUFIyOworICAgIH0KKyAgfQorI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfUkdCQVRPWVJP
V19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIFJHQkFUb1lSb3cg
PSBSR0JBVG9ZUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkgewor
ICAgICAgUkdCQVRvWVJvdyA9IFJHQkFUb1lSb3dfTVNBOworICAgIH0KKyAgfQorI2VuZGlmCisj
aWYgZGVmaW5lZChIQVNfUkdCQVRPVVZST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhh
c01TQSkpIHsKKyAgICBSR0JBVG9VVlJvdyA9IFJHQkFUb1VWUm93X0FueV9NU0E7CisgICAgaWYg
KElTX0FMSUdORUQod2lkdGgsIDE2KSkgeworICAgICAgUkdCQVRvVVZSb3cgPSBSR0JBVG9VVlJv
d19NU0E7CisgICAgfQorICB9CisjZW5kaWYKIAogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0IC0g
MTsgeSArPSAyKSB7CiAgICAgUkdCQVRvVVZSb3coc3JjX3JnYmEsIHNyY19zdHJpZGVfcmdiYSwg
ZHN0X3UsIGRzdF92LCB3aWR0aCk7CkBAIC03NjUsMjcgKzkzMywzMSBAQCBpbnQgUkdCQVRvSTQy
MChjb25zdCB1aW50OCogc3JjX3JnYmEsIGludCBzcmNfc3RyaWRlX3JnYmEsCiAKIC8vIENvbnZl
cnQgUkdCMjQgdG8gSTQyMC4KIExJQllVVl9BUEkKLWludCBSR0IyNFRvSTQyMChjb25zdCB1aW50
OCogc3JjX3JnYjI0LCBpbnQgc3JjX3N0cmlkZV9yZ2IyNCwKLSAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgdWludDgqIGRzdF91
LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRz
dF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2lu
dCBSR0IyNFRvSTQyMChjb25zdCB1aW50OCogc3JjX3JnYjI0LAorICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3JnYjI0LAorICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwKKyAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAg
ICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5
OwotI2lmIGRlZmluZWQoSEFTX1JHQjI0VE9ZUk9XX05FT04pCisjaWYgKGRlZmluZWQoSEFTX1JH
QjI0VE9ZUk9XX05FT04pIHx8IGRlZmluZWQoSEFTX1JHQjI0VE9ZUk9XX01TQSkpCiAgIHZvaWQg
KCpSR0IyNFRvVVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMjQsIGludCBzcmNfc3RyaWRlX3Jn
YjI0LAotICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBSR0Iy
NFRvVVZSb3dfQzsKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCog
ZHN0X3YsIGludCB3aWR0aCkgPSBSR0IyNFRvVVZSb3dfQzsKICAgdm9pZCAoKlJHQjI0VG9ZUm93
KShjb25zdCB1aW50OCogc3JjX3JnYjI0LCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgPQogICAg
ICAgUkdCMjRUb1lSb3dfQzsKICNlbHNlCiAgIHZvaWQgKCpSR0IyNFRvQVJHQlJvdykoY29uc3Qg
dWludDgqIHNyY19yZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSA9CiAgICAgICBSR0Iy
NFRvQVJHQlJvd19DOwotICB2b2lkICgqQVJHQlRvVVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rf
diwgaW50IHdpZHRoKSA9IEFSR0JUb1VWUm93X0M7CisgIHZvaWQgKCpBUkdCVG9VVlJvdykoY29u
c3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IEFSR0JUb1VW
Um93X0M7CiAgIHZvaWQgKCpBUkdCVG9ZUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4
KiBkc3RfeSwgaW50IHdpZHRoKSA9CiAgICAgICBBUkdCVG9ZUm93X0M7CiAjZW5kaWYKLSAgaWYg
KCFzcmNfcmdiMjQgfHwgIWRzdF95IHx8ICFkc3RfdSB8fCAhZHN0X3YgfHwKLSAgICAgIHdpZHRo
IDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgaWYgKCFzcmNfcmdiMjQgfHwgIWRzdF95IHx8ICFk
c3RfdSB8fCAhZHN0X3YgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVy
biAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4K
QEAgLTgwNyw2ICs5NzksMTUgQEAgaW50IFJHQjI0VG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfcmdi
MjQsIGludCBzcmNfc3RyaWRlX3JnYjI0LAogICAgICAgfQogICAgIH0KICAgfQorI2VsaWYgZGVm
aW5lZChIQVNfUkdCMjRUT1lST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkp
IHsKKyAgICBSR0IyNFRvVVZSb3cgPSBSR0IyNFRvVVZSb3dfQW55X01TQTsKKyAgICBSR0IyNFRv
WVJvdyA9IFJHQjI0VG9ZUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2
KSkgeworICAgICAgUkdCMjRUb1lSb3cgPSBSR0IyNFRvWVJvd19NU0E7CisgICAgICBSR0IyNFRv
VVZSb3cgPSBSR0IyNFRvVVZSb3dfTVNBOworICAgIH0KKyAgfQogLy8gT3RoZXIgcGxhdGZvcm1z
IGRvIGludGVybWVkaWF0ZSBjb252ZXJzaW9uIGZyb20gUkdCMjQgdG8gQVJHQi4KICNlbHNlCiAj
aWYgZGVmaW5lZChIQVNfUkdCMjRUT0FSR0JST1dfU1NTRTMpCkBAIC04MzcsMTQgKzEwMTgsMTcg
QEAgaW50IFJHQjI0VG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMjQsIGludCBzcmNfc3RyaWRl
X3JnYjI0LAogICAgIH0KICAgfQogI2VuZGlmCisjZW5kaWYKKwogICB7CisjaWYgIShkZWZpbmVk
KEhBU19SR0IyNFRPWVJPV19ORU9OKSB8fCBkZWZpbmVkKEhBU19SR0IyNFRPWVJPV19NU0EpKQog
ICAgIC8vIEFsbG9jYXRlIDIgcm93cyBvZiBBUkdCLgogICAgIGNvbnN0IGludCBrUm93U2l6ZSA9
ICh3aWR0aCAqIDQgKyAzMSkgJiB+MzE7CiAgICAgYWxpZ25fYnVmZmVyXzY0KHJvdywga1Jvd1Np
emUgKiAyKTsKICNlbmRpZgogCiAgICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodCAtIDE7IHkgKz0g
MikgewotI2lmIGRlZmluZWQoSEFTX1JHQjI0VE9ZUk9XX05FT04pCisjaWYgKGRlZmluZWQoSEFT
X1JHQjI0VE9ZUk9XX05FT04pIHx8IGRlZmluZWQoSEFTX1JHQjI0VE9ZUk9XX01TQSkpCiAgICAg
ICBSR0IyNFRvVVZSb3coc3JjX3JnYjI0LCBzcmNfc3RyaWRlX3JnYjI0LCBkc3RfdSwgZHN0X3Ys
IHdpZHRoKTsKICAgICAgIFJHQjI0VG9ZUm93KHNyY19yZ2IyNCwgZHN0X3ksIHdpZHRoKTsKICAg
ICAgIFJHQjI0VG9ZUm93KHNyY19yZ2IyNCArIHNyY19zdHJpZGVfcmdiMjQsIGRzdF95ICsgZHN0
X3N0cmlkZV95LCB3aWR0aCk7CkBAIC04NjEsNyArMTA0NSw3IEBAIGludCBSR0IyNFRvSTQyMChj
b25zdCB1aW50OCogc3JjX3JnYjI0LCBpbnQgc3JjX3N0cmlkZV9yZ2IyNCwKICAgICAgIGRzdF92
ICs9IGRzdF9zdHJpZGVfdjsKICAgICB9CiAgICAgaWYgKGhlaWdodCAmIDEpIHsKLSNpZiBkZWZp
bmVkKEhBU19SR0IyNFRPWVJPV19ORU9OKQorI2lmIChkZWZpbmVkKEhBU19SR0IyNFRPWVJPV19O
RU9OKSB8fCBkZWZpbmVkKEhBU19SR0IyNFRPWVJPV19NU0EpKQogICAgICAgUkdCMjRUb1VWUm93
KHNyY19yZ2IyNCwgMCwgZHN0X3UsIGRzdF92LCB3aWR0aCk7CiAgICAgICBSR0IyNFRvWVJvdyhz
cmNfcmdiMjQsIGRzdF95LCB3aWR0aCk7CiAjZWxzZQpAQCAtODcwLDM2ICsxMDU0LDQwIEBAIGlu
dCBSR0IyNFRvSTQyMChjb25zdCB1aW50OCogc3JjX3JnYjI0LCBpbnQgc3JjX3N0cmlkZV9yZ2Iy
NCwKICAgICAgIEFSR0JUb1lSb3cocm93LCBkc3RfeSwgd2lkdGgpOwogI2VuZGlmCiAgICAgfQot
I2lmICFkZWZpbmVkKEhBU19SR0IyNFRPWVJPV19ORU9OKQorI2lmICEoZGVmaW5lZChIQVNfUkdC
MjRUT1lST1dfTkVPTikgfHwgZGVmaW5lZChIQVNfUkdCMjRUT1lST1dfTVNBKSkKICAgICBmcmVl
X2FsaWduZWRfYnVmZmVyXzY0KHJvdyk7Ci0gIH0KICNlbmRpZgorICB9CiAgIHJldHVybiAwOwog
fQogCiAvLyBDb252ZXJ0IFJBVyB0byBJNDIwLgogTElCWVVWX0FQSQotaW50IFJBV1RvSTQyMChj
b25zdCB1aW50OCogc3JjX3JhdywgaW50IHNyY19zdHJpZGVfcmF3LAotICAgICAgICAgICAgICB1
aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0
X3N0cmlkZV92LAotICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBS
QVdUb0k0MjAoY29uc3QgdWludDgqIHNyY19yYXcsCisgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3JhdywKKyAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAg
IGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAg
ICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotI2lmIGRlZmluZWQoSEFTX1JBV1RPWVJP
V19ORU9OKQotICB2b2lkICgqUkFXVG9VVlJvdykoY29uc3QgdWludDgqIHNyY19yYXcsIGludCBz
cmNfc3RyaWRlX3JhdywKLSAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lk
dGgpID0gUkFXVG9VVlJvd19DOworI2lmIChkZWZpbmVkKEhBU19SQVdUT1lST1dfTkVPTikgfHwg
ZGVmaW5lZChIQVNfUkFXVE9ZUk9XX01TQSkpCisgIHZvaWQgKCpSQVdUb1VWUm93KShjb25zdCB1
aW50OCogc3JjX3JhdywgaW50IHNyY19zdHJpZGVfcmF3LCB1aW50OCogZHN0X3UsCisgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBSQVdUb1VWUm93X0M7CiAg
IHZvaWQgKCpSQVdUb1lSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCB1aW50OCogZHN0X3ksIGlu
dCB3aWR0aCkgPQogICAgICAgUkFXVG9ZUm93X0M7CiAjZWxzZQogICB2b2lkICgqUkFXVG9BUkdC
Um93KShjb25zdCB1aW50OCogc3JjX3JnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpID0K
ICAgICAgIFJBV1RvQVJHQlJvd19DOwotICB2b2lkICgqQVJHQlRvVVZSb3cpKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICB1aW50OCogZHN0X3UsIHVp
bnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IEFSR0JUb1VWUm93X0M7CisgIHZvaWQgKCpBUkdCVG9V
VlJvdykoY29uc3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwgdWludDgq
IGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9
IEFSR0JUb1VWUm93X0M7CiAgIHZvaWQgKCpBUkdCVG9ZUm93KShjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSA9CiAgICAgICBBUkdCVG9ZUm93X0M7CiAjZW5k
aWYKLSAgaWYgKCFzcmNfcmF3IHx8ICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRzdF92IHx8Ci0gICAg
ICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3JjX3JhdyB8fCAhZHN0X3kg
fHwgIWRzdF91IHx8ICFkc3RfdiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAg
cmV0dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGlt
YWdlLgpAQCAtOTIxLDYgKzExMDksMTUgQEAgaW50IFJBV1RvSTQyMChjb25zdCB1aW50OCogc3Jj
X3JhdywgaW50IHNyY19zdHJpZGVfcmF3LAogICAgICAgfQogICAgIH0KICAgfQorI2VsaWYgZGVm
aW5lZChIQVNfUkFXVE9ZUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7
CisgICAgUkFXVG9VVlJvdyA9IFJBV1RvVVZSb3dfQW55X01TQTsKKyAgICBSQVdUb1lSb3cgPSBS
QVdUb1lSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAg
ICBSQVdUb1lSb3cgPSBSQVdUb1lSb3dfTVNBOworICAgICAgUkFXVG9VVlJvdyA9IFJBV1RvVVZS
b3dfTVNBOworICAgIH0KKyAgfQogLy8gT3RoZXIgcGxhdGZvcm1zIGRvIGludGVybWVkaWF0ZSBj
b252ZXJzaW9uIGZyb20gUkFXIHRvIEFSR0IuCiAjZWxzZQogI2lmIGRlZmluZWQoSEFTX1JBV1RP
QVJHQlJPV19TU1NFMykKQEAgLTk1MSwxNCArMTE0OCwxNyBAQCBpbnQgUkFXVG9JNDIwKGNvbnN0
IHVpbnQ4KiBzcmNfcmF3LCBpbnQgc3JjX3N0cmlkZV9yYXcsCiAgICAgfQogICB9CiAjZW5kaWYK
KyNlbmRpZgorCiAgIHsKKyNpZiAhKGRlZmluZWQoSEFTX1JBV1RPWVJPV19ORU9OKSB8fCBkZWZp
bmVkKEhBU19SQVdUT1lST1dfTVNBKSkKICAgICAvLyBBbGxvY2F0ZSAyIHJvd3Mgb2YgQVJHQi4K
ICAgICBjb25zdCBpbnQga1Jvd1NpemUgPSAod2lkdGggKiA0ICsgMzEpICYgfjMxOwogICAgIGFs
aWduX2J1ZmZlcl82NChyb3csIGtSb3dTaXplICogMik7CiAjZW5kaWYKIAogICAgIGZvciAoeSA9
IDA7IHkgPCBoZWlnaHQgLSAxOyB5ICs9IDIpIHsKLSNpZiBkZWZpbmVkKEhBU19SQVdUT1lST1df
TkVPTikKKyNpZiAoZGVmaW5lZChIQVNfUkFXVE9ZUk9XX05FT04pIHx8IGRlZmluZWQoSEFTX1JB
V1RPWVJPV19NU0EpKQogICAgICAgUkFXVG9VVlJvdyhzcmNfcmF3LCBzcmNfc3RyaWRlX3Jhdywg
ZHN0X3UsIGRzdF92LCB3aWR0aCk7CiAgICAgICBSQVdUb1lSb3coc3JjX3JhdywgZHN0X3ksIHdp
ZHRoKTsKICAgICAgIFJBV1RvWVJvdyhzcmNfcmF3ICsgc3JjX3N0cmlkZV9yYXcsIGRzdF95ICsg
ZHN0X3N0cmlkZV95LCB3aWR0aCk7CkBAIC05NzUsNyArMTE3NSw3IEBAIGludCBSQVdUb0k0MjAo
Y29uc3QgdWludDgqIHNyY19yYXcsIGludCBzcmNfc3RyaWRlX3JhdywKICAgICAgIGRzdF92ICs9
IGRzdF9zdHJpZGVfdjsKICAgICB9CiAgICAgaWYgKGhlaWdodCAmIDEpIHsKLSNpZiBkZWZpbmVk
KEhBU19SQVdUT1lST1dfTkVPTikKKyNpZiAoZGVmaW5lZChIQVNfUkFXVE9ZUk9XX05FT04pIHx8
IGRlZmluZWQoSEFTX1JBV1RPWVJPV19NU0EpKQogICAgICAgUkFXVG9VVlJvdyhzcmNfcmF3LCAw
LCBkc3RfdSwgZHN0X3YsIHdpZHRoKTsKICAgICAgIFJBV1RvWVJvdyhzcmNfcmF3LCBkc3RfeSwg
d2lkdGgpOwogI2Vsc2UKQEAgLTk4NCwzNiArMTE4NCw0MSBAQCBpbnQgUkFXVG9JNDIwKGNvbnN0
IHVpbnQ4KiBzcmNfcmF3LCBpbnQgc3JjX3N0cmlkZV9yYXcsCiAgICAgICBBUkdCVG9ZUm93KHJv
dywgZHN0X3ksIHdpZHRoKTsKICNlbmRpZgogICAgIH0KLSNpZiAhZGVmaW5lZChIQVNfUkFXVE9Z
Uk9XX05FT04pCisjaWYgIShkZWZpbmVkKEhBU19SQVdUT1lST1dfTkVPTikgfHwgZGVmaW5lZChI
QVNfUkFXVE9ZUk9XX01TQSkpCiAgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl82NChyb3cpOwotICB9
CiAjZW5kaWYKKyAgfQogICByZXR1cm4gMDsKIH0KIAogLy8gQ29udmVydCBSR0I1NjUgdG8gSTQy
MC4KIExJQllVVl9BUEkKLWludCBSR0I1NjVUb0k0MjAoY29uc3QgdWludDgqIHNyY19yZ2I1NjUs
IGludCBzcmNfc3RyaWRlX3JnYjU2NSwKLSAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBp
bnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rf
c3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVf
diwKLSAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgUkdCNTY1
VG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LAorICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV9yZ2I1NjUsCisgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91
LAorICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBp
bnQgeTsKLSNpZiBkZWZpbmVkKEhBU19SR0I1NjVUT1lST1dfTkVPTikKKyNpZiAoZGVmaW5lZChI
QVNfUkdCNTY1VE9ZUk9XX05FT04pIHx8IGRlZmluZWQoSEFTX1JHQjU2NVRPWVJPV19NU0EpKQog
ICB2b2lkICgqUkdCNTY1VG9VVlJvdykoY29uc3QgdWludDgqIHNyY19yZ2I1NjUsIGludCBzcmNf
c3RyaWRlX3JnYjU2NSwKLSAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lk
dGgpID0gUkdCNTY1VG9VVlJvd19DOworICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPQorICAgICAgUkdCNTY1VG9VVlJvd19DOwog
ICB2b2lkICgqUkdCNTY1VG9ZUm93KShjb25zdCB1aW50OCogc3JjX3JnYjU2NSwgdWludDgqIGRz
dF95LCBpbnQgd2lkdGgpID0KICAgICAgIFJHQjU2NVRvWVJvd19DOwogI2Vsc2UKICAgdm9pZCAo
KlJHQjU2NVRvQVJHQlJvdykoY29uc3QgdWludDgqIHNyY19yZ2IsIHVpbnQ4KiBkc3RfYXJnYiwg
aW50IHdpZHRoKSA9CiAgICAgICBSR0I1NjVUb0FSR0JSb3dfQzsKLSAgdm9pZCAoKkFSR0JUb1VW
Um93KShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAg
dWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBBUkdCVG9VVlJvd19DOwor
ICB2b2lkICgqQVJHQlRvVVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3Ry
aWRlX2FyZ2IsIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3YsIGludCB3aWR0aCkgPSBBUkdCVG9VVlJvd19DOwogICB2b2lkICgqQVJHQlRvWVJvdykoY29u
c3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgPQogICAgICAgQVJH
QlRvWVJvd19DOwogI2VuZGlmCi0gIGlmICghc3JjX3JnYjU2NSB8fCAhZHN0X3kgfHwgIWRzdF91
IHx8ICFkc3RfdiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAo
IXNyY19yZ2I1NjUgfHwgIWRzdF95IHx8ICFkc3RfdSB8fCAhZHN0X3YgfHwgd2lkdGggPD0gMCB8
fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWln
aHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTEwMzUsNiArMTI0MCwxNSBAQCBpbnQgUkdC
NTY1VG9JNDIwKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCBpbnQgc3JjX3N0cmlkZV9yZ2I1NjUs
CiAgICAgICB9CiAgICAgfQogICB9CisjZWxpZiBkZWZpbmVkKEhBU19SR0I1NjVUT1lST1dfTVNB
KQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBSR0I1NjVUb1VWUm93ID0g
UkdCNTY1VG9VVlJvd19BbnlfTVNBOworICAgIFJHQjU2NVRvWVJvdyA9IFJHQjU2NVRvWVJvd19B
bnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCAxNikpIHsKKyAgICAgIFJHQjU2NVRv
WVJvdyA9IFJHQjU2NVRvWVJvd19NU0E7CisgICAgICBSR0I1NjVUb1VWUm93ID0gUkdCNTY1VG9V
VlJvd19NU0E7CisgICAgfQorICB9CiAvLyBPdGhlciBwbGF0Zm9ybXMgZG8gaW50ZXJtZWRpYXRl
IGNvbnZlcnNpb24gZnJvbSBSR0I1NjUgdG8gQVJHQi4KICNlbHNlCiAjaWYgZGVmaW5lZChIQVNf
UkdCNTY1VE9BUkdCUk9XX1NTRTIpCkBAIC0xMDczLDE0ICsxMjg3LDIzIEBAIGludCBSR0I1NjVU
b0k0MjAoY29uc3QgdWludDgqIHNyY19yZ2I1NjUsIGludCBzcmNfc3RyaWRlX3JnYjU2NSwKICAg
ICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX1JHQjU2NVRPQVJHQlJPV19EU1BSMikK
KyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikpIHsKKyAgICBSR0I1NjVUb0FSR0JSb3cg
PSBSR0I1NjVUb0FSR0JSb3dfQW55X0RTUFIyOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4
KSkgeworICAgICAgUkdCNTY1VG9BUkdCUm93ID0gUkdCNTY1VG9BUkdCUm93X0RTUFIyOworICAg
IH0KKyAgfQorI2VuZGlmCisjZW5kaWYKICAgeworI2lmICEoZGVmaW5lZChIQVNfUkdCNTY1VE9Z
Uk9XX05FT04pIHx8IGRlZmluZWQoSEFTX1JHQjU2NVRPWVJPV19NU0EpKQogICAgIC8vIEFsbG9j
YXRlIDIgcm93cyBvZiBBUkdCLgogICAgIGNvbnN0IGludCBrUm93U2l6ZSA9ICh3aWR0aCAqIDQg
KyAzMSkgJiB+MzE7CiAgICAgYWxpZ25fYnVmZmVyXzY0KHJvdywga1Jvd1NpemUgKiAyKTsKICNl
bmRpZgotCiAgICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodCAtIDE7IHkgKz0gMikgewotI2lmIGRl
ZmluZWQoSEFTX1JHQjU2NVRPWVJPV19ORU9OKQorI2lmIChkZWZpbmVkKEhBU19SR0I1NjVUT1lS
T1dfTkVPTikgfHwgZGVmaW5lZChIQVNfUkdCNTY1VE9ZUk9XX01TQSkpCiAgICAgICBSR0I1NjVU
b1VWUm93KHNyY19yZ2I1NjUsIHNyY19zdHJpZGVfcmdiNTY1LCBkc3RfdSwgZHN0X3YsIHdpZHRo
KTsKICAgICAgIFJHQjU2NVRvWVJvdyhzcmNfcmdiNTY1LCBkc3RfeSwgd2lkdGgpOwogICAgICAg
UkdCNTY1VG9ZUm93KHNyY19yZ2I1NjUgKyBzcmNfc3RyaWRlX3JnYjU2NSwgZHN0X3kgKyBkc3Rf
c3RyaWRlX3ksIHdpZHRoKTsKQEAgLTEwOTcsNyArMTMyMCw3IEBAIGludCBSR0I1NjVUb0k0MjAo
Y29uc3QgdWludDgqIHNyY19yZ2I1NjUsIGludCBzcmNfc3RyaWRlX3JnYjU2NSwKICAgICAgIGRz
dF92ICs9IGRzdF9zdHJpZGVfdjsKICAgICB9CiAgICAgaWYgKGhlaWdodCAmIDEpIHsKLSNpZiBk
ZWZpbmVkKEhBU19SR0I1NjVUT1lST1dfTkVPTikKKyNpZiAoZGVmaW5lZChIQVNfUkdCNTY1VE9Z
Uk9XX05FT04pIHx8IGRlZmluZWQoSEFTX1JHQjU2NVRPWVJPV19NU0EpKQogICAgICAgUkdCNTY1
VG9VVlJvdyhzcmNfcmdiNTY1LCAwLCBkc3RfdSwgZHN0X3YsIHdpZHRoKTsKICAgICAgIFJHQjU2
NVRvWVJvdyhzcmNfcmdiNTY1LCBkc3RfeSwgd2lkdGgpOwogI2Vsc2UKQEAgLTExMDYsMzYgKzEz
MjksNDIgQEAgaW50IFJHQjU2NVRvSTQyMChjb25zdCB1aW50OCogc3JjX3JnYjU2NSwgaW50IHNy
Y19zdHJpZGVfcmdiNTY1LAogICAgICAgQVJHQlRvWVJvdyhyb3csIGRzdF95LCB3aWR0aCk7CiAj
ZW5kaWYKICAgICB9Ci0jaWYgIWRlZmluZWQoSEFTX1JHQjU2NVRPWVJPV19ORU9OKQorI2lmICEo
ZGVmaW5lZChIQVNfUkdCNTY1VE9ZUk9XX05FT04pIHx8IGRlZmluZWQoSEFTX1JHQjU2NVRPWVJP
V19NU0EpKQogICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfNjQocm93KTsKLSAgfQogI2VuZGlmCisg
IH0KICAgcmV0dXJuIDA7CiB9CiAKIC8vIENvbnZlcnQgQVJHQjE1NTUgdG8gSTQyMC4KIExJQllV
Vl9BUEkKLWludCBBUkdCMTU1NVRvSTQyMChjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCBpbnQg
c3JjX3N0cmlkZV9hcmdiMTU1NSwKLSAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGlu
dCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0
X3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJp
ZGVfdiwKLSAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBB
UkdCMTU1NVRvSTQyMChjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfeSwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91
LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotI2lmIGRlZmluZWQoSEFTX0FSR0Ix
NTU1VE9ZUk9XX05FT04pCisjaWYgKGRlZmluZWQoSEFTX0FSR0IxNTU1VE9ZUk9XX05FT04pIHx8
IGRlZmluZWQoSEFTX0FSR0IxNTU1VE9ZUk9XX01TQSkpCiAgIHZvaWQgKCpBUkdCMTU1NVRvVVZS
b3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAot
ICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBBUkdCMTU1NVRv
VVZSb3dfQzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCog
ZHN0X3YsIGludCB3aWR0aCkgPQorICAgICAgQVJHQjE1NTVUb1VWUm93X0M7CiAgIHZvaWQgKCpB
UkdCMTU1NVRvWVJvdykoY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwgdWludDgqIGRzdF95LCBp
bnQgd2lkdGgpID0KICAgICAgIEFSR0IxNTU1VG9ZUm93X0M7CiAjZWxzZQogICB2b2lkICgqQVJH
QjE1NTVUb0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfcmdiLCB1aW50OCogZHN0X2FyZ2IsIGlu
dCB3aWR0aCkgPQogICAgICAgQVJHQjE1NTVUb0FSR0JSb3dfQzsKLSAgdm9pZCAoKkFSR0JUb1VW
Um93KShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAg
dWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBBUkdCVG9VVlJvd19DOwor
ICB2b2lkICgqQVJHQlRvVVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3Ry
aWRlX2FyZ2IsIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3YsIGludCB3aWR0aCkgPSBBUkdCVG9VVlJvd19DOwogICB2b2lkICgqQVJHQlRvWVJvdykoY29u
c3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgPQogICAgICAgQVJH
QlRvWVJvd19DOwogI2VuZGlmCi0gIGlmICghc3JjX2FyZ2IxNTU1IHx8ICFkc3RfeSB8fCAhZHN0
X3UgfHwgIWRzdF92IHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlm
ICghc3JjX2FyZ2IxNTU1IHx8ICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRzdF92IHx8IHdpZHRoIDw9
IDAgfHwKKyAgICAgIGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5l
Z2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMTE1Nyw2ICsxMzg2LDE1
IEBAIGludCBBUkdCMTU1NVRvSTQyMChjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCBpbnQgc3Jj
X3N0cmlkZV9hcmdiMTU1NSwKICAgICAgIH0KICAgICB9CiAgIH0KKyNlbGlmIGRlZmluZWQoSEFT
X0FSR0IxNTU1VE9ZUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7Cisg
ICAgQVJHQjE1NTVUb1VWUm93ID0gQVJHQjE1NTVUb1VWUm93X0FueV9NU0E7CisgICAgQVJHQjE1
NTVUb1lSb3cgPSBBUkdCMTU1NVRvWVJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKHdp
ZHRoLCAxNikpIHsKKyAgICAgIEFSR0IxNTU1VG9ZUm93ID0gQVJHQjE1NTVUb1lSb3dfTVNBOwor
ICAgICAgQVJHQjE1NTVUb1VWUm93ID0gQVJHQjE1NTVUb1VWUm93X01TQTsKKyAgICB9CisgIH0K
IC8vIE90aGVyIHBsYXRmb3JtcyBkbyBpbnRlcm1lZGlhdGUgY29udmVyc2lvbiBmcm9tIEFSR0Ix
NTU1IHRvIEFSR0IuCiAjZWxzZQogI2lmIGRlZmluZWQoSEFTX0FSR0IxNTU1VE9BUkdCUk9XX1NT
RTIpCkBAIC0xMTk1LDE0ICsxNDMzLDE2IEBAIGludCBBUkdCMTU1NVRvSTQyMChjb25zdCB1aW50
OCogc3JjX2FyZ2IxNTU1LCBpbnQgc3JjX3N0cmlkZV9hcmdiMTU1NSwKICAgICB9CiAgIH0KICNl
bmRpZgorI2VuZGlmCiAgIHsKKyNpZiAhKGRlZmluZWQoSEFTX0FSR0IxNTU1VE9ZUk9XX05FT04p
IHx8IGRlZmluZWQoSEFTX0FSR0IxNTU1VE9ZUk9XX01TQSkpCiAgICAgLy8gQWxsb2NhdGUgMiBy
b3dzIG9mIEFSR0IuCiAgICAgY29uc3QgaW50IGtSb3dTaXplID0gKHdpZHRoICogNCArIDMxKSAm
IH4zMTsKICAgICBhbGlnbl9idWZmZXJfNjQocm93LCBrUm93U2l6ZSAqIDIpOwogI2VuZGlmCiAK
ICAgICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0IC0gMTsgeSArPSAyKSB7Ci0jaWYgZGVmaW5lZChI
QVNfQVJHQjE1NTVUT1lST1dfTkVPTikKKyNpZiAoZGVmaW5lZChIQVNfQVJHQjE1NTVUT1lST1df
TkVPTikgfHwgZGVmaW5lZChIQVNfQVJHQjE1NTVUT1lST1dfTVNBKSkKICAgICAgIEFSR0IxNTU1
VG9VVlJvdyhzcmNfYXJnYjE1NTUsIHNyY19zdHJpZGVfYXJnYjE1NTUsIGRzdF91LCBkc3Rfdiwg
d2lkdGgpOwogICAgICAgQVJHQjE1NTVUb1lSb3coc3JjX2FyZ2IxNTU1LCBkc3RfeSwgd2lkdGgp
OwogICAgICAgQVJHQjE1NTVUb1lSb3coc3JjX2FyZ2IxNTU1ICsgc3JjX3N0cmlkZV9hcmdiMTU1
NSwgZHN0X3kgKyBkc3Rfc3RyaWRlX3ksCkBAIC0xMjIxLDcgKzE0NjEsNyBAQCBpbnQgQVJHQjE1
NTVUb0k0MjAoY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwgaW50IHNyY19zdHJpZGVfYXJnYjE1
NTUsCiAgICAgICBkc3RfdiArPSBkc3Rfc3RyaWRlX3Y7CiAgICAgfQogICAgIGlmIChoZWlnaHQg
JiAxKSB7Ci0jaWYgZGVmaW5lZChIQVNfQVJHQjE1NTVUT1lST1dfTkVPTikKKyNpZiAoZGVmaW5l
ZChIQVNfQVJHQjE1NTVUT1lST1dfTkVPTikgfHwgZGVmaW5lZChIQVNfQVJHQjE1NTVUT1lST1df
TVNBKSkKICAgICAgIEFSR0IxNTU1VG9VVlJvdyhzcmNfYXJnYjE1NTUsIDAsIGRzdF91LCBkc3Rf
diwgd2lkdGgpOwogICAgICAgQVJHQjE1NTVUb1lSb3coc3JjX2FyZ2IxNTU1LCBkc3RfeSwgd2lk
dGgpOwogI2Vsc2UKQEAgLTEyMzAsMzYgKzE0NzAsNDIgQEAgaW50IEFSR0IxNTU1VG9JNDIwKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAogICAgICAg
QVJHQlRvWVJvdyhyb3csIGRzdF95LCB3aWR0aCk7CiAjZW5kaWYKICAgICB9Ci0jaWYgIWRlZmlu
ZWQoSEFTX0FSR0IxNTU1VE9ZUk9XX05FT04pCisjaWYgIShkZWZpbmVkKEhBU19BUkdCMTU1NVRP
WVJPV19ORU9OKSB8fCBkZWZpbmVkKEhBU19BUkdCMTU1NVRPWVJPV19NU0EpKQogICAgIGZyZWVf
YWxpZ25lZF9idWZmZXJfNjQocm93KTsKLSAgfQogI2VuZGlmCisgIH0KICAgcmV0dXJuIDA7CiB9
CiAKIC8vIENvbnZlcnQgQVJHQjQ0NDQgdG8gSTQyMC4KIExJQllVVl9BUEkKLWludCBBUkdCNDQ0
NFRvSTQyMChjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCBpbnQgc3JjX3N0cmlkZV9hcmdiNDQ0
NCwKLSAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCNDQ0NFRvSTQyMChjb25z
dCB1aW50OCogc3JjX2FyZ2I0NDQ0LAorICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X2FyZ2I0NDQ0LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAor
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgaGVp
Z2h0KSB7CiAgIGludCB5OwogI2lmIGRlZmluZWQoSEFTX0FSR0I0NDQ0VE9ZUk9XX05FT04pCiAg
IHZvaWQgKCpBUkdCNDQ0NFRvVVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsIGludCBz
cmNfc3RyaWRlX2FyZ2I0NDQ0LAotICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGlu
dCB3aWR0aCkgPSBBUkdCNDQ0NFRvVVZSb3dfQzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPQorICAgICAgQVJHQjQ0NDRU
b1VWUm93X0M7CiAgIHZvaWQgKCpBUkdCNDQ0NFRvWVJvdykoY29uc3QgdWludDgqIHNyY19hcmdi
NDQ0NCwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpID0KICAgICAgIEFSR0I0NDQ0VG9ZUm93X0M7
CiAjZWxzZQogICB2b2lkICgqQVJHQjQ0NDRUb0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfcmdi
LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgPQogICAgICAgQVJHQjQ0NDRUb0FSR0JSb3df
QzsKLSAgdm9pZCAoKkFSR0JUb1VWUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3Jj
X3N0cmlkZV9hcmdiLAotICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0
aCkgPSBBUkdCVG9VVlJvd19DOworICB2b2lkICgqQVJHQlRvVVZSb3cpKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBBUkdCVG9VVlJvd19DOwogICB2
b2lkICgqQVJHQlRvWVJvdykoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGlu
dCB3aWR0aCkgPQogICAgICAgQVJHQlRvWVJvd19DOwogI2VuZGlmCi0gIGlmICghc3JjX2FyZ2I0
NDQ0IHx8ICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRzdF92IHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8
IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3JjX2FyZ2I0NDQ0IHx8ICFkc3RfeSB8fCAhZHN0X3Ug
fHwgIWRzdF92IHx8IHdpZHRoIDw9IDAgfHwKKyAgICAgIGhlaWdodCA9PSAwKSB7CiAgICAgcmV0
dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdl
LgpAQCAtMTMzOSw3ICsxNTg1LDEwIEBAIGludCBBUkdCNDQ0NFRvSTQyMChjb25zdCB1aW50OCog
c3JjX2FyZ2I0NDQ0LCBpbnQgc3JjX3N0cmlkZV9hcmdiNDQ0NCwKICAgICB9CiAgIH0KICNlbmRp
ZgorI2VuZGlmCisKICAgeworI2lmICFkZWZpbmVkKEhBU19BUkdCNDQ0NFRPWVJPV19ORU9OKQog
ICAgIC8vIEFsbG9jYXRlIDIgcm93cyBvZiBBUkdCLgogICAgIGNvbnN0IGludCBrUm93U2l6ZSA9
ICh3aWR0aCAqIDQgKyAzMSkgJiB+MzE7CiAgICAgYWxpZ25fYnVmZmVyXzY0KHJvdywga1Jvd1Np
emUgKiAyKTsKQEAgLTEzNzYsMTMgKzE2MjUsMTUgQEAgaW50IEFSR0I0NDQ0VG9JNDIwKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsIGludCBzcmNfc3RyaWRlX2FyZ2I0NDQ0LAogICAgIH0KICNp
ZiAhZGVmaW5lZChIQVNfQVJHQjQ0NDRUT1lST1dfTkVPTikKICAgICBmcmVlX2FsaWduZWRfYnVm
ZmVyXzY0KHJvdyk7Ci0gIH0KICNlbmRpZgorICB9CiAgIHJldHVybiAwOwogfQogCi1zdGF0aWMg
dm9pZCBTcGxpdFBpeGVscyhjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfcGl4ZWxfc3RyaWRl
X3V2LAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgd2lkdGgpIHsK
K3N0YXRpYyB2b2lkIFNwbGl0UGl4ZWxzKGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfcGl4ZWxfc3RyaWRlX3V2LAorICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7
CiAgIGludCBpOwogICBmb3IgKGkgPSAwOyBpIDwgd2lkdGg7ICsraSkgewogICAgICpkc3RfdSA9
ICpzcmNfdTsKQEAgLTEzOTMsMjEgKzE2NDQsMjYgQEAgc3RhdGljIHZvaWQgU3BsaXRQaXhlbHMo
Y29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3BpeGVsX3N0cmlkZV91diwKIAogLy8gQ29udmVy
dCBBbmRyb2lkNDIwIHRvIEk0MjAuCiBMSUJZVVZfQVBJCi1pbnQgQW5kcm9pZDQyMFRvSTQyMChj
b25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCitpbnQgQW5kcm9pZDQy
MFRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3YsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3BpeGVsX3N0cmlkZV91diwKLSAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF95LAorICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKLSAg
Y29uc3QgaW50IHZ1X29mZiA9IHNyY192IC0gc3JjX3U7CisgIGNvbnN0IHB0cmRpZmZfdCB2dV9v
ZmYgPSBzcmNfdiAtIHNyY191OwogICBpbnQgaGFsZndpZHRoID0gKHdpZHRoICsgMSkgPj4gMTsK
ICAgaW50IGhhbGZoZWlnaHQgPSAoaGVpZ2h0ICsgMSkgPj4gMTsKLSAgaWYgKCFzcmNfdSB8fCAh
c3JjX3YgfHwKLSAgICAgICFkc3RfdSB8fCAhZHN0X3YgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwg
aGVpZ2h0ID09IDApIHsKKyAgaWYgKCFzcmNfdSB8fCAhc3JjX3YgfHwgIWRzdF91IHx8ICFkc3Rf
diB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAg
IC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMTQzMSwxMyAr
MTY4NywxMyBAQCBpbnQgQW5kcm9pZDQyMFRvSTQyMChjb25zdCB1aW50OCogc3JjX3ksIGludCBz
cmNfc3RyaWRlX3ksCiAgICAgQ29weVBsYW5lKHNyY191LCBzcmNfc3RyaWRlX3UsIGRzdF91LCBk
c3Rfc3RyaWRlX3UsIGhhbGZ3aWR0aCwgaGFsZmhlaWdodCk7CiAgICAgQ29weVBsYW5lKHNyY192
LCBzcmNfc3RyaWRlX3YsIGRzdF92LCBkc3Rfc3RyaWRlX3YsIGhhbGZ3aWR0aCwgaGFsZmhlaWdo
dCk7CiAgICAgcmV0dXJuIDA7Ci0gIC8vIFNwbGl0IFVWIHBsYW5lcyAtIE5WMjEKKyAgICAvLyBT
cGxpdCBVViBwbGFuZXMgLSBOVjIxCiAgIH0gZWxzZSBpZiAoc3JjX3BpeGVsX3N0cmlkZV91diA9
PSAyICYmIHZ1X29mZiA9PSAtMSAmJgogICAgICAgICAgICAgIHNyY19zdHJpZGVfdSA9PSBzcmNf
c3RyaWRlX3YpIHsKICAgICBTcGxpdFVWUGxhbmUoc3JjX3YsIHNyY19zdHJpZGVfdiwgZHN0X3Ys
IGRzdF9zdHJpZGVfdiwgZHN0X3UsIGRzdF9zdHJpZGVfdSwKICAgICAgICAgICAgICAgICAgaGFs
ZndpZHRoLCBoYWxmaGVpZ2h0KTsKICAgICByZXR1cm4gMDsKLSAgLy8gU3BsaXQgVVYgcGxhbmVz
IC0gTlYxMgorICAgIC8vIFNwbGl0IFVWIHBsYW5lcyAtIE5WMTIKICAgfSBlbHNlIGlmIChzcmNf
cGl4ZWxfc3RyaWRlX3V2ID09IDIgJiYgdnVfb2ZmID09IDEgJiYKICAgICAgICAgICAgICBzcmNf
c3RyaWRlX3UgPT0gc3JjX3N0cmlkZV92KSB7CiAgICAgU3BsaXRVVlBsYW5lKHNyY191LCBzcmNf
c3RyaWRlX3UsIGRzdF91LCBkc3Rfc3RyaWRlX3UsIGRzdF92LCBkc3Rfc3RyaWRlX3YsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9zb3VyY2UvY29udmVydF9hcmdiLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbnZlcnRfYXJnYi5jYwppbmRleCBk
YTQ4YjE4NTk4NTIzNzcxNmY0ZDBkMTg4ZWJkYmY1Nzk0NDIzOWQ3Li41MDA3YmRiOTcwODc3ZDlh
MzRmN2UzNzQ3YzA3Y2FkYjQ0MTIzNDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29udmVydF9hcmdiLmNj
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3NvdXJjZS9jb252ZXJ0X2FyZ2IuY2MKQEAgLTI2LDExICsyNiwxMyBAQCBleHRlcm4gIkMi
IHsKIAogLy8gQ29weSBBUkdCIHdpdGggb3B0aW9uYWwgZmxpcHBpbmcKIExJQllVVl9BUEkKLWlu
dCBBUkdCQ29weShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0g
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAg
ICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICBpZiAoIXNyY19hcmdiIHx8ICFkc3Rf
YXJnYiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworaW50IEFSR0JDb3B5
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdi
LAorICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV9hcmdiLAorICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICBpbnQgaGVp
Z2h0KSB7CisgIGlmICghc3JjX2FyZ2IgfHwgIWRzdF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVp
Z2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1l
YW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC00MCwyNyArNDIsMjkgQEAgaW50IEFSR0JDb3B5KGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICBzcmNfc3RyaWRl
X2FyZ2IgPSAtc3JjX3N0cmlkZV9hcmdiOwogICB9CiAKLSAgQ29weVBsYW5lKHNyY19hcmdiLCBz
cmNfc3RyaWRlX2FyZ2IsIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICB3
aWR0aCAqIDQsIGhlaWdodCk7CisgIENvcHlQbGFuZShzcmNfYXJnYiwgc3JjX3N0cmlkZV9hcmdi
LCBkc3RfYXJnYiwgZHN0X3N0cmlkZV9hcmdiLCB3aWR0aCAqIDQsCisgICAgICAgICAgICBoZWln
aHQpOwogICByZXR1cm4gMDsKIH0KIAogLy8gQ29udmVydCBJNDIyIHRvIEFSR0Igd2l0aCBtYXRy
aXgKLXN0YXRpYyBpbnQgSTQyMFRvQVJHQk1hdHJpeChjb25zdCB1aW50OCogc3JjX3ksIGludCBz
cmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCitzdGF0aWMgaW50IEk0
MjBUb0FSR0JNYXRyaXgoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVp
Z2h0KSB7CiAgIGludCB5OwotICB2b2lkICgqSTQyMlRvQVJHQlJvdykoY29uc3QgdWludDgqIHlf
YnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHVfYnVmLAotICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHZfYnVmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIHJnYl9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpID0gSTQyMlRvQVJHQlJvd19DOwotICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAh
c3JjX3YgfHwgIWRzdF9hcmdiIHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7
CisgIHZvaWQgKCpJNDIyVG9BUkdCUm93KShjb25zdCB1aW50OCogeV9idWYsIGNvbnN0IHVpbnQ4
KiB1X2J1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2X2J1ZiwgdWlu
dDgqIHJnYl9idWYsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29u
c3RhbnRzKiB5dXZjb25zdGFudHMsIGludCB3aWR0aCkgPQorICAgICAgSTQyMlRvQVJHQlJvd19D
OworICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAhc3JjX3YgfHwgIWRzdF9hcmdiIHx8IHdpZHRo
IDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRp
dmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC0xMDIsNiArMTA2LDE0IEBAIHN0
YXRpYyBpbnQgSTQyMFRvQVJHQk1hdHJpeChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3Ry
aWRlX3ksCiAgICAgSTQyMlRvQVJHQlJvdyA9IEk0MjJUb0FSR0JSb3dfRFNQUjI7CiAgIH0KICNl
bmRpZgorI2lmIGRlZmluZWQoSEFTX0k0MjJUT0FSR0JST1dfTVNBKQorICBpZiAoVGVzdENwdUZs
YWcoa0NwdUhhc01TQSkpIHsKKyAgICBJNDIyVG9BUkdCUm93ID0gSTQyMlRvQVJHQlJvd19Bbnlf
TVNBOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgSTQyMlRvQVJHQlJv
dyA9IEk0MjJUb0FSR0JSb3dfTVNBOworICAgIH0KKyAgfQorI2VuZGlmCiAKICAgZm9yICh5ID0g
MDsgeSA8IGhlaWdodDsgKyt5KSB7CiAgICAgSTQyMlRvQVJHQlJvdyhzcmNfeSwgc3JjX3UsIHNy
Y192LCBkc3RfYXJnYiwgeXV2Y29uc3RhbnRzLCB3aWR0aCk7CkBAIC0xMTcsMTExICsxMjksMTMw
IEBAIHN0YXRpYyBpbnQgSTQyMFRvQVJHQk1hdHJpeChjb25zdCB1aW50OCogc3JjX3ksIGludCBz
cmNfc3RyaWRlX3ksCiAKIC8vIENvbnZlcnQgSTQyMCB0byBBUkdCLgogTElCWVVWX0FQSQotaW50
IEk0MjBUb0FSR0IoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAg
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Ci0gIHJldHVybiBJNDIwVG9BUkdCTWF0cml4KHNyY195
LCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNyY191LCBzcmNfc3Ry
aWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNyY192LCBzcmNfc3RyaWRlX3YsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICZrWXV2STYwMUNvbnN0YW50cywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CitpbnQgSTQyMFRvQVJHQihjb25zdCB1aW50OCog
c3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAg
ICAgICAgICAgaW50IGhlaWdodCkgeworICByZXR1cm4gSTQyMFRvQVJHQk1hdHJpeChzcmNfeSwg
c3JjX3N0cmlkZV95LCBzcmNfdSwgc3JjX3N0cmlkZV91LCBzcmNfdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3JjX3N0cmlkZV92LCBkc3RfYXJnYiwgZHN0X3N0cmlkZV9hcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAma1l1dkk2MDFDb25zdGFudHMsIHdpZHRoLCBoZWlnaHQp
OwogfQogCiAvLyBDb252ZXJ0IEk0MjAgdG8gQUJHUi4KIExJQllVVl9BUEkKLWludCBJNDIwVG9B
QkdSKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYWJnciwgaW50IGRzdF9zdHJpZGVfYWJnciwKLSAgICAgICAgICAgICAgIGludCB3aWR0
aCwgaW50IGhlaWdodCkgewotICByZXR1cm4gSTQyMFRvQVJHQk1hdHJpeChzcmNfeSwgc3JjX3N0
cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdiwgc3JjX3N0cmlkZV92LCAg
Ly8gU3dhcCBVIGFuZCBWCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNyY191LCBzcmNfc3Ry
aWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9hYmdyLCBkc3Rfc3RyaWRlX2Fi
Z3IsCitpbnQgSTQyMFRvQUJHUihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FiZ3IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hYmdyLAor
ICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewor
ICByZXR1cm4gSTQyMFRvQVJHQk1hdHJpeChzcmNfeSwgc3JjX3N0cmlkZV95LCBzcmNfdiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZV92LCAgLy8gU3dhcCBVIGFuZCBWCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3UsIGRzdF9hYmdyLCBk
c3Rfc3RyaWRlX2FiZ3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZrWXZ1STYwMUNvbnN0
YW50cywgIC8vIFVzZSBZdnUgbWF0cml4CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRo
LCBoZWlnaHQpOwogfQogCiAvLyBDb252ZXJ0IEo0MjAgdG8gQVJHQi4KIExJQllVVl9BUEkKLWlu
dCBKNDIwVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAg
IGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICByZXR1cm4gSTQyMFRvQVJHQk1hdHJpeChzcmNf
eSwgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSwgc3JjX3N0
cmlkZV91LAotICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdiwgc3JjX3N0cmlkZV92LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfYXJnYiwgZHN0X3N0cmlkZV9hcmdiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAma1l1dkpQRUdDb25zdGFudHMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworaW50IEo0MjBUb0FSR0IoY29uc3QgdWludDgq
IHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAg
ICAgICAgICAgIGludCBoZWlnaHQpIHsKKyAgcmV0dXJuIEk0MjBUb0FSR0JNYXRyaXgoc3JjX3ks
IHNyY19zdHJpZGVfeSwgc3JjX3UsIHNyY19zdHJpZGVfdSwgc3JjX3YsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNyY19zdHJpZGVfdiwgZHN0X2FyZ2IsIGRzdF9zdHJpZGVfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgJmtZdXZKUEVHQ29uc3RhbnRzLCB3aWR0aCwgaGVpZ2h0
KTsKIH0KIAogLy8gQ29udmVydCBKNDIwIHRvIEFCR1IuCiBMSUJZVVZfQVBJCi1pbnQgSjQyMFRv
QUJHUihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50
OCogZHN0X2FiZ3IsIGludCBkc3Rfc3RyaWRlX2FiZ3IsCi0gICAgICAgICAgICAgICBpbnQgd2lk
dGgsIGludCBoZWlnaHQpIHsKLSAgcmV0dXJuIEk0MjBUb0FSR0JNYXRyaXgoc3JjX3ksIHNyY19z
dHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwg
IC8vIFN3YXAgVSBhbmQgVgotICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSwgc3JjX3N0
cmlkZV91LAotICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfYWJnciwgZHN0X3N0cmlkZV9h
YmdyLAoraW50IEo0MjBUb0FCR1IoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hYmdyLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYWJnciwK
KyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsK
KyAgcmV0dXJuIEk0MjBUb0FSR0JNYXRyaXgoc3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3YsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19zdHJpZGVfdiwgIC8vIFN3YXAgVSBhbmQgVgor
ICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSwgc3JjX3N0cmlkZV91LCBkc3RfYWJnciwg
ZHN0X3N0cmlkZV9hYmdyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAma1l2dUpQRUdDb25z
dGFudHMsICAvLyBVc2UgWXZ1IG1hdHJpeAogICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0
aCwgaGVpZ2h0KTsKIH0KIAogLy8gQ29udmVydCBINDIwIHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1p
bnQgSDQyMFRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAg
ICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKLSAgcmV0dXJuIEk0MjBUb0FSR0JNYXRyaXgoc3Jj
X3ksIHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3UsIHNyY19z
dHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X2FyZ2IsIGRzdF9zdHJpZGVfYXJnYiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgJmtZdXZINzA5Q29uc3RhbnRzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKK2ludCBINDIwVG9BUkdCKGNvbnN0IHVpbnQ4
KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAor
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAg
ICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CisgIHJldHVybiBJNDIwVG9BUkdCTWF0cml4KHNyY195
LCBzcmNfc3RyaWRlX3ksIHNyY191LCBzcmNfc3RyaWRlX3UsIHNyY192LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBzcmNfc3RyaWRlX3YsIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICZrWXV2SDcwOUNvbnN0YW50cywgd2lkdGgsIGhlaWdo
dCk7CiB9CiAKIC8vIENvbnZlcnQgSDQyMCB0byBBQkdSLgogTElCWVVWX0FQSQotaW50IEg0MjBU
b0FCR1IoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hYmdyLCBpbnQgZHN0X3N0cmlkZV9hYmdyLAotICAgICAgICAgICAgICAgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0KSB7Ci0gIHJldHVybiBJNDIwVG9BUkdCTWF0cml4KHNyY195LCBzcmNf
c3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNyY192LCBzcmNfc3RyaWRlX3Ys
ICAvLyBTd2FwIFUgYW5kIFYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3UsIHNyY19z
dHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X2FiZ3IsIGRzdF9zdHJpZGVf
YWJnciwKK2ludCBINDIwVG9BQkdSKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYWJnciwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FiZ3Is
CisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7
CisgIHJldHVybiBJNDIwVG9BUkdCTWF0cml4KHNyY195LCBzcmNfc3RyaWRlX3ksIHNyY192LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlX3YsICAvLyBTd2FwIFUgYW5kIFYK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVfdSwgZHN0X2FiZ3Is
IGRzdF9zdHJpZGVfYWJnciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtZdnVINzA5Q29u
c3RhbnRzLCAgLy8gVXNlIFl2dSBtYXRyaXgKICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lk
dGgsIGhlaWdodCk7CiB9CiAKIC8vIENvbnZlcnQgSTQyMiB0byBBUkdCIHdpdGggbWF0cml4Ci1z
dGF0aWMgaW50IEk0MjJUb0FSR0JNYXRyaXgoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0
cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwg
aW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAorc3RhdGljIGludCBJNDIyVG9B
UkdCTWF0cml4KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV9hcmdiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkg
ewogICBpbnQgeTsKLSAgdm9pZCAoKkk0MjJUb0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1ZiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB1X2J1ZiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiByZ2JfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1
dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSA9IEk0MjJUb0FSR0JSb3dfQzsKLSAgaWYgKCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192
IHx8Ci0gICAgICAhZHN0X2FyZ2IgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDAp
IHsKKyAgdm9pZCAoKkk0MjJUb0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1ZiwgY29uc3QgdWlu
dDgqIHVfYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHZfYnVmLCB1
aW50OCogcmdiX2J1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZD
b25zdGFudHMqIHl1dmNvbnN0YW50cywgaW50IHdpZHRoKSA9CisgICAgICBJNDIyVG9BUkdCUm93
X0M7CisgIGlmICghc3JjX3kgfHwgIXNyY191IHx8ICFzcmNfdiB8fCAhZHN0X2FyZ2IgfHwgd2lk
dGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdh
dGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTIzMSwxMCArMjYyLDggQEAg
c3RhdGljIGludCBJNDIyVG9BUkdCTWF0cml4KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19z
dHJpZGVfeSwKICAgICBkc3Rfc3RyaWRlX2FyZ2IgPSAtZHN0X3N0cmlkZV9hcmdiOwogICB9CiAg
IC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX3kgPT0gd2lkdGggJiYKLSAgICAg
IHNyY19zdHJpZGVfdSAqIDIgPT0gd2lkdGggJiYKLSAgICAgIHNyY19zdHJpZGVfdiAqIDIgPT0g
d2lkdGggJiYKLSAgICAgIGRzdF9zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQpIHsKKyAgaWYgKHNy
Y19zdHJpZGVfeSA9PSB3aWR0aCAmJiBzcmNfc3RyaWRlX3UgKiAyID09IHdpZHRoICYmCisgICAg
ICBzcmNfc3RyaWRlX3YgKiAyID09IHdpZHRoICYmIGRzdF9zdHJpZGVfYXJnYiA9PSB3aWR0aCAq
IDQpIHsKICAgICB3aWR0aCAqPSBoZWlnaHQ7CiAgICAgaGVpZ2h0ID0gMTsKICAgICBzcmNfc3Ry
aWRlX3kgPSBzcmNfc3RyaWRlX3UgPSBzcmNfc3RyaWRlX3YgPSBkc3Rfc3RyaWRlX2FyZ2IgPSAw
OwpAQCAtMjcyLDYgKzMwMSwxNCBAQCBzdGF0aWMgaW50IEk0MjJUb0FSR0JNYXRyaXgoY29uc3Qg
dWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogICAgIEk0MjJUb0FSR0JSb3cgPSBJNDIy
VG9BUkdCUm93X0RTUFIyOwogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19JNDIyVE9BUkdC
Uk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgSTQyMlRvQVJH
QlJvdyA9IEk0MjJUb0FSR0JSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwg
OCkpIHsKKyAgICAgIEk0MjJUb0FSR0JSb3cgPSBJNDIyVG9BUkdCUm93X01TQTsKKyAgICB9Cisg
IH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewogICAgIEk0MjJU
b0FSR0JSb3coc3JjX3ksIHNyY191LCBzcmNfdiwgZHN0X2FyZ2IsIHl1dmNvbnN0YW50cywgd2lk
dGgpOwpAQCAtMjg1LDExMSArMzIyLDEzMCBAQCBzdGF0aWMgaW50IEk0MjJUb0FSR0JNYXRyaXgo
Y29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogCiAvLyBDb252ZXJ0IEk0MjIg
dG8gQVJHQi4KIExJQllVVl9BUEkKLWludCBJNDIyVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwg
aW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50
IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNy
Y19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJp
ZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICByZXR1
cm4gSTQyMlRvQVJHQk1hdHJpeChzcmNfeSwgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBzcmNfdSwgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBzcmNfdiwgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfYXJn
YiwgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAma1l1dkk2MDFD
b25zdGFudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworaW50
IEk0MjJUb0FSR0IoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Ys
CisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAg
ICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKKyAgcmV0dXJu
IEk0MjJUb0FSR0JNYXRyaXgoc3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3UsIHNyY19zdHJpZGVf
dSwgc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19zdHJpZGVfdiwgZHN0X2Fy
Z2IsIGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmtZdXZJNjAx
Q29uc3RhbnRzLCB3aWR0aCwgaGVpZ2h0KTsKIH0KIAogLy8gQ29udmVydCBJNDIyIHRvIEFCR1Iu
CiBMSUJZVVZfQVBJCi1pbnQgSTQyMlRvQUJHUihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNf
c3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3Ry
aWRlX3UsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRl
X3YsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FiZ3IsIGludCBkc3Rfc3RyaWRlX2FiZ3Is
Ci0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKLSAgcmV0dXJuIEk0MjJU
b0FSR0JNYXRyaXgoc3JjX3ksIHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3JjX3YsIHNyY19zdHJpZGVfdiwgIC8vIFN3YXAgVSBhbmQgVgotICAgICAgICAgICAgICAg
ICAgICAgICAgICBzcmNfdSwgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBkc3RfYWJnciwgZHN0X3N0cmlkZV9hYmdyLAoraW50IEk0MjJUb0FCR1IoY29uc3QgdWludDgq
IHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9hYmdyLAorICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfYWJnciwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAg
ICAgICAgICAgIGludCBoZWlnaHQpIHsKKyAgcmV0dXJuIEk0MjJUb0FSR0JNYXRyaXgoc3JjX3ks
IHNyY19zdHJpZGVfeSwgc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19zdHJp
ZGVfdiwgIC8vIFN3YXAgVSBhbmQgVgorICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSwg
c3JjX3N0cmlkZV91LCBkc3RfYWJnciwgZHN0X3N0cmlkZV9hYmdyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAma1l2dUk2MDFDb25zdGFudHMsICAvLyBVc2UgWXZ1IG1hdHJpeAogICAgICAg
ICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKIH0KIAogLy8gQ29udmVydCBKNDIy
IHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgSjQyMlRvQVJHQihjb25zdCB1aW50OCogc3JjX3ks
IGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGlu
dCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBz
cmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3Ry
aWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKLSAgcmV0
dXJuIEk0MjJUb0FSR0JNYXRyaXgoc3JjX3ksIHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3JjX3YsIHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X2Fy
Z2IsIGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmtZdXZKUEVH
Q29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKK2lu
dCBKNDIyVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CisgIHJldHVy
biBJNDIyVG9BUkdCTWF0cml4KHNyY195LCBzcmNfc3RyaWRlX3ksIHNyY191LCBzcmNfc3RyaWRl
X3UsIHNyY192LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlX3YsIGRzdF9h
cmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZrWXV2SlBF
R0NvbnN0YW50cywgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8vIENvbnZlcnQgSjQyMiB0byBBQkdS
LgogTElCWVVWX0FQSQotaW50IEo0MjJUb0FCR1IoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3Jj
X3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0
cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlk
ZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hYmdyLCBpbnQgZHN0X3N0cmlkZV9hYmdy
LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Ci0gIHJldHVybiBJNDIy
VG9BUkdCTWF0cml4KHNyY195LCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIHNyY192LCBzcmNfc3RyaWRlX3YsICAvLyBTd2FwIFUgYW5kIFYKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgZHN0X2FiZ3IsIGRzdF9zdHJpZGVfYWJnciwKK2ludCBKNDIyVG9BQkdSKGNvbnN0IHVpbnQ4
KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAor
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYWJnciwKKyAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX2FiZ3IsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAg
ICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CisgIHJldHVybiBJNDIyVG9BUkdCTWF0cml4KHNyY195
LCBzcmNfc3RyaWRlX3ksIHNyY192LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3Ry
aWRlX3YsICAvLyBTd2FwIFUgYW5kIFYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3Us
IHNyY19zdHJpZGVfdSwgZHN0X2FiZ3IsIGRzdF9zdHJpZGVfYWJnciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmtZdnVKUEVHQ29uc3RhbnRzLCAgLy8gVXNlIFl2dSBtYXRyaXgKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8vIENvbnZlcnQgSDQy
MiB0byBBUkdCLgogTElCWVVWX0FQSQotaW50IEg0MjJUb0FSR0IoY29uc3QgdWludDgqIHNyY195
LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBp
bnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQg
c3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0
cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Ci0gIHJl
dHVybiBJNDIyVG9BUkdCTWF0cml4KHNyY195LCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIHNyY192LCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9h
cmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZrWXV2SDcw
OUNvbnN0YW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7Citp
bnQgSDQyMlRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
diwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAg
ICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgeworICByZXR1
cm4gSTQyMlRvQVJHQk1hdHJpeChzcmNfeSwgc3JjX3N0cmlkZV95LCBzcmNfdSwgc3JjX3N0cmlk
ZV91LCBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZV92LCBkc3Rf
YXJnYiwgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAma1l1dkg3
MDlDb25zdGFudHMsIHdpZHRoLCBoZWlnaHQpOwogfQogCiAvLyBDb252ZXJ0IEg0MjIgdG8gQUJH
Ui4KIExJQllVVl9BUEkKLWludCBINDIyVG9BQkdSKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNy
Y19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19z
dHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJp
ZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYWJnciwgaW50IGRzdF9zdHJpZGVfYWJn
ciwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICByZXR1cm4gSTQy
MlRvQVJHQk1hdHJpeChzcmNfeSwgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBzcmNfdiwgc3JjX3N0cmlkZV92LCAgLy8gU3dhcCBVIGFuZCBWCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGRzdF9hYmdyLCBkc3Rfc3RyaWRlX2FiZ3IsCitpbnQgSDQyMlRvQUJHUihjb25zdCB1aW50
OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwK
KyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FiZ3IsCisgICAgICAgICAg
ICAgICBpbnQgZHN0X3N0cmlkZV9hYmdyLAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAg
ICAgICAgICAgICAgaW50IGhlaWdodCkgeworICByZXR1cm4gSTQyMlRvQVJHQk1hdHJpeChzcmNf
eSwgc3JjX3N0cmlkZV95LCBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0
cmlkZV92LCAgLy8gU3dhcCBVIGFuZCBWCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY191
LCBzcmNfc3RyaWRlX3UsIGRzdF9hYmdyLCBkc3Rfc3RyaWRlX2FiZ3IsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZrWXZ1SDcwOUNvbnN0YW50cywgIC8vIFVzZSBZdnUgbWF0cml4CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOwogfQogCiAvLyBDb252ZXJ0IEk0
NDQgdG8gQVJHQiB3aXRoIG1hdHJpeAotc3RhdGljIGludCBJNDQ0VG9BUkdCTWF0cml4KGNvbnN0
IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVf
YXJnYiwKK3N0YXRpYyBpbnQgSTQ0NFRvQVJHQk1hdHJpeChjb25zdCB1aW50OCogc3JjX3ksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGVfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFu
dHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7Ci0gIHZvaWQgKCpJNDQ0VG9BUkdC
Um93KShjb25zdCB1aW50OCogeV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogdV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdl9idWYs
Ci0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogcmdiX2J1ZiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBJNDQ0VG9BUkdCUm93X0M7Ci0gIGlmICgh
c3JjX3kgfHwgIXNyY191IHx8ICFzcmNfdiB8fAotICAgICAgIWRzdF9hcmdiIHx8Ci0gICAgICB3
aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIHZvaWQgKCpJNDQ0VG9BUkdCUm93KShjb25z
dCB1aW50OCogeV9idWYsIGNvbnN0IHVpbnQ4KiB1X2J1ZiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiB2X2J1ZiwgdWludDgqIHJnYl9idWYsCisgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsIGludCB3aWR0
aCkgPQorICAgICAgSTQ0NFRvQVJHQlJvd19DOworICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAh
c3JjX3YgfHwgIWRzdF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICBy
ZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1h
Z2UuCkBAIC0zOTksOSArNDU1LDcgQEAgc3RhdGljIGludCBJNDQ0VG9BUkdCTWF0cml4KGNvbnN0
IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKICAgICBkc3Rfc3RyaWRlX2FyZ2IgPSAt
ZHN0X3N0cmlkZV9hcmdiOwogICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3Ry
aWRlX3kgPT0gd2lkdGggJiYKLSAgICAgIHNyY19zdHJpZGVfdSA9PSB3aWR0aCAmJgotICAgICAg
c3JjX3N0cmlkZV92ID09IHdpZHRoICYmCisgIGlmIChzcmNfc3RyaWRlX3kgPT0gd2lkdGggJiYg
c3JjX3N0cmlkZV91ID09IHdpZHRoICYmIHNyY19zdHJpZGVfdiA9PSB3aWR0aCAmJgogICAgICAg
ZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAg
ICBoZWlnaHQgPSAxOwpAQCAtNDMxLDYgKzQ4NSwyMiBAQCBzdGF0aWMgaW50IEk0NDRUb0FSR0JN
YXRyaXgoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogICAgIH0KICAgfQog
I2VuZGlmCisjaWYgZGVmaW5lZChIQVNfSTQ0NFRPQVJHQlJPV19EU1BSMikKKyAgaWYgKFRlc3RD
cHVGbGFnKGtDcHVIYXNEU1BSMikpIHsKKyAgICBJNDQ0VG9BUkdCUm93ID0gSTQ0NFRvQVJHQlJv
d19BbnlfRFNQUjI7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7CisgICAgICBJNDQ0
VG9BUkdCUm93ID0gSTQ0NFRvQVJHQlJvd19EU1BSMjsKKyAgICB9CisgIH0KKyNlbmRpZgorI2lm
IGRlZmluZWQoSEFTX0k0NDRUT0FSR0JST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhh
c01TQSkpIHsKKyAgICBJNDQ0VG9BUkdCUm93ID0gSTQ0NFRvQVJHQlJvd19BbnlfTVNBOworICAg
IGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgSTQ0NFRvQVJHQlJvdyA9IEk0NDRU
b0FSR0JSb3dfTVNBOworICAgIH0KKyAgfQorI2VuZGlmCiAKICAgZm9yICh5ID0gMDsgeSA8IGhl
aWdodDsgKyt5KSB7CiAgICAgSTQ0NFRvQVJHQlJvdyhzcmNfeSwgc3JjX3UsIHNyY192LCBkc3Rf
YXJnYiwgeXV2Y29uc3RhbnRzLCB3aWR0aCk7CkBAIC00NDQsNjkgKzUxNCw4MSBAQCBzdGF0aWMg
aW50IEk0NDRUb0FSR0JNYXRyaXgoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95
LAogCiAvLyBDb252ZXJ0IEk0NDQgdG8gQVJHQi4KIExJQllVVl9BUEkKLWludCBJNDQ0VG9BUkdC
KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwg
aW50IGhlaWdodCkgewotICByZXR1cm4gSTQ0NFRvQVJHQk1hdHJpeChzcmNfeSwgc3JjX3N0cmlk
ZV95LAotICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSwgc3JjX3N0cmlkZV91LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBzcmNfdiwgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBkc3RfYXJnYiwgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAma1l1dkk2MDFDb25zdGFudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IHdpZHRoLCBoZWlnaHQpOworaW50IEk0NDRUb0FSR0IoY29uc3QgdWludDgqIHNyY195LAorICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGlu
dCBoZWlnaHQpIHsKKyAgcmV0dXJuIEk0NDRUb0FSR0JNYXRyaXgoc3JjX3ksIHNyY19zdHJpZGVf
eSwgc3JjX3UsIHNyY19zdHJpZGVfdSwgc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IHNyY19zdHJpZGVfdiwgZHN0X2FyZ2IsIGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmtZdXZJNjAxQ29uc3RhbnRzLCB3aWR0aCwgaGVpZ2h0KTsKIH0KIAogLy8g
Q29udmVydCBJNDQ0IHRvIEFCR1IuCiBMSUJZVVZfQVBJCi1pbnQgSTQ0NFRvQUJHUihjb25zdCB1
aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FiZ3Is
IGludCBkc3Rfc3RyaWRlX2FiZ3IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWln
aHQpIHsKLSAgcmV0dXJuIEk0NDRUb0FSR0JNYXRyaXgoc3JjX3ksIHNyY19zdHJpZGVfeSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwgIC8vIFN3YXAgVSBh
bmQgVgotICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSwgc3JjX3N0cmlkZV91LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBkc3RfYWJnciwgZHN0X3N0cmlkZV9hYmdyLAoraW50IEk0
NDRUb0FCR1IoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hYmdyLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYWJnciwKKyAgICAgICAgICAg
ICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKKyAgcmV0dXJuIEk0
NDRUb0FSR0JNYXRyaXgoc3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3YsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNyY19zdHJpZGVfdiwgIC8vIFN3YXAgVSBhbmQgVgorICAgICAgICAgICAg
ICAgICAgICAgICAgICBzcmNfdSwgc3JjX3N0cmlkZV91LCBkc3RfYWJnciwgZHN0X3N0cmlkZV9h
YmdyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAma1l2dUk2MDFDb25zdGFudHMsICAvLyBV
c2UgWXZ1IG1hdHJpeAogICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsK
IH0KIAogLy8gQ29udmVydCBKNDQ0IHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgSjQ0NFRvQVJH
Qihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgs
IGludCBoZWlnaHQpIHsKLSAgcmV0dXJuIEk0NDRUb0FSR0JNYXRyaXgoc3JjX3ksIHNyY19zdHJp
ZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVfdSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgZHN0X2FyZ2IsIGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmtZdXZKUEVHQ29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICB3aWR0aCwgaGVpZ2h0KTsKK2ludCBKNDQ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwK
KyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBp
bnQgaGVpZ2h0KSB7CisgIHJldHVybiBJNDQ0VG9BUkdCTWF0cml4KHNyY195LCBzcmNfc3RyaWRl
X3ksIHNyY191LCBzcmNfc3RyaWRlX3UsIHNyY192LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBzcmNfc3RyaWRlX3YsIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICZrWXV2SlBFR0NvbnN0YW50cywgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8v
IENvbnZlcnQgSTQyMCB3aXRoIEFscGhhIHRvIHByZWF0dGVudWF0ZWQgQVJHQi4KLXN0YXRpYyBp
bnQgSTQyMEFscGhhVG9BUkdCTWF0cml4KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJp
ZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYSwgaW50IHNyY19zdHJpZGVfYSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJp
ZGVfYXJnYiwKK3N0YXRpYyBpbnQgSTQyMEFscGhhVG9BUkdCTWF0cml4KGNvbnN0IHVpbnQ4KiBz
cmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2EsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYXR0ZW51YXRl
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGF0dGVudWF0ZSkgewogICBpbnQgeTsKLSAgdm9pZCAoKkk0MjJB
bHBoYVRvQVJHQlJvdykoY29uc3QgdWludDgqIHlfYnVmLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogdV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiB2X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIGFfYnVmLAorICB2b2lkICgqSTQyMkFscGhhVG9BUkdCUm93KShjb25zdCB1aW50OCog
eV9idWYsIGNvbnN0IHVpbnQ4KiB1X2J1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHZfYnVmLCBjb25zdCB1aW50OCogYV9idWYsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpID0gSTQyMkFscGhhVG9BUkdCUm93X0M7Ci0gIHZv
aWQgKCpBUkdCQXR0ZW51YXRlUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3Rf
YXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBBUkdCQXR0ZW51
YXRlUm93X0M7Ci0gIGlmICghc3JjX3kgfHwgIXNyY191IHx8ICFzcmNfdiB8fCAhZHN0X2FyZ2Ig
fHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgdm9pZCAoKkFSR0JBdHRl
bnVhdGVSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lk
dGgpID0KKyAgICAgIEFSR0JBdHRlbnVhdGVSb3dfQzsKKyAgaWYgKCFzcmNfeSB8fCAhc3JjX3Ug
fHwgIXNyY192IHx8ICFkc3RfYXJnYiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAg
ICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhl
IGltYWdlLgpAQCAtNTQ4LDYgKzYzMCwxNCBAQCBzdGF0aWMgaW50IEk0MjBBbHBoYVRvQVJHQk1h
dHJpeChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAgICAgSTQyMkFscGhh
VG9BUkdCUm93ID0gSTQyMkFscGhhVG9BUkdCUm93X0RTUFIyOwogICB9CiAjZW5kaWYKKyNpZiBk
ZWZpbmVkKEhBU19JNDIyQUxQSEFUT0FSR0JST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0Nw
dUhhc01TQSkpIHsKKyAgICBJNDIyQWxwaGFUb0FSR0JSb3cgPSBJNDIyQWxwaGFUb0FSR0JSb3df
QW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIEk0MjJBbHBo
YVRvQVJHQlJvdyA9IEk0MjJBbHBoYVRvQVJHQlJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYK
ICNpZiBkZWZpbmVkKEhBU19BUkdCQVRURU5VQVRFUk9XX1NTU0UzKQogICBpZiAoVGVzdENwdUZs
YWcoa0NwdUhhc1NTU0UzKSkgewogICAgIEFSR0JBdHRlbnVhdGVSb3cgPSBBUkdCQXR0ZW51YXRl
Um93X0FueV9TU1NFMzsKQEAgLTU3Miw2ICs2NjIsMTQgQEAgc3RhdGljIGludCBJNDIwQWxwaGFU
b0FSR0JNYXRyaXgoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogICAgIH0K
ICAgfQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQkFUVEVOVUFURVJPV19NU0EpCisgIGlm
IChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEFSR0JBdHRlbnVhdGVSb3cgPSBBUkdC
QXR0ZW51YXRlUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7Cisg
ICAgICBBUkdCQXR0ZW51YXRlUm93ID0gQVJHQkF0dGVudWF0ZVJvd19NU0E7CisgICAgfQorICB9
CisjZW5kaWYKIAogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICBJNDIyQWxw
aGFUb0FSR0JSb3coc3JjX3ksIHNyY191LCBzcmNfdiwgc3JjX2EsIGRzdF9hcmdiLCB5dXZjb25z
dGFudHMsCkBAIC01OTIsNDkgKzY5MCw1OSBAQCBzdGF0aWMgaW50IEk0MjBBbHBoYVRvQVJHQk1h
dHJpeChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAKIC8vIENvbnZlcnQg
STQyMCB3aXRoIEFscGhhIHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgSTQyMEFscGhhVG9BUkdC
KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYSwgaW50IHNyY19zdHJpZGVfYSwKLSAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBhdHRlbnVhdGUpIHsKLSAgcmV0
dXJuIEk0MjBBbHBoYVRvQVJHQk1hdHJpeChzcmNfeSwgc3JjX3N0cmlkZV95LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzcmNfYSwgc3JjX3N0cmlkZV9hLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmtZdXZJNjAxQ29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHdpZHRoLCBoZWlnaHQsIGF0dGVudWF0ZSk7CitpbnQgSTQyMEFscGhhVG9BUkdCKGNv
bnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwK
KyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3YsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfYSwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCisgICAgICAgICAgICAg
ICAgICAgIGludCBhdHRlbnVhdGUpIHsKKyAgcmV0dXJuIEk0MjBBbHBoYVRvQVJHQk1hdHJpeChz
cmNfeSwgc3JjX3N0cmlkZV95LCBzcmNfdSwgc3JjX3N0cmlkZV91LCBzcmNfdiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlX3YsIHNyY19hLCBzcmNfc3RyaWRlX2Es
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9zdHJpZGVfYXJn
YiwgJmtZdXZJNjAxQ29uc3RhbnRzLCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWlnaHQsIGF0dGVudWF0ZSk7CiB9CiAKIC8vIENvbnZlcnQgSTQyMCB3aXRoIEFscGhh
IHRvIEFCR1IuCiBMSUJZVVZfQVBJCi1pbnQgSTQyMEFscGhhVG9BQkdSKGNvbnN0IHVpbnQ4KiBz
cmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfYSwgaW50IHNyY19zdHJpZGVfYSwKLSAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hYmdyLCBpbnQgZHN0X3N0cmlkZV9hYmdyLAotICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgsIGludCBoZWlnaHQsIGludCBhdHRlbnVhdGUpIHsKLSAgcmV0dXJuIEk0MjBBbHBoYVRv
QVJHQk1hdHJpeChzcmNfeSwgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNyY192LCBzcmNfc3RyaWRlX3YsICAvLyBTd2FwIFUgYW5kIFYKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzcmNfdSwgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNyY19hLCBzcmNfc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZHN0X2FiZ3IsIGRzdF9zdHJpZGVfYWJnciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAma1l2dUk2MDFDb25zdGFudHMsICAvLyBVc2UgWXZ1IG1hdHJpeAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQsIGF0dGVudWF0ZSk7Citp
bnQgSTQyMEFscGhhVG9BQkdSKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y191LAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYSwKKyAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYSwKKyAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hYmdyLAorICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hYmdyLAor
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGludCBo
ZWlnaHQsCisgICAgICAgICAgICAgICAgICAgIGludCBhdHRlbnVhdGUpIHsKKyAgcmV0dXJuIEk0
MjBBbHBoYVRvQVJHQk1hdHJpeCgKKyAgICAgIHNyY195LCBzcmNfc3RyaWRlX3ksIHNyY192LCBz
cmNfc3RyaWRlX3YsICAvLyBTd2FwIFUgYW5kIFYKKyAgICAgIHNyY191LCBzcmNfc3RyaWRlX3Us
IHNyY19hLCBzcmNfc3RyaWRlX2EsIGRzdF9hYmdyLCBkc3Rfc3RyaWRlX2FiZ3IsCisgICAgICAm
a1l2dUk2MDFDb25zdGFudHMsICAvLyBVc2UgWXZ1IG1hdHJpeAorICAgICAgd2lkdGgsIGhlaWdo
dCwgYXR0ZW51YXRlKTsKIH0KIAogLy8gQ29udmVydCBJNDAwIHRvIEFSR0IuCiBMSUJZVVZfQVBJ
Ci1pbnQgSTQwMFRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAg
ICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBJNDAwVG9BUkdCKGNvbnN0
IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9h
cmdiLAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdo
dCkgewogICBpbnQgeTsKLSAgdm9pZCAoKkk0MDBUb0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1
ZiwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAotICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKSA9IEk0MDBUb0FSR0JSb3dfQzsKLSAgaWYgKCFzcmNfeSB8fCAhZHN0
X2FyZ2IgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgdm9pZCAoKkk0
MDBUb0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1ZiwgdWludDgqIHJnYl9idWYsIGludCB3aWR0
aCkgPQorICAgICAgSTQwMFRvQVJHQlJvd19DOworICBpZiAoIXNyY195IHx8ICFkc3RfYXJnYiB8
fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8v
IE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtNjQ0LDggKzc1Miw3
IEBAIGludCBJNDAwVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwK
ICAgICBkc3Rfc3RyaWRlX2FyZ2IgPSAtZHN0X3N0cmlkZV9hcmdiOwogICB9CiAgIC8vIENvYWxl
c2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX3kgPT0gd2lkdGggJiYKLSAgICAgIGRzdF9zdHJp
ZGVfYXJnYiA9PSB3aWR0aCAqIDQpIHsKKyAgaWYgKHNyY19zdHJpZGVfeSA9PSB3aWR0aCAmJiBk
c3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0KSB7CiAgICAgd2lkdGggKj0gaGVpZ2h0OwogICAg
IGhlaWdodCA9IDE7CiAgICAgc3JjX3N0cmlkZV95ID0gZHN0X3N0cmlkZV9hcmdiID0gMDsKQEAg
LTY3NCw2ICs3ODEsMTQgQEAgaW50IEk0MDBUb0FSR0IoY29uc3QgdWludDgqIHNyY195LCBpbnQg
c3JjX3N0cmlkZV95LAogICAgIH0KICAgfQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfSTQwMFRP
QVJHQlJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEk0MDBU
b0FSR0JSb3cgPSBJNDAwVG9BUkdCUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lk
dGgsIDE2KSkgeworICAgICAgSTQwMFRvQVJHQlJvdyA9IEk0MDBUb0FSR0JSb3dfTVNBOworICAg
IH0KKyAgfQorI2VuZGlmCiAKICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CiAgICAg
STQwMFRvQVJHQlJvdyhzcmNfeSwgZHN0X2FyZ2IsIHdpZHRoKTsKQEAgLTY4NSwxNCArODAwLDE2
IEBAIGludCBJNDAwVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwK
IAogLy8gQ29udmVydCBKNDAwIHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgSjQwMFRvQVJHQihj
b25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lk
dGgsIGludCBoZWlnaHQpIHsKK2ludCBKNDAwVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKICAg
dm9pZCAoKko0MDBUb0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfeSwgdWludDgqIGRzdF9hcmdi
LCBpbnQgd2lkdGgpID0KICAgICAgIEo0MDBUb0FSR0JSb3dfQzsKLSAgaWYgKCFzcmNfeSB8fCAh
ZHN0X2FyZ2IgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgaWYgKCFz
cmNfeSB8fCAhZHN0X2FyZ2IgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJl
dHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFn
ZS4KQEAgLTcwMiw4ICs4MTksNyBAQCBpbnQgSjQwMFRvQVJHQihjb25zdCB1aW50OCogc3JjX3ks
IGludCBzcmNfc3RyaWRlX3ksCiAgICAgc3JjX3N0cmlkZV95ID0gLXNyY19zdHJpZGVfeTsKICAg
fQogICAvLyBDb2FsZXNjZSByb3dzLgotICBpZiAoc3JjX3N0cmlkZV95ID09IHdpZHRoICYmCi0g
ICAgICBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0KSB7CisgIGlmIChzcmNfc3RyaWRlX3kg
PT0gd2lkdGggJiYgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgewogICAgIHdpZHRoICo9
IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfeSA9IGRzdF9zdHJpZGVf
YXJnYiA9IDA7CkBAIC03MzIsNiArODQ4LDE0IEBAIGludCBKNDAwVG9BUkdCKGNvbnN0IHVpbnQ4
KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmlu
ZWQoSEFTX0o0MDBUT0FSR0JST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkp
IHsKKyAgICBKNDAwVG9BUkdCUm93ID0gSjQwMFRvQVJHQlJvd19BbnlfTVNBOworICAgIGlmIChJ
U19BTElHTkVEKHdpZHRoLCAxNikpIHsKKyAgICAgIEo0MDBUb0FSR0JSb3cgPSBKNDAwVG9BUkdC
Um93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyAr
K3kpIHsKICAgICBKNDAwVG9BUkdCUm93KHNyY195LCBkc3RfYXJnYiwgd2lkdGgpOwogICAgIHNy
Y195ICs9IHNyY19zdHJpZGVfeTsKQEAgLTc0MSw4NSArODY1LDg5IEBAIGludCBKNDAwVG9BUkdC
KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKIH0KIAogLy8gU2h1ZmZsZSB0
YWJsZSBmb3IgY29udmVydGluZyBCR1JBIHRvIEFSR0IuCi1zdGF0aWMgdXZlYzgga1NodWZmbGVN
YXNrQkdSQVRvQVJHQiA9IHsKLSAgM3UsIDJ1LCAxdSwgMHUsIDd1LCA2dSwgNXUsIDR1LCAxMXUs
IDEwdSwgOXUsIDh1LCAxNXUsIDE0dSwgMTN1LCAxMnUKLX07CitzdGF0aWMgdXZlYzgga1NodWZm
bGVNYXNrQkdSQVRvQVJHQiA9IHszdSwgIDJ1LCAgMXUsIDB1LCA3dSwgIDZ1LCAgNXUsICA0dSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExdSwgMTB1LCA5dSwgOHUs
IDE1dSwgMTR1LCAxM3UsIDEydX07CiAKIC8vIFNodWZmbGUgdGFibGUgZm9yIGNvbnZlcnRpbmcg
QUJHUiB0byBBUkdCLgotc3RhdGljIHV2ZWM4IGtTaHVmZmxlTWFza0FCR1JUb0FSR0IgPSB7Ci0g
IDJ1LCAxdSwgMHUsIDN1LCA2dSwgNXUsIDR1LCA3dSwgMTB1LCA5dSwgOHUsIDExdSwgMTR1LCAx
M3UsIDEydSwgMTV1Ci19Oworc3RhdGljIHV2ZWM4IGtTaHVmZmxlTWFza0FCR1JUb0FSR0IgPSB7
MnUsICAxdSwgMHUsIDN1LCAgNnUsICA1dSwgIDR1LCAgN3UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxMHUsIDl1LCA4dSwgMTF1LCAxNHUsIDEzdSwgMTJ1LCAxNXV9
OwogCiAvLyBTaHVmZmxlIHRhYmxlIGZvciBjb252ZXJ0aW5nIFJHQkEgdG8gQVJHQi4KLXN0YXRp
YyB1dmVjOCBrU2h1ZmZsZU1hc2tSR0JBVG9BUkdCID0gewotICAxdSwgMnUsIDN1LCAwdSwgNXUs
IDZ1LCA3dSwgNHUsIDl1LCAxMHUsIDExdSwgOHUsIDEzdSwgMTR1LCAxNXUsIDEydQotfTsKK3N0
YXRpYyB1dmVjOCBrU2h1ZmZsZU1hc2tSR0JBVG9BUkdCID0gezF1LCAydSwgIDN1LCAgMHUsIDV1
LCAgNnUsICA3dSwgIDR1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OXUsIDEwdSwgMTF1LCA4dSwgMTN1LCAxNHUsIDE1dSwgMTJ1fTsKIAogLy8gQ29udmVydCBCR1JB
IHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgQkdSQVRvQVJHQihjb25zdCB1aW50OCogc3JjX2Jn
cmEsIGludCBzcmNfc3RyaWRlX2JncmEsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
IGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWln
aHQpIHsKLSAgcmV0dXJuIEFSR0JTaHVmZmxlKHNyY19iZ3JhLCBzcmNfc3RyaWRlX2JncmEsCi0g
ICAgICAgICAgICAgICAgICAgICBkc3RfYXJnYiwgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAg
ICAgICAgICAgICAgKGNvbnN0IHVpbnQ4KikoJmtTaHVmZmxlTWFza0JHUkFUb0FSR0IpLAotICAg
ICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CitpbnQgQkdSQVRvQVJHQihjb25zdCB1
aW50OCogc3JjX2JncmEsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9iZ3JhLAorICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBo
ZWlnaHQpIHsKKyAgcmV0dXJuIEFSR0JTaHVmZmxlKHNyY19iZ3JhLCBzcmNfc3RyaWRlX2JncmEs
IGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAoY29uc3Qg
dWludDgqKSgma1NodWZmbGVNYXNrQkdSQVRvQVJHQiksIHdpZHRoLCBoZWlnaHQpOwogfQogCiAv
LyBDb252ZXJ0IEFSR0IgdG8gQkdSQSAoc2FtZSBhcyBCR1JBVG9BUkdCKS4KIExJQllVVl9BUEkK
LWludCBBUkdCVG9CR1JBKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwgaW50IHNyY19zdHJpZGVfYmdy
YSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwK
LSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICByZXR1cm4gQVJHQlNo
dWZmbGUoc3JjX2JncmEsIHNyY19zdHJpZGVfYmdyYSwKLSAgICAgICAgICAgICAgICAgICAgIGRz
dF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAoY29uc3QgdWlu
dDgqKSgma1NodWZmbGVNYXNrQkdSQVRvQVJHQiksCi0gICAgICAgICAgICAgICAgICAgICB3aWR0
aCwgaGVpZ2h0KTsKK2ludCBBUkdCVG9CR1JBKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwKKyAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlX2JncmEsCisgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgeworICByZXR1cm4gQVJH
QlNodWZmbGUoc3JjX2JncmEsIHNyY19zdHJpZGVfYmdyYSwgZHN0X2FyZ2IsIGRzdF9zdHJpZGVf
YXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIChjb25zdCB1aW50OCopKCZrU2h1ZmZsZU1hc2tC
R1JBVG9BUkdCKSwgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8vIENvbnZlcnQgQUJHUiB0byBBUkdC
LgogTElCWVVWX0FQSQotaW50IEFCR1JUb0FSR0IoY29uc3QgdWludDgqIHNyY19hYmdyLCBpbnQg
c3JjX3N0cmlkZV9hYmdyLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0
X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Ci0g
IHJldHVybiBBUkdCU2h1ZmZsZShzcmNfYWJnciwgc3JjX3N0cmlkZV9hYmdyLAotICAgICAgICAg
ICAgICAgICAgICAgZHN0X2FyZ2IsIGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAg
ICAgIChjb25zdCB1aW50OCopKCZrU2h1ZmZsZU1hc2tBQkdSVG9BUkdCKSwKLSAgICAgICAgICAg
ICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworaW50IEFCR1JUb0FSR0IoY29uc3QgdWludDgqIHNy
Y19hYmdyLAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYWJnciwKKyAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2Is
CisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7
CisgIHJldHVybiBBUkdCU2h1ZmZsZShzcmNfYWJnciwgc3JjX3N0cmlkZV9hYmdyLCBkc3RfYXJn
YiwgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IHVpbnQ4Kiko
JmtTaHVmZmxlTWFza0FCR1JUb0FSR0IpLCB3aWR0aCwgaGVpZ2h0KTsKIH0KIAogLy8gQ29udmVy
dCBBUkdCIHRvIEFCR1IgdG8gKHNhbWUgYXMgQUJHUlRvQVJHQikuCiBMSUJZVVZfQVBJCi1pbnQg
QVJHQlRvQUJHUihjb25zdCB1aW50OCogc3JjX2FiZ3IsIGludCBzcmNfc3RyaWRlX2FiZ3IsCi0g
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAg
ICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKLSAgcmV0dXJuIEFSR0JTaHVmZmxl
KHNyY19hYmdyLCBzcmNfc3RyaWRlX2FiZ3IsCi0gICAgICAgICAgICAgICAgICAgICBkc3RfYXJn
YiwgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IHVpbnQ4Kiko
JmtTaHVmZmxlTWFza0FCR1JUb0FSR0IpLAotICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhl
aWdodCk7CitpbnQgQVJHQlRvQUJHUihjb25zdCB1aW50OCogc3JjX2FiZ3IsCisgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZV9hYmdyLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKKyAgcmV0dXJuIEFSR0JTaHVm
ZmxlKHNyY19hYmdyLCBzcmNfc3RyaWRlX2FiZ3IsIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAoY29uc3QgdWludDgqKSgma1NodWZmbGVNYXNrQUJHUlRv
QVJHQiksIHdpZHRoLCBoZWlnaHQpOwogfQogCiAvLyBDb252ZXJ0IFJHQkEgdG8gQVJHQi4KIExJ
QllVVl9BUEkKLWludCBSR0JBVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYSwgaW50IHNyY19z
dHJpZGVfcmdiYSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJp
ZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICByZXR1
cm4gQVJHQlNodWZmbGUoc3JjX3JnYmEsIHNyY19zdHJpZGVfcmdiYSwKLSAgICAgICAgICAgICAg
ICAgICAgIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAo
Y29uc3QgdWludDgqKSgma1NodWZmbGVNYXNrUkdCQVRvQVJHQiksCi0gICAgICAgICAgICAgICAg
ICAgICB3aWR0aCwgaGVpZ2h0KTsKK2ludCBSR0JBVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfcmdi
YSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JnYmEsCisgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAg
ICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgeworICBy
ZXR1cm4gQVJHQlNodWZmbGUoc3JjX3JnYmEsIHNyY19zdHJpZGVfcmdiYSwgZHN0X2FyZ2IsIGRz
dF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIChjb25zdCB1aW50OCopKCZrU2h1
ZmZsZU1hc2tSR0JBVG9BUkdCKSwgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8vIENvbnZlcnQgUkdC
MjQgdG8gQVJHQi4KIExJQllVVl9BUEkKLWludCBSR0IyNFRvQVJHQihjb25zdCB1aW50OCogc3Jj
X3JnYjI0LCBpbnQgc3JjX3N0cmlkZV9yZ2IyNCwKLSAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KSB7CitpbnQgUkdCMjRUb0FSR0IoY29uc3QgdWludDgqIHNyY19yZ2IyNCwKKyAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2IyNCwKKyAgICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBp
bnQgeTsKICAgdm9pZCAoKlJHQjI0VG9BUkdCUm93KShjb25zdCB1aW50OCogc3JjX3JnYiwgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpID0KICAgICAgIFJHQjI0VG9BUkdCUm93X0M7Ci0gIGlm
ICghc3JjX3JnYjI0IHx8ICFkc3RfYXJnYiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQg
PT0gMCkgeworICBpZiAoIXNyY19yZ2IyNCB8fCAhZHN0X2FyZ2IgfHwgd2lkdGggPD0gMCB8fCBo
ZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQg
bWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTgyOSw4ICs5NTcsNyBAQCBpbnQgUkdCMjRUb0FS
R0IoY29uc3QgdWludDgqIHNyY19yZ2IyNCwgaW50IHNyY19zdHJpZGVfcmdiMjQsCiAgICAgc3Jj
X3N0cmlkZV9yZ2IyNCA9IC1zcmNfc3RyaWRlX3JnYjI0OwogICB9CiAgIC8vIENvYWxlc2NlIHJv
d3MuCi0gIGlmIChzcmNfc3RyaWRlX3JnYjI0ID09IHdpZHRoICogMyAmJgotICAgICAgZHN0X3N0
cmlkZV9hcmdiID09IHdpZHRoICogNCkgeworICBpZiAoc3JjX3N0cmlkZV9yZ2IyNCA9PSB3aWR0
aCAqIDMgJiYgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgewogICAgIHdpZHRoICo9IGhl
aWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfcmdiMjQgPSBkc3Rfc3RyaWRl
X2FyZ2IgPSAwOwpAQCAtODUxLDYgKzk3OCwyMiBAQCBpbnQgUkdCMjRUb0FSR0IoY29uc3QgdWlu
dDgqIHNyY19yZ2IyNCwgaW50IHNyY19zdHJpZGVfcmdiMjQsCiAgICAgfQogICB9CiAjZW5kaWYK
KyNpZiBkZWZpbmVkKEhBU19SR0IyNFRPQVJHQlJPV19EU1BSMikKKyAgaWYgKFRlc3RDcHVGbGFn
KGtDcHVIYXNEU1BSMikpIHsKKyAgICBSR0IyNFRvQVJHQlJvdyA9IFJHQjI0VG9BUkdCUm93X0Fu
eV9EU1BSMjsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIFJHQjI0VG9B
UkdCUm93ID0gUkdCMjRUb0FSR0JSb3dfRFNQUjI7CisgICAgfQorICB9CisjZW5kaWYKKyNpZiBk
ZWZpbmVkKEhBU19SR0IyNFRPQVJHQlJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFz
TVNBKSkgeworICAgIFJHQjI0VG9BUkdCUm93ID0gUkdCMjRUb0FSR0JSb3dfQW55X01TQTsKKyAg
ICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBSR0IyNFRvQVJHQlJvdyA9IFJH
QjI0VG9BUkdCUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkg
PCBoZWlnaHQ7ICsreSkgewogICAgIFJHQjI0VG9BUkdCUm93KHNyY19yZ2IyNCwgZHN0X2FyZ2Is
IHdpZHRoKTsKQEAgLTg2MiwxNCArMTAwNSwxNiBAQCBpbnQgUkdCMjRUb0FSR0IoY29uc3QgdWlu
dDgqIHNyY19yZ2IyNCwgaW50IHNyY19zdHJpZGVfcmdiMjQsCiAKIC8vIENvbnZlcnQgUkFXIHRv
IEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgUkFXVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCBp
bnQgc3JjX3N0cmlkZV9yYXcsCi0gICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRz
dF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Citp
bnQgUkFXVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LAorICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV9yYXcsCisgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAg
ICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lkICgqUkFXVG9BUkdCUm93KShj
b25zdCB1aW50OCogc3JjX3JnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpID0KICAgICAg
IFJBV1RvQVJHQlJvd19DOwotICBpZiAoIXNyY19yYXcgfHwgIWRzdF9hcmdiIHx8Ci0gICAgICB3
aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3JjX3JhdyB8fCAhZHN0X2FyZ2Ig
fHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAv
LyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTg3OSw4ICsxMDI0
LDcgQEAgaW50IFJBV1RvQVJHQihjb25zdCB1aW50OCogc3JjX3JhdywgaW50IHNyY19zdHJpZGVf
cmF3LAogICAgIHNyY19zdHJpZGVfcmF3ID0gLXNyY19zdHJpZGVfcmF3OwogICB9CiAgIC8vIENv
YWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX3JhdyA9PSB3aWR0aCAqIDMgJiYKLSAgICAg
IGRzdF9zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQpIHsKKyAgaWYgKHNyY19zdHJpZGVfcmF3ID09
IHdpZHRoICogMyAmJiBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0KSB7CiAgICAgd2lkdGgg
Kj0gaGVpZ2h0OwogICAgIGhlaWdodCA9IDE7CiAgICAgc3JjX3N0cmlkZV9yYXcgPSBkc3Rfc3Ry
aWRlX2FyZ2IgPSAwOwpAQCAtOTAxLDYgKzEwNDUsMjIgQEAgaW50IFJBV1RvQVJHQihjb25zdCB1
aW50OCogc3JjX3JhdywgaW50IHNyY19zdHJpZGVfcmF3LAogICAgIH0KICAgfQogI2VuZGlmCisj
aWYgZGVmaW5lZChIQVNfUkFXVE9BUkdCUk9XX0RTUFIyKQorICBpZiAoVGVzdENwdUZsYWcoa0Nw
dUhhc0RTUFIyKSkgeworICAgIFJBV1RvQVJHQlJvdyA9IFJBV1RvQVJHQlJvd19BbnlfRFNQUjI7
CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7CisgICAgICBSQVdUb0FSR0JSb3cgPSBS
QVdUb0FSR0JSb3dfRFNQUjI7CisgICAgfQorICB9CisjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19S
QVdUT0FSR0JST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBS
QVdUb0FSR0JSb3cgPSBSQVdUb0FSR0JSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3
aWR0aCwgMTYpKSB7CisgICAgICBSQVdUb0FSR0JSb3cgPSBSQVdUb0FSR0JSb3dfTVNBOworICAg
IH0KKyAgfQorI2VuZGlmCiAKICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CiAgICAg
UkFXVG9BUkdCUm93KHNyY19yYXcsIGRzdF9hcmdiLCB3aWR0aCk7CkBAIC05MTIsMTQgKzEwNzIs
MTYgQEAgaW50IFJBV1RvQVJHQihjb25zdCB1aW50OCogc3JjX3JhdywgaW50IHNyY19zdHJpZGVf
cmF3LAogCiAvLyBDb252ZXJ0IFJHQjU2NSB0byBBUkdCLgogTElCWVVWX0FQSQotaW50IFJHQjU2
NVRvQVJHQihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwgaW50IHNyY19zdHJpZGVfcmdiNTY1LAot
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0g
ICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IFJHQjU2NVRvQVJH
Qihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGVfcmdiNTY1LAorICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgIGludCB3aWR0aCwK
KyAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKICAgdm9pZCAoKlJHQjU2
NVRvQVJHQlJvdykoY29uc3QgdWludDgqIHNyY19yZ2I1NjUsIHVpbnQ4KiBkc3RfYXJnYiwgaW50
IHdpZHRoKSA9CiAgICAgICBSR0I1NjVUb0FSR0JSb3dfQzsKLSAgaWYgKCFzcmNfcmdiNTY1IHx8
ICFkc3RfYXJnYiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAo
IXNyY19yZ2I1NjUgfHwgIWRzdF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsK
ICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0
aGUgaW1hZ2UuCkBAIC05MjksOCArMTA5MSw3IEBAIGludCBSR0I1NjVUb0FSR0IoY29uc3QgdWlu
dDgqIHNyY19yZ2I1NjUsIGludCBzcmNfc3RyaWRlX3JnYjU2NSwKICAgICBzcmNfc3RyaWRlX3Jn
YjU2NSA9IC1zcmNfc3RyaWRlX3JnYjU2NTsKICAgfQogICAvLyBDb2FsZXNjZSByb3dzLgotICBp
ZiAoc3JjX3N0cmlkZV9yZ2I1NjUgPT0gd2lkdGggKiAyICYmCi0gICAgICBkc3Rfc3RyaWRlX2Fy
Z2IgPT0gd2lkdGggKiA0KSB7CisgIGlmIChzcmNfc3RyaWRlX3JnYjU2NSA9PSB3aWR0aCAqIDIg
JiYgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgewogICAgIHdpZHRoICo9IGhlaWdodDsK
ICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfcmdiNTY1ID0gZHN0X3N0cmlkZV9hcmdi
ID0gMDsKQEAgLTk1OSw2ICsxMTIwLDIyIEBAIGludCBSR0I1NjVUb0FSR0IoY29uc3QgdWludDgq
IHNyY19yZ2I1NjUsIGludCBzcmNfc3RyaWRlX3JnYjU2NSwKICAgICB9CiAgIH0KICNlbmRpZgor
I2lmIGRlZmluZWQoSEFTX1JHQjU2NVRPQVJHQlJPV19EU1BSMikKKyAgaWYgKFRlc3RDcHVGbGFn
KGtDcHVIYXNEU1BSMikpIHsKKyAgICBSR0I1NjVUb0FSR0JSb3cgPSBSR0I1NjVUb0FSR0JSb3df
QW55X0RTUFIyOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgUkdCNTY1
VG9BUkdCUm93ID0gUkdCNTY1VG9BUkdCUm93X0RTUFIyOworICAgIH0KKyAgfQorI2VuZGlmCisj
aWYgZGVmaW5lZChIQVNfUkdCNTY1VE9BUkdCUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtD
cHVIYXNNU0EpKSB7CisgICAgUkdCNTY1VG9BUkdCUm93ID0gUkdCNTY1VG9BUkdCUm93X0FueV9N
U0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkgeworICAgICAgUkdCNTY1VG9BUkdC
Um93ID0gUkdCNTY1VG9BUkdCUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAo
eSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewogICAgIFJHQjU2NVRvQVJHQlJvdyhzcmNfcmdiNTY1
LCBkc3RfYXJnYiwgd2lkdGgpOwpAQCAtOTcwLDE0ICsxMTQ3LDE2IEBAIGludCBSR0I1NjVUb0FS
R0IoY29uc3QgdWludDgqIHNyY19yZ2I1NjUsIGludCBzcmNfc3RyaWRlX3JnYjU2NSwKIAogLy8g
Q29udmVydCBBUkdCMTU1NSB0byBBUkdCLgogTElCWVVWX0FQSQotaW50IEFSR0IxNTU1VG9BUkdC
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAotICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCMTU1NVRv
QVJHQihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5
OwogICB2b2lkICgqQVJHQjE1NTVUb0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUs
IHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgIGludCB3aWR0aCkgPSBBUkdCMTU1NVRvQVJHQlJvd19D
OwotICBpZiAoIXNyY19hcmdiMTU1NSB8fCAhZHN0X2FyZ2IgfHwKLSAgICAgIHdpZHRoIDw9IDAg
fHwgaGVpZ2h0ID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
ID0gQVJHQjE1NTVUb0FSR0JSb3dfQzsKKyAgaWYgKCFzcmNfYXJnYjE1NTUgfHwgIWRzdF9hcmdi
IHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAg
Ly8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC05ODcsOCArMTE2
Niw3IEBAIGludCBBUkdCMTU1NVRvQVJHQihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCBpbnQg
c3JjX3N0cmlkZV9hcmdiMTU1NSwKICAgICBzcmNfc3RyaWRlX2FyZ2IxNTU1ID0gLXNyY19zdHJp
ZGVfYXJnYjE1NTU7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVf
YXJnYjE1NTUgPT0gd2lkdGggKiAyICYmCi0gICAgICBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGgg
KiA0KSB7CisgIGlmIChzcmNfc3RyaWRlX2FyZ2IxNTU1ID09IHdpZHRoICogMiAmJiBkc3Rfc3Ry
aWRlX2FyZ2IgPT0gd2lkdGggKiA0KSB7CiAgICAgd2lkdGggKj0gaGVpZ2h0OwogICAgIGhlaWdo
dCA9IDE7CiAgICAgc3JjX3N0cmlkZV9hcmdiMTU1NSA9IGRzdF9zdHJpZGVfYXJnYiA9IDA7CkBA
IC0xMDE3LDYgKzExOTUsMjIgQEAgaW50IEFSR0IxNTU1VG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAogICAgIH0KICAgfQogI2VuZGlmCisj
aWYgZGVmaW5lZChIQVNfQVJHQjE1NTVUT0FSR0JST1dfRFNQUjIpCisgIGlmIChUZXN0Q3B1Rmxh
ZyhrQ3B1SGFzRFNQUjIpKSB7CisgICAgQVJHQjE1NTVUb0FSR0JSb3cgPSBBUkdCMTU1NVRvQVJH
QlJvd19BbnlfRFNQUjI7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDQpKSB7CisgICAgICBB
UkdCMTU1NVRvQVJHQlJvdyA9IEFSR0IxNTU1VG9BUkdCUm93X0RTUFIyOworICAgIH0KKyAgfQor
I2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQjE1NTVUT0FSR0JST1dfTVNBKQorICBpZiAoVGVz
dENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBBUkdCMTU1NVRvQVJHQlJvdyA9IEFSR0IxNTU1
VG9BUkdCUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkgeworICAg
ICAgQVJHQjE1NTVUb0FSR0JSb3cgPSBBUkdCMTU1NVRvQVJHQlJvd19NU0E7CisgICAgfQorICB9
CisjZW5kaWYKIAogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICBBUkdCMTU1
NVRvQVJHQlJvdyhzcmNfYXJnYjE1NTUsIGRzdF9hcmdiLCB3aWR0aCk7CkBAIC0xMDI4LDE0ICsx
MjIyLDE2IEBAIGludCBBUkdCMTU1NVRvQVJHQihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCBp
bnQgc3JjX3N0cmlkZV9hcmdiMTU1NSwKIAogLy8gQ29udmVydCBBUkdCNDQ0NCB0byBBUkdCLgog
TElCWVVWX0FQSQotaW50IEFSR0I0NDQ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQs
IGludCBzcmNfc3RyaWRlX2FyZ2I0NDQ0LAotICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgs
IGludCBoZWlnaHQpIHsKK2ludCBBUkdCNDQ0NFRvQVJHQihjb25zdCB1aW50OCogc3JjX2FyZ2I0
NDQ0LAorICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2I0NDQ0LAorICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lkICgqQVJHQjQ0NDRUb0FSR0JS
b3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgIGlu
dCB3aWR0aCkgPSBBUkdCNDQ0NFRvQVJHQlJvd19DOwotICBpZiAoIXNyY19hcmdiNDQ0NCB8fCAh
ZHN0X2FyZ2IgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpID0gQVJHQjQ0NDRUb0FSR0JSb3dfQzsKKyAg
aWYgKCFzcmNfYXJnYjQ0NDQgfHwgIWRzdF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09
IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGlu
dmVydCB0aGUgaW1hZ2UuCkBAIC0xMDQ1LDggKzEyNDEsNyBAQCBpbnQgQVJHQjQ0NDRUb0FSR0Io
Y29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwgaW50IHNyY19zdHJpZGVfYXJnYjQ0NDQsCiAgICAg
c3JjX3N0cmlkZV9hcmdiNDQ0NCA9IC1zcmNfc3RyaWRlX2FyZ2I0NDQ0OwogICB9CiAgIC8vIENv
YWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX2FyZ2I0NDQ0ID09IHdpZHRoICogMiAmJgot
ICAgICAgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgeworICBpZiAoc3JjX3N0cmlkZV9h
cmdiNDQ0NCA9PSB3aWR0aCAqIDIgJiYgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgewog
ICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfYXJn
YjQ0NDQgPSBkc3Rfc3RyaWRlX2FyZ2IgPSAwOwpAQCAtMTA3NSw2ICsxMjcwLDE0IEBAIGludCBB
UkdCNDQ0NFRvQVJHQihjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCBpbnQgc3JjX3N0cmlkZV9h
cmdiNDQ0NCwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0I0NDQ0VE9B
UkdCUk9XX0RTUFIyKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKSkgeworICAgIEFS
R0I0NDQ0VG9BUkdCUm93ID0gQVJHQjQ0NDRUb0FSR0JSb3dfQW55X0RTUFIyOworICAgIGlmIChJ
U19BTElHTkVEKHdpZHRoLCA0KSkgeworICAgICAgQVJHQjQ0NDRUb0FSR0JSb3cgPSBBUkdCNDQ0
NFRvQVJHQlJvd19EU1BSMjsKKyAgICB9CisgIH0KKyNlbmRpZgogI2lmIGRlZmluZWQoSEFTX0FS
R0I0NDQ0VE9BUkdCUk9XX01TQSkKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CiAg
ICAgQVJHQjQ0NDRUb0FSR0JSb3cgPSBBUkdCNDQ0NFRvQVJHQlJvd19BbnlfTVNBOwpAQCAtMTA5
NCwxOCArMTI5NywxOSBAQCBpbnQgQVJHQjQ0NDRUb0FSR0IoY29uc3QgdWludDgqIHNyY19hcmdi
NDQ0NCwgaW50IHNyY19zdHJpZGVfYXJnYjQ0NDQsCiAKIC8vIENvbnZlcnQgTlYxMiB0byBBUkdC
LgogTElCWVVWX0FQSQotaW50IE5WMTJUb0FSR0IoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3Jj
X3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191diwgaW50IHNyY19z
dHJpZGVfdXYsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRl
X2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBOVjEy
VG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3V2LAorICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfdXYsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgaW50IHdpZHRo
LAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKLSAgdm9pZCAoKk5WMTJU
b0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiB1dl9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogcmdiX2J1
ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1
dmNvbnN0YW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBOVjEyVG9B
UkdCUm93X0M7Ci0gIGlmICghc3JjX3kgfHwgIXNyY191diB8fCAhZHN0X2FyZ2IgfHwKLSAgICAg
IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgdm9pZCAoKk5WMTJUb0FSR0JSb3cpKGNv
bnN0IHVpbnQ4KiB5X2J1ZiwgY29uc3QgdWludDgqIHV2X2J1ZiwgdWludDgqIHJnYl9idWYsCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25z
dGFudHMsIGludCB3aWR0aCkgPQorICAgICAgTlYxMlRvQVJHQlJvd19DOworICBpZiAoIXNyY195
IHx8ICFzcmNfdXYgfHwgIWRzdF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsK
ICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0
aGUgaW1hZ2UuCkBAIC0xMTM4LDYgKzEzNDIsMjIgQEAgaW50IE5WMTJUb0FSR0IoY29uc3QgdWlu
dDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogICAgIH0KICAgfQogI2VuZGlmCisjaWYgZGVm
aW5lZChIQVNfTlYxMlRPQVJHQlJPV19EU1BSMikKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNE
U1BSMikpIHsKKyAgICBOVjEyVG9BUkdCUm93ID0gTlYxMlRvQVJHQlJvd19BbnlfRFNQUjI7Cisg
ICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7CisgICAgICBOVjEyVG9BUkdCUm93ID0gTlYx
MlRvQVJHQlJvd19EU1BSMjsKKyAgICB9CisgIH0KKyNlbmRpZgorI2lmIGRlZmluZWQoSEFTX05W
MTJUT0FSR0JST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBO
VjEyVG9BUkdCUm93ID0gTlYxMlRvQVJHQlJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVE
KHdpZHRoLCA4KSkgeworICAgICAgTlYxMlRvQVJHQlJvdyA9IE5WMTJUb0FSR0JSb3dfTVNBOwor
ICAgIH0KKyAgfQorI2VuZGlmCiAKICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CiAg
ICAgTlYxMlRvQVJHQlJvdyhzcmNfeSwgc3JjX3V2LCBkc3RfYXJnYiwgJmtZdXZJNjAxQ29uc3Rh
bnRzLCB3aWR0aCk7CkBAIC0xMTUyLDE4ICsxMzcyLDE5IEBAIGludCBOVjEyVG9BUkdCKGNvbnN0
IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKIAogLy8gQ29udmVydCBOVjIxIHRvIEFS
R0IuCiBMSUJZVVZfQVBJCi1pbnQgTlYyMVRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksIGludCBz
cmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3V2LCBpbnQgc3Jj
X3N0cmlkZV91diwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJp
ZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IE5W
MjFUb0FSR0IoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdXYsCisgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV91diwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgd2lk
dGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotICB2b2lkICgqTlYy
MVRvQVJHQlJvdykoY29uc3QgdWludDgqIHlfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHV2X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2Jf
YnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyog
eXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSA9IE5WMjFU
b0FSR0JSb3dfQzsKLSAgaWYgKCFzcmNfeSB8fCAhc3JjX3V2IHx8ICFkc3RfYXJnYiB8fAotICAg
ICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICB2b2lkICgqTlYyMVRvQVJHQlJvdyko
Y29uc3QgdWludDgqIHlfYnVmLCBjb25zdCB1aW50OCogdXZfYnVmLCB1aW50OCogcmdiX2J1ZiwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNv
bnN0YW50cywgaW50IHdpZHRoKSA9CisgICAgICBOVjIxVG9BUkdCUm93X0M7CisgIGlmICghc3Jj
X3kgfHwgIXNyY191diB8fCAhZHN0X2FyZ2IgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkg
ewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0
IHRoZSBpbWFnZS4KQEAgLTExOTYsNiArMTQxNywxNCBAQCBpbnQgTlYyMVRvQVJHQihjb25zdCB1
aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBk
ZWZpbmVkKEhBU19OVjIxVE9BUkdCUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNN
U0EpKSB7CisgICAgTlYyMVRvQVJHQlJvdyA9IE5WMjFUb0FSR0JSb3dfQW55X01TQTsKKyAgICBp
ZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIE5WMjFUb0FSR0JSb3cgPSBOVjIxVG9B
UkdCUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBoZWln
aHQ7ICsreSkgewogICAgIE5WMjFUb0FSR0JSb3coc3JjX3ksIHNyY191diwgZHN0X2FyZ2IsICZr
WXV2STYwMUNvbnN0YW50cywgd2lkdGgpOwpAQCAtMTIxMCwxNyArMTQzOSwxNyBAQCBpbnQgTlYy
MVRvQVJHQihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAKIC8vIENvbnZl
cnQgTTQyMCB0byBBUkdCLgogTElCWVVWX0FQSQotaW50IE00MjBUb0FSR0IoY29uc3QgdWludDgq
IHNyY19tNDIwLCBpbnQgc3JjX3N0cmlkZV9tNDIwLAotICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KSB7CitpbnQgTTQyMFRvQVJHQihjb25zdCB1aW50OCogc3JjX200MjAsCisgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9tNDIwLAorICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAg
ICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7Ci0g
IHZvaWQgKCpOVjEyVG9BUkdCUm93KShjb25zdCB1aW50OCogeV9idWYsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogdXZfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIHJnYl9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2
Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpID0gTlYxMlRvQVJHQlJvd19DOwotICBpZiAoIXNyY19tNDIwIHx8ICFkc3RfYXJnYiB8fAot
ICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICB2b2lkICgqTlYxMlRvQVJHQlJv
dykoY29uc3QgdWludDgqIHlfYnVmLCBjb25zdCB1aW50OCogdXZfYnVmLCB1aW50OCogcmdiX2J1
ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1
dmNvbnN0YW50cywgaW50IHdpZHRoKSA9CisgICAgICBOVjEyVG9BUkdCUm93X0M7CisgIGlmICgh
c3JjX200MjAgfHwgIWRzdF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAg
ICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUg
aW1hZ2UuCkBAIC0xMjUzLDYgKzE0ODIsMjIgQEAgaW50IE00MjBUb0FSR0IoY29uc3QgdWludDgq
IHNyY19tNDIwLCBpbnQgc3JjX3N0cmlkZV9tNDIwLAogICAgIH0KICAgfQogI2VuZGlmCisjaWYg
ZGVmaW5lZChIQVNfTlYxMlRPQVJHQlJPV19EU1BSMikKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVI
YXNEU1BSMikpIHsKKyAgICBOVjEyVG9BUkdCUm93ID0gTlYxMlRvQVJHQlJvd19BbnlfRFNQUjI7
CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7CisgICAgICBOVjEyVG9BUkdCUm93ID0g
TlYxMlRvQVJHQlJvd19EU1BSMjsKKyAgICB9CisgIH0KKyNlbmRpZgorI2lmIGRlZmluZWQoSEFT
X05WMTJUT0FSR0JST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAg
ICBOVjEyVG9BUkdCUm93ID0gTlYxMlRvQVJHQlJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElH
TkVEKHdpZHRoLCA4KSkgeworICAgICAgTlYxMlRvQVJHQlJvdyA9IE5WMTJUb0FSR0JSb3dfTVNB
OworICAgIH0KKyAgfQorI2VuZGlmCiAKICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodCAtIDE7IHkg
Kz0gMikgewogICAgIE5WMTJUb0FSR0JSb3coc3JjX200MjAsIHNyY19tNDIwICsgc3JjX3N0cmlk
ZV9tNDIwICogMiwgZHN0X2FyZ2IsCkBAIC0xMjcxLDE3ICsxNTE2LDE3IEBAIGludCBNNDIwVG9B
UkdCKGNvbnN0IHVpbnQ4KiBzcmNfbTQyMCwgaW50IHNyY19zdHJpZGVfbTQyMCwKIAogLy8gQ29u
dmVydCBZVVkyIHRvIEFSR0IuCiBMSUJZVVZfQVBJCi1pbnQgWVVZMlRvQVJHQihjb25zdCB1aW50
OCogc3JjX3l1eTIsIGludCBzcmNfc3RyaWRlX3l1eTIsCi0gICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgs
IGludCBoZWlnaHQpIHsKK2ludCBZVVkyVG9BUkdCKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3l1eTIsCisgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAg
ICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsK
LSAgdm9pZCAoKllVWTJUb0FSR0JSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgPQorICB2b2lkICgqWVVZMlRvQVJHQlJvdykoY29uc3QgdWlu
dDgqIHNyY195dXkyLCB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsIGludCB3aWR0aCkgPQogICAg
ICAgWVVZMlRvQVJHQlJvd19DOwotICBpZiAoIXNyY195dXkyIHx8ICFkc3RfYXJnYiB8fAotICAg
ICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAoIXNyY195dXkyIHx8ICFkc3Rf
YXJnYiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9
CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMTI5MSw4
ICsxNTM2LDcgQEAgaW50IFlVWTJUb0FSR0IoY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3Jj
X3N0cmlkZV95dXkyLAogICAgIHNyY19zdHJpZGVfeXV5MiA9IC1zcmNfc3RyaWRlX3l1eTI7CiAg
IH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVfeXV5MiA9PSB3aWR0aCAq
IDIgJiYKLSAgICAgIGRzdF9zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQpIHsKKyAgaWYgKHNyY19z
dHJpZGVfeXV5MiA9PSB3aWR0aCAqIDIgJiYgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkg
ewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVf
eXV5MiA9IGRzdF9zdHJpZGVfYXJnYiA9IDA7CkBAIC0xMzIxLDYgKzE1NjUsMTQgQEAgaW50IFlV
WTJUb0FSR0IoY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95dXkyLAogICAg
IH0KICAgfQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfWVVZMlRPQVJHQlJPV19NU0EpCisgIGlm
IChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIFlVWTJUb0FSR0JSb3cgPSBZVVkyVG9B
UkdCUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7CisgICAgICBZ
VVkyVG9BUkdCUm93ID0gWVVZMlRvQVJHQlJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKICAg
Zm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CiAgICAgWVVZMlRvQVJHQlJvdyhzcmNfeXV5
MiwgZHN0X2FyZ2IsICZrWXV2STYwMUNvbnN0YW50cywgd2lkdGgpOwogICAgIHNyY195dXkyICs9
IHNyY19zdHJpZGVfeXV5MjsKQEAgLTEzMzEsMTcgKzE1ODMsMTcgQEAgaW50IFlVWTJUb0FSR0Io
Y29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95dXkyLAogCiAvLyBDb252ZXJ0
IFVZVlkgdG8gQVJHQi4KIExJQllVVl9BUEkKLWludCBVWVZZVG9BUkdCKGNvbnN0IHVpbnQ4KiBz
cmNfdXl2eSwgaW50IHNyY19zdHJpZGVfdXl2eSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50
IGhlaWdodCkgeworaW50IFVZVllUb0FSR0IoY29uc3QgdWludDgqIHNyY191eXZ5LAorICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGVfdXl2eSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAg
ICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotICB2
b2lkICgqVVlWWVRvQVJHQlJvdykoY29uc3QgdWludDgqIHNyY191eXZ5LAotICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKSA9CisgIHZvaWQgKCpVWVZZVG9BUkdCUm93KShjb25zdCB1aW50OCog
c3JjX3V5dnksIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywgaW50IHdpZHRoKSA9CiAgICAgICBV
WVZZVG9BUkdCUm93X0M7Ci0gIGlmICghc3JjX3V5dnkgfHwgIWRzdF9hcmdiIHx8Ci0gICAgICB3
aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3JjX3V5dnkgfHwgIWRzdF9hcmdi
IHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAg
Ly8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC0xMzUxLDggKzE2
MDMsNyBAQCBpbnQgVVlWWVRvQVJHQihjb25zdCB1aW50OCogc3JjX3V5dnksIGludCBzcmNfc3Ry
aWRlX3V5dnksCiAgICAgc3JjX3N0cmlkZV91eXZ5ID0gLXNyY19zdHJpZGVfdXl2eTsKICAgfQog
ICAvLyBDb2FsZXNjZSByb3dzLgotICBpZiAoc3JjX3N0cmlkZV91eXZ5ID09IHdpZHRoICogMiAm
JgotICAgICAgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgeworICBpZiAoc3JjX3N0cmlk
ZV91eXZ5ID09IHdpZHRoICogMiAmJiBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0KSB7CiAg
ICAgd2lkdGggKj0gaGVpZ2h0OwogICAgIGhlaWdodCA9IDE7CiAgICAgc3JjX3N0cmlkZV91eXZ5
ID0gZHN0X3N0cmlkZV9hcmdiID0gMDsKQEAgLTEzODEsNiArMTYzMiwxNCBAQCBpbnQgVVlWWVRv
QVJHQihjb25zdCB1aW50OCogc3JjX3V5dnksIGludCBzcmNfc3RyaWRlX3V5dnksCiAgICAgfQog
ICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19VWVZZVE9BUkdCUk9XX01TQSkKKyAgaWYgKFRl
c3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgVVlWWVRvQVJHQlJvdyA9IFVZVllUb0FSR0JS
b3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIFVZVllU
b0FSR0JSb3cgPSBVWVZZVG9BUkdCUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogICBmb3Ig
KHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICBVWVZZVG9BUkdCUm93KHNyY191eXZ5LCBk
c3RfYXJnYiwgJmtZdXZJNjAxQ29uc3RhbnRzLCB3aWR0aCk7CiAgICAgc3JjX3V5dnkgKz0gc3Jj
X3N0cmlkZV91eXZ5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbnZlcnRfZnJvbS5jYyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jb252
ZXJ0X2Zyb20uY2MKaW5kZXggODlkMjRmNDc0MGU2ZjRlZjI4NWM4MmU0Y2Q1ODQ4YmZmYzU3N2Vi
OS4uZDYyMzczMWQ5ZmYyNDc2Y2UzYjFmNTJiNmNiNDEyYTQwNWY5NDI0MSAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291
cmNlL2NvbnZlcnRfZnJvbS5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29udmVydF9mcm9tLmNjCkBAIC0xNSw5ICsx
NSw5IEBACiAjaW5jbHVkZSAibGlieXV2L2NwdV9pZC5oIgogI2luY2x1ZGUgImxpYnl1di9wbGFu
YXJfZnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAibGlieXV2L3JvdGF0ZS5oIgorI2luY2x1ZGUgImxp
Ynl1di9yb3cuaCIKICNpbmNsdWRlICJsaWJ5dXYvc2NhbGUuaCIgIC8vIEZvciBTY2FsZVBsYW5l
KCkKICNpbmNsdWRlICJsaWJ5dXYvdmlkZW9fY29tbW9uLmgiCi0jaW5jbHVkZSAibGlieXV2L3Jv
dy5oIgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIG5hbWVzcGFjZSBsaWJ5dXYgewpAQCAtMzAsODcg
KzMwLDEwMCBAQCBzdGF0aWMgX19pbmxpbmUgaW50IEFicyhpbnQgdikgewogfQogCiAvLyBJNDIw
IFRvIGFueSBJNHh4IFlVViBmb3JtYXQgd2l0aCBtaXJyb3JpbmcuCi1zdGF0aWMgaW50IEk0MjBU
b0k0eHgoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY195X3dpZHRoLCBpbnQgc3JjX3lfaGVpZ2h0LAotICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3RfdXZfd2lkdGgsIGludCBkc3RfdXZfaGVpZ2h0KSB7CitzdGF0
aWMgaW50IEk0MjBUb0k0eHgoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY191LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAor
ICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY195
X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfeV9oZWlnaHQsCisgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF91dl93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3V2X2hlaWdodCkgewogICBjb25zdCBpbnQgZHN0X3lfd2lkdGggPSBBYnMoc3JjX3lf
d2lkdGgpOwogICBjb25zdCBpbnQgZHN0X3lfaGVpZ2h0ID0gQWJzKHNyY195X2hlaWdodCk7CiAg
IGNvbnN0IGludCBzcmNfdXZfd2lkdGggPSBTVUJTQU1QTEUoc3JjX3lfd2lkdGgsIDEsIDEpOwog
ICBjb25zdCBpbnQgc3JjX3V2X2hlaWdodCA9IFNVQlNBTVBMRShzcmNfeV9oZWlnaHQsIDEsIDEp
OwotICBpZiAoc3JjX3lfd2lkdGggPT0gMCB8fCBzcmNfeV9oZWlnaHQgPT0gMCB8fAotICAgICAg
ZHN0X3V2X3dpZHRoIDw9IDAgfHwgZHN0X3V2X2hlaWdodCA8PSAwKSB7CisgIGlmIChzcmNfeV93
aWR0aCA9PSAwIHx8IHNyY195X2hlaWdodCA9PSAwIHx8IGRzdF91dl93aWR0aCA8PSAwIHx8Cisg
ICAgICBkc3RfdXZfaGVpZ2h0IDw9IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgaWYgKGRz
dF95KSB7Ci0gICAgU2NhbGVQbGFuZShzcmNfeSwgc3JjX3N0cmlkZV95LCBzcmNfeV93aWR0aCwg
c3JjX3lfaGVpZ2h0LAotICAgICAgICAgICAgICAgZHN0X3ksIGRzdF9zdHJpZGVfeSwgZHN0X3lf
d2lkdGgsIGRzdF95X2hlaWdodCwKLSAgICAgICAgICAgICAgIGtGaWx0ZXJCaWxpbmVhcik7Ci0g
IH0KLSAgU2NhbGVQbGFuZShzcmNfdSwgc3JjX3N0cmlkZV91LCBzcmNfdXZfd2lkdGgsIHNyY191
dl9oZWlnaHQsCi0gICAgICAgICAgICAgZHN0X3UsIGRzdF9zdHJpZGVfdSwgZHN0X3V2X3dpZHRo
LCBkc3RfdXZfaGVpZ2h0LAotICAgICAgICAgICAgIGtGaWx0ZXJCaWxpbmVhcik7Ci0gIFNjYWxl
UGxhbmUoc3JjX3YsIHNyY19zdHJpZGVfdiwgc3JjX3V2X3dpZHRoLCBzcmNfdXZfaGVpZ2h0LAot
ICAgICAgICAgICAgIGRzdF92LCBkc3Rfc3RyaWRlX3YsIGRzdF91dl93aWR0aCwgZHN0X3V2X2hl
aWdodCwKLSAgICAgICAgICAgICBrRmlsdGVyQmlsaW5lYXIpOworICAgIFNjYWxlUGxhbmUoc3Jj
X3ksIHNyY19zdHJpZGVfeSwgc3JjX3lfd2lkdGgsIHNyY195X2hlaWdodCwgZHN0X3ksCisgICAg
ICAgICAgICAgICBkc3Rfc3RyaWRlX3ksIGRzdF95X3dpZHRoLCBkc3RfeV9oZWlnaHQsIGtGaWx0
ZXJCaWxpbmVhcik7CisgIH0KKyAgU2NhbGVQbGFuZShzcmNfdSwgc3JjX3N0cmlkZV91LCBzcmNf
dXZfd2lkdGgsIHNyY191dl9oZWlnaHQsIGRzdF91LAorICAgICAgICAgICAgIGRzdF9zdHJpZGVf
dSwgZHN0X3V2X3dpZHRoLCBkc3RfdXZfaGVpZ2h0LCBrRmlsdGVyQmlsaW5lYXIpOworICBTY2Fs
ZVBsYW5lKHNyY192LCBzcmNfc3RyaWRlX3YsIHNyY191dl93aWR0aCwgc3JjX3V2X2hlaWdodCwg
ZHN0X3YsCisgICAgICAgICAgICAgZHN0X3N0cmlkZV92LCBkc3RfdXZfd2lkdGgsIGRzdF91dl9o
ZWlnaHQsIGtGaWx0ZXJCaWxpbmVhcik7CiAgIHJldHVybiAwOwogfQogCiAvLyA0MjAgY2hyb21h
IGlzIDEvMiB3aWR0aCwgMS8yIGhlaWdodAogLy8gNDIyIGNocm9tYSBpcyAxLzIgd2lkdGgsIDF4
IGhlaWdodAogTElCWVVWX0FQSQotaW50IEk0MjBUb0k0MjIoY29uc3QgdWludDgqIHNyY195LCBp
bnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQg
c3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3Jj
X3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95
LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAg
ICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAg
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgSTQyMFRvSTQyMihjb25zdCB1aW50OCogc3Jj
X3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGNvbnN0IGludCBkc3RfdXZfd2lkdGggPSAo
QWJzKHdpZHRoKSArIDEpID4+IDE7CiAgIGNvbnN0IGludCBkc3RfdXZfaGVpZ2h0ID0gQWJzKGhl
aWdodCk7Ci0gIHJldHVybiBJNDIwVG9JNHh4KHNyY195LCBzcmNfc3RyaWRlX3ksCi0gICAgICAg
ICAgICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgIHNy
Y192LCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgIGRzdF95LCBkc3Rfc3RyaWRl
X3ksCi0gICAgICAgICAgICAgICAgICAgIGRzdF91LCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAg
ICAgICAgICAgIGRzdF92LCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgIHdpZHRo
LCBoZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgIGRzdF91dl93aWR0aCwgZHN0X3V2X2hlaWdo
dCk7CisgIHJldHVybiBJNDIwVG9JNHh4KHNyY195LCBzcmNfc3RyaWRlX3ksIHNyY191LCBzcmNf
c3RyaWRlX3UsIHNyY192LAorICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlX3YsIGRzdF95
LCBkc3Rfc3RyaWRlX3ksIGRzdF91LCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAg
IGRzdF92LCBkc3Rfc3RyaWRlX3YsIHdpZHRoLCBoZWlnaHQsIGRzdF91dl93aWR0aCwKKyAgICAg
ICAgICAgICAgICAgICAgZHN0X3V2X2hlaWdodCk7CiB9CiAKIC8vIDQyMCBjaHJvbWEgaXMgMS8y
IHdpZHRoLCAxLzIgaGVpZ2h0CiAvLyA0NDQgY2hyb21hIGlzIDF4IHdpZHRoLCAxeCBoZWlnaHQK
IExJQllVVl9BUEkKLWludCBJNDIwVG9JNDQ0KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19z
dHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJp
ZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVf
diwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIGludCB3aWR0
aCwgaW50IGhlaWdodCkgeworaW50IEk0MjBUb0k0NDQoY29uc3QgdWludDgqIHNyY195LAorICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAg
ICAgICAgaW50IGhlaWdodCkgewogICBjb25zdCBpbnQgZHN0X3V2X3dpZHRoID0gQWJzKHdpZHRo
KTsKICAgY29uc3QgaW50IGRzdF91dl9oZWlnaHQgPSBBYnMoaGVpZ2h0KTsKLSAgcmV0dXJuIEk0
MjBUb0k0eHgoc3JjX3ksIHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgc3JjX3Us
IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwK
LSAgICAgICAgICAgICAgICAgICAgZHN0X3ksIGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAg
ICAgICAgZHN0X3UsIGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgZHN0X3YsIGRz
dF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCwKLSAgICAgICAg
ICAgICAgICAgICAgZHN0X3V2X3dpZHRoLCBkc3RfdXZfaGVpZ2h0KTsKKyAgcmV0dXJuIEk0MjBU
b0k0eHgoc3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3UsIHNyY19zdHJpZGVfdSwgc3JjX3YsCisg
ICAgICAgICAgICAgICAgICAgIHNyY19zdHJpZGVfdiwgZHN0X3ksIGRzdF9zdHJpZGVfeSwgZHN0
X3UsIGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgICAgZHN0X3YsIGRzdF9zdHJpZGVf
diwgd2lkdGgsIGhlaWdodCwgZHN0X3V2X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICBkc3Rf
dXZfaGVpZ2h0KTsKIH0KIAogLy8gQ29weSB0byBJNDAwLiBTb3VyY2UgY2FuIGJlIEk0MjAsNDIy
LDQ0NCw0MDAsTlYxMixOVjIxCiBMSUJZVVZfQVBJCi1pbnQgSTQwMENvcHkoY29uc3QgdWludDgq
IHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50
IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKLSAg
aWYgKCFzcmNfeSB8fCAhZHN0X3kgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDAp
IHsKK2ludCBJNDAwQ29weShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfeSwKKyAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgaW50
IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgaW50
IGhlaWdodCkgeworICBpZiAoIXNyY195IHx8ICFkc3RfeSB8fCB3aWR0aCA8PSAwIHx8IGhlaWdo
dCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFu
cyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMTI0LDE3ICsxMzcsMjEgQEAgaW50IEk0MDBDb3B5KGNv
bnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKIH0KIAogTElCWVVWX0FQSQotaW50
IEk0MjJUb1lVWTIoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAg
ICAgdWludDgqIGRzdF95dXkyLCBpbnQgZHN0X3N0cmlkZV95dXkyLAotICAgICAgICAgICAgICAg
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgSTQyMlRvWVVZMihjb25zdCB1aW50OCogc3Jj
X3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3l1eTIsCisgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV95dXkyLAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAg
ICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKICAgdm9pZCAoKkk0MjJUb1lVWTJSb3cpKGNv
bnN0IHVpbnQ4KiBzcmNfeSwgY29uc3QgdWludDgqIHNyY191LAogICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY192LCB1aW50OCogZHN0X3l1eTIsIGludCB3aWR0aCkgPQog
ICAgICAgSTQyMlRvWVVZMlJvd19DOwotICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAhc3JjX3Yg
fHwgIWRzdF95dXkyIHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlm
ICghc3JjX3kgfHwgIXNyY191IHx8ICFzcmNfdiB8fCAhZHN0X3l1eTIgfHwgd2lkdGggPD0gMCB8
fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWln
aHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTE0NCwxMCArMTYxLDggQEAgaW50IEk0MjJU
b1lVWTIoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogICAgIGRzdF9zdHJp
ZGVfeXV5MiA9IC1kc3Rfc3RyaWRlX3l1eTI7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAg
aWYgKHNyY19zdHJpZGVfeSA9PSB3aWR0aCAmJgotICAgICAgc3JjX3N0cmlkZV91ICogMiA9PSB3
aWR0aCAmJgotICAgICAgc3JjX3N0cmlkZV92ICogMiA9PSB3aWR0aCAmJgotICAgICAgZHN0X3N0
cmlkZV95dXkyID09IHdpZHRoICogMikgeworICBpZiAoc3JjX3N0cmlkZV95ID09IHdpZHRoICYm
IHNyY19zdHJpZGVfdSAqIDIgPT0gd2lkdGggJiYKKyAgICAgIHNyY19zdHJpZGVfdiAqIDIgPT0g
d2lkdGggJiYgZHN0X3N0cmlkZV95dXkyID09IHdpZHRoICogMikgewogICAgIHdpZHRoICo9IGhl
aWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfeSA9IHNyY19zdHJpZGVfdSA9
IHNyY19zdHJpZGVfdiA9IGRzdF9zdHJpZGVfeXV5MiA9IDA7CkBAIC0xODAsMTcgKzE5NSwyMSBA
QCBpbnQgSTQyMlRvWVVZMihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiB9
CiAKIExJQllVVl9BUEkKLWludCBJNDIwVG9ZVVkyKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNy
Y19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19z
dHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJp
ZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeXV5MiwgaW50IGRzdF9zdHJpZGVfeXV5
MiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IEk0MjBUb1lV
WTIoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwK
KyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95dXky
LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeXV5MiwKKyAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7CiAgIHZvaWQg
KCpJNDIyVG9ZVVkyUm93KShjb25zdCB1aW50OCogc3JjX3ksIGNvbnN0IHVpbnQ4KiBzcmNfdSwK
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgdWludDgqIGRzdF95
dXkyLCBpbnQgd2lkdGgpID0KICAgICAgIEk0MjJUb1lVWTJSb3dfQzsKLSAgaWYgKCFzcmNfeSB8
fCAhc3JjX3UgfHwgIXNyY192IHx8ICFkc3RfeXV5MiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBo
ZWlnaHQgPT0gMCkgeworICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAhc3JjX3YgfHwgIWRzdF95
dXkyIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0K
ICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC0yNDAsMTcg
KzI1OSwyMSBAQCBpbnQgSTQyMFRvWVVZMihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3Ry
aWRlX3ksCiB9CiAKIExJQllVVl9BUEkKLWludCBJNDIyVG9VWVZZKGNvbnN0IHVpbnQ4KiBzcmNf
eSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwg
aW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50
IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXl2eSwgaW50IGRzdF9z
dHJpZGVfdXl2eSwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50
IEk0MjJUb1VZVlkoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGVfeSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Ys
CisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgq
IGRzdF91eXZ5LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdXl2eSwKKyAgICAgICAg
ICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7
CiAgIHZvaWQgKCpJNDIyVG9VWVZZUm93KShjb25zdCB1aW50OCogc3JjX3ksIGNvbnN0IHVpbnQ4
KiBzcmNfdSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgdWlu
dDgqIGRzdF91eXZ5LCBpbnQgd2lkdGgpID0KICAgICAgIEk0MjJUb1VZVllSb3dfQzsKLSAgaWYg
KCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192IHx8ICFkc3RfdXl2eSB8fAotICAgICAgd2lkdGgg
PD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAhc3JjX3Yg
fHwgIWRzdF91eXZ5IHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4g
LTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCkBA
IC0yNjAsMTAgKzI4Myw4IEBAIGludCBJNDIyVG9VWVZZKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50
IHNyY19zdHJpZGVfeSwKICAgICBkc3Rfc3RyaWRlX3V5dnkgPSAtZHN0X3N0cmlkZV91eXZ5Owog
ICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX3kgPT0gd2lkdGggJiYK
LSAgICAgIHNyY19zdHJpZGVfdSAqIDIgPT0gd2lkdGggJiYKLSAgICAgIHNyY19zdHJpZGVfdiAq
IDIgPT0gd2lkdGggJiYKLSAgICAgIGRzdF9zdHJpZGVfdXl2eSA9PSB3aWR0aCAqIDIpIHsKKyAg
aWYgKHNyY19zdHJpZGVfeSA9PSB3aWR0aCAmJiBzcmNfc3RyaWRlX3UgKiAyID09IHdpZHRoICYm
CisgICAgICBzcmNfc3RyaWRlX3YgKiAyID09IHdpZHRoICYmIGRzdF9zdHJpZGVfdXl2eSA9PSB3
aWR0aCAqIDIpIHsKICAgICB3aWR0aCAqPSBoZWlnaHQ7CiAgICAgaGVpZ2h0ID0gMTsKICAgICBz
cmNfc3RyaWRlX3kgPSBzcmNfc3RyaWRlX3UgPSBzcmNfc3RyaWRlX3YgPSBkc3Rfc3RyaWRlX3V5
dnkgPSAwOwpAQCAtMzA0LDE3ICszMjUsMjEgQEAgaW50IEk0MjJUb1VZVlkoY29uc3QgdWludDgq
IHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogfQogCiBMSUJZVVZfQVBJCi1pbnQgSTQyMFRvVVlW
WShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCog
ZHN0X3V5dnksIGludCBkc3Rfc3RyaWRlX3V5dnksCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgs
IGludCBoZWlnaHQpIHsKK2ludCBJNDIwVG9VWVZZKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXl2eSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3Ry
aWRlX3V5dnksCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQg
aGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lkICgqSTQyMlRvVVlWWVJvdykoY29uc3QgdWludDgq
IHNyY195LCBjb25zdCB1aW50OCogc3JjX3UsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3YsIHVpbnQ4KiBkc3RfdXl2eSwgaW50IHdpZHRoKSA9CiAgICAgICBJNDIy
VG9VWVZZUm93X0M7Ci0gIGlmICghc3JjX3kgfHwgIXNyY191IHx8ICFzcmNfdiB8fCAhZHN0X3V5
dnkgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgaWYgKCFzcmNfeSB8
fCAhc3JjX3UgfHwgIXNyY192IHx8ICFkc3RfdXl2eSB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9
PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBp
bnZlcnQgdGhlIGltYWdlLgpAQCAtMzY1LDE0ICszOTAsMjAgQEAgaW50IEk0MjBUb1VZVlkoY29u
c3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogCiAvLyBUT0RPKGZiYXJjaGFyZCk6
IHRlc3QgbmVnYXRpdmUgaGVpZ2h0IGZvciBpbnZlcnQuCiBMSUJZVVZfQVBJCi1pbnQgSTQyMFRv
TlYxMihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50
OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3V2
LCBpbnQgZHN0X3N0cmlkZV91diwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdo
dCkgewotICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAhc3JjX3YgfHwgIWRzdF95IHx8ICFkc3Rf
dXYgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKK2ludCBJNDIwVG9OVjEy
KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0
X3V2LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdXYsCisgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CisgIGlmICghc3JjX3kgfHwg
IXNyY191IHx8ICFzcmNfdiB8fCAhZHN0X3kgfHwgIWRzdF91diB8fCB3aWR0aCA8PSAwIHx8Cisg
ICAgICBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICBpbnQgaGFsZndpZHRo
ID0gKHdpZHRoICsgMSkgLyAyOwpAQCAtMzgwLDQ0ICs0MTEsNDcgQEAgaW50IEk0MjBUb05WMTIo
Y29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogICBpZiAoZHN0X3kpIHsKICAg
ICBDb3B5UGxhbmUoc3JjX3ksIHNyY19zdHJpZGVfeSwgZHN0X3ksIGRzdF9zdHJpZGVfeSwgd2lk
dGgsIGhlaWdodCk7CiAgIH0KLSAgTWVyZ2VVVlBsYW5lKHNyY191LCBzcmNfc3RyaWRlX3UsCi0g
ICAgICAgICAgICAgICBzcmNfdiwgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgZHN0X3V2
LCBkc3Rfc3RyaWRlX3V2LAorICBNZXJnZVVWUGxhbmUoc3JjX3UsIHNyY19zdHJpZGVfdSwgc3Jj
X3YsIHNyY19zdHJpZGVfdiwgZHN0X3V2LCBkc3Rfc3RyaWRlX3V2LAogICAgICAgICAgICAgICAg
aGFsZndpZHRoLCBoYWxmaGVpZ2h0KTsKICAgcmV0dXJuIDA7CiB9CiAKIExJQllVVl9BUEkKLWlu
dCBJNDIwVG9OVjIxKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdnUsIGludCBkc3Rfc3RyaWRlX3Z1LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KSB7Ci0gIHJldHVybiBJNDIwVG9OVjEyKHNyY195LCBzcmNfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICAgICAgIHNyY192LCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAg
ICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgIGRzdF95LCBkc3Rf
c3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgIGRzdF92dSwgZHN0X3N0cmlkZV92dSwKK2lu
dCBJNDIwVG9OVjIxKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3Z1LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdnUsCisgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CisgIHJl
dHVybiBJNDIwVG9OVjEyKHNyY195LCBzcmNfc3RyaWRlX3ksIHNyY192LCBzcmNfc3RyaWRlX3Ys
IHNyY191LAorICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlX3UsIGRzdF95LCBkc3Rfc3Ry
aWRlX3ksIGRzdF92dSwgZHN0X3N0cmlkZV92dSwKICAgICAgICAgICAgICAgICAgICAgd2lkdGgs
IGhlaWdodCk7CiB9CiAKIC8vIENvbnZlcnQgSTQyMiB0byBSR0JBIHdpdGggbWF0cml4Ci1zdGF0
aWMgaW50IEk0MjBUb1JHQkFNYXRyaXgoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlk
ZV95LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50
IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9yZ2JhLCBpbnQgZHN0X3N0cmlkZV9yZ2JhLAorc3RhdGljIGludCBJNDIwVG9SR0JB
TWF0cml4KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV9yZ2JhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewog
ICBpbnQgeTsKLSAgdm9pZCAoKkk0MjJUb1JHQkFSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB1X2J1ZiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiByZ2JfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNv
bnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
KSA9IEk0MjJUb1JHQkFSb3dfQzsKLSAgaWYgKCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192IHx8
ICFkc3RfcmdiYSB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICB2b2lk
ICgqSTQyMlRvUkdCQVJvdykoY29uc3QgdWludDgqIHlfYnVmLCBjb25zdCB1aW50OCogdV9idWYs
CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdl9idWYsIHVpbnQ4KiByZ2Jf
YnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyog
eXV2Y29uc3RhbnRzLCBpbnQgd2lkdGgpID0KKyAgICAgIEk0MjJUb1JHQkFSb3dfQzsKKyAgaWYg
KCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192IHx8ICFkc3RfcmdiYSB8fCB3aWR0aCA8PSAwIHx8
IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdo
dCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtNDU5LDYgKzQ5MywxNCBAQCBzdGF0aWMgaW50
IEk0MjBUb1JHQkFNYXRyaXgoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAog
ICAgIEk0MjJUb1JHQkFSb3cgPSBJNDIyVG9SR0JBUm93X0RTUFIyOwogICB9CiAjZW5kaWYKKyNp
ZiBkZWZpbmVkKEhBU19JNDIyVE9SR0JBUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVI
YXNNU0EpKSB7CisgICAgSTQyMlRvUkdCQVJvdyA9IEk0MjJUb1JHQkFSb3dfQW55X01TQTsKKyAg
ICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIEk0MjJUb1JHQkFSb3cgPSBJNDIy
VG9SR0JBUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBo
ZWlnaHQ7ICsreSkgewogICAgIEk0MjJUb1JHQkFSb3coc3JjX3ksIHNyY191LCBzcmNfdiwgZHN0
X3JnYmEsIHl1dmNvbnN0YW50cywgd2lkdGgpOwpAQCAtNDc0LDUwICs1MTYsNTggQEAgc3RhdGlj
IGludCBJNDIwVG9SR0JBTWF0cml4KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVf
eSwKIAogLy8gQ29udmVydCBJNDIwIHRvIFJHQkEuCiBMSUJZVVZfQVBJCi1pbnQgSTQyMFRvUkdC
QShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICB1aW50OCog
ZHN0X3JnYmEsIGludCBkc3Rfc3RyaWRlX3JnYmEsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgs
IGludCBoZWlnaHQpIHsKLSAgcmV0dXJuIEk0MjBUb1JHQkFNYXRyaXgoc3JjX3ksIHNyY19zdHJp
ZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVfdSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgZHN0X3JnYmEsIGRzdF9zdHJpZGVfcmdiYSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgJmtZdXZJNjAxQ29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICB3aWR0aCwgaGVpZ2h0KTsKK2ludCBJNDIwVG9SR0JBKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwK
KyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiYSwKKyAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX3JnYmEsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBp
bnQgaGVpZ2h0KSB7CisgIHJldHVybiBJNDIwVG9SR0JBTWF0cml4KHNyY195LCBzcmNfc3RyaWRl
X3ksIHNyY191LCBzcmNfc3RyaWRlX3UsIHNyY192LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBzcmNfc3RyaWRlX3YsIGRzdF9yZ2JhLCBkc3Rfc3RyaWRlX3JnYmEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICZrWXV2STYwMUNvbnN0YW50cywgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8v
IENvbnZlcnQgSTQyMCB0byBCR1JBLgogTElCWVVWX0FQSQotaW50IEk0MjBUb0JHUkEoY29uc3Qg
dWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9iZ3Jh
LCBpbnQgZHN0X3N0cmlkZV9iZ3JhLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0KSB7Ci0gIHJldHVybiBJNDIwVG9SR0JBTWF0cml4KHNyY195LCBzcmNfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHNyY192LCBzcmNfc3RyaWRlX3YsICAvLyBTd2FwIFUg
YW5kIFYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVfdSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgZHN0X2JncmEsIGRzdF9zdHJpZGVfYmdyYSwKK2ludCBJ
NDIwVG9CR1JBKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3ksCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAor
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYmdyYSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2JncmEsCisgICAgICAgICAg
ICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CisgIHJldHVybiBJ
NDIwVG9SR0JBTWF0cml4KHNyY195LCBzcmNfc3RyaWRlX3ksIHNyY192LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBzcmNfc3RyaWRlX3YsICAvLyBTd2FwIFUgYW5kIFYKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVfdSwgZHN0X2JncmEsIGRzdF9zdHJpZGVf
YmdyYSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtZdnVJNjAxQ29uc3RhbnRzLCAgLy8g
VXNlIFl2dSBtYXRyaXgKICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7
CiB9CiAKIC8vIENvbnZlcnQgSTQyMCB0byBSR0IyNCB3aXRoIG1hdHJpeAotc3RhdGljIGludCBJ
NDIwVG9SR0IyNE1hdHJpeChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19z
dHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192
LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3JnYjI0LCBpbnQgZHN0X3N0cmlkZV9yZ2IyNCwKK3N0YXRpYyBpbnQgSTQyMFRvUkdCMjRN
YXRyaXgoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2IyNCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGVfcmdiMjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGhlaWdodCkgewogICBpbnQgeTsKLSAgdm9pZCAoKkk0MjJUb1JHQjI0Um93KShjb25zdCB1aW50
OCogeV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHVfYnVmLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2X2J1ZiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogcmdiX2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKSA9IEk0MjJUb1JHQjI0Um93X0M7Ci0gIGlmICghc3JjX3kgfHwg
IXNyY191IHx8ICFzcmNfdiB8fCAhZHN0X3JnYjI0IHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhl
aWdodCA9PSAwKSB7CisgIHZvaWQgKCpJNDIyVG9SR0IyNFJvdykoY29uc3QgdWludDgqIHlfYnVm
LCBjb25zdCB1aW50OCogdV9idWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHZfYnVmLCB1aW50OCogcmdiX2J1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsIGludCB3aWR0aCkgPQorICAgICAg
STQyMlRvUkdCMjRSb3dfQzsKKyAgaWYgKCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192IHx8ICFk
c3RfcmdiMjQgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsK
ICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTU1
MCw2ICs2MDAsMTQgQEAgc3RhdGljIGludCBJNDIwVG9SR0IyNE1hdHJpeChjb25zdCB1aW50OCog
c3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVk
KEhBU19JNDIyVE9SR0IyNFJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkg
eworICAgIEk0MjJUb1JHQjI0Um93ID0gSTQyMlRvUkdCMjRSb3dfQW55X01TQTsKKyAgICBpZiAo
SVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBJNDIyVG9SR0IyNFJvdyA9IEk0MjJUb1JH
QjI0Um93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBoZWln
aHQ7ICsreSkgewogICAgIEk0MjJUb1JHQjI0Um93KHNyY195LCBzcmNfdSwgc3JjX3YsIGRzdF9y
Z2IyNCwgeXV2Y29uc3RhbnRzLCB3aWR0aCk7CkBAIC01NjUsNTAgKzYyMyw1OSBAQCBzdGF0aWMg
aW50IEk0MjBUb1JHQjI0TWF0cml4KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVf
eSwKIAogLy8gQ29udmVydCBJNDIwIHRvIFJHQjI0LgogTElCWVVWX0FQSQotaW50IEk0MjBUb1JH
QjI0KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfcmdiMjQsIGludCBkc3Rfc3RyaWRlX3JnYjI0LAotICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwgaW50IGhlaWdodCkgewotICByZXR1cm4gSTQyMFRvUkdCMjRNYXRyaXgoc3JjX3ks
IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY191LCBzcmNfc3Ry
aWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdiwgc3JjX3N0cmlkZV92LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3JnYjI0LCBkc3Rfc3RyaWRlX3JnYjI0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtZdXZJNjAxQ29uc3RhbnRzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CitpbnQgSTQyMFRvUkdCMjQoY29uc3Qg
dWludDgqIHNyY195LAorICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX3UsCisgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2IyNCwK
KyAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9yZ2IyNCwKKyAgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgeworICByZXR1cm4gSTQyMFRv
UkdCMjRNYXRyaXgoc3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3UsIHNyY19zdHJpZGVfdSwgc3Jj
X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlX3YsIGRzdF9yZ2IyNCwg
ZHN0X3N0cmlkZV9yZ2IyNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZrWXV2STYwMUNv
bnN0YW50cywgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8vIENvbnZlcnQgSTQyMCB0byBSQVcuCiBM
SUJZVVZfQVBJCi1pbnQgSTQyMFRvUkFXKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJp
ZGVfeSwKLSAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91
LAotICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0g
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmF3LCBpbnQgZHN0X3N0cmlkZV9yYXcsCi0gICAgICAg
ICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICByZXR1cm4gSTQyMFRvUkdCMjRNYXRy
aXgoc3JjX3ksIHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY192
LCBzcmNfc3RyaWRlX3YsICAvLyBTd2FwIFUgYW5kIFYKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rf
cmF3LCBkc3Rfc3RyaWRlX3JhdywKK2ludCBJNDIwVG9SQVcoY29uc3QgdWludDgqIHNyY195LAor
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3UsCisgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAg
ICAgICAgICAgICAgdWludDgqIGRzdF9yYXcsCisgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X3JhdywKKyAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICBpbnQgaGVpZ2h0
KSB7CisgIHJldHVybiBJNDIwVG9SR0IyNE1hdHJpeChzcmNfeSwgc3JjX3N0cmlkZV95LCBzcmNf
diwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19zdHJpZGVfdiwgIC8vIFN3YXAgVSBh
bmQgVgorICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVfdSwgZHN0
X3JhdywgZHN0X3N0cmlkZV9yYXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAma1l2dUk2
MDFDb25zdGFudHMsICAvLyBVc2UgWXZ1IG1hdHJpeAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgd2lkdGgsIGhlaWdodCk7CiB9CiAKIC8vIENvbnZlcnQgSTQyMCB0byBBUkdCMTU1NS4KIExJ
QllVVl9BUEkKLWludCBJNDIwVG9BUkdCMTU1NShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNf
c3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3Jj
X3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNy
Y19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IxNTU1LCBpbnQg
ZHN0X3N0cmlkZV9hcmdiMTU1NSwKLSAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpIHsKK2ludCBJNDIwVG9BUkdCMTU1NShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IxNTU1LAor
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IxNTU1LAorICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGlu
dCB5OwotICB2b2lkICgqSTQyMlRvQVJHQjE1NTVSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdV9idWYsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHZfYnVmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAorICB2b2lkICgqSTQyMlRvQVJHQjE1NTVSb3cpKGNv
bnN0IHVpbnQ4KiB5X2J1ZiwgY29uc3QgdWludDgqIHVfYnVmLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2X2J1ZiwgdWludDgqIHJnYl9idWYsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRz
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBJNDIyVG9BUkdCMTU1
NVJvd19DOwotICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAhc3JjX3YgfHwgIWRzdF9hcmdiMTU1
NSB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAoIXNyY195IHx8
ICFzcmNfdSB8fCAhc3JjX3YgfHwgIWRzdF9hcmdiMTU1NSB8fCB3aWR0aCA8PSAwIHx8CisgICAg
ICBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWln
aHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTY0MSw2ICs3MDgsMjIgQEAgaW50IEk0MjBU
b0FSR0IxNTU1KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKICAgICB9CiAg
IH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0k0MjJUT0FSR0IxNTU1Uk9XX0RTUFIyKQorICBp
ZiAoVGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKSkgeworICAgIEk0MjJUb0FSR0IxNTU1Um93ID0g
STQyMlRvQVJHQjE1NTVSb3dfQW55X0RTUFIyOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA0
KSkgeworICAgICAgSTQyMlRvQVJHQjE1NTVSb3cgPSBJNDIyVG9BUkdCMTU1NVJvd19EU1BSMjsK
KyAgICB9CisgIH0KKyNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0k0MjJUT0FSR0IxNTU1Uk9XX01T
QSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgSTQyMlRvQVJHQjE1NTVS
b3cgPSBJNDIyVG9BUkdCMTU1NVJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKHdpZHRo
LCA4KSkgeworICAgICAgSTQyMlRvQVJHQjE1NTVSb3cgPSBJNDIyVG9BUkdCMTU1NVJvd19NU0E7
CisgICAgfQorICB9CisjZW5kaWYKIAogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsK
ICAgICBJNDIyVG9BUkdCMTU1NVJvdyhzcmNfeSwgc3JjX3UsIHNyY192LCBkc3RfYXJnYjE1NTUs
ICZrWXV2STYwMUNvbnN0YW50cywKQEAgLTY1NSwyMyArNzM4LDI1IEBAIGludCBJNDIwVG9BUkdC
MTU1NShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAgIHJldHVybiAwOwog
fQogCi0KIC8vIENvbnZlcnQgSTQyMCB0byBBUkdCNDQ0NC4KIExJQllVVl9BUEkKLWludCBJNDIw
VG9BUkdCNDQ0NChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2I0NDQ0LCBpbnQgZHN0X3N0cmlkZV9hcmdiNDQ0
NCwKLSAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBJNDIw
VG9BUkdCNDQ0NChjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2I0NDQ0LAorICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfc3RyaWRlX2FyZ2I0NDQ0LAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwK
KyAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotICB2b2lkICgqSTQy
MlRvQVJHQjQ0NDRSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogdV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHZfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBy
Z2JfYnVmLAorICB2b2lkICgqSTQyMlRvQVJHQjQ0NDRSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1Ziwg
Y29uc3QgdWludDgqIHVfYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiB2X2J1ZiwgdWludDgqIHJnYl9idWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCkgPSBJNDIyVG9BUkdCNDQ0NFJvd19DOwotICBpZiAoIXNy
Y195IHx8ICFzcmNfdSB8fCAhc3JjX3YgfHwgIWRzdF9hcmdiNDQ0NCB8fAotICAgICAgd2lkdGgg
PD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAhc3JjX3Yg
fHwgIWRzdF9hcmdiNDQ0NCB8fCB3aWR0aCA8PSAwIHx8CisgICAgICBoZWlnaHQgPT0gMCkgewog
ICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRo
ZSBpbWFnZS4KQEAgLTcwNCw2ICs3ODksMjIgQEAgaW50IEk0MjBUb0FSR0I0NDQ0KGNvbnN0IHVp
bnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRl
ZmluZWQoSEFTX0k0MjJUT0FSR0I0NDQ0Uk9XX0RTUFIyKQorICBpZiAoVGVzdENwdUZsYWcoa0Nw
dUhhc0RTUFIyKSkgeworICAgIEk0MjJUb0FSR0I0NDQ0Um93ID0gSTQyMlRvQVJHQjQ0NDRSb3df
QW55X0RTUFIyOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA0KSkgeworICAgICAgSTQyMlRv
QVJHQjQ0NDRSb3cgPSBJNDIyVG9BUkdCNDQ0NFJvd19EU1BSMjsKKyAgICB9CisgIH0KKyNlbmRp
ZgorI2lmIGRlZmluZWQoSEFTX0k0MjJUT0FSR0I0NDQ0Uk9XX01TQSkKKyAgaWYgKFRlc3RDcHVG
bGFnKGtDcHVIYXNNU0EpKSB7CisgICAgSTQyMlRvQVJHQjQ0NDRSb3cgPSBJNDIyVG9BUkdCNDQ0
NFJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgSTQy
MlRvQVJHQjQ0NDRSb3cgPSBJNDIyVG9BUkdCNDQ0NFJvd19NU0E7CisgICAgfQorICB9CisjZW5k
aWYKIAogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICBJNDIyVG9BUkdCNDQ0
NFJvdyhzcmNfeSwgc3JjX3UsIHNyY192LCBkc3RfYXJnYjQ0NDQsICZrWXV2STYwMUNvbnN0YW50
cywKQEAgLTcyMCwyMCArODIxLDIyIEBAIGludCBJNDIwVG9BUkdCNDQ0NChjb25zdCB1aW50OCog
c3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAKIC8vIENvbnZlcnQgSTQyMCB0byBSR0I1NjUuCiBM
SUJZVVZfQVBJCi1pbnQgSTQyMFRvUkdCNTY1KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19z
dHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0
cmlkZV91LAotICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3Ry
aWRlX3YsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiNTY1LCBpbnQgZHN0X3N0cmlk
ZV9yZ2I1NjUsCi0gICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50
IEk0MjBUb1JHQjU2NShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY192LAorICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfcmdiNTY1LAorICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAg
IGludCBoZWlnaHQpIHsKICAgaW50IHk7Ci0gIHZvaWQgKCpJNDIyVG9SR0I1NjVSb3cpKGNvbnN0
IHVpbnQ4KiB5X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHVf
YnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdl9idWYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBJNDIyVG9SR0I1NjVSb3dfQzsKLSAgaWYg
KCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192IHx8ICFkc3RfcmdiNTY1IHx8Ci0gICAgICB3aWR0
aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIHZvaWQgKCpJNDIyVG9SR0I1NjVSb3cpKGNvbnN0
IHVpbnQ4KiB5X2J1ZiwgY29uc3QgdWludDgqIHVfYnVmLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogdl9idWYsIHVpbnQ4KiByZ2JfYnVmLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsIGludCB3
aWR0aCkgPQorICAgICAgSTQyMlRvUkdCNTY1Um93X0M7CisgIGlmICghc3JjX3kgfHwgIXNyY191
IHx8ICFzcmNfdiB8fCAhZHN0X3JnYjU2NSB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7
CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQg
dGhlIGltYWdlLgpAQCAtNzY2LDYgKzg2OSwxNCBAQCBpbnQgSTQyMFRvUkdCNTY1KGNvbnN0IHVp
bnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRl
ZmluZWQoSEFTX0k0MjJUT1JHQjU2NVJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFz
TVNBKSkgeworICAgIEk0MjJUb1JHQjU2NVJvdyA9IEk0MjJUb1JHQjU2NVJvd19BbnlfTVNBOwor
ICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgSTQyMlRvUkdCNTY1Um93ID0g
STQyMlRvUkdCNTY1Um93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7
IHkgPCBoZWlnaHQ7ICsreSkgewogICAgIEk0MjJUb1JHQjU2NVJvdyhzcmNfeSwgc3JjX3UsIHNy
Y192LCBkc3RfcmdiNTY1LCAma1l1dkk2MDFDb25zdGFudHMsIHdpZHRoKTsKQEAgLTc3OSwzMiAr
ODkwLDEwMiBAQCBpbnQgSTQyMFRvUkdCNTY1KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19z
dHJpZGVfeSwKICAgcmV0dXJuIDA7CiB9CiAKKy8vIENvbnZlcnQgSTQyMiB0byBSR0I1NjUuCitM
SUJZVVZfQVBJCitpbnQgSTQyMlRvUkdCNTY1KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY191LAorICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3YsCisgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiNTY1LAorICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV9yZ2I1NjUsCisgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgICAgaW50IGhlaWdodCkgeworICBpbnQgeTsKKyAgdm9pZCAoKkk0MjJUb1JH
QjU2NVJvdykoY29uc3QgdWludDgqIHlfYnVmLCBjb25zdCB1aW50OCogdV9idWYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2X2J1ZiwgdWludDgqIHJnYl9idWYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNv
bnN0YW50cywgaW50IHdpZHRoKSA9CisgICAgICBJNDIyVG9SR0I1NjVSb3dfQzsKKyAgaWYgKCFz
cmNfeSB8fCAhc3JjX3UgfHwgIXNyY192IHx8ICFkc3RfcmdiNTY1IHx8IHdpZHRoIDw9IDAgfHwg
aGVpZ2h0ID09IDApIHsKKyAgICByZXR1cm4gLTE7CisgIH0KKyAgLy8gTmVnYXRpdmUgaGVpZ2h0
IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCisgIGlmIChoZWlnaHQgPCAwKSB7CisgICAgaGVpZ2h0
ID0gLWhlaWdodDsKKyAgICBkc3RfcmdiNTY1ID0gZHN0X3JnYjU2NSArIChoZWlnaHQgLSAxKSAq
IGRzdF9zdHJpZGVfcmdiNTY1OworICAgIGRzdF9zdHJpZGVfcmdiNTY1ID0gLWRzdF9zdHJpZGVf
cmdiNTY1OworICB9CisjaWYgZGVmaW5lZChIQVNfSTQyMlRPUkdCNTY1Uk9XX1NTU0UzKQorICBp
ZiAoVGVzdENwdUZsYWcoa0NwdUhhc1NTU0UzKSkgeworICAgIEk0MjJUb1JHQjU2NVJvdyA9IEk0
MjJUb1JHQjU2NVJvd19BbnlfU1NTRTM7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7
CisgICAgICBJNDIyVG9SR0I1NjVSb3cgPSBJNDIyVG9SR0I1NjVSb3dfU1NTRTM7CisgICAgfQor
ICB9CisjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19JNDIyVE9SR0I1NjVST1dfQVZYMikKKyAgaWYg
KFRlc3RDcHVGbGFnKGtDcHVIYXNBVlgyKSkgeworICAgIEk0MjJUb1JHQjU2NVJvdyA9IEk0MjJU
b1JHQjU2NVJvd19BbnlfQVZYMjsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7Cisg
ICAgICBJNDIyVG9SR0I1NjVSb3cgPSBJNDIyVG9SR0I1NjVSb3dfQVZYMjsKKyAgICB9CisgIH0K
KyNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0k0MjJUT1JHQjU2NVJPV19ORU9OKQorICBpZiAoVGVz
dENwdUZsYWcoa0NwdUhhc05FT04pKSB7CisgICAgSTQyMlRvUkdCNTY1Um93ID0gSTQyMlRvUkdC
NTY1Um93X0FueV9ORU9OOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAg
STQyMlRvUkdCNTY1Um93ID0gSTQyMlRvUkdCNTY1Um93X05FT047CisgICAgfQorICB9CisjZW5k
aWYKKyNpZiBkZWZpbmVkKEhBU19JNDIyVE9SR0I1NjVST1dfTVNBKQorICBpZiAoVGVzdENwdUZs
YWcoa0NwdUhhc01TQSkpIHsKKyAgICBJNDIyVG9SR0I1NjVSb3cgPSBJNDIyVG9SR0I1NjVSb3df
QW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIEk0MjJUb1JH
QjU2NVJvdyA9IEk0MjJUb1JHQjU2NVJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKKworICBm
b3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKKyAgICBJNDIyVG9SR0I1NjVSb3coc3JjX3ks
IHNyY191LCBzcmNfdiwgZHN0X3JnYjU2NSwgJmtZdXZJNjAxQ29uc3RhbnRzLCB3aWR0aCk7Cisg
ICAgZHN0X3JnYjU2NSArPSBkc3Rfc3RyaWRlX3JnYjU2NTsKKyAgICBzcmNfeSArPSBzcmNfc3Ry
aWRlX3k7CisgICAgc3JjX3UgKz0gc3JjX3N0cmlkZV91OworICAgIHNyY192ICs9IHNyY19zdHJp
ZGVfdjsKKyAgfQorICByZXR1cm4gMDsKK30KKwogLy8gT3JkZXJlZCA4eDggZGl0aGVyIGZvciA4
ODggdG8gNTY1LiAgVmFsdWVzIGZyb20gMCB0byA3Lgogc3RhdGljIGNvbnN0IHVpbnQ4IGtEaXRo
ZXI1NjVfNHg0WzE2XSA9IHsKLSAgMCwgNCwgMSwgNSwKLSAgNiwgMiwgNywgMywKLSAgMSwgNSwg
MCwgNCwKLSAgNywgMywgNiwgMiwKKyAgICAwLCA0LCAxLCA1LCA2LCAyLCA3LCAzLCAxLCA1LCAw
LCA0LCA3LCAzLCA2LCAyLAogfTsKIAogLy8gQ29udmVydCBJNDIwIHRvIFJHQjU2NSB3aXRoIGRp
dGhlcmluZy4KIExJQllVVl9BUEkKLWludCBJNDIwVG9SR0I1NjVEaXRoZXIoY29uc3QgdWludDgq
IHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9yZ2I1NjUsIGludCBkc3Rfc3RyaWRlX3JnYjU2NSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIGRpdGhlcjR4NCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
KSB7CitpbnQgSTQyMFRvUkdCNTY1RGl0aGVyKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV91LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfcmdiNTY1LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlk
ZV9yZ2I1NjUsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBkaXRoZXI0eDQs
CisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKLSAgdm9pZCAoKkk0MjJUb0FSR0JSb3cpKGNvbnN0
IHVpbnQ4KiB5X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB1X2J1
ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2X2J1ZiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKSA9IEk0MjJUb0FSR0JSb3dfQzsKKyAgdm9pZCAoKkk0MjJUb0FS
R0JSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1ZiwgY29uc3QgdWludDgqIHVfYnVmLAorICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHZfYnVmLCB1aW50OCogcmdiX2J1ZiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50
cywgaW50IHdpZHRoKSA9CisgICAgICBJNDIyVG9BUkdCUm93X0M7CiAgIHZvaWQgKCpBUkdCVG9S
R0I1NjVEaXRoZXJSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsCi0g
ICAgICBjb25zdCB1aW50MzIgZGl0aGVyNCwgaW50IHdpZHRoKSA9IEFSR0JUb1JHQjU2NURpdGhl
clJvd19DOwotICBpZiAoIXNyY195IHx8ICFzcmNfdSB8fCAhc3JjX3YgfHwgIWRzdF9yZ2I1NjUg
fHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDMyIGRpdGhlcjQsIGludCB3aWR0aCkgPQorICAgICAg
QVJHQlRvUkdCNTY1RGl0aGVyUm93X0M7CisgIGlmICghc3JjX3kgfHwgIXNyY191IHx8ICFzcmNf
diB8fCAhZHN0X3JnYjU2NSB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0
dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdl
LgpAQCAtODQ4LDYgKzEwMjksMTQgQEAgaW50IEk0MjBUb1JHQjU2NURpdGhlcihjb25zdCB1aW50
OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAgICAgSTQyMlRvQVJHQlJvdyA9IEk0MjJUb0FS
R0JSb3dfRFNQUjI7CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0k0MjJUT0FSR0JST1df
TVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBJNDIyVG9BUkdCUm93
ID0gSTQyMlRvQVJHQlJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkg
eworICAgICAgSTQyMlRvQVJHQlJvdyA9IEk0MjJUb0FSR0JSb3dfTVNBOworICAgIH0KKyAgfQor
I2VuZGlmCiAjaWYgZGVmaW5lZChIQVNfQVJHQlRPUkdCNTY1RElUSEVSUk9XX1NTRTIpCiAgIGlm
IChUZXN0Q3B1RmxhZyhrQ3B1SGFzU1NFMikpIHsKICAgICBBUkdCVG9SR0I1NjVEaXRoZXJSb3cg
PSBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfQW55X1NTRTI7CkBAIC04NzIsMTMgKzEwNjEsMjIgQEAg
aW50IEk0MjBUb1JHQjU2NURpdGhlcihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRl
X3ksCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BUkdCVE9SR0I1NjVESVRI
RVJST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBBUkdCVG9S
R0I1NjVEaXRoZXJSb3cgPSBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfQW55X01TQTsKKyAgICBpZiAo
SVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIEFSR0JUb1JHQjU2NURpdGhlclJvdyA9IEFS
R0JUb1JHQjU2NURpdGhlclJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKICAgewogICAgIC8v
IEFsbG9jYXRlIGEgcm93IG9mIGFyZ2IuCiAgICAgYWxpZ25fYnVmZmVyXzY0KHJvd19hcmdiLCB3
aWR0aCAqIDQpOwogICAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewogICAgICAgSTQy
MlRvQVJHQlJvdyhzcmNfeSwgc3JjX3UsIHNyY192LCByb3dfYXJnYiwgJmtZdXZJNjAxQ29uc3Rh
bnRzLCB3aWR0aCk7CiAgICAgICBBUkdCVG9SR0I1NjVEaXRoZXJSb3cocm93X2FyZ2IsIGRzdF9y
Z2I1NjUsCi0gICAgICAgICAgKih1aW50MzIqKShkaXRoZXI0eDQgKyAoKHkgJiAzKSA8PCAyKSks
IHdpZHRoKTsgIC8vIE5PTElOVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICoodWludDMy
KikoZGl0aGVyNHg0ICsgKCh5ICYgMykgPDwgMikpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHdpZHRoKTsgIC8vIE5PTElOVAogICAgICAgZHN0X3JnYjU2NSArPSBkc3Rfc3RyaWRlX3Jn
YjU2NTsKICAgICAgIHNyY195ICs9IHNyY19zdHJpZGVfeTsKICAgICAgIGlmICh5ICYgMSkgewpA
QCAtODkzLDIwMiArMTA5MSwxNTQgQEAgaW50IEk0MjBUb1JHQjU2NURpdGhlcihjb25zdCB1aW50
OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAKIC8vIENvbnZlcnQgSTQyMCB0byBzcGVjaWZp
ZWQgZm9ybWF0CiBMSUJZVVZfQVBJCi1pbnQgQ29udmVydEZyb21JNDIwKGNvbnN0IHVpbnQ4KiB5
LCBpbnQgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB1LCBpbnQg
dV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2LCBpbnQgdl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rfc2FtcGxlLCBpbnQgZHN0X3NhbXBs
ZV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCwKK2lu
dCBDb252ZXJ0RnJvbUk0MjAoY29uc3QgdWludDgqIHksCisgICAgICAgICAgICAgICAgICAgIGlu
dCB5X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHUsCisgICAgICAg
ICAgICAgICAgICAgIGludCB1X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHYsCisgICAgICAgICAgICAgICAgICAgIGludCB2X3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9zYW1wbGUsCisgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc2Ft
cGxlX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAg
ICAgICAgICBpbnQgaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICB1aW50MzIgZm91cmNjKSB7
CiAgIHVpbnQzMiBmb3JtYXQgPSBDYW5vbmljYWxGb3VyQ0MoZm91cmNjKTsKICAgaW50IHIgPSAw
OwotICBpZiAoIXkgfHwgIXV8fCAhdiB8fCAhZHN0X3NhbXBsZSB8fAotICAgICAgd2lkdGggPD0g
MCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAoIXkgfHwgIXUgfHwgIXYgfHwgIWRzdF9zYW1wbGUg
fHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICBz
d2l0Y2ggKGZvcm1hdCkgewogICAgIC8vIFNpbmdsZSBwbGFuZSBmb3JtYXRzCiAgICAgY2FzZSBG
T1VSQ0NfWVVZMjoKLSAgICAgIHIgPSBJNDIwVG9ZVVkyKHksIHlfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgdSwgdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB2LCB2X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGUsCi0gICAgICAgICAgICAgICAgICAg
ICBkc3Rfc2FtcGxlX3N0cmlkZSA/IGRzdF9zYW1wbGVfc3RyaWRlIDogd2lkdGggKiAyLAotICAg
ICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CisgICAgICByID0gSTQyMFRvWVVZMih5
LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRlLCBkc3Rfc2FtcGxlLAorICAgICAg
ICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9zdHJpZGUgPyBkc3Rfc2FtcGxlX3N0cmlkZSA6IHdp
ZHRoICogMiwgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBoZWlnaHQpOwogICAgICAgYnJl
YWs7CiAgICAgY2FzZSBGT1VSQ0NfVVlWWToKLSAgICAgIHIgPSBJNDIwVG9VWVZZKHksIHlfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgdSwgdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICB2LCB2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGUsCi0gICAg
ICAgICAgICAgICAgICAgICBkc3Rfc2FtcGxlX3N0cmlkZSA/IGRzdF9zYW1wbGVfc3RyaWRlIDog
d2lkdGggKiAyLAotICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CisgICAgICBy
ID0gSTQyMFRvVVlWWSh5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRlLCBkc3Rf
c2FtcGxlLAorICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9zdHJpZGUgPyBkc3Rfc2Ft
cGxlX3N0cmlkZSA6IHdpZHRoICogMiwgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBoZWln
aHQpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBGT1VSQ0NfUkdCUDoKLSAgICAgIHIgPSBJNDIw
VG9SR0I1NjUoeSwgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHUsIHVfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICB2LCB2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgZHN0X3NhbXBsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9zdHJp
ZGUgPyBkc3Rfc2FtcGxlX3N0cmlkZSA6IHdpZHRoICogMiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgd2lkdGgsIGhlaWdodCk7CisgICAgICByID0gSTQyMFRvUkdCNTY1KHksIHlfc3RyaWRlLCB1
LCB1X3N0cmlkZSwgdiwgdl9zdHJpZGUsIGRzdF9zYW1wbGUsCisgICAgICAgICAgICAgICAgICAg
ICAgIGRzdF9zYW1wbGVfc3RyaWRlID8gZHN0X3NhbXBsZV9zdHJpZGUgOiB3aWR0aCAqIDIsIHdp
ZHRoLAorICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBGT1VSQ0NfUkdCTzoKLSAgICAgIHIgPSBJNDIwVG9BUkdCMTU1NSh5LCB5X3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICB1LCB1X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICB2LCB2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfc2FtcGxl
LAorICAgICAgciA9IEk0MjBUb0FSR0IxNTU1KHksIHlfc3RyaWRlLCB1LCB1X3N0cmlkZSwgdiwg
dl9zdHJpZGUsIGRzdF9zYW1wbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBs
ZV9zdHJpZGUgPyBkc3Rfc2FtcGxlX3N0cmlkZSA6IHdpZHRoICogMiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRk9VUkND
X1I0NDQ6Ci0gICAgICByID0gSTQyMFRvQVJHQjQ0NDQoeSwgeV9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgdSwgdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdiwg
dl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZSwKKyAgICAgIHIg
PSBJNDIwVG9BUkdCNDQ0NCh5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRlLCBk
c3Rfc2FtcGxlLAogICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGVfc3RyaWRlID8g
ZHN0X3NhbXBsZV9zdHJpZGUgOiB3aWR0aCAqIDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
d2lkdGgsIGhlaWdodCk7CiAgICAgICBicmVhazsKICAgICBjYXNlIEZPVVJDQ18yNEJHOgotICAg
ICAgciA9IEk0MjBUb1JHQjI0KHksIHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHUs
IHVfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHYsIHZfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgIGRzdF9zYW1wbGUsCi0gICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBs
ZV9zdHJpZGUgPyBkc3Rfc2FtcGxlX3N0cmlkZSA6IHdpZHRoICogMywKLSAgICAgICAgICAgICAg
ICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgIHIgPSBJNDIwVG9SR0IyNCh5LCB5X3N0cmlk
ZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRlLCBkc3Rfc2FtcGxlLAorICAgICAgICAgICAgICAg
ICAgICAgIGRzdF9zYW1wbGVfc3RyaWRlID8gZHN0X3NhbXBsZV9zdHJpZGUgOiB3aWR0aCAqIDMs
IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCk7CiAgICAgICBicmVhazsKICAg
ICBjYXNlIEZPVVJDQ19SQVc6Ci0gICAgICByID0gSTQyMFRvUkFXKHksIHlfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICB1LCB1X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgdiwgdl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGUsCi0gICAgICAgICAgICAgICAg
ICAgIGRzdF9zYW1wbGVfc3RyaWRlID8gZHN0X3NhbXBsZV9zdHJpZGUgOiB3aWR0aCAqIDMsCi0g
ICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworICAgICAgciA9IEk0MjBUb1JBVyh5
LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRlLCBkc3Rfc2FtcGxlLAorICAgICAg
ICAgICAgICAgICAgICBkc3Rfc2FtcGxlX3N0cmlkZSA/IGRzdF9zYW1wbGVfc3RyaWRlIDogd2lk
dGggKiAzLCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgaGVpZ2h0KTsKICAgICAgIGJyZWFr
OwogICAgIGNhc2UgRk9VUkNDX0FSR0I6Ci0gICAgICByID0gSTQyMFRvQVJHQih5LCB5X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgIHUsIHVfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgdiwgdl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBkc3Rfc2FtcGxlLAotICAgICAg
ICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9zdHJpZGUgPyBkc3Rfc2FtcGxlX3N0cmlkZSA6IHdp
ZHRoICogNCwKLSAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworICAgICAgciA9
IEk0MjBUb0FSR0IoeSwgeV9zdHJpZGUsIHUsIHVfc3RyaWRlLCB2LCB2X3N0cmlkZSwgZHN0X3Nh
bXBsZSwKKyAgICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGVfc3RyaWRlID8gZHN0X3NhbXBs
ZV9zdHJpZGUgOiB3aWR0aCAqIDQsIHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0
KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRk9VUkNDX0JHUkE6Ci0gICAgICByID0gSTQyMFRv
QkdSQSh5LCB5X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHUsIHVfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgdiwgdl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBkc3Rf
c2FtcGxlLAotICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9zdHJpZGUgPyBkc3Rfc2Ft
cGxlX3N0cmlkZSA6IHdpZHRoICogNCwKLSAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWln
aHQpOworICAgICAgciA9IEk0MjBUb0JHUkEoeSwgeV9zdHJpZGUsIHUsIHVfc3RyaWRlLCB2LCB2
X3N0cmlkZSwgZHN0X3NhbXBsZSwKKyAgICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGVfc3Ry
aWRlID8gZHN0X3NhbXBsZV9zdHJpZGUgOiB3aWR0aCAqIDQsIHdpZHRoLAorICAgICAgICAgICAg
ICAgICAgICAgaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRk9VUkNDX0FCR1I6Ci0g
ICAgICByID0gSTQyMFRvQUJHUih5LCB5X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHUs
IHVfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdiwgdl9zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICBkc3Rfc2FtcGxlLAotICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9z
dHJpZGUgPyBkc3Rfc2FtcGxlX3N0cmlkZSA6IHdpZHRoICogNCwKLSAgICAgICAgICAgICAgICAg
ICAgIHdpZHRoLCBoZWlnaHQpOworICAgICAgciA9IEk0MjBUb0FCR1IoeSwgeV9zdHJpZGUsIHUs
IHVfc3RyaWRlLCB2LCB2X3N0cmlkZSwgZHN0X3NhbXBsZSwKKyAgICAgICAgICAgICAgICAgICAg
IGRzdF9zYW1wbGVfc3RyaWRlID8gZHN0X3NhbXBsZV9zdHJpZGUgOiB3aWR0aCAqIDQsIHdpZHRo
LAorICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
Rk9VUkNDX1JHQkE6Ci0gICAgICByID0gSTQyMFRvUkdCQSh5LCB5X3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgIHUsIHVfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdiwgdl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICBkc3Rfc2FtcGxlLAotICAgICAgICAgICAgICAgICAg
ICAgZHN0X3NhbXBsZV9zdHJpZGUgPyBkc3Rfc2FtcGxlX3N0cmlkZSA6IHdpZHRoICogNCwKLSAg
ICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworICAgICAgciA9IEk0MjBUb1JHQkEo
eSwgeV9zdHJpZGUsIHUsIHVfc3RyaWRlLCB2LCB2X3N0cmlkZSwgZHN0X3NhbXBsZSwKKyAgICAg
ICAgICAgICAgICAgICAgIGRzdF9zYW1wbGVfc3RyaWRlID8gZHN0X3NhbXBsZV9zdHJpZGUgOiB3
aWR0aCAqIDQsIHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0KTsKICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgRk9VUkNDX0k0MDA6Ci0gICAgICByID0gSTQwMENvcHkoeSwgeV9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZSwKLSAgICAgICAgICAgICAgICAgICBk
c3Rfc2FtcGxlX3N0cmlkZSA/IGRzdF9zYW1wbGVfc3RyaWRlIDogd2lkdGgsCi0gICAgICAgICAg
ICAgICAgICAgd2lkdGgsIGhlaWdodCk7CisgICAgICByID0gSTQwMENvcHkoeSwgeV9zdHJpZGUs
IGRzdF9zYW1wbGUsCisgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9zdHJpZGUgPyBkc3Rf
c2FtcGxlX3N0cmlkZSA6IHdpZHRoLCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICBoZWlnaHQp
OwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBGT1VSQ0NfTlYxMjogewogICAgICAgdWludDgqIGRz
dF91diA9IGRzdF9zYW1wbGUgKyB3aWR0aCAqIGhlaWdodDsKLSAgICAgIHIgPSBJNDIwVG9OVjEy
KHksIHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdSwgdV9zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICB2LCB2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF9zYW1w
bGUsCi0gICAgICAgICAgICAgICAgICAgICBkc3Rfc2FtcGxlX3N0cmlkZSA/IGRzdF9zYW1wbGVf
c3RyaWRlIDogd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICBkc3RfdXYsCi0gICAgICAgICAg
ICAgICAgICAgICBkc3Rfc2FtcGxlX3N0cmlkZSA/IGRzdF9zYW1wbGVfc3RyaWRlIDogd2lkdGgs
Ci0gICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgIHIgPSBJNDIwVG9O
VjEyKHksIHlfc3RyaWRlLCB1LCB1X3N0cmlkZSwgdiwgdl9zdHJpZGUsIGRzdF9zYW1wbGUsCisg
ICAgICAgICAgICAgICAgICAgICBkc3Rfc2FtcGxlX3N0cmlkZSA/IGRzdF9zYW1wbGVfc3RyaWRl
IDogd2lkdGgsIGRzdF91diwKKyAgICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGVfc3RyaWRl
ID8gZHN0X3NhbXBsZV9zdHJpZGUgOiB3aWR0aCwgd2lkdGgsCisgICAgICAgICAgICAgICAgICAg
ICBoZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgRk9VUkNDX05WMjE6IHsK
ICAgICAgIHVpbnQ4KiBkc3RfdnUgPSBkc3Rfc2FtcGxlICsgd2lkdGggKiBoZWlnaHQ7Ci0gICAg
ICByID0gSTQyMFRvTlYyMSh5LCB5X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHUsIHVf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdiwgdl9zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICBkc3Rfc2FtcGxlLAotICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9zdHJp
ZGUgPyBkc3Rfc2FtcGxlX3N0cmlkZSA6IHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgZHN0
X3Z1LAotICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9zdHJpZGUgPyBkc3Rfc2FtcGxl
X3N0cmlkZSA6IHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7Cisg
ICAgICByID0gSTQyMFRvTlYyMSh5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRl
LCBkc3Rfc2FtcGxlLAorICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBsZV9zdHJpZGUgPyBk
c3Rfc2FtcGxlX3N0cmlkZSA6IHdpZHRoLCBkc3RfdnUsCisgICAgICAgICAgICAgICAgICAgICBk
c3Rfc2FtcGxlX3N0cmlkZSA/IGRzdF9zYW1wbGVfc3RyaWRlIDogd2lkdGgsIHdpZHRoLAorICAg
ICAgICAgICAgICAgICAgICAgaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIH0KICAgICAvLyBU
T0RPKGZiYXJjaGFyZCk6IEFkZCBNNDIwLgogICAgIC8vIFRyaXBsYW5hciBmb3JtYXRzCi0gICAg
Ly8gVE9ETyhmYmFyY2hhcmQpOiBoYWxmc3RyaWRlIGluc3RlYWQgb2YgaGFsZndpZHRoCiAgICAg
Y2FzZSBGT1VSQ0NfSTQyMDoKICAgICBjYXNlIEZPVVJDQ19ZVjEyOiB7Ci0gICAgICBpbnQgaGFs
ZndpZHRoID0gKHdpZHRoICsgMSkgLyAyOworICAgICAgZHN0X3NhbXBsZV9zdHJpZGUgPSBkc3Rf
c2FtcGxlX3N0cmlkZSA/IGRzdF9zYW1wbGVfc3RyaWRlIDogd2lkdGg7CisgICAgICBpbnQgaGFs
ZnN0cmlkZSA9IChkc3Rfc2FtcGxlX3N0cmlkZSArIDEpIC8gMjsKICAgICAgIGludCBoYWxmaGVp
Z2h0ID0gKGhlaWdodCArIDEpIC8gMjsKICAgICAgIHVpbnQ4KiBkc3RfdTsKICAgICAgIHVpbnQ4
KiBkc3RfdjsKICAgICAgIGlmIChmb3JtYXQgPT0gRk9VUkNDX1lWMTIpIHsKLSAgICAgICAgZHN0
X3YgPSBkc3Rfc2FtcGxlICsgd2lkdGggKiBoZWlnaHQ7Ci0gICAgICAgIGRzdF91ID0gZHN0X3Yg
KyBoYWxmd2lkdGggKiBoYWxmaGVpZ2h0OworICAgICAgICBkc3RfdiA9IGRzdF9zYW1wbGUgKyBk
c3Rfc2FtcGxlX3N0cmlkZSAqIGhlaWdodDsKKyAgICAgICAgZHN0X3UgPSBkc3RfdiArIGhhbGZz
dHJpZGUgKiBoYWxmaGVpZ2h0OwogICAgICAgfSBlbHNlIHsKLSAgICAgICAgZHN0X3UgPSBkc3Rf
c2FtcGxlICsgd2lkdGggKiBoZWlnaHQ7Ci0gICAgICAgIGRzdF92ID0gZHN0X3UgKyBoYWxmd2lk
dGggKiBoYWxmaGVpZ2h0OworICAgICAgICBkc3RfdSA9IGRzdF9zYW1wbGUgKyBkc3Rfc2FtcGxl
X3N0cmlkZSAqIGhlaWdodDsKKyAgICAgICAgZHN0X3YgPSBkc3RfdSArIGhhbGZzdHJpZGUgKiBo
YWxmaGVpZ2h0OwogICAgICAgfQotICAgICAgciA9IEk0MjBDb3B5KHksIHlfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgIHUsIHVfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgIHYsIHZfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGUsIHdpZHRoLAotICAgICAgICAgICAg
ICAgICAgIGRzdF91LCBoYWxmd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgZHN0X3YsIGhhbGZ3
aWR0aCwKKyAgICAgIHIgPSBJNDIwQ29weSh5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZf
c3RyaWRlLCBkc3Rfc2FtcGxlLAorICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGVfc3RyaWRl
LCBkc3RfdSwgaGFsZnN0cmlkZSwgZHN0X3YsIGhhbGZzdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgd2lkdGgsIGhlaWdodCk7CiAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBGT1VSQ0Nf
STQyMjoKICAgICBjYXNlIEZPVVJDQ19ZVjE2OiB7Ci0gICAgICBpbnQgaGFsZndpZHRoID0gKHdp
ZHRoICsgMSkgLyAyOworICAgICAgZHN0X3NhbXBsZV9zdHJpZGUgPSBkc3Rfc2FtcGxlX3N0cmlk
ZSA/IGRzdF9zYW1wbGVfc3RyaWRlIDogd2lkdGg7CisgICAgICBpbnQgaGFsZnN0cmlkZSA9IChk
c3Rfc2FtcGxlX3N0cmlkZSArIDEpIC8gMjsKICAgICAgIHVpbnQ4KiBkc3RfdTsKICAgICAgIHVp
bnQ4KiBkc3RfdjsKICAgICAgIGlmIChmb3JtYXQgPT0gRk9VUkNDX1lWMTYpIHsKLSAgICAgICAg
ZHN0X3YgPSBkc3Rfc2FtcGxlICsgd2lkdGggKiBoZWlnaHQ7Ci0gICAgICAgIGRzdF91ID0gZHN0
X3YgKyBoYWxmd2lkdGggKiBoZWlnaHQ7CisgICAgICAgIGRzdF92ID0gZHN0X3NhbXBsZSArIGRz
dF9zYW1wbGVfc3RyaWRlICogaGVpZ2h0OworICAgICAgICBkc3RfdSA9IGRzdF92ICsgaGFsZnN0
cmlkZSAqIGhlaWdodDsKICAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGRzdF91ID0gZHN0X3NhbXBs
ZSArIHdpZHRoICogaGVpZ2h0OwotICAgICAgICBkc3RfdiA9IGRzdF91ICsgaGFsZndpZHRoICog
aGVpZ2h0OworICAgICAgICBkc3RfdSA9IGRzdF9zYW1wbGUgKyBkc3Rfc2FtcGxlX3N0cmlkZSAq
IGhlaWdodDsKKyAgICAgICAgZHN0X3YgPSBkc3RfdSArIGhhbGZzdHJpZGUgKiBoZWlnaHQ7CiAg
ICAgICB9Ci0gICAgICByID0gSTQyMFRvSTQyMih5LCB5X3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgIHUsIHVfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdiwgdl9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICBkc3Rfc2FtcGxlLCB3aWR0aCwKLSAgICAgICAgICAgICAgICAg
ICAgIGRzdF91LCBoYWxmd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICBkc3RfdiwgaGFsZndp
ZHRoLAorICAgICAgciA9IEk0MjBUb0k0MjIoeSwgeV9zdHJpZGUsIHUsIHVfc3RyaWRlLCB2LCB2
X3N0cmlkZSwgZHN0X3NhbXBsZSwKKyAgICAgICAgICAgICAgICAgICAgIGRzdF9zYW1wbGVfc3Ry
aWRlLCBkc3RfdSwgaGFsZnN0cmlkZSwgZHN0X3YsIGhhbGZzdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEZP
VVJDQ19JNDQ0OgogICAgIGNhc2UgRk9VUkNDX1lWMjQ6IHsKKyAgICAgIGRzdF9zYW1wbGVfc3Ry
aWRlID0gZHN0X3NhbXBsZV9zdHJpZGUgPyBkc3Rfc2FtcGxlX3N0cmlkZSA6IHdpZHRoOwogICAg
ICAgdWludDgqIGRzdF91OwogICAgICAgdWludDgqIGRzdF92OwogICAgICAgaWYgKGZvcm1hdCA9
PSBGT1VSQ0NfWVYyNCkgewotICAgICAgICBkc3RfdiA9IGRzdF9zYW1wbGUgKyB3aWR0aCAqIGhl
aWdodDsKLSAgICAgICAgZHN0X3UgPSBkc3RfdiArIHdpZHRoICogaGVpZ2h0OworICAgICAgICBk
c3RfdiA9IGRzdF9zYW1wbGUgKyBkc3Rfc2FtcGxlX3N0cmlkZSAqIGhlaWdodDsKKyAgICAgICAg
ZHN0X3UgPSBkc3RfdiArIGRzdF9zYW1wbGVfc3RyaWRlICogaGVpZ2h0OwogICAgICAgfSBlbHNl
IHsKLSAgICAgICAgZHN0X3UgPSBkc3Rfc2FtcGxlICsgd2lkdGggKiBoZWlnaHQ7Ci0gICAgICAg
IGRzdF92ID0gZHN0X3UgKyB3aWR0aCAqIGhlaWdodDsKKyAgICAgICAgZHN0X3UgPSBkc3Rfc2Ft
cGxlICsgZHN0X3NhbXBsZV9zdHJpZGUgKiBoZWlnaHQ7CisgICAgICAgIGRzdF92ID0gZHN0X3Ug
KyBkc3Rfc2FtcGxlX3N0cmlkZSAqIGhlaWdodDsKICAgICAgIH0KLSAgICAgIHIgPSBJNDIwVG9J
NDQ0KHksIHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdSwgdV9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICB2LCB2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF9z
YW1wbGUsIHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgZHN0X3UsIHdpZHRoLAotICAgICAg
ICAgICAgICAgICAgICAgZHN0X3YsIHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgd2lkdGgs
IGhlaWdodCk7CisgICAgICByID0gSTQyMFRvSTQ0NCh5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUs
IHYsIHZfc3RyaWRlLCBkc3Rfc2FtcGxlLAorICAgICAgICAgICAgICAgICAgICAgZHN0X3NhbXBs
ZV9zdHJpZGUsIGRzdF91LCBkc3Rfc2FtcGxlX3N0cmlkZSwgZHN0X3YsCisgICAgICAgICAgICAg
ICAgICAgICBkc3Rfc2FtcGxlX3N0cmlkZSwgd2lkdGgsIGhlaWdodCk7CiAgICAgICBicmVhazsK
ICAgICB9CiAgICAgLy8gRm9ybWF0cyBub3Qgc3VwcG9ydGVkIC0gTUpQRywgYmlwbGFuYXIsIHNv
bWUgcmdiIGZvcm1hdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29udmVydF9mcm9tX2FyZ2IuY2MgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3Vy
Y2UvY29udmVydF9mcm9tX2FyZ2IuY2MKaW5kZXggNGU0MDlmMGQ2OGUwZGFlMWQ5OTUxOWYzMWNj
OTJmMjE4ZDkwYTcwNi4uODhmMzgyNzlhY2UyZjU0NTU1Yjc2ZDBmY2U1MDU4NWZiNmNiY2VhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvc291cmNlL2NvbnZlcnRfZnJvbV9hcmdiLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jb252ZXJ0X2Zy
b21fYXJnYi5jYwpAQCAtMjIsMTYgKzIyLDIxIEBAIGV4dGVybiAiQyIgewogCiAvLyBBUkdCIGxp
dHRsZSBlbmRpYW4gKGJncmEgaW4gbWVtb3J5KSB0byBJNDQ0CiBMSUJZVVZfQVBJCi1pbnQgQVJH
QlRvSTQ0NChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAg
ICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICB1aW50OCog
ZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpIHsKK2ludCBBUkdCVG9JNDQ0KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ks
CisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5
OwogICB2b2lkICgqQVJHQlRvWVJvdykoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X3ksIGludCB3aWR0aCkgPQogICAgICAgQVJHQlRvWVJvd19DOwogICB2b2lkICgqQVJHQlRvVVY0
NDRSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3Ys
Ci0gICAgICBpbnQgd2lkdGgpID0gQVJHQlRvVVY0NDRSb3dfQzsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpID0gQVJHQlRvVVY0NDRSb3dfQzsKICAgaWYgKCFzcmNfYXJnYiB8
fCAhZHN0X3kgfHwgIWRzdF91IHx8ICFkc3RfdiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAw
KSB7CiAgICAgcmV0dXJuIC0xOwogICB9CkBAIC00MSwyMCArNDYsMTggQEAgaW50IEFSR0JUb0k0
NDQoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICAgIHNyY19z
dHJpZGVfYXJnYiA9IC1zcmNfc3RyaWRlX2FyZ2I7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4K
LSAgaWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYKLSAgICAgIGRzdF9zdHJpZGVf
eSA9PSB3aWR0aCAmJgotICAgICAgZHN0X3N0cmlkZV91ID09IHdpZHRoICYmCi0gICAgICBkc3Rf
c3RyaWRlX3YgPT0gd2lkdGgpIHsKKyAgaWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQg
JiYgZHN0X3N0cmlkZV95ID09IHdpZHRoICYmCisgICAgICBkc3Rfc3RyaWRlX3UgPT0gd2lkdGgg
JiYgZHN0X3N0cmlkZV92ID09IHdpZHRoKSB7CiAgICAgd2lkdGggKj0gaGVpZ2h0OwogICAgIGhl
aWdodCA9IDE7CiAgICAgc3JjX3N0cmlkZV9hcmdiID0gZHN0X3N0cmlkZV95ID0gZHN0X3N0cmlk
ZV91ID0gZHN0X3N0cmlkZV92ID0gMDsKICAgfQogI2lmIGRlZmluZWQoSEFTX0FSR0JUT1VWNDQ0
Uk9XX1NTU0UzKQotICAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzU1NTRTMpKSB7Ci0gICAgICBB
UkdCVG9VVjQ0NFJvdyA9IEFSR0JUb1VWNDQ0Um93X0FueV9TU1NFMzsKLSAgICAgIGlmIChJU19B
TElHTkVEKHdpZHRoLCAxNikpIHsKLSAgICAgICAgQVJHQlRvVVY0NDRSb3cgPSBBUkdCVG9VVjQ0
NFJvd19TU1NFMzsKLSAgICAgIH0KKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNTU1NFMykpIHsK
KyAgICBBUkdCVG9VVjQ0NFJvdyA9IEFSR0JUb1VWNDQ0Um93X0FueV9TU1NFMzsKKyAgICBpZiAo
SVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBBUkdCVG9VVjQ0NFJvdyA9IEFSR0JUb1VW
NDQ0Um93X1NTU0UzOworICAgIH0KICAgfQogI2VuZGlmCiAjaWYgZGVmaW5lZChIQVNfQVJHQlRP
VVY0NDRST1dfTkVPTikKQEAgLTY1LDYgKzY4LDE0IEBAIGludCBBUkdCVG9JNDQ0KGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICB9CiAgIH0KICNlbmRpZgor
I2lmIGRlZmluZWQoSEFTX0FSR0JUT1VWNDQ0Uk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtD
cHVIYXNNU0EpKSB7CisgICAgQVJHQlRvVVY0NDRSb3cgPSBBUkdCVG9VVjQ0NFJvd19BbnlfTVNB
OworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCAxNikpIHsKKyAgICAgIEFSR0JUb1VWNDQ0Um93
ID0gQVJHQlRvVVY0NDRSb3dfTVNBOworICAgIH0KKyAgfQorI2VuZGlmCiAjaWYgZGVmaW5lZChI
QVNfQVJHQlRPWVJPV19TU1NFMykKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNTU1NFMykpIHsK
ICAgICBBUkdCVG9ZUm93ID0gQVJHQlRvWVJvd19BbnlfU1NTRTM7CkBAIC04OSw2ICsxMDAsMTQg
QEAgaW50IEFSR0JUb0k0NDQoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAogICAgIH0KICAgfQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQlRPWVJPV19EU1BS
MikKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikpIHsKKyAgICBBUkdCVG9ZUm93ID0g
QVJHQlRvWVJvd19BbnlfRFNQUjI7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7Cisg
ICAgICBBUkdCVG9ZUm93ID0gQVJHQlRvWVJvd19EU1BSMjsKKyAgICB9CisgIH0KKyNlbmRpZgog
I2lmIGRlZmluZWQoSEFTX0FSR0JUT1lST1dfTVNBKQogICBpZiAoVGVzdENwdUZsYWcoa0NwdUhh
c01TQSkpIHsKICAgICBBUkdCVG9ZUm93ID0gQVJHQlRvWVJvd19BbnlfTVNBOwpAQCAtMTExLDE5
ICsxMzAsMjIgQEAgaW50IEFSR0JUb0k0NDQoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3Jj
X3N0cmlkZV9hcmdiLAogCiAvLyBBUkdCIGxpdHRsZSBlbmRpYW4gKGJncmEgaW4gbWVtb3J5KSB0
byBJNDIyCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvSTQyMihjb25zdCB1aW50OCogc3JjX2FyZ2Is
IGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBk
c3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRl
X3UsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAg
ICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCVG9JNDIyKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlk
ZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgaW50IGRz
dF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAg
IGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAg
ICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotICB2b2lkICgqQVJHQlRvVVZSb3cpKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICB1aW50OCogZHN0
X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IEFSR0JUb1VWUm93X0M7CisgIHZvaWQgKCpB
UkdCVG9VVlJvdykoY29uc3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwg
dWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IHdp
ZHRoKSA9IEFSR0JUb1VWUm93X0M7CiAgIHZvaWQgKCpBUkdCVG9ZUm93KShjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSA9CiAgICAgICBBUkdCVG9ZUm93X0M7
Ci0gIGlmICghc3JjX2FyZ2IgfHwKLSAgICAgICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRzdF92IHx8
Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3JjX2FyZ2IgfHwg
IWRzdF95IHx8ICFkc3RfdSB8fCAhZHN0X3YgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkg
ewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0
IHRoZSBpbWFnZS4KQEAgLTEzMywxMCArMTU1LDggQEAgaW50IEFSR0JUb0k0MjIoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICAgIHNyY19zdHJpZGVfYXJnYiA9
IC1zcmNfc3RyaWRlX2FyZ2I7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19z
dHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYKLSAgICAgIGRzdF9zdHJpZGVfeSA9PSB3aWR0aCAm
JgotICAgICAgZHN0X3N0cmlkZV91ICogMiA9PSB3aWR0aCAmJgotICAgICAgZHN0X3N0cmlkZV92
ICogMiA9PSB3aWR0aCkgeworICBpZiAoc3JjX3N0cmlkZV9hcmdiID09IHdpZHRoICogNCAmJiBk
c3Rfc3RyaWRlX3kgPT0gd2lkdGggJiYKKyAgICAgIGRzdF9zdHJpZGVfdSAqIDIgPT0gd2lkdGgg
JiYgZHN0X3N0cmlkZV92ICogMiA9PSB3aWR0aCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAg
ICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfYXJnYiA9IGRzdF9zdHJpZGVfeSA9IGRzdF9z
dHJpZGVfdSA9IGRzdF9zdHJpZGVfdiA9IDA7CkBAIC0xNzcsNiArMTk3LDIzIEBAIGludCBBUkdC
VG9JNDIyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICB9
CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0JUT1lST1dfRFNQUjIpCisgIGlmIChU
ZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpKSB7CisgICAgQVJHQlRvWVJvdyA9IEFSR0JUb1lSb3df
QW55X0RTUFIyOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgQVJHQlRv
WVJvdyA9IEFSR0JUb1lSb3dfRFNQUjI7CisgICAgfQorICB9CisjZW5kaWYKKyNpZiBkZWZpbmVk
KEhBU19BUkdCVE9VVlJPV19EU1BSMikKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikp
IHsKKyAgICBBUkdCVG9VVlJvdyA9IEFSR0JUb1VWUm93X0FueV9EU1BSMjsKKyAgICBpZiAoSVNf
QUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBBUkdCVG9VVlJvdyA9IEFSR0JUb1VWUm93X0RT
UFIyOworICAgIH0KKyAgfQorI2VuZGlmCisKICNpZiBkZWZpbmVkKEhBU19BUkdCVE9ZUk9XX01T
QSkKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CiAgICAgQVJHQlRvWVJvdyA9IEFS
R0JUb1lSb3dfQW55X01TQTsKQEAgLTIwNiwyMSArMjQzLDIzIEBAIGludCBBUkdCVG9JNDIyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKIH0KIAogTElCWVVWX0FQ
SQotaW50IEFSR0JUb05WMTIoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91diwgaW50IGRzdF9zdHJpZGVfdXYsCi0gICAgICAgICAg
ICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCVG9OVjEyKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91diwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3Ry
aWRlX3V2LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhl
aWdodCkgewogICBpbnQgeTsKICAgaW50IGhhbGZ3aWR0aCA9ICh3aWR0aCArIDEpID4+IDE7Ci0g
IHZvaWQgKCpBUkdCVG9VVlJvdykoY29uc3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJp
ZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rf
diwgaW50IHdpZHRoKSA9IEFSR0JUb1VWUm93X0M7CisgIHZvaWQgKCpBUkdCVG9VVlJvdykoY29u
c3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IEFSR0JUb1VW
Um93X0M7CiAgIHZvaWQgKCpBUkdCVG9ZUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4
KiBkc3RfeSwgaW50IHdpZHRoKSA9CiAgICAgICBBUkdCVG9ZUm93X0M7CiAgIHZvaWQgKCpNZXJn
ZVVWUm93XykoY29uc3QgdWludDgqIHNyY191LCBjb25zdCB1aW50OCogc3JjX3YsIHVpbnQ4KiBk
c3RfdXYsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSA9IE1lcmdlVVZSb3dfQzsK
LSAgaWYgKCFzcmNfYXJnYiB8fAotICAgICAgIWRzdF95IHx8ICFkc3RfdXYgfHwKLSAgICAgIHdp
ZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgaWYgKCFzcmNfYXJnYiB8fCAhZHN0X3kgfHwg
IWRzdF91diB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwog
ICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMzA1
LDYgKzM0NCwzMCBAQCBpbnQgQVJHQlRvTlYxMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBz
cmNfc3RyaWRlX2FyZ2IsCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BUkdC
VE9ZUk9XX0RTUFIyKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKSkgeworICAgIEFS
R0JUb1lSb3cgPSBBUkdCVG9ZUm93X0FueV9EU1BSMjsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0
aCwgOCkpIHsKKyAgICAgIEFSR0JUb1lSb3cgPSBBUkdCVG9ZUm93X0RTUFIyOworICAgIH0KKyAg
fQorI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQlRPVVZST1dfRFNQUjIpCisgIGlmIChUZXN0
Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpKSB7CisgICAgQVJHQlRvVVZSb3cgPSBBUkdCVG9VVlJvd19B
bnlfRFNQUjI7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkgeworICAgICAgQVJHQlRv
VVZSb3cgPSBBUkdCVG9VVlJvd19EU1BSMjsKKyAgICB9CisgIH0KKyNlbmRpZgorI2lmIGRlZmlu
ZWQoSEFTX01FUkdFVVZST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsK
KyAgICBNZXJnZVVWUm93XyA9IE1lcmdlVVZSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05F
RChoYWxmd2lkdGgsIDE2KSkgeworICAgICAgTWVyZ2VVVlJvd18gPSBNZXJnZVVWUm93X01TQTsK
KyAgICB9CisgIH0KKyNlbmRpZgogICB7CiAgICAgLy8gQWxsb2NhdGUgYSByb3dzIG9mIHV2Lgog
ICAgIGFsaWduX2J1ZmZlcl82NChyb3dfdSwgKChoYWxmd2lkdGggKyAzMSkgJiB+MzEpICogMik7
CkBAIC0zMzEsMjEgKzM5NCwyMyBAQCBpbnQgQVJHQlRvTlYxMihjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAKIC8vIFNhbWUgYXMgTlYxMiBidXQgVSBhbmQgViBz
d2FwcGVkLgogTElCWVVWX0FQSQotaW50IEFSR0JUb05WMjEoY29uc3QgdWludDgqIHNyY19hcmdi
LCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQg
ZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91diwgaW50IGRzdF9zdHJp
ZGVfdXYsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdC
VG9OVjIxKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX2FyZ2IsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF91diwKKyAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlX3V2LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAg
ICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKICAgaW50IGhhbGZ3aWR0aCA9ICh3
aWR0aCArIDEpID4+IDE7Ci0gIHZvaWQgKCpBUkdCVG9VVlJvdykoY29uc3QgdWludDgqIHNyY19h
cmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IEFSR0JUb1VWUm93X0M7CisgIHZvaWQg
KCpBUkdCVG9VVlJvdykoY29uc3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJn
YiwgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50
IHdpZHRoKSA9IEFSR0JUb1VWUm93X0M7CiAgIHZvaWQgKCpBUkdCVG9ZUm93KShjb25zdCB1aW50
OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSA9CiAgICAgICBBUkdCVG9ZUm93
X0M7CiAgIHZvaWQgKCpNZXJnZVVWUm93XykoY29uc3QgdWludDgqIHNyY191LCBjb25zdCB1aW50
OCogc3JjX3YsIHVpbnQ4KiBkc3RfdXYsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
KSA9IE1lcmdlVVZSb3dfQzsKLSAgaWYgKCFzcmNfYXJnYiB8fAotICAgICAgIWRzdF95IHx8ICFk
c3RfdXYgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgaWYgKCFzcmNf
YXJnYiB8fCAhZHN0X3kgfHwgIWRzdF91diB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7
CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQg
dGhlIGltYWdlLgpAQCAtNDMwLDYgKzQ5NSwzMCBAQCBpbnQgQVJHQlRvTlYyMShjb25zdCB1aW50
OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgfQogICB9CiAjZW5kaWYKKyNp
ZiBkZWZpbmVkKEhBU19BUkdCVE9ZUk9XX0RTUFIyKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhh
c0RTUFIyKSkgeworICAgIEFSR0JUb1lSb3cgPSBBUkdCVG9ZUm93X0FueV9EU1BSMjsKKyAgICBp
ZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIEFSR0JUb1lSb3cgPSBBUkdCVG9ZUm93
X0RTUFIyOworICAgIH0KKyAgfQorI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQlRPVVZST1df
RFNQUjIpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpKSB7CisgICAgQVJHQlRvVVZS
b3cgPSBBUkdCVG9VVlJvd19BbnlfRFNQUjI7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2
KSkgeworICAgICAgQVJHQlRvVVZSb3cgPSBBUkdCVG9VVlJvd19EU1BSMjsKKyAgICB9CisgIH0K
KyNlbmRpZgorI2lmIGRlZmluZWQoSEFTX01FUkdFVVZST1dfTVNBKQorICBpZiAoVGVzdENwdUZs
YWcoa0NwdUhhc01TQSkpIHsKKyAgICBNZXJnZVVWUm93XyA9IE1lcmdlVVZSb3dfQW55X01TQTsK
KyAgICBpZiAoSVNfQUxJR05FRChoYWxmd2lkdGgsIDE2KSkgeworICAgICAgTWVyZ2VVVlJvd18g
PSBNZXJnZVVWUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogICB7CiAgICAgLy8gQWxsb2Nh
dGUgYSByb3dzIG9mIHV2LgogICAgIGFsaWduX2J1ZmZlcl82NChyb3dfdSwgKChoYWxmd2lkdGgg
KyAzMSkgJiB+MzEpICogMik7CkBAIC00NTYsMTkgKzU0NSwyMiBAQCBpbnQgQVJHQlRvTlYyMShj
b25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAKIC8vIENvbnZlcnQg
QVJHQiB0byBZVVkyLgogTElCWVVWX0FQSQotaW50IEFSR0JUb1lVWTIoY29uc3QgdWludDgqIHNy
Y19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95
dXkyLCBpbnQgZHN0X3N0cmlkZV95dXkyLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0KSB7CitpbnQgQVJHQlRvWVVZMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95
dXkyLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeXV5MiwKKyAgICAgICAgICAgICAg
IGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7Ci0gIHZv
aWQgKCpBUkdCVG9VVlJvdykoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAotICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPSBBUkdC
VG9VVlJvd19DOworICB2b2lkICgqQVJHQlRvVVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwg
aW50IHNyY19zdHJpZGVfYXJnYiwgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IEFSR0JUb1VWUm93X0M7CiAgIHZvaWQgKCpBUkdC
VG9ZUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSA9
CiAgICAgICBBUkdCVG9ZUm93X0M7CiAgIHZvaWQgKCpJNDIyVG9ZVVkyUm93KShjb25zdCB1aW50
OCogc3JjX3ksIGNvbnN0IHVpbnQ4KiBzcmNfdSwKLSAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwg
dWludDgqIGRzdF95dXkyLCBpbnQgd2lkdGgpID0gSTQyMlRvWVVZMlJvd19DOworICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCB1aW50OCogZHN0X3l1eTIsIGludCB3
aWR0aCkgPQorICAgICAgSTQyMlRvWVVZMlJvd19DOwogCi0gIGlmICghc3JjX2FyZ2IgfHwgIWRz
dF95dXkyIHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3Jj
X2FyZ2IgfHwgIWRzdF95dXkyIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICBy
ZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1h
Z2UuCkBAIC00NzgsOCArNTcwLDcgQEAgaW50IEFSR0JUb1lVWTIoY29uc3QgdWludDgqIHNyY19h
cmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICAgIGRzdF9zdHJpZGVfeXV5MiA9IC1kc3Rfc3Ry
aWRlX3l1eTI7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVfYXJn
YiA9PSB3aWR0aCAqIDQgJiYKLSAgICAgIGRzdF9zdHJpZGVfeXV5MiA9PSB3aWR0aCAqIDIpIHsK
KyAgaWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYgZHN0X3N0cmlkZV95dXkyID09
IHdpZHRoICogMikgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAg
IHNyY19zdHJpZGVfYXJnYiA9IGRzdF9zdHJpZGVfeXV5MiA9IDA7CkBAIC01NTIsNiArNjQzLDIy
IEBAIGludCBBUkdCVG9ZVVkyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVf
YXJnYiwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0JUT1lST1dfRFNQ
UjIpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpKSB7CisgICAgQVJHQlRvWVJvdyA9
IEFSR0JUb1lSb3dfQW55X0RTUFIyOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgewor
ICAgICAgQVJHQlRvWVJvdyA9IEFSR0JUb1lSb3dfRFNQUjI7CisgICAgfQorICB9CisjZW5kaWYK
KyNpZiBkZWZpbmVkKEhBU19BUkdCVE9VVlJPV19EU1BSMikKKyAgaWYgKFRlc3RDcHVGbGFnKGtD
cHVIYXNEU1BSMikpIHsKKyAgICBBUkdCVG9VVlJvdyA9IEFSR0JUb1VWUm93X0FueV9EU1BSMjsK
KyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBBUkdCVG9VVlJvdyA9IEFS
R0JUb1VWUm93X0RTUFIyOworICAgIH0KKyAgfQorI2VuZGlmCiAjaWYgZGVmaW5lZChIQVNfSTQy
MlRPWVVZMlJPV19NU0EpCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgewogICAgIEk0
MjJUb1lVWTJSb3cgPSBJNDIyVG9ZVVkyUm93X0FueV9NU0E7CkBAIC01ODIsMTkgKzY4OSwyMiBA
QCBpbnQgQVJHQlRvWVVZMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2Fy
Z2IsCiAKIC8vIENvbnZlcnQgQVJHQiB0byBVWVZZLgogTElCWVVWX0FQSQotaW50IEFSR0JUb1VZ
VlkoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91eXZ5LCBpbnQgZHN0X3N0cmlkZV91eXZ5LAotICAgICAgICAgICAg
ICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgQVJHQlRvVVlWWShjb25zdCB1aW50OCog
c3JjX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91eXZ5LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdXl2
eSwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQp
IHsKICAgaW50IHk7Ci0gIHZvaWQgKCpBUkdCVG9VVlJvdykoY29uc3QgdWludDgqIHNyY19hcmdi
LCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3Ys
IGludCB3aWR0aCkgPSBBUkdCVG9VVlJvd19DOworICB2b2lkICgqQVJHQlRvVVZSb3cpKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwgdWludDgqIGRzdF91LAorICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IEFSR0JUb1VWUm93
X0M7CiAgIHZvaWQgKCpBUkdCVG9ZUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBk
c3RfeSwgaW50IHdpZHRoKSA9CiAgICAgICBBUkdCVG9ZUm93X0M7CiAgIHZvaWQgKCpJNDIyVG9V
WVZZUm93KShjb25zdCB1aW50OCogc3JjX3ksIGNvbnN0IHVpbnQ4KiBzcmNfdSwKLSAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdiwgdWludDgqIGRzdF91eXZ5LCBpbnQgd2lkdGgpID0gSTQyMlRvVVlW
WVJvd19DOworICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCB1aW50
OCogZHN0X3V5dnksIGludCB3aWR0aCkgPQorICAgICAgSTQyMlRvVVlWWVJvd19DOwogCi0gIGlm
ICghc3JjX2FyZ2IgfHwgIWRzdF91eXZ5IHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9
PSAwKSB7CisgIGlmICghc3JjX2FyZ2IgfHwgIWRzdF91eXZ5IHx8IHdpZHRoIDw9IDAgfHwgaGVp
Z2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1l
YW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC02MDQsOCArNzE0LDcgQEAgaW50IEFSR0JUb1VZVlko
Y29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICAgIGRzdF9zdHJp
ZGVfdXl2eSA9IC1kc3Rfc3RyaWRlX3V5dnk7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAg
aWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYKLSAgICAgIGRzdF9zdHJpZGVfdXl2
eSA9PSB3aWR0aCAqIDIpIHsKKyAgaWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYg
ZHN0X3N0cmlkZV91eXZ5ID09IHdpZHRoICogMikgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAg
ICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfYXJnYiA9IGRzdF9zdHJpZGVfdXl2eSA9IDA7
CkBAIC02NzgsNiArNzg3LDIyIEBAIGludCBBUkdCVG9VWVZZKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQo
SEFTX0FSR0JUT1lST1dfRFNQUjIpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpKSB7
CisgICAgQVJHQlRvWVJvdyA9IEFSR0JUb1lSb3dfQW55X0RTUFIyOworICAgIGlmIChJU19BTElH
TkVEKHdpZHRoLCA4KSkgeworICAgICAgQVJHQlRvWVJvdyA9IEFSR0JUb1lSb3dfRFNQUjI7Cisg
ICAgfQorICB9CisjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BUkdCVE9VVlJPV19EU1BSMikKKyAg
aWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikpIHsKKyAgICBBUkdCVG9VVlJvdyA9IEFSR0JU
b1VWUm93X0FueV9EU1BSMjsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAg
ICBBUkdCVG9VVlJvdyA9IEFSR0JUb1VWUm93X0RTUFIyOworICAgIH0KKyAgfQorI2VuZGlmCiAj
aWYgZGVmaW5lZChIQVNfSTQyMlRPVVlWWVJPV19NU0EpCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1
SGFzTVNBKSkgewogICAgIEk0MjJUb1VZVllSb3cgPSBJNDIyVG9VWVZZUm93X0FueV9NU0E7CkBA
IC03MDgsOSArODMzLDEyIEBAIGludCBBUkdCVG9VWVZZKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwg
aW50IHNyY19zdHJpZGVfYXJnYiwKIAogLy8gQ29udmVydCBBUkdCIHRvIEk0MDAuCiBMSUJZVVZf
QVBJCi1pbnQgQVJHQlRvSTQwMChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRl
X2FyZ2IsCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCVG9JNDAwKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2Is
CisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV95LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhl
aWdodCkgewogICBpbnQgeTsKICAgdm9pZCAoKkFSR0JUb1lSb3cpKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpID0KICAgICAgIEFSR0JUb1lSb3dfQzsKQEAg
LTcyMyw4ICs4NTEsNyBAQCBpbnQgQVJHQlRvSTQwMChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGlu
dCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgc3JjX3N0cmlkZV9hcmdiID0gLXNyY19zdHJpZGVfYXJn
YjsKICAgfQogICAvLyBDb2FsZXNjZSByb3dzLgotICBpZiAoc3JjX3N0cmlkZV9hcmdiID09IHdp
ZHRoICogNCAmJgotICAgICAgZHN0X3N0cmlkZV95ID09IHdpZHRoKSB7CisgIGlmIChzcmNfc3Ry
aWRlX2FyZ2IgPT0gd2lkdGggKiA0ICYmIGRzdF9zdHJpZGVfeSA9PSB3aWR0aCkgewogICAgIHdp
ZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfYXJnYiA9IGRz
dF9zdHJpZGVfeSA9IDA7CkBAIC03NTMsNiArODgwLDE0IEBAIGludCBBUkdCVG9JNDAwKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICB9CiAgIH0KICNlbmRp
ZgorI2lmIGRlZmluZWQoSEFTX0FSR0JUT1lST1dfRFNQUjIpCisgIGlmIChUZXN0Q3B1RmxhZyhr
Q3B1SGFzRFNQUjIpKSB7CisgICAgQVJHQlRvWVJvdyA9IEFSR0JUb1lSb3dfQW55X0RTUFIyOwor
ICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgQVJHQlRvWVJvdyA9IEFSR0JU
b1lSb3dfRFNQUjI7CisgICAgfQorICB9CisjZW5kaWYKICNpZiBkZWZpbmVkKEhBU19BUkdCVE9Z
Uk9XX01TQSkKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CiAgICAgQVJHQlRvWVJv
dyA9IEFSR0JUb1lSb3dfQW55X01TQTsKQEAgLTc3MSwyNiArOTA2LDI5IEBAIGludCBBUkdCVG9J
NDAwKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKIH0KIAogLy8g
U2h1ZmZsZSB0YWJsZSBmb3IgY29udmVydGluZyBBUkdCIHRvIFJHQkEuCi1zdGF0aWMgdXZlYzgg
a1NodWZmbGVNYXNrQVJHQlRvUkdCQSA9IHsKLSAgM3UsIDB1LCAxdSwgMnUsIDd1LCA0dSwgNXUs
IDZ1LCAxMXUsIDh1LCA5dSwgMTB1LCAxNXUsIDEydSwgMTN1LCAxNHUKLX07CitzdGF0aWMgdXZl
Yzgga1NodWZmbGVNYXNrQVJHQlRvUkdCQSA9IHszdSwgIDB1LCAxdSwgMnUsICA3dSwgIDR1LCAg
NXUsICA2dSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExdSwgOHUs
IDl1LCAxMHUsIDE1dSwgMTJ1LCAxM3UsIDE0dX07CiAKIC8vIENvbnZlcnQgQVJHQiB0byBSR0JB
LgogTElCWVVWX0FQSQotaW50IEFSR0JUb1JHQkEoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQg
c3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2JhLCBpbnQgZHN0
X3N0cmlkZV9yZ2JhLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Ci0g
IHJldHVybiBBUkdCU2h1ZmZsZShzcmNfYXJnYiwgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAg
ICAgICAgICAgICAgZHN0X3JnYmEsIGRzdF9zdHJpZGVfcmdiYSwKLSAgICAgICAgICAgICAgICAg
ICAgIChjb25zdCB1aW50OCopKCZrU2h1ZmZsZU1hc2tBUkdCVG9SR0JBKSwKLSAgICAgICAgICAg
ICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworaW50IEFSR0JUb1JHQkEoY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfcmdiYSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3JnYmEs
CisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7
CisgIHJldHVybiBBUkdCU2h1ZmZsZShzcmNfYXJnYiwgc3JjX3N0cmlkZV9hcmdiLCBkc3Rfcmdi
YSwgZHN0X3N0cmlkZV9yZ2JhLAorICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IHVpbnQ4Kiko
JmtTaHVmZmxlTWFza0FSR0JUb1JHQkEpLCB3aWR0aCwgaGVpZ2h0KTsKIH0KIAogLy8gQ29udmVy
dCBBUkdCIFRvIFJHQjI0LgogTElCWVVWX0FQSQotaW50IEFSR0JUb1JHQjI0KGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3JnYjI0LCBpbnQgZHN0X3N0cmlkZV9yZ2IyNCwKLSAgICAgICAgICAgICAgICBpbnQgd2lk
dGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCVG9SR0IyNChjb25zdCB1aW50OCogc3JjX2FyZ2Is
CisgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3JnYjI0LAorICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3JnYjI0LAor
ICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7
CiAgIGludCB5OwogICB2b2lkICgqQVJHQlRvUkdCMjRSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCkgPQogICAgICAgQVJHQlRvUkdCMjRSb3dfQzsK
QEAgLTgwMyw4ICs5NDEsNyBAQCBpbnQgQVJHQlRvUkdCMjQoY29uc3QgdWludDgqIHNyY19hcmdi
LCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICAgIHNyY19zdHJpZGVfYXJnYiA9IC1zcmNfc3RyaWRl
X2FyZ2I7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVfYXJnYiA9
PSB3aWR0aCAqIDQgJiYKLSAgICAgIGRzdF9zdHJpZGVfcmdiMjQgPT0gd2lkdGggKiAzKSB7Cisg
IGlmIChzcmNfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0ICYmIGRzdF9zdHJpZGVfcmdiMjQgPT0g
d2lkdGggKiAzKSB7CiAgICAgd2lkdGggKj0gaGVpZ2h0OwogICAgIGhlaWdodCA9IDE7CiAgICAg
c3JjX3N0cmlkZV9hcmdiID0gZHN0X3N0cmlkZV9yZ2IyNCA9IDA7CkBAIC04MjUsNiArOTYyLDE0
IEBAIGludCBBUkdCVG9SR0IyNChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRl
X2FyZ2IsCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BUkdCVE9SR0IyNFJP
V19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEFSR0JUb1JHQjI0
Um93ID0gQVJHQlRvUkdCMjRSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwg
MTYpKSB7CisgICAgICBBUkdCVG9SR0IyNFJvdyA9IEFSR0JUb1JHQjI0Um93X01TQTsKKyAgICB9
CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewogICAgIEFS
R0JUb1JHQjI0Um93KHNyY19hcmdiLCBkc3RfcmdiMjQsIHdpZHRoKTsKQEAgLTgzNiw5ICs5ODEs
MTIgQEAgaW50IEFSR0JUb1JHQjI0KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJp
ZGVfYXJnYiwKIAogLy8gQ29udmVydCBBUkdCIFRvIFJBVy4KIExJQllVVl9BUEkKLWludCBBUkdC
VG9SQVcoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAg
ICAgICAgICB1aW50OCogZHN0X3JhdywgaW50IGRzdF9zdHJpZGVfcmF3LAotICAgICAgICAgICAg
ICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCVG9SQVcoY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAg
ICB1aW50OCogZHN0X3JhdywKKyAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfcmF3LAorICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50
IHk7CiAgIHZvaWQgKCpBUkdCVG9SQVdSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgq
IGRzdF9yZ2IsIGludCB3aWR0aCkgPQogICAgICAgQVJHQlRvUkFXUm93X0M7CkBAIC04NTEsOCAr
OTk5LDcgQEAgaW50IEFSR0JUb1JBVyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3Ry
aWRlX2FyZ2IsCiAgICAgc3JjX3N0cmlkZV9hcmdiID0gLXNyY19zdHJpZGVfYXJnYjsKICAgfQog
ICAvLyBDb2FsZXNjZSByb3dzLgotICBpZiAoc3JjX3N0cmlkZV9hcmdiID09IHdpZHRoICogNCAm
JgotICAgICAgZHN0X3N0cmlkZV9yYXcgPT0gd2lkdGggKiAzKSB7CisgIGlmIChzcmNfc3RyaWRl
X2FyZ2IgPT0gd2lkdGggKiA0ICYmIGRzdF9zdHJpZGVfcmF3ID09IHdpZHRoICogMykgewogICAg
IHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfYXJnYiA9
IGRzdF9zdHJpZGVfcmF3ID0gMDsKQEAgLTg3Myw2ICsxMDIwLDE0IEBAIGludCBBUkdCVG9SQVco
Y29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICAgIH0KICAgfQog
I2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQlRPUkFXUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVG
bGFnKGtDcHVIYXNNU0EpKSB7CisgICAgQVJHQlRvUkFXUm93ID0gQVJHQlRvUkFXUm93X0FueV9N
U0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkgeworICAgICAgQVJHQlRvUkFXUm93
ID0gQVJHQlRvUkFXUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7
IHkgPCBoZWlnaHQ7ICsreSkgewogICAgIEFSR0JUb1JBV1JvdyhzcmNfYXJnYiwgZHN0X3Jhdywg
d2lkdGgpOwpAQCAtODg0LDIwICsxMDM5LDIyIEBAIGludCBBUkdCVG9SQVcoY29uc3QgdWludDgq
IHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogCiAvLyBPcmRlcmVkIDh4OCBkaXRoZXIg
Zm9yIDg4OCB0byA1NjUuICBWYWx1ZXMgZnJvbSAwIHRvIDcuCiBzdGF0aWMgY29uc3QgdWludDgg
a0RpdGhlcjU2NV80eDRbMTZdID0gewotICAwLCA0LCAxLCA1LAotICA2LCAyLCA3LCAzLAotICAx
LCA1LCAwLCA0LAotICA3LCAzLCA2LCAyLAorICAgIDAsIDQsIDEsIDUsIDYsIDIsIDcsIDMsIDEs
IDUsIDAsIDQsIDcsIDMsIDYsIDIsCiB9OwogCiAvLyBDb252ZXJ0IEFSR0IgVG8gUkdCNTY1IHdp
dGggNHg0IGRpdGhlciBtYXRyaXggKDE2IGJ5dGVzKS4KIExJQllVVl9BUEkKLWludCBBUkdCVG9S
R0I1NjVEaXRoZXIoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAot
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYjU2NSwgaW50IGRzdF9zdHJpZGVf
cmdiNTY1LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogZGl0aGVyNHg0LCBp
bnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCVG9SR0I1NjVEaXRoZXIoY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYjU2NSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfcmdiNTY1LAorICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogZGl0aGVyNHg0LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7CiAgIHZv
aWQgKCpBUkdCVG9SR0I1NjVEaXRoZXJSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgq
IGRzdF9yZ2IsCi0gICAgICBjb25zdCB1aW50MzIgZGl0aGVyNCwgaW50IHdpZHRoKSA9IEFSR0JU
b1JHQjU2NURpdGhlclJvd19DOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50MzIgZGl0aGVyNCwgaW50IHdpZHRoKSA9CisgICAgICBBUkdCVG9SR0I1NjVEaXRoZXJS
b3dfQzsKICAgaWYgKCFzcmNfYXJnYiB8fCAhZHN0X3JnYjU2NSB8fCB3aWR0aCA8PSAwIHx8IGhl
aWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CkBAIC05MzMsOSArMTA5MCwxOSBAQCBp
bnQgQVJHQlRvUkdCNTY1RGl0aGVyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJp
ZGVfYXJnYiwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0JUT1JHQjU2
NURJVEhFUlJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEFS
R0JUb1JHQjU2NURpdGhlclJvdyA9IEFSR0JUb1JHQjU2NURpdGhlclJvd19BbnlfTVNBOworICAg
IGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgQVJHQlRvUkdCNTY1RGl0aGVyUm93
ID0gQVJHQlRvUkdCNTY1RGl0aGVyUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgorCiAgIGZv
ciAoeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewogICAgIEFSR0JUb1JHQjU2NURpdGhlclJvdyhz
cmNfYXJnYiwgZHN0X3JnYjU2NSwKLSAgICAgICAgKih1aW50MzIqKShkaXRoZXI0eDQgKyAoKHkg
JiAzKSA8PCAyKSksIHdpZHRoKTsgIC8qIE5PTElOVCAqLworICAgICAgICAgICAgICAgICAgICAg
ICAgICAqKHVpbnQzMiopKGRpdGhlcjR4NCArICgoeSAmIDMpIDw8IDIpKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgd2lkdGgpOyAvKiBOT0xJTlQgKi8KICAgICBzcmNfYXJnYiArPSBzcmNf
c3RyaWRlX2FyZ2I7CiAgICAgZHN0X3JnYjU2NSArPSBkc3Rfc3RyaWRlX3JnYjU2NTsKICAgfQpA
QCAtOTQ1LDkgKzExMTIsMTIgQEAgaW50IEFSR0JUb1JHQjU2NURpdGhlcihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAvLyBDb252ZXJ0IEFSR0IgVG8gUkdCNTY1
LgogLy8gVE9ETyhmYmFyY2hhcmQpOiBDb25zaWRlciB1c2luZyBkaXRoZXIgZnVuY3Rpb24gbG93
IGxldmVsIHdpdGggemVyb3MuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvUkdCNTY1KGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9yZ2I1NjUsIGludCBkc3Rfc3RyaWRlX3JnYjU2NSwKLSAgICAgICAgICAgICAgICAg
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgQVJHQlRvUkdCNTY1KGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9yZ2I1NjUsCisgICAgICAgICAgICAgICAgIGludCBkc3Rfc3Ry
aWRlX3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAg
ICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lkICgqQVJHQlRvUkdCNTY1Um93KShjb25z
dCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpID0KICAgICAgIEFS
R0JUb1JHQjU2NVJvd19DOwpAQCAtOTYwLDggKzExMzAsNyBAQCBpbnQgQVJHQlRvUkdCNTY1KGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICBzcmNfc3RyaWRl
X2FyZ2IgPSAtc3JjX3N0cmlkZV9hcmdiOwogICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlm
IChzcmNfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0ICYmCi0gICAgICBkc3Rfc3RyaWRlX3JnYjU2
NSA9PSB3aWR0aCAqIDIpIHsKKyAgaWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYg
ZHN0X3N0cmlkZV9yZ2I1NjUgPT0gd2lkdGggKiAyKSB7CiAgICAgd2lkdGggKj0gaGVpZ2h0Owog
ICAgIGhlaWdodCA9IDE7CiAgICAgc3JjX3N0cmlkZV9hcmdiID0gZHN0X3N0cmlkZV9yZ2I1NjUg
PSAwOwpAQCAtOTkwLDYgKzExNTksMTQgQEAgaW50IEFSR0JUb1JHQjU2NShjb25zdCB1aW50OCog
c3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBk
ZWZpbmVkKEhBU19BUkdCVE9SR0I1NjVST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhh
c01TQSkpIHsKKyAgICBBUkdCVG9SR0I1NjVSb3cgPSBBUkdCVG9SR0I1NjVSb3dfQW55X01TQTsK
KyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIEFSR0JUb1JHQjU2NVJvdyA9
IEFSR0JUb1JHQjU2NVJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKIAogICBmb3IgKHkgPSAw
OyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICBBUkdCVG9SR0I1NjVSb3coc3JjX2FyZ2IsIGRzdF9y
Z2I1NjUsIHdpZHRoKTsKQEAgLTEwMDEsOSArMTE3OCwxMiBAQCBpbnQgQVJHQlRvUkdCNTY1KGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKIAogLy8gQ29udmVydCBB
UkdCIFRvIEFSR0IxNTU1LgogTElCWVVWX0FQSQotaW50IEFSR0JUb0FSR0IxNTU1KGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IxNTU1LCBpbnQgZHN0X3N0cmlkZV9hcmdiMTU1NSwKLSAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCVG9BUkdCMTU1NShjb25z
dCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IxNTU1LAorICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lk
ICgqQVJHQlRvQVJHQjE1NTVSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9y
Z2IsIGludCB3aWR0aCkgPQogICAgICAgQVJHQlRvQVJHQjE1NTVSb3dfQzsKQEAgLTEwMTYsOCAr
MTE5Niw3IEBAIGludCBBUkdCVG9BUkdCMTU1NShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBz
cmNfc3RyaWRlX2FyZ2IsCiAgICAgc3JjX3N0cmlkZV9hcmdiID0gLXNyY19zdHJpZGVfYXJnYjsK
ICAgfQogICAvLyBDb2FsZXNjZSByb3dzLgotICBpZiAoc3JjX3N0cmlkZV9hcmdiID09IHdpZHRo
ICogNCAmJgotICAgICAgZHN0X3N0cmlkZV9hcmdiMTU1NSA9PSB3aWR0aCAqIDIpIHsKKyAgaWYg
KHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYgZHN0X3N0cmlkZV9hcmdiMTU1NSA9PSB3
aWR0aCAqIDIpIHsKICAgICB3aWR0aCAqPSBoZWlnaHQ7CiAgICAgaGVpZ2h0ID0gMTsKICAgICBz
cmNfc3RyaWRlX2FyZ2IgPSBkc3Rfc3RyaWRlX2FyZ2IxNTU1ID0gMDsKQEAgLTEwNDYsNiArMTIy
NSwxNCBAQCBpbnQgQVJHQlRvQVJHQjE1NTUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3Jj
X3N0cmlkZV9hcmdiLAogICAgIH0KICAgfQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQlRP
QVJHQjE1NTVST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBB
UkdCVG9BUkdCMTU1NVJvdyA9IEFSR0JUb0FSR0IxNTU1Um93X0FueV9NU0E7CisgICAgaWYgKElT
X0FMSUdORUQod2lkdGgsIDgpKSB7CisgICAgICBBUkdCVG9BUkdCMTU1NVJvdyA9IEFSR0JUb0FS
R0IxNTU1Um93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBo
ZWlnaHQ7ICsreSkgewogICAgIEFSR0JUb0FSR0IxNTU1Um93KHNyY19hcmdiLCBkc3RfYXJnYjE1
NTUsIHdpZHRoKTsKQEAgLTEwNTcsOSArMTI0NCwxMiBAQCBpbnQgQVJHQlRvQVJHQjE1NTUoY29u
c3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogCiAvLyBDb252ZXJ0IEFS
R0IgVG8gQVJHQjQ0NDQuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlRvQVJHQjQ0NDQoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYjQ0NDQsIGludCBkc3Rfc3RyaWRlX2FyZ2I0NDQ0LAotICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IEFSR0JUb0FSR0I0NDQ0KGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdi
LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYjQ0NDQsCisgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYjQ0NDQsCisgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7CiAgIHZvaWQg
KCpBUkdCVG9BUkdCNDQ0NFJvdykoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3Jn
YiwgaW50IHdpZHRoKSA9CiAgICAgICBBUkdCVG9BUkdCNDQ0NFJvd19DOwpAQCAtMTA3Miw4ICsx
MjYyLDcgQEAgaW50IEFSR0JUb0FSR0I0NDQ0KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNy
Y19zdHJpZGVfYXJnYiwKICAgICBzcmNfc3RyaWRlX2FyZ2IgPSAtc3JjX3N0cmlkZV9hcmdiOwog
ICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX2FyZ2IgPT0gd2lkdGgg
KiA0ICYmCi0gICAgICBkc3Rfc3RyaWRlX2FyZ2I0NDQ0ID09IHdpZHRoICogMikgeworICBpZiAo
c3JjX3N0cmlkZV9hcmdiID09IHdpZHRoICogNCAmJiBkc3Rfc3RyaWRlX2FyZ2I0NDQ0ID09IHdp
ZHRoICogMikgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNy
Y19zdHJpZGVfYXJnYiA9IGRzdF9zdHJpZGVfYXJnYjQ0NDQgPSAwOwpAQCAtMTEwMiw2ICsxMjkx
LDE0IEBAIGludCBBUkdCVG9BUkdCNDQ0NChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNf
c3RyaWRlX2FyZ2IsCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BUkdCVE9B
UkdCNDQ0NFJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEFS
R0JUb0FSR0I0NDQ0Um93ID0gQVJHQlRvQVJHQjQ0NDRSb3dfQW55X01TQTsKKyAgICBpZiAoSVNf
QUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIEFSR0JUb0FSR0I0NDQ0Um93ID0gQVJHQlRvQVJH
QjQ0NDRSb3dfTVNBOworICAgIH0KKyAgfQorI2VuZGlmCiAKICAgZm9yICh5ID0gMDsgeSA8IGhl
aWdodDsgKyt5KSB7CiAgICAgQVJHQlRvQVJHQjQ0NDRSb3coc3JjX2FyZ2IsIGRzdF9hcmdiNDQ0
NCwgd2lkdGgpOwpAQCAtMTExMywxOSArMTMxMCwyMiBAQCBpbnQgQVJHQlRvQVJHQjQ0NDQoY29u
c3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogCiAvLyBDb252ZXJ0IEFS
R0IgdG8gSjQyMC4gKEpQZWcgZnVsbCByYW5nZSBJNDIwKS4KIExJQllVVl9BUEkKLWludCBBUkdC
VG9KNDIwKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfeWosIGludCBkc3Rfc3RyaWRlX3lqLAotICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgq
IGRzdF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0KSB7CitpbnQgQVJHQlRvSjQyMChjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95
aiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3lqLAorICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF91LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGlu
dCB5OwogICB2b2lkICgqQVJHQlRvVVZKUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQg
c3JjX3N0cmlkZV9hcmdiLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVp
bnQ4KiBkc3RfdiwgaW50IHdpZHRoKSA9IEFSR0JUb1VWSlJvd19DOwogICB2b2lkICgqQVJHQlRv
WUpSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF95aiwgaW50IHdpZHRoKSA9
CiAgICAgICBBUkdCVG9ZSlJvd19DOwotICBpZiAoIXNyY19hcmdiIHx8Ci0gICAgICAhZHN0X3lq
IHx8ICFkc3RfdSB8fCAhZHN0X3YgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDAp
IHsKKyAgaWYgKCFzcmNfYXJnYiB8fCAhZHN0X3lqIHx8ICFkc3RfdSB8fCAhZHN0X3YgfHwgd2lk
dGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdh
dGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTExNjgsNiArMTM2OCwyMiBA
QCBpbnQgQVJHQlRvSjQyMChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2Fy
Z2IsCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BUkdCVE9ZSlJPV19NU0Ep
CisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEFSR0JUb1lKUm93ID0gQVJH
QlRvWUpSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAg
ICBBUkdCVG9ZSlJvdyA9IEFSR0JUb1lKUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgorI2lm
IGRlZmluZWQoSEFTX0FSR0JUT1VWSlJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFz
TVNBKSkgeworICAgIEFSR0JUb1VWSlJvdyA9IEFSR0JUb1VWSlJvd19BbnlfTVNBOworICAgIGlm
IChJU19BTElHTkVEKHdpZHRoLCAzMikpIHsKKyAgICAgIEFSR0JUb1VWSlJvdyA9IEFSR0JUb1VW
SlJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKIAogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0
IC0gMTsgeSArPSAyKSB7CiAgICAgQVJHQlRvVVZKUm93KHNyY19hcmdiLCBzcmNfc3RyaWRlX2Fy
Z2IsIGRzdF91LCBkc3Rfdiwgd2lkdGgpOwpAQCAtMTE4NywxOSArMTQwMywyMiBAQCBpbnQgQVJH
QlRvSjQyMChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAKIC8v
IENvbnZlcnQgQVJHQiB0byBKNDIyLiAoSlBlZyBmdWxsIHJhbmdlIEk0MjIpLgogTElCWVVWX0FQ
SQotaW50IEFSR0JUb0o0MjIoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95aiwgaW50IGRzdF9zdHJpZGVfeWosCi0g
ICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAg
ICAgICB1aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICBpbnQg
d2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCVG9KNDIyKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICB1
aW50OCogZHN0X3lqLAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeWosCisgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfdiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWln
aHQpIHsKICAgaW50IHk7CiAgIHZvaWQgKCpBUkdCVG9VVkpSb3cpKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpID0gQVJHQlRvVVZKUm93X0M7CiAgIHZv
aWQgKCpBUkdCVG9ZSlJvdykoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3lqLCBp
bnQgd2lkdGgpID0KICAgICAgIEFSR0JUb1lKUm93X0M7Ci0gIGlmICghc3JjX2FyZ2IgfHwKLSAg
ICAgICFkc3RfeWogfHwgIWRzdF91IHx8ICFkc3RfdiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBo
ZWlnaHQgPT0gMCkgeworICBpZiAoIXNyY19hcmdiIHx8ICFkc3RfeWogfHwgIWRzdF91IHx8ICFk
c3RfdiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9
CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMTIwOSwx
MCArMTQyOCw4IEBAIGludCBBUkdCVG9KNDIyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNy
Y19zdHJpZGVfYXJnYiwKICAgICBzcmNfc3RyaWRlX2FyZ2IgPSAtc3JjX3N0cmlkZV9hcmdiOwog
ICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX2FyZ2IgPT0gd2lkdGgg
KiA0ICYmCi0gICAgICBkc3Rfc3RyaWRlX3lqID09IHdpZHRoICYmCi0gICAgICBkc3Rfc3RyaWRl
X3UgKiAyID09IHdpZHRoICYmCi0gICAgICBkc3Rfc3RyaWRlX3YgKiAyID09IHdpZHRoKSB7Cisg
IGlmIChzcmNfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0ICYmIGRzdF9zdHJpZGVfeWogPT0gd2lk
dGggJiYKKyAgICAgIGRzdF9zdHJpZGVfdSAqIDIgPT0gd2lkdGggJiYgZHN0X3N0cmlkZV92ICog
MiA9PSB3aWR0aCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAg
IHNyY19zdHJpZGVfYXJnYiA9IGRzdF9zdHJpZGVfeWogPSBkc3Rfc3RyaWRlX3UgPSBkc3Rfc3Ry
aWRlX3YgPSAwOwpAQCAtMTI1MSw2ICsxNDY4LDIyIEBAIGludCBBUkdCVG9KNDIyKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICB9CiAgIH0KICNlbmRpZgor
I2lmIGRlZmluZWQoSEFTX0FSR0JUT1lKUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVI
YXNNU0EpKSB7CisgICAgQVJHQlRvWUpSb3cgPSBBUkdCVG9ZSlJvd19BbnlfTVNBOworICAgIGlm
IChJU19BTElHTkVEKHdpZHRoLCAxNikpIHsKKyAgICAgIEFSR0JUb1lKUm93ID0gQVJHQlRvWUpS
b3dfTVNBOworICAgIH0KKyAgfQorI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQlRPVVZKUk9X
X01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgQVJHQlRvVVZKUm93
ID0gQVJHQlRvVVZKUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDMyKSkg
eworICAgICAgQVJHQlRvVVZKUm93ID0gQVJHQlRvVVZKUm93X01TQTsKKyAgICB9CisgIH0KKyNl
bmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewogICAgIEFSR0JUb1VWSlJv
dyhzcmNfYXJnYiwgMCwgZHN0X3UsIGRzdF92LCB3aWR0aCk7CkBAIC0xMjY1LDkgKzE0OTgsMTIg
QEAgaW50IEFSR0JUb0o0MjIoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAogCiAvLyBDb252ZXJ0IEFSR0IgdG8gSjQwMC4KIExJQllVVl9BUEkKLWludCBBUkdCVG9K
NDAwKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfeWosIGludCBkc3Rfc3RyaWRlX3lqLAotICAgICAgICAgICAgICAg
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgQVJHQlRvSjQwMChjb25zdCB1aW50OCogc3Jj
X2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAg
ICAgdWludDgqIGRzdF95aiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3lqLAorICAg
ICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBp
bnQgeTsKICAgdm9pZCAoKkFSR0JUb1lKUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4
KiBkc3RfeWosIGludCB3aWR0aCkgPQogICAgICAgQVJHQlRvWUpSb3dfQzsKQEAgLTEyODAsOCAr
MTUxNiw3IEBAIGludCBBUkdCVG9KNDAwKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19z
dHJpZGVfYXJnYiwKICAgICBzcmNfc3RyaWRlX2FyZ2IgPSAtc3JjX3N0cmlkZV9hcmdiOwogICB9
CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0
ICYmCi0gICAgICBkc3Rfc3RyaWRlX3lqID09IHdpZHRoKSB7CisgIGlmIChzcmNfc3RyaWRlX2Fy
Z2IgPT0gd2lkdGggKiA0ICYmIGRzdF9zdHJpZGVfeWogPT0gd2lkdGgpIHsKICAgICB3aWR0aCAq
PSBoZWlnaHQ7CiAgICAgaGVpZ2h0ID0gMTsKICAgICBzcmNfc3RyaWRlX2FyZ2IgPSBkc3Rfc3Ry
aWRlX3lqID0gMDsKQEAgLTEzMTAsNiArMTU0NSwxNCBAQCBpbnQgQVJHQlRvSjQwMChjb25zdCB1
aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgfQogICB9CiAjZW5kaWYK
KyNpZiBkZWZpbmVkKEhBU19BUkdCVE9ZSlJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1
SGFzTVNBKSkgeworICAgIEFSR0JUb1lKUm93ID0gQVJHQlRvWUpSb3dfQW55X01TQTsKKyAgICBp
ZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBBUkdCVG9ZSlJvdyA9IEFSR0JUb1lK
Um93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7
ICsreSkgewogICAgIEFSR0JUb1lKUm93KHNyY19hcmdiLCBkc3RfeWosIHdpZHRoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3NvdXJjZS9jb252ZXJ0X2pwZWcuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY29udmVydF9qcGVnLmNjCmluZGV4IDk3
MDczNWMyMDE0NGUyZTU1ZDY3ZDg3MGUyOTk1ZWU4NzMyN2YxYzcuLjIxNmE5ZjI2ZDg3MjM0ODFk
MWQ0YzU3OGEyNGE0MzY5NzVhZTMyYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jb252ZXJ0X2pwZWcuY2MK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvc291cmNlL2NvbnZlcnRfanBlZy5jYwpAQCAtMzcsMTMgKzM3LDkgQEAgc3RhdGljIHZvaWQg
SnBlZ0NvcHlJNDIwKHZvaWQqIG9wYXF1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQqIHN0cmlkZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJvd3MpIHsKICAg
STQyMEJ1ZmZlcnMqIGRlc3QgPSAoSTQyMEJ1ZmZlcnMqKShvcGFxdWUpOwotICBJNDIwQ29weShk
YXRhWzBdLCBzdHJpZGVzWzBdLAotICAgICAgICAgICBkYXRhWzFdLCBzdHJpZGVzWzFdLAotICAg
ICAgICAgICBkYXRhWzJdLCBzdHJpZGVzWzJdLAotICAgICAgICAgICBkZXN0LT55LCBkZXN0LT55
X3N0cmlkZSwKLSAgICAgICAgICAgZGVzdC0+dSwgZGVzdC0+dV9zdHJpZGUsCi0gICAgICAgICAg
IGRlc3QtPnYsIGRlc3QtPnZfc3RyaWRlLAotICAgICAgICAgICBkZXN0LT53LCByb3dzKTsKKyAg
STQyMENvcHkoZGF0YVswXSwgc3RyaWRlc1swXSwgZGF0YVsxXSwgc3RyaWRlc1sxXSwgZGF0YVsy
XSwgc3RyaWRlc1syXSwKKyAgICAgICAgICAgZGVzdC0+eSwgZGVzdC0+eV9zdHJpZGUsIGRlc3Qt
PnUsIGRlc3QtPnVfc3RyaWRlLCBkZXN0LT52LAorICAgICAgICAgICBkZXN0LT52X3N0cmlkZSwg
ZGVzdC0+dywgcm93cyk7CiAgIGRlc3QtPnkgKz0gcm93cyAqIGRlc3QtPnlfc3RyaWRlOwogICBk
ZXN0LT51ICs9ICgocm93cyArIDEpID4+IDEpICogZGVzdC0+dV9zdHJpZGU7CiAgIGRlc3QtPnYg
Kz0gKChyb3dzICsgMSkgPj4gMSkgKiBkZXN0LT52X3N0cmlkZTsKQEAgLTU1LDEzICs1MSw5IEBA
IHN0YXRpYyB2b2lkIEpwZWdJNDIyVG9JNDIwKHZvaWQqIG9wYXF1ZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGludCogc3RyaWRlcywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByb3dzKSB7CiAgIEk0MjBCdWZmZXJzKiBkZXN0ID0gKEk0MjBCdWZmZXJzKikob3Bh
cXVlKTsKLSAgSTQyMlRvSTQyMChkYXRhWzBdLCBzdHJpZGVzWzBdLAotICAgICAgICAgICAgIGRh
dGFbMV0sIHN0cmlkZXNbMV0sCi0gICAgICAgICAgICAgZGF0YVsyXSwgc3RyaWRlc1syXSwKLSAg
ICAgICAgICAgICBkZXN0LT55LCBkZXN0LT55X3N0cmlkZSwKLSAgICAgICAgICAgICBkZXN0LT51
LCBkZXN0LT51X3N0cmlkZSwKLSAgICAgICAgICAgICBkZXN0LT52LCBkZXN0LT52X3N0cmlkZSwK
LSAgICAgICAgICAgICBkZXN0LT53LCByb3dzKTsKKyAgSTQyMlRvSTQyMChkYXRhWzBdLCBzdHJp
ZGVzWzBdLCBkYXRhWzFdLCBzdHJpZGVzWzFdLCBkYXRhWzJdLCBzdHJpZGVzWzJdLAorICAgICAg
ICAgICAgIGRlc3QtPnksIGRlc3QtPnlfc3RyaWRlLCBkZXN0LT51LCBkZXN0LT51X3N0cmlkZSwg
ZGVzdC0+diwKKyAgICAgICAgICAgICBkZXN0LT52X3N0cmlkZSwgZGVzdC0+dywgcm93cyk7CiAg
IGRlc3QtPnkgKz0gcm93cyAqIGRlc3QtPnlfc3RyaWRlOwogICBkZXN0LT51ICs9ICgocm93cyAr
IDEpID4+IDEpICogZGVzdC0+dV9zdHJpZGU7CiAgIGRlc3QtPnYgKz0gKChyb3dzICsgMSkgPj4g
MSkgKiBkZXN0LT52X3N0cmlkZTsKQEAgLTczLDEzICs2NSw5IEBAIHN0YXRpYyB2b2lkIEpwZWdJ
NDQ0VG9JNDIwKHZvaWQqIG9wYXF1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGludCogc3RyaWRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByb3dzKSB7CiAg
IEk0MjBCdWZmZXJzKiBkZXN0ID0gKEk0MjBCdWZmZXJzKikob3BhcXVlKTsKLSAgSTQ0NFRvSTQy
MChkYXRhWzBdLCBzdHJpZGVzWzBdLAotICAgICAgICAgICAgIGRhdGFbMV0sIHN0cmlkZXNbMV0s
Ci0gICAgICAgICAgICAgZGF0YVsyXSwgc3RyaWRlc1syXSwKLSAgICAgICAgICAgICBkZXN0LT55
LCBkZXN0LT55X3N0cmlkZSwKLSAgICAgICAgICAgICBkZXN0LT51LCBkZXN0LT51X3N0cmlkZSwK
LSAgICAgICAgICAgICBkZXN0LT52LCBkZXN0LT52X3N0cmlkZSwKLSAgICAgICAgICAgICBkZXN0
LT53LCByb3dzKTsKKyAgSTQ0NFRvSTQyMChkYXRhWzBdLCBzdHJpZGVzWzBdLCBkYXRhWzFdLCBz
dHJpZGVzWzFdLCBkYXRhWzJdLCBzdHJpZGVzWzJdLAorICAgICAgICAgICAgIGRlc3QtPnksIGRl
c3QtPnlfc3RyaWRlLCBkZXN0LT51LCBkZXN0LT51X3N0cmlkZSwgZGVzdC0+diwKKyAgICAgICAg
ICAgICBkZXN0LT52X3N0cmlkZSwgZGVzdC0+dywgcm93cyk7CiAgIGRlc3QtPnkgKz0gcm93cyAq
IGRlc3QtPnlfc3RyaWRlOwogICBkZXN0LT51ICs9ICgocm93cyArIDEpID4+IDEpICogZGVzdC0+
dV9zdHJpZGU7CiAgIGRlc3QtPnYgKz0gKChyb3dzICsgMSkgPj4gMSkgKiBkZXN0LT52X3N0cmlk
ZTsKQEAgLTkxLDExICs3OSw4IEBAIHN0YXRpYyB2b2lkIEpwZWdJNDAwVG9JNDIwKHZvaWQqIG9w
YXF1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCogc3RyaWRlcywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByb3dzKSB7CiAgIEk0MjBCdWZmZXJzKiBkZXN0
ID0gKEk0MjBCdWZmZXJzKikob3BhcXVlKTsKLSAgSTQwMFRvSTQyMChkYXRhWzBdLCBzdHJpZGVz
WzBdLAotICAgICAgICAgICAgIGRlc3QtPnksIGRlc3QtPnlfc3RyaWRlLAotICAgICAgICAgICAg
IGRlc3QtPnUsIGRlc3QtPnVfc3RyaWRlLAotICAgICAgICAgICAgIGRlc3QtPnYsIGRlc3QtPnZf
c3RyaWRlLAotICAgICAgICAgICAgIGRlc3QtPncsIHJvd3MpOworICBJNDAwVG9JNDIwKGRhdGFb
MF0sIHN0cmlkZXNbMF0sIGRlc3QtPnksIGRlc3QtPnlfc3RyaWRlLCBkZXN0LT51LAorICAgICAg
ICAgICAgIGRlc3QtPnVfc3RyaWRlLCBkZXN0LT52LCBkZXN0LT52X3N0cmlkZSwgZGVzdC0+dywg
cm93cyk7CiAgIGRlc3QtPnkgKz0gcm93cyAqIGRlc3QtPnlfc3RyaWRlOwogICBkZXN0LT51ICs9
ICgocm93cyArIDEpID4+IDEpICogZGVzdC0+dV9zdHJpZGU7CiAgIGRlc3QtPnYgKz0gKChyb3dz
ICsgMSkgPj4gMSkgKiBkZXN0LT52X3N0cmlkZTsKQEAgLTEwNCw4ICs4OSw3IEBAIHN0YXRpYyB2
b2lkIEpwZWdJNDAwVG9JNDIwKHZvaWQqIG9wYXF1ZSwKIAogLy8gUXVlcnkgc2l6ZSBvZiBNSlBH
IGluIHBpeGVscy4KIExJQllVVl9BUEkKLWludCBNSlBHU2l6ZShjb25zdCB1aW50OCogc2FtcGxl
LCBzaXplX3Qgc2FtcGxlX3NpemUsCi0gICAgICAgICAgICAgaW50KiB3aWR0aCwgaW50KiBoZWln
aHQpIHsKK2ludCBNSlBHU2l6ZShjb25zdCB1aW50OCogc2FtcGxlLCBzaXplX3Qgc2FtcGxlX3Np
emUsIGludCogd2lkdGgsIGludCogaGVpZ2h0KSB7CiAgIE1KcGVnRGVjb2RlciBtanBlZ19kZWNv
ZGVyOwogICBMSUJZVVZfQk9PTCByZXQgPSBtanBlZ19kZWNvZGVyLkxvYWRGcmFtZShzYW1wbGUs
IHNhbXBsZV9zaXplKTsKICAgaWYgKHJldCkgewpAQCAtMTIxLDExICsxMDUsMTYgQEAgaW50IE1K
UEdTaXplKGNvbnN0IHVpbnQ4KiBzYW1wbGUsIHNpemVfdCBzYW1wbGVfc2l6ZSwKIExJQllVVl9B
UEkKIGludCBNSlBHVG9JNDIwKGNvbnN0IHVpbnQ4KiBzYW1wbGUsCiAgICAgICAgICAgICAgICBz
aXplX3Qgc2FtcGxlX3NpemUsCi0gICAgICAgICAgICAgICB1aW50OCogeSwgaW50IHlfc3RyaWRl
LAotICAgICAgICAgICAgICAgdWludDgqIHUsIGludCB1X3N0cmlkZSwKLSAgICAgICAgICAgICAg
IHVpbnQ4KiB2LCBpbnQgdl9zdHJpZGUsCi0gICAgICAgICAgICAgICBpbnQgdywgaW50IGgsCi0g
ICAgICAgICAgICAgICBpbnQgZHcsIGludCBkaCkgeworICAgICAgICAgICAgICAgdWludDgqIHks
CisgICAgICAgICAgICAgICBpbnQgeV9zdHJpZGUsCisgICAgICAgICAgICAgICB1aW50OCogdSwK
KyAgICAgICAgICAgICAgIGludCB1X3N0cmlkZSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiB2LAor
ICAgICAgICAgICAgICAgaW50IHZfc3RyaWRlLAorICAgICAgICAgICAgICAgaW50IHcsCisgICAg
ICAgICAgICAgICBpbnQgaCwKKyAgICAgICAgICAgICAgIGludCBkdywKKyAgICAgICAgICAgICAg
IGludCBkaCkgewogICBpZiAoc2FtcGxlX3NpemUgPT0ga1Vua25vd25EYXRhU2l6ZSkgewogICAg
IC8vIEVSUk9SOiBNSlBFRyBmcmFtZSBzaXplIHVua25vd24KICAgICByZXR1cm4gLTE7CkBAIC0x
MzQsMTcgKzEyMywxNiBAQCBpbnQgTUpQR1RvSTQyMChjb25zdCB1aW50OCogc2FtcGxlLAogICAv
LyBUT0RPKGZiYXJjaGFyZCk6IFBvcnQgTUpwZWcgdG8gQy4KICAgTUpwZWdEZWNvZGVyIG1qcGVn
X2RlY29kZXI7CiAgIExJQllVVl9CT09MIHJldCA9IG1qcGVnX2RlY29kZXIuTG9hZEZyYW1lKHNh
bXBsZSwgc2FtcGxlX3NpemUpOwotICBpZiAocmV0ICYmIChtanBlZ19kZWNvZGVyLkdldFdpZHRo
KCkgIT0gdyB8fAotICAgICAgICAgICAgICBtanBlZ19kZWNvZGVyLkdldEhlaWdodCgpICE9IGgp
KSB7CisgIGlmIChyZXQgJiYKKyAgICAgIChtanBlZ19kZWNvZGVyLkdldFdpZHRoKCkgIT0gdyB8
fCBtanBlZ19kZWNvZGVyLkdldEhlaWdodCgpICE9IGgpKSB7CiAgICAgLy8gRVJST1I6IE1KUEVH
IGZyYW1lIGhhcyB1bmV4cGVjdGVkIGRpbWVuc2lvbnMKICAgICBtanBlZ19kZWNvZGVyLlVubG9h
ZEZyYW1lKCk7CiAgICAgcmV0dXJuIDE7ICAvLyBydW50aW1lIGZhaWx1cmUKICAgfQogICBpZiAo
cmV0KSB7Ci0gICAgSTQyMEJ1ZmZlcnMgYnVmcyA9IHsgeSwgeV9zdHJpZGUsIHUsIHVfc3RyaWRl
LCB2LCB2X3N0cmlkZSwgZHcsIGRoIH07CisgICAgSTQyMEJ1ZmZlcnMgYnVmcyA9IHt5LCB5X3N0
cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRlLCBkdywgZGh9OwogICAgIC8vIFlVVjQyMAot
ICAgIGlmIChtanBlZ19kZWNvZGVyLkdldENvbG9yU3BhY2UoKSA9PQotICAgICAgICAgICAgTUpw
ZWdEZWNvZGVyOjprQ29sb3JTcGFjZVlDYkNyICYmCisgICAgaWYgKG1qcGVnX2RlY29kZXIuR2V0
Q29sb3JTcGFjZSgpID09IE1KcGVnRGVjb2Rlcjo6a0NvbG9yU3BhY2VZQ2JDciAmJgogICAgICAg
ICBtanBlZ19kZWNvZGVyLkdldE51bUNvbXBvbmVudHMoKSA9PSAzICYmCiAgICAgICAgIG1qcGVn
X2RlY29kZXIuR2V0VmVydFNhbXBGYWN0b3IoMCkgPT0gMiAmJgogICAgICAgICBtanBlZ19kZWNv
ZGVyLkdldEhvcml6U2FtcEZhY3RvcigwKSA9PSAyICYmCkBAIC0xNTMsNyArMTQxLDcgQEAgaW50
IE1KUEdUb0k0MjAoY29uc3QgdWludDgqIHNhbXBsZSwKICAgICAgICAgbWpwZWdfZGVjb2Rlci5H
ZXRWZXJ0U2FtcEZhY3RvcigyKSA9PSAxICYmCiAgICAgICAgIG1qcGVnX2RlY29kZXIuR2V0SG9y
aXpTYW1wRmFjdG9yKDIpID09IDEpIHsKICAgICAgIHJldCA9IG1qcGVnX2RlY29kZXIuRGVjb2Rl
VG9DYWxsYmFjaygmSnBlZ0NvcHlJNDIwLCAmYnVmcywgZHcsIGRoKTsKLSAgICAvLyBZVVY0MjIK
KyAgICAgIC8vIFlVVjQyMgogICAgIH0gZWxzZSBpZiAobWpwZWdfZGVjb2Rlci5HZXRDb2xvclNw
YWNlKCkgPT0KICAgICAgICAgICAgICAgICAgICBNSnBlZ0RlY29kZXI6OmtDb2xvclNwYWNlWUNi
Q3IgJiYKICAgICAgICAgICAgICAgIG1qcGVnX2RlY29kZXIuR2V0TnVtQ29tcG9uZW50cygpID09
IDMgJiYKQEAgLTE2NCw3ICsxNTIsNyBAQCBpbnQgTUpQR1RvSTQyMChjb25zdCB1aW50OCogc2Ft
cGxlLAogICAgICAgICAgICAgICAgbWpwZWdfZGVjb2Rlci5HZXRWZXJ0U2FtcEZhY3RvcigyKSA9
PSAxICYmCiAgICAgICAgICAgICAgICBtanBlZ19kZWNvZGVyLkdldEhvcml6U2FtcEZhY3Rvcigy
KSA9PSAxKSB7CiAgICAgICByZXQgPSBtanBlZ19kZWNvZGVyLkRlY29kZVRvQ2FsbGJhY2soJkpw
ZWdJNDIyVG9JNDIwLCAmYnVmcywgZHcsIGRoKTsKLSAgICAvLyBZVVY0NDQKKyAgICAgIC8vIFlV
VjQ0NAogICAgIH0gZWxzZSBpZiAobWpwZWdfZGVjb2Rlci5HZXRDb2xvclNwYWNlKCkgPT0KICAg
ICAgICAgICAgICAgICAgICBNSnBlZ0RlY29kZXI6OmtDb2xvclNwYWNlWUNiQ3IgJiYKICAgICAg
ICAgICAgICAgIG1qcGVnX2RlY29kZXIuR2V0TnVtQ29tcG9uZW50cygpID09IDMgJiYKQEAgLTE3
NSw3ICsxNjMsNyBAQCBpbnQgTUpQR1RvSTQyMChjb25zdCB1aW50OCogc2FtcGxlLAogICAgICAg
ICAgICAgICAgbWpwZWdfZGVjb2Rlci5HZXRWZXJ0U2FtcEZhY3RvcigyKSA9PSAxICYmCiAgICAg
ICAgICAgICAgICBtanBlZ19kZWNvZGVyLkdldEhvcml6U2FtcEZhY3RvcigyKSA9PSAxKSB7CiAg
ICAgICByZXQgPSBtanBlZ19kZWNvZGVyLkRlY29kZVRvQ2FsbGJhY2soJkpwZWdJNDQ0VG9JNDIw
LCAmYnVmcywgZHcsIGRoKTsKLSAgICAvLyBZVVY0MDAKKyAgICAgIC8vIFlVVjQwMAogICAgIH0g
ZWxzZSBpZiAobWpwZWdfZGVjb2Rlci5HZXRDb2xvclNwYWNlKCkgPT0KICAgICAgICAgICAgICAg
ICAgICBNSnBlZ0RlY29kZXI6OmtDb2xvclNwYWNlR3JheXNjYWxlICYmCiAgICAgICAgICAgICAg
ICBtanBlZ19kZWNvZGVyLkdldE51bUNvbXBvbmVudHMoKSA9PSAxICYmCkBAIC0yMDIsMTUgKzE5
MCwxMiBAQCBzdHJ1Y3QgQVJHQkJ1ZmZlcnMgewogfTsKIAogc3RhdGljIHZvaWQgSnBlZ0k0MjBU
b0FSR0Iodm9pZCogb3BhcXVlLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBjb25zdCogZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQqIHN0cmlk
ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJvd3MpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBjb25zdCogZGF0YSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGludCogc3RyaWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByb3dzKSB7CiAgIEFSR0JCdWZmZXJzKiBkZXN0ID0gKEFSR0JCdWZmZXJzKikob3BhcXVl
KTsKLSAgSTQyMFRvQVJHQihkYXRhWzBdLCBzdHJpZGVzWzBdLAotICAgICAgICAgICAgIGRhdGFb
MV0sIHN0cmlkZXNbMV0sCi0gICAgICAgICAgICAgZGF0YVsyXSwgc3RyaWRlc1syXSwKLSAgICAg
ICAgICAgICBkZXN0LT5hcmdiLCBkZXN0LT5hcmdiX3N0cmlkZSwKLSAgICAgICAgICAgICBkZXN0
LT53LCByb3dzKTsKKyAgSTQyMFRvQVJHQihkYXRhWzBdLCBzdHJpZGVzWzBdLCBkYXRhWzFdLCBz
dHJpZGVzWzFdLCBkYXRhWzJdLCBzdHJpZGVzWzJdLAorICAgICAgICAgICAgIGRlc3QtPmFyZ2Is
IGRlc3QtPmFyZ2Jfc3RyaWRlLCBkZXN0LT53LCByb3dzKTsKICAgZGVzdC0+YXJnYiArPSByb3dz
ICogZGVzdC0+YXJnYl9zdHJpZGU7CiAgIGRlc3QtPmggLT0gcm93czsKIH0KQEAgLTIyMCwxMSAr
MjA1LDggQEAgc3RhdGljIHZvaWQgSnBlZ0k0MjJUb0FSR0Iodm9pZCogb3BhcXVlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50KiBzdHJpZGVzLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHJvd3MpIHsKICAgQVJHQkJ1ZmZlcnMqIGRlc3QgPSAoQVJHQkJ1ZmZl
cnMqKShvcGFxdWUpOwotICBJNDIyVG9BUkdCKGRhdGFbMF0sIHN0cmlkZXNbMF0sCi0gICAgICAg
ICAgICAgZGF0YVsxXSwgc3RyaWRlc1sxXSwKLSAgICAgICAgICAgICBkYXRhWzJdLCBzdHJpZGVz
WzJdLAotICAgICAgICAgICAgIGRlc3QtPmFyZ2IsIGRlc3QtPmFyZ2Jfc3RyaWRlLAotICAgICAg
ICAgICAgIGRlc3QtPncsIHJvd3MpOworICBJNDIyVG9BUkdCKGRhdGFbMF0sIHN0cmlkZXNbMF0s
IGRhdGFbMV0sIHN0cmlkZXNbMV0sIGRhdGFbMl0sIHN0cmlkZXNbMl0sCisgICAgICAgICAgICAg
ZGVzdC0+YXJnYiwgZGVzdC0+YXJnYl9zdHJpZGUsIGRlc3QtPncsIHJvd3MpOwogICBkZXN0LT5h
cmdiICs9IHJvd3MgKiBkZXN0LT5hcmdiX3N0cmlkZTsKICAgZGVzdC0+aCAtPSByb3dzOwogfQpA
QCAtMjM0LDExICsyMTYsOCBAQCBzdGF0aWMgdm9pZCBKcGVnSTQ0NFRvQVJHQih2b2lkKiBvcGFx
dWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQqIHN0cmlkZXMsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcm93cykgewogICBBUkdCQnVmZmVycyogZGVzdCA9
IChBUkdCQnVmZmVycyopKG9wYXF1ZSk7Ci0gIEk0NDRUb0FSR0IoZGF0YVswXSwgc3RyaWRlc1sw
XSwKLSAgICAgICAgICAgICBkYXRhWzFdLCBzdHJpZGVzWzFdLAotICAgICAgICAgICAgIGRhdGFb
Ml0sIHN0cmlkZXNbMl0sCi0gICAgICAgICAgICAgZGVzdC0+YXJnYiwgZGVzdC0+YXJnYl9zdHJp
ZGUsCi0gICAgICAgICAgICAgZGVzdC0+dywgcm93cyk7CisgIEk0NDRUb0FSR0IoZGF0YVswXSwg
c3RyaWRlc1swXSwgZGF0YVsxXSwgc3RyaWRlc1sxXSwgZGF0YVsyXSwgc3RyaWRlc1syXSwKKyAg
ICAgICAgICAgICBkZXN0LT5hcmdiLCBkZXN0LT5hcmdiX3N0cmlkZSwgZGVzdC0+dywgcm93cyk7
CiAgIGRlc3QtPmFyZ2IgKz0gcm93cyAqIGRlc3QtPmFyZ2Jfc3RyaWRlOwogICBkZXN0LT5oIC09
IHJvd3M7CiB9CkBAIC0yNDgsOSArMjI3LDcgQEAgc3RhdGljIHZvaWQgSnBlZ0k0MDBUb0FSR0Io
dm9pZCogb3BhcXVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50KiBzdHJp
ZGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJvd3MpIHsKICAgQVJHQkJ1ZmZl
cnMqIGRlc3QgPSAoQVJHQkJ1ZmZlcnMqKShvcGFxdWUpOwotICBJNDAwVG9BUkdCKGRhdGFbMF0s
IHN0cmlkZXNbMF0sCi0gICAgICAgICAgICAgZGVzdC0+YXJnYiwgZGVzdC0+YXJnYl9zdHJpZGUs
Ci0gICAgICAgICAgICAgZGVzdC0+dywgcm93cyk7CisgIEk0MDBUb0FSR0IoZGF0YVswXSwgc3Ry
aWRlc1swXSwgZGVzdC0+YXJnYiwgZGVzdC0+YXJnYl9zdHJpZGUsIGRlc3QtPncsIHJvd3MpOwog
ICBkZXN0LT5hcmdiICs9IHJvd3MgKiBkZXN0LT5hcmdiX3N0cmlkZTsKICAgZGVzdC0+aCAtPSBy
b3dzOwogfQpAQCAtMjYwLDkgKzIzNywxMiBAQCBzdGF0aWMgdm9pZCBKcGVnSTQwMFRvQVJHQih2
b2lkKiBvcGFxdWUsCiBMSUJZVVZfQVBJCiBpbnQgTUpQR1RvQVJHQihjb25zdCB1aW50OCogc2Ft
cGxlLAogICAgICAgICAgICAgICAgc2l6ZV90IHNhbXBsZV9zaXplLAotICAgICAgICAgICAgICAg
dWludDgqIGFyZ2IsIGludCBhcmdiX3N0cmlkZSwKLSAgICAgICAgICAgICAgIGludCB3LCBpbnQg
aCwKLSAgICAgICAgICAgICAgIGludCBkdywgaW50IGRoKSB7CisgICAgICAgICAgICAgICB1aW50
OCogYXJnYiwKKyAgICAgICAgICAgICAgIGludCBhcmdiX3N0cmlkZSwKKyAgICAgICAgICAgICAg
IGludCB3LAorICAgICAgICAgICAgICAgaW50IGgsCisgICAgICAgICAgICAgICBpbnQgZHcsCisg
ICAgICAgICAgICAgICBpbnQgZGgpIHsKICAgaWYgKHNhbXBsZV9zaXplID09IGtVbmtub3duRGF0
YVNpemUpIHsKICAgICAvLyBFUlJPUjogTUpQRUcgZnJhbWUgc2l6ZSB1bmtub3duCiAgICAgcmV0
dXJuIC0xOwpAQCAtMjcxLDE3ICsyNTEsMTYgQEAgaW50IE1KUEdUb0FSR0IoY29uc3QgdWludDgq
IHNhbXBsZSwKICAgLy8gVE9ETyhmYmFyY2hhcmQpOiBQb3J0IE1KcGVnIHRvIEMuCiAgIE1KcGVn
RGVjb2RlciBtanBlZ19kZWNvZGVyOwogICBMSUJZVVZfQk9PTCByZXQgPSBtanBlZ19kZWNvZGVy
LkxvYWRGcmFtZShzYW1wbGUsIHNhbXBsZV9zaXplKTsKLSAgaWYgKHJldCAmJiAobWpwZWdfZGVj
b2Rlci5HZXRXaWR0aCgpICE9IHcgfHwKLSAgICAgICAgICAgICAgbWpwZWdfZGVjb2Rlci5HZXRI
ZWlnaHQoKSAhPSBoKSkgeworICBpZiAocmV0ICYmCisgICAgICAobWpwZWdfZGVjb2Rlci5HZXRX
aWR0aCgpICE9IHcgfHwgbWpwZWdfZGVjb2Rlci5HZXRIZWlnaHQoKSAhPSBoKSkgewogICAgIC8v
IEVSUk9SOiBNSlBFRyBmcmFtZSBoYXMgdW5leHBlY3RlZCBkaW1lbnNpb25zCiAgICAgbWpwZWdf
ZGVjb2Rlci5VbmxvYWRGcmFtZSgpOwogICAgIHJldHVybiAxOyAgLy8gcnVudGltZSBmYWlsdXJl
CiAgIH0KICAgaWYgKHJldCkgewotICAgIEFSR0JCdWZmZXJzIGJ1ZnMgPSB7IGFyZ2IsIGFyZ2Jf
c3RyaWRlLCBkdywgZGggfTsKKyAgICBBUkdCQnVmZmVycyBidWZzID0ge2FyZ2IsIGFyZ2Jfc3Ry
aWRlLCBkdywgZGh9OwogICAgIC8vIFlVVjQyMAotICAgIGlmIChtanBlZ19kZWNvZGVyLkdldENv
bG9yU3BhY2UoKSA9PQotICAgICAgICAgICAgTUpwZWdEZWNvZGVyOjprQ29sb3JTcGFjZVlDYkNy
ICYmCisgICAgaWYgKG1qcGVnX2RlY29kZXIuR2V0Q29sb3JTcGFjZSgpID09IE1KcGVnRGVjb2Rl
cjo6a0NvbG9yU3BhY2VZQ2JDciAmJgogICAgICAgICBtanBlZ19kZWNvZGVyLkdldE51bUNvbXBv
bmVudHMoKSA9PSAzICYmCiAgICAgICAgIG1qcGVnX2RlY29kZXIuR2V0VmVydFNhbXBGYWN0b3Io
MCkgPT0gMiAmJgogICAgICAgICBtanBlZ19kZWNvZGVyLkdldEhvcml6U2FtcEZhY3RvcigwKSA9
PSAyICYmCkBAIC0yOTAsNyArMjY5LDcgQEAgaW50IE1KUEdUb0FSR0IoY29uc3QgdWludDgqIHNh
bXBsZSwKICAgICAgICAgbWpwZWdfZGVjb2Rlci5HZXRWZXJ0U2FtcEZhY3RvcigyKSA9PSAxICYm
CiAgICAgICAgIG1qcGVnX2RlY29kZXIuR2V0SG9yaXpTYW1wRmFjdG9yKDIpID09IDEpIHsKICAg
ICAgIHJldCA9IG1qcGVnX2RlY29kZXIuRGVjb2RlVG9DYWxsYmFjaygmSnBlZ0k0MjBUb0FSR0Is
ICZidWZzLCBkdywgZGgpOwotICAgIC8vIFlVVjQyMgorICAgICAgLy8gWVVWNDIyCiAgICAgfSBl
bHNlIGlmIChtanBlZ19kZWNvZGVyLkdldENvbG9yU3BhY2UoKSA9PQogICAgICAgICAgICAgICAg
ICAgIE1KcGVnRGVjb2Rlcjo6a0NvbG9yU3BhY2VZQ2JDciAmJgogICAgICAgICAgICAgICAgbWpw
ZWdfZGVjb2Rlci5HZXROdW1Db21wb25lbnRzKCkgPT0gMyAmJgpAQCAtMzAxLDcgKzI4MCw3IEBA
IGludCBNSlBHVG9BUkdCKGNvbnN0IHVpbnQ4KiBzYW1wbGUsCiAgICAgICAgICAgICAgICBtanBl
Z19kZWNvZGVyLkdldFZlcnRTYW1wRmFjdG9yKDIpID09IDEgJiYKICAgICAgICAgICAgICAgIG1q
cGVnX2RlY29kZXIuR2V0SG9yaXpTYW1wRmFjdG9yKDIpID09IDEpIHsKICAgICAgIHJldCA9IG1q
cGVnX2RlY29kZXIuRGVjb2RlVG9DYWxsYmFjaygmSnBlZ0k0MjJUb0FSR0IsICZidWZzLCBkdywg
ZGgpOwotICAgIC8vIFlVVjQ0NAorICAgICAgLy8gWVVWNDQ0CiAgICAgfSBlbHNlIGlmIChtanBl
Z19kZWNvZGVyLkdldENvbG9yU3BhY2UoKSA9PQogICAgICAgICAgICAgICAgICAgIE1KcGVnRGVj
b2Rlcjo6a0NvbG9yU3BhY2VZQ2JDciAmJgogICAgICAgICAgICAgICAgbWpwZWdfZGVjb2Rlci5H
ZXROdW1Db21wb25lbnRzKCkgPT0gMyAmJgpAQCAtMzEyLDcgKzI5MSw3IEBAIGludCBNSlBHVG9B
UkdCKGNvbnN0IHVpbnQ4KiBzYW1wbGUsCiAgICAgICAgICAgICAgICBtanBlZ19kZWNvZGVyLkdl
dFZlcnRTYW1wRmFjdG9yKDIpID09IDEgJiYKICAgICAgICAgICAgICAgIG1qcGVnX2RlY29kZXIu
R2V0SG9yaXpTYW1wRmFjdG9yKDIpID09IDEpIHsKICAgICAgIHJldCA9IG1qcGVnX2RlY29kZXIu
RGVjb2RlVG9DYWxsYmFjaygmSnBlZ0k0NDRUb0FSR0IsICZidWZzLCBkdywgZGgpOwotICAgIC8v
IFlVVjQwMAorICAgICAgLy8gWVVWNDAwCiAgICAgfSBlbHNlIGlmIChtanBlZ19kZWNvZGVyLkdl
dENvbG9yU3BhY2UoKSA9PQogICAgICAgICAgICAgICAgICAgIE1KcGVnRGVjb2Rlcjo6a0NvbG9y
U3BhY2VHcmF5c2NhbGUgJiYKICAgICAgICAgICAgICAgIG1qcGVnX2RlY29kZXIuR2V0TnVtQ29t
cG9uZW50cygpID09IDEgJiYKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jb252ZXJ0X3RvX2FyZ2IuY2MgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3Vy
Y2UvY29udmVydF90b19hcmdiLmNjCmluZGV4IDhlOTMxYTc1ZjdhYzZkOWYyMTBmYjVkMjljNDNi
NDQ2YjYyMGJlYWYuLjYzYTUxMDRiM2M3MGJiNzUzOTJkNzEwNTI1ZGU3MGNkZjdkNGIzN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L3NvdXJjZS9jb252ZXJ0X3RvX2FyZ2IuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbnZlcnRfdG9fYXJn
Yi5jYwpAQCAtMjksMTEgKzI5LDE2IEBAIGV4dGVybiAiQyIgewogLy8gc2FtcGxlX3NpemUgaXMg
bWVhc3VyZWQgaW4gYnl0ZXMgYW5kIGlzIHRoZSBzaXplIG9mIHRoZSBmcmFtZS4KIC8vICAgV2l0
aCBNSlBFRyBpdCBpcyB0aGUgY29tcHJlc3NlZCBzaXplIG9mIHRoZSBmcmFtZS4KIExJQllVVl9B
UEkKLWludCBDb252ZXJ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzYW1wbGUsIHNpemVfdCBzYW1wbGVf
c2l6ZSwKLSAgICAgICAgICAgICAgICAgIHVpbnQ4KiBjcm9wX2FyZ2IsIGludCBhcmdiX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgIGludCBjcm9wX3gsIGludCBjcm9wX3ksCi0gICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAg
IGludCBjcm9wX3dpZHRoLCBpbnQgY3JvcF9oZWlnaHQsCitpbnQgQ29udmVydFRvQVJHQihjb25z
dCB1aW50OCogc2FtcGxlLAorICAgICAgICAgICAgICAgICAgc2l6ZV90IHNhbXBsZV9zaXplLAor
ICAgICAgICAgICAgICAgICAgdWludDgqIGNyb3BfYXJnYiwKKyAgICAgICAgICAgICAgICAgIGlu
dCBhcmdiX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgIGludCBjcm9wX3gsCisgICAgICAgICAg
ICAgICAgICBpbnQgY3JvcF95LAorICAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwKKyAg
ICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgaW50IGNy
b3Bfd2lkdGgsCisgICAgICAgICAgICAgICAgICBpbnQgY3JvcF9oZWlnaHQsCiAgICAgICAgICAg
ICAgICAgICBlbnVtIFJvdGF0aW9uTW9kZSByb3RhdGlvbiwKICAgICAgICAgICAgICAgICAgIHVp
bnQzMiBmb3VyY2MpIHsKICAgdWludDMyIGZvcm1hdCA9IENhbm9uaWNhbEZvdXJDQyhmb3VyY2Mp
OwpAQCAtNDUsMjAgKzUwLDE5IEBAIGludCBDb252ZXJ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzYW1w
bGUsIHNpemVfdCBzYW1wbGVfc2l6ZSwKICAgaW50IHIgPSAwOwogCiAgIC8vIE9uZSBwYXNzIHJv
dGF0aW9uIGlzIGF2YWlsYWJsZSBmb3Igc29tZSBmb3JtYXRzLiBGb3IgdGhlIHJlc3QsIGNvbnZl
cnQKLSAgLy8gdG8gSTQyMCAod2l0aCBvcHRpb25hbCB2ZXJ0aWNhbCBmbGlwcGluZykgaW50byBh
IHRlbXBvcmFyeSBJNDIwIGJ1ZmZlciwKLSAgLy8gYW5kIHRoZW4gcm90YXRlIHRoZSBJNDIwIHRv
IHRoZSBmaW5hbCBkZXN0aW5hdGlvbiBidWZmZXIuCisgIC8vIHRvIEFSR0IgKHdpdGggb3B0aW9u
YWwgdmVydGljYWwgZmxpcHBpbmcpIGludG8gYSB0ZW1wb3JhcnkgQVJHQiBidWZmZXIsCisgIC8v
IGFuZCB0aGVuIHJvdGF0ZSB0aGUgQVJHQiB0byB0aGUgZmluYWwgZGVzdGluYXRpb24gYnVmZmVy
LgogICAvLyBGb3IgaW4tcGxhY2UgY29udmVyc2lvbiwgaWYgZGVzdGluYXRpb24gY3JvcF9hcmdi
IGlzIHNhbWUgYXMgc291cmNlIHNhbXBsZSwKICAgLy8gYWxzbyBlbmFibGUgdGVtcG9yYXJ5IGJ1
ZmZlci4KLSAgTElCWVVWX0JPT0wgbmVlZF9idWYgPSAocm90YXRpb24gJiYgZm9ybWF0ICE9IEZP
VVJDQ19BUkdCKSB8fAotICAgICAgY3JvcF9hcmdiID09IHNhbXBsZTsKKyAgTElCWVVWX0JPT0wg
bmVlZF9idWYgPQorICAgICAgKHJvdGF0aW9uICYmIGZvcm1hdCAhPSBGT1VSQ0NfQVJHQikgfHwg
Y3JvcF9hcmdiID09IHNhbXBsZTsKICAgdWludDgqIGRlc3RfYXJnYiA9IGNyb3BfYXJnYjsKICAg
aW50IGRlc3RfYXJnYl9zdHJpZGUgPSBhcmdiX3N0cmlkZTsKICAgdWludDgqIHJvdGF0ZV9idWZm
ZXIgPSBOVUxMOwogICBpbnQgYWJzX2Nyb3BfaGVpZ2h0ID0gKGNyb3BfaGVpZ2h0IDwgMCkgPyAt
Y3JvcF9oZWlnaHQgOiBjcm9wX2hlaWdodDsKIAotICBpZiAoY3JvcF9hcmdiID09IE5VTEwgfHwg
c2FtcGxlID09IE5VTEwgfHwKLSAgICAgIHNyY193aWR0aCA8PSAwIHx8IGNyb3Bfd2lkdGggPD0g
MCB8fAotICAgICAgc3JjX2hlaWdodCA9PSAwIHx8IGNyb3BfaGVpZ2h0ID09IDApIHsKKyAgaWYg
KGNyb3BfYXJnYiA9PSBOVUxMIHx8IHNhbXBsZSA9PSBOVUxMIHx8IHNyY193aWR0aCA8PSAwIHx8
CisgICAgICBjcm9wX3dpZHRoIDw9IDAgfHwgc3JjX2hlaWdodCA9PSAwIHx8IGNyb3BfaGVpZ2h0
ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgaWYgKHNyY19oZWlnaHQgPCAwKSB7CkBA
IC02Nyw3ICs3MSw3IEBAIGludCBDb252ZXJ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzYW1wbGUsIHNp
emVfdCBzYW1wbGVfc2l6ZSwKIAogICBpZiAobmVlZF9idWYpIHsKICAgICBpbnQgYXJnYl9zaXpl
ID0gY3JvcF93aWR0aCAqIDQgKiBhYnNfY3JvcF9oZWlnaHQ7Ci0gICAgcm90YXRlX2J1ZmZlciA9
ICh1aW50OCopbWFsbG9jKGFyZ2Jfc2l6ZSk7ICAvKiBOT0xJTlQgKi8KKyAgICByb3RhdGVfYnVm
ZmVyID0gKHVpbnQ4KiltYWxsb2MoYXJnYl9zaXplKTsgLyogTk9MSU5UICovCiAgICAgaWYgKCFy
b3RhdGVfYnVmZmVyKSB7CiAgICAgICByZXR1cm4gMTsgIC8vIE91dCBvZiBtZW1vcnkgcnVudGlt
ZSBlcnJvci4KICAgICB9CkBAIC03OSwxMDAgKzgzLDg1IEBAIGludCBDb252ZXJ0VG9BUkdCKGNv
bnN0IHVpbnQ4KiBzYW1wbGUsIHNpemVfdCBzYW1wbGVfc2l6ZSwKICAgICAvLyBTaW5nbGUgcGxh
bmUgZm9ybWF0cwogICAgIGNhc2UgRk9VUkNDX1lVWTI6CiAgICAgICBzcmMgPSBzYW1wbGUgKyAo
YWxpZ25lZF9zcmNfd2lkdGggKiBjcm9wX3kgKyBjcm9wX3gpICogMjsKLSAgICAgIHIgPSBZVVky
VG9BUkdCKHNyYywgYWxpZ25lZF9zcmNfd2lkdGggKiAyLAotICAgICAgICAgICAgICAgICAgICAg
Y3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwKKyAgICAgIHIgPSBZVVkyVG9BUkdCKHNyYywgYWxpZ25l
ZF9zcmNfd2lkdGggKiAyLCBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLAogICAgICAgICAgICAgICAg
ICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNh
c2UgRk9VUkNDX1VZVlk6CiAgICAgICBzcmMgPSBzYW1wbGUgKyAoYWxpZ25lZF9zcmNfd2lkdGgg
KiBjcm9wX3kgKyBjcm9wX3gpICogMjsKLSAgICAgIHIgPSBVWVZZVG9BUkdCKHNyYywgYWxpZ25l
ZF9zcmNfd2lkdGggKiAyLAotICAgICAgICAgICAgICAgICAgICAgY3JvcF9hcmdiLCBhcmdiX3N0
cmlkZSwKKyAgICAgIHIgPSBVWVZZVG9BUkdCKHNyYywgYWxpZ25lZF9zcmNfd2lkdGggKiAyLCBj
cm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwg
aW52X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRk9VUkNDXzI0Qkc6CiAg
ICAgICBzcmMgPSBzYW1wbGUgKyAoc3JjX3dpZHRoICogY3JvcF95ICsgY3JvcF94KSAqIDM7Ci0g
ICAgICByID0gUkdCMjRUb0FSR0Ioc3JjLCBzcmNfd2lkdGggKiAzLAotICAgICAgICAgICAgICAg
ICAgICAgIGNyb3BfYXJnYiwgYXJnYl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgY3Jv
cF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKKyAgICAgIHIgPSBSR0IyNFRvQVJHQihzcmMsIHNy
Y193aWR0aCAqIDMsIGNyb3BfYXJnYiwgYXJnYl9zdHJpZGUsIGNyb3Bfd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgaW52X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
Rk9VUkNDX1JBVzoKICAgICAgIHNyYyA9IHNhbXBsZSArIChzcmNfd2lkdGggKiBjcm9wX3kgKyBj
cm9wX3gpICogMzsKLSAgICAgIHIgPSBSQVdUb0FSR0Ioc3JjLCBzcmNfd2lkdGggKiAzLAotICAg
ICAgICAgICAgICAgICAgICBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICBjcm9wX3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOworICAgICAgciA9IFJBV1RvQVJHQihz
cmMsIHNyY193aWR0aCAqIDMsIGNyb3BfYXJnYiwgYXJnYl9zdHJpZGUsIGNyb3Bfd2lkdGgsCisg
ICAgICAgICAgICAgICAgICAgIGludl9jcm9wX2hlaWdodCk7CiAgICAgICBicmVhazsKICAgICBj
YXNlIEZPVVJDQ19BUkdCOgotICAgICAgc3JjID0gc2FtcGxlICsgKHNyY193aWR0aCAqIGNyb3Bf
eSArIGNyb3BfeCkgKiA0OwotICAgICAgciA9IEFSR0JUb0FSR0Ioc3JjLCBzcmNfd2lkdGggKiA0
LAotICAgICAgICAgICAgICAgICAgICAgY3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgIGNyb3Bfd2lkdGgsIGludl9jcm9wX2hlaWdodCk7CisgICAgICBpZiAoIW5l
ZWRfYnVmICYmICFyb3RhdGlvbikgeworICAgICAgICBzcmMgPSBzYW1wbGUgKyAoc3JjX3dpZHRo
ICogY3JvcF95ICsgY3JvcF94KSAqIDQ7CisgICAgICAgIHIgPSBBUkdCVG9BUkdCKHNyYywgc3Jj
X3dpZHRoICogNCwgY3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwgY3JvcF93aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW52X2Nyb3BfaGVpZ2h0KTsKKyAgICAgIH0KICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgRk9VUkNDX0JHUkE6CiAgICAgICBzcmMgPSBzYW1wbGUgKyAoc3JjX3dpZHRoICog
Y3JvcF95ICsgY3JvcF94KSAqIDQ7Ci0gICAgICByID0gQkdSQVRvQVJHQihzcmMsIHNyY193aWR0
aCAqIDQsCi0gICAgICAgICAgICAgICAgICAgICBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKKyAgICAgIHIg
PSBCR1JBVG9BUkdCKHNyYywgc3JjX3dpZHRoICogNCwgY3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwg
Y3JvcF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgIGludl9jcm9wX2hlaWdodCk7CiAgICAg
ICBicmVhazsKICAgICBjYXNlIEZPVVJDQ19BQkdSOgogICAgICAgc3JjID0gc2FtcGxlICsgKHNy
Y193aWR0aCAqIGNyb3BfeSArIGNyb3BfeCkgKiA0OwotICAgICAgciA9IEFCR1JUb0FSR0Ioc3Jj
LCBzcmNfd2lkdGggKiA0LAotICAgICAgICAgICAgICAgICAgICAgY3JvcF9hcmdiLCBhcmdiX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNyb3Bfd2lkdGgsIGludl9jcm9wX2hlaWdodCk7
CisgICAgICByID0gQUJHUlRvQVJHQihzcmMsIHNyY193aWR0aCAqIDQsIGNyb3BfYXJnYiwgYXJn
Yl9zdHJpZGUsIGNyb3Bfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBpbnZfY3JvcF9oZWln
aHQpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBGT1VSQ0NfUkdCQToKICAgICAgIHNyYyA9IHNh
bXBsZSArIChzcmNfd2lkdGggKiBjcm9wX3kgKyBjcm9wX3gpICogNDsKLSAgICAgIHIgPSBSR0JB
VG9BUkdCKHNyYywgc3JjX3dpZHRoICogNCwKLSAgICAgICAgICAgICAgICAgICAgIGNyb3BfYXJn
YiwgYXJnYl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjcm9wX3dpZHRoLCBpbnZfY3Jv
cF9oZWlnaHQpOworICAgICAgciA9IFJHQkFUb0FSR0Ioc3JjLCBzcmNfd2lkdGggKiA0LCBjcm9w
X2FyZ2IsIGFyZ2Jfc3RyaWRlLCBjcm9wX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaW52
X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRk9VUkNDX1JHQlA6CiAgICAg
ICBzcmMgPSBzYW1wbGUgKyAoc3JjX3dpZHRoICogY3JvcF95ICsgY3JvcF94KSAqIDI7Ci0gICAg
ICByID0gUkdCNTY1VG9BUkdCKHNyYywgc3JjX3dpZHRoICogMiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgY3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY3Jv
cF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKKyAgICAgIHIgPSBSR0I1NjVUb0FSR0Ioc3JjLCBz
cmNfd2lkdGggKiAyLCBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLCBjcm9wX3dpZHRoLAorICAgICAg
ICAgICAgICAgICAgICAgICBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBGT1VSQ0NfUkdCTzoKICAgICAgIHNyYyA9IHNhbXBsZSArIChzcmNfd2lkdGggKiBjcm9wX3kg
KyBjcm9wX3gpICogMjsKLSAgICAgIHIgPSBBUkdCMTU1NVRvQVJHQihzcmMsIHNyY193aWR0aCAq
IDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBjcm9wX3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOworICAg
ICAgciA9IEFSR0IxNTU1VG9BUkdCKHNyYywgc3JjX3dpZHRoICogMiwgY3JvcF9hcmdiLCBhcmdi
X3N0cmlkZSwgY3JvcF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnZfY3JvcF9o
ZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBGT1VSQ0NfUjQ0NDoKICAgICAgIHNyYyA9
IHNhbXBsZSArIChzcmNfd2lkdGggKiBjcm9wX3kgKyBjcm9wX3gpICogMjsKLSAgICAgIHIgPSBB
UkdCNDQ0NFRvQVJHQihzcmMsIHNyY193aWR0aCAqIDIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgY3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjcm9w
X3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOworICAgICAgciA9IEFSR0I0NDQ0VG9BUkdCKHNyYywg
c3JjX3dpZHRoICogMiwgY3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwgY3JvcF93aWR0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBGT1VSQ0NfSTQwMDoKICAgICAgIHNyYyA9IHNhbXBsZSArIHNyY193aWR0aCAqIGNyb3Bf
eSArIGNyb3BfeDsKLSAgICAgIHIgPSBJNDAwVG9BUkdCKHNyYywgc3JjX3dpZHRoLAotICAgICAg
ICAgICAgICAgICAgICAgY3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgIGNyb3Bfd2lkdGgsIGludl9jcm9wX2hlaWdodCk7CisgICAgICByID0gSTQwMFRvQVJHQihz
cmMsIHNyY193aWR0aCwgY3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwgY3JvcF93aWR0aCwKKyAgICAg
ICAgICAgICAgICAgICAgIGludl9jcm9wX2hlaWdodCk7CiAgICAgICBicmVhazsKIAogICAgIC8v
IEJpcGxhbmFyIGZvcm1hdHMKICAgICBjYXNlIEZPVVJDQ19OVjEyOgogICAgICAgc3JjID0gc2Ft
cGxlICsgKHNyY193aWR0aCAqIGNyb3BfeSArIGNyb3BfeCk7CiAgICAgICBzcmNfdXYgPSBzYW1w
bGUgKyBhbGlnbmVkX3NyY193aWR0aCAqIChzcmNfaGVpZ2h0ICsgY3JvcF95IC8gMikgKyBjcm9w
X3g7Ci0gICAgICByID0gTlYxMlRvQVJHQihzcmMsIHNyY193aWR0aCwKLSAgICAgICAgICAgICAg
ICAgICAgIHNyY191diwgYWxpZ25lZF9zcmNfd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICBj
cm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwg
aW52X2Nyb3BfaGVpZ2h0KTsKKyAgICAgIHIgPSBOVjEyVG9BUkdCKHNyYywgc3JjX3dpZHRoLCBz
cmNfdXYsIGFsaWduZWRfc3JjX3dpZHRoLCBjcm9wX2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICBhcmdiX3N0cmlkZSwgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJyZWFr
OwogICAgIGNhc2UgRk9VUkNDX05WMjE6CiAgICAgICBzcmMgPSBzYW1wbGUgKyAoc3JjX3dpZHRo
ICogY3JvcF95ICsgY3JvcF94KTsKICAgICAgIHNyY191diA9IHNhbXBsZSArIGFsaWduZWRfc3Jj
X3dpZHRoICogKHNyY19oZWlnaHQgKyBjcm9wX3kgLyAyKSArIGNyb3BfeDsKICAgICAgIC8vIENh
bGwgTlYxMiBidXQgd2l0aCB1IGFuZCB2IHBhcmFtZXRlcnMgc3dhcHBlZC4KLSAgICAgIHIgPSBO
VjIxVG9BUkdCKHNyYywgc3JjX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgc3JjX3V2LCBh
bGlnbmVkX3NyY193aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgIGNyb3BfYXJnYiwgYXJnYl9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjcm9wX3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQp
OworICAgICAgciA9IE5WMjFUb0FSR0Ioc3JjLCBzcmNfd2lkdGgsIHNyY191diwgYWxpZ25lZF9z
cmNfd2lkdGgsIGNyb3BfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIGFyZ2Jfc3RyaWRlLCBj
cm9wX3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBGT1VS
Q0NfTTQyMDoKICAgICAgIHNyYyA9IHNhbXBsZSArIChzcmNfd2lkdGggKiBjcm9wX3kpICogMTIg
LyA4ICsgY3JvcF94OwotICAgICAgciA9IE00MjBUb0FSR0Ioc3JjLCBzcmNfd2lkdGgsCi0gICAg
ICAgICAgICAgICAgICAgICBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKKyAgICAgIHIgPSBNNDIwVG9BUkdC
KHNyYywgc3JjX3dpZHRoLCBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLCBjcm9wX3dpZHRoLAorICAg
ICAgICAgICAgICAgICAgICAgaW52X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIC8v
IFRyaXBsYW5hciBmb3JtYXRzCiAgICAgY2FzZSBGT1VSQ0NfSTQyMDoKQEAgLTE4NCwyMCArMTcz
LDE3IEBAIGludCBDb252ZXJ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzYW1wbGUsIHNpemVfdCBzYW1w
bGVfc2l6ZSwKICAgICAgIGludCBoYWxmaGVpZ2h0ID0gKGFic19zcmNfaGVpZ2h0ICsgMSkgLyAy
OwogICAgICAgaWYgKGZvcm1hdCA9PSBGT1VSQ0NfWVYxMikgewogICAgICAgICBzcmNfdiA9IHNh
bXBsZSArIHNyY193aWR0aCAqIGFic19zcmNfaGVpZ2h0ICsKLSAgICAgICAgICAgIChoYWxmd2lk
dGggKiBjcm9wX3kgKyBjcm9wX3gpIC8gMjsKKyAgICAgICAgICAgICAgICAoaGFsZndpZHRoICog
Y3JvcF95ICsgY3JvcF94KSAvIDI7CiAgICAgICAgIHNyY191ID0gc2FtcGxlICsgc3JjX3dpZHRo
ICogYWJzX3NyY19oZWlnaHQgKwotICAgICAgICAgICAgaGFsZndpZHRoICogKGhhbGZoZWlnaHQg
KyBjcm9wX3kgLyAyKSArIGNyb3BfeCAvIDI7CisgICAgICAgICAgICAgICAgaGFsZndpZHRoICog
KGhhbGZoZWlnaHQgKyBjcm9wX3kgLyAyKSArIGNyb3BfeCAvIDI7CiAgICAgICB9IGVsc2Ugewog
ICAgICAgICBzcmNfdSA9IHNhbXBsZSArIHNyY193aWR0aCAqIGFic19zcmNfaGVpZ2h0ICsKLSAg
ICAgICAgICAgIChoYWxmd2lkdGggKiBjcm9wX3kgKyBjcm9wX3gpIC8gMjsKKyAgICAgICAgICAg
ICAgICAoaGFsZndpZHRoICogY3JvcF95ICsgY3JvcF94KSAvIDI7CiAgICAgICAgIHNyY192ID0g
c2FtcGxlICsgc3JjX3dpZHRoICogYWJzX3NyY19oZWlnaHQgKwotICAgICAgICAgICAgaGFsZndp
ZHRoICogKGhhbGZoZWlnaHQgKyBjcm9wX3kgLyAyKSArIGNyb3BfeCAvIDI7CisgICAgICAgICAg
ICAgICAgaGFsZndpZHRoICogKGhhbGZoZWlnaHQgKyBjcm9wX3kgLyAyKSArIGNyb3BfeCAvIDI7
CiAgICAgICB9Ci0gICAgICByID0gSTQyMFRvQVJHQihzcmNfeSwgc3JjX3dpZHRoLAotICAgICAg
ICAgICAgICAgICAgICAgc3JjX3UsIGhhbGZ3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgIHNy
Y192LCBoYWxmd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICBjcm9wX2FyZ2IsIGFyZ2Jfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsK
KyAgICAgIHIgPSBJNDIwVG9BUkdCKHNyY195LCBzcmNfd2lkdGgsIHNyY191LCBoYWxmd2lkdGgs
IHNyY192LCBoYWxmd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBjcm9wX2FyZ2IsIGFyZ2Jf
c3RyaWRlLCBjcm9wX3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAg
fQogCkBAIC0yMDgsMTQgKzE5NCwxMSBAQCBpbnQgQ29udmVydFRvQVJHQihjb25zdCB1aW50OCog
c2FtcGxlLCBzaXplX3Qgc2FtcGxlX3NpemUsCiAgICAgICBpbnQgaGFsZndpZHRoID0gKHNyY193
aWR0aCArIDEpIC8gMjsKICAgICAgIGludCBoYWxmaGVpZ2h0ID0gKGFic19zcmNfaGVpZ2h0ICsg
MSkgLyAyOwogICAgICAgc3JjX3UgPSBzYW1wbGUgKyBzcmNfd2lkdGggKiBhYnNfc3JjX2hlaWdo
dCArCi0gICAgICAgICAgKGhhbGZ3aWR0aCAqIGNyb3BfeSArIGNyb3BfeCkgLyAyOworICAgICAg
ICAgICAgICAoaGFsZndpZHRoICogY3JvcF95ICsgY3JvcF94KSAvIDI7CiAgICAgICBzcmNfdiA9
IHNhbXBsZSArIHNyY193aWR0aCAqIGFic19zcmNfaGVpZ2h0ICsKLSAgICAgICAgICBoYWxmd2lk
dGggKiAoaGFsZmhlaWdodCArIGNyb3BfeSAvIDIpICsgY3JvcF94IC8gMjsKLSAgICAgIHIgPSBK
NDIwVG9BUkdCKHNyY195LCBzcmNfd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICBzcmNfdSwg
aGFsZndpZHRoLAotICAgICAgICAgICAgICAgICAgICAgc3JjX3YsIGhhbGZ3aWR0aCwKLSAgICAg
ICAgICAgICAgICAgICAgIGNyb3BfYXJnYiwgYXJnYl9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICBjcm9wX3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOworICAgICAgICAgICAgICBoYWxmd2lk
dGggKiAoaGFsZmhlaWdodCArIGNyb3BfeSAvIDIpICsgY3JvcF94IC8gMjsKKyAgICAgIHIgPSBK
NDIwVG9BUkdCKHNyY195LCBzcmNfd2lkdGgsIHNyY191LCBoYWxmd2lkdGgsIHNyY192LCBoYWxm
d2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLCBjcm9w
X3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0yMjYs
MjEgKzIwOSwxOCBAQCBpbnQgQ29udmVydFRvQVJHQihjb25zdCB1aW50OCogc2FtcGxlLCBzaXpl
X3Qgc2FtcGxlX3NpemUsCiAgICAgICBjb25zdCB1aW50OCogc3JjX3Y7CiAgICAgICBpbnQgaGFs
ZndpZHRoID0gKHNyY193aWR0aCArIDEpIC8gMjsKICAgICAgIGlmIChmb3JtYXQgPT0gRk9VUkND
X1lWMTYpIHsKLSAgICAgICAgc3JjX3YgPSBzYW1wbGUgKyBzcmNfd2lkdGggKiBhYnNfc3JjX2hl
aWdodCArCi0gICAgICAgICAgICBoYWxmd2lkdGggKiBjcm9wX3kgKyBjcm9wX3ggLyAyOworICAg
ICAgICBzcmNfdiA9IHNhbXBsZSArIHNyY193aWR0aCAqIGFic19zcmNfaGVpZ2h0ICsgaGFsZndp
ZHRoICogY3JvcF95ICsKKyAgICAgICAgICAgICAgICBjcm9wX3ggLyAyOwogICAgICAgICBzcmNf
dSA9IHNhbXBsZSArIHNyY193aWR0aCAqIGFic19zcmNfaGVpZ2h0ICsKLSAgICAgICAgICAgIGhh
bGZ3aWR0aCAqIChhYnNfc3JjX2hlaWdodCArIGNyb3BfeSkgKyBjcm9wX3ggLyAyOworICAgICAg
ICAgICAgICAgIGhhbGZ3aWR0aCAqIChhYnNfc3JjX2hlaWdodCArIGNyb3BfeSkgKyBjcm9wX3gg
LyAyOwogICAgICAgfSBlbHNlIHsKLSAgICAgICAgc3JjX3UgPSBzYW1wbGUgKyBzcmNfd2lkdGgg
KiBhYnNfc3JjX2hlaWdodCArCi0gICAgICAgICAgICBoYWxmd2lkdGggKiBjcm9wX3kgKyBjcm9w
X3ggLyAyOworICAgICAgICBzcmNfdSA9IHNhbXBsZSArIHNyY193aWR0aCAqIGFic19zcmNfaGVp
Z2h0ICsgaGFsZndpZHRoICogY3JvcF95ICsKKyAgICAgICAgICAgICAgICBjcm9wX3ggLyAyOwog
ICAgICAgICBzcmNfdiA9IHNhbXBsZSArIHNyY193aWR0aCAqIGFic19zcmNfaGVpZ2h0ICsKLSAg
ICAgICAgICAgIGhhbGZ3aWR0aCAqIChhYnNfc3JjX2hlaWdodCArIGNyb3BfeSkgKyBjcm9wX3gg
LyAyOworICAgICAgICAgICAgICAgIGhhbGZ3aWR0aCAqIChhYnNfc3JjX2hlaWdodCArIGNyb3Bf
eSkgKyBjcm9wX3ggLyAyOwogICAgICAgfQotICAgICAgciA9IEk0MjJUb0FSR0Ioc3JjX3ksIHNy
Y193aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgIHNyY191LCBoYWxmd2lkdGgsCi0gICAgICAg
ICAgICAgICAgICAgICBzcmNfdiwgaGFsZndpZHRoLAotICAgICAgICAgICAgICAgICAgICAgY3Jv
cF9hcmdiLCBhcmdiX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNyb3Bfd2lkdGgsIGlu
dl9jcm9wX2hlaWdodCk7CisgICAgICByID0gSTQyMlRvQVJHQihzcmNfeSwgc3JjX3dpZHRoLCBz
cmNfdSwgaGFsZndpZHRoLCBzcmNfdiwgaGFsZndpZHRoLAorICAgICAgICAgICAgICAgICAgICAg
Y3JvcF9hcmdiLCBhcmdiX3N0cmlkZSwgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKICAg
ICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEZPVVJDQ19JNDQ0OgpAQCAtMjU1LDE4ICsyMzUs
MTQgQEAgaW50IENvbnZlcnRUb0FSR0IoY29uc3QgdWludDgqIHNhbXBsZSwgc2l6ZV90IHNhbXBs
ZV9zaXplLAogICAgICAgICBzcmNfdSA9IHNhbXBsZSArIHNyY193aWR0aCAqIChhYnNfc3JjX2hl
aWdodCArIGNyb3BfeSkgKyBjcm9wX3g7CiAgICAgICAgIHNyY192ID0gc2FtcGxlICsgc3JjX3dp
ZHRoICogKGFic19zcmNfaGVpZ2h0ICogMiArIGNyb3BfeSkgKyBjcm9wX3g7CiAgICAgICB9Ci0g
ICAgICByID0gSTQ0NFRvQVJHQihzcmNfeSwgc3JjX3dpZHRoLAotICAgICAgICAgICAgICAgICAg
ICAgc3JjX3UsIHNyY193aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgIHNyY192LCBzcmNfd2lk
dGgsCi0gICAgICAgICAgICAgICAgICAgICBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKKyAgICAgIHIgPSBJ
NDQ0VG9BUkdCKHNyY195LCBzcmNfd2lkdGgsIHNyY191LCBzcmNfd2lkdGgsIHNyY192LCBzcmNf
d2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLCBjcm9w
X3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAgfQogI2lmZGVmIEhB
VkVfSlBFRwogICAgIGNhc2UgRk9VUkNDX01KUEc6Ci0gICAgICByID0gTUpQR1RvQVJHQihzYW1w
bGUsIHNhbXBsZV9zaXplLAotICAgICAgICAgICAgICAgICAgICAgY3JvcF9hcmdiLCBhcmdiX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHNyY193aWR0aCwgYWJzX3NyY19oZWlnaHQsIGNy
b3Bfd2lkdGgsIGludl9jcm9wX2hlaWdodCk7CisgICAgICByID0gTUpQR1RvQVJHQihzYW1wbGUs
IHNhbXBsZV9zaXplLCBjcm9wX2FyZ2IsIGFyZ2Jfc3RyaWRlLCBzcmNfd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICBhYnNfc3JjX2hlaWdodCwgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0
KTsKICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgZGVmYXVsdDoKQEAgLTI3NSwxMSArMjUxLDE0
IEBAIGludCBDb252ZXJ0VG9BUkdCKGNvbnN0IHVpbnQ4KiBzYW1wbGUsIHNpemVfdCBzYW1wbGVf
c2l6ZSwKIAogICBpZiAobmVlZF9idWYpIHsKICAgICBpZiAoIXIpIHsKLSAgICAgIHIgPSBBUkdC
Um90YXRlKGNyb3BfYXJnYiwgYXJnYl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBkZXN0
X2FyZ2IsIGRlc3RfYXJnYl9zdHJpZGUsCisgICAgICByID0gQVJHQlJvdGF0ZShjcm9wX2FyZ2Is
IGFyZ2Jfc3RyaWRlLCBkZXN0X2FyZ2IsIGRlc3RfYXJnYl9zdHJpZGUsCiAgICAgICAgICAgICAg
ICAgICAgICBjcm9wX3dpZHRoLCBhYnNfY3JvcF9oZWlnaHQsIHJvdGF0aW9uKTsKICAgICB9CiAg
ICAgZnJlZShyb3RhdGVfYnVmZmVyKTsKKyAgfSBlbHNlIGlmIChyb3RhdGlvbikgeworICAgIHNy
YyA9IHNhbXBsZSArIChzcmNfd2lkdGggKiBjcm9wX3kgKyBjcm9wX3gpICogNDsKKyAgICByID0g
QVJHQlJvdGF0ZShzcmMsIHNyY193aWR0aCAqIDQsIGNyb3BfYXJnYiwgYXJnYl9zdHJpZGUsIGNy
b3Bfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgaW52X2Nyb3BfaGVpZ2h0LCByb3RhdGlvbik7
CiAgIH0KIAogICByZXR1cm4gcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jb252ZXJ0X3RvX2k0MjAuY2Mg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9z
b3VyY2UvY29udmVydF90b19pNDIwLmNjCmluZGV4IDRjNDYzNGE3MTRmZTM0MDhlZTY0NjJlMDdk
MmI0YzdhMDE2NGYyZWUuLmE1MDY4OWRiOTQ5YThmMWVlY2VmY2I1NDNkNTYyZjBmNDk4N2Y0MWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3NvdXJjZS9jb252ZXJ0X3RvX2k0MjAuY2MKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NvbnZlcnRfdG9f
aTQyMC5jYwpAQCAtMjcsMTIgKzI3LDE4IEBAIGV4dGVybiAiQyIgewogTElCWVVWX0FQSQogaW50
IENvbnZlcnRUb0k0MjAoY29uc3QgdWludDgqIHNhbXBsZSwKICAgICAgICAgICAgICAgICAgIHNp
emVfdCBzYW1wbGVfc2l6ZSwKLSAgICAgICAgICAgICAgICAgIHVpbnQ4KiB5LCBpbnQgeV9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICB1aW50OCogdSwgaW50IHVfc3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgdWludDgqIHYsIGludCB2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgIGludCBj
cm9wX3gsIGludCBjcm9wX3ksCi0gICAgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoLCBpbnQg
c3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgIGludCBjcm9wX3dpZHRoLCBpbnQgY3JvcF9o
ZWlnaHQsCisgICAgICAgICAgICAgICAgICB1aW50OCogeSwKKyAgICAgICAgICAgICAgICAgIGlu
dCB5X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgIHVpbnQ4KiB1LAorICAgICAgICAgICAgICAg
ICAgaW50IHVfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgdWludDgqIHYsCisgICAgICAgICAg
ICAgICAgICBpbnQgdl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICBpbnQgY3JvcF94LAorICAg
ICAgICAgICAgICAgICAgaW50IGNyb3BfeSwKKyAgICAgICAgICAgICAgICAgIGludCBzcmNfd2lk
dGgsCisgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAg
IGludCBjcm9wX3dpZHRoLAorICAgICAgICAgICAgICAgICAgaW50IGNyb3BfaGVpZ2h0LAogICAg
ICAgICAgICAgICAgICAgZW51bSBSb3RhdGlvbk1vZGUgcm90YXRpb24sCiAgICAgICAgICAgICAg
ICAgICB1aW50MzIgZm91cmNjKSB7CiAgIHVpbnQzMiBmb3JtYXQgPSBDYW5vbmljYWxGb3VyQ0Mo
Zm91cmNjKTsKQEAgLTQzLDkgKzQ5LDEwIEBAIGludCBDb252ZXJ0VG9JNDIwKGNvbnN0IHVpbnQ4
KiBzYW1wbGUsCiAgIC8vIFRPRE8obmlzc2UpOiBXaHkgYWxsb3cgY3JvcF9oZWlnaHQgPCAwPwog
ICBjb25zdCBpbnQgYWJzX2Nyb3BfaGVpZ2h0ID0gKGNyb3BfaGVpZ2h0IDwgMCkgPyAtY3JvcF9o
ZWlnaHQgOiBjcm9wX2hlaWdodDsKICAgaW50IHIgPSAwOwotICBMSUJZVVZfQk9PTCBuZWVkX2J1
ZiA9IChyb3RhdGlvbiAmJiBmb3JtYXQgIT0gRk9VUkNDX0k0MjAgJiYKLSAgICAgIGZvcm1hdCAh
PSBGT1VSQ0NfTlYxMiAmJiBmb3JtYXQgIT0gRk9VUkNDX05WMjEgJiYKLSAgICAgIGZvcm1hdCAh
PSBGT1VSQ0NfWVYxMikgfHwgeSA9PSBzYW1wbGU7CisgIExJQllVVl9CT09MIG5lZWRfYnVmID0K
KyAgICAgIChyb3RhdGlvbiAmJiBmb3JtYXQgIT0gRk9VUkNDX0k0MjAgJiYgZm9ybWF0ICE9IEZP
VVJDQ19OVjEyICYmCisgICAgICAgZm9ybWF0ICE9IEZPVVJDQ19OVjIxICYmIGZvcm1hdCAhPSBG
T1VSQ0NfWVYxMikgfHwKKyAgICAgIHkgPT0gc2FtcGxlOwogICB1aW50OCogdG1wX3kgPSB5Owog
ICB1aW50OCogdG1wX3UgPSB1OwogICB1aW50OCogdG1wX3YgPSB2OwpAQCAtNTYsOCArNjMsNyBA
QCBpbnQgQ29udmVydFRvSTQyMChjb25zdCB1aW50OCogc2FtcGxlLAogICBjb25zdCBpbnQgaW52
X2Nyb3BfaGVpZ2h0ID0KICAgICAgIChzcmNfaGVpZ2h0IDwgMCkgPyAtYWJzX2Nyb3BfaGVpZ2h0
IDogYWJzX2Nyb3BfaGVpZ2h0OwogCi0gIGlmICgheSB8fCAhdSB8fCAhdiB8fCAhc2FtcGxlIHx8
Ci0gICAgICBzcmNfd2lkdGggPD0gMCB8fCBjcm9wX3dpZHRoIDw9IDAgIHx8CisgIGlmICgheSB8
fCAhdSB8fCAhdiB8fCAhc2FtcGxlIHx8IHNyY193aWR0aCA8PSAwIHx8IGNyb3Bfd2lkdGggPD0g
MCB8fAogICAgICAgc3JjX2hlaWdodCA9PSAwIHx8IGNyb3BfaGVpZ2h0ID09IDApIHsKICAgICBy
ZXR1cm4gLTE7CiAgIH0KQEAgLTcwLDcgKzc2LDcgQEAgaW50IENvbnZlcnRUb0k0MjAoY29uc3Qg
dWludDgqIHNhbXBsZSwKICAgaWYgKG5lZWRfYnVmKSB7CiAgICAgaW50IHlfc2l6ZSA9IGNyb3Bf
d2lkdGggKiBhYnNfY3JvcF9oZWlnaHQ7CiAgICAgaW50IHV2X3NpemUgPSAoKGNyb3Bfd2lkdGgg
KyAxKSAvIDIpICogKChhYnNfY3JvcF9oZWlnaHQgKyAxKSAvIDIpOwotICAgIHJvdGF0ZV9idWZm
ZXIgPSAodWludDgqKW1hbGxvYyh5X3NpemUgKyB1dl9zaXplICogMik7ICAvKiBOT0xJTlQgKi8K
KyAgICByb3RhdGVfYnVmZmVyID0gKHVpbnQ4KiltYWxsb2MoeV9zaXplICsgdXZfc2l6ZSAqIDIp
OyAvKiBOT0xJTlQgKi8KICAgICBpZiAoIXJvdGF0ZV9idWZmZXIpIHsKICAgICAgIHJldHVybiAx
OyAgLy8gT3V0IG9mIG1lbW9yeSBydW50aW1lIGVycm9yLgogICAgIH0KQEAgLTg1LDEzMCArOTEs
ODUgQEAgaW50IENvbnZlcnRUb0k0MjAoY29uc3QgdWludDgqIHNhbXBsZSwKICAgICAvLyBTaW5n
bGUgcGxhbmUgZm9ybWF0cwogICAgIGNhc2UgRk9VUkNDX1lVWTI6CiAgICAgICBzcmMgPSBzYW1w
bGUgKyAoYWxpZ25lZF9zcmNfd2lkdGggKiBjcm9wX3kgKyBjcm9wX3gpICogMjsKLSAgICAgIHIg
PSBZVVkyVG9JNDIwKHNyYywgYWxpZ25lZF9zcmNfd2lkdGggKiAyLAotICAgICAgICAgICAgICAg
ICAgICAgeSwgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1LCB1X3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgIHYsIHZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY3Jv
cF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKKyAgICAgIHIgPSBZVVkyVG9JNDIwKHNyYywgYWxp
Z25lZF9zcmNfd2lkdGggKiAyLCB5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsCisgICAgICAg
ICAgICAgICAgICAgICB2X3N0cmlkZSwgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgRk9VUkNDX1VZVlk6CiAgICAgICBzcmMgPSBzYW1wbGUgKyAo
YWxpZ25lZF9zcmNfd2lkdGggKiBjcm9wX3kgKyBjcm9wX3gpICogMjsKLSAgICAgIHIgPSBVWVZZ
VG9JNDIwKHNyYywgYWxpZ25lZF9zcmNfd2lkdGggKiAyLAotICAgICAgICAgICAgICAgICAgICAg
eSwgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1LCB1X3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgIHYsIHZfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0
aCwgaW52X2Nyb3BfaGVpZ2h0KTsKKyAgICAgIHIgPSBVWVZZVG9JNDIwKHNyYywgYWxpZ25lZF9z
cmNfd2lkdGggKiAyLCB5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsCisgICAgICAgICAgICAg
ICAgICAgICB2X3N0cmlkZSwgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgRk9VUkNDX1JHQlA6CiAgICAgICBzcmMgPSBzYW1wbGUgKyAoc3JjX3dp
ZHRoICogY3JvcF95ICsgY3JvcF94KSAqIDI7Ci0gICAgICByID0gUkdCNTY1VG9JNDIwKHNyYywg
c3JjX3dpZHRoICogMiwKLSAgICAgICAgICAgICAgICAgICAgICAgeSwgeV9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgIHUsIHVfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB2
LCB2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3Bf
aGVpZ2h0KTsKKyAgICAgIHIgPSBSR0I1NjVUb0k0MjAoc3JjLCBzcmNfd2lkdGggKiAyLCB5LCB5
X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsCisgICAgICAgICAgICAgICAgICAgICAgIHZfc3RyaWRl
LCBjcm9wX3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBG
T1VSQ0NfUkdCTzoKICAgICAgIHNyYyA9IHNhbXBsZSArIChzcmNfd2lkdGggKiBjcm9wX3kgKyBj
cm9wX3gpICogMjsKLSAgICAgIHIgPSBBUkdCMTU1NVRvSTQyMChzcmMsIHNyY193aWR0aCAqIDIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgeSwgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgdSwgdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdiwgdl9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0
KTsKKyAgICAgIHIgPSBBUkdCMTU1NVRvSTQyMChzcmMsIHNyY193aWR0aCAqIDIsIHksIHlfc3Ry
aWRlLCB1LCB1X3N0cmlkZSwgdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2X3N0cmlkZSwg
Y3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRk9V
UkNDX1I0NDQ6CiAgICAgICBzcmMgPSBzYW1wbGUgKyAoc3JjX3dpZHRoICogY3JvcF95ICsgY3Jv
cF94KSAqIDI7Ci0gICAgICByID0gQVJHQjQ0NDRUb0k0MjAoc3JjLCBzcmNfd2lkdGggKiAyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIHksIHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHUsIHVfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHYsIHZfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgIGNyb3Bfd2lkdGgsIGludl9jcm9wX2hlaWdodCk7
CisgICAgICByID0gQVJHQjQ0NDRUb0k0MjAoc3JjLCBzcmNfd2lkdGggKiAyLCB5LCB5X3N0cmlk
ZSwgdSwgdV9zdHJpZGUsIHYsCisgICAgICAgICAgICAgICAgICAgICAgICAgdl9zdHJpZGUsIGNy
b3Bfd2lkdGgsIGludl9jcm9wX2hlaWdodCk7CiAgICAgICBicmVhazsKICAgICBjYXNlIEZPVVJD
Q18yNEJHOgogICAgICAgc3JjID0gc2FtcGxlICsgKHNyY193aWR0aCAqIGNyb3BfeSArIGNyb3Bf
eCkgKiAzOwotICAgICAgciA9IFJHQjI0VG9JNDIwKHNyYywgc3JjX3dpZHRoICogMywKLSAgICAg
ICAgICAgICAgICAgICAgICB5LCB5X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1LCB1
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB2LCB2X3N0cmlkZSwKKyAgICAgIHIgPSBS
R0IyNFRvSTQyMChzcmMsIHNyY193aWR0aCAqIDMsIHksIHlfc3RyaWRlLCB1LCB1X3N0cmlkZSwg
diwgdl9zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3Bf
aGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRk9VUkNDX1JBVzoKICAgICAgIHNyYyA9
IHNhbXBsZSArIChzcmNfd2lkdGggKiBjcm9wX3kgKyBjcm9wX3gpICogMzsKLSAgICAgIHIgPSBS
QVdUb0k0MjAoc3JjLCBzcmNfd2lkdGggKiAzLAotICAgICAgICAgICAgICAgICAgICB5LCB5X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgdSwgdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgIHYsIHZfc3RyaWRlLAorICAgICAgciA9IFJBV1RvSTQyMChzcmMsIHNyY193aWR0aCAqIDMs
IHksIHlfc3RyaWRlLCB1LCB1X3N0cmlkZSwgdiwgdl9zdHJpZGUsCiAgICAgICAgICAgICAgICAg
ICAgIGNyb3Bfd2lkdGgsIGludl9jcm9wX2hlaWdodCk7CiAgICAgICBicmVhazsKICAgICBjYXNl
IEZPVVJDQ19BUkdCOgogICAgICAgc3JjID0gc2FtcGxlICsgKHNyY193aWR0aCAqIGNyb3BfeSAr
IGNyb3BfeCkgKiA0OwotICAgICAgciA9IEFSR0JUb0k0MjAoc3JjLCBzcmNfd2lkdGggKiA0LAot
ICAgICAgICAgICAgICAgICAgICAgeSwgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1
LCB1X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHYsIHZfc3RyaWRlLAorICAgICAgciA9
IEFSR0JUb0k0MjAoc3JjLCBzcmNfd2lkdGggKiA0LCB5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUs
IHYsIHZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3Bf
aGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgRk9VUkNDX0JHUkE6CiAgICAgICBzcmMg
PSBzYW1wbGUgKyAoc3JjX3dpZHRoICogY3JvcF95ICsgY3JvcF94KSAqIDQ7Ci0gICAgICByID0g
QkdSQVRvSTQyMChzcmMsIHNyY193aWR0aCAqIDQsCi0gICAgICAgICAgICAgICAgICAgICB5LCB5
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHUsIHVfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgdiwgdl9zdHJpZGUsCisgICAgICByID0gQkdSQVRvSTQyMChzcmMsIHNyY193aWR0
aCAqIDQsIHksIHlfc3RyaWRlLCB1LCB1X3N0cmlkZSwgdiwgdl9zdHJpZGUsCiAgICAgICAgICAg
ICAgICAgICAgICBjcm9wX3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBGT1VSQ0NfQUJHUjoKICAgICAgIHNyYyA9IHNhbXBsZSArIChzcmNfd2lkdGggKiBj
cm9wX3kgKyBjcm9wX3gpICogNDsKLSAgICAgIHIgPSBBQkdSVG9JNDIwKHNyYywgc3JjX3dpZHRo
ICogNCwKLSAgICAgICAgICAgICAgICAgICAgIHksIHlfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgdSwgdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB2LCB2X3N0cmlkZSwKKyAg
ICAgIHIgPSBBQkdSVG9JNDIwKHNyYywgc3JjX3dpZHRoICogNCwgeSwgeV9zdHJpZGUsIHUsIHVf
c3RyaWRlLCB2LCB2X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgIGNyb3Bfd2lkdGgsIGlu
dl9jcm9wX2hlaWdodCk7CiAgICAgICBicmVhazsKICAgICBjYXNlIEZPVVJDQ19SR0JBOgogICAg
ICAgc3JjID0gc2FtcGxlICsgKHNyY193aWR0aCAqIGNyb3BfeSArIGNyb3BfeCkgKiA0OwotICAg
ICAgciA9IFJHQkFUb0k0MjAoc3JjLCBzcmNfd2lkdGggKiA0LAotICAgICAgICAgICAgICAgICAg
ICAgeSwgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1LCB1X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgIHYsIHZfc3RyaWRlLAorICAgICAgciA9IFJHQkFUb0k0MjAoc3JjLCBz
cmNfd2lkdGggKiA0LCB5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRlLAogICAg
ICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgRk9VUkNDX0k0MDA6CiAgICAgICBzcmMgPSBzYW1wbGUgKyBzcmNfd2lk
dGggKiBjcm9wX3kgKyBjcm9wX3g7Ci0gICAgICByID0gSTQwMFRvSTQyMChzcmMsIHNyY193aWR0
aCwKLSAgICAgICAgICAgICAgICAgICAgIHksIHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgdSwgdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB2LCB2X3N0cmlkZSwKKyAgICAg
IHIgPSBJNDAwVG9JNDIwKHNyYywgc3JjX3dpZHRoLCB5LCB5X3N0cmlkZSwgdSwgdV9zdHJpZGUs
IHYsIHZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3Bf
aGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIC8vIEJpcGxhbmFyIGZvcm1hdHMKICAgICBjYXNl
IEZPVVJDQ19OVjEyOgogICAgICAgc3JjID0gc2FtcGxlICsgKHNyY193aWR0aCAqIGNyb3BfeSAr
IGNyb3BfeCk7CiAgICAgICBzcmNfdXYgPSBzYW1wbGUgKyAoc3JjX3dpZHRoICogc3JjX2hlaWdo
dCkgKwotICAgICAgICAoKGNyb3BfeSAvIDIpICogYWxpZ25lZF9zcmNfd2lkdGgpICsgKChjcm9w
X3ggLyAyKSAqIDIpOwotICAgICAgciA9IE5WMTJUb0k0MjBSb3RhdGUoc3JjLCBzcmNfd2lkdGgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdXYsIGFsaWduZWRfc3JjX3dpZHRoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeSwgeV9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICB1LCB1X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHYsIHZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwgaW52X2Nyb3Bf
aGVpZ2h0LCByb3RhdGlvbik7CisgICAgICAgICAgICAgICAoKGNyb3BfeSAvIDIpICogYWxpZ25l
ZF9zcmNfd2lkdGgpICsgKChjcm9wX3ggLyAyKSAqIDIpOworICAgICAgciA9IE5WMTJUb0k0MjBS
b3RhdGUoc3JjLCBzcmNfd2lkdGgsIHNyY191diwgYWxpZ25lZF9zcmNfd2lkdGgsIHksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICB5X3N0cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRl
LCBjcm9wX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52X2Nyb3BfaGVpZ2h0
LCByb3RhdGlvbik7CiAgICAgICBicmVhazsKICAgICBjYXNlIEZPVVJDQ19OVjIxOgogICAgICAg
c3JjID0gc2FtcGxlICsgKHNyY193aWR0aCAqIGNyb3BfeSArIGNyb3BfeCk7CiAgICAgICBzcmNf
dXYgPSBzYW1wbGUgKyAoc3JjX3dpZHRoICogc3JjX2hlaWdodCkgKwotICAgICAgICAoKGNyb3Bf
eSAvIDIpICogYWxpZ25lZF9zcmNfd2lkdGgpICsgKChjcm9wX3ggLyAyKSAqIDIpOworICAgICAg
ICAgICAgICAgKChjcm9wX3kgLyAyKSAqIGFsaWduZWRfc3JjX3dpZHRoKSArICgoY3JvcF94IC8g
MikgKiAyKTsKICAgICAgIC8vIENhbGwgTlYxMiBidXQgd2l0aCB1IGFuZCB2IHBhcmFtZXRlcnMg
c3dhcHBlZC4KLSAgICAgIHIgPSBOVjEyVG9JNDIwUm90YXRlKHNyYywgc3JjX3dpZHRoLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3V2LCBhbGlnbmVkX3NyY193aWR0aCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHksIHlfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdiwgdl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1LCB1X3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyb3Bfd2lkdGgsIGludl9jcm9wX2hlaWdo
dCwgcm90YXRpb24pOworICAgICAgciA9IE5WMTJUb0k0MjBSb3RhdGUoc3JjLCBzcmNfd2lkdGgs
IHNyY191diwgYWxpZ25lZF9zcmNfd2lkdGgsIHksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICB5X3N0cmlkZSwgdiwgdl9zdHJpZGUsIHUsIHVfc3RyaWRlLCBjcm9wX3dpZHRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW52X2Nyb3BfaGVpZ2h0LCByb3RhdGlvbik7CiAgICAgICBi
cmVhazsKICAgICBjYXNlIEZPVVJDQ19NNDIwOgogICAgICAgc3JjID0gc2FtcGxlICsgKHNyY193
aWR0aCAqIGNyb3BfeSkgKiAxMiAvIDggKyBjcm9wX3g7Ci0gICAgICByID0gTTQyMFRvSTQyMChz
cmMsIHNyY193aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgIHksIHlfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgdSwgdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB2LCB2X3N0
cmlkZSwKKyAgICAgIHIgPSBNNDIwVG9JNDIwKHNyYywgc3JjX3dpZHRoLCB5LCB5X3N0cmlkZSwg
dSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0
aCwgaW52X2Nyb3BfaGVpZ2h0KTsKICAgICAgIGJyZWFrOwogICAgIC8vIFRyaXBsYW5hciBmb3Jt
YXRzCkBAIC0yMjEsMjIgKzE4MiwxOCBAQCBpbnQgQ29udmVydFRvSTQyMChjb25zdCB1aW50OCog
c2FtcGxlLAogICAgICAgaW50IGhhbGZoZWlnaHQgPSAoYWJzX3NyY19oZWlnaHQgKyAxKSAvIDI7
CiAgICAgICBpZiAoZm9ybWF0ID09IEZPVVJDQ19ZVjEyKSB7CiAgICAgICAgIHNyY192ID0gc2Ft
cGxlICsgc3JjX3dpZHRoICogYWJzX3NyY19oZWlnaHQgKwotICAgICAgICAgICAgKGhhbGZ3aWR0
aCAqIGNyb3BfeSArIGNyb3BfeCkgLyAyOworICAgICAgICAgICAgICAgIChoYWxmd2lkdGggKiBj
cm9wX3kgKyBjcm9wX3gpIC8gMjsKICAgICAgICAgc3JjX3UgPSBzYW1wbGUgKyBzcmNfd2lkdGgg
KiBhYnNfc3JjX2hlaWdodCArCi0gICAgICAgICAgICBoYWxmd2lkdGggKiAoaGFsZmhlaWdodCAr
IGNyb3BfeSAvIDIpICsgY3JvcF94IC8gMjsKKyAgICAgICAgICAgICAgICBoYWxmd2lkdGggKiAo
aGFsZmhlaWdodCArIGNyb3BfeSAvIDIpICsgY3JvcF94IC8gMjsKICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgIHNyY191ID0gc2FtcGxlICsgc3JjX3dpZHRoICogYWJzX3NyY19oZWlnaHQgKwotICAg
ICAgICAgICAgKGhhbGZ3aWR0aCAqIGNyb3BfeSArIGNyb3BfeCkgLyAyOworICAgICAgICAgICAg
ICAgIChoYWxmd2lkdGggKiBjcm9wX3kgKyBjcm9wX3gpIC8gMjsKICAgICAgICAgc3JjX3YgPSBz
YW1wbGUgKyBzcmNfd2lkdGggKiBhYnNfc3JjX2hlaWdodCArCi0gICAgICAgICAgICBoYWxmd2lk
dGggKiAoaGFsZmhlaWdodCArIGNyb3BfeSAvIDIpICsgY3JvcF94IC8gMjsKKyAgICAgICAgICAg
ICAgICBoYWxmd2lkdGggKiAoaGFsZmhlaWdodCArIGNyb3BfeSAvIDIpICsgY3JvcF94IC8gMjsK
ICAgICAgIH0KLSAgICAgIHIgPSBJNDIwUm90YXRlKHNyY195LCBzcmNfd2lkdGgsCi0gICAgICAg
ICAgICAgICAgICAgICBzcmNfdSwgaGFsZndpZHRoLAotICAgICAgICAgICAgICAgICAgICAgc3Jj
X3YsIGhhbGZ3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgIHksIHlfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgdSwgdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB2LCB2X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGNyb3Bfd2lkdGgsIGludl9jcm9wX2hlaWdodCwg
cm90YXRpb24pOworICAgICAgciA9IEk0MjBSb3RhdGUoc3JjX3ksIHNyY193aWR0aCwgc3JjX3Us
IGhhbGZ3aWR0aCwgc3JjX3YsIGhhbGZ3aWR0aCwgeSwKKyAgICAgICAgICAgICAgICAgICAgIHlf
c3RyaWRlLCB1LCB1X3N0cmlkZSwgdiwgdl9zdHJpZGUsIGNyb3Bfd2lkdGgsCisgICAgICAgICAg
ICAgICAgICAgICBpbnZfY3JvcF9oZWlnaHQsIHJvdGF0aW9uKTsKICAgICAgIGJyZWFrOwogICAg
IH0KICAgICBjYXNlIEZPVVJDQ19JNDIyOgpAQCAtMjQ2LDIzICsyMDMsMTkgQEAgaW50IENvbnZl
cnRUb0k0MjAoY29uc3QgdWludDgqIHNhbXBsZSwKICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdjsK
ICAgICAgIGludCBoYWxmd2lkdGggPSAoc3JjX3dpZHRoICsgMSkgLyAyOwogICAgICAgaWYgKGZv
cm1hdCA9PSBGT1VSQ0NfWVYxNikgewotICAgICAgICBzcmNfdiA9IHNhbXBsZSArIHNyY193aWR0
aCAqIGFic19zcmNfaGVpZ2h0ICsKLSAgICAgICAgICAgIGhhbGZ3aWR0aCAqIGNyb3BfeSArIGNy
b3BfeCAvIDI7CisgICAgICAgIHNyY192ID0gc2FtcGxlICsgc3JjX3dpZHRoICogYWJzX3NyY19o
ZWlnaHQgKyBoYWxmd2lkdGggKiBjcm9wX3kgKworICAgICAgICAgICAgICAgIGNyb3BfeCAvIDI7
CiAgICAgICAgIHNyY191ID0gc2FtcGxlICsgc3JjX3dpZHRoICogYWJzX3NyY19oZWlnaHQgKwot
ICAgICAgICAgICAgaGFsZndpZHRoICogKGFic19zcmNfaGVpZ2h0ICsgY3JvcF95KSArIGNyb3Bf
eCAvIDI7CisgICAgICAgICAgICAgICAgaGFsZndpZHRoICogKGFic19zcmNfaGVpZ2h0ICsgY3Jv
cF95KSArIGNyb3BfeCAvIDI7CiAgICAgICB9IGVsc2UgewotICAgICAgICBzcmNfdSA9IHNhbXBs
ZSArIHNyY193aWR0aCAqIGFic19zcmNfaGVpZ2h0ICsKLSAgICAgICAgICAgIGhhbGZ3aWR0aCAq
IGNyb3BfeSArIGNyb3BfeCAvIDI7CisgICAgICAgIHNyY191ID0gc2FtcGxlICsgc3JjX3dpZHRo
ICogYWJzX3NyY19oZWlnaHQgKyBoYWxmd2lkdGggKiBjcm9wX3kgKworICAgICAgICAgICAgICAg
IGNyb3BfeCAvIDI7CiAgICAgICAgIHNyY192ID0gc2FtcGxlICsgc3JjX3dpZHRoICogYWJzX3Ny
Y19oZWlnaHQgKwotICAgICAgICAgICAgaGFsZndpZHRoICogKGFic19zcmNfaGVpZ2h0ICsgY3Jv
cF95KSArIGNyb3BfeCAvIDI7CisgICAgICAgICAgICAgICAgaGFsZndpZHRoICogKGFic19zcmNf
aGVpZ2h0ICsgY3JvcF95KSArIGNyb3BfeCAvIDI7CiAgICAgICB9Ci0gICAgICByID0gSTQyMlRv
STQyMChzcmNfeSwgc3JjX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgc3JjX3UsIGhhbGZ3
aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgIHNyY192LCBoYWxmd2lkdGgsCi0gICAgICAgICAg
ICAgICAgICAgICB5LCB5X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHUsIHVfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgdiwgdl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICBjcm9wX3dpZHRoLCBpbnZfY3JvcF9oZWlnaHQpOworICAgICAgciA9IEk0MjJUb0k0MjAoc3Jj
X3ksIHNyY193aWR0aCwgc3JjX3UsIGhhbGZ3aWR0aCwgc3JjX3YsIGhhbGZ3aWR0aCwgeSwKKyAg
ICAgICAgICAgICAgICAgICAgIHlfc3RyaWRlLCB1LCB1X3N0cmlkZSwgdiwgdl9zdHJpZGUsIGNy
b3Bfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAg
YnJlYWs7CiAgICAgfQogICAgIGNhc2UgRk9VUkNDX0k0NDQ6CkBAIC0yNzcsMjEgKzIzMCwxNCBA
QCBpbnQgQ29udmVydFRvSTQyMChjb25zdCB1aW50OCogc2FtcGxlLAogICAgICAgICBzcmNfdSA9
IHNhbXBsZSArIHNyY193aWR0aCAqIChhYnNfc3JjX2hlaWdodCArIGNyb3BfeSkgKyBjcm9wX3g7
CiAgICAgICAgIHNyY192ID0gc2FtcGxlICsgc3JjX3dpZHRoICogKGFic19zcmNfaGVpZ2h0ICog
MiArIGNyb3BfeSkgKyBjcm9wX3g7CiAgICAgICB9Ci0gICAgICByID0gSTQ0NFRvSTQyMChzcmNf
eSwgc3JjX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgc3JjX3UsIHNyY193aWR0aCwKLSAg
ICAgICAgICAgICAgICAgICAgIHNyY192LCBzcmNfd2lkdGgsCi0gICAgICAgICAgICAgICAgICAg
ICB5LCB5X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHUsIHVfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgdiwgdl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBjcm9wX3dp
ZHRoLCBpbnZfY3JvcF9oZWlnaHQpOworICAgICAgciA9IEk0NDRUb0k0MjAoc3JjX3ksIHNyY193
aWR0aCwgc3JjX3UsIHNyY193aWR0aCwgc3JjX3YsIHNyY193aWR0aCwgeSwKKyAgICAgICAgICAg
ICAgICAgICAgIHlfc3RyaWRlLCB1LCB1X3N0cmlkZSwgdiwgdl9zdHJpZGUsIGNyb3Bfd2lkdGgs
CisgICAgICAgICAgICAgICAgICAgICBpbnZfY3JvcF9oZWlnaHQpOwogICAgICAgYnJlYWs7CiAg
ICAgfQogI2lmZGVmIEhBVkVfSlBFRwogICAgIGNhc2UgRk9VUkNDX01KUEc6Ci0gICAgICByID0g
TUpQR1RvSTQyMChzYW1wbGUsIHNhbXBsZV9zaXplLAotICAgICAgICAgICAgICAgICAgICAgeSwg
eV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICB1LCB1X3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgIHYsIHZfc3RyaWRlLAorICAgICAgciA9IE1KUEdUb0k0MjAoc2FtcGxlLCBzYW1w
bGVfc2l6ZSwgeSwgeV9zdHJpZGUsIHUsIHVfc3RyaWRlLCB2LCB2X3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgIHNyY193aWR0aCwgYWJzX3NyY19oZWlnaHQsIGNyb3Bfd2lkdGgsIGludl9j
cm9wX2hlaWdodCk7CiAgICAgICBicmVhazsKICNlbmRpZgpAQCAtMzAxLDEzICsyNDcsOSBAQCBp
bnQgQ29udmVydFRvSTQyMChjb25zdCB1aW50OCogc2FtcGxlLAogCiAgIGlmIChuZWVkX2J1Zikg
ewogICAgIGlmICghcikgewotICAgICAgciA9IEk0MjBSb3RhdGUoeSwgeV9zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICB1LCB1X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHYsIHZf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgdG1wX3ksIHRtcF95X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgIHRtcF91LCB0bXBfdV9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICB0bXBfdiwgdG1wX3Zfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgY3JvcF93aWR0aCwg
YWJzX2Nyb3BfaGVpZ2h0LCByb3RhdGlvbik7CisgICAgICByID0gSTQyMFJvdGF0ZSh5LCB5X3N0
cmlkZSwgdSwgdV9zdHJpZGUsIHYsIHZfc3RyaWRlLCB0bXBfeSwgdG1wX3lfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgdG1wX3UsIHRtcF91X3N0cmlkZSwgdG1wX3YsIHRtcF92X3N0cmlk
ZSwgY3JvcF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgIGFic19jcm9wX2hlaWdodCwgcm90
YXRpb24pOwogICAgIH0KICAgICBmcmVlKHJvdGF0ZV9idWZmZXIpOwogICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9z
b3VyY2UvY3B1X2lkLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ5dXYvc291cmNlL2NwdV9pZC5jYwppbmRleCAwZTU0MTE5NjdlYmY1Yzc2OWFm
MjE4NWQwNzYyMWEzNWYxNTJkY2ZkLi5jZTE2NTU0NGRjNzllM2Q1YWQ2OWUwMmRhY2U0ZTM2ZjY1
NTUwYjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvY3B1X2lkLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9jcHVfaWQuY2MKQEAg
LTEzLDcgKzEzLDcgQEAKICNpZiBkZWZpbmVkKF9NU0NfVkVSKQogI2luY2x1ZGUgPGludHJpbi5o
PiAgLy8gRm9yIF9fY3B1aWRleCgpCiAjZW5kaWYKLSNpZiAhZGVmaW5lZChfX3BuYWNsX18pICYm
ICFkZWZpbmVkKF9fQ0xSX1ZFUikgJiYgXAorI2lmICFkZWZpbmVkKF9fcG5hY2xfXykgJiYgIWRl
ZmluZWQoX19DTFJfVkVSKSAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAhZGVm
aW5lZChfX25hdGl2ZV9jbGllbnRfXykgJiYgKGRlZmluZWQoX01fSVg4NikgfHwgZGVmaW5lZChf
TV9YNjQpKSAmJiBcCiAgICAgZGVmaW5lZChfTVNDX0ZVTExfVkVSKSAmJiAoX01TQ19GVUxMX1ZF
UiA+PSAxNjAwNDAyMTkpCiAjaW5jbHVkZSA8aW1taW50cmluLmg+ICAvLyBGb3IgX3hnZXRidigp
CkBAIC00MywxNiArNDMsMjAgQEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5lIFNBRkVCVUZGRVJTCiAj
ZW5kaWYKIAorLy8gY3B1X2luZm9fIHZhcmlhYmxlIGZvciBTSU1EIGluc3RydWN0aW9uIHNldHMg
ZGV0ZWN0ZWQuCitMSUJZVVZfQVBJIGludCBjcHVfaW5mb18gPSAwOworCisvLyBUT0RPKGZiYXJj
aGFyZCk6IENvbnNpZGVyIHVzaW5nIGludCBmb3IgY3B1aWQgc28gY2FzdGluZyBpcyBub3QgbmVl
ZGVkLgogLy8gTG93IGxldmVsIGNwdWlkIGZvciBYODYuCi0jaWYgKGRlZmluZWQoX01fSVg4Nikg
fHwgZGVmaW5lZChfTV9YNjQpIHx8IFwKLSAgICBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk
KF9feDg2XzY0X18pKSAmJiBcCisjaWYgKGRlZmluZWQoX01fSVg4NikgfHwgZGVmaW5lZChfTV9Y
NjQpIHx8IGRlZmluZWQoX19pMzg2X18pIHx8IFwKKyAgICAgZGVmaW5lZChfX3g4Nl82NF9fKSkg
JiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICFkZWZpbmVkKF9f
cG5hY2xfXykgJiYgIWRlZmluZWQoX19DTFJfVkVSKQogTElCWVVWX0FQSQotdm9pZCBDcHVJZCh1
aW50MzIgaW5mb19lYXgsIHVpbnQzMiBpbmZvX2VjeCwgdWludDMyKiBjcHVfaW5mbykgewordm9p
ZCBDcHVJZChpbnQgaW5mb19lYXgsIGludCBpbmZvX2VjeCwgaW50KiBjcHVfaW5mbykgewogI2lm
IGRlZmluZWQoX01TQ19WRVIpCiAvLyBWaXN1YWwgQyB2ZXJzaW9uIHVzZXMgaW50cmluc2ljIG9y
IGlubGluZSB4ODYgYXNzZW1ibHkuCiAjaWYgZGVmaW5lZChfTVNDX0ZVTExfVkVSKSAmJiAoX01T
Q19GVUxMX1ZFUiA+PSAxNjAwNDAyMTkpCi0gIF9fY3B1aWRleCgoaW50KikoY3B1X2luZm8pLCBp
bmZvX2VheCwgaW5mb19lY3gpOworICBfX2NwdWlkZXgoY3B1X2luZm8sIGluZm9fZWF4LCBpbmZv
X2VjeCk7CiAjZWxpZiBkZWZpbmVkKF9NX0lYODYpCiAgIF9fYXNtIHsKICAgICBtb3YgICAgICAg
IGVheCwgaW5mb19lYXgKQEAgLTY2LDI2ICs3MCwyNiBAQCB2b2lkIENwdUlkKHVpbnQzMiBpbmZv
X2VheCwgdWludDMyIGluZm9fZWN4LCB1aW50MzIqIGNwdV9pbmZvKSB7CiAgIH0KICNlbHNlICAv
LyBWaXN1YWwgQyBidXQgbm90IHg4NgogICBpZiAoaW5mb19lY3ggPT0gMCkgewotICAgIF9fY3B1
aWQoKGludCopKGNwdV9pbmZvKSwgaW5mb19lYXgpOworICAgIF9fY3B1aWQoY3B1X2luZm8sIGlu
Zm9fZWF4KTsKICAgfSBlbHNlIHsKICAgICBjcHVfaW5mb1szXSA9IGNwdV9pbmZvWzJdID0gY3B1
X2luZm9bMV0gPSBjcHVfaW5mb1swXSA9IDB1OwogICB9CiAjZW5kaWYKIC8vIEdDQyB2ZXJzaW9u
IHVzZXMgaW5saW5lIHg4NiBhc3NlbWJseS4KICNlbHNlICAvLyBkZWZpbmVkKF9NU0NfVkVSKQot
ICB1aW50MzIgaW5mb19lYngsIGluZm9fZWR4OwotICBhc20gdm9sYXRpbGUgKAotI2lmIGRlZmlu
ZWQoIF9faTM4Nl9fKSAmJiBkZWZpbmVkKF9fUElDX18pCi0gICAgLy8gUHJlc2VydmUgZWJ4IGZv
ciBmcGljIDMyIGJpdC4KLSAgICAibW92ICUlZWJ4LCAlJWVkaSAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgImNwdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJ4Y2hnICUlZWRpLCAlJWVieCAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICA6ICI9RCIgKGluZm9fZWJ4KSwKKyAgaW50IGluZm9fZWJ4LCBpbmZvX2VkeDsKKyAgYXNt
IHZvbGF0aWxlKAorI2lmIGRlZmluZWQoX19pMzg2X18pICYmIGRlZmluZWQoX19QSUNfXykKKyAg
ICAgIC8vIFByZXNlcnZlIGVieCBmb3IgZnBpYyAzMiBiaXQuCisgICAgICAibW92ICUlZWJ4LCAl
JWVkaSAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiY3B1aWQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAieGNoZyAlJWVkaSwgJSVlYngg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICA6ICI9RCIoaW5mb19lYngpLAogI2Vs
c2UKLSAgICAiY3B1aWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgOiAiPWIiIChpbmZvX2VieCksCisgICAgICAiY3B1aWQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICA6ICI9YiIoaW5mb19lYngpLAogI2VuZGlmICAvLyAg
ZGVmaW5lZCggX19pMzg2X18pICYmIGRlZmluZWQoX19QSUNfXykKLSAgICAgICIrYSIgKGluZm9f
ZWF4KSwgIitjIiAoaW5mb19lY3gpLCAiPWQiIChpbmZvX2VkeCkpOworICAgICAgICAiK2EiKGlu
Zm9fZWF4KSwgIitjIihpbmZvX2VjeCksICI9ZCIoaW5mb19lZHgpKTsKICAgY3B1X2luZm9bMF0g
PSBpbmZvX2VheDsKICAgY3B1X2luZm9bMV0gPSBpbmZvX2VieDsKICAgY3B1X2luZm9bMl0gPSBp
bmZvX2VjeDsKQEAgLTk0LDcgKzk4LDkgQEAgdm9pZCBDcHVJZCh1aW50MzIgaW5mb19lYXgsIHVp
bnQzMiBpbmZvX2VjeCwgdWludDMyKiBjcHVfaW5mbykgewogfQogI2Vsc2UgIC8vIChkZWZpbmVk
KF9NX0lYODYpIHx8IGRlZmluZWQoX01fWDY0KSAuLi4KIExJQllVVl9BUEkKLXZvaWQgQ3B1SWQo
dWludDMyIGVheCwgdWludDMyIGVjeCwgdWludDMyKiBjcHVfaW5mbykgewordm9pZCBDcHVJZChp
bnQgZWF4LCBpbnQgZWN4LCBpbnQqIGNwdV9pbmZvKSB7CisgICh2b2lkKWVheDsKKyAgKHZvaWQp
ZWN4OwogICBjcHVfaW5mb1swXSA9IGNwdV9pbmZvWzFdID0gY3B1X2luZm9bMl0gPSBjcHVfaW5m
b1szXSA9IDA7CiB9CiAjZW5kaWYKQEAgLTExMSwxNiArMTE3LDE2IEBAIHZvaWQgQ3B1SWQodWlu
dDMyIGVheCwgdWludDMyIGVjeCwgdWludDMyKiBjcHVfaW5mbykgewogI2lmIGRlZmluZWQoX01f
SVg4NikgJiYgKF9NU0NfVkVSIDwgMTkwMCkKICNwcmFnbWEgb3B0aW1pemUoImciLCBvZmYpCiAj
ZW5kaWYKLSNpZiAoZGVmaW5lZChfTV9JWDg2KSB8fCBkZWZpbmVkKF9NX1g2NCkgfHwgXAotICAg
IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykpICYmIFwKKyNpZiAoZGVm
aW5lZChfTV9JWDg2KSB8fCBkZWZpbmVkKF9NX1g2NCkgfHwgZGVmaW5lZChfX2kzODZfXykgfHwg
XAorICAgICBkZWZpbmVkKF9feDg2XzY0X18pKSAmJiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgIWRlZmluZWQoX19wbmFjbF9fKSAmJiAhZGVmaW5lZChfX0NMUl9W
RVIpICYmICFkZWZpbmVkKF9fbmF0aXZlX2NsaWVudF9fKQogLy8gWDg2IENQVXMgaGF2ZSB4Z2V0
YnYgdG8gZGV0ZWN0IE9TIHNhdmVzIGhpZ2ggcGFydHMgb2YgeW1tIHJlZ2lzdGVycy4KIGludCBH
ZXRYQ1IwKCkgewotICB1aW50MzIgeGNyMCA9IDB1OworICBpbnQgeGNyMCA9IDA7CiAjaWYgZGVm
aW5lZChfTVNDX0ZVTExfVkVSKSAmJiAoX01TQ19GVUxMX1ZFUiA+PSAxNjAwNDAyMTkpCi0gIHhj
cjAgPSAodWludDMyKShfeGdldGJ2KDApKTsgIC8vIFZTMjAxMCBTUDEgcmVxdWlyZWQuCisgIHhj
cjAgPSBfeGdldGJ2KDApOyAgLy8gVlMyMDEwIFNQMSByZXF1aXJlZC4KICNlbGlmIGRlZmluZWQo
X19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKLSAgYXNtKCIuYnl0ZSAweDBmLCAweDAx
LCAweGQwIiA6ICI9YSIgKHhjcjApIDogImMiICgwKSA6ICIlZWR4Iik7CisgIGFzbSgiLmJ5dGUg
MHgwZiwgMHgwMSwgMHhkMCIgOiAiPWEiKHhjcjApIDogImMiKDApIDogIiVlZHgiKTsKICNlbmRp
ZiAgLy8gZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQogICByZXR1cm4g
eGNyMDsKIH0KQEAgLTEzNSw4ICsxNDEsNyBAQCBpbnQgR2V0WENSMCgpIHsKIAogLy8gYmFzZWQg
b24gbGlidnB4IGFybV9jcHVkZXRlY3QuYwogLy8gRm9yIEFybSwgYnV0IHB1YmxpYyB0byBhbGxv
dyB0ZXN0aW5nIG9uIGFueSBDUFUKLUxJQllVVl9BUEkgU0FGRUJVRkZFUlMKLWludCBBcm1DcHVD
YXBzKGNvbnN0IGNoYXIqIGNwdWluZm9fbmFtZSkgeworTElCWVVWX0FQSSBTQUZFQlVGRkVSUyBp
bnQgQXJtQ3B1Q2Fwcyhjb25zdCBjaGFyKiBjcHVpbmZvX25hbWUpIHsKICAgY2hhciBjcHVpbmZv
X2xpbmVbNTEyXTsKICAgRklMRSogZiA9IGZvcGVuKGNwdWluZm9fbmFtZSwgInIiKTsKICAgaWYg
KCFmKSB7CkBAIC0xNTMsNyArMTU4LDcgQEAgaW50IEFybUNwdUNhcHMoY29uc3QgY2hhciogY3B1
aW5mb19uYW1lKSB7CiAgICAgICB9CiAgICAgICAvLyBhYXJjaDY0IHVzZXMgYXNpbWQgZm9yIE5l
b24uCiAgICAgICBwID0gc3Ryc3RyKGNwdWluZm9fbGluZSwgIiBhc2ltZCIpOwotICAgICAgaWYg
KHAgJiYgKHBbNl0gPT0gJyAnIHx8IHBbNl0gPT0gJ1xuJykpIHsKKyAgICAgIGlmIChwKSB7CiAg
ICAgICAgIGZjbG9zZShmKTsKICAgICAgICAgcmV0dXJuIGtDcHVIYXNORU9OOwogICAgICAgfQpA
QCAtMTYzLDMxICsxNjgsMjggQEAgaW50IEFybUNwdUNhcHMoY29uc3QgY2hhciogY3B1aW5mb19u
YW1lKSB7CiAgIHJldHVybiAwOwogfQogCi1MSUJZVVZfQVBJIFNBRkVCVUZGRVJTCi1pbnQgTWlw
c0NwdUNhcHMoY29uc3QgY2hhciogY3B1aW5mb19uYW1lLCBjb25zdCBjaGFyIGFzZVtdKSB7Cisv
LyBUT0RPKGZiYXJjaGFyZCk6IENvbnNpZGVyIHJlYWRfbXNhX2lyKCkuCisvLyBUT0RPKGZiYXJj
aGFyZCk6IEFkZCB1bml0dGVzdC4KK0xJQllVVl9BUEkgU0FGRUJVRkZFUlMgaW50IE1pcHNDcHVD
YXBzKGNvbnN0IGNoYXIqIGNwdWluZm9fbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGNoYXIgYXNlW10pIHsKICAgY2hhciBjcHVpbmZvX2xpbmVbNTEy
XTsKLSAgaW50IGxlbiA9IChpbnQpc3RybGVuKGFzZSk7CiAgIEZJTEUqIGYgPSBmb3BlbihjcHVp
bmZvX25hbWUsICJyIik7CiAgIGlmICghZikgewogICAgIC8vIGFzZSBlbmFibGVkIGlmIC9wcm9j
L2NwdWluZm8gaXMgdW5hdmFpbGFibGUuCiAgICAgaWYgKHN0cmNtcChhc2UsICIgbXNhIikgPT0g
MCkgewogICAgICAgcmV0dXJuIGtDcHVIYXNNU0E7CiAgICAgfQotICAgIGlmIChzdHJjbXAoYXNl
LCAiIGRzcHIyIikgPT0gMCkgewotICAgICAgcmV0dXJuIGtDcHVIYXNEU1BSMjsKLSAgICB9Cisg
ICAgcmV0dXJuIGtDcHVIYXNEU1BSMjsKICAgfQogICB3aGlsZSAoZmdldHMoY3B1aW5mb19saW5l
LCBzaXplb2YoY3B1aW5mb19saW5lKSAtIDEsIGYpKSB7CiAgICAgaWYgKG1lbWNtcChjcHVpbmZv
X2xpbmUsICJBU0VzIGltcGxlbWVudGVkIiwgMTYpID09IDApIHsKICAgICAgIGNoYXIqIHAgPSBz
dHJzdHIoY3B1aW5mb19saW5lLCBhc2UpOwotICAgICAgaWYgKHAgJiYgKHBbbGVuXSA9PSAnICcg
fHwgcFtsZW5dID09ICdcbicpKSB7CisgICAgICBpZiAocCkgewogICAgICAgICBmY2xvc2UoZik7
CiAgICAgICAgIGlmIChzdHJjbXAoYXNlLCAiIG1zYSIpID09IDApIHsKICAgICAgICAgICByZXR1
cm4ga0NwdUhhc01TQTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RyY21wKGFzZSwgIiBkc3By
MiIpID09IDApIHsKLSAgICAgICAgICByZXR1cm4ga0NwdUhhc0RTUFIyOwotICAgICAgICB9Cisg
ICAgICAgIHJldHVybiBrQ3B1SGFzRFNQUjI7CiAgICAgICB9CiAgICAgfQogICB9CkBAIC0xOTUs
MTAgKzE5Nyw2IEBAIGludCBNaXBzQ3B1Q2Fwcyhjb25zdCBjaGFyKiBjcHVpbmZvX25hbWUsIGNv
bnN0IGNoYXIgYXNlW10pIHsKICAgcmV0dXJuIDA7CiB9CiAKLS8vIENQVSBkZXRlY3QgZnVuY3Rp
b24gZm9yIFNJTUQgaW5zdHJ1Y3Rpb24gc2V0cy4KLUxJQllVVl9BUEkKLWludCBjcHVfaW5mb18g
PSAwOyAgLy8gY3B1X2luZm8gaXMgbm90IGluaXRpYWxpemVkIHlldC4KLQogLy8gVGVzdCBlbnZp
cm9ubWVudCB2YXJpYWJsZSBmb3IgZGlzYWJsaW5nIENQVSBmZWF0dXJlcy4gQW55IG5vbi16ZXJv
IHZhbHVlCiAvLyB0byBkaXNhYmxlLiBaZXJvIGlnbm9yZWQgdG8gbWFrZSBpdCBlYXN5IHRvIHNl
dCB0aGUgdmFyaWFibGUgb24vb2ZmLgogI2lmICFkZWZpbmVkKF9fbmF0aXZlX2NsaWVudF9fKSAm
JiAhZGVmaW5lZChfTV9BUk0pCkBAIC0yMTgsMjAgKzIxNiwxOCBAQCBzdGF0aWMgTElCWVVWX0JP
T0wgVGVzdEVudihjb25zdCBjaGFyKikgewogfQogI2VuZGlmCiAKLUxJQllVVl9BUEkgU0FGRUJV
RkZFUlMKLWludCBJbml0Q3B1RmxhZ3Modm9pZCkgeworc3RhdGljIFNBRkVCVUZGRVJTIGludCBH
ZXRDcHVGbGFncyh2b2lkKSB7CiAgIGludCBjcHVfaW5mbyA9IDA7CiAjaWYgIWRlZmluZWQoX19w
bmFjbF9fKSAmJiAhZGVmaW5lZChfX0NMUl9WRVIpICYmIGRlZmluZWQoQ1BVX1g4NikKLSAgdWlu
dDMyIGNwdV9pbmZvMFs0XSA9IHsgMCwgMCwgMCwgMCB9OwotICB1aW50MzIgY3B1X2luZm8xWzRd
ID0geyAwLCAwLCAwLCAwIH07Ci0gIHVpbnQzMiBjcHVfaW5mbzdbNF0gPSB7IDAsIDAsIDAsIDAg
fTsKKyAgaW50IGNwdV9pbmZvMFs0XSA9IHswLCAwLCAwLCAwfTsKKyAgaW50IGNwdV9pbmZvMVs0
XSA9IHswLCAwLCAwLCAwfTsKKyAgaW50IGNwdV9pbmZvN1s0XSA9IHswLCAwLCAwLCAwfTsKICAg
Q3B1SWQoMCwgMCwgY3B1X2luZm8wKTsKICAgQ3B1SWQoMSwgMCwgY3B1X2luZm8xKTsKICAgaWYg
KGNwdV9pbmZvMFswXSA+PSA3KSB7CiAgICAgQ3B1SWQoNywgMCwgY3B1X2luZm83KTsKICAgfQot
ICBjcHVfaW5mbyA9IGtDcHVIYXNYODYgfAotICAgICAgICAgICAgICgoY3B1X2luZm8xWzNdICYg
MHgwNDAwMDAwMCkgPyBrQ3B1SGFzU1NFMiA6IDApIHwKKyAgY3B1X2luZm8gPSBrQ3B1SGFzWDg2
IHwgKChjcHVfaW5mbzFbM10gJiAweDA0MDAwMDAwKSA/IGtDcHVIYXNTU0UyIDogMCkgfAogICAg
ICAgICAgICAgICgoY3B1X2luZm8xWzJdICYgMHgwMDAwMDIwMCkgPyBrQ3B1SGFzU1NTRTMgOiAw
KSB8CiAgICAgICAgICAgICAgKChjcHVfaW5mbzFbMl0gJiAweDAwMDgwMDAwKSA/IGtDcHVIYXNT
U0U0MSA6IDApIHwKICAgICAgICAgICAgICAoKGNwdV9pbmZvMVsyXSAmIDB4MDAxMDAwMDApID8g
a0NwdUhhc1NTRTQyIDogMCkgfApAQCAtMjQwLDggKzIzNiw3IEBAIGludCBJbml0Q3B1RmxhZ3Mo
dm9pZCkgewogICAvLyBBVlggcmVxdWlyZXMgT1Mgc2F2ZXMgWU1NIHJlZ2lzdGVycy4KICAgaWYg
KCgoY3B1X2luZm8xWzJdICYgMHgxYzAwMDAwMCkgPT0gMHgxYzAwMDAwMCkgJiYgIC8vIEFWWCBh
bmQgT1NYU2F2ZQogICAgICAgKChHZXRYQ1IwKCkgJiA2KSA9PSA2KSkgeyAgLy8gVGVzdCBPUyBz
YXZlcyBZTU0gcmVnaXN0ZXJzCi0gICAgY3B1X2luZm8gfD0ga0NwdUhhc0FWWCB8Ci0gICAgICAg
ICAgICAgICAgKChjcHVfaW5mbzdbMV0gJiAweDAwMDAwMDIwKSA/IGtDcHVIYXNBVlgyIDogMCkg
fAorICAgIGNwdV9pbmZvIHw9IGtDcHVIYXNBVlggfCAoKGNwdV9pbmZvN1sxXSAmIDB4MDAwMDAw
MjApID8ga0NwdUhhc0FWWDIgOiAwKSB8CiAgICAgICAgICAgICAgICAgKChjcHVfaW5mbzFbMl0g
JiAweDAwMDAxMDAwKSA/IGtDcHVIYXNGTUEzIDogMCkgfAogICAgICAgICAgICAgICAgICgoY3B1
X2luZm8xWzJdICYgMHgyMDAwMDAwMCkgPyBrQ3B1SGFzRjE2QyA6IDApOwogCkBAIC0zMjYsMTUg
KzMyMSwyNSBAQCBpbnQgSW5pdENwdUZsYWdzKHZvaWQpIHsKICAgaWYgKFRlc3RFbnYoIkxJQllV
Vl9ESVNBQkxFX0FTTSIpKSB7CiAgICAgY3B1X2luZm8gPSAwOwogICB9Ci0gIGNwdV9pbmZvICB8
PSBrQ3B1SW5pdGlhbGl6ZWQ7Ci0gIGNwdV9pbmZvXyA9IGNwdV9pbmZvOworICBjcHVfaW5mbyB8
PSBrQ3B1SW5pdGlhbGl6ZWQ7CiAgIHJldHVybiBjcHVfaW5mbzsKIH0KIAogLy8gTm90ZSB0aGF0
IHVzZSBvZiB0aGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQgc2FmZS4KIExJQllVVl9BUEkKLXZv
aWQgTWFza0NwdUZsYWdzKGludCBlbmFibGVfZmxhZ3MpIHsKLSAgY3B1X2luZm9fID0gSW5pdENw
dUZsYWdzKCkgJiBlbmFibGVfZmxhZ3M7CitpbnQgTWFza0NwdUZsYWdzKGludCBlbmFibGVfZmxh
Z3MpIHsKKyAgaW50IGNwdV9pbmZvID0gR2V0Q3B1RmxhZ3MoKSAmIGVuYWJsZV9mbGFnczsKKyNp
ZmRlZiBfX0FUT01JQ19SRUxBWEVECisgIF9fYXRvbWljX3N0b3JlX24oJmNwdV9pbmZvXywgY3B1
X2luZm8sIF9fQVRPTUlDX1JFTEFYRUQpOworI2Vsc2UKKyAgY3B1X2luZm9fID0gY3B1X2luZm87
CisjZW5kaWYKKyAgcmV0dXJuIGNwdV9pbmZvOworfQorCitMSUJZVVZfQVBJCitpbnQgSW5pdENw
dUZsYWdzKHZvaWQpIHsKKyAgcmV0dXJuIE1hc2tDcHVGbGFncygtMSk7CiB9CiAKICNpZmRlZiBf
X2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL21qcGVnX2RlY29kZXIuY2MgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvbWpwZWdf
ZGVjb2Rlci5jYwppbmRleCAyMjAyNWFkMDRhZTdhNTVhOWMzNWQ4MzE4YWI1MzVjMTA5ZTg4MmQx
Li5iNDNjMDA4YmRkMmRkMTFkMDE2NmI0NWUyMTI0YjhlMzgzMmZhZTM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3Vy
Y2UvbWpwZWdfZGVjb2Rlci5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvbWpwZWdfZGVjb2Rlci5jYwpAQCAtMjEsNyAr
MjEsNyBAQAogCiAjaWYgZGVmaW5lZChfTVNDX1ZFUikKIC8vIGRpc2FibGUgd2FybmluZyA0MzI0
OiBzdHJ1Y3R1cmUgd2FzIHBhZGRlZCBkdWUgdG8gX19kZWNsc3BlYyhhbGlnbigpKQotI3ByYWdt
YSB3YXJuaW5nKGRpc2FibGU6NDMyNCkKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlIDogNDMyNCkK
ICNlbmRpZgogCiAjZW5kaWYKQEAgLTEyOSw3ICsxMjksNyBAQCBMSUJZVVZfQk9PTCBNSnBlZ0Rl
Y29kZXI6OkxvYWRGcmFtZShjb25zdCB1aW50OCogc3JjLCBzaXplX3Qgc3JjX2xlbikgewogICAg
ICAgaWYgKHNjYW5saW5lc19baV0pIHsKICAgICAgICAgZGVsZXRlIHNjYW5saW5lc19baV07CiAg
ICAgICB9Ci0gICAgICBzY2FubGluZXNfW2ldID0gbmV3IHVpbnQ4KiBbc2NhbmxpbmVzX3NpemVd
OworICAgICAgc2NhbmxpbmVzX1tpXSA9IG5ldyB1aW50OCpbc2NhbmxpbmVzX3NpemVdOwogICAg
ICAgc2NhbmxpbmVzX3NpemVzX1tpXSA9IHNjYW5saW5lc19zaXplOwogICAgIH0KIApAQCAtMTk1
LDEzICsxOTUsMTEgQEAgaW50IE1KcGVnRGVjb2Rlcjo6R2V0VmVydFNhbXBGYWN0b3IoaW50IGNv
bXBvbmVudCkgewogfQogCiBpbnQgTUpwZWdEZWNvZGVyOjpHZXRIb3JpelN1YlNhbXBGYWN0b3Io
aW50IGNvbXBvbmVudCkgewotICByZXR1cm4gZGVjb21wcmVzc19zdHJ1Y3RfLT5tYXhfaF9zYW1w
X2ZhY3RvciAvCi0gICAgICBHZXRIb3JpelNhbXBGYWN0b3IoY29tcG9uZW50KTsKKyAgcmV0dXJu
IGRlY29tcHJlc3Nfc3RydWN0Xy0+bWF4X2hfc2FtcF9mYWN0b3IgLyBHZXRIb3JpelNhbXBGYWN0
b3IoY29tcG9uZW50KTsKIH0KIAogaW50IE1KcGVnRGVjb2Rlcjo6R2V0VmVydFN1YlNhbXBGYWN0
b3IoaW50IGNvbXBvbmVudCkgewotICByZXR1cm4gZGVjb21wcmVzc19zdHJ1Y3RfLT5tYXhfdl9z
YW1wX2ZhY3RvciAvCi0gICAgICBHZXRWZXJ0U2FtcEZhY3Rvcihjb21wb25lbnQpOworICByZXR1
cm4gZGVjb21wcmVzc19zdHJ1Y3RfLT5tYXhfdl9zYW1wX2ZhY3RvciAvIEdldFZlcnRTYW1wRmFj
dG9yKGNvbXBvbmVudCk7CiB9CiAKIGludCBNSnBlZ0RlY29kZXI6OkdldEltYWdlU2NhbmxpbmVz
UGVySW1jdVJvdygpIHsKQEAgLTI0NSwxMCArMjQzLDEwIEBAIExJQllVVl9CT09MIE1KcGVnRGVj
b2Rlcjo6VW5sb2FkRnJhbWUoKSB7CiB9CiAKIC8vIFRPRE8oZmJhcmNoYXJkKTogQWxsb3cgcmVj
dGFuZ2xlIHRvIGJlIHNwZWNpZmllZDogeCwgeSwgd2lkdGgsIGhlaWdodC4KLUxJQllVVl9CT09M
IE1KcGVnRGVjb2Rlcjo6RGVjb2RlVG9CdWZmZXJzKAotICAgIHVpbnQ4KiogcGxhbmVzLCBpbnQg
ZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCkgewotICBpZiAoZHN0X3dpZHRoICE9IEdldFdpZHRo
KCkgfHwKLSAgICAgIGRzdF9oZWlnaHQgPiBHZXRIZWlnaHQoKSkgeworTElCWVVWX0JPT0wgTUpw
ZWdEZWNvZGVyOjpEZWNvZGVUb0J1ZmZlcnModWludDgqKiBwbGFuZXMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQpIHsKKyAgaWYgKGRz
dF93aWR0aCAhPSBHZXRXaWR0aCgpIHx8IGRzdF9oZWlnaHQgPiBHZXRIZWlnaHQoKSkgewogICAg
IC8vIEVSUk9SOiBCYWQgZGltZW5zaW9ucwogICAgIHJldHVybiBMSUJZVVZfRkFMU0U7CiAgIH0K
QEAgLTI4OSwxNCArMjg3LDEzIEBAIExJQllVVl9CT09MIE1KcGVnRGVjb2Rlcjo6RGVjb2RlVG9C
dWZmZXJzKAogICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1fb3V0YnVmc187ICsraSkgewog
ICAgICAgICAvLyBUT0RPKGZiYXJjaGFyZCk6IENvbXB1dGUgc2tpcCB0byBhdm9pZCB0aGlzCiAg
ICAgICAgIGFzc2VydChza2lwICUgR2V0VmVydFN1YlNhbXBGYWN0b3IoaSkgPT0gMCk7Ci0gICAg
ICAgIGludCByb3dzX3RvX3NraXAgPQotICAgICAgICAgICAgRGl2aWRlQW5kUm91bmREb3duKHNr
aXAsIEdldFZlcnRTdWJTYW1wRmFjdG9yKGkpKTsKLSAgICAgICAgaW50IHNjYW5saW5lc190b19j
b3B5ID0gR2V0Q29tcG9uZW50U2NhbmxpbmVzUGVySW1jdVJvdyhpKSAtCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJvd3NfdG9fc2tpcDsKKyAgICAgICAgaW50IHJvd3NfdG9fc2tp
cCA9IERpdmlkZUFuZFJvdW5kRG93bihza2lwLCBHZXRWZXJ0U3ViU2FtcEZhY3RvcihpKSk7Cisg
ICAgICAgIGludCBzY2FubGluZXNfdG9fY29weSA9CisgICAgICAgICAgICBHZXRDb21wb25lbnRT
Y2FubGluZXNQZXJJbWN1Um93KGkpIC0gcm93c190b19za2lwOwogICAgICAgICBpbnQgZGF0YV90
b19za2lwID0gcm93c190b19za2lwICogR2V0Q29tcG9uZW50U3RyaWRlKGkpOwotICAgICAgICBD
b3B5UGxhbmUoZGF0YWJ1Zl9baV0gKyBkYXRhX3RvX3NraXAsIEdldENvbXBvbmVudFN0cmlkZShp
KSwKLSAgICAgICAgICAgICAgICAgIHBsYW5lc1tpXSwgR2V0Q29tcG9uZW50V2lkdGgoaSksCi0g
ICAgICAgICAgICAgICAgICBHZXRDb21wb25lbnRXaWR0aChpKSwgc2NhbmxpbmVzX3RvX2NvcHkp
OworICAgICAgICBDb3B5UGxhbmUoZGF0YWJ1Zl9baV0gKyBkYXRhX3RvX3NraXAsIEdldENvbXBv
bmVudFN0cmlkZShpKSwgcGxhbmVzW2ldLAorICAgICAgICAgICAgICAgICAgR2V0Q29tcG9uZW50
V2lkdGgoaSksIEdldENvbXBvbmVudFdpZHRoKGkpLAorICAgICAgICAgICAgICAgICAgc2Nhbmxp
bmVzX3RvX2NvcHkpOwogICAgICAgICBwbGFuZXNbaV0gKz0gc2NhbmxpbmVzX3RvX2NvcHkgKiBH
ZXRDb21wb25lbnRXaWR0aChpKTsKICAgICAgIH0KICAgICAgIGxpbmVzX2xlZnQgLT0gKEdldElt
YWdlU2NhbmxpbmVzUGVySW1jdVJvdygpIC0gc2tpcCk7CkBAIC0zMDUsMTYgKzMwMiwxNSBAQCBM
SUJZVVZfQk9PTCBNSnBlZ0RlY29kZXI6OkRlY29kZVRvQnVmZmVycygKIAogICAvLyBSZWFkIGZ1
bGwgTUNVcyBidXQgY3JvcHBlZCBob3Jpem9udGFsbHkKICAgZm9yICg7IGxpbmVzX2xlZnQgPiBH
ZXRJbWFnZVNjYW5saW5lc1BlckltY3VSb3coKTsKLSAgICAgICAgIGxpbmVzX2xlZnQgLT0gR2V0
SW1hZ2VTY2FubGluZXNQZXJJbWN1Um93KCkpIHsKKyAgICAgICBsaW5lc19sZWZ0IC09IEdldElt
YWdlU2NhbmxpbmVzUGVySW1jdVJvdygpKSB7CiAgICAgaWYgKCFEZWNvZGVJbWN1Um93KCkpIHsK
ICAgICAgIEZpbmlzaERlY29kZSgpOwogICAgICAgcmV0dXJuIExJQllVVl9GQUxTRTsKICAgICB9
CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1fb3V0YnVmc187ICsraSkgewogICAgICAgaW50
IHNjYW5saW5lc190b19jb3B5ID0gR2V0Q29tcG9uZW50U2NhbmxpbmVzUGVySW1jdVJvdyhpKTsK
LSAgICAgIENvcHlQbGFuZShkYXRhYnVmX1tpXSwgR2V0Q29tcG9uZW50U3RyaWRlKGkpLAotICAg
ICAgICAgICAgICAgIHBsYW5lc1tpXSwgR2V0Q29tcG9uZW50V2lkdGgoaSksCi0gICAgICAgICAg
ICAgICAgR2V0Q29tcG9uZW50V2lkdGgoaSksIHNjYW5saW5lc190b19jb3B5KTsKKyAgICAgIENv
cHlQbGFuZShkYXRhYnVmX1tpXSwgR2V0Q29tcG9uZW50U3RyaWRlKGkpLCBwbGFuZXNbaV0sCisg
ICAgICAgICAgICAgICAgR2V0Q29tcG9uZW50V2lkdGgoaSksIEdldENvbXBvbmVudFdpZHRoKGkp
LCBzY2FubGluZXNfdG9fY29weSk7CiAgICAgICBwbGFuZXNbaV0gKz0gc2NhbmxpbmVzX3RvX2Nv
cHkgKiBHZXRDb21wb25lbnRXaWR0aChpKTsKICAgICB9CiAgIH0KQEAgLTMyOCwxOSArMzI0LDE5
IEBAIExJQllVVl9CT09MIE1KcGVnRGVjb2Rlcjo6RGVjb2RlVG9CdWZmZXJzKAogICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgbnVtX291dGJ1ZnNfOyArK2kpIHsKICAgICAgIGludCBzY2FubGluZXNf
dG9fY29weSA9CiAgICAgICAgICAgRGl2aWRlQW5kUm91bmRVcChsaW5lc19sZWZ0LCBHZXRWZXJ0
U3ViU2FtcEZhY3RvcihpKSk7Ci0gICAgICBDb3B5UGxhbmUoZGF0YWJ1Zl9baV0sIEdldENvbXBv
bmVudFN0cmlkZShpKSwKLSAgICAgICAgICAgICAgICBwbGFuZXNbaV0sIEdldENvbXBvbmVudFdp
ZHRoKGkpLAotICAgICAgICAgICAgICAgIEdldENvbXBvbmVudFdpZHRoKGkpLCBzY2FubGluZXNf
dG9fY29weSk7CisgICAgICBDb3B5UGxhbmUoZGF0YWJ1Zl9baV0sIEdldENvbXBvbmVudFN0cmlk
ZShpKSwgcGxhbmVzW2ldLAorICAgICAgICAgICAgICAgIEdldENvbXBvbmVudFdpZHRoKGkpLCBH
ZXRDb21wb25lbnRXaWR0aChpKSwgc2NhbmxpbmVzX3RvX2NvcHkpOwogICAgICAgcGxhbmVzW2ld
ICs9IHNjYW5saW5lc190b19jb3B5ICogR2V0Q29tcG9uZW50V2lkdGgoaSk7CiAgICAgfQogICB9
CiAgIHJldHVybiBGaW5pc2hEZWNvZGUoKTsKIH0KIAotTElCWVVWX0JPT0wgTUpwZWdEZWNvZGVy
OjpEZWNvZGVUb0NhbGxiYWNrKENhbGxiYWNrRnVuY3Rpb24gZm4sIHZvaWQqIG9wYXF1ZSwKLSAg
ICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCkgewotICBpZiAoZHN0X3dpZHRoICE9IEdl
dFdpZHRoKCkgfHwKLSAgICAgIGRzdF9oZWlnaHQgPiBHZXRIZWlnaHQoKSkgeworTElCWVVWX0JP
T0wgTUpwZWdEZWNvZGVyOjpEZWNvZGVUb0NhbGxiYWNrKENhbGxiYWNrRnVuY3Rpb24gZm4sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCogb3BhcXVlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9oZWln
aHQpIHsKKyAgaWYgKGRzdF93aWR0aCAhPSBHZXRXaWR0aCgpIHx8IGRzdF9oZWlnaHQgPiBHZXRI
ZWlnaHQoKSkgewogICAgIC8vIEVSUk9SOiBCYWQgZGltZW5zaW9ucwogICAgIHJldHVybiBMSUJZ
VVZfRkFMU0U7CiAgIH0KQEAgLTM5NSw3ICszOTEsNyBAQCBMSUJZVVZfQk9PTCBNSnBlZ0RlY29k
ZXI6OkRlY29kZVRvQ2FsbGJhY2soQ2FsbGJhY2tGdW5jdGlvbiBmbiwgdm9pZCogb3BhcXVlLAog
ICB9CiAgIC8vIFJlYWQgZnVsbCBNQ1VzIHVudGlsIHdlIGdldCB0byB0aGUgY3JvcCBwb2ludC4K
ICAgZm9yICg7IGxpbmVzX2xlZnQgPj0gR2V0SW1hZ2VTY2FubGluZXNQZXJJbWN1Um93KCk7Ci0g
ICAgICAgICBsaW5lc19sZWZ0IC09IEdldEltYWdlU2NhbmxpbmVzUGVySW1jdVJvdygpKSB7Cisg
ICAgICAgbGluZXNfbGVmdCAtPSBHZXRJbWFnZVNjYW5saW5lc1BlckltY3VSb3coKSkgewogICAg
IGlmICghRGVjb2RlSW1jdVJvdygpKSB7CiAgICAgICBGaW5pc2hEZWNvZGUoKTsKICAgICAgIHJl
dHVybiBMSUJZVVZfRkFMU0U7CkBAIC00MzUsMjIgKzQzMSwyMiBAQCB2b2lkIHNraXBfaW5wdXRf
ZGF0YShqX2RlY29tcHJlc3NfcHRyIGNpbmZvLCBsb25nIG51bV9ieXRlcykgeyAgLy8gTk9MSU5U
CiB9CiAKIHZvaWQgdGVybV9zb3VyY2Uoal9kZWNvbXByZXNzX3B0ciBjaW5mbykgewotICAvLyBO
b3RoaW5nIHRvIGRvLgorICAodm9pZCljaW5mbzsgIC8vIE5vdGhpbmcgdG8gZG8uCiB9CiAKICNp
ZmRlZiBIQVZFX1NFVEpNUAogdm9pZCBFcnJvckhhbmRsZXIoal9jb21tb25fcHRyIGNpbmZvKSB7
Ci0gIC8vIFRoaXMgaXMgY2FsbGVkIHdoZW4gYSBqcGVnbGliIGNvbW1hbmQgZXhwZXJpZW5jZXMg
YW4gZXJyb3IuIFVuZm9ydHVuYXRlbHkKLSAgLy8ganBlZ2xpYidzIGVycm9yIGhhbmRsaW5nIG1v
ZGVsIGlzIG5vdCB2ZXJ5IGZsZXhpYmxlLCBiZWNhdXNlIGl0IGV4cGVjdHMgdGhlCi0gIC8vIGVy
cm9yIGhhbmRsZXIgdG8gbm90IHJldHVybi0taS5lLiwgaXQgd2FudHMgdGhlIHByb2dyYW0gdG8g
dGVybWluYXRlLiBUbwotICAvLyByZWNvdmVyIGZyb20gZXJyb3JzIHdlIHVzZSBzZXRqbXAoKSBh
cyBzaG93biBpbiB0aGVpciBleGFtcGxlLiBzZXRqbXAoKSBpcwotICAvLyBDJ3MgaW1wbGVtZW50
YXRpb24gZm9yIHRoZSAiY2FsbCB3aXRoIGN1cnJlbnQgY29udGludWF0aW9uIiBmdW5jdGlvbmFs
aXR5Ci0gIC8vIHNlZW4gaW4gc29tZSBmdW5jdGlvbmFsIHByb2dyYW1taW5nIGxhbmd1YWdlcy4K
LSAgLy8gQSBmb3JtYXR0ZWQgbWVzc2FnZSBjYW4gYmUgb3V0cHV0LCBidXQgaXMgdW5zYWZlIGZv
ciByZWxlYXNlLgorLy8gVGhpcyBpcyBjYWxsZWQgd2hlbiBhIGpwZWdsaWIgY29tbWFuZCBleHBl
cmllbmNlcyBhbiBlcnJvci4gVW5mb3J0dW5hdGVseQorLy8ganBlZ2xpYidzIGVycm9yIGhhbmRs
aW5nIG1vZGVsIGlzIG5vdCB2ZXJ5IGZsZXhpYmxlLCBiZWNhdXNlIGl0IGV4cGVjdHMgdGhlCisv
LyBlcnJvciBoYW5kbGVyIHRvIG5vdCByZXR1cm4tLWkuZS4sIGl0IHdhbnRzIHRoZSBwcm9ncmFt
IHRvIHRlcm1pbmF0ZS4gVG8KKy8vIHJlY292ZXIgZnJvbSBlcnJvcnMgd2UgdXNlIHNldGptcCgp
IGFzIHNob3duIGluIHRoZWlyIGV4YW1wbGUuIHNldGptcCgpIGlzCisvLyBDJ3MgaW1wbGVtZW50
YXRpb24gZm9yIHRoZSAiY2FsbCB3aXRoIGN1cnJlbnQgY29udGludWF0aW9uIiBmdW5jdGlvbmFs
aXR5CisvLyBzZWVuIGluIHNvbWUgZnVuY3Rpb25hbCBwcm9ncmFtbWluZyBsYW5ndWFnZXMuCisv
LyBBIGZvcm1hdHRlZCBtZXNzYWdlIGNhbiBiZSBvdXRwdXQsIGJ1dCBpcyB1bnNhZmUgZm9yIHJl
bGVhc2UuCiAjaWZkZWYgREVCVUcKICAgY2hhciBidWZbSk1TR19MRU5HVEhfTUFYXTsKICAgKCpj
aW5mby0+ZXJyLT5mb3JtYXRfbWVzc2FnZSkoY2luZm8sIGJ1Zik7Ci0gIC8vIEVSUk9SOiBFcnJv
ciBpbiBqcGVnbGliOiBidWYKKy8vIEVSUk9SOiBFcnJvciBpbiBqcGVnbGliOiBidWYKICNlbmRp
ZgogCiAgIFNldEptcEVycm9yTWdyKiBtZ3IgPSByZWludGVycHJldF9jYXN0PFNldEptcEVycm9y
TWdyKj4oY2luZm8tPmVycik7CkBAIC00NTksOCArNDU1LDkgQEAgdm9pZCBFcnJvckhhbmRsZXIo
al9jb21tb25fcHRyIGNpbmZvKSB7CiAgIGxvbmdqbXAobWdyLT5zZXRqbXBfYnVmZmVyLCAxKTsK
IH0KIAorLy8gU3VwcHJlc3MgZnByaW50ZiB3YXJuaW5ncy4KIHZvaWQgT3V0cHV0SGFuZGxlcihq
X2NvbW1vbl9wdHIgY2luZm8pIHsKLSAgLy8gU3VwcHJlc3MgZnByaW50ZiB3YXJuaW5ncy4KKyAg
KHZvaWQpY2luZm87CiB9CiAKICNlbmRpZiAgLy8gSEFWRV9TRVRKTVAKQEAgLTQ3Miw5ICs0Njks
OSBAQCB2b2lkIE1KcGVnRGVjb2Rlcjo6QWxsb2NPdXRwdXRCdWZmZXJzKGludCBudW1fb3V0YnVm
cykgewogICAgIC8vIGl0LgogICAgIERlc3Ryb3lPdXRwdXRCdWZmZXJzKCk7CiAKLSAgICBzY2Fu
bGluZXNfID0gbmV3IHVpbnQ4KiogW251bV9vdXRidWZzXTsKKyAgICBzY2FubGluZXNfID0gbmV3
IHVpbnQ4KipbbnVtX291dGJ1ZnNdOwogICAgIHNjYW5saW5lc19zaXplc18gPSBuZXcgaW50W251
bV9vdXRidWZzXTsKLSAgICBkYXRhYnVmXyA9IG5ldyB1aW50OCogW251bV9vdXRidWZzXTsKKyAg
ICBkYXRhYnVmXyA9IG5ldyB1aW50OCpbbnVtX291dGJ1ZnNdOwogICAgIGRhdGFidWZfc3RyaWRl
c18gPSBuZXcgaW50W251bV9vdXRidWZzXTsKIAogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVt
X291dGJ1ZnM7ICsraSkgewpAQCAtNDkwLDEzICs0ODcsMTMgQEAgdm9pZCBNSnBlZ0RlY29kZXI6
OkFsbG9jT3V0cHV0QnVmZmVycyhpbnQgbnVtX291dGJ1ZnMpIHsKIAogdm9pZCBNSnBlZ0RlY29k
ZXI6OkRlc3Ryb3lPdXRwdXRCdWZmZXJzKCkgewogICBmb3IgKGludCBpID0gMDsgaSA8IG51bV9v
dXRidWZzXzsgKytpKSB7Ci0gICAgZGVsZXRlIFtdIHNjYW5saW5lc19baV07Ci0gICAgZGVsZXRl
IFtdIGRhdGFidWZfW2ldOworICAgIGRlbGV0ZVtdIHNjYW5saW5lc19baV07CisgICAgZGVsZXRl
W10gZGF0YWJ1Zl9baV07CiAgIH0KLSAgZGVsZXRlIFtdIHNjYW5saW5lc187Ci0gIGRlbGV0ZSBb
XSBkYXRhYnVmXzsKLSAgZGVsZXRlIFtdIHNjYW5saW5lc19zaXplc187Ci0gIGRlbGV0ZSBbXSBk
YXRhYnVmX3N0cmlkZXNfOworICBkZWxldGVbXSBzY2FubGluZXNfOworICBkZWxldGVbXSBkYXRh
YnVmXzsKKyAgZGVsZXRlW10gc2NhbmxpbmVzX3NpemVzXzsKKyAgZGVsZXRlW10gZGF0YWJ1Zl9z
dHJpZGVzXzsKICAgc2NhbmxpbmVzXyA9IE5VTEw7CiAgIGRhdGFidWZfID0gTlVMTDsKICAgc2Nh
bmxpbmVzX3NpemVzXyA9IE5VTEw7CkBAIC01NDIsMjYgKzUzOSwyNiBAQCB2b2lkIE1KcGVnRGVj
b2Rlcjo6U2V0U2NhbmxpbmVQb2ludGVycyh1aW50OCoqIGRhdGEpIHsKIAogaW5saW5lIExJQllV
Vl9CT09MIE1KcGVnRGVjb2Rlcjo6RGVjb2RlSW1jdVJvdygpIHsKICAgcmV0dXJuICh1bnNpZ25l
ZCBpbnQpKEdldEltYWdlU2NhbmxpbmVzUGVySW1jdVJvdygpKSA9PQotICAgICAganBlZ19yZWFk
X3Jhd19kYXRhKGRlY29tcHJlc3Nfc3RydWN0XywKLSAgICAgICAgICAgICAgICAgICAgICAgICBz
Y2FubGluZXNfLAotICAgICAgICAgICAgICAgICAgICAgICAgIEdldEltYWdlU2NhbmxpbmVzUGVy
SW1jdVJvdygpKTsKKyAgICAgICAgIGpwZWdfcmVhZF9yYXdfZGF0YShkZWNvbXByZXNzX3N0cnVj
dF8sIHNjYW5saW5lc18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0SW1hZ2VTY2Fu
bGluZXNQZXJJbWN1Um93KCkpOwogfQogCiAvLyBUaGUgaGVscGVyIGZ1bmN0aW9uIHdoaWNoIHJl
Y29nbml6ZXMgdGhlIGpwZWcgc3ViLXNhbXBsaW5nIHR5cGUuCiBKcGVnU3Vic2FtcGxpbmdUeXBl
IE1KcGVnRGVjb2Rlcjo6SnBlZ1N1YnNhbXBsaW5nVHlwZUhlbHBlcigKLSAgICBpbnQqIHN1YnNh
bXBsZV94LCBpbnQqIHN1YnNhbXBsZV95LCBpbnQgbnVtYmVyX29mX2NvbXBvbmVudHMpIHsKKyAg
ICBpbnQqIHN1YnNhbXBsZV94LAorICAgIGludCogc3Vic2FtcGxlX3ksCisgICAgaW50IG51bWJl
cl9vZl9jb21wb25lbnRzKSB7CiAgIGlmIChudW1iZXJfb2ZfY29tcG9uZW50cyA9PSAzKSB7ICAv
LyBDb2xvciBpbWFnZXMuCi0gICAgaWYgKHN1YnNhbXBsZV94WzBdID09IDEgJiYgc3Vic2FtcGxl
X3lbMF0gPT0gMSAmJgotICAgICAgICBzdWJzYW1wbGVfeFsxXSA9PSAyICYmIHN1YnNhbXBsZV95
WzFdID09IDIgJiYKLSAgICAgICAgc3Vic2FtcGxlX3hbMl0gPT0gMiAmJiBzdWJzYW1wbGVfeVsy
XSA9PSAyKSB7CisgICAgaWYgKHN1YnNhbXBsZV94WzBdID09IDEgJiYgc3Vic2FtcGxlX3lbMF0g
PT0gMSAmJiBzdWJzYW1wbGVfeFsxXSA9PSAyICYmCisgICAgICAgIHN1YnNhbXBsZV95WzFdID09
IDIgJiYgc3Vic2FtcGxlX3hbMl0gPT0gMiAmJiBzdWJzYW1wbGVfeVsyXSA9PSAyKSB7CiAgICAg
ICByZXR1cm4ga0pwZWdZdXY0MjA7CiAgICAgfSBlbHNlIGlmIChzdWJzYW1wbGVfeFswXSA9PSAx
ICYmIHN1YnNhbXBsZV95WzBdID09IDEgJiYKLSAgICAgICAgc3Vic2FtcGxlX3hbMV0gPT0gMiAm
JiBzdWJzYW1wbGVfeVsxXSA9PSAxICYmCi0gICAgICAgIHN1YnNhbXBsZV94WzJdID09IDIgJiYg
c3Vic2FtcGxlX3lbMl0gPT0gMSkgeworICAgICAgICAgICAgICAgc3Vic2FtcGxlX3hbMV0gPT0g
MiAmJiBzdWJzYW1wbGVfeVsxXSA9PSAxICYmCisgICAgICAgICAgICAgICBzdWJzYW1wbGVfeFsy
XSA9PSAyICYmIHN1YnNhbXBsZV95WzJdID09IDEpIHsKICAgICAgIHJldHVybiBrSnBlZ1l1djQy
MjsKICAgICB9IGVsc2UgaWYgKHN1YnNhbXBsZV94WzBdID09IDEgJiYgc3Vic2FtcGxlX3lbMF0g
PT0gMSAmJgotICAgICAgICBzdWJzYW1wbGVfeFsxXSA9PSAxICYmIHN1YnNhbXBsZV95WzFdID09
IDEgJiYKLSAgICAgICAgc3Vic2FtcGxlX3hbMl0gPT0gMSAmJiBzdWJzYW1wbGVfeVsyXSA9PSAx
KSB7CisgICAgICAgICAgICAgICBzdWJzYW1wbGVfeFsxXSA9PSAxICYmIHN1YnNhbXBsZV95WzFd
ID09IDEgJiYKKyAgICAgICAgICAgICAgIHN1YnNhbXBsZV94WzJdID09IDEgJiYgc3Vic2FtcGxl
X3lbMl0gPT0gMSkgewogICAgICAgcmV0dXJuIGtKcGVnWXV2NDQ0OwogICAgIH0KICAgfSBlbHNl
IGlmIChudW1iZXJfb2ZfY29tcG9uZW50cyA9PSAxKSB7ICAvLyBHcmV5LXNjYWxlIGltYWdlcy4K
QEAgLTU3NCw0ICs1NzEsMyBAQCBKcGVnU3Vic2FtcGxpbmdUeXBlIE1KcGVnRGVjb2Rlcjo6SnBl
Z1N1YnNhbXBsaW5nVHlwZUhlbHBlcigKIAogfSAgLy8gbmFtZXNwYWNlIGxpYnl1dgogI2VuZGlm
ICAvLyBIQVZFX0pQRUcKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL21qcGVnX3ZhbGlkYXRlLmNjIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNl
L21qcGVnX3ZhbGlkYXRlLmNjCmluZGV4IDljNDg4MzIwNDUxN2JjZmQ4YTVkMzIyMzU2YzBlOGEx
NDM4YTNhYmEuLjFhMTdkZDcyMTZiNTI4ZjY5ZDk0YzEzNjIxOTE5MGJjNzNlYTY2NTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3NvdXJjZS9tanBlZ192YWxpZGF0ZS5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2UvbWpwZWdfdmFsaWRhdGUuY2MK
QEAgLTI0LDcgKzI0LDcgQEAgc3RhdGljIExJQllVVl9CT09MIFNjYW5FT0koY29uc3QgdWludDgq
IHNhbXBsZSwgc2l6ZV90IHNhbXBsZV9zaXplKSB7CiAgICAgY29uc3QgdWludDgqIGl0ID0gc2Ft
cGxlOwogICAgIHdoaWxlIChpdCA8IGVuZCkgewogICAgICAgLy8gVE9ETyhmYmFyY2hhcmQpOiBz
Y2FuIGZvciAweGQ5IGluc3RlYWQuCi0gICAgICBpdCA9IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4
ICo+KG1lbWNocihpdCwgMHhmZiwgZW5kIC0gaXQpKTsKKyAgICAgIGl0ID0gc3RhdGljX2Nhc3Q8
Y29uc3QgdWludDgqPihtZW1jaHIoaXQsIDB4ZmYsIGVuZCAtIGl0KSk7CiAgICAgICBpZiAoaXQg
PT0gTlVMTCkgewogICAgICAgICBicmVhazsKICAgICAgIH0KQEAgLTY4LDQgKzY4LDMgQEAgTElC
WVVWX0JPT0wgVmFsaWRhdGVKcGVnKGNvbnN0IHVpbnQ4KiBzYW1wbGUsIHNpemVfdCBzYW1wbGVf
c2l6ZSkgewogfSAgLy8gZXh0ZXJuICJDIgogfSAgLy8gbmFtZXNwYWNlIGxpYnl1dgogI2VuZGlm
Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L3NvdXJjZS9wbGFuYXJfZnVuY3Rpb25zLmNjIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3BsYW5hcl9mdW5j
dGlvbnMuY2MKaW5kZXggMTQzYWU4NjlkZGUyY2JkZjQ0YWRlOTQ0MmFjY2IwOWExNGI4M2FlOS4u
YjhhNTNlODU2YTEwZjZiNDBlNjBkNTI0MWYyMDBkZTQ0NjAwYjY5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNl
L3BsYW5hcl9mdW5jdGlvbnMuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3BsYW5hcl9mdW5jdGlvbnMuY2MKQEAgLTI2
LDkgKzI2LDEyIEBAIGV4dGVybiAiQyIgewogCiAvLyBDb3B5IGEgcGxhbmUgb2YgZGF0YQogTElC
WVVWX0FQSQotdm9pZCBDb3B5UGxhbmUoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlk
ZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAg
ICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Cit2b2lkIENvcHlQbGFuZShjb25z
dCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAg
ICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwK
KyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsK
ICAgaW50IHk7CiAgIHZvaWQgKCpDb3B5Um93KShjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0
LCBpbnQgd2lkdGgpID0gQ29weVJvd19DOwogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52
ZXJ0IHRoZSBpbWFnZS4KQEAgLTM4LDggKzQxLDcgQEAgdm9pZCBDb3B5UGxhbmUoY29uc3QgdWlu
dDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogICAgIGRzdF9zdHJpZGVfeSA9IC1kc3Rfc3Ry
aWRlX3k7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVfeSA9PSB3
aWR0aCAmJgotICAgICAgZHN0X3N0cmlkZV95ID09IHdpZHRoKSB7CisgIGlmIChzcmNfc3RyaWRl
X3kgPT0gd2lkdGggJiYgZHN0X3N0cmlkZV95ID09IHdpZHRoKSB7CiAgICAgd2lkdGggKj0gaGVp
Z2h0OwogICAgIGhlaWdodCA9IDE7CiAgICAgc3JjX3N0cmlkZV95ID0gZHN0X3N0cmlkZV95ID0g
MDsKQEAgLTg1LDE0ICs4NywxNiBAQCB2b2lkIENvcHlQbGFuZShjb25zdCB1aW50OCogc3JjX3ks
IGludCBzcmNfc3RyaWRlX3ksCiAvLyBUT0RPKGZiYXJjaGFyZCk6IENvbnNpZGVyIHN1cHBvcnQg
Zm9yIG5lZ2F0aXZlIGhlaWdodC4KIC8vIFRPRE8oZmJhcmNoYXJkKTogQ29uc2lkZXIgc3RyaWRl
IG1lYXN1cmVkIGluIGJ5dGVzLgogTElCWVVWX0FQSQotdm9pZCBDb3B5UGxhbmVfMTYoY29uc3Qg
dWludDE2KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgIHVpbnQx
NiogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICBpbnQgd2lkdGgs
IGludCBoZWlnaHQpIHsKK3ZvaWQgQ29weVBsYW5lXzE2KGNvbnN0IHVpbnQxNiogc3JjX3ksCisg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgdWlu
dDE2KiBkc3RfeSwKKyAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAg
IGludCB5OwogICB2b2lkICgqQ29weVJvdykoY29uc3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0
LCBpbnQgd2lkdGgpID0gQ29weVJvd18xNl9DOwogICAvLyBDb2FsZXNjZSByb3dzLgotICBpZiAo
c3JjX3N0cmlkZV95ID09IHdpZHRoICYmCi0gICAgICBkc3Rfc3RyaWRlX3kgPT0gd2lkdGgpIHsK
KyAgaWYgKHNyY19zdHJpZGVfeSA9PSB3aWR0aCAmJiBkc3Rfc3RyaWRlX3kgPT0gd2lkdGgpIHsK
ICAgICB3aWR0aCAqPSBoZWlnaHQ7CiAgICAgaGVpZ2h0ID0gMTsKICAgICBzcmNfc3RyaWRlX3kg
PSBkc3Rfc3RyaWRlX3kgPSAwOwpAQCAtMTI4LDE3ICsxMzIsMjIgQEAgdm9pZCBDb3B5UGxhbmVf
MTYoY29uc3QgdWludDE2KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKIAogLy8gQ29weSBJNDIy
LgogTElCWVVWX0FQSQotaW50IEk0MjJDb3B5KGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19z
dHJpZGVfeSwKLSAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRl
X3UsCi0gICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAot
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgdWludDgqIGRz
dF92LCBpbnQgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdo
dCkgeworaW50IEk0MjJDb3B5KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZV95LAorICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwK
KyAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
eSwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdSwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdiwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgIGlu
dCB3aWR0aCwKKyAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCBoYWxmd2lkdGggPSAo
d2lkdGggKyAxKSA+PiAxOwotICBpZiAoIXNyY191IHx8ICFzcmNfdiB8fAotICAgICAgIWRzdF91
IHx8ICFkc3RfdiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAo
IXNyY191IHx8ICFzcmNfdiB8fCAhZHN0X3UgfHwgIWRzdF92IHx8IHdpZHRoIDw9IDAgfHwgaGVp
Z2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1l
YW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC0xNjIsMTYgKzE3MSwyMSBAQCBpbnQgSTQyMkNvcHko
Y29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogCiAvLyBDb3B5IEk0NDQuCiBM
SUJZVVZfQVBJCi1pbnQgSTQ0NENvcHkoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlk
ZV95LAotICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwK
LSAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAg
ICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICB1aW50OCogZHN0X3Ys
IGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7
Ci0gIGlmICghc3JjX3UgfHwgIXNyY192IHx8Ci0gICAgICAhZHN0X3UgfHwgIWRzdF92IHx8Ci0g
ICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CitpbnQgSTQ0NENvcHkoY29uc3QgdWlu
dDgqIHNyY195LAorICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3YsCisgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgIGludCBkc3Rfc3Ry
aWRlX3ksCisgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX3UsCisgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgIGludCBo
ZWlnaHQpIHsKKyAgaWYgKCFzcmNfdSB8fCAhc3JjX3YgfHwgIWRzdF91IHx8ICFkc3RfdiB8fCB3
aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5l
Z2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMTk1LDkgKzIwOSwxMiBA
QCBpbnQgSTQ0NENvcHkoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogCiAv
LyBDb3B5IEk0MDAuCiBMSUJZVVZfQVBJCi1pbnQgSTQwMFRvSTQwMChjb25zdCB1aW50OCogc3Jj
X3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBk
c3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2lu
dCBJNDAwVG9JNDAwKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAg
ICAgaW50IGhlaWdodCkgewogICBpZiAoIXNyY195IHx8ICFkc3RfeSB8fCB3aWR0aCA8PSAwIHx8
IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CkBAIC0yMTMsMTEgKzIzMCwyMCBA
QCBpbnQgSTQwMFRvSTQwMChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAK
IC8vIENvbnZlcnQgSTQyMCB0byBJNDAwLgogTElCWVVWX0FQSQotaW50IEk0MjBUb0k0MDAoY29u
c3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF95
LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
KSB7CitpbnQgSTQyMFRvSTQwMChjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAg
ICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgeworICAodm9p
ZClzcmNfdTsKKyAgKHZvaWQpc3JjX3N0cmlkZV91OworICAodm9pZClzcmNfdjsKKyAgKHZvaWQp
c3JjX3N0cmlkZV92OwogICBpZiAoIXNyY195IHx8ICFkc3RfeSB8fCB3aWR0aCA8PSAwIHx8IGhl
aWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CkBAIC0yMzUsMTAgKzI2MSwxNCBAQCBp
bnQgSTQyMFRvSTQwMChjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAvLyBT
dXBwb3J0IGZ1bmN0aW9uIGZvciBOVjEyIGV0YyBVViBjaGFubmVscy4KIC8vIFdpZHRoIGFuZCBo
ZWlnaHQgYXJlIHBsYW5lIHNpemVzICh0eXBpY2FsbHkgaGFsZiBwaXhlbCB3aWR0aCkuCiBMSUJZ
VVZfQVBJCi12b2lkIFNwbGl0VVZQbGFuZShjb25zdCB1aW50OCogc3JjX3V2LCBpbnQgc3JjX3N0
cmlkZV91diwKLSAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9zdHJpZGVf
dSwKLSAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwKLSAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewordm9pZCBTcGxpdFVWUGxh
bmUoY29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3V2LAorICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAg
aW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgsCisgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lkICgq
U3BsaXRVVlJvdykoY29uc3QgdWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0
X3YsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpID0gU3BsaXRVVlJvd19DOwpAQCAt
MjUxLDggKzI4MSw3IEBAIHZvaWQgU3BsaXRVVlBsYW5lKGNvbnN0IHVpbnQ4KiBzcmNfdXYsIGlu
dCBzcmNfc3RyaWRlX3V2LAogICAgIGRzdF9zdHJpZGVfdiA9IC1kc3Rfc3RyaWRlX3Y7CiAgIH0K
ICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVfdXYgPT0gd2lkdGggKiAyICYm
Ci0gICAgICBkc3Rfc3RyaWRlX3UgPT0gd2lkdGggJiYKKyAgaWYgKHNyY19zdHJpZGVfdXYgPT0g
d2lkdGggKiAyICYmIGRzdF9zdHJpZGVfdSA9PSB3aWR0aCAmJgogICAgICAgZHN0X3N0cmlkZV92
ID09IHdpZHRoKSB7CiAgICAgd2lkdGggKj0gaGVpZ2h0OwogICAgIGhlaWdodCA9IDE7CkBAIC0y
ODMsOSArMzEyLDkgQEAgdm9pZCBTcGxpdFVWUGxhbmUoY29uc3QgdWludDgqIHNyY191diwgaW50
IHNyY19zdHJpZGVfdXYsCiAgIH0KICNlbmRpZgogI2lmIGRlZmluZWQoSEFTX1NQTElUVVZST1df
RFNQUjIpCi0gIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpICYmCi0gICAgICBJU19BTElH
TkVEKGRzdF91LCA0KSAmJiBJU19BTElHTkVEKGRzdF9zdHJpZGVfdSwgNCkgJiYKLSAgICAgIElT
X0FMSUdORUQoZHN0X3YsIDQpICYmIElTX0FMSUdORUQoZHN0X3N0cmlkZV92LCA0KSkgeworICBp
ZiAoVGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKSAmJiBJU19BTElHTkVEKGRzdF91LCA0KSAmJgor
ICAgICAgSVNfQUxJR05FRChkc3Rfc3RyaWRlX3UsIDQpICYmIElTX0FMSUdORUQoZHN0X3YsIDQp
ICYmCisgICAgICBJU19BTElHTkVEKGRzdF9zdHJpZGVfdiwgNCkpIHsKICAgICBTcGxpdFVWUm93
ID0gU3BsaXRVVlJvd19BbnlfRFNQUjI7CiAgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkg
ewogICAgICAgU3BsaXRVVlJvdyA9IFNwbGl0VVZSb3dfRFNQUjI7CkBAIC0zMDMsMTMgKzMzMiwx
NyBAQCB2b2lkIFNwbGl0VVZQbGFuZShjb25zdCB1aW50OCogc3JjX3V2LCBpbnQgc3JjX3N0cmlk
ZV91diwKIH0KIAogTElCWVVWX0FQSQotdm9pZCBNZXJnZVVWUGxhbmUoY29uc3QgdWludDgqIHNy
Y191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91diwg
aW50IGRzdF9zdHJpZGVfdXYsCi0gICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWln
aHQpIHsKK3ZvaWQgTWVyZ2VVVlBsYW5lKGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3YsCisgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91diwKKyAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3V2
LAorICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgaW50IGhl
aWdodCkgewogICBpbnQgeTsKICAgdm9pZCAoKk1lcmdlVVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNf
dSwgY29uc3QgdWludDgqIHNyY192LCB1aW50OCogZHN0X3V2LAotICAgICAgaW50IHdpZHRoKSA9
IE1lcmdlVVZSb3dfQzsKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBNZXJnZVVW
Um93X0M7CiAgIC8vIENvYWxlc2NlIHJvd3MuCiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBp
bnZlcnQgdGhlIGltYWdlLgogICBpZiAoaGVpZ2h0IDwgMCkgewpAQCAtMzE4LDggKzM1MSw3IEBA
IHZvaWQgTWVyZ2VVVlBsYW5lKGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwK
ICAgICBkc3Rfc3RyaWRlX3V2ID0gLWRzdF9zdHJpZGVfdXY7CiAgIH0KICAgLy8gQ29hbGVzY2Ug
cm93cy4KLSAgaWYgKHNyY19zdHJpZGVfdSA9PSB3aWR0aCAmJgotICAgICAgc3JjX3N0cmlkZV92
ID09IHdpZHRoICYmCisgIGlmIChzcmNfc3RyaWRlX3UgPT0gd2lkdGggJiYgc3JjX3N0cmlkZV92
ID09IHdpZHRoICYmCiAgICAgICBkc3Rfc3RyaWRlX3V2ID09IHdpZHRoICogMikgewogICAgIHdp
ZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwpAQCAtMzQ5LDYgKzM4MSwxNCBAQCB2b2lk
IE1lcmdlVVZQbGFuZShjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCiAgICAg
fQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19NRVJHRVVWUk9XX01TQSkKKyAgaWYgKFRl
c3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgTWVyZ2VVVlJvdyA9IE1lcmdlVVZSb3dfQW55
X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBNZXJnZVVWUm93
ID0gTWVyZ2VVVlJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKIAogICBmb3IgKHkgPSAwOyB5
IDwgaGVpZ2h0OyArK3kpIHsKICAgICAvLyBNZXJnZSBhIHJvdyBvZiBVIGFuZCBWIGludG8gYSBy
b3cgb2YgVVYuCkBAIC0zNjAsOSArNDAwLDEyIEBAIHZvaWQgTWVyZ2VVVlBsYW5lKGNvbnN0IHVp
bnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKIH0KIAogLy8gTWlycm9yIGEgcGxhbmUgb2Yg
ZGF0YS4KLXZvaWQgTWlycm9yUGxhbmUoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlk
ZV95LAotICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewordm9pZCBNaXJyb3JQbGFu
ZShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ks
CisgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgICAgaW50IGRz
dF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAg
ICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lkICgqTWlycm9yUm93KShjb25zdCB1aW50
OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpID0gTWlycm9yUm93X0M7CiAgIC8vIE5lZ2F0
aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMzk3LDkgKzQ0MCw5IEBAIHZv
aWQgTWlycm9yUGxhbmUoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogI2Vu
ZGlmCiAvLyBUT0RPKGZiYXJjaGFyZCk6IE1pcnJvciBvbiBtaXBzIGhhbmRsZSB1bmFsaWduZWQg
bWVtb3J5LgogI2lmIGRlZmluZWQoSEFTX01JUlJPUlJPV19EU1BSMikKLSAgaWYgKFRlc3RDcHVG
bGFnKGtDcHVIYXNEU1BSMikgJiYKLSAgICAgIElTX0FMSUdORUQoc3JjX3ksIDQpICYmIElTX0FM
SUdORUQoc3JjX3N0cmlkZV95LCA0KSAmJgotICAgICAgSVNfQUxJR05FRChkc3RfeSwgNCkgJiYg
SVNfQUxJR05FRChkc3Rfc3RyaWRlX3ksIDQpKSB7CisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFz
RFNQUjIpICYmIElTX0FMSUdORUQoc3JjX3ksIDQpICYmCisgICAgICBJU19BTElHTkVEKHNyY19z
dHJpZGVfeSwgNCkgJiYgSVNfQUxJR05FRChkc3RfeSwgNCkgJiYKKyAgICAgIElTX0FMSUdORUQo
ZHN0X3N0cmlkZV95LCA0KSkgewogICAgIE1pcnJvclJvdyA9IE1pcnJvclJvd19EU1BSMjsKICAg
fQogI2VuZGlmCkBAIC00MDksNyArNDUyLDcgQEAgdm9pZCBNaXJyb3JQbGFuZShjb25zdCB1aW50
OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDY0
KSkgewogICAgICAgTWlycm9yUm93ID0gTWlycm9yUm93X01TQTsKICAgICB9Ci19CisgIH0KICNl
bmRpZgogCiAgIC8vIE1pcnJvciBwbGFuZQpAQCAtNDIyLDE5ICs0NjUsMjIgQEAgdm9pZCBNaXJy
b3JQbGFuZShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAKIC8vIENvbnZl
cnQgWVVZMiB0byBJNDIyLgogTElCWVVWX0FQSQotaW50IFlVWTJUb0k0MjIoY29uc3QgdWludDgq
IHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95dXkyLAotICAgICAgICAgICAgICAgdWludDgqIGRz
dF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCBpbnQg
ZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0cmlk
ZV92LAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgWVVZMlRv
STQyMihjb25zdCB1aW50OCogc3JjX3l1eTIsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV95dXkyLAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgaW50
IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAor
ICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKLSAgdm9pZCAoKllVWTJUb1VW
NDIyUm93KShjb25zdCB1aW50OCogc3JjX3l1eTIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgPQotICAgICAgWVVZMlRvVVY0
MjJSb3dfQzsKKyAgdm9pZCAoKllVWTJUb1VWNDIyUm93KShjb25zdCB1aW50OCogc3JjX3l1eTIs
IHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgPSBZVVkyVG9VVjQyMlJvd19DOwogICB2b2lkICgqWVVZMlRvWVJvdykoY29uc3Qg
dWludDgqIHNyY195dXkyLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgPQogICAgICAgWVVZMlRv
WVJvd19DOwotICBpZiAoIXNyY195dXkyIHx8ICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRzdF92IHx8
Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3JjX3l1eTIgfHwg
IWRzdF95IHx8ICFkc3RfdSB8fCAhZHN0X3YgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkg
ewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0
IHRoZSBpbWFnZS4KQEAgLTQ0NCwxMCArNDkwLDggQEAgaW50IFlVWTJUb0k0MjIoY29uc3QgdWlu
dDgqIHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95dXkyLAogICAgIHNyY19zdHJpZGVfeXV5MiA9
IC1zcmNfc3RyaWRlX3l1eTI7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19z
dHJpZGVfeXV5MiA9PSB3aWR0aCAqIDIgJiYKLSAgICAgIGRzdF9zdHJpZGVfeSA9PSB3aWR0aCAm
JgotICAgICAgZHN0X3N0cmlkZV91ICogMiA9PSB3aWR0aCAmJgotICAgICAgZHN0X3N0cmlkZV92
ICogMiA9PSB3aWR0aCAmJgorICBpZiAoc3JjX3N0cmlkZV95dXkyID09IHdpZHRoICogMiAmJiBk
c3Rfc3RyaWRlX3kgPT0gd2lkdGggJiYKKyAgICAgIGRzdF9zdHJpZGVfdSAqIDIgPT0gd2lkdGgg
JiYgZHN0X3N0cmlkZV92ICogMiA9PSB3aWR0aCAmJgogICAgICAgd2lkdGggKiBoZWlnaHQgPD0g
MzI3NjgpIHsKICAgICB3aWR0aCAqPSBoZWlnaHQ7CiAgICAgaGVpZ2h0ID0gMTsKQEAgLTUwNywx
OSArNTUxLDIyIEBAIGludCBZVVkyVG9JNDIyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHNy
Y19zdHJpZGVfeXV5MiwKIAogLy8gQ29udmVydCBVWVZZIHRvIEk0MjIuCiBMSUJZVVZfQVBJCi1p
bnQgVVlWWVRvSTQyMihjb25zdCB1aW50OCogc3JjX3V5dnksIGludCBzcmNfc3RyaWRlX3V5dnks
Ci0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsIGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICBpbnQgd2lkdGgs
IGludCBoZWlnaHQpIHsKK2ludCBVWVZZVG9JNDIyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3V5dnksCisgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAg
IGludCB5OwotICB2b2lkICgqVVlWWVRvVVY0MjJSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50
IHdpZHRoKSA9Ci0gICAgICBVWVZZVG9VVjQyMlJvd19DOwotICB2b2lkICgqVVlWWVRvWVJvdyko
Y29uc3QgdWludDgqIHNyY191eXZ5LAotICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95
LCBpbnQgd2lkdGgpID0gVVlWWVRvWVJvd19DOwotICBpZiAoIXNyY191eXZ5IHx8ICFkc3RfeSB8
fCAhZHN0X3UgfHwgIWRzdF92IHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7
CisgIHZvaWQgKCpVWVZZVG9VVjQyMlJvdykoY29uc3QgdWludDgqIHNyY191eXZ5LCB1aW50OCog
ZHN0X3UsIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
ID0gVVlWWVRvVVY0MjJSb3dfQzsKKyAgdm9pZCAoKlVZVllUb1lSb3cpKGNvbnN0IHVpbnQ4KiBz
cmNfdXl2eSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpID0KKyAgICAgIFVZVllUb1lSb3dfQzsK
KyAgaWYgKCFzcmNfdXl2eSB8fCAhZHN0X3kgfHwgIWRzdF91IHx8ICFkc3RfdiB8fCB3aWR0aCA8
PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAgIC8vIE5lZ2F0aXZl
IGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtNTI5LDEwICs1NzYsOCBAQCBpbnQg
VVlWWVRvSTQyMihjb25zdCB1aW50OCogc3JjX3V5dnksIGludCBzcmNfc3RyaWRlX3V5dnksCiAg
ICAgc3JjX3N0cmlkZV91eXZ5ID0gLXNyY19zdHJpZGVfdXl2eTsKICAgfQogICAvLyBDb2FsZXNj
ZSByb3dzLgotICBpZiAoc3JjX3N0cmlkZV91eXZ5ID09IHdpZHRoICogMiAmJgotICAgICAgZHN0
X3N0cmlkZV95ID09IHdpZHRoICYmCi0gICAgICBkc3Rfc3RyaWRlX3UgKiAyID09IHdpZHRoICYm
Ci0gICAgICBkc3Rfc3RyaWRlX3YgKiAyID09IHdpZHRoICYmCisgIGlmIChzcmNfc3RyaWRlX3V5
dnkgPT0gd2lkdGggKiAyICYmIGRzdF9zdHJpZGVfeSA9PSB3aWR0aCAmJgorICAgICAgZHN0X3N0
cmlkZV91ICogMiA9PSB3aWR0aCAmJiBkc3Rfc3RyaWRlX3YgKiAyID09IHdpZHRoICYmCiAgICAg
ICB3aWR0aCAqIGhlaWdodCA8PSAzMjc2OCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBo
ZWlnaHQgPSAxOwpAQCAtNTkyLDkgKzYzNywxMiBAQCBpbnQgVVlWWVRvSTQyMihjb25zdCB1aW50
OCogc3JjX3V5dnksIGludCBzcmNfc3RyaWRlX3V5dnksCiAKIC8vIENvbnZlcnQgWVVZMiB0byBZ
LgogTElCWVVWX0FQSQotaW50IFlVWTJUb1koY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3Jj
X3N0cmlkZV95dXkyLAotICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVf
eSwKLSAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBZVVkyVG9ZKGNv
bnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3l1eTIsCisg
ICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAor
ICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQg
eTsKICAgdm9pZCAoKllVWTJUb1lSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgdWludDgqIGRz
dF95LCBpbnQgd2lkdGgpID0KICAgICAgIFlVWTJUb1lSb3dfQzsKQEAgLTYwOCw4ICs2NTYsNyBA
QCBpbnQgWVVZMlRvWShjb25zdCB1aW50OCogc3JjX3l1eTIsIGludCBzcmNfc3RyaWRlX3l1eTIs
CiAgICAgc3JjX3N0cmlkZV95dXkyID0gLXNyY19zdHJpZGVfeXV5MjsKICAgfQogICAvLyBDb2Fs
ZXNjZSByb3dzLgotICBpZiAoc3JjX3N0cmlkZV95dXkyID09IHdpZHRoICogMiAmJgotICAgICAg
ZHN0X3N0cmlkZV95ID09IHdpZHRoKSB7CisgIGlmIChzcmNfc3RyaWRlX3l1eTIgPT0gd2lkdGgg
KiAyICYmIGRzdF9zdHJpZGVfeSA9PSB3aWR0aCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAg
ICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfeXV5MiA9IGRzdF9zdHJpZGVfeSA9IDA7CkBA
IC02NTcsMTEgKzcwNCwxMyBAQCBpbnQgWVVZMlRvWShjb25zdCB1aW50OCogc3JjX3l1eTIsIGlu
dCBzcmNfc3RyaWRlX3l1eTIsCiAKIC8vIE1pcnJvciBJNDAwIHdpdGggb3B0aW9uYWwgZmxpcHBp
bmcKIExJQllVVl9BUEkKLWludCBJNDAwTWlycm9yKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNy
Y19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVf
eSwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICBpZiAoIXNyY195
IHx8ICFkc3RfeSB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworaW50IEk0
MDBNaXJyb3IoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBp
bnQgaGVpZ2h0KSB7CisgIGlmICghc3JjX3kgfHwgIWRzdF95IHx8IHdpZHRoIDw9IDAgfHwgaGVp
Z2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1l
YW5zIGludmVydCB0aGUgaW1hZ2UuCkBAIC02NzcsMTcgKzcyNiwyNCBAQCBpbnQgSTQwME1pcnJv
cihjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAKIC8vIE1pcnJvciBJNDIw
IHdpdGggb3B0aW9uYWwgZmxpcHBpbmcKIExJQllVVl9BUEkKLWludCBJNDIwTWlycm9yKGNvbnN0
IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwg
aW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRzdF9z
dHJpZGVfdSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwK
LSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IEk0MjBNaXJyb3Io
Y29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3UsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgaGFsZndp
ZHRoID0gKHdpZHRoICsgMSkgPj4gMTsKICAgaW50IGhhbGZoZWlnaHQgPSAoaGVpZ2h0ICsgMSkg
Pj4gMTsKLSAgaWYgKCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192IHx8ICFkc3RfeSB8fCAhZHN0
X3UgfHwgIWRzdF92IHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlm
ICghc3JjX3kgfHwgIXNyY191IHx8ICFzcmNfdiB8fCAhZHN0X3kgfHwgIWRzdF91IHx8ICFkc3Rf
diB8fCB3aWR0aCA8PSAwIHx8CisgICAgICBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsK
ICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTcx
Miw5ICs3NjgsMTIgQEAgaW50IEk0MjBNaXJyb3IoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3Jj
X3N0cmlkZV95LAogCiAvLyBBUkdCIG1pcnJvci4KIExJQllVVl9BUEkKLWludCBBUkdCTWlycm9y
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAg
IGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IEFSR0JNaXJyb3IoY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2Is
CisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7
CiAgIGludCB5OwogICB2b2lkICgqQVJHQk1pcnJvclJvdykoY29uc3QgdWludDgqIHNyYywgdWlu
dDgqIGRzdCwgaW50IHdpZHRoKSA9CiAgICAgICBBUkdCTWlycm9yUm93X0M7CkBAIC03OTIsMTAg
Kzg1MSwxNCBAQCBBUkdCQmxlbmRSb3cgR2V0QVJHQkJsZW5kKCkgewogCiAvLyBBbHBoYSBCbGVu
ZCAyIEFSR0IgaW1hZ2VzIGFuZCBzdG9yZSB0byBkZXN0aW5hdGlvbi4KIExJQllVVl9BUEkKLWlu
dCBBUkdCQmxlbmQoY29uc3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYjAs
Ci0gICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsIGludCBzcmNfc3RyaWRlX2Fy
Z2IxLAotICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2Is
Ci0gICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IEFSR0JCbGVuZChj
b25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdi
MCwKKyAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGVfYXJnYjEsCisgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgaW50IHdpZHRo
LAorICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lkICgqQVJHQkJs
ZW5kUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCiAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSA9IEdldEFS
R0JCbGVuZCgpOwpAQCAtODA5LDggKzg3Miw3IEBAIGludCBBUkdCQmxlbmQoY29uc3QgdWludDgq
IHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYjAsCiAgICAgZHN0X3N0cmlkZV9hcmdiID0g
LWRzdF9zdHJpZGVfYXJnYjsKICAgfQogICAvLyBDb2FsZXNjZSByb3dzLgotICBpZiAoc3JjX3N0
cmlkZV9hcmdiMCA9PSB3aWR0aCAqIDQgJiYKLSAgICAgIHNyY19zdHJpZGVfYXJnYjEgPT0gd2lk
dGggKiA0ICYmCisgIGlmIChzcmNfc3RyaWRlX2FyZ2IwID09IHdpZHRoICogNCAmJiBzcmNfc3Ry
aWRlX2FyZ2IxID09IHdpZHRoICogNCAmJgogICAgICAgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRo
ICogNCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwpAQCAtODI4LDE0
ICs4OTAsMjAgQEAgaW50IEFSR0JCbGVuZChjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3Jj
X3N0cmlkZV9hcmdiMCwKIAogLy8gQWxwaGEgQmxlbmQgcGxhbmUgYW5kIHN0b3JlIHRvIGRlc3Rp
bmF0aW9uLgogTElCWVVWX0FQSQotaW50IEJsZW5kUGxhbmUoY29uc3QgdWludDgqIHNyY195MCwg
aW50IHNyY19zdHJpZGVfeTAsCi0gICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3kxLCBp
bnQgc3JjX3N0cmlkZV95MSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBhbHBoYSwgaW50
IGFscGhhX3N0cmlkZSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJp
ZGVfeSwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IEJsZW5k
UGxhbmUoY29uc3QgdWludDgqIHNyY195MCwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3kwLAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY195MSwKKyAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3kxLAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFscGhhLAor
ICAgICAgICAgICAgICAgaW50IGFscGhhX3N0cmlkZSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfeSwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lk
ICgqQmxlbmRQbGFuZVJvdykoY29uc3QgdWludDgqIHNyYzAsIGNvbnN0IHVpbnQ4KiBzcmMxLAot
ICAgICAgY29uc3QgdWludDgqIGFscGhhLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpID0gQmxlbmRQ
bGFuZVJvd19DOworICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFscGhhLCB1
aW50OCogZHN0LCBpbnQgd2lkdGgpID0KKyAgICAgIEJsZW5kUGxhbmVSb3dfQzsKICAgaWYgKCFz
cmNfeTAgfHwgIXNyY195MSB8fCAhYWxwaGEgfHwgIWRzdF95IHx8IHdpZHRoIDw9IDAgfHwgaGVp
Z2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KQEAgLTg0NywxMCArOTE1LDggQEAgaW50
IEJsZW5kUGxhbmUoY29uc3QgdWludDgqIHNyY195MCwgaW50IHNyY19zdHJpZGVfeTAsCiAgIH0K
IAogICAvLyBDb2FsZXNjZSByb3dzIGZvciBZIHBsYW5lLgotICBpZiAoc3JjX3N0cmlkZV95MCA9
PSB3aWR0aCAmJgotICAgICAgc3JjX3N0cmlkZV95MSA9PSB3aWR0aCAmJgotICAgICAgYWxwaGFf
c3RyaWRlID09IHdpZHRoICYmCi0gICAgICBkc3Rfc3RyaWRlX3kgPT0gd2lkdGgpIHsKKyAgaWYg
KHNyY19zdHJpZGVfeTAgPT0gd2lkdGggJiYgc3JjX3N0cmlkZV95MSA9PSB3aWR0aCAmJgorICAg
ICAgYWxwaGFfc3RyaWRlID09IHdpZHRoICYmIGRzdF9zdHJpZGVfeSA9PSB3aWR0aCkgewogICAg
IHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfeTAgPSBz
cmNfc3RyaWRlX3kxID0gYWxwaGFfc3RyaWRlID0gZHN0X3N0cmlkZV95ID0gMDsKQEAgLTg1OCw3
ICs5MjQsNyBAQCBpbnQgQmxlbmRQbGFuZShjb25zdCB1aW50OCogc3JjX3kwLCBpbnQgc3JjX3N0
cmlkZV95MCwKIAogI2lmIGRlZmluZWQoSEFTX0JMRU5EUExBTkVST1dfU1NTRTMpCiAgIGlmIChU
ZXN0Q3B1RmxhZyhrQ3B1SGFzU1NTRTMpKSB7Ci0gIEJsZW5kUGxhbmVSb3cgPSBCbGVuZFBsYW5l
Um93X0FueV9TU1NFMzsKKyAgICBCbGVuZFBsYW5lUm93ID0gQmxlbmRQbGFuZVJvd19BbnlfU1NT
RTM7CiAgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7CiAgICAgICBCbGVuZFBsYW5lUm93
ID0gQmxlbmRQbGFuZVJvd19TU1NFMzsKICAgICB9CkBAIC04NjYsNyArOTMyLDcgQEAgaW50IEJs
ZW5kUGxhbmUoY29uc3QgdWludDgqIHNyY195MCwgaW50IHNyY19zdHJpZGVfeTAsCiAjZW5kaWYK
ICNpZiBkZWZpbmVkKEhBU19CTEVORFBMQU5FUk9XX0FWWDIpCiAgIGlmIChUZXN0Q3B1RmxhZyhr
Q3B1SGFzQVZYMikpIHsKLSAgQmxlbmRQbGFuZVJvdyA9IEJsZW5kUGxhbmVSb3dfQW55X0FWWDI7
CisgICAgQmxlbmRQbGFuZVJvdyA9IEJsZW5kUGxhbmVSb3dfQW55X0FWWDI7CiAgICAgaWYgKElT
X0FMSUdORUQod2lkdGgsIDMyKSkgewogICAgICAgQmxlbmRQbGFuZVJvdyA9IEJsZW5kUGxhbmVS
b3dfQVZYMjsKICAgICB9CkBAIC04ODYsMjIgKzk1MiwzNCBAQCBpbnQgQmxlbmRQbGFuZShjb25z
dCB1aW50OCogc3JjX3kwLCBpbnQgc3JjX3N0cmlkZV95MCwKICNkZWZpbmUgTUFYVFdJRFRIIDIw
NDgKIC8vIEFscGhhIEJsZW5kIFlVViBpbWFnZXMgYW5kIHN0b3JlIHRvIGRlc3RpbmF0aW9uLgog
TElCWVVWX0FQSQotaW50IEk0MjBCbGVuZChjb25zdCB1aW50OCogc3JjX3kwLCBpbnQgc3JjX3N0
cmlkZV95MCwKLSAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191MCwgaW50IHNyY19zdHJp
ZGVfdTAsCi0gICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdjAsIGludCBzcmNfc3RyaWRl
X3YwLAotICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3kxLCBpbnQgc3JjX3N0cmlkZV95
MSwKLSAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191MSwgaW50IHNyY19zdHJpZGVfdTEs
Ci0gICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdjEsIGludCBzcmNfc3RyaWRlX3YxLAot
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogYWxwaGEsIGludCBhbHBoYV9zdHJpZGUsCi0gICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAg
dWludDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICB1aW50OCogZHN0
X3YsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdo
dCkgeworaW50IEk0MjBCbGVuZChjb25zdCB1aW50OCogc3JjX3kwLAorICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV95MCwKKyAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191MCwKKyAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdTAsCisgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdjAsCisgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YwLAorICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3kxLAorICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95MSwK
KyAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191MSwKKyAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGVfdTEsCisgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdjEsCisgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3YxLAorICAgICAgICAgICAgICBjb25zdCB1aW50OCogYWxw
aGEsCisgICAgICAgICAgICAgIGludCBhbHBoYV9zdHJpZGUsCisgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfeSwKKyAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAg
dWludDgqIGRzdF91LAorICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAg
ICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3YsCisgICAg
ICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQg
eTsKICAgLy8gSGFsZiB3aWR0aC9oZWlnaHQgZm9yIFVWLgogICBpbnQgaGFsZndpZHRoID0gKHdp
ZHRoICsgMSkgPj4gMTsKICAgdm9pZCAoKkJsZW5kUGxhbmVSb3cpKGNvbnN0IHVpbnQ4KiBzcmMw
LCBjb25zdCB1aW50OCogc3JjMSwKLSAgICAgIGNvbnN0IHVpbnQ4KiBhbHBoYSwgdWludDgqIGRz
dCwgaW50IHdpZHRoKSA9IEJsZW5kUGxhbmVSb3dfQzsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBhbHBoYSwgdWludDgqIGRzdCwgaW50IHdpZHRoKSA9CisgICAgICBCbGVu
ZFBsYW5lUm93X0M7CiAgIHZvaWQgKCpTY2FsZVJvd0Rvd24yKShjb25zdCB1aW50OCogc3JjX3B0
ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3B0ciwgaW50IGRzdF93aWR0aCkgPSBTY2FsZVJvd0Rvd24yQm94X0M7CiAgIGlmICghc3Jj
X3kwIHx8ICFzcmNfdTAgfHwgIXNyY192MCB8fCAhc3JjX3kxIHx8ICFzcmNfdTEgfHwgIXNyY192
MSB8fApAQCAtOTE3LDExICs5OTUsOCBAQCBpbnQgSTQyMEJsZW5kKGNvbnN0IHVpbnQ4KiBzcmNf
eTAsIGludCBzcmNfc3RyaWRlX3kwLAogICB9CiAKICAgLy8gQmxlbmQgWSBwbGFuZS4KLSAgQmxl
bmRQbGFuZShzcmNfeTAsIHNyY19zdHJpZGVfeTAsCi0gICAgICAgICAgICAgc3JjX3kxLCBzcmNf
c3RyaWRlX3kxLAotICAgICAgICAgICAgIGFscGhhLCBhbHBoYV9zdHJpZGUsCi0gICAgICAgICAg
ICAgZHN0X3ksIGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKKyAg
QmxlbmRQbGFuZShzcmNfeTAsIHNyY19zdHJpZGVfeTAsIHNyY195MSwgc3JjX3N0cmlkZV95MSwg
YWxwaGEsIGFscGhhX3N0cmlkZSwKKyAgICAgICAgICAgICBkc3RfeSwgZHN0X3N0cmlkZV95LCB3
aWR0aCwgaGVpZ2h0KTsKIAogI2lmIGRlZmluZWQoSEFTX0JMRU5EUExBTkVST1dfU1NTRTMpCiAg
IGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzU1NTRTMpKSB7CkBAIC0xMDAxLDEwICsxMDc2LDE0IEBA
IGludCBJNDIwQmxlbmQoY29uc3QgdWludDgqIHNyY195MCwgaW50IHNyY19zdHJpZGVfeTAsCiAK
IC8vIE11bHRpcGx5IDIgQVJHQiBpbWFnZXMgYW5kIHN0b3JlIHRvIGRlc3RpbmF0aW9uLgogTElC
WVVWX0FQSQotaW50IEFSR0JNdWx0aXBseShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3Jj
X3N0cmlkZV9hcmdiMCwKLSAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwg
aW50IHNyY19zdHJpZGVfYXJnYjEsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwg
aW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0KSB7CitpbnQgQVJHQk11bHRpcGx5KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IwLAorICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiMSwK
KyAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAg
ICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7CiAgIHZvaWQgKCpBUkdCTXVsdGlwbHlSb3cp
KGNvbnN0IHVpbnQ4KiBzcmMwLCBjb25zdCB1aW50OCogc3JjMSwgdWludDgqIGRzdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSA9IEFSR0JNdWx0aXBseVJvd19DOwpAQCAt
MTAxOCw4ICsxMDk3LDcgQEAgaW50IEFSR0JNdWx0aXBseShjb25zdCB1aW50OCogc3JjX2FyZ2Iw
LCBpbnQgc3JjX3N0cmlkZV9hcmdiMCwKICAgICBkc3Rfc3RyaWRlX2FyZ2IgPSAtZHN0X3N0cmlk
ZV9hcmdiOwogICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX2FyZ2Iw
ID09IHdpZHRoICogNCAmJgotICAgICAgc3JjX3N0cmlkZV9hcmdiMSA9PSB3aWR0aCAqIDQgJiYK
KyAgaWYgKHNyY19zdHJpZGVfYXJnYjAgPT0gd2lkdGggKiA0ICYmIHNyY19zdHJpZGVfYXJnYjEg
PT0gd2lkdGggKiA0ICYmCiAgICAgICBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0KSB7CiAg
ICAgd2lkdGggKj0gaGVpZ2h0OwogICAgIGhlaWdodCA9IDE7CkBAIC0xMDQ5LDYgKzExMjcsMTQg
QEAgaW50IEFSR0JNdWx0aXBseShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlk
ZV9hcmdiMCwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0JNVUxUSVBM
WVJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEFSR0JNdWx0
aXBseVJvdyA9IEFSR0JNdWx0aXBseVJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKHdp
ZHRoLCA0KSkgeworICAgICAgQVJHQk11bHRpcGx5Um93ID0gQVJHQk11bHRpcGx5Um93X01TQTsK
KyAgICB9CisgIH0KKyNlbmRpZgogCiAgIC8vIE11bHRpcGx5IHBsYW5lCiAgIGZvciAoeSA9IDA7
IHkgPCBoZWlnaHQ7ICsreSkgewpAQCAtMTA2MiwxMCArMTE0OCwxNCBAQCBpbnQgQVJHQk11bHRp
cGx5KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IwLAogCiAvLyBB
ZGQgMiBBUkdCIGltYWdlcyBhbmQgc3RvcmUgdG8gZGVzdGluYXRpb24uCiBMSUJZVVZfQVBJCi1p
bnQgQVJHQkFkZChjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiMCwK
LSAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsIGludCBzcmNfc3RyaWRlX2FyZ2Ix
LAotICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAg
ICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgQVJHQkFkZChjb25zdCB1aW50
OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYjAsCisgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
YXJnYjEsCisgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICBpbnQgZHN0
X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgaW50IGhl
aWdodCkgewogICBpbnQgeTsKICAgdm9pZCAoKkFSR0JBZGRSb3cpKGNvbnN0IHVpbnQ4KiBzcmMw
LCBjb25zdCB1aW50OCogc3JjMSwgdWludDgqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgPSBBUkdCQWRkUm93X0M7CkBAIC0xMDc5LDggKzExNjksNyBAQCBpbnQgQVJHQkFk
ZChjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiMCwKICAgICBkc3Rf
c3RyaWRlX2FyZ2IgPSAtZHN0X3N0cmlkZV9hcmdiOwogICB9CiAgIC8vIENvYWxlc2NlIHJvd3Mu
Ci0gIGlmIChzcmNfc3RyaWRlX2FyZ2IwID09IHdpZHRoICogNCAmJgotICAgICAgc3JjX3N0cmlk
ZV9hcmdiMSA9PSB3aWR0aCAqIDQgJiYKKyAgaWYgKHNyY19zdHJpZGVfYXJnYjAgPT0gd2lkdGgg
KiA0ICYmIHNyY19zdHJpZGVfYXJnYjEgPT0gd2lkdGggKiA0ICYmCiAgICAgICBkc3Rfc3RyaWRl
X2FyZ2IgPT0gd2lkdGggKiA0KSB7CiAgICAgd2lkdGggKj0gaGVpZ2h0OwogICAgIGhlaWdodCA9
IDE7CkBAIC0xMTE1LDYgKzEyMDQsMTQgQEAgaW50IEFSR0JBZGQoY29uc3QgdWludDgqIHNyY19h
cmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYjAsCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZp
bmVkKEhBU19BUkdCQUREUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7
CisgICAgQVJHQkFkZFJvdyA9IEFSR0JBZGRSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05F
RCh3aWR0aCwgOCkpIHsKKyAgICAgIEFSR0JBZGRSb3cgPSBBUkdCQWRkUm93X01TQTsKKyAgICB9
CisgIH0KKyNlbmRpZgogCiAgIC8vIEFkZCBwbGFuZQogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0
OyArK3kpIHsKQEAgLTExMjgsMTAgKzEyMjUsMTQgQEAgaW50IEFSR0JBZGQoY29uc3QgdWludDgq
IHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYjAsCiAKIC8vIFN1YnRyYWN0IDIgQVJHQiBp
bWFnZXMgYW5kIHN0b3JlIHRvIGRlc3RpbmF0aW9uLgogTElCWVVWX0FQSQotaW50IEFSR0JTdWJ0
cmFjdChjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiMCwKLSAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwgaW50IHNyY19zdHJpZGVfYXJnYjEs
Ci0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwK
LSAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgQVJHQlN1YnRy
YWN0KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX2FyZ2IwLAorICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiMSwKKyAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsK
ICAgaW50IHk7CiAgIHZvaWQgKCpBUkdCU3VidHJhY3RSb3cpKGNvbnN0IHVpbnQ4KiBzcmMwLCBj
b25zdCB1aW50OCogc3JjMSwgdWludDgqIGRzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKSA9IEFSR0JTdWJ0cmFjdFJvd19DOwpAQCAtMTE0NSw4ICsxMjQ2LDcgQEAgaW50
IEFSR0JTdWJ0cmFjdChjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdi
MCwKICAgICBkc3Rfc3RyaWRlX2FyZ2IgPSAtZHN0X3N0cmlkZV9hcmdiOwogICB9CiAgIC8vIENv
YWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX2FyZ2IwID09IHdpZHRoICogNCAmJgotICAg
ICAgc3JjX3N0cmlkZV9hcmdiMSA9PSB3aWR0aCAqIDQgJiYKKyAgaWYgKHNyY19zdHJpZGVfYXJn
YjAgPT0gd2lkdGggKiA0ICYmIHNyY19zdHJpZGVfYXJnYjEgPT0gd2lkdGggKiA0ICYmCiAgICAg
ICBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0KSB7CiAgICAgd2lkdGggKj0gaGVpZ2h0Owog
ICAgIGhlaWdodCA9IDE7CkBAIC0xMTc2LDYgKzEyNzYsMTQgQEAgaW50IEFSR0JTdWJ0cmFjdChj
b25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiMCwKICAgICB9CiAgIH0K
ICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0JTVUJUUkFDVFJPV19NU0EpCisgIGlmIChUZXN0
Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEFSR0JTdWJ0cmFjdFJvdyA9IEFSR0JTdWJ0cmFj
dFJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgQVJH
QlN1YnRyYWN0Um93ID0gQVJHQlN1YnRyYWN0Um93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgog
CiAgIC8vIFN1YnRyYWN0IHBsYW5lCiAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewpA
QCAtMTE4NywyMSArMTI5NSwyMyBAQCBpbnQgQVJHQlN1YnRyYWN0KGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IwLAogICByZXR1cm4gMDsKIH0KIC8vIENvbnZlcnQg
STQyMiB0byBSR0JBIHdpdGggbWF0cml4Ci1zdGF0aWMgaW50IEk0MjJUb1JHQkFNYXRyaXgoY29u
c3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2JhLCBpbnQgZHN0X3N0cmlk
ZV9yZ2JhLAorc3RhdGljIGludCBJNDIyVG9SR0JBTWF0cml4KGNvbnN0IHVpbnQ4KiBzcmNfeSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV92LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiYSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9yZ2JhLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0
YW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKLSAgdm9pZCAoKkk0MjJUb1JH
QkFSb3cpKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiB1X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2X2J1
ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAotICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSA9IEk0MjJUb1JHQkFSb3dfQzsKLSAgaWYg
KCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192IHx8ICFkc3RfcmdiYSB8fAotICAgICAgd2lkdGgg
PD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICB2b2lkICgqSTQyMlRvUkdCQVJvdykoY29uc3QgdWlu
dDgqIHlfYnVmLCBjb25zdCB1aW50OCogdV9idWYsCisgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogdl9idWYsIHVpbnQ4KiByZ2JfYnVmLAorICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLCBpbnQgd2lkdGgpID0K
KyAgICAgIEk0MjJUb1JHQkFSb3dfQzsKKyAgaWYgKCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192
IHx8ICFkc3RfcmdiYSB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJu
IC0xOwogICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpA
QCAtMTI0Myw2ICsxMzUzLDE0IEBAIHN0YXRpYyBpbnQgSTQyMlRvUkdCQU1hdHJpeChjb25zdCB1
aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAgICAgSTQyMlRvUkdCQVJvdyA9IEk0MjJU
b1JHQkFSb3dfRFNQUjI7CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0k0MjJUT1JHQkFS
T1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBJNDIyVG9SR0JB
Um93ID0gSTQyMlRvUkdCQVJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKHdpZHRoLCA4
KSkgeworICAgICAgSTQyMlRvUkdCQVJvdyA9IEk0MjJUb1JHQkFSb3dfTVNBOworICAgIH0KKyAg
fQorI2VuZGlmCiAKICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CiAgICAgSTQyMlRv
UkdCQVJvdyhzcmNfeSwgc3JjX3UsIHNyY192LCBkc3RfcmdiYSwgeXV2Y29uc3RhbnRzLCB3aWR0
aCk7CkBAIC0xMjU2LDQ4ICsxMzc0LDU1IEBAIHN0YXRpYyBpbnQgSTQyMlRvUkdCQU1hdHJpeChj
b25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAKIC8vIENvbnZlcnQgSTQyMiB0
byBSR0JBLgogTElCWVVWX0FQSQotaW50IEk0MjJUb1JHQkEoY29uc3QgdWludDgqIHNyY195LCBp
bnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LCBpbnQg
c3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LCBpbnQgc3Jj
X3N0cmlkZV92LAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2JhLCBpbnQgZHN0X3N0cmlk
ZV9yZ2JhLAotICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Ci0gIHJldHVy
biBJNDIyVG9SR0JBTWF0cml4KHNyY195LCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IHNyY192LCBzcmNfc3RyaWRlX3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9yZ2Jh
LCBkc3Rfc3RyaWRlX3JnYmEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZrWXV2STYwMUNv
bnN0YW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CitpbnQg
STQyMlRvUkdCQShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZV95LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwK
KyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3JnYmEsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9yZ2JhLAorICAgICAgICAg
ICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgeworICByZXR1cm4g
STQyMlRvUkdCQU1hdHJpeChzcmNfeSwgc3JjX3N0cmlkZV95LCBzcmNfdSwgc3JjX3N0cmlkZV91
LCBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZV92LCBkc3Rfcmdi
YSwgZHN0X3N0cmlkZV9yZ2JhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAma1l1dkk2MDFD
b25zdGFudHMsIHdpZHRoLCBoZWlnaHQpOwogfQogCiAvLyBDb252ZXJ0IEk0MjIgdG8gQkdSQS4K
IExJQllVVl9BUEkKLWludCBJNDIyVG9CR1JBKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19z
dHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJp
ZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVf
diwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYmdyYSwgaW50IGRzdF9zdHJpZGVfYmdyYSwK
LSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewotICByZXR1cm4gSTQyMlRv
UkdCQU1hdHJpeChzcmNfeSwgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBzcmNfdiwgc3JjX3N0cmlkZV92LCAgLy8gU3dhcCBVIGFuZCBWCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGRzdF9iZ3JhLCBkc3Rfc3RyaWRlX2JncmEsCitpbnQgSTQyMlRvQkdSQShjb25zdCB1aW50OCog
c3JjX3ksCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3YsCisgICAgICAgICAgICAgICB1aW50OCogZHN0X2JncmEsCisgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV9iZ3JhLAorICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAg
ICAgICAgICAgaW50IGhlaWdodCkgeworICByZXR1cm4gSTQyMlRvUkdCQU1hdHJpeChzcmNfeSwg
c3JjX3N0cmlkZV95LCBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlk
ZV92LCAgLy8gU3dhcCBVIGFuZCBWCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY191LCBz
cmNfc3RyaWRlX3UsIGRzdF9iZ3JhLCBkc3Rfc3RyaWRlX2JncmEsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZrWXZ1STYwMUNvbnN0YW50cywgIC8vIFVzZSBZdnUgbWF0cml4CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOwogfQogCiAvLyBDb252ZXJ0IE5WMTIg
dG8gUkdCNTY1LgogTElCWVVWX0FQSQotaW50IE5WMTJUb1JHQjU2NShjb25zdCB1aW50OCogc3Jj
X3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dXYsIGludCBzcmNfc3RyaWRlX3V2LAotICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYjU2
NSwgaW50IGRzdF9zdHJpZGVfcmdiNTY1LAotICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpIHsKK2ludCBOVjEyVG9SR0I1NjUoY29uc3QgdWludDgqIHNyY195LAorICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3V2LAorICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91diwKKyAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9yZ2I1NjUsCisgICAgICAgICAgICAgICAgIGludCBkc3Rfc3Ry
aWRlX3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAg
ICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotICB2b2lkICgqTlYxMlRvUkdCNTY1Um93KShjb25z
dCB1aW50OCogeV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB1
dl9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFu
dHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBOVjEyVG9SR0I1NjVS
b3dfQzsKLSAgaWYgKCFzcmNfeSB8fCAhc3JjX3V2IHx8ICFkc3RfcmdiNTY1IHx8Ci0gICAgICB3
aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIHZvaWQgKCpOVjEyVG9SR0I1NjVSb3cpKAor
ICAgICAgY29uc3QgdWludDgqIHlfYnVmLCBjb25zdCB1aW50OCogdXZfYnVmLCB1aW50OCogcmdi
X2J1ZiwKKyAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywgaW50
IHdpZHRoKSA9IE5WMTJUb1JHQjU2NVJvd19DOworICBpZiAoIXNyY195IHx8ICFzcmNfdXYgfHwg
IWRzdF9yZ2I1NjUgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAt
MTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAg
LTEzMzAsNiArMTQ1NSwxNCBAQCBpbnQgTlYxMlRvUkdCNTY1KGNvbnN0IHVpbnQ4KiBzcmNfeSwg
aW50IHNyY19zdHJpZGVfeSwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX05W
MTJUT1JHQjU2NVJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAg
IE5WMTJUb1JHQjU2NVJvdyA9IE5WMTJUb1JHQjU2NVJvd19BbnlfTVNBOworICAgIGlmIChJU19B
TElHTkVEKHdpZHRoLCA4KSkgeworICAgICAgTlYxMlRvUkdCNTY1Um93ID0gTlYxMlRvUkdCNTY1
Um93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7
ICsreSkgewogICAgIE5WMTJUb1JHQjU2NVJvdyhzcmNfeSwgc3JjX3V2LCBkc3RfcmdiNTY1LCAm
a1l1dkk2MDFDb25zdGFudHMsIHdpZHRoKTsKQEAgLTEzNDQsMTQgKzE0NzcsMTYgQEAgaW50IE5W
MTJUb1JHQjU2NShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAKIC8vIENv
bnZlcnQgUkFXIHRvIFJHQjI0LgogTElCWVVWX0FQSQotaW50IFJBV1RvUkdCMjQoY29uc3QgdWlu
dDgqIHNyY19yYXcsIGludCBzcmNfc3RyaWRlX3JhdywKLSAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfcmdiMjQsIGludCBkc3Rfc3RyaWRlX3JnYjI0LAotICAgICAgICAgICAgICAgaW50IHdpZHRo
LCBpbnQgaGVpZ2h0KSB7CitpbnQgUkFXVG9SR0IyNChjb25zdCB1aW50OCogc3JjX3JhdywKKyAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JhdywKKyAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfcmdiMjQsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9yZ2IyNCwKKyAgICAgICAg
ICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7
CiAgIHZvaWQgKCpSQVdUb1JHQjI0Um93KShjb25zdCB1aW50OCogc3JjX3JnYiwgdWludDgqIGRz
dF9yZ2IyNCwgaW50IHdpZHRoKSA9CiAgICAgICBSQVdUb1JHQjI0Um93X0M7Ci0gIGlmICghc3Jj
X3JhdyB8fCAhZHN0X3JnYjI0IHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7
CisgIGlmICghc3JjX3JhdyB8fCAhZHN0X3JnYjI0IHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09
IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGlu
dmVydCB0aGUgaW1hZ2UuCkBAIC0xMzYxLDggKzE0OTYsNyBAQCBpbnQgUkFXVG9SR0IyNChjb25z
dCB1aW50OCogc3JjX3JhdywgaW50IHNyY19zdHJpZGVfcmF3LAogICAgIHNyY19zdHJpZGVfcmF3
ID0gLXNyY19zdHJpZGVfcmF3OwogICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNf
c3RyaWRlX3JhdyA9PSB3aWR0aCAqIDMgJiYKLSAgICAgIGRzdF9zdHJpZGVfcmdiMjQgPT0gd2lk
dGggKiAzKSB7CisgIGlmIChzcmNfc3RyaWRlX3JhdyA9PSB3aWR0aCAqIDMgJiYgZHN0X3N0cmlk
ZV9yZ2IyNCA9PSB3aWR0aCAqIDMpIHsKICAgICB3aWR0aCAqPSBoZWlnaHQ7CiAgICAgaGVpZ2h0
ID0gMTsKICAgICBzcmNfc3RyaWRlX3JhdyA9IGRzdF9zdHJpZGVfcmdiMjQgPSAwOwpAQCAtMTM4
Myw2ICsxNTE3LDE0IEBAIGludCBSQVdUb1JHQjI0KGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCBpbnQg
c3JjX3N0cmlkZV9yYXcsCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19SQVdU
T1JHQjI0Uk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgUkFX
VG9SR0IyNFJvdyA9IFJBV1RvUkdCMjRSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3
aWR0aCwgMTYpKSB7CisgICAgICBSQVdUb1JHQjI0Um93ID0gUkFXVG9SR0IyNFJvd19NU0E7Cisg
ICAgfQorICB9CisjZW5kaWYKIAogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAg
ICBSQVdUb1JHQjI0Um93KHNyY19yYXcsIGRzdF9yZ2IyNCwgd2lkdGgpOwpAQCAtMTM5MywxMSAr
MTUzNSwxMyBAQCBpbnQgUkFXVG9SR0IyNChjb25zdCB1aW50OCogc3JjX3JhdywgaW50IHNyY19z
dHJpZGVfcmF3LAogfQogCiBMSUJZVVZfQVBJCi12b2lkIFNldFBsYW5lKHVpbnQ4KiBkc3RfeSwg
aW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAor
dm9pZCBTZXRQbGFuZSh1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X3ksCisgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgaW50IGhlaWdodCwK
ICAgICAgICAgICAgICAgdWludDMyIHZhbHVlKSB7CiAgIGludCB5OwotICB2b2lkICgqU2V0Um93
KSh1aW50OCogZHN0LCB1aW50OCB2YWx1ZSwgaW50IHdpZHRoKSA9IFNldFJvd19DOworICB2b2lk
ICgqU2V0Um93KSh1aW50OCAqIGRzdCwgdWludDggdmFsdWUsIGludCB3aWR0aCkgPSBTZXRSb3df
QzsKICAgaWYgKGhlaWdodCA8IDApIHsKICAgICBoZWlnaHQgPSAtaGVpZ2h0OwogICAgIGRzdF95
ID0gZHN0X3kgKyAoaGVpZ2h0IC0gMSkgKiBkc3Rfc3RyaWRlX3k7CkBAIC0xNDQwLDIyICsxNTg0
LDI2IEBAIHZvaWQgU2V0UGxhbmUodWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAogCiAv
LyBEcmF3IGEgcmVjdGFuZ2xlIGludG8gSTQyMAogTElCWVVWX0FQSQotaW50IEk0MjBSZWN0KHVp
bnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICB1aW50OCogZHN0X3Us
IGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgZHN0X3N0
cmlkZV92LAotICAgICAgICAgICAgIGludCB4LCBpbnQgeSwKLSAgICAgICAgICAgICBpbnQgd2lk
dGgsIGludCBoZWlnaHQsCi0gICAgICAgICAgICAgaW50IHZhbHVlX3ksIGludCB2YWx1ZV91LCBp
bnQgdmFsdWVfdikgeworaW50IEk0MjBSZWN0KHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAg
ICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAg
IGludCB5LAorICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICBpbnQgaGVpZ2h0
LAorICAgICAgICAgICAgIGludCB2YWx1ZV95LAorICAgICAgICAgICAgIGludCB2YWx1ZV91LAor
ICAgICAgICAgICAgIGludCB2YWx1ZV92KSB7CiAgIGludCBoYWxmd2lkdGggPSAod2lkdGggKyAx
KSA+PiAxOwogICBpbnQgaGFsZmhlaWdodCA9IChoZWlnaHQgKyAxKSA+PiAxOwogICB1aW50OCog
c3RhcnRfeSA9IGRzdF95ICsgeSAqIGRzdF9zdHJpZGVfeSArIHg7CiAgIHVpbnQ4KiBzdGFydF91
ID0gZHN0X3UgKyAoeSAvIDIpICogZHN0X3N0cmlkZV91ICsgKHggLyAyKTsKICAgdWludDgqIHN0
YXJ0X3YgPSBkc3RfdiArICh5IC8gMikgKiBkc3Rfc3RyaWRlX3YgKyAoeCAvIDIpOwotICBpZiAo
IWRzdF95IHx8ICFkc3RfdSB8fCAhZHN0X3YgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0
ID09IDAgfHwKLSAgICAgIHggPCAwIHx8IHkgPCAwIHx8Ci0gICAgICB2YWx1ZV95IDwgMCB8fCB2
YWx1ZV95ID4gMjU1IHx8Ci0gICAgICB2YWx1ZV91IDwgMCB8fCB2YWx1ZV91ID4gMjU1IHx8Cisg
IGlmICghZHN0X3kgfHwgIWRzdF91IHx8ICFkc3RfdiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9
PSAwIHx8IHggPCAwIHx8CisgICAgICB5IDwgMCB8fCB2YWx1ZV95IDwgMCB8fCB2YWx1ZV95ID4g
MjU1IHx8IHZhbHVlX3UgPCAwIHx8IHZhbHVlX3UgPiAyNTUgfHwKICAgICAgIHZhbHVlX3YgPCAw
IHx8IHZhbHVlX3YgPiAyNTUpIHsKICAgICByZXR1cm4gLTE7CiAgIH0KQEAgLTE0NjgsMTUgKzE2
MTYsMTYgQEAgaW50IEk0MjBSZWN0KHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKIAog
Ly8gRHJhdyBhIHJlY3RhbmdsZSBpbnRvIEFSR0IKIExJQllVVl9BUEkKLWludCBBUkdCUmVjdCh1
aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgaW50IGRz
dF94LCBpbnQgZHN0X3ksCi0gICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAoraW50
IEFSR0JSZWN0KHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9h
cmdiLAorICAgICAgICAgICAgIGludCBkc3RfeCwKKyAgICAgICAgICAgICBpbnQgZHN0X3ksCisg
ICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgIGludCBoZWlnaHQsCiAgICAgICAg
ICAgICAgdWludDMyIHZhbHVlKSB7CiAgIGludCB5OwotICB2b2lkICgqQVJHQlNldFJvdykodWlu
dDgqIGRzdF9hcmdiLCB1aW50MzIgdmFsdWUsIGludCB3aWR0aCkgPSBBUkdCU2V0Um93X0M7Ci0g
IGlmICghZHN0X2FyZ2IgfHwKLSAgICAgIHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDAgfHwKLSAg
ICAgIGRzdF94IDwgMCB8fCBkc3RfeSA8IDApIHsKKyAgdm9pZCAoKkFSR0JTZXRSb3cpKHVpbnQ4
ICogZHN0X2FyZ2IsIHVpbnQzMiB2YWx1ZSwgaW50IHdpZHRoKSA9IEFSR0JTZXRSb3dfQzsKKyAg
aWYgKCFkc3RfYXJnYiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwIHx8IGRzdF94IDwgMCB8
fCBkc3RfeSA8IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgaWYgKGhlaWdodCA8IDApIHsK
QEAgLTE1MDUsNiArMTY1NCwxNCBAQCBpbnQgQVJHQlJlY3QodWludDgqIGRzdF9hcmdiLCBpbnQg
ZHN0X3N0cmlkZV9hcmdiLAogICAgIEFSR0JTZXRSb3cgPSBBUkdCU2V0Um93X1g4NjsKICAgfQog
I2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQlNFVFJPV19NU0EpCisgIGlmIChUZXN0Q3B1Rmxh
ZyhrQ3B1SGFzTVNBKSkgeworICAgIEFSR0JTZXRSb3cgPSBBUkdCU2V0Um93X0FueV9NU0E7Cisg
ICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDQpKSB7CisgICAgICBBUkdCU2V0Um93ID0gQVJHQlNl
dFJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKIAogICAvLyBTZXQgcGxhbmUKICAgZm9yICh5
ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CkBAIC0xNTI4LDEyICsxNjg1LDE1IEBAIGludCBBUkdC
UmVjdCh1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCiAvLyAgIGYgaXMgZm9y
ZWdyb3VuZCBwaXhlbCBwcmVtdWx0aXBsaWVkIGJ5IGFscGhhCiAKIExJQllVVl9BUEkKLWludCBB
UkdCQXR0ZW51YXRlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwK
LSAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwK
LSAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IEFSR0JBdHRl
bnVhdGUoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgsCisgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotICB2b2lkICgq
QVJHQkF0dGVudWF0ZVJvdykoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2Is
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpID0gQVJHQkF0dGVudWF0ZVJv
d19DOworICB2b2lkICgqQVJHQkF0dGVudWF0ZVJvdykoY29uc3QgdWludDgqIHNyY19hcmdiLCB1
aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgPQorICAgICAgQVJHQkF0dGVudWF0ZVJvd19DOwog
ICBpZiAoIXNyY19hcmdiIHx8ICFkc3RfYXJnYiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAw
KSB7CiAgICAgcmV0dXJuIC0xOwogICB9CkBAIC0xNTQzLDggKzE3MDMsNyBAQCBpbnQgQVJHQkF0
dGVudWF0ZShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAg
c3JjX3N0cmlkZV9hcmdiID0gLXNyY19zdHJpZGVfYXJnYjsKICAgfQogICAvLyBDb2FsZXNjZSBy
b3dzLgotICBpZiAoc3JjX3N0cmlkZV9hcmdiID09IHdpZHRoICogNCAmJgotICAgICAgZHN0X3N0
cmlkZV9hcmdiID09IHdpZHRoICogNCkgeworICBpZiAoc3JjX3N0cmlkZV9hcmdiID09IHdpZHRo
ICogNCAmJiBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0KSB7CiAgICAgd2lkdGggKj0gaGVp
Z2h0OwogICAgIGhlaWdodCA9IDE7CiAgICAgc3JjX3N0cmlkZV9hcmdiID0gZHN0X3N0cmlkZV9h
cmdiID0gMDsKQEAgLTE1NzMsNiArMTczMiwxNCBAQCBpbnQgQVJHQkF0dGVudWF0ZShjb25zdCB1
aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgfQogICB9CiAjZW5kaWYK
KyNpZiBkZWZpbmVkKEhBU19BUkdCQVRURU5VQVRFUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFn
KGtDcHVIYXNNU0EpKSB7CisgICAgQVJHQkF0dGVudWF0ZVJvdyA9IEFSR0JBdHRlbnVhdGVSb3df
QW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgOCkpIHsKKyAgICAgIEFSR0JBdHRl
bnVhdGVSb3cgPSBBUkdCQXR0ZW51YXRlUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAg
IGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewogICAgIEFSR0JBdHRlbnVhdGVSb3coc3Jj
X2FyZ2IsIGRzdF9hcmdiLCB3aWR0aCk7CkBAIC0xNTg0LDkgKzE3NTEsMTIgQEAgaW50IEFSR0JB
dHRlbnVhdGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogCiAv
LyBDb252ZXJ0IHByZWF0dGVudHVhdGVkIEFSR0IgdG8gdW5hdHRlbnVhdGVkIEFSR0IuCiBMSUJZ
VVZfQVBJCi1pbnQgQVJHQlVuYXR0ZW51YXRlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNy
Y19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQg
ZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWln
aHQpIHsKK2ludCBBUkdCVW5hdHRlbnVhdGUoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgaW50
IGhlaWdodCkgewogICBpbnQgeTsKICAgdm9pZCAoKkFSR0JVbmF0dGVudWF0ZVJvdykoY29uc3Qg
dWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCkgPSBBUkdCVW5hdHRlbnVhdGVSb3dfQzsKQEAgLTE1OTksOCArMTc2
OSw3IEBAIGludCBBUkdCVW5hdHRlbnVhdGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3Jj
X3N0cmlkZV9hcmdiLAogICAgIHNyY19zdHJpZGVfYXJnYiA9IC1zcmNfc3RyaWRlX2FyZ2I7CiAg
IH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAq
IDQgJiYKLSAgICAgIGRzdF9zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQpIHsKKyAgaWYgKHNyY19z
dHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkg
ewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVf
YXJnYiA9IGRzdF9zdHJpZGVfYXJnYiA9IDA7CkBAIC0xNjIxLDcgKzE3OTAsNyBAQCBpbnQgQVJH
QlVuYXR0ZW51YXRlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwK
ICAgICB9CiAgIH0KICNlbmRpZgotLy8gVE9ETyhmYmFyY2hhcmQpOiBOZW9uIHZlcnNpb24uCisg
IC8vIFRPRE8oZmJhcmNoYXJkKTogTmVvbiB2ZXJzaW9uLgogCiAgIGZvciAoeSA9IDA7IHkgPCBo
ZWlnaHQ7ICsreSkgewogICAgIEFSR0JVbmF0dGVudWF0ZVJvdyhzcmNfYXJnYiwgZHN0X2FyZ2Is
IHdpZHRoKTsKQEAgLTE2MzMsMTIgKzE4MDIsMTUgQEAgaW50IEFSR0JVbmF0dGVudWF0ZShjb25z
dCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAKIC8vIENvbnZlcnQgQVJH
QiB0byBHcmF5ZWQgQVJHQi4KIExJQllVVl9BUEkKLWludCBBUkdCR3JheVRvKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwg
aW50IGhlaWdodCkgeworaW50IEFSR0JHcmF5VG8oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAg
ICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5Owot
ICB2b2lkICgqQVJHQkdyYXlSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9h
cmdiLAotICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBBUkdCR3JheVJvd19DOwor
ICB2b2lkICgqQVJHQkdyYXlSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9h
cmdiLCBpbnQgd2lkdGgpID0KKyAgICAgIEFSR0JHcmF5Um93X0M7CiAgIGlmICghc3JjX2FyZ2Ig
fHwgIWRzdF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4g
LTE7CiAgIH0KQEAgLTE2NDgsOCArMTgyMCw3IEBAIGludCBBUkdCR3JheVRvKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICBzcmNfc3RyaWRlX2FyZ2IgPSAt
c3JjX3N0cmlkZV9hcmdiOwogICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3Ry
aWRlX2FyZ2IgPT0gd2lkdGggKiA0ICYmCi0gICAgICBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGgg
KiA0KSB7CisgIGlmIChzcmNfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0ICYmIGRzdF9zdHJpZGVf
YXJnYiA9PSB3aWR0aCAqIDQpIHsKICAgICB3aWR0aCAqPSBoZWlnaHQ7CiAgICAgaGVpZ2h0ID0g
MTsKICAgICBzcmNfc3RyaWRlX2FyZ2IgPSBkc3Rfc3RyaWRlX2FyZ2IgPSAwOwpAQCAtMTY2NCw2
ICsxODM1LDExIEBAIGludCBBUkdCR3JheVRvKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNy
Y19zdHJpZGVfYXJnYiwKICAgICBBUkdCR3JheVJvdyA9IEFSR0JHcmF5Um93X05FT047CiAgIH0K
ICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0JHUkFZUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVG
bGFnKGtDcHVIYXNNU0EpICYmIElTX0FMSUdORUQod2lkdGgsIDgpKSB7CisgICAgQVJHQkdyYXlS
b3cgPSBBUkdCR3JheVJvd19NU0E7CisgIH0KKyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBo
ZWlnaHQ7ICsreSkgewogICAgIEFSR0JHcmF5Um93KHNyY19hcmdiLCBkc3RfYXJnYiwgd2lkdGgp
OwpAQCAtMTY3NSwxMiArMTg1MSwxNSBAQCBpbnQgQVJHQkdyYXlUbyhjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAKIC8vIE1ha2UgYSByZWN0YW5nbGUgb2YgQVJH
QiBncmF5IHNjYWxlLgogTElCWVVWX0FQSQotaW50IEFSR0JHcmF5KHVpbnQ4KiBkc3RfYXJnYiwg
aW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICBpbnQgZHN0X3gsIGludCBkc3RfeSwK
LSAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCR3JheSh1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAg
ICAgICBpbnQgZHN0X3gsCisgICAgICAgICAgICAgaW50IGRzdF95LAorICAgICAgICAgICAgIGlu
dCB3aWR0aCwKKyAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwotICB2b2lkICgq
QVJHQkdyYXlSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBBUkdCR3JheVJvd19DOworICB2b2lkICgq
QVJHQkdyYXlSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQg
d2lkdGgpID0KKyAgICAgIEFSR0JHcmF5Um93X0M7CiAgIHVpbnQ4KiBkc3QgPSBkc3RfYXJnYiAr
IGRzdF95ICogZHN0X3N0cmlkZV9hcmdiICsgZHN0X3ggKiA0OwogICBpZiAoIWRzdF9hcmdiIHx8
IHdpZHRoIDw9IDAgfHwgaGVpZ2h0IDw9IDAgfHwgZHN0X3ggPCAwIHx8IGRzdF95IDwgMCkgewog
ICAgIHJldHVybiAtMTsKQEAgLTE3MDEsNiArMTg4MCwxMiBAQCBpbnQgQVJHQkdyYXkodWludDgq
IGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAogICAgIEFSR0JHcmF5Um93ID0gQVJHQkdy
YXlSb3dfTkVPTjsKICAgfQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQkdSQVlST1dfTVNB
KQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkgJiYgSVNfQUxJR05FRCh3aWR0aCwgOCkp
IHsKKyAgICBBUkdCR3JheVJvdyA9IEFSR0JHcmF5Um93X01TQTsKKyAgfQorI2VuZGlmCisKICAg
Zm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CiAgICAgQVJHQkdyYXlSb3coZHN0LCBkc3Qs
IHdpZHRoKTsKICAgICBkc3QgKz0gZHN0X3N0cmlkZV9hcmdiOwpAQCAtMTcxMCwxMCArMTg5NSwx
NCBAQCBpbnQgQVJHQkdyYXkodWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAog
CiAvLyBNYWtlIGEgcmVjdGFuZ2xlIG9mIEFSR0IgU2VwaWEgdG9uZS4KIExJQllVVl9BUEkKLWlu
dCBBUkdCU2VwaWEodWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAg
ICAgICAgICBpbnQgZHN0X3gsIGludCBkc3RfeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Citp
bnQgQVJHQlNlcGlhKHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfYXJnYiwKKyAgICAgICAgICAgICAgaW50IGRzdF94LAorICAgICAgICAgICAgICBpbnQgZHN0
X3ksCisgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgaW50IGhlaWdodCkg
ewogICBpbnQgeTsKLSAgdm9pZCAoKkFSR0JTZXBpYVJvdykodWludDgqIGRzdF9hcmdiLCBpbnQg
d2lkdGgpID0gQVJHQlNlcGlhUm93X0M7CisgIHZvaWQgKCpBUkdCU2VwaWFSb3cpKHVpbnQ4ICog
ZHN0X2FyZ2IsIGludCB3aWR0aCkgPSBBUkdCU2VwaWFSb3dfQzsKICAgdWludDgqIGRzdCA9IGRz
dF9hcmdiICsgZHN0X3kgKiBkc3Rfc3RyaWRlX2FyZ2IgKyBkc3RfeCAqIDQ7CiAgIGlmICghZHN0
X2FyZ2IgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPD0gMCB8fCBkc3RfeCA8IDAgfHwgZHN0X3kg
PCAwKSB7CiAgICAgcmV0dXJuIC0xOwpAQCAtMTczNCw2ICsxOTIzLDEyIEBAIGludCBBUkdCU2Vw
aWEodWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAogICAgIEFSR0JTZXBpYVJv
dyA9IEFSR0JTZXBpYVJvd19ORU9OOwogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BUkdC
U0VQSUFST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkgJiYgSVNfQUxJR05F
RCh3aWR0aCwgOCkpIHsKKyAgICBBUkdCU2VwaWFSb3cgPSBBUkdCU2VwaWFSb3dfTVNBOworICB9
CisjZW5kaWYKKwogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICBBUkdCU2Vw
aWFSb3coZHN0LCB3aWR0aCk7CiAgICAgZHN0ICs9IGRzdF9zdHJpZGVfYXJnYjsKQEAgLTE3NDQs
MTMgKzE5MzksMTcgQEAgaW50IEFSR0JTZXBpYSh1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3Ry
aWRlX2FyZ2IsCiAvLyBBcHBseSBhIDR4NCBtYXRyaXggdG8gZWFjaCBBUkdCIHBpeGVsLgogLy8g
Tm90ZTogTm9ybWFsbHkgZm9yIHNoYWRpbmcsIGJ1dCBjYW4gYmUgdXNlZCB0byBzd2l6emxlIG9y
IGludmVydC4KIExJQllVVl9BUEkKLWludCBBUkdCQ29sb3JNYXRyaXgoY29uc3QgdWludDgqIHNy
Y19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCitpbnQgQVJHQkNvbG9yTWF0cml4KGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAogICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4
KiBtYXRyaXhfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
KSB7CisgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
aW50IGhlaWdodCkgewogICBpbnQgeTsKICAgdm9pZCAoKkFSR0JDb2xvck1hdHJpeFJvdykoY29u
c3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCi0gICAgICBjb25zdCBpbnQ4KiBt
YXRyaXhfYXJnYiwgaW50IHdpZHRoKSA9IEFSR0JDb2xvck1hdHJpeFJvd19DOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4KiBtYXRyaXhfYXJnYiwgaW50IHdpZHRoKSA9
CisgICAgICBBUkdCQ29sb3JNYXRyaXhSb3dfQzsKICAgaWYgKCFzcmNfYXJnYiB8fCAhZHN0X2Fy
Z2IgfHwgIW1hdHJpeF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICBy
ZXR1cm4gLTE7CiAgIH0KQEAgLTE3NjAsOCArMTk1OSw3IEBAIGludCBBUkdCQ29sb3JNYXRyaXgo
Y29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICAgIHNyY19zdHJp
ZGVfYXJnYiA9IC1zcmNfc3RyaWRlX2FyZ2I7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAg
aWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYKLSAgICAgIGRzdF9zdHJpZGVfYXJn
YiA9PSB3aWR0aCAqIDQpIHsKKyAgaWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYg
ZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAg
ICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfYXJnYiA9IGRzdF9zdHJpZGVfYXJnYiA9IDA7
CkBAIC0xNzg3LDEzICsxOTg1LDE3IEBAIGludCBBUkdCQ29sb3JNYXRyaXgoY29uc3QgdWludDgq
IHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogLy8gQXBwbHkgYSA0eDMgbWF0cml4IHRv
IGVhY2ggQVJHQiBwaXhlbC4KIC8vIERlcHJlY2F0ZWQuCiBMSUJZVVZfQVBJCi1pbnQgUkdCQ29s
b3JNYXRyaXgodWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAoraW50IFJHQkNv
bG9yTWF0cml4KHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV9hcmdiLAogICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDgqIG1hdHJpeF9yZ2IsCi0g
ICAgICAgICAgICAgICAgICAgaW50IGRzdF94LCBpbnQgZHN0X3ksIGludCB3aWR0aCwgaW50IGhl
aWdodCkgeworICAgICAgICAgICAgICAgICAgIGludCBkc3RfeCwKKyAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3ksCisgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAg
ICAgICAgIGludCBoZWlnaHQpIHsKICAgU0lNRF9BTElHTkVEKGludDggbWF0cml4X2FyZ2JbMTZd
KTsKICAgdWludDgqIGRzdCA9IGRzdF9hcmdiICsgZHN0X3kgKiBkc3Rfc3RyaWRlX2FyZ2IgKyBk
c3RfeCAqIDQ7Ci0gIGlmICghZHN0X2FyZ2IgfHwgIW1hdHJpeF9yZ2IgfHwgd2lkdGggPD0gMCB8
fCBoZWlnaHQgPD0gMCB8fAotICAgICAgZHN0X3ggPCAwIHx8IGRzdF95IDwgMCkgeworICBpZiAo
IWRzdF9hcmdiIHx8ICFtYXRyaXhfcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0IDw9IDAgfHwg
ZHN0X3ggPCAwIHx8CisgICAgICBkc3RfeSA8IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KIApA
QCAtMTgxMywyMyArMjAxNSwyNiBAQCBpbnQgUkdCQ29sb3JNYXRyaXgodWludDgqIGRzdF9hcmdi
LCBpbnQgZHN0X3N0cmlkZV9hcmdiLAogICBtYXRyaXhfYXJnYlsxNF0gPSBtYXRyaXhfYXJnYlsx
M10gPSBtYXRyaXhfYXJnYlsxMl0gPSAwOwogICBtYXRyaXhfYXJnYlsxNV0gPSA2NDsgIC8vIDEu
MAogCi0gIHJldHVybiBBUkdCQ29sb3JNYXRyaXgoKGNvbnN0IHVpbnQ4KikoZHN0KSwgZHN0X3N0
cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgIGRzdCwgZHN0X3N0cmlkZV9hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICZtYXRyaXhfYXJnYlswXSwgd2lkdGgsIGhlaWdo
dCk7CisgIHJldHVybiBBUkdCQ29sb3JNYXRyaXgoKGNvbnN0IHVpbnQ4KikoZHN0KSwgZHN0X3N0
cmlkZV9hcmdiLCBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3N0cmlkZV9hcmdi
LCAmbWF0cml4X2FyZ2JbMF0sIHdpZHRoLCBoZWlnaHQpOwogfQogCiAvLyBBcHBseSBhIGNvbG9y
IHRhYmxlIGVhY2ggQVJHQiBwaXhlbC4KIC8vIFRhYmxlIGNvbnRhaW5zIDI1NiBBUkdCIHZhbHVl
cy4KIExJQllVVl9BUEkKLWludCBBUkdCQ29sb3JUYWJsZSh1aW50OCogZHN0X2FyZ2IsIGludCBk
c3Rfc3RyaWRlX2FyZ2IsCitpbnQgQVJHQkNvbG9yVGFibGUodWludDgqIGRzdF9hcmdiLAorICAg
ICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHRhYmxlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgaW50IGRzdF94LCBp
bnQgZHN0X3ksIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworICAgICAgICAgICAgICAgICAgIGlu
dCBkc3RfeCwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3ksCisgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7
Ci0gIHZvaWQgKCpBUkdCQ29sb3JUYWJsZVJvdykodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50
OCogdGFibGVfYXJnYiwKKyAgdm9pZCAoKkFSR0JDb2xvclRhYmxlUm93KSh1aW50OCAqIGRzdF9h
cmdiLCBjb25zdCB1aW50OCogdGFibGVfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpID0gQVJHQkNvbG9yVGFibGVSb3dfQzsKICAgdWludDgqIGRzdCA9IGRzdF9h
cmdiICsgZHN0X3kgKiBkc3Rfc3RyaWRlX2FyZ2IgKyBkc3RfeCAqIDQ7Ci0gIGlmICghZHN0X2Fy
Z2IgfHwgIXRhYmxlX2FyZ2IgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPD0gMCB8fAotICAgICAg
ZHN0X3ggPCAwIHx8IGRzdF95IDwgMCkgeworICBpZiAoIWRzdF9hcmdiIHx8ICF0YWJsZV9hcmdi
IHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0IDw9IDAgfHwgZHN0X3ggPCAwIHx8CisgICAgICBkc3Rf
eSA8IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KQEAgLTE4
NTMsMTUgKzIwNTgsMTkgQEAgaW50IEFSR0JDb2xvclRhYmxlKHVpbnQ4KiBkc3RfYXJnYiwgaW50
IGRzdF9zdHJpZGVfYXJnYiwKIC8vIEFwcGx5IGEgY29sb3IgdGFibGUgZWFjaCBBUkdCIHBpeGVs
IGJ1dCBwcmVzZXJ2ZSBkZXN0aW5hdGlvbiBhbHBoYS4KIC8vIFRhYmxlIGNvbnRhaW5zIDI1NiBB
UkdCIHZhbHVlcy4KIExJQllVVl9BUEkKLWludCBSR0JDb2xvclRhYmxlKHVpbnQ4KiBkc3RfYXJn
YiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKK2ludCBSR0JDb2xvclRhYmxlKHVpbnQ4KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogdGFibGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgIGludCBkc3Rf
eCwgaW50IGRzdF95LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKKyAgICAgICAgICAgICAgICAg
IGludCBkc3RfeCwKKyAgICAgICAgICAgICAgICAgIGludCBkc3RfeSwKKyAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7
Ci0gIHZvaWQgKCpSR0JDb2xvclRhYmxlUm93KSh1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4
KiB0YWJsZV9hcmdiLAorICB2b2lkICgqUkdCQ29sb3JUYWJsZVJvdykodWludDggKiBkc3RfYXJn
YiwgY29uc3QgdWludDgqIHRhYmxlX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpID0gUkdCQ29sb3JUYWJsZVJvd19DOwogICB1aW50OCogZHN0ID0gZHN0X2FyZ2Ig
KyBkc3RfeSAqIGRzdF9zdHJpZGVfYXJnYiArIGRzdF94ICogNDsKLSAgaWYgKCFkc3RfYXJnYiB8
fCAhdGFibGVfYXJnYiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA8PSAwIHx8Ci0gICAgICBkc3Rf
eCA8IDAgfHwgZHN0X3kgPCAwKSB7CisgIGlmICghZHN0X2FyZ2IgfHwgIXRhYmxlX2FyZ2IgfHwg
d2lkdGggPD0gMCB8fCBoZWlnaHQgPD0gMCB8fCBkc3RfeCA8IDAgfHwKKyAgICAgIGRzdF95IDwg
MCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBDb2FsZXNjZSByb3dzLgpAQCAtMTg5Miwx
MSArMjEwMSwxNyBAQCBpbnQgUkdCQ29sb3JUYWJsZSh1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rf
c3RyaWRlX2FyZ2IsCiAvLyBDYXZlYXQgLSBhbHRob3VnaCBTU0UyIHNhdHVyYXRlcywgdGhlIEMg
ZnVuY3Rpb24gZG9lcyBub3QgYW5kIHNob3VsZCBiZSB1c2VkCiAvLyB3aXRoIGNhcmUgaWYgZG9p
bmcgYW55dGhpbmcgYnV0IHF1YW50aXphdGlvbi4KIExJQllVVl9BUEkKLWludCBBUkdCUXVhbnRp
emUodWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAg
ICBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9zaXplLCBpbnQgaW50ZXJ2YWxfb2Zmc2V0LAotICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3gsIGludCBkc3RfeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
KSB7CitpbnQgQVJHQlF1YW50aXplKHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAg
aW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgaW50IHNjYWxlLAorICAgICAg
ICAgICAgICAgICBpbnQgaW50ZXJ2YWxfc2l6ZSwKKyAgICAgICAgICAgICAgICAgaW50IGludGVy
dmFsX29mZnNldCwKKyAgICAgICAgICAgICAgICAgaW50IGRzdF94LAorICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3ksCisgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAg
ICAgaW50IGhlaWdodCkgewogICBpbnQgeTsKLSAgdm9pZCAoKkFSR0JRdWFudGl6ZVJvdykodWlu
dDgqIGRzdF9hcmdiLCBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9zaXplLAorICB2b2lkICgqQVJH
QlF1YW50aXplUm93KSh1aW50OCAqIGRzdF9hcmdiLCBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9z
aXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxfb2Zmc2V0LCBpbnQg
d2lkdGgpID0gQVJHQlF1YW50aXplUm93X0M7CiAgIHVpbnQ4KiBkc3QgPSBkc3RfYXJnYiArIGRz
dF95ICogZHN0X3N0cmlkZV9hcmdiICsgZHN0X3ggKiA0OwogICBpZiAoIWRzdF9hcmdiIHx8IHdp
ZHRoIDw9IDAgfHwgaGVpZ2h0IDw9IDAgfHwgZHN0X3ggPCAwIHx8IGRzdF95IDwgMCB8fApAQCAt
MTkyOSwxMiArMjE0NCwxNiBAQCBpbnQgQVJHQlF1YW50aXplKHVpbnQ4KiBkc3RfYXJnYiwgaW50
IGRzdF9zdHJpZGVfYXJnYiwKIC8vIENvbXB1dGVzIHRhYmxlIG9mIGN1bXVsYXRpdmUgc3VtIGZv
ciBpbWFnZSB3aGVyZSB0aGUgdmFsdWUgaXMgdGhlIHN1bQogLy8gb2YgYWxsIHZhbHVlcyBhYm92
ZSBhbmQgdG8gdGhlIGxlZnQgb2YgdGhlIGVudHJ5LiBVc2VkIGJ5IEFSR0JCbHVyLgogTElCWVVW
X0FQSQotaW50IEFSR0JDb21wdXRlQ3VtdWxhdGl2ZVN1bShjb25zdCB1aW50OCogc3JjX2FyZ2Is
IGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMy
KiBkc3RfY3Vtc3VtLCBpbnQgZHN0X3N0cmlkZTMyX2N1bXN1bSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgQVJHQkNvbXB1dGVDdW11
bGF0aXZlU3VtKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MzIqIGRzdF9jdW1zdW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlMzJfY3Vtc3VtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7CiAg
IHZvaWQgKCpDb21wdXRlQ3VtdWxhdGl2ZVN1bVJvdykoY29uc3QgdWludDgqIHJvdywgaW50MzIq
IGN1bXN1bSwKLSAgICAgIGNvbnN0IGludDMyKiBwcmV2aW91c19jdW1zdW0sIGludCB3aWR0aCkg
PSBDb21wdXRlQ3VtdWxhdGl2ZVN1bVJvd19DOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGludDMyKiBwcmV2aW91c19jdW1zdW0sIGludCB3aWR0aCkgPQorICAgICAg
Q29tcHV0ZUN1bXVsYXRpdmVTdW1Sb3dfQzsKICAgaW50MzIqIHByZXZpb3VzX2N1bXN1bSA9IGRz
dF9jdW1zdW07CiAgIGlmICghZHN0X2N1bXN1bSB8fCAhc3JjX2FyZ2IgfHwgd2lkdGggPD0gMCB8
fCBoZWlnaHQgPD0gMCkgewogICAgIHJldHVybiAtMTsKQEAgLTE5NTksMTUgKzIxNzgsMjIgQEAg
aW50IEFSR0JDb21wdXRlQ3VtdWxhdGl2ZVN1bShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBz
cmNfc3RyaWRlX2FyZ2IsCiAvLyBhbGlnbmVkIHRvIDE2IGJ5dGUgYm91bmRhcnkuIGhlaWdodCBj
YW4gYmUgcmFkaXVzICogMiArIDIgdG8gc2F2ZSBtZW1vcnkKIC8vIGFzIHRoZSBidWZmZXIgaXMg
dHJlYXRlZCBhcyBjaXJjdWxhci4KIExJQllVVl9BUEkKLWludCBBUkdCQmx1cihjb25zdCB1aW50
OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgIGludDMyKiBkc3RfY3Vt
c3VtLCBpbnQgZHN0X3N0cmlkZTMyX2N1bXN1bSwKLSAgICAgICAgICAgICBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQsIGludCByYWRpdXMpIHsKK2ludCBBUkdCQmx1cihjb25zdCB1aW50OCogc3JjX2Fy
Z2IsCisgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAg
ICAgICBpbnQzMiogZHN0X2N1bXN1bSwKKyAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZTMyX2N1
bXN1bSwKKyAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgaW50IGhlaWdodCwK
KyAgICAgICAgICAgICBpbnQgcmFkaXVzKSB7CiAgIGludCB5OwotICB2b2lkICgqQ29tcHV0ZUN1
bXVsYXRpdmVTdW1Sb3cpKGNvbnN0IHVpbnQ4ICpyb3csIGludDMyICpjdW1zdW0sCi0gICAgICBj
b25zdCBpbnQzMiogcHJldmlvdXNfY3Vtc3VtLCBpbnQgd2lkdGgpID0gQ29tcHV0ZUN1bXVsYXRp
dmVTdW1Sb3dfQzsKKyAgdm9pZCAoKkNvbXB1dGVDdW11bGF0aXZlU3VtUm93KShjb25zdCB1aW50
OCogcm93LCBpbnQzMiogY3Vtc3VtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGludDMyKiBwcmV2aW91c19jdW1zdW0sIGludCB3aWR0aCkgPQorICAgICAgQ29tcHV0
ZUN1bXVsYXRpdmVTdW1Sb3dfQzsKICAgdm9pZCAoKkN1bXVsYXRpdmVTdW1Ub0F2ZXJhZ2VSb3cp
KGNvbnN0IGludDMyKiB0b3BsZWZ0LCBjb25zdCBpbnQzMiogYm90bGVmdCwKLSAgICAgIGludCB3
aWR0aCwgaW50IGFyZWEsIHVpbnQ4KiBkc3QsIGludCBjb3VudCkgPSBDdW11bGF0aXZlU3VtVG9B
dmVyYWdlUm93X0M7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgsIGludCBhcmVhLCB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGNvdW50KSA9IEN1bXVsYXRpdmVTdW1Ub0F2ZXJhZ2VSb3dfQzsKICAgaW50MzIq
IGN1bXN1bV9ib3Rfcm93OwogICBpbnQzMiogbWF4X2N1bXN1bV9ib3Rfcm93OwogICBpbnQzMiog
Y3Vtc3VtX3RvcF9yb3c7CkBAIC0xOTk3LDkgKzIyMjMsOCBAQCBpbnQgQVJHQkJsdXIoY29uc3Qg
dWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogI2VuZGlmCiAgIC8vIENvbXB1
dGUgZW5vdWdoIEN1bXVsYXRpdmVTdW0gZm9yIGZpcnN0IHJvdyB0byBiZSBibHVycmVkLiBBZnRl
ciB0aGlzCiAgIC8vIG9uZSByb3cgb2YgQ3VtdWxhdGl2ZVN1bSBpcyB1cGRhdGVkIGF0IGEgdGlt
ZS4KLSAgQVJHQkNvbXB1dGVDdW11bGF0aXZlU3VtKHNyY19hcmdiLCBzcmNfc3RyaWRlX2FyZ2Is
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfY3Vtc3VtLCBkc3Rfc3RyaWRlMzJfY3Vt
c3VtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIHJhZGl1cyk7CisgIEFSR0JD
b21wdXRlQ3VtdWxhdGl2ZVN1bShzcmNfYXJnYiwgc3JjX3N0cmlkZV9hcmdiLCBkc3RfY3Vtc3Vt
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3N0cmlkZTMyX2N1bXN1bSwgd2lkdGgs
IHJhZGl1cyk7CiAKICAgc3JjX2FyZ2IgPSBzcmNfYXJnYiArIHJhZGl1cyAqIHNyY19zdHJpZGVf
YXJnYjsKICAgY3Vtc3VtX2JvdF9yb3cgPSAmZHN0X2N1bXN1bVsocmFkaXVzIC0gMSkgKiBkc3Rf
c3RyaWRlMzJfY3Vtc3VtXTsKQEAgLTIwMzcsMjQgKzIyNjIsMjQgQEAgaW50IEFSR0JCbHVyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKIAogICAgIC8vIExlZnQg
Y2xpcHBlZC4KICAgICBmb3IgKHggPSAwOyB4IDwgcmFkaXVzICsgMTsgKyt4KSB7Ci0gICAgICBD
dW11bGF0aXZlU3VtVG9BdmVyYWdlUm93KGN1bXN1bV90b3Bfcm93LCBjdW1zdW1fYm90X3JvdywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94d2lkdGgsIGFyZWEsICZkc3RfYXJn
Ylt4ICogNF0sIDEpOworICAgICAgQ3VtdWxhdGl2ZVN1bVRvQXZlcmFnZVJvdyhjdW1zdW1fdG9w
X3JvdywgY3Vtc3VtX2JvdF9yb3csIGJveHdpZHRoLCBhcmVhLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmZHN0X2FyZ2JbeCAqIDRdLCAxKTsKICAgICAgIGFyZWEgKz0gKGJvdF95
IC0gdG9wX3kpOwogICAgICAgYm94d2lkdGggKz0gNDsKICAgICB9CiAKICAgICAvLyBNaWRkbGUg
dW5jbGlwcGVkLgogICAgIG4gPSAod2lkdGggLSAxKSAtIHJhZGl1cyAtIHggKyAxOwotICAgIEN1
bXVsYXRpdmVTdW1Ub0F2ZXJhZ2VSb3coY3Vtc3VtX3RvcF9yb3csIGN1bXN1bV9ib3Rfcm93LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94d2lkdGgsIGFyZWEsICZkc3RfYXJnYlt4
ICogNF0sIG4pOworICAgIEN1bXVsYXRpdmVTdW1Ub0F2ZXJhZ2VSb3coY3Vtc3VtX3RvcF9yb3cs
IGN1bXN1bV9ib3Rfcm93LCBib3h3aWR0aCwgYXJlYSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZkc3RfYXJnYlt4ICogNF0sIG4pOwogCiAgICAgLy8gUmlnaHQgY2xpcHBlZC4KICAg
ICBmb3IgKHggKz0gbjsgeCA8PSB3aWR0aCAtIDE7ICsreCkgewogICAgICAgYXJlYSAtPSAoYm90
X3kgLSB0b3BfeSk7CiAgICAgICBib3h3aWR0aCAtPSA0OwogICAgICAgQ3VtdWxhdGl2ZVN1bVRv
QXZlcmFnZVJvdyhjdW1zdW1fdG9wX3JvdyArICh4IC0gcmFkaXVzIC0gMSkgKiA0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjdW1zdW1fYm90X3JvdyArICh4IC0gcmFkaXVzIC0g
MSkgKiA0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3h3aWR0aCwgYXJlYSwg
JmRzdF9hcmdiW3ggKiA0XSwgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1
bXN1bV9ib3Rfcm93ICsgKHggLSByYWRpdXMgLSAxKSAqIDQsIGJveHdpZHRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhcmVhLCAmZHN0X2FyZ2JbeCAqIDRdLCAxKTsKICAgICB9
CiAgICAgZHN0X2FyZ2IgKz0gZHN0X3N0cmlkZV9hcmdiOwogICB9CkBAIC0yMDYzLDEyICsyMjg4
LDE2IEBAIGludCBBUkdCQmx1cihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRl
X2FyZ2IsCiAKIC8vIE11bHRpcGx5IEFSR0IgaW1hZ2UgYnkgYSBzcGVjaWZpZWQgQVJHQiB2YWx1
ZS4KIExJQllVVl9BUEkKLWludCBBUkdCU2hhZGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQg
c3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rf
c3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCwgdWludDMy
IHZhbHVlKSB7CitpbnQgQVJHQlNoYWRlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAorICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICBpbnQg
d2lkdGgsCisgICAgICAgICAgICAgIGludCBoZWlnaHQsCisgICAgICAgICAgICAgIHVpbnQzMiB2
YWx1ZSkgewogICBpbnQgeTsKLSAgdm9pZCAoKkFSR0JTaGFkZVJvdykoY29uc3QgdWludDgqIHNy
Y19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCwgdWludDMyIHZhbHVlKSA9IEFSR0JTaGFkZVJvd19DOworICB2b2lkICgqQVJHQlNoYWRlUm93
KShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoLAorICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MzIgdmFsdWUpID0gQVJHQlNoYWRlUm93X0M7CiAgIGlm
ICghc3JjX2FyZ2IgfHwgIWRzdF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDAgfHwg
dmFsdWUgPT0gMHUpIHsKICAgICByZXR1cm4gLTE7CiAgIH0KQEAgLTIwNzgsOCArMjMwNyw3IEBA
IGludCBBUkdCU2hhZGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdi
LAogICAgIHNyY19zdHJpZGVfYXJnYiA9IC1zcmNfc3RyaWRlX2FyZ2I7CiAgIH0KICAgLy8gQ29h
bGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYKLSAgICAg
IGRzdF9zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQpIHsKKyAgaWYgKHNyY19zdHJpZGVfYXJnYiA9
PSB3aWR0aCAqIDQgJiYgZHN0X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgewogICAgIHdpZHRo
ICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfYXJnYiA9IGRzdF9z
dHJpZGVfYXJnYiA9IDA7CkBAIC0yMDk0LDYgKzIzMjIsMTEgQEAgaW50IEFSR0JTaGFkZShjb25z
dCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgQVJHQlNoYWRlUm93
ID0gQVJHQlNoYWRlUm93X05FT047CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0JT
SEFERVJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSAmJiBJU19BTElHTkVE
KHdpZHRoLCA0KSkgeworICAgIEFSR0JTaGFkZVJvdyA9IEFSR0JTaGFkZVJvd19NU0E7CisgIH0K
KyNlbmRpZgogCiAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkgewogICAgIEFSR0JTaGFk
ZVJvdyhzcmNfYXJnYiwgZHN0X2FyZ2IsIHdpZHRoLCB2YWx1ZSk7CkBAIC0yMTA1LDEyICsyMzM4
LDE3IEBAIGludCBBUkdCU2hhZGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlk
ZV9hcmdiLAogCiAvLyBJbnRlcnBvbGF0ZSAyIHBsYW5lcyBieSBzcGVjaWZpZWQgYW1vdW50ICgw
IHRvIDI1NSkuCiBMSUJZVVZfQVBJCi1pbnQgSW50ZXJwb2xhdGVQbGFuZShjb25zdCB1aW50OCog
c3JjMCwgaW50IHNyY19zdHJpZGUwLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyYzEsIGludCBzcmNfc3RyaWRlMSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Qs
IGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0LCBpbnQgaW50ZXJwb2xhdGlvbikgeworaW50IEludGVycG9sYXRlUGxhbmUoY29uc3QgdWlu
dDgqIHNyYzAsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZTAsCisgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjMSwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlMSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCisgICAgICAgICAgICAgICAg
ICAgICBpbnQgaW50ZXJwb2xhdGlvbikgewogICBpbnQgeTsKLSAgdm9pZCAoKkludGVycG9sYXRl
Um93KSh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCisgIHZvaWQgKCpJbnRl
cnBvbGF0ZVJvdykodWludDggKiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgaW50IGRzdF93aWR0aCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc291cmNlX3lfZnJhY3Rpb24pID0gSW50ZXJw
b2xhdGVSb3dfQzsKICAgaWYgKCFzcmMwIHx8ICFzcmMxIHx8ICFkc3QgfHwgd2lkdGggPD0gMCB8
fCBoZWlnaHQgPT0gMCkgewpAQCAtMjEyMyw5ICsyMzYxLDcgQEAgaW50IEludGVycG9sYXRlUGxh
bmUoY29uc3QgdWludDgqIHNyYzAsIGludCBzcmNfc3RyaWRlMCwKICAgICBkc3Rfc3RyaWRlID0g
LWRzdF9zdHJpZGU7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGUw
ID09IHdpZHRoICYmCi0gICAgICBzcmNfc3RyaWRlMSA9PSB3aWR0aCAmJgotICAgICAgZHN0X3N0
cmlkZSA9PSB3aWR0aCkgeworICBpZiAoc3JjX3N0cmlkZTAgPT0gd2lkdGggJiYgc3JjX3N0cmlk
ZTEgPT0gd2lkdGggJiYgZHN0X3N0cmlkZSA9PSB3aWR0aCkgewogICAgIHdpZHRoICo9IGhlaWdo
dDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGUwID0gc3JjX3N0cmlkZTEgPSBkc3Rf
c3RyaWRlID0gMDsKQEAgLTIxNTUsMTQgKzIzOTEsMjEgQEAgaW50IEludGVycG9sYXRlUGxhbmUo
Y29uc3QgdWludDgqIHNyYzAsIGludCBzcmNfc3RyaWRlMCwKICAgfQogI2VuZGlmCiAjaWYgZGVm
aW5lZChIQVNfSU5URVJQT0xBVEVST1dfRFNQUjIpCi0gIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFz
RFNQUjIpICYmCi0gICAgICBJU19BTElHTkVEKHNyYzAsIDQpICYmIElTX0FMSUdORUQoc3JjX3N0
cmlkZTAsIDQpICYmCi0gICAgICBJU19BTElHTkVEKHNyYzEsIDQpICYmIElTX0FMSUdORUQoc3Jj
X3N0cmlkZTEsIDQpICYmCi0gICAgICBJU19BTElHTkVEKGRzdCwgNCkgJiYgSVNfQUxJR05FRChk
c3Rfc3RyaWRlLCA0KSAmJgotICAgICAgSVNfQUxJR05FRCh3aWR0aCwgNCkpIHsKKyAgaWYgKFRl
c3RDcHVGbGFnKGtDcHVIYXNEU1BSMikgJiYgSVNfQUxJR05FRChzcmMwLCA0KSAmJgorICAgICAg
SVNfQUxJR05FRChzcmNfc3RyaWRlMCwgNCkgJiYgSVNfQUxJR05FRChzcmMxLCA0KSAmJgorICAg
ICAgSVNfQUxJR05FRChzcmNfc3RyaWRlMSwgNCkgJiYgSVNfQUxJR05FRChkc3QsIDQpICYmCisg
ICAgICBJU19BTElHTkVEKGRzdF9zdHJpZGUsIDQpICYmIElTX0FMSUdORUQod2lkdGgsIDQpKSB7
CiAgICAgSW50ZXJwb2xhdGVSb3cgPSBJbnRlcnBvbGF0ZVJvd19EU1BSMjsKICAgfQogI2VuZGlm
CisjaWYgZGVmaW5lZChIQVNfSU5URVJQT0xBVEVST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWco
a0NwdUhhc01TQSkpIHsKKyAgICBJbnRlcnBvbGF0ZVJvdyA9IEludGVycG9sYXRlUm93X0FueV9N
U0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDMyKSkgeworICAgICAgSW50ZXJwb2xhdGVS
b3cgPSBJbnRlcnBvbGF0ZVJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKIAogICBmb3IgKHkg
PSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICBJbnRlcnBvbGF0ZVJvdyhkc3QsIHNyYzAsIHNy
YzEgLSBzcmMwLCB3aWR0aCwgaW50ZXJwb2xhdGlvbik7CkBAIC0yMTc1LDYxICsyNDE4LDcxIEBA
IGludCBJbnRlcnBvbGF0ZVBsYW5lKGNvbnN0IHVpbnQ4KiBzcmMwLCBpbnQgc3JjX3N0cmlkZTAs
CiAKIC8vIEludGVycG9sYXRlIDIgQVJHQiBpbWFnZXMgYnkgc3BlY2lmaWVkIGFtb3VudCAoMCB0
byAyNTUpLgogTElCWVVWX0FQSQotaW50IEFSR0JJbnRlcnBvbGF0ZShjb25zdCB1aW50OCogc3Jj
X2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiMCwKLSAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY19hcmdiMSwgaW50IHNyY19zdHJpZGVfYXJnYjEsCi0gICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgaW50ZXJwb2xhdGlvbikgewotICByZXR1
cm4gSW50ZXJwb2xhdGVQbGFuZShzcmNfYXJnYjAsIHNyY19zdHJpZGVfYXJnYjAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIHNyY19hcmdiMSwgc3JjX3N0cmlkZV9hcmdiMSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgZHN0X2FyZ2IsIGRzdF9zdHJpZGVfYXJnYiwKK2ludCBBUkdCSW50
ZXJwb2xhdGUoY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGVfYXJnYjAsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjEsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IxLAorICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICAgaW50IGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgaW50IGludGVycG9s
YXRpb24pIHsKKyAgcmV0dXJuIEludGVycG9sYXRlUGxhbmUoc3JjX2FyZ2IwLCBzcmNfc3RyaWRl
X2FyZ2IwLCBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19zdHJpZGVf
YXJnYjEsIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHdpZHRoICogNCwgaGVpZ2h0LCBpbnRlcnBvbGF0aW9uKTsKIH0KIAogLy8gSW50ZXJwb2xh
dGUgMiBZVVYgaW1hZ2VzIGJ5IHNwZWNpZmllZCBhbW91bnQgKDAgdG8gMjU1KS4KIExJQllVVl9B
UEkKLWludCBJNDIwSW50ZXJwb2xhdGUoY29uc3QgdWludDgqIHNyYzBfeSwgaW50IHNyYzBfc3Ry
aWRlX3ksCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmMwX3UsIGludCBzcmMw
X3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjMF92LCBpbnQg
c3JjMF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyYzFfeSwg
aW50IHNyYzFfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmMx
X3UsIGludCBzcmMxX3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjMV92LCBpbnQgc3JjMV9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3Us
IGludCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50
IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
LCBpbnQgaW50ZXJwb2xhdGlvbikgeworaW50IEk0MjBJbnRlcnBvbGF0ZShjb25zdCB1aW50OCog
c3JjMF95LAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjMF9zdHJpZGVfeSwKKyAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyYzBfdSwKKyAgICAgICAgICAgICAgICAgICAgaW50
IHNyYzBfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmMwX3Ys
CisgICAgICAgICAgICAgICAgICAgIGludCBzcmMwX3N0cmlkZV92LAorICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjMV95LAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjMV9z
dHJpZGVfeSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyYzFfdSwKKyAgICAg
ICAgICAgICAgICAgICAgaW50IHNyYzFfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmMxX3YsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmMxX3N0cmlkZV92
LAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGludCBoZWln
aHQsCisgICAgICAgICAgICAgICAgICAgIGludCBpbnRlcnBvbGF0aW9uKSB7CiAgIGludCBoYWxm
d2lkdGggPSAod2lkdGggKyAxKSA+PiAxOwogICBpbnQgaGFsZmhlaWdodCA9IChoZWlnaHQgKyAx
KSA+PiAxOwotICBpZiAoIXNyYzBfeSB8fCAhc3JjMF91IHx8ICFzcmMwX3YgfHwKLSAgICAgICFz
cmMxX3kgfHwgIXNyYzFfdSB8fCAhc3JjMV92IHx8Ci0gICAgICAhZHN0X3kgfHwgIWRzdF91IHx8
ICFkc3RfdiB8fAotICAgICAgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAoIXNy
YzBfeSB8fCAhc3JjMF91IHx8ICFzcmMwX3YgfHwgIXNyYzFfeSB8fCAhc3JjMV91IHx8ICFzcmMx
X3YgfHwKKyAgICAgICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRzdF92IHx8IHdpZHRoIDw9IDAgfHwg
aGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KLSAgSW50ZXJwb2xhdGVQbGFuZShz
cmMwX3ksIHNyYzBfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgc3JjMV95LCBzcmMxX3N0
cmlkZV95LAotICAgICAgICAgICAgICAgICAgIGRzdF95LCBkc3Rfc3RyaWRlX3ksCi0gICAgICAg
ICAgICAgICAgICAgd2lkdGgsIGhlaWdodCwgaW50ZXJwb2xhdGlvbik7Ci0gIEludGVycG9sYXRl
UGxhbmUoc3JjMF91LCBzcmMwX3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgIHNyYzFfdSwg
c3JjMV9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICBkc3RfdSwgZHN0X3N0cmlkZV91LAot
ICAgICAgICAgICAgICAgICAgIGhhbGZ3aWR0aCwgaGFsZmhlaWdodCwgaW50ZXJwb2xhdGlvbik7
Ci0gIEludGVycG9sYXRlUGxhbmUoc3JjMF92LCBzcmMwX3N0cmlkZV92LAotICAgICAgICAgICAg
ICAgICAgIHNyYzFfdiwgc3JjMV9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICBkc3Rfdiwg
ZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgICAgIGhhbGZ3aWR0aCwgaGFsZmhlaWdodCwg
aW50ZXJwb2xhdGlvbik7CisgIEludGVycG9sYXRlUGxhbmUoc3JjMF95LCBzcmMwX3N0cmlkZV95
LCBzcmMxX3ksIHNyYzFfc3RyaWRlX3ksIGRzdF95LAorICAgICAgICAgICAgICAgICAgIGRzdF9z
dHJpZGVfeSwgd2lkdGgsIGhlaWdodCwgaW50ZXJwb2xhdGlvbik7CisgIEludGVycG9sYXRlUGxh
bmUoc3JjMF91LCBzcmMwX3N0cmlkZV91LCBzcmMxX3UsIHNyYzFfc3RyaWRlX3UsIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgIGRzdF9zdHJpZGVfdSwgaGFsZndpZHRoLCBoYWxmaGVpZ2h0LCBp
bnRlcnBvbGF0aW9uKTsKKyAgSW50ZXJwb2xhdGVQbGFuZShzcmMwX3YsIHNyYzBfc3RyaWRlX3Ys
IHNyYzFfdiwgc3JjMV9zdHJpZGVfdiwgZHN0X3YsCisgICAgICAgICAgICAgICAgICAgZHN0X3N0
cmlkZV92LCBoYWxmd2lkdGgsIGhhbGZoZWlnaHQsIGludGVycG9sYXRpb24pOwogICByZXR1cm4g
MDsKIH0KIAogLy8gU2h1ZmZsZSBBUkdCIGNoYW5uZWwgb3JkZXIuICBlLmcuIEJHUkEgdG8gQVJH
Qi4KIExJQllVVl9BUEkKLWludCBBUkdCU2h1ZmZsZShjb25zdCB1aW50OCogc3JjX2JncmEsIGlu
dCBzcmNfc3RyaWRlX2JncmEsCi0gICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQg
ZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzaHVmZmxlciwg
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitpbnQgQVJHQlNodWZmbGUoY29uc3QgdWludDgqIHNy
Y19iZ3JhLAorICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2JncmEsCisgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2Fy
Z2IsCisgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLAorICAgICAgICAgICAg
ICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5Owog
ICB2b2lkICgqQVJHQlNodWZmbGVSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwgdWludDgqIGRz
dF9hcmdiLAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzaHVmZmxlciwg
aW50IHdpZHRoKSA9IEFSR0JTaHVmZmxlUm93X0M7Ci0gIGlmICghc3JjX2JncmEgfHwgIWRzdF9h
cmdiIHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3JjX2Jn
cmEgfHwgIWRzdF9hcmdiIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1
cm4gLTE7CiAgIH0KICAgLy8gTmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2Uu
CkBAIC0yMjM5LDggKzI0OTIsNyBAQCBpbnQgQVJHQlNodWZmbGUoY29uc3QgdWludDgqIHNyY19i
Z3JhLCBpbnQgc3JjX3N0cmlkZV9iZ3JhLAogICAgIHNyY19zdHJpZGVfYmdyYSA9IC1zcmNfc3Ry
aWRlX2JncmE7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVfYmdy
YSA9PSB3aWR0aCAqIDQgJiYKLSAgICAgIGRzdF9zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQpIHsK
KyAgaWYgKHNyY19zdHJpZGVfYmdyYSA9PSB3aWR0aCAqIDQgJiYgZHN0X3N0cmlkZV9hcmdiID09
IHdpZHRoICogNCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAg
IHNyY19zdHJpZGVfYmdyYSA9IGRzdF9zdHJpZGVfYXJnYiA9IDA7CkBAIC0yMjc3LDYgKzI1Mjks
MTQgQEAgaW50IEFSR0JTaHVmZmxlKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwgaW50IHNyY19zdHJp
ZGVfYmdyYSwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0FSR0JTSFVGRkxF
Uk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgQVJHQlNodWZm
bGVSb3cgPSBBUkdCU2h1ZmZsZVJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKHdpZHRo
LCA4KSkgeworICAgICAgQVJHQlNodWZmbGVSb3cgPSBBUkdCU2h1ZmZsZVJvd19NU0E7CisgICAg
fQorICB9CisjZW5kaWYKIAogICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICBB
UkdCU2h1ZmZsZVJvdyhzcmNfYmdyYSwgZHN0X2FyZ2IsIHNodWZmbGVyLCB3aWR0aCk7CkBAIC0y
Mjg3LDI4ICsyNTQ3LDMyIEBAIGludCBBUkdCU2h1ZmZsZShjb25zdCB1aW50OCogc3JjX2JncmEs
IGludCBzcmNfc3RyaWRlX2JncmEsCiB9CiAKIC8vIFNvYmVsIEFSR0IgZWZmZWN0Lgotc3RhdGlj
IGludCBBUkdCU29iZWxpemUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0
cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
LAorc3RhdGljIGludCBBUkdCU29iZWxpemUoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgdm9p
ZCAoKlNvYmVsUm93KShjb25zdCB1aW50OCogc3JjX3NvYmVseCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19zb2JlbHksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSkgewog
ICBpbnQgeTsKICAgdm9pZCAoKkFSR0JUb1lKUm93KShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVp
bnQ4KiBkc3RfZywgaW50IHdpZHRoKSA9CiAgICAgICBBUkdCVG9ZSlJvd19DOwotICB2b2lkICgq
U29iZWxZUm93KShjb25zdCB1aW50OCogc3JjX3kwLCBjb25zdCB1aW50OCogc3JjX3kxLAotICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3NvYmVseSwgaW50IHdpZHRoKSA9IFNvYmVsWVJv
d19DOworICB2b2lkICgqU29iZWxZUm93KShjb25zdCB1aW50OCogc3JjX3kwLCBjb25zdCB1aW50
OCogc3JjX3kxLCB1aW50OCogZHN0X3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSA9IFNvYmVsWVJvd19DOwogICB2b2lkICgqU29iZWxYUm93KShjb25zdCB1aW50OCogc3Jj
X3kwLCBjb25zdCB1aW50OCogc3JjX3kxLAogICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3kyLCB1aW50OCogZHN0X3NvYmVseSwgaW50IHdpZHRoKSA9CiAgICAgICBTb2JlbFhS
b3dfQzsKICAgY29uc3QgaW50IGtFZGdlID0gMTY7ICAvLyBFeHRyYSBwaXhlbHMgYXQgc3RhcnQg
b2Ygcm93IGZvciBleHRydWRlL2FsaWduLgotICBpZiAoIXNyY19hcmdiICB8fCAhZHN0X2FyZ2Ig
fHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCkgeworICBpZiAoIXNyY19hcmdiIHx8ICFkc3Rf
YXJnYiB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwogICB9
CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgogICBpZiAoaGVp
Z2h0IDwgMCkgewogICAgIGhlaWdodCA9IC1oZWlnaHQ7Ci0gICAgc3JjX2FyZ2IgID0gc3JjX2Fy
Z2IgICsgKGhlaWdodCAtIDEpICogc3JjX3N0cmlkZV9hcmdiOworICAgIHNyY19hcmdiID0gc3Jj
X2FyZ2IgKyAoaGVpZ2h0IC0gMSkgKiBzcmNfc3RyaWRlX2FyZ2I7CiAgICAgc3JjX3N0cmlkZV9h
cmdiID0gLXNyY19zdHJpZGVfYXJnYjsKICAgfQogCkBAIC0yMzM2LDYgKzI2MDAsMTQgQEAgc3Rh
dGljIGludCBBUkdCU29iZWxpemUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlk
ZV9hcmdiLAogICAgIH0KICAgfQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfQVJHQlRPWUpST1df
TVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBBUkdCVG9ZSlJvdyA9
IEFSR0JUb1lKUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDE2KSkgewor
ICAgICAgQVJHQlRvWUpSb3cgPSBBUkdCVG9ZSlJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYK
IAogI2lmIGRlZmluZWQoSEFTX1NPQkVMWVJPV19TU0UyKQogICBpZiAoVGVzdENwdUZsYWcoa0Nw
dUhhc1NTRTIpKSB7CkBAIC0yNDA3LDkgKzI2NzksMTIgQEAgc3RhdGljIGludCBBUkdCU29iZWxp
emUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogCiAvLyBTb2Jl
bCBBUkdCIGVmZmVjdC4KIExJQllVVl9BUEkKLWludCBBUkdCU29iZWwoY29uc3QgdWludDgqIHNy
Y19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhl
aWdodCkgeworaW50IEFSR0JTb2JlbChjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
KyAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIHZvaWQgKCpTb2JlbFJvdykoY29u
c3QgdWludDgqIHNyY19zb2JlbHgsIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAogICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSA9IFNvYmVsUm93X0M7CiAjaWYg
ZGVmaW5lZChIQVNfU09CRUxST1dfU1NFMikKQEAgLTI0MjgsMTUgKzI3MDMsMjYgQEAgaW50IEFS
R0JTb2JlbChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAg
fQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19TT0JFTFJPV19NU0EpCisgIGlmIChUZXN0
Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIFNvYmVsUm93ID0gU29iZWxSb3dfQW55X01TQTsK
KyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAgICBTb2JlbFJvdyA9IFNvYmVs
Um93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogICByZXR1cm4gQVJHQlNvYmVsaXplKHNyY19h
cmdiLCBzcmNfc3RyaWRlX2FyZ2IsIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAg
ICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCwgU29iZWxSb3cpOwogfQogCiAvLyBTb2JlbCBB
UkdCIGVmZmVjdCB3aXRoIHBsYW5hciBvdXRwdXQuCiBMSUJZVVZfQVBJCi1pbnQgQVJHQlNvYmVs
VG9QbGFuZShjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCBkc3Rfc3RyaWRlX3ksCi0gICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCU29iZWxUb1Bs
YW5lKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICB2b2lkICgqU29i
ZWxUb1BsYW5lUm93KShjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgqIHNyY19z
b2JlbHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfLCBpbnQgd2lkdGgp
ID0gU29iZWxUb1BsYW5lUm93X0M7CiAjaWYgZGVmaW5lZChIQVNfU09CRUxUT1BMQU5FUk9XX1NT
RTIpCkBAIC0yNDU1LDE2ICsyNzQxLDI3IEBAIGludCBBUkdCU29iZWxUb1BsYW5lKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICB9CiAgIH0KICNlbmRpZgot
ICByZXR1cm4gQVJHQlNvYmVsaXplKHNyY19hcmdiLCBzcmNfc3RyaWRlX2FyZ2IsIGRzdF95LCBk
c3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCwgU29iZWxU
b1BsYW5lUm93KTsKKyNpZiBkZWZpbmVkKEhBU19TT0JFTFRPUExBTkVST1dfTVNBKQorICBpZiAo
VGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAgICBTb2JlbFRvUGxhbmVSb3cgPSBTb2JlbFRv
UGxhbmVSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMzIpKSB7CisgICAg
ICBTb2JlbFRvUGxhbmVSb3cgPSBTb2JlbFRvUGxhbmVSb3dfTVNBOworICAgIH0KKyAgfQorI2Vu
ZGlmCisgIHJldHVybiBBUkdCU29iZWxpemUoc3JjX2FyZ2IsIHNyY19zdHJpZGVfYXJnYiwgZHN0
X3ksIGRzdF9zdHJpZGVfeSwgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0LCBT
b2JlbFRvUGxhbmVSb3cpOwogfQogCiAvLyBTb2JlbFhZIEFSR0IgZWZmZWN0LgogLy8gU2ltaWxh
ciB0byBTb2JlbCwgYnV0IGFsc28gc3RvcmVzIFNvYmVsIFggaW4gUiBhbmQgU29iZWwgWSBpbiBC
LiAgRyA9IFNvYmVsLgogTElCWVVWX0FQSQotaW50IEFSR0JTb2JlbFhZKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KSB7CitpbnQgQVJHQlNvYmVsWFkoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAg
ICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgdm9p
ZCAoKlNvYmVsWFlSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3Jj
X3NvYmVseSwKICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRo
KSA9IFNvYmVsWFlSb3dfQzsKICNpZiBkZWZpbmVkKEhBU19TT0JFTFhZUk9XX1NTRTIpCkBAIC0y
NDgzLDMyICsyNzgwLDQxIEBAIGludCBBUkdCU29iZWxYWShjb25zdCB1aW50OCogc3JjX2FyZ2Is
IGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhB
U19TT0JFTFhZUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAg
U29iZWxYWVJvdyA9IFNvYmVsWFlSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0
aCwgMTYpKSB7CisgICAgICBTb2JlbFhZUm93ID0gU29iZWxYWVJvd19NU0E7CisgICAgfQorICB9
CisjZW5kaWYKICAgcmV0dXJuIEFSR0JTb2JlbGl6ZShzcmNfYXJnYiwgc3JjX3N0cmlkZV9hcmdi
LCBkc3RfYXJnYiwgZHN0X3N0cmlkZV9hcmdiLAogICAgICAgICAgICAgICAgICAgICAgIHdpZHRo
LCBoZWlnaHQsIFNvYmVsWFlSb3cpOwogfQogCiAvLyBBcHBseSBhIDR4NCBwb2x5bm9taWFsIHRv
IGVhY2ggQVJHQiBwaXhlbC4KIExJQllVVl9BUEkKLWludCBBUkdCUG9seW5vbWlhbChjb25zdCB1
aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAoraW50IEFSR0JQb2x5bm9taWFs
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZV9hcmdiLAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAogICAgICAgICAgICAgICAgICAgIGNvbnN0IGZs
b2F0KiBwb2x5LAotICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewor
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgaGVp
Z2h0KSB7CiAgIGludCB5OwotICB2b2lkICgqQVJHQlBvbHlub21pYWxSb3cpKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
IGNvbnN0IGZsb2F0KiBwb2x5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCkgPSBBUkdCUG9seW5vbWlhbFJvd19DOworICB2b2lkICgqQVJHQlBvbHlub21pYWxSb3cpKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IGZsb2F0KiBwb2x5LCBpbnQgd2lkdGgpID0gQVJHQlBvbHlub21pYWxS
b3dfQzsKICAgaWYgKCFzcmNfYXJnYiB8fCAhZHN0X2FyZ2IgfHwgIXBvbHkgfHwgd2lkdGggPD0g
MCB8fCBoZWlnaHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBo
ZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KICAgaWYgKGhlaWdodCA8IDApIHsKICAgICBo
ZWlnaHQgPSAtaGVpZ2h0OwotICAgIHNyY19hcmdiICA9IHNyY19hcmdiICArIChoZWlnaHQgLSAx
KSAqIHNyY19zdHJpZGVfYXJnYjsKKyAgICBzcmNfYXJnYiA9IHNyY19hcmdiICsgKGhlaWdodCAt
IDEpICogc3JjX3N0cmlkZV9hcmdiOwogICAgIHNyY19zdHJpZGVfYXJnYiA9IC1zcmNfc3RyaWRl
X2FyZ2I7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYgKHNyY19zdHJpZGVfYXJnYiA9
PSB3aWR0aCAqIDQgJiYKLSAgICAgIGRzdF9zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQpIHsKKyAg
aWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYgZHN0X3N0cmlkZV9hcmdiID09IHdp
ZHRoICogNCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWlnaHQgPSAxOwogICAgIHNy
Y19zdHJpZGVfYXJnYiA9IGRzdF9zdHJpZGVfYXJnYiA9IDA7CkBAIC0yNTM2LDE0ICsyODQyLDE3
IEBAIGludCBBUkdCUG9seW5vbWlhbChjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3Ry
aWRlX2FyZ2IsCiAvLyBDb252ZXJ0IHBsYW5lIG9mIDE2IGJpdCBzaG9ydHMgdG8gaGFsZiBmbG9h
dHMuCiAvLyBTb3VyY2UgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IHNjYWxlIGJlZm9yZSBzdG9y
aW5nIGFzIGhhbGYgZmxvYXQuCiBMSUJZVVZfQVBJCi1pbnQgSGFsZkZsb2F0UGxhbmUoY29uc3Qg
dWludDE2KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICB1aW50
MTYqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAoraW50IEhhbGZGbG9hdFBsYW5lKGNvbnN0IHVp
bnQxNiogc3JjX3ksCisgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAg
ICAgICAgICAgICAgICB1aW50MTYqIGRzdF95LAorICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlX3ksCiAgICAgICAgICAgICAgICAgICAgZmxvYXQgc2NhbGUsCi0gICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CisgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IHk7CiAgIHZvaWQg
KCpIYWxmRmxvYXRSb3cpKGNvbnN0IHVpbnQxNiogc3JjLCB1aW50MTYqIGRzdCwgZmxvYXQgc2Nh
bGUsIGludCB3aWR0aCkgPQogICAgICAgSGFsZkZsb2F0Um93X0M7Ci0gIGlmICghc3JjX3kgfHwg
IWRzdF95ICB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CisgIGlmICghc3JjX3kgfHwg
IWRzdF95IHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAg
IH0KICAgc3JjX3N0cmlkZV95ID4+PSAxOwpAQCAtMjU1MSwxMiArMjg2MCwxMSBAQCBpbnQgSGFs
ZkZsb2F0UGxhbmUoY29uc3QgdWludDE2KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKICAgLy8g
TmVnYXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCiAgIGlmIChoZWlnaHQgPCAw
KSB7CiAgICAgaGVpZ2h0ID0gLWhlaWdodDsKLSAgICBzcmNfeSAgPSBzcmNfeSAgKyAoaGVpZ2h0
IC0gMSkgKiBzcmNfc3RyaWRlX3k7CisgICAgc3JjX3kgPSBzcmNfeSArIChoZWlnaHQgLSAxKSAq
IHNyY19zdHJpZGVfeTsKICAgICBzcmNfc3RyaWRlX3kgPSAtc3JjX3N0cmlkZV95OwogICB9CiAg
IC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX3kgPT0gd2lkdGggJiYKLSAgICAg
IGRzdF9zdHJpZGVfeSA9PSB3aWR0aCkgeworICBpZiAoc3JjX3N0cmlkZV95ID09IHdpZHRoICYm
IGRzdF9zdHJpZGVfeSA9PSB3aWR0aCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBoZWln
aHQgPSAxOwogICAgIHNyY19zdHJpZGVfeSA9IGRzdF9zdHJpZGVfeSA9IDA7CkBAIC0yNTc5LDE3
ICsyODg3LDE5IEBAIGludCBIYWxmRmxvYXRQbGFuZShjb25zdCB1aW50MTYqIHNyY195LCBpbnQg
c3JjX3N0cmlkZV95LAogI2VuZGlmCiAjaWYgZGVmaW5lZChIQVNfSEFMRkZMT0FUUk9XX0YxNkMp
CiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzQVZYMikgJiYgVGVzdENwdUZsYWcoa0NwdUhhc0Yx
NkMpKSB7Ci0gICAgSGFsZkZsb2F0Um93ID0gSGFsZkZsb2F0Um93X0FueV9GMTZDOworICAgIEhh
bGZGbG9hdFJvdyA9CisgICAgICAgIChzY2FsZSA9PSAxLjBmKSA/IEhhbGZGbG9hdDFSb3dfQW55
X0YxNkMgOiBIYWxmRmxvYXRSb3dfQW55X0YxNkM7CiAgICAgaWYgKElTX0FMSUdORUQod2lkdGgs
IDE2KSkgewotICAgICAgSGFsZkZsb2F0Um93ID0gSGFsZkZsb2F0Um93X0YxNkM7CisgICAgICBI
YWxmRmxvYXRSb3cgPSAoc2NhbGUgPT0gMS4wZikgPyBIYWxmRmxvYXQxUm93X0YxNkMgOiBIYWxm
RmxvYXRSb3dfRjE2QzsKICAgICB9CiAgIH0KICNlbmRpZgogI2lmIGRlZmluZWQoSEFTX0hBTEZG
TE9BVFJPV19ORU9OKQogICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc05FT04pKSB7Ci0gICAgSGFs
ZkZsb2F0Um93ID0gSGFsZkZsb2F0Um93X0FueV9ORU9OOworICAgIEhhbGZGbG9hdFJvdyA9Cisg
ICAgICAgIChzY2FsZSA9PSAxLjBmKSA/IEhhbGZGbG9hdDFSb3dfQW55X05FT04gOiBIYWxmRmxv
YXRSb3dfQW55X05FT047CiAgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7Ci0gICAgICBI
YWxmRmxvYXRSb3cgPSBIYWxmRmxvYXRSb3dfTkVPTjsKKyAgICAgIEhhbGZGbG9hdFJvdyA9IChz
Y2FsZSA9PSAxLjBmKSA/IEhhbGZGbG9hdDFSb3dfTkVPTiA6IEhhbGZGbG9hdFJvd19ORU9OOwog
ICAgIH0KICAgfQogI2VuZGlmCkBAIC0yNjA0LDI2ICsyOTE0LDI4IEBAIGludCBIYWxmRmxvYXRQ
bGFuZShjb25zdCB1aW50MTYqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogCiAvLyBBcHBseSBh
IGx1bWFjb2xvcnRhYmxlIHRvIGVhY2ggQVJHQiBwaXhlbC4KIExJQllVVl9BUEkKLWludCBBUkdC
THVtYUNvbG9yVGFibGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRl
X2FyZ2IsCitpbnQgQVJHQkx1bWFDb2xvclRhYmxlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3N0cmlkZV9hcmdiLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogbHVtYSwK
LSAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CisgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGhl
aWdodCkgewogICBpbnQgeTsKLSAgdm9pZCAoKkFSR0JMdW1hQ29sb3JUYWJsZVJvdykoY29uc3Qg
dWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCi0gICAgICBpbnQgd2lkdGgsIGNvbnN0
IHVpbnQ4KiBsdW1hLCBjb25zdCB1aW50MzIgbHVtYWNvZWZmKSA9Ci0gICAgICBBUkdCTHVtYUNv
bG9yVGFibGVSb3dfQzsKKyAgdm9pZCAoKkFSR0JMdW1hQ29sb3JUYWJsZVJvdykoCisgICAgICBj
b25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoLCBjb25zdCB1
aW50OCogbHVtYSwKKyAgICAgIGNvbnN0IHVpbnQzMiBsdW1hY29lZmYpID0gQVJHQkx1bWFDb2xv
clRhYmxlUm93X0M7CiAgIGlmICghc3JjX2FyZ2IgfHwgIWRzdF9hcmdiIHx8ICFsdW1hIHx8IHdp
ZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KICAgLy8gTmVn
YXRpdmUgaGVpZ2h0IG1lYW5zIGludmVydCB0aGUgaW1hZ2UuCiAgIGlmIChoZWlnaHQgPCAwKSB7
CiAgICAgaGVpZ2h0ID0gLWhlaWdodDsKLSAgICBzcmNfYXJnYiAgPSBzcmNfYXJnYiAgKyAoaGVp
Z2h0IC0gMSkgKiBzcmNfc3RyaWRlX2FyZ2I7CisgICAgc3JjX2FyZ2IgPSBzcmNfYXJnYiArICho
ZWlnaHQgLSAxKSAqIHNyY19zdHJpZGVfYXJnYjsKICAgICBzcmNfc3RyaWRlX2FyZ2IgPSAtc3Jj
X3N0cmlkZV9hcmdiOwogICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRl
X2FyZ2IgPT0gd2lkdGggKiA0ICYmCi0gICAgICBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0
KSB7CisgIGlmIChzcmNfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0ICYmIGRzdF9zdHJpZGVfYXJn
YiA9PSB3aWR0aCAqIDQpIHsKICAgICB3aWR0aCAqPSBoZWlnaHQ7CiAgICAgaGVpZ2h0ID0gMTsK
ICAgICBzcmNfc3RyaWRlX2FyZ2IgPSBkc3Rfc3RyaWRlX2FyZ2IgPSAwOwpAQCAtMjY0NCw5ICsy
OTU2LDEyIEBAIGludCBBUkdCTHVtYUNvbG9yVGFibGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBp
bnQgc3JjX3N0cmlkZV9hcmdiLAogCiAvLyBDb3B5IEFscGhhIGZyb20gb25lIEFSR0IgaW1hZ2Ug
dG8gYW5vdGhlci4KIExJQllVVl9BUEkKLWludCBBUkdCQ29weUFscGhhKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwgaW50IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCwgaW50IGhlaWdodCkgeworaW50IEFSR0JDb3B5QWxwaGEoY29uc3QgdWludDgqIHNyY19hcmdi
LAorICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2Fy
Z2IsCisgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICBpbnQg
aGVpZ2h0KSB7CiAgIGludCB5OwogICB2b2lkICgqQVJHQkNvcHlBbHBoYVJvdykoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgPQogICAgICAgQVJHQkNv
cHlBbHBoYVJvd19DOwpAQCAtMjY2MCw4ICsyOTc1LDcgQEAgaW50IEFSR0JDb3B5QWxwaGEoY29u
c3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICAgIHNyY19zdHJpZGVf
YXJnYiA9IC1zcmNfc3RyaWRlX2FyZ2I7CiAgIH0KICAgLy8gQ29hbGVzY2Ugcm93cy4KLSAgaWYg
KHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYKLSAgICAgIGRzdF9zdHJpZGVfYXJnYiA9
PSB3aWR0aCAqIDQpIHsKKyAgaWYgKHNyY19zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQgJiYgZHN0
X3N0cmlkZV9hcmdiID09IHdpZHRoICogNCkgewogICAgIHdpZHRoICo9IGhlaWdodDsKICAgICBo
ZWlnaHQgPSAxOwogICAgIHNyY19zdHJpZGVfYXJnYiA9IGRzdF9zdHJpZGVfYXJnYiA9IDA7CkBA
IC0yNjkzLDkgKzMwMDcsMTIgQEAgaW50IEFSR0JDb3B5QWxwaGEoY29uc3QgdWludDgqIHNyY19h
cmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogCiAvLyBFeHRyYWN0IGp1c3QgdGhlIGFscGhhIGNo
YW5uZWwgZnJvbSBBUkdCLgogTElCWVVWX0FQSQotaW50IEFSR0JFeHRyYWN0QWxwaGEoY29uc3Qg
dWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYSwgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdCRXh0cmFjdEFscGhhKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYiwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hLAorICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAg
ICBpbnQgaGVpZ2h0KSB7CiAgIGlmICghc3JjX2FyZ2IgfHwgIWRzdF9hIHx8IHdpZHRoIDw9IDAg
fHwgaGVpZ2h0ID09IDApIHsKICAgICByZXR1cm4gLTE7CiAgIH0KQEAgLTI3MTEsNyArMzAyOCw3
IEBAIGludCBBUkdCRXh0cmFjdEFscGhhKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19z
dHJpZGUsCiAgICAgaGVpZ2h0ID0gMTsKICAgICBzcmNfc3RyaWRlID0gZHN0X3N0cmlkZSA9IDA7
CiAgIH0KLSAgdm9pZCAoKkFSR0JFeHRyYWN0QWxwaGFSb3cpKGNvbnN0IHVpbnQ4ICpzcmNfYXJn
YiwgdWludDggKmRzdF9hLCBpbnQgd2lkdGgpID0KKyAgdm9pZCAoKkFSR0JFeHRyYWN0QWxwaGFS
b3cpKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hLCBpbnQgd2lkdGgpID0KICAg
ICAgIEFSR0JFeHRyYWN0QWxwaGFSb3dfQzsKICNpZiBkZWZpbmVkKEhBU19BUkdCRVhUUkFDVEFM
UEhBUk9XX1NTRTIpCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzU1NFMikpIHsKQEAgLTI3NDIs
OSArMzA1OSwxMiBAQCBpbnQgQVJHQkV4dHJhY3RBbHBoYShjb25zdCB1aW50OCogc3JjX2FyZ2Is
IGludCBzcmNfc3RyaWRlLAogCiAvLyBDb3B5IGEgcGxhbmFyIFkgY2hhbm5lbCB0byB0aGUgYWxw
aGEgY2hhbm5lbCBvZiBhIGRlc3RpbmF0aW9uIEFSR0IgaW1hZ2UuCiBMSUJZVVZfQVBJCi1pbnQg
QVJHQkNvcHlZVG9BbHBoYShjb25zdCB1aW50OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCi0g
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2Is
Ci0gICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBBUkdC
Q29weVlUb0FscGhhKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICBp
bnQgeTsKICAgdm9pZCAoKkFSR0JDb3B5WVRvQWxwaGFSb3cpKGNvbnN0IHVpbnQ4KiBzcmNfeSwg
dWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpID0KICAgICAgIEFSR0JDb3B5WVRvQWxwaGFSb3df
QzsKQEAgLTI3NTgsOCArMzA3OCw3IEBAIGludCBBUkdCQ29weVlUb0FscGhhKGNvbnN0IHVpbnQ4
KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKICAgICBzcmNfc3RyaWRlX3kgPSAtc3JjX3N0cmlk
ZV95OwogICB9CiAgIC8vIENvYWxlc2NlIHJvd3MuCi0gIGlmIChzcmNfc3RyaWRlX3kgPT0gd2lk
dGggJiYKLSAgICAgIGRzdF9zdHJpZGVfYXJnYiA9PSB3aWR0aCAqIDQpIHsKKyAgaWYgKHNyY19z
dHJpZGVfeSA9PSB3aWR0aCAmJiBkc3Rfc3RyaWRlX2FyZ2IgPT0gd2lkdGggKiA0KSB7CiAgICAg
d2lkdGggKj0gaGVpZ2h0OwogICAgIGhlaWdodCA9IDE7CiAgICAgc3JjX3N0cmlkZV95ID0gZHN0
X3N0cmlkZV9hcmdiID0gMDsKQEAgLTI3ODksMjUgKzMxMDgsMjYgQEAgaW50IEFSR0JDb3B5WVRv
QWxwaGEoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAogICByZXR1cm4gMDsK
IH0KIAotCiAvLyBUT0RPKGZiYXJjaGFyZCk6IENvbnNpZGVyIGlmIHdpZHRoIGlzIGV2ZW4gWSBj
aGFubmVsIGNhbiBiZSBzcGxpdAogLy8gZGlyZWN0bHkuIEEgU3BsaXRVVlJvd19PZGQgZnVuY3Rp
b24gY291bGQgY29weSB0aGUgcmVtYWluaW5nIGNocm9tYS4KIAogTElCWVVWX0FQSQotaW50IFlV
WTJUb05WMTIoY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95dXkyLAotICAg
ICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91diwgaW50IGRzdF9zdHJpZGVfdXYsCi0gICAgICAgICAgICAgICBpbnQg
d2lkdGgsIGludCBoZWlnaHQpIHsKK2ludCBZVVkyVG9OVjEyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5
MiwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3l1eTIsCisgICAgICAgICAgICAgICB1
aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91diwKKyAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3V2LAor
ICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewog
ICBpbnQgeTsKICAgaW50IGhhbGZ3aWR0aCA9ICh3aWR0aCArIDEpID4+IDE7CiAgIHZvaWQgKCpT
cGxpdFVWUm93KShjb25zdCB1aW50OCogc3JjX3V2LCB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rf
diwKICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgPSBTcGxpdFVWUm93X0M7Ci0gIHZv
aWQgKCpJbnRlcnBvbGF0ZVJvdykodWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LAorICB2b2lkICgqSW50ZXJwb2xhdGVSb3cpKHVpbnQ4ICogZHN0X3B0ciwgY29uc3QgdWludDgq
IHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUs
IGludCBkc3Rfd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNvdXJjZV95X2Zy
YWN0aW9uKSA9IEludGVycG9sYXRlUm93X0M7Ci0gIGlmICghc3JjX3l1eTIgfHwKLSAgICAgICFk
c3RfeSB8fCAhZHN0X3V2IHx8Ci0gICAgICB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7Cisg
IGlmICghc3JjX3l1eTIgfHwgIWRzdF95IHx8ICFkc3RfdXYgfHwgd2lkdGggPD0gMCB8fCBoZWln
aHQgPT0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVh
bnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTI4NjQsNiArMzE4NCwxNCBAQCBpbnQgWVVZMlRvTlYx
Mihjb25zdCB1aW50OCogc3JjX3l1eTIsIGludCBzcmNfc3RyaWRlX3l1eTIsCiAgICAgfQogICB9
CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19JTlRFUlBPTEFURVJPV19NU0EpCisgIGlmIChUZXN0
Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEludGVycG9sYXRlUm93ID0gSW50ZXJwb2xhdGVS
b3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMzIpKSB7CisgICAgICBJbnRl
cnBvbGF0ZVJvdyA9IEludGVycG9sYXRlUm93X01TQTsKKyAgICB9CisgIH0KKyNlbmRpZgogCiAg
IHsKICAgICBpbnQgYXdpZHRoID0gaGFsZndpZHRoICogMjsKQEAgLTI4OTIsMjAgKzMyMjAsMjIg
QEAgaW50IFlVWTJUb05WMTIoY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95
dXkyLAogfQogCiBMSUJZVVZfQVBJCi1pbnQgVVlWWVRvTlYxMihjb25zdCB1aW50OCogc3JjX3V5
dnksIGludCBzcmNfc3RyaWRlX3V5dnksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGlu
dCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LCBpbnQgZHN0X3N0
cmlkZV91diwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgeworaW50IFVZ
VllUb05WMTIoY29uc3QgdWludDgqIHNyY191eXZ5LAorICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGVfdXl2eSwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAg
IGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LAorICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfdXYsCisgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCB5OwogICBpbnQgaGFsZndpZHRoID0g
KHdpZHRoICsgMSkgPj4gMTsKICAgdm9pZCAoKlNwbGl0VVZSb3cpKGNvbnN0IHVpbnQ4KiBzcmNf
dXYsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAogICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSA9IFNwbGl0VVZSb3dfQzsKLSAgdm9pZCAoKkludGVycG9sYXRlUm93KSh1aW50OCog
ZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCisgIHZvaWQgKCpJbnRlcnBvbGF0ZVJvdyko
dWludDggKiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgaW50IGRzdF93aWR0aCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc291cmNlX3lfZnJhY3Rpb24pID0gSW50ZXJwb2xhdGVSb3dfQzsK
LSAgaWYgKCFzcmNfdXl2eSB8fAotICAgICAgIWRzdF95IHx8ICFkc3RfdXYgfHwKLSAgICAgIHdp
ZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDApIHsKKyAgaWYgKCFzcmNfdXl2eSB8fCAhZHN0X3kgfHwg
IWRzdF91diB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwKSB7CiAgICAgcmV0dXJuIC0xOwog
ICB9CiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQgdGhlIGltYWdlLgpAQCAtMjk2
Miw2ICszMjkyLDE0IEBAIGludCBVWVZZVG9OVjEyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgaW50
IHNyY19zdHJpZGVfdXl2eSwKICAgICB9CiAgIH0KICNlbmRpZgorI2lmIGRlZmluZWQoSEFTX0lO
VEVSUE9MQVRFUk9XX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAg
SW50ZXJwb2xhdGVSb3cgPSBJbnRlcnBvbGF0ZVJvd19BbnlfTVNBOworICAgIGlmIChJU19BTElH
TkVEKHdpZHRoLCAzMikpIHsKKyAgICAgIEludGVycG9sYXRlUm93ID0gSW50ZXJwb2xhdGVSb3df
TVNBOworICAgIH0KKyAgfQorI2VuZGlmCiAKICAgewogICAgIGludCBhd2lkdGggPSBoYWxmd2lk
dGggKiAyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZS5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3RhdGUuY2MKaW5kZXgg
YmQzNmU4MWZiZGZlYTEzYmJlNDYzOWUyNWM0NDIzMjRlNjY1MTc3Zi4uNDMzMDg4NGNlZWMzN2Y3
MDNhNzNjMzdiMzM5ZjQyZDg1MzIyNDVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZS5jYworKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9z
b3VyY2Uvcm90YXRlLmNjCkBAIC0xMCw4ICsxMCw4IEBACiAKICNpbmNsdWRlICJsaWJ5dXYvcm90
YXRlLmgiCiAKLSNpbmNsdWRlICJsaWJ5dXYvY3B1X2lkLmgiCiAjaW5jbHVkZSAibGlieXV2L2Nv
bnZlcnQuaCIKKyNpbmNsdWRlICJsaWJ5dXYvY3B1X2lkLmgiCiAjaW5jbHVkZSAibGlieXV2L3Bs
YW5hcl9mdW5jdGlvbnMuaCIKICNpbmNsdWRlICJsaWJ5dXYvcm90YXRlX3Jvdy5oIgogI2luY2x1
ZGUgImxpYnl1di9yb3cuaCIKQEAgLTIyLDEyICsyMiwyMCBAQCBleHRlcm4gIkMiIHsKICNlbmRp
ZgogCiBMSUJZVVZfQVBJCi12b2lkIFRyYW5zcG9zZVBsYW5lKGNvbnN0IHVpbnQ4KiBzcmMsIGlu
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Cit2b2lk
IFRyYW5zcG9zZVBsYW5lKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
LAorICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCBpID0gaGVpZ2h0Owot
ICB2b2lkICgqVHJhbnNwb3NlV3g4KShjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUsIGludCB3
aWR0aCkgPSBUcmFuc3Bvc2VXeDhfQzsKKyNpZiBkZWZpbmVkKEhBU19UUkFOU1BPU0VXWDE2X01T
QSkKKyAgdm9pZCAoKlRyYW5zcG9zZVd4MTYpKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3Ry
aWRlLCB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUs
IGludCB3aWR0aCkgPSBUcmFuc3Bvc2VXeDE2X0M7CisjZWxzZQorICB2b2lkICgqVHJhbnNwb3Nl
V3g4KShjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwgdWludDgqIGRzdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsIGludCB3aWR0aCkgPSBUcmFuc3Bvc2VX
eDhfQzsKKyNlbmRpZgogI2lmIGRlZmluZWQoSEFTX1RSQU5TUE9TRVdYOF9ORU9OKQogICBpZiAo
VGVzdENwdUZsYWcoa0NwdUhhc05FT04pKSB7CiAgICAgVHJhbnNwb3NlV3g4ID0gVHJhbnNwb3Nl
V3g4X05FT047CkBAIC01MSwyMiArNTksNDAgQEAgdm9pZCBUcmFuc3Bvc2VQbGFuZShjb25zdCB1
aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKICNlbmRpZgogI2lmIGRlZmluZWQoSEFTX1RSQU5T
UE9TRVdYOF9EU1BSMikKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikpIHsKLSAgICBp
ZiAoSVNfQUxJR05FRCh3aWR0aCwgNCkgJiYKLSAgICAgICAgSVNfQUxJR05FRChzcmMsIDQpICYm
IElTX0FMSUdORUQoc3JjX3N0cmlkZSwgNCkpIHsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwg
NCkgJiYgSVNfQUxJR05FRChzcmMsIDQpICYmCisgICAgICAgIElTX0FMSUdORUQoc3JjX3N0cmlk
ZSwgNCkpIHsKICAgICAgIFRyYW5zcG9zZVd4OCA9IFRyYW5zcG9zZVd4OF9GYXN0X0RTUFIyOwog
ICAgIH0gZWxzZSB7CiAgICAgICBUcmFuc3Bvc2VXeDggPSBUcmFuc3Bvc2VXeDhfRFNQUjI7CiAg
ICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19UUkFOU1BPU0VXWDE2X01TQSkKKyAg
aWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgVHJhbnNwb3NlV3gxNiA9IFRyYW5z
cG9zZVd4MTZfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRCh3aWR0aCwgMTYpKSB7CisgICAg
ICBUcmFuc3Bvc2VXeDE2ID0gVHJhbnNwb3NlV3gxNl9NU0E7CisgICAgfQorICB9CisjZW5kaWYK
IAorI2lmIGRlZmluZWQoSEFTX1RSQU5TUE9TRVdYMTZfTVNBKQorICAvLyBXb3JrIGFjcm9zcyB0
aGUgc291cmNlIGluIDE2eDE2IHRpbGVzCisgIHdoaWxlIChpID49IDE2KSB7CisgICAgVHJhbnNw
b3NlV3gxNihzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgd2lkdGgpOworICAgIHNy
YyArPSAxNiAqIHNyY19zdHJpZGU7ICAvLyBHbyBkb3duIDE2IHJvd3MuCisgICAgZHN0ICs9IDE2
OyAgICAgICAgICAgICAgIC8vIE1vdmUgb3ZlciAxNiBjb2x1bW5zLgorICAgIGkgLT0gMTY7Cisg
IH0KKyNlbHNlCiAgIC8vIFdvcmsgYWNyb3NzIHRoZSBzb3VyY2UgaW4gOHg4IHRpbGVzCiAgIHdo
aWxlIChpID49IDgpIHsKICAgICBUcmFuc3Bvc2VXeDgoc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRz
dF9zdHJpZGUsIHdpZHRoKTsKLSAgICBzcmMgKz0gOCAqIHNyY19zdHJpZGU7ICAgIC8vIEdvIGRv
d24gOCByb3dzLgotICAgIGRzdCArPSA4OyAgICAgICAgICAgICAgICAgLy8gTW92ZSBvdmVyIDgg
Y29sdW1ucy4KKyAgICBzcmMgKz0gOCAqIHNyY19zdHJpZGU7ICAvLyBHbyBkb3duIDggcm93cy4K
KyAgICBkc3QgKz0gODsgICAgICAgICAgICAgICAvLyBNb3ZlIG92ZXIgOCBjb2x1bW5zLgogICAg
IGkgLT0gODsKICAgfQorI2VuZGlmCiAKICAgaWYgKGkgPiAwKSB7CiAgICAgVHJhbnNwb3NlV3hI
X0Moc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsIHdpZHRoLCBpKTsKQEAgLTc0LDkg
KzEwMCwxMiBAQCB2b2lkIFRyYW5zcG9zZVBsYW5lKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNf
c3RyaWRlLAogfQogCiBMSUJZVVZfQVBJCi12b2lkIFJvdGF0ZVBsYW5lOTAoY29uc3QgdWludDgq
IHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50
IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7
Cit2b2lkIFJvdGF0ZVBsYW5lOTAoY29uc3QgdWludDgqIHNyYywKKyAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIC8vIFJvdGF0ZSBieSA5MCBp
cyBhIHRyYW5zcG9zZSB3aXRoIHRoZSBzb3VyY2UgcmVhZAogICAvLyBmcm9tIGJvdHRvbSB0byB0
b3AuIFNvIHNldCB0aGUgc291cmNlIHBvaW50ZXIgdG8gdGhlIGVuZAogICAvLyBvZiB0aGUgYnVm
ZmVyIGFuZCBmbGlwIHRoZSBzaWduIG9mIHRoZSBzb3VyY2Ugc3RyaWRlLgpAQCAtODYsOSArMTE1
LDEyIEBAIHZvaWQgUm90YXRlUGxhbmU5MChjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlk
ZSwKIH0KIAogTElCWVVWX0FQSQotdm9pZCBSb3RhdGVQbGFuZTI3MChjb25zdCB1aW50OCogc3Jj
LCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRz
dF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkgewor
dm9pZCBSb3RhdGVQbGFuZTI3MChjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICAvLyBSb3RhdGUgYnkg
MjcwIGlzIGEgdHJhbnNwb3NlIHdpdGggdGhlIGRlc3RpbmF0aW9uIHdyaXR0ZW4KICAgLy8gZnJv
bSBib3R0b20gdG8gdG9wLiBTbyBzZXQgdGhlIGRlc3RpbmF0aW9uIHBvaW50ZXIgdG8gdGhlIGVu
ZAogICAvLyBvZiB0aGUgYnVmZmVyIGFuZCBmbGlwIHRoZSBzaWduIG9mIHRoZSBkZXN0aW5hdGlv
biBzdHJpZGUuCkBAIC05OCw5ICsxMzAsMTIgQEAgdm9pZCBSb3RhdGVQbGFuZTI3MChjb25zdCB1
aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKIH0KIAogTElCWVVWX0FQSQotdm9pZCBSb3RhdGVQ
bGFuZTE4MChjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwgaW50IGhlaWdodCkgewordm9pZCBSb3RhdGVQbGFuZTE4MChjb25zdCB1aW50OCog
c3JjLAorICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgaW50IGhl
aWdodCkgewogICAvLyBTd2FwIGZpcnN0IGFuZCBsYXN0IHJvdyBhbmQgbWlycm9yIHRoZSBjb250
ZW50LiBVc2VzIGEgdGVtcG9yYXJ5IHJvdy4KICAgYWxpZ25fYnVmZmVyXzY0KHJvdywgd2lkdGgp
OwogICBjb25zdCB1aW50OCogc3JjX2JvdCA9IHNyYyArIHNyY19zdHJpZGUgKiAoaGVpZ2h0IC0g
MSk7CkBAIC0xMzUsOSArMTcwLDkgQEAgdm9pZCBSb3RhdGVQbGFuZTE4MChjb25zdCB1aW50OCog
c3JjLCBpbnQgc3JjX3N0cmlkZSwKICNlbmRpZgogLy8gVE9ETyhmYmFyY2hhcmQpOiBNaXJyb3Ig
b24gbWlwcyBoYW5kbGUgdW5hbGlnbmVkIG1lbW9yeS4KICNpZiBkZWZpbmVkKEhBU19NSVJST1JS
T1dfRFNQUjIpCi0gIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpICYmCi0gICAgICBJU19B
TElHTkVEKHNyYywgNCkgJiYgSVNfQUxJR05FRChzcmNfc3RyaWRlLCA0KSAmJgotICAgICAgSVNf
QUxJR05FRChkc3QsIDQpICYmIElTX0FMSUdORUQoZHN0X3N0cmlkZSwgNCkpIHsKKyAgaWYgKFRl
c3RDcHVGbGFnKGtDcHVIYXNEU1BSMikgJiYgSVNfQUxJR05FRChzcmMsIDQpICYmCisgICAgICBJ
U19BTElHTkVEKHNyY19zdHJpZGUsIDQpICYmIElTX0FMSUdORUQoZHN0LCA0KSAmJgorICAgICAg
SVNfQUxJR05FRChkc3Rfc3RyaWRlLCA0KSkgewogICAgIE1pcnJvclJvdyA9IE1pcnJvclJvd19E
U1BSMjsKICAgfQogI2VuZGlmCkBAIC0xNDcsNyArMTgyLDcgQEAgdm9pZCBSb3RhdGVQbGFuZTE4
MChjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKICAgICBpZiAoSVNfQUxJR05FRCh3
aWR0aCwgNjQpKSB7CiAgICAgICBNaXJyb3JSb3cgPSBNaXJyb3JSb3dfTVNBOwogICAgIH0KLX0K
KyAgfQogI2VuZGlmCiAjaWYgZGVmaW5lZChIQVNfQ09QWVJPV19TU0UyKQogICBpZiAoVGVzdENw
dUZsYWcoa0NwdUhhc1NTRTIpKSB7CkBAIC0xODksMTUgKzIyNCwyNCBAQCB2b2lkIFJvdGF0ZVBs
YW5lMTgwKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAogfQogCiBMSUJZVVZfQVBJ
Ci12b2lkIFRyYW5zcG9zZVVWKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2EsIGludCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYiwgaW50IGRzdF9zdHJpZGVfYiwKLSAgICAgICAgICAgICAgICAg
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Cit2b2lkIFRyYW5zcG9zZVVWKGNvbnN0IHVpbnQ4KiBz
cmMsCisgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2EsCisgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2EsCisgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfYiwKKyAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVf
YiwKKyAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICBpbnQgaGVp
Z2h0KSB7CiAgIGludCBpID0gaGVpZ2h0OwotICB2b2lkICgqVHJhbnNwb3NlVVZXeDgpKGNvbnN0
IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYSwgaW50IGRzdF9zdHJpZGVfYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2IsIGludCBkc3Rfc3RyaWRlX2IsCisjaWYgZGVmaW5lZChIQVNfVFJBTlNQT1NF
VVZXWDE2X01TQSkKKyAgdm9pZCAoKlRyYW5zcG9zZVVWV3gxNikoY29uc3QgdWludDgqIHNyYywg
aW50IHNyY19zdHJpZGUsIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF9zdHJpZGVfYSwgdWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlkZV9iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpID0gVHJhbnNwb3NlVVZXeDE2X0M7CisjZWxz
ZQorICB2b2lkICgqVHJhbnNwb3NlVVZXeDgpKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3Ry
aWRlLCB1aW50OCogZHN0X2EsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGVfYSwgdWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlkZV9iLAogICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCkgPSBUcmFuc3Bvc2VVVld4OF9DOworI2VuZGlmCiAjaWYgZGVmaW5l
ZChIQVNfVFJBTlNQT1NFVVZXWDhfTkVPTikKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNORU9O
KSkgewogICAgIFRyYW5zcG9zZVVWV3g4ID0gVHJhbnNwb3NlVVZXeDhfTkVPTjsKQEAgLTIxMiw2
OCArMjU2LDkyIEBAIHZvaWQgVHJhbnNwb3NlVVYoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19z
dHJpZGUsCiAgIH0KICNlbmRpZgogI2lmIGRlZmluZWQoSEFTX1RSQU5TUE9TRVVWV1g4X0RTUFIy
KQotICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKSAmJiBJU19BTElHTkVEKHdpZHRoLCAy
KSAmJgotICAgICAgSVNfQUxJR05FRChzcmMsIDQpICYmIElTX0FMSUdORUQoc3JjX3N0cmlkZSwg
NCkpIHsKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikgJiYgSVNfQUxJR05FRCh3aWR0
aCwgMikgJiYgSVNfQUxJR05FRChzcmMsIDQpICYmCisgICAgICBJU19BTElHTkVEKHNyY19zdHJp
ZGUsIDQpKSB7CiAgICAgVHJhbnNwb3NlVVZXeDggPSBUcmFuc3Bvc2VVVld4OF9EU1BSMjsKICAg
fQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfVFJBTlNQT1NFVVZXWDE2X01TQSkKKyAgaWYgKFRl
c3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgVHJhbnNwb3NlVVZXeDE2ID0gVHJhbnNwb3Nl
VVZXeDE2X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQod2lkdGgsIDgpKSB7CisgICAgICBU
cmFuc3Bvc2VVVld4MTYgPSBUcmFuc3Bvc2VVVld4MTZfTVNBOworICAgIH0KKyAgfQorI2VuZGlm
CiAKKyNpZiBkZWZpbmVkKEhBU19UUkFOU1BPU0VVVldYMTZfTVNBKQorICAvLyBXb3JrIHRocm91
Z2ggdGhlIHNvdXJjZSBpbiA4eDggdGlsZXMuCisgIHdoaWxlIChpID49IDE2KSB7CisgICAgVHJh
bnNwb3NlVVZXeDE2KHNyYywgc3JjX3N0cmlkZSwgZHN0X2EsIGRzdF9zdHJpZGVfYSwgZHN0X2Is
IGRzdF9zdHJpZGVfYiwKKyAgICAgICAgICAgICAgICAgICAgd2lkdGgpOworICAgIHNyYyArPSAx
NiAqIHNyY19zdHJpZGU7ICAvLyBHbyBkb3duIDE2IHJvd3MuCisgICAgZHN0X2EgKz0gMTY7ICAg
ICAgICAgICAgIC8vIE1vdmUgb3ZlciA4IGNvbHVtbnMuCisgICAgZHN0X2IgKz0gMTY7ICAgICAg
ICAgICAgIC8vIE1vdmUgb3ZlciA4IGNvbHVtbnMuCisgICAgaSAtPSAxNjsKKyAgfQorI2Vsc2UK
ICAgLy8gV29yayB0aHJvdWdoIHRoZSBzb3VyY2UgaW4gOHg4IHRpbGVzLgogICB3aGlsZSAoaSA+
PSA4KSB7Ci0gICAgVHJhbnNwb3NlVVZXeDgoc3JjLCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgIGRzdF9hLCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAgICAgZHN0X2IsIGRz
dF9zdHJpZGVfYiwKKyAgICBUcmFuc3Bvc2VVVld4OChzcmMsIHNyY19zdHJpZGUsIGRzdF9hLCBk
c3Rfc3RyaWRlX2EsIGRzdF9iLCBkc3Rfc3RyaWRlX2IsCiAgICAgICAgICAgICAgICAgICAgd2lk
dGgpOwotICAgIHNyYyArPSA4ICogc3JjX3N0cmlkZTsgICAgLy8gR28gZG93biA4IHJvd3MuCi0g
ICAgZHN0X2EgKz0gODsgICAgICAgICAgICAgICAvLyBNb3ZlIG92ZXIgOCBjb2x1bW5zLgotICAg
IGRzdF9iICs9IDg7ICAgICAgICAgICAgICAgLy8gTW92ZSBvdmVyIDggY29sdW1ucy4KKyAgICBz
cmMgKz0gOCAqIHNyY19zdHJpZGU7ICAvLyBHbyBkb3duIDggcm93cy4KKyAgICBkc3RfYSArPSA4
OyAgICAgICAgICAgICAvLyBNb3ZlIG92ZXIgOCBjb2x1bW5zLgorICAgIGRzdF9iICs9IDg7ICAg
ICAgICAgICAgIC8vIE1vdmUgb3ZlciA4IGNvbHVtbnMuCiAgICAgaSAtPSA4OwogICB9CisjZW5k
aWYKIAogICBpZiAoaSA+IDApIHsKLSAgICBUcmFuc3Bvc2VVVld4SF9DKHNyYywgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF9hLCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAg
ICAgICAgICAgICBkc3RfYiwgZHN0X3N0cmlkZV9iLAorICAgIFRyYW5zcG9zZVVWV3hIX0Moc3Jj
LCBzcmNfc3RyaWRlLCBkc3RfYSwgZHN0X3N0cmlkZV9hLCBkc3RfYiwgZHN0X3N0cmlkZV9iLAog
ICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGkpOwogICB9CiB9CiAKIExJQllVVl9BUEkKLXZv
aWQgUm90YXRlVVY5MChjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2EsIGludCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAg
dWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlkZV9iLAotICAgICAgICAgICAgICAgIGludCB3aWR0
aCwgaW50IGhlaWdodCkgewordm9pZCBSb3RhdGVVVjkwKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgdWludDgqIGRzdF9h
LAorICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2EsCisgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9iLAorICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2IsCisgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgc3JjICs9
IHNyY19zdHJpZGUgKiAoaGVpZ2h0IC0gMSk7CiAgIHNyY19zdHJpZGUgPSAtc3JjX3N0cmlkZTsK
IAotICBUcmFuc3Bvc2VVVihzcmMsIHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgIGRzdF9hLCBk
c3Rfc3RyaWRlX2EsCi0gICAgICAgICAgICAgIGRzdF9iLCBkc3Rfc3RyaWRlX2IsCi0gICAgICAg
ICAgICAgIHdpZHRoLCBoZWlnaHQpOworICBUcmFuc3Bvc2VVVihzcmMsIHNyY19zdHJpZGUsIGRz
dF9hLCBkc3Rfc3RyaWRlX2EsIGRzdF9iLCBkc3Rfc3RyaWRlX2IsIHdpZHRoLAorICAgICAgICAg
ICAgICBoZWlnaHQpOwogfQogCiBMSUJZVVZfQVBJCi12b2lkIFJvdGF0ZVVWMjcwKGNvbnN0IHVp
bnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Es
IGludCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwgaW50IGRz
dF9zdHJpZGVfYiwKLSAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7Cit2
b2lkIFJvdGF0ZVVWMjcwKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2EsCisgICAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlX2EsCisgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwKKyAg
ICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYiwKKyAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoLAorICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGRzdF9hICs9IGRzdF9zdHJp
ZGVfYSAqICh3aWR0aCAtIDEpOwogICBkc3RfYiArPSBkc3Rfc3RyaWRlX2IgKiAod2lkdGggLSAx
KTsKICAgZHN0X3N0cmlkZV9hID0gLWRzdF9zdHJpZGVfYTsKICAgZHN0X3N0cmlkZV9iID0gLWRz
dF9zdHJpZGVfYjsKIAotICBUcmFuc3Bvc2VVVihzcmMsIHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgIGRzdF9hLCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAgICAgIGRzdF9iLCBkc3Rfc3RyaWRl
X2IsCi0gICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworICBUcmFuc3Bvc2VVVihzcmMsIHNy
Y19zdHJpZGUsIGRzdF9hLCBkc3Rfc3RyaWRlX2EsIGRzdF9iLCBkc3Rfc3RyaWRlX2IsIHdpZHRo
LAorICAgICAgICAgICAgICBoZWlnaHQpOwogfQogCiAvLyBSb3RhdGUgMTgwIGlzIGEgaG9yaXpv
bnRhbCBhbmQgdmVydGljYWwgZmxpcC4KIExJQllVVl9BUEkKLXZvaWQgUm90YXRlVVYxODAoY29u
c3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYSwgaW50IGRzdF9zdHJpZGVfYSwKLSAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLCBp
bnQgZHN0X3N0cmlkZV9iLAotICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
IHsKK3ZvaWQgUm90YXRlVVYxODAoY29uc3QgdWludDgqIHNyYywKKyAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfYSwKKyAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9i
LAorICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9iLAorICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgaW50IGk7CiAgIHZv
aWQgKCpNaXJyb3JVVlJvdykoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdF91LCB1aW50OCog
ZHN0X3YsIGludCB3aWR0aCkgPQogICAgICAgTWlycm9yVVZSb3dfQzsKQEAgLTI4OCw4ICszNTYs
OCBAQCB2b2lkIFJvdGF0ZVVWMTgwKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAog
ICB9CiAjZW5kaWYKICNpZiBkZWZpbmVkKEhBU19NSVJST1JVVlJPV19EU1BSMikKLSAgaWYgKFRl
c3RDcHVGbGFnKGtDcHVIYXNEU1BSMikgJiYKLSAgICAgIElTX0FMSUdORUQoc3JjLCA0KSAmJiBJ
U19BTElHTkVEKHNyY19zdHJpZGUsIDQpKSB7CisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQ
UjIpICYmIElTX0FMSUdORUQoc3JjLCA0KSAmJgorICAgICAgSVNfQUxJR05FRChzcmNfc3RyaWRl
LCA0KSkgewogICAgIE1pcnJvclVWUm93ID0gTWlycm9yVVZSb3dfRFNQUjI7CiAgIH0KICNlbmRp
ZgpAQCAtMzA2LDkgKzM3NCwxMiBAQCB2b2lkIFJvdGF0ZVVWMTgwKGNvbnN0IHVpbnQ4KiBzcmMs
IGludCBzcmNfc3RyaWRlLAogfQogCiBMSUJZVVZfQVBJCi1pbnQgUm90YXRlUGxhbmUoY29uc3Qg
dWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgdWludDgqIGRzdCwg
aW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAor
aW50IFJvdGF0ZVBsYW5lKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICBp
bnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAg
ICAgaW50IGhlaWdodCwKICAgICAgICAgICAgICAgICBlbnVtIFJvdGF0aW9uTW9kZSBtb2RlKSB7
CiAgIGlmICghc3JjIHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDAgfHwgIWRzdCkgewogICAg
IHJldHVybiAtMTsKQEAgLTMyNCwyNCArMzk1LDE2IEBAIGludCBSb3RhdGVQbGFuZShjb25zdCB1
aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKICAgc3dpdGNoIChtb2RlKSB7CiAgICAgY2FzZSBr
Um90YXRlMDoKICAgICAgIC8vIGNvcHkgZnJhbWUKLSAgICAgIENvcHlQbGFuZShzcmMsIHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAg
IHdpZHRoLCBoZWlnaHQpOworICAgICAgQ29weVBsYW5lKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBk
c3Rfc3RyaWRlLCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgIHJldHVybiAwOwogICAgIGNhc2Uga1Jv
dGF0ZTkwOgotICAgICAgUm90YXRlUGxhbmU5MChzcmMsIHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhl
aWdodCk7CisgICAgICBSb3RhdGVQbGFuZTkwKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3Ry
aWRlLCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgIHJldHVybiAwOwogICAgIGNhc2Uga1JvdGF0ZTI3
MDoKLSAgICAgIFJvdGF0ZVBsYW5lMjcwKHNyYywgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgIGRzdCwgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWln
aHQpOworICAgICAgUm90YXRlUGxhbmUyNzAoc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJp
ZGUsIHdpZHRoLCBoZWlnaHQpOwogICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBrUm90YXRlMTgw
OgotICAgICAgUm90YXRlUGxhbmUxODAoc3JjLCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAg
ICAgICAgZHN0LCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdo
dCk7CisgICAgICBSb3RhdGVQbGFuZTE4MChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlk
ZSwgd2lkdGgsIGhlaWdodCk7CiAgICAgICByZXR1cm4gMDsKICAgICBkZWZhdWx0OgogICAgICAg
YnJlYWs7CkBAIC0zNTAsMTggKzQxMywyNSBAQCBpbnQgUm90YXRlUGxhbmUoY29uc3QgdWludDgq
IHNyYywgaW50IHNyY19zdHJpZGUsCiB9CiAKIExJQllVVl9BUEkKLWludCBJNDIwUm90YXRlKGNv
bnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdSwgaW50IHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
eSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgaW50IGRz
dF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVf
diwKLSAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCwKK2ludCBJNDIwUm90YXRl
KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV91LAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfdiwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAg
ICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICB1aW50OCogZHN0
X3UsCisgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdiwKKyAgICAgICAgICAg
ICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGludCBoZWlnaHQsCiAgICAgICAgICAgICAg
ICBlbnVtIFJvdGF0aW9uTW9kZSBtb2RlKSB7CiAgIGludCBoYWxmd2lkdGggPSAod2lkdGggKyAx
KSA+PiAxOwogICBpbnQgaGFsZmhlaWdodCA9IChoZWlnaHQgKyAxKSA+PiAxOwotICBpZiAoIXNy
Y195IHx8ICFzcmNfdSB8fCAhc3JjX3YgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCB8fAot
ICAgICAgIWRzdF95IHx8ICFkc3RfdSB8fCAhZHN0X3YpIHsKKyAgaWYgKCFzcmNfeSB8fCAhc3Jj
X3UgfHwgIXNyY192IHx8IHdpZHRoIDw9IDAgfHwgaGVpZ2h0ID09IDAgfHwgIWRzdF95IHx8Cisg
ICAgICAhZHN0X3UgfHwgIWRzdF92KSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAKQEAgLTM4MCw0
NSArNDUwLDI5IEBAIGludCBJNDIwUm90YXRlKGNvbnN0IHVpbnQ4KiBzcmNfeSwgaW50IHNyY19z
dHJpZGVfeSwKICAgc3dpdGNoIChtb2RlKSB7CiAgICAgY2FzZSBrUm90YXRlMDoKICAgICAgIC8v
IGNvcHkgZnJhbWUKLSAgICAgIHJldHVybiBJNDIwQ29weShzcmNfeSwgc3JjX3N0cmlkZV95LAot
ICAgICAgICAgICAgICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3UsCi0gICAgICAgICAgICAg
ICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgICBkc3Rf
eSwgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgIGRzdF91LCBkc3Rfc3RyaWRl
X3UsCi0gICAgICAgICAgICAgICAgICAgICAgZHN0X3YsIGRzdF9zdHJpZGVfdiwKLSAgICAgICAg
ICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgIHJldHVybiBJNDIwQ29weShzcmNf
eSwgc3JjX3N0cmlkZV95LCBzcmNfdSwgc3JjX3N0cmlkZV91LCBzcmNfdiwKKyAgICAgICAgICAg
ICAgICAgICAgICBzcmNfc3RyaWRlX3YsIGRzdF95LCBkc3Rfc3RyaWRlX3ksIGRzdF91LCBkc3Rf
c3RyaWRlX3UsCisgICAgICAgICAgICAgICAgICAgICAgZHN0X3YsIGRzdF9zdHJpZGVfdiwgd2lk
dGgsIGhlaWdodCk7CiAgICAgY2FzZSBrUm90YXRlOTA6Ci0gICAgICBSb3RhdGVQbGFuZTkwKHNy
Y195LCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgIGRzdF95LCBkc3Rfc3RyaWRl
X3ksCi0gICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOwotICAgICAgUm90YXRlUGxh
bmU5MChzcmNfdSwgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgICBkc3RfdSwgZHN0
X3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgICBoYWxmd2lkdGgsIGhhbGZoZWlnaHQpOwot
ICAgICAgUm90YXRlUGxhbmU5MChzcmNfdiwgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAg
ICAgICBkc3RfdiwgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgICAgICBoYWxmd2lkdGgs
IGhhbGZoZWlnaHQpOworICAgICAgUm90YXRlUGxhbmU5MChzcmNfeSwgc3JjX3N0cmlkZV95LCBk
c3RfeSwgZHN0X3N0cmlkZV95LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgIFJvdGF0ZVBsYW5lOTAo
c3JjX3UsIHNyY19zdHJpZGVfdSwgZHN0X3UsIGRzdF9zdHJpZGVfdSwgaGFsZndpZHRoLAorICAg
ICAgICAgICAgICAgICAgICBoYWxmaGVpZ2h0KTsKKyAgICAgIFJvdGF0ZVBsYW5lOTAoc3JjX3Ys
IHNyY19zdHJpZGVfdiwgZHN0X3YsIGRzdF9zdHJpZGVfdiwgaGFsZndpZHRoLAorICAgICAgICAg
ICAgICAgICAgICBoYWxmaGVpZ2h0KTsKICAgICAgIHJldHVybiAwOwogICAgIGNhc2Uga1JvdGF0
ZTI3MDoKLSAgICAgIFJvdGF0ZVBsYW5lMjcwKHNyY195LCBzcmNfc3RyaWRlX3ksCi0gICAgICAg
ICAgICAgICAgICAgICBkc3RfeSwgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAg
d2lkdGgsIGhlaWdodCk7Ci0gICAgICBSb3RhdGVQbGFuZTI3MChzcmNfdSwgc3JjX3N0cmlkZV91
LAotICAgICAgICAgICAgICAgICAgICAgZHN0X3UsIGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAg
ICAgICAgICAgIGhhbGZ3aWR0aCwgaGFsZmhlaWdodCk7Ci0gICAgICBSb3RhdGVQbGFuZTI3MChz
cmNfdiwgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgICAgICAgZHN0X3YsIGRzdF9zdHJp
ZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgIGhhbGZ3aWR0aCwgaGFsZmhlaWdodCk7CisgICAg
ICBSb3RhdGVQbGFuZTI3MChzcmNfeSwgc3JjX3N0cmlkZV95LCBkc3RfeSwgZHN0X3N0cmlkZV95
LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgIFJvdGF0ZVBsYW5lMjcwKHNyY191LCBzcmNfc3RyaWRl
X3UsIGRzdF91LCBkc3Rfc3RyaWRlX3UsIGhhbGZ3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
IGhhbGZoZWlnaHQpOworICAgICAgUm90YXRlUGxhbmUyNzAoc3JjX3YsIHNyY19zdHJpZGVfdiwg
ZHN0X3YsIGRzdF9zdHJpZGVfdiwgaGFsZndpZHRoLAorICAgICAgICAgICAgICAgICAgICAgaGFs
ZmhlaWdodCk7CiAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIGtSb3RhdGUxODA6Ci0gICAgICBS
b3RhdGVQbGFuZTE4MChzcmNfeSwgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAg
ZHN0X3ksIGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQp
OwotICAgICAgUm90YXRlUGxhbmUxODAoc3JjX3UsIHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAg
ICAgICAgICAgIGRzdF91LCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICAgICBoYWxm
d2lkdGgsIGhhbGZoZWlnaHQpOwotICAgICAgUm90YXRlUGxhbmUxODAoc3JjX3YsIHNyY19zdHJp
ZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF92LCBkc3Rfc3RyaWRlX3YsCi0gICAgICAg
ICAgICAgICAgICAgICBoYWxmd2lkdGgsIGhhbGZoZWlnaHQpOworICAgICAgUm90YXRlUGxhbmUx
ODAoc3JjX3ksIHNyY19zdHJpZGVfeSwgZHN0X3ksIGRzdF9zdHJpZGVfeSwgd2lkdGgsIGhlaWdo
dCk7CisgICAgICBSb3RhdGVQbGFuZTE4MChzcmNfdSwgc3JjX3N0cmlkZV91LCBkc3RfdSwgZHN0
X3N0cmlkZV91LCBoYWxmd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBoYWxmaGVpZ2h0KTsK
KyAgICAgIFJvdGF0ZVBsYW5lMTgwKHNyY192LCBzcmNfc3RyaWRlX3YsIGRzdF92LCBkc3Rfc3Ry
aWRlX3YsIGhhbGZ3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgIGhhbGZoZWlnaHQpOwogICAg
ICAgcmV0dXJuIDA7CiAgICAgZGVmYXVsdDoKICAgICAgIGJyZWFrOwpAQCAtNDI3LDE3ICs0ODEs
MjMgQEAgaW50IEk0MjBSb3RhdGUoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95
LAogfQogCiBMSUJZVVZfQVBJCi1pbnQgTlYxMlRvSTQyMFJvdGF0ZShjb25zdCB1aW50OCogc3Jj
X3ksIGludCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3V2LCBpbnQgc3JjX3N0cmlkZV91diwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwgaW50IGRzdF9zdHJpZGVfdSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rfdiwg
aW50IGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IGhl
aWdodCwKK2ludCBOVjEyVG9JNDIwUm90YXRlKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3V2LAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdXYs
CisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfdSwKKyAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3Ys
CisgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBp
bnQgaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgZW51bSBSb3RhdGlvbk1vZGUgbW9kZSkg
ewogICBpbnQgaGFsZndpZHRoID0gKHdpZHRoICsgMSkgPj4gMTsKICAgaW50IGhhbGZoZWlnaHQg
PSAoaGVpZ2h0ICsgMSkgPj4gMTsKLSAgaWYgKCFzcmNfeSB8fCAhc3JjX3V2IHx8IHdpZHRoIDw9
IDAgfHwgaGVpZ2h0ID09IDAgfHwKLSAgICAgICFkc3RfeSB8fCAhZHN0X3UgfHwgIWRzdF92KSB7
CisgIGlmICghc3JjX3kgfHwgIXNyY191diB8fCB3aWR0aCA8PSAwIHx8IGhlaWdodCA9PSAwIHx8
ICFkc3RfeSB8fCAhZHN0X3UgfHwKKyAgICAgICFkc3RfdikgewogICAgIHJldHVybiAtMTsKICAg
fQogCkBAIC00NTQsMzggKzUxNCwyMyBAQCBpbnQgTlYxMlRvSTQyMFJvdGF0ZShjb25zdCB1aW50
OCogc3JjX3ksIGludCBzcmNfc3RyaWRlX3ksCiAgIHN3aXRjaCAobW9kZSkgewogICAgIGNhc2Ug
a1JvdGF0ZTA6CiAgICAgICAvLyBjb3B5IGZyYW1lCi0gICAgICByZXR1cm4gTlYxMlRvSTQyMChz
cmNfeSwgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3V2LCBzcmNf
c3RyaWRlX3V2LAotICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3ksIGRzdF9zdHJpZGVfeSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGRzdF91LCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBkc3RfdiwgZHN0X3N0cmlkZV92LAorICAgICAgcmV0dXJuIE5WMTJUb0k0
MjAoc3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3V2LCBzcmNfc3RyaWRlX3V2LCBkc3RfeSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGRzdF9zdHJpZGVfeSwgZHN0X3UsIGRzdF9zdHJpZGVfdSwg
ZHN0X3YsIGRzdF9zdHJpZGVfdiwKICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWln
aHQpOwogICAgIGNhc2Uga1JvdGF0ZTkwOgotICAgICAgUm90YXRlUGxhbmU5MChzcmNfeSwgc3Jj
X3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICBkc3RfeSwgZHN0X3N0cmlkZV95LAotICAg
ICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKLSAgICAgIFJvdGF0ZVVWOTAoc3JjX3V2
LCBzcmNfc3RyaWRlX3V2LAotICAgICAgICAgICAgICAgICBkc3RfdSwgZHN0X3N0cmlkZV91LAot
ICAgICAgICAgICAgICAgICBkc3RfdiwgZHN0X3N0cmlkZV92LAotICAgICAgICAgICAgICAgICBo
YWxmd2lkdGgsIGhhbGZoZWlnaHQpOworICAgICAgUm90YXRlUGxhbmU5MChzcmNfeSwgc3JjX3N0
cmlkZV95LCBkc3RfeSwgZHN0X3N0cmlkZV95LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgIFJvdGF0
ZVVWOTAoc3JjX3V2LCBzcmNfc3RyaWRlX3V2LCBkc3RfdSwgZHN0X3N0cmlkZV91LCBkc3RfdiwK
KyAgICAgICAgICAgICAgICAgZHN0X3N0cmlkZV92LCBoYWxmd2lkdGgsIGhhbGZoZWlnaHQpOwog
ICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBrUm90YXRlMjcwOgotICAgICAgUm90YXRlUGxhbmUy
NzAoc3JjX3ksIHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF95LCBkc3Rf
c3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKLSAgICAgIFJv
dGF0ZVVWMjcwKHNyY191diwgc3JjX3N0cmlkZV91diwKLSAgICAgICAgICAgICAgICAgIGRzdF91
LCBkc3Rfc3RyaWRlX3UsCi0gICAgICAgICAgICAgICAgICBkc3RfdiwgZHN0X3N0cmlkZV92LAot
ICAgICAgICAgICAgICAgICAgaGFsZndpZHRoLCBoYWxmaGVpZ2h0KTsKKyAgICAgIFJvdGF0ZVBs
YW5lMjcwKHNyY195LCBzcmNfc3RyaWRlX3ksIGRzdF95LCBkc3Rfc3RyaWRlX3ksIHdpZHRoLCBo
ZWlnaHQpOworICAgICAgUm90YXRlVVYyNzAoc3JjX3V2LCBzcmNfc3RyaWRlX3V2LCBkc3RfdSwg
ZHN0X3N0cmlkZV91LCBkc3RfdiwKKyAgICAgICAgICAgICAgICAgIGRzdF9zdHJpZGVfdiwgaGFs
ZndpZHRoLCBoYWxmaGVpZ2h0KTsKICAgICAgIHJldHVybiAwOwogICAgIGNhc2Uga1JvdGF0ZTE4
MDoKLSAgICAgIFJvdGF0ZVBsYW5lMTgwKHNyY195LCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAg
ICAgICAgICAgICBkc3RfeSwgZHN0X3N0cmlkZV95LAotICAgICAgICAgICAgICAgICAgICAgd2lk
dGgsIGhlaWdodCk7Ci0gICAgICBSb3RhdGVVVjE4MChzcmNfdXYsIHNyY19zdHJpZGVfdXYsCi0g
ICAgICAgICAgICAgICAgICBkc3RfdSwgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAg
ZHN0X3YsIGRzdF9zdHJpZGVfdiwKLSAgICAgICAgICAgICAgICAgIGhhbGZ3aWR0aCwgaGFsZmhl
aWdodCk7CisgICAgICBSb3RhdGVQbGFuZTE4MChzcmNfeSwgc3JjX3N0cmlkZV95LCBkc3RfeSwg
ZHN0X3N0cmlkZV95LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgIFJvdGF0ZVVWMTgwKHNyY191diwg
c3JjX3N0cmlkZV91diwgZHN0X3UsIGRzdF9zdHJpZGVfdSwgZHN0X3YsCisgICAgICAgICAgICAg
ICAgICBkc3Rfc3RyaWRlX3YsIGhhbGZ3aWR0aCwgaGFsZmhlaWdodCk7CiAgICAgICByZXR1cm4g
MDsKICAgICBkZWZhdWx0OgogICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90YXRlX2Fu
eS5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3NvdXJjZS9yb3RhdGVfYW55LmNjCmluZGV4IDMxYTc0YzMxNTU1M2Q4OWYxZTc2MTgwZDY5
NTEyMTdiODI0MTlhNTAuLjU2MjA5NmI5MjZjMmI1MTgzNzI1YWRlYjI5ZWE3MDcyNWEyYzA2YjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3NvdXJjZS9yb3RhdGVfYW55LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3RhdGVfYW55LmNjCkBA
IC0xOCwxNiArMTgsMTYgQEAgbmFtZXNwYWNlIGxpYnl1diB7CiBleHRlcm4gIkMiIHsKICNlbmRp
ZgogCi0jZGVmaW5lIFRBTlkoTkFNRUFOWSwgVFBPU19TSU1ELCBNQVNLKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHZvaWQgTkFNRUFOWShjb25zdCB1aW50
OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUsIGludCB3aWR0aCkgeyAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgciA9IHdpZHRoICYgTUFTSzsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaW50
IG4gPSB3aWR0aCAtIHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIGlmIChuID4gMCkgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIFRQT1NfU0lN
RChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgbik7ICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIFRyYW5zcG9zZVd4OF9DKHNy
YyArIG4sIHNyY19zdHJpZGUsIGRzdCArIG4gKiBkc3Rfc3RyaWRlLCBkc3Rfc3RyaWRlLCByKTtc
Ci0gICAgfQorI2RlZmluZSBUQU5ZKE5BTUVBTlksIFRQT1NfU0lNRCwgTUFTSykgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB2b2lkIE5BTUVBTlkoY29uc3QgdWlu
dDgqIHNyYywgaW50IHNyY19zdHJpZGUsIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLCAgXAor
ICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCByID0gd2lkdGggJiBNQVNLOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCBu
ID0gd2lkdGggLSByOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIGlmIChuID4gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgVFBPU19TSU1EKHNy
Yywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLCBuKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFRyYW5zcG9zZVd4OF9DKHNyYyArIG4s
IHNyY19zdHJpZGUsIGRzdCArIG4gKiBkc3Rfc3RyaWRlLCBkc3Rfc3RyaWRlLCByKTsgXAorICB9
CiAKICNpZmRlZiBIQVNfVFJBTlNQT1NFV1g4X05FT04KIFRBTlkoVHJhbnNwb3NlV3g4X0FueV9O
RU9OLCBUcmFuc3Bvc2VXeDhfTkVPTiwgNykKQEAgLTQxLDIyICs0MSwyMiBAQCBUQU5ZKFRyYW5z
cG9zZVd4OF9GYXN0X0FueV9TU1NFMywgVHJhbnNwb3NlV3g4X0Zhc3RfU1NTRTMsIDE1KQogI2lm
ZGVmIEhBU19UUkFOU1BPU0VXWDhfRFNQUjIKIFRBTlkoVHJhbnNwb3NlV3g4X0FueV9EU1BSMiwg
VHJhbnNwb3NlV3g4X0RTUFIyLCA3KQogI2VuZGlmCisjaWZkZWYgSEFTX1RSQU5TUE9TRVdYMTZf
TVNBCitUQU5ZKFRyYW5zcG9zZVd4MTZfQW55X01TQSwgVHJhbnNwb3NlV3gxNl9NU0EsIDE1KQor
I2VuZGlmCiAjdW5kZWYgVEFOWQogCiAjZGVmaW5lIFRVVkFOWShOQU1FQU5ZLCBUUE9TX1NJTUQs
IE1BU0spICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHZvaWQg
TkFNRUFOWShjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICB1aW50OCogZHN0X2EsIGludCBkc3Rfc3Ry
aWRlX2EsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAg
dWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlkZV9iLCBpbnQgd2lkdGgpIHsgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgaW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBuID0gd2lkdGggLSBy
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICBpZiAobiA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBUUE9TX1NJTUQoc3JjLCBzcmNfc3Ry
aWRlLCBkc3RfYSwgZHN0X3N0cmlkZV9hLCBkc3RfYiwgZHN0X3N0cmlkZV9iLCAgIFwKLSAgICAg
ICAgICAgICAgICAgIG4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgVHJhbnNw
b3NlVVZXeDhfQyhzcmMgKyBuICogMiwgc3JjX3N0cmlkZSwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgZHN0X2EgKyBuICogZHN0X3N0cmlk
ZV9hLCBkc3Rfc3RyaWRlX2EsICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgIGRzdF9iICsgbiAqIGRzdF9zdHJpZGVfYiwgZHN0X3N0cmlkZV9iLCByKTsgICAgICAgICAg
ICAgXAotICAgIH0KKyAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3Ry
aWRlLCB1aW50OCogZHN0X2EsICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV9hLCB1aW50OCogZHN0X2IsIGludCBkc3Rfc3RyaWRlX2IsIGludCB3aWR0aCkg
eyAgXAorICAgIGludCByID0gd2lkdGggJiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbnQgbiA9IHdpZHRoIC0gcjsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgaWYgKG4gPiAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgVFBPU19TSU1EKHNyYywgc3JjX3N0cmlkZSwg
ZHN0X2EsIGRzdF9zdHJpZGVfYSwgZHN0X2IsIGRzdF9zdHJpZGVfYiwgbik7IFwKKyAgICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgVHJhbnNwb3NlVVZXeDhfQyhzcmMgKyBuICogMiwgc3JjX3N0
cmlkZSwgZHN0X2EgKyBuICogZHN0X3N0cmlkZV9hLCAgICAgICAgXAorICAgICAgICAgICAgICAg
ICAgICAgZHN0X3N0cmlkZV9hLCBkc3RfYiArIG4gKiBkc3Rfc3RyaWRlX2IsIGRzdF9zdHJpZGVf
Yiwgcik7IFwKKyAgfQogCiAjaWZkZWYgSEFTX1RSQU5TUE9TRVVWV1g4X05FT04KIFRVVkFOWShU
cmFuc3Bvc2VVVld4OF9BbnlfTkVPTiwgVHJhbnNwb3NlVVZXeDhfTkVPTiwgNykKQEAgLTY3LDE0
ICs2NywxMiBAQCBUVVZBTlkoVHJhbnNwb3NlVVZXeDhfQW55X1NTRTIsIFRyYW5zcG9zZVVWV3g4
X1NTRTIsIDcpCiAjaWZkZWYgSEFTX1RSQU5TUE9TRVVWV1g4X0RTUFIyCiBUVVZBTlkoVHJhbnNw
b3NlVVZXeDhfQW55X0RTUFIyLCBUcmFuc3Bvc2VVVld4OF9EU1BSMiwgNykKICNlbmRpZgorI2lm
ZGVmIEhBU19UUkFOU1BPU0VVVldYMTZfTVNBCitUVVZBTlkoVHJhbnNwb3NlVVZXeDE2X0FueV9N
U0EsIFRyYW5zcG9zZVVWV3gxNl9NU0EsIDcpCisjZW5kaWYKICN1bmRlZiBUVVZBTlkKIAogI2lm
ZGVmIF9fY3BsdXNwbHVzCiB9ICAvLyBleHRlcm4gIkMiCiB9ICAvLyBuYW1lc3BhY2UgbGlieXV2
CiAjZW5kaWYKLQotCi0KLQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90YXRlX2FyZ2IuY2MgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uv
cm90YXRlX2FyZ2IuY2MKaW5kZXggNzFkMjlkNDEwNGEwNTU1MzY0YTkyZjMyNDZlNGYzZmU1YzAx
OWMyNS4uZWRlNGVhZmE2YzJjNjdmMDE3Yjg3NDI2MTdkNzAwMDQ3ZjQ0YTAxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
c291cmNlL3JvdGF0ZV9hcmdiLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3RhdGVfYXJnYi5jYwpAQCAtMTAsOCAr
MTAsOCBAQAogCiAjaW5jbHVkZSAibGlieXV2L3JvdGF0ZS5oIgogCi0jaW5jbHVkZSAibGlieXV2
L2NwdV9pZC5oIgogI2luY2x1ZGUgImxpYnl1di9jb252ZXJ0LmgiCisjaW5jbHVkZSAibGlieXV2
L2NwdV9pZC5oIgogI2luY2x1ZGUgImxpYnl1di9wbGFuYXJfZnVuY3Rpb25zLmgiCiAjaW5jbHVk
ZSAibGlieXV2L3Jvdy5oIgogCkBAIC0yMiwyOSArMjIsNDQgQEAgZXh0ZXJuICJDIiB7CiAKIC8v
IEFSR0JTY2FsZSBoYXMgYSBmdW5jdGlvbiB0byBjb3B5IHBpeGVscyB0byBhIHJvdywgc3RyaWRp
bmcgZWFjaCBzb3VyY2UKIC8vIHBpeGVsIGJ5IGEgY29uc3RhbnQuCi0jaWYgIWRlZmluZWQoTElC
WVVWX0RJU0FCTEVfWDg2KSAmJiBcCi0gICAgKGRlZmluZWQoX01fSVg4NikgfHwgXAotICAgIChk
ZWZpbmVkKF9feDg2XzY0X18pICYmICFkZWZpbmVkKF9fbmF0aXZlX2NsaWVudF9fKSkgfHwgZGVm
aW5lZChfX2kzODZfXykpCisjaWYgIWRlZmluZWQoTElCWVVWX0RJU0FCTEVfWDg2KSAmJiAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIChkZWZpbmVkKF9NX0lYODYpIHx8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgKGRlZmluZWQoX194ODZfNjRfXykg
JiYgIWRlZmluZWQoX19uYXRpdmVfY2xpZW50X18pKSB8fCBcCisgICAgIGRlZmluZWQoX19pMzg2
X18pKQogI2RlZmluZSBIQVNfU0NBTEVBUkdCUk9XRE9XTkVWRU5fU1NFMgotdm9pZCBTY2FsZUFS
R0JSb3dEb3duRXZlbl9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0ZXB4LCB1aW50OCogZHN0
X3B0ciwgaW50IGRzdF93aWR0aCk7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuX1NTRTIoY29u
c3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdGVweCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKTsKICNlbmRpZgogI2lmICFkZWZp
bmVkKExJQllVVl9ESVNBQkxFX05FT04pICYmICFkZWZpbmVkKF9fbmF0aXZlX2NsaWVudF9fKSAm
JiBcCiAgICAgKGRlZmluZWQoX19BUk1fTkVPTl9fKSB8fCBkZWZpbmVkKExJQllVVl9ORU9OKSB8
fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSkKICNkZWZpbmUgSEFTX1NDQUxFQVJHQlJPV0RPV05FVkVO
X05FT04KLXZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5fTkVPTihjb25zdCB1aW50OCogc3JjX3B0
ciwgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19zdGVweCwgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZUFSR0JS
b3dEb3duRXZlbl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RlcHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCk7
CiAjZW5kaWYKIAotdm9pZCBTY2FsZUFSR0JSb3dEb3duRXZlbl9DKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCBpbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdGVweCwgdWlu
dDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwordm9pZCBTY2FsZUFSR0JSb3dEb3duRXZlbl9D
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0ZXB4LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfd2lkdGgpOwogCi1zdGF0aWMgdm9pZCBBUkdCVHJhbnNwb3NlKGNvbnN0IHVp
bnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0LCBpbnQgZHN0X3N0cmlkZSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB7CitzdGF0aWMg
dm9pZCBBUkdCVHJhbnNwb3NlKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgaGVpZ2h0KSB7CiAgIGludCBpOwogICBpbnQgc3JjX3BpeGVsX3N0ZXAgPSBzcmNfc3RyaWRl
ID4+IDI7CiAgIHZvaWQgKCpTY2FsZUFSR0JSb3dEb3duRXZlbikoY29uc3QgdWludDgqIHNyY19w
dHIsIGludCBzcmNfc3RyaWRlLAotICAgICAgaW50IHNyY19zdGVwLCB1aW50OCogZHN0X3B0ciwg
aW50IGRzdF93aWR0aCkgPSBTY2FsZUFSR0JSb3dEb3duRXZlbl9DOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RlcCwgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lk
dGgpID0KKyAgICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuX0M7CiAjaWYgZGVmaW5lZChIQVNfU0NB
TEVBUkdCUk9XRE9XTkVWRU5fU1NFMikKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNTU0UyKSAm
JiBJU19BTElHTkVEKGhlaWdodCwgNCkpIHsgIC8vIFdpZHRoIG9mIGRlc3QuCiAgICAgU2NhbGVB
UkdCUm93RG93bkV2ZW4gPSBTY2FsZUFSR0JSb3dEb3duRXZlbl9TU0UyOwpAQCAtNjMsOCArNzgs
MTIgQEAgc3RhdGljIHZvaWQgQVJHQlRyYW5zcG9zZShjb25zdCB1aW50OCogc3JjLCBpbnQgc3Jj
X3N0cmlkZSwKICAgfQogfQogCi12b2lkIEFSR0JSb3RhdGU5MChjb25zdCB1aW50OCogc3JjLCBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3Ry
aWRlLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsKK3ZvaWQgQVJHQlJvdGF0ZTkwKGNvbnN0IHVp
bnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQp
IHsKICAgLy8gUm90YXRlIGJ5IDkwIGlzIGEgQVJHQlRyYW5zcG9zZSB3aXRoIHRoZSBzb3VyY2Ug
cmVhZAogICAvLyBmcm9tIGJvdHRvbSB0byB0b3AuIFNvIHNldCB0aGUgc291cmNlIHBvaW50ZXIg
dG8gdGhlIGVuZAogICAvLyBvZiB0aGUgYnVmZmVyIGFuZCBmbGlwIHRoZSBzaWduIG9mIHRoZSBz
b3VyY2Ugc3RyaWRlLgpAQCAtNzMsOCArOTIsMTIgQEAgdm9pZCBBUkdCUm90YXRlOTAoY29uc3Qg
dWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgIEFSR0JUcmFuc3Bvc2Uoc3JjLCBzcmNfc3Ry
aWRlLCBkc3QsIGRzdF9zdHJpZGUsIHdpZHRoLCBoZWlnaHQpOwogfQogCi12b2lkIEFSR0JSb3Rh
dGUyNzAoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsK
K3ZvaWQgQVJHQlJvdGF0ZTI3MChjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
LAorICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsKICAgLy8gUm90YXRlIGJ5IDI3MCBp
cyBhIEFSR0JUcmFuc3Bvc2Ugd2l0aCB0aGUgZGVzdGluYXRpb24gd3JpdHRlbgogICAvLyBmcm9t
IGJvdHRvbSB0byB0b3AuIFNvIHNldCB0aGUgZGVzdGluYXRpb24gcG9pbnRlciB0byB0aGUgZW5k
CiAgIC8vIG9mIHRoZSBidWZmZXIgYW5kIGZsaXAgdGhlIHNpZ24gb2YgdGhlIGRlc3RpbmF0aW9u
IHN0cmlkZS4KQEAgLTgzLDggKzEwNiwxMiBAQCB2b2lkIEFSR0JSb3RhdGUyNzAoY29uc3QgdWlu
dDgqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgIEFSR0JUcmFuc3Bvc2Uoc3JjLCBzcmNfc3RyaWRl
LCBkc3QsIGRzdF9zdHJpZGUsIHdpZHRoLCBoZWlnaHQpOwogfQogCi12b2lkIEFSR0JSb3RhdGUx
ODAoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUsIGludCB3aWR0aCwgaW50IGhlaWdodCkgewordm9p
ZCBBUkdCUm90YXRlMTgwKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgaW50
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisg
ICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkgewogICAvLyBTd2FwIGZpcnN0IGFuZCBsYXN0
IHJvdyBhbmQgbWlycm9yIHRoZSBjb250ZW50LiBVc2VzIGEgdGVtcG9yYXJ5IHJvdy4KICAgYWxp
Z25fYnVmZmVyXzY0KHJvdywgd2lkdGggKiA0KTsKICAgY29uc3QgdWludDgqIHNyY19ib3QgPSBz
cmMgKyBzcmNfc3RyaWRlICogKGhlaWdodCAtIDEpOwpAQCAtMTU0LDkgKzE4MSw5IEBAIHZvaWQg
QVJHQlJvdGF0ZTE4MChjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKIAogICAvLyBP
ZGQgaGVpZ2h0IHdpbGwgaGFybWxlc3NseSBtaXJyb3IgdGhlIG1pZGRsZSByb3cgdHdpY2UuCiAg
IGZvciAoeSA9IDA7IHkgPCBoYWxmX2hlaWdodDsgKyt5KSB7Ci0gICAgQVJHQk1pcnJvclJvdyhz
cmMsIHJvdywgd2lkdGgpOyAgLy8gTWlycm9yIGZpcnN0IHJvdyBpbnRvIGEgYnVmZmVyCisgICAg
QVJHQk1pcnJvclJvdyhzcmMsIHJvdywgd2lkdGgpOyAgICAgIC8vIE1pcnJvciBmaXJzdCByb3cg
aW50byBhIGJ1ZmZlcgogICAgIEFSR0JNaXJyb3JSb3coc3JjX2JvdCwgZHN0LCB3aWR0aCk7ICAv
LyBNaXJyb3IgbGFzdCByb3cgaW50byBmaXJzdCByb3cKLSAgICBDb3B5Um93KHJvdywgZHN0X2Jv
dCwgd2lkdGggKiA0KTsgIC8vIENvcHkgZmlyc3QgbWlycm9yZWQgcm93IGludG8gbGFzdAorICAg
IENvcHlSb3cocm93LCBkc3RfYm90LCB3aWR0aCAqIDQpOyAgICAvLyBDb3B5IGZpcnN0IG1pcnJv
cmVkIHJvdyBpbnRvIGxhc3QKICAgICBzcmMgKz0gc3JjX3N0cmlkZTsKICAgICBkc3QgKz0gZHN0
X3N0cmlkZTsKICAgICBzcmNfYm90IC09IHNyY19zdHJpZGU7CkBAIC0xNjYsOCArMTkzLDEyIEBA
IHZvaWQgQVJHQlJvdGF0ZTE4MChjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKIH0K
IAogTElCWVVWX0FQSQotaW50IEFSR0JSb3RhdGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQg
c3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0
X3N0cmlkZV9hcmdiLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCitpbnQgQVJHQlJvdGF0ZShjb25z
dCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAor
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAgICAgIGlu
dCBoZWlnaHQsCiAgICAgICAgICAgICAgICBlbnVtIFJvdGF0aW9uTW9kZSBtb2RlKSB7CiAgIGlm
ICghc3JjX2FyZ2IgfHwgd2lkdGggPD0gMCB8fCBoZWlnaHQgPT0gMCB8fCAhZHN0X2FyZ2IpIHsK
ICAgICByZXR1cm4gLTE7CkBAIC0xODMsMjMgKzIxNCwxOSBAQCBpbnQgQVJHQlJvdGF0ZShjb25z
dCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgIHN3aXRjaCAobW9kZSkg
ewogICAgIGNhc2Uga1JvdGF0ZTA6CiAgICAgICAvLyBjb3B5IGZyYW1lCi0gICAgICByZXR1cm4g
QVJHQkNvcHkoc3JjX2FyZ2IsIHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAg
ICBkc3RfYXJnYiwgZHN0X3N0cmlkZV9hcmdiLAorICAgICAgcmV0dXJuIEFSR0JDb3B5KHNyY19h
cmdiLCBzcmNfc3RyaWRlX2FyZ2IsIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAg
ICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CiAgICAgY2FzZSBrUm90YXRlOTA6Ci0gICAg
ICBBUkdCUm90YXRlOTAoc3JjX2FyZ2IsIHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAg
ICAgICBkc3RfYXJnYiwgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgIHdpZHRo
LCBoZWlnaHQpOworICAgICAgQVJHQlJvdGF0ZTkwKHNyY19hcmdiLCBzcmNfc3RyaWRlX2FyZ2Is
IGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsIHdpZHRoLAorICAgICAgICAgICAgICAgICAgIGhl
aWdodCk7CiAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIGtSb3RhdGUyNzA6Ci0gICAgICBBUkdC
Um90YXRlMjcwKHNyY19hcmdiLCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAg
IGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgIHdpZHRoLCBo
ZWlnaHQpOworICAgICAgQVJHQlJvdGF0ZTI3MChzcmNfYXJnYiwgc3JjX3N0cmlkZV9hcmdiLCBk
c3RfYXJnYiwgZHN0X3N0cmlkZV9hcmdiLCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgaGVp
Z2h0KTsKICAgICAgIHJldHVybiAwOwogICAgIGNhc2Uga1JvdGF0ZTE4MDoKLSAgICAgIEFSR0JS
b3RhdGUxODAoc3JjX2FyZ2IsIHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAg
ZHN0X2FyZ2IsIGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhl
aWdodCk7CisgICAgICBBUkdCUm90YXRlMTgwKHNyY19hcmdiLCBzcmNfc3RyaWRlX2FyZ2IsIGRz
dF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsIHdpZHRoLAorICAgICAgICAgICAgICAgICAgICBoZWln
aHQpOwogICAgICAgcmV0dXJuIDA7CiAgICAgZGVmYXVsdDoKICAgICAgIGJyZWFrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvc291cmNlL3JvdGF0ZV9jb21tb24uY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90YXRlX2NvbW1vbi5jYwppbmRleCBi
MzNhOWEwYzZlZGJmNzNkMWU2ZjVhODllNmJlNjQzZjA1ODQ5OTg3Li44OTM1N2U3MzJkMjhlNDE3
NGIyYWNmNjQ2MmMyZjk1NDcyNmIzMzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90YXRlX2NvbW1vbi5j
YworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9zb3VyY2Uvcm90YXRlX2NvbW1vbi5jYwpAQCAtOCwxNiArOCwxOSBAQAogICogIGJlIGZv
dW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgog
ICovCiAKLSNpbmNsdWRlICJsaWJ5dXYvcm93LmgiCiAjaW5jbHVkZSAibGlieXV2L3JvdGF0ZV9y
b3cuaCIKKyNpbmNsdWRlICJsaWJ5dXYvcm93LmgiCiAKICNpZmRlZiBfX2NwbHVzcGx1cwogbmFt
ZXNwYWNlIGxpYnl1diB7CiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi12b2lkIFRyYW5zcG9zZVd4
OF9DKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0LCBpbnQgZHN0X3N0cmlkZSwgaW50IHdpZHRoKSB7Cit2b2lkIFRyYW5zcG9z
ZVd4OF9DKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGlu
dCBpOwogICBmb3IgKGkgPSAwOyBpIDwgd2lkdGg7ICsraSkgewogICAgIGRzdFswXSA9IHNyY1sw
ICogc3JjX3N0cmlkZV07CkBAIC0zMyw5ICszNiwxMyBAQCB2b2lkIFRyYW5zcG9zZVd4OF9DKGNv
bnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAogICB9CiB9CiAKLXZvaWQgVHJhbnNwb3Nl
VVZXeDhfQyhjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2EsIGludCBkc3Rfc3RyaWRlX2EsCi0gICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9iLCBpbnQgZHN0X3N0cmlkZV9iLCBpbnQgd2lkdGgpIHsKK3ZvaWQg
VHJhbnNwb3NlVVZXeDhfQyhjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hLAorICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9i
LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBpbnQgaTsKICAgZm9yIChp
ID0gMDsgaSA8IHdpZHRoOyArK2kpIHsKICAgICBkc3RfYVswXSA9IHNyY1swICogc3JjX3N0cmlk
ZSArIDBdOwpAQCAtNjAsOSArNjcsMTIgQEAgdm9pZCBUcmFuc3Bvc2VVVld4OF9DKGNvbnN0IHVp
bnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAogICB9CiB9CiAKLXZvaWQgVHJhbnNwb3NlV3hIX0Mo
Y29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgs
IGludCBoZWlnaHQpIHsKK3ZvaWQgVHJhbnNwb3NlV3hIX0MoY29uc3QgdWludDgqIHNyYywKKyAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQpIHsK
ICAgaW50IGk7CiAgIGZvciAoaSA9IDA7IGkgPCB3aWR0aDsgKytpKSB7CiAgICAgaW50IGo7CkBA
IC03MiwxMCArODIsMTQgQEAgdm9pZCBUcmFuc3Bvc2VXeEhfQyhjb25zdCB1aW50OCogc3JjLCBp
bnQgc3JjX3N0cmlkZSwKICAgfQogfQogCi12b2lkIFRyYW5zcG9zZVVWV3hIX0MoY29uc3QgdWlu
dDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hLCBpbnQgZHN0X3N0cmlkZV9hLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YiwgaW50IGRzdF9zdHJpZGVfYiwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpIHsKK3ZvaWQgVHJhbnNwb3NlVVZXeEhfQyhjb25zdCB1aW50OCogc3JjLAorICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hLAor
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwKKyAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3N0cmlkZV9iLAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KSB7CiAgIGludCBpOwogICBmb3IgKGkgPSAw
OyBpIDwgd2lkdGggKiAyOyBpICs9IDIpIHsKICAgICBpbnQgajsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9y
b3RhdGVfZHNwcjIuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90YXRlX2RzcHIyLmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkMjMzOGRl
ZmY2OTE2Nzc5MDQ5MGMwNTBmMjQ1NTc3Mjc2NjZkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uv
cm90YXRlX2RzcHIyLmNjCkBAIC0wLDAgKzEsNDc1IEBACisvKgorICogIENvcHlyaWdodCAyMDEx
IFRoZSBMaWJZdXYgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
ICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlCisgKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9v
dCBvZiB0aGUgc291cmNlCisgKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJv
cGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAorICogIGluIHRoZSBmaWxlIFBBVEVOVFMu
IEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQorICogIGJlIGZvdW5kIGluIHRo
ZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgorICovCisKKyNp
bmNsdWRlICJsaWJ5dXYvcm90YXRlX3Jvdy5oIgorI2luY2x1ZGUgImxpYnl1di9yb3cuaCIKKwor
I2luY2x1ZGUgImxpYnl1di9iYXNpY190eXBlcy5oIgorCisjaWZkZWYgX19jcGx1c3BsdXMKK25h
bWVzcGFjZSBsaWJ5dXYgeworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2lmICFkZWZpbmVkKExJ
QllVVl9ESVNBQkxFX0RTUFIyKSAmJiBkZWZpbmVkKF9fbWlwc19kc3ApICYmIFwKKyAgICAoX19t
aXBzX2RzcF9yZXYgPj0gMikgJiYgKF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIpCisKK3Zv
aWQgVHJhbnNwb3NlV3g4X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3QsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBfX2FzbV9fIF9fdm9sYXRpbGVfXygKKyAgICAg
ICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAic2xsICAgICAgICAgICAgICAkdDIsICVbc3JjX3N0cmlkZV0sIDB4MSAgICAg
ICAgICBcbiIgIC8vIHNyY19zdHJpZGUgeCAyCisgICAgICAic2xsICAgICAgICAgICAgICAkdDQs
ICVbc3JjX3N0cmlkZV0sIDB4MiAgICAgICAgICBcbiIgIC8vIHNyY19zdHJpZGUgeCA0CisgICAg
ICAic2xsICAgICAgICAgICAgICAkdDksICVbc3JjX3N0cmlkZV0sIDB4MyAgICAgICAgICBcbiIg
IC8vIHNyY19zdHJpZGUgeCA4CisgICAgICAiYWRkdSAgICAgICAgICAgICAkdDMsICR0MiwgJVtz
cmNfc3RyaWRlXSAgICAgICAgICBcbiIKKyAgICAgICJhZGR1ICAgICAgICAgICAgICR0NSwgJHQ0
LCAlW3NyY19zdHJpZGVdICAgICAgICAgIFxuIgorICAgICAgImFkZHUgICAgICAgICAgICAgJHQ2
LCAkdDIsICR0NCAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYW5kaSAgICAgICAgICAg
ICAkdDAsICVbZHN0XSwgMHgzICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhbmRpICAgICAg
ICAgICAgICR0MSwgJVtkc3Rfc3RyaWRlXSwgMHgzICAgICAgICAgIFxuIgorICAgICAgIm9yICAg
ICAgICAgICAgICAgJHQwLCAkdDAsICR0MSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
Ym5leiAgICAgICAgICAgICAkdDAsIDExZiAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICIgc3VidSAgICAgICAgICAgICR0NywgJHQ5LCAlW3NyY19zdHJpZGVdICAgICAgICAgIFxu
IgorICAgICAgLy8gZHN0ICsgZHN0X3N0cmlkZSB3b3JkIGFsaWduZWQKKyAgICAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImxi
dSAgICAgICAgICAgICAgJHQwLCAwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAibGJ1eCAgICAgICAgICAgICAkdDEsICVbc3JjX3N0cmlkZV0oJVtzcmNdKSAgICAgICBcbiIK
KyAgICAgICJsYnV4ICAgICAgICAgICAgICR0OCwgJHQyKCVbc3JjXSkgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgImxidXggICAgICAgICAgICAgJHQ5LCAkdDMoJVtzcmNdKSAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAic2xsICAgICAgICAgICAgICAkdDEsICR0MSwgMTYgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJzbGwgICAgICAgICAgICAgICR0OSwgJHQ5LCAxNiAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm9yICAgICAgICAgICAgICAgJHQwLCAkdDAsICR0
MSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAib3IgICAgICAgICAgICAgICAkdDgsICR0
OCwgJHQ5ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwcmVjci5xYi5waCAgICAgICRz
MCwgJHQ4LCAkdDAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImxidXggICAgICAgICAg
ICAgJHQwLCAkdDQoJVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGJ1eCAgICAg
ICAgICAgICAkdDEsICR0NSglW3NyY10pICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsYnV4
ICAgICAgICAgICAgICR0OCwgJHQ2KCVbc3JjXSkgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ImxidXggICAgICAgICAgICAgJHQ5LCAkdDcoJVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAic2xsICAgICAgICAgICAgICAkdDEsICR0MSwgMTYgICAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAgICJzbGwgICAgICAgICAgICAgICR0OSwgJHQ5LCAxNiAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgIm9yICAgICAgICAgICAgICAgJHQwLCAkdDAsICR0MSAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAib3IgICAgICAgICAgICAgICAkdDgsICR0OCwgJHQ5ICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJwcmVjci5xYi5waCAgICAgICRzMSwgJHQ4LCAkdDAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAgICAgICAgJHMwLCAwKCVb
ZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAgICAlW3dp
ZHRoXSwgLTEgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAgICAg
ICVbc3JjXSwgMSAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAg
ICAgICAgJHMxLCA0KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYm5leiAg
ICAgICAgICAgICAlW3dpZHRoXSwgMWIgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIg
YWRkdSAgICAgICAgICAgICVbZHN0XSwgJVtkc3RdLCAlW2RzdF9zdHJpZGVdICAgIFxuIgorICAg
ICAgImIgICAgICAgICAgICAgICAgMmYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAvLyBkc3QgKyBkc3Rfc3RyaWRlIHVuYWxpZ25lZAorICAgICAgIjExOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGJ1ICAg
ICAgICAgICAgICAkdDAsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJs
YnV4ICAgICAgICAgICAgICR0MSwgJVtzcmNfc3RyaWRlXSglW3NyY10pICAgICAgIFxuIgorICAg
ICAgImxidXggICAgICAgICAgICAgJHQ4LCAkdDIoJVtzcmNdKSAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAibGJ1eCAgICAgICAgICAgICAkdDksICR0MyglW3NyY10pICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJzbGwgICAgICAgICAgICAgICR0MSwgJHQxLCAxNiAgICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgInNsbCAgICAgICAgICAgICAgJHQ5LCAkdDksIDE2ICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAib3IgICAgICAgICAgICAgICAkdDAsICR0MCwgJHQxICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJvciAgICAgICAgICAgICAgICR0OCwgJHQ4LCAk
dDkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInByZWNyLnFiLnBoICAgICAgJHMwLCAk
dDgsICR0MCAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGJ1eCAgICAgICAgICAgICAk
dDAsICR0NCglW3NyY10pICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsYnV4ICAgICAgICAg
ICAgICR0MSwgJHQ1KCVbc3JjXSkgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImxidXggICAg
ICAgICAgICAgJHQ4LCAkdDYoJVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGJ1
eCAgICAgICAgICAgICAkdDksICR0NyglW3NyY10pICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJzbGwgICAgICAgICAgICAgICR0MSwgJHQxLCAxNiAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgInNsbCAgICAgICAgICAgICAgJHQ5LCAkdDksIDE2ICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAib3IgICAgICAgICAgICAgICAkdDAsICR0MCwgJHQxICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJvciAgICAgICAgICAgICAgICR0OCwgJHQ4LCAkdDkgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgInByZWNyLnFiLnBoICAgICAgJHMxLCAkdDgsICR0MCAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAic3dyICAgICAgICAgICAgICAkczAsIDAoJVtkc3Rd
KSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzd2wgICAgICAgICAgICAgICRzMCwgMygl
W2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAgICAgICAgJVt3
aWR0aF0sIC0xICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAg
ICAlW3NyY10sIDEgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzd3IgICAgICAg
ICAgICAgICRzMSwgNCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3bCAg
ICAgICAgICAgICAgJHMxLCA3KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
Ym5leiAgICAgICAgICAgICAlW3dpZHRoXSwgMTFiICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJhZGR1ICAgICAgICAgICAgICVbZHN0XSwgJVtkc3RdLCAlW2RzdF9zdHJpZGVdICAgIFxu
IgorICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgIDogW3NyY10gIityIihzcmMpLCBbZHN0XSAiK3IiKGRzdCksIFt3
aWR0aF0gIityIih3aWR0aCkKKyAgICAgIDogW3NyY19zdHJpZGVdICJyIihzcmNfc3RyaWRlKSwg
W2RzdF9zdHJpZGVdICJyIihkc3Rfc3RyaWRlKQorICAgICAgOiAidDAiLCAidDEiLCAidDIiLCAi
dDMiLCAidDQiLCAidDUiLCAidDYiLCAidDciLCAidDgiLCAidDkiLCAiczAiLCAiczEiKTsKK30K
Kwordm9pZCBUcmFuc3Bvc2VXeDhfRmFzdF9EU1BSMihjb25zdCB1aW50OCogc3JjLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewor
ICBfX2FzbV9fIF9fdm9sYXRpbGVfXygKKyAgICAgICIuc2V0IG5vYXQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIi5zZXQgcHVzaCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiLnNldCBub3Jlb3JkZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJiZXF6ICAgICAg
ICAgICAgICVbd2lkdGhdLCAyZiAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBzbGwg
ICAgICAgICAgICAgJHQyLCAlW3NyY19zdHJpZGVdLCAweDEgICAgICAgICAgXG4iICAvLyBzcmNf
c3RyaWRlIHggMgorICAgICAgInNsbCAgICAgICAgICAgICAgJHQ0LCAlW3NyY19zdHJpZGVdLCAw
eDIgICAgICAgICAgXG4iICAvLyBzcmNfc3RyaWRlIHggNAorICAgICAgInNsbCAgICAgICAgICAg
ICAgJHQ5LCAlW3NyY19zdHJpZGVdLCAweDMgICAgICAgICAgXG4iICAvLyBzcmNfc3RyaWRlIHgg
OAorICAgICAgImFkZHUgICAgICAgICAgICAgJHQzLCAkdDIsICVbc3JjX3N0cmlkZV0gICAgICAg
ICAgXG4iCisgICAgICAiYWRkdSAgICAgICAgICAgICAkdDUsICR0NCwgJVtzcmNfc3RyaWRlXSAg
ICAgICAgICBcbiIKKyAgICAgICJhZGR1ICAgICAgICAgICAgICR0NiwgJHQyLCAkdDQgICAgICAg
ICAgICAgICAgICAgIFxuIgorCisgICAgICAic3JsICAgICAgICAgICAgICAkQVQsICVbd2lkdGhd
LCAweDIgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhbmRpICAgICAgICAgICAgICR0MCwgJVtk
c3RdLCAweDMgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFuZGkgICAgICAgICAgICAgJHQx
LCAlW2RzdF9zdHJpZGVdLCAweDMgICAgICAgICAgXG4iCisgICAgICAib3IgICAgICAgICAgICAg
ICAkdDAsICR0MCwgJHQxICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJibmV6ICAgICAg
ICAgICAgICR0MCwgMTFmICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBzdWJ1
ICAgICAgICAgICAgJHQ3LCAkdDksICVbc3JjX3N0cmlkZV0gICAgICAgICAgXG4iCisgICAgICAv
LyBkc3QgKyBkc3Rfc3RyaWRlIHdvcmQgYWxpZ25lZAorICAgICAgIjE6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibHcgICAgICAgICAg
ICAgICAkdDAsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd3ggICAg
ICAgICAgICAgICR0MSwgJVtzcmNfc3RyaWRlXSglW3NyY10pICAgICAgIFxuIgorICAgICAgImx3
eCAgICAgICAgICAgICAgJHQ4LCAkdDIoJVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAibHd4ICAgICAgICAgICAgICAkdDksICR0MyglW3NyY10pICAgICAgICAgICAgICAgICBcbiIK
KworICAgICAgLy8gdDAgPSB8IDMwIHwgMjAgfCAxMCB8IDAwIHwKKyAgICAgIC8vIHQxID0gfCAz
MSB8IDIxIHwgMTEgfCAwMSB8CisgICAgICAvLyB0OCA9IHwgMzIgfCAyMiB8IDEyIHwgMDIgfAor
ICAgICAgLy8gdDkgPSB8IDMzIHwgMjMgfCAxMyB8IDAzIHwKKworICAgICAgInByZWNyLnFiLnBo
ICAgICAkczAsICR0MSwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHJlY3Iu
cWIucGggICAgICRzMSwgJHQ5LCAkdDggICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJw
cmVjcnEucWIucGggICAgJHMyLCAkdDEsICR0MCAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgInByZWNycS5xYi5waCAgICAkczMsICR0OSwgJHQ4ICAgICAgICAgICAgICAgICAgICAgXG4i
CisKKyAgICAgIC8vIHMwID0gfCAyMSB8IDAxIHwgMjAgfCAwMCB8CisgICAgICAvLyBzMSA9IHwg
MjMgfCAwMyB8IDIyIHwgMDIgfAorICAgICAgLy8gczIgPSB8IDMxIHwgMTEgfCAzMCB8IDEwIHwK
KyAgICAgIC8vIHMzID0gfCAzMyB8IDEzIHwgMzIgfCAxMiB8CisKKyAgICAgICJwcmVjci5xYi5w
aCAgICAgJHM0LCAkczEsICRzMCAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInByZWNy
cS5xYi5waCAgICAkczUsICRzMSwgJHMwICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
cHJlY3IucWIucGggICAgICRzNiwgJHMzLCAkczIgICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJwcmVjcnEucWIucGggICAgJHM3LCAkczMsICRzMiAgICAgICAgICAgICAgICAgICAgIFxu
IgorCisgICAgICAvLyBzNCA9IHwgMDMgfCAwMiB8IDAxIHwgMDAgfAorICAgICAgLy8gczUgPSB8
IDIzIHwgMjIgfCAyMSB8IDIwIHwKKyAgICAgIC8vIHM2ID0gfCAxMyB8IDEyIHwgMTEgfCAxMCB8
CisgICAgICAvLyBzNyA9IHwgMzMgfCAzMiB8IDMxIHwgMzAgfAorCisgICAgICAibHd4ICAgICAg
ICAgICAgICAkdDAsICR0NCglW3NyY10pICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd3gg
ICAgICAgICAgICAgICR0MSwgJHQ1KCVbc3JjXSkgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
Imx3eCAgICAgICAgICAgICAgJHQ4LCAkdDYoJVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAibHd4ICAgICAgICAgICAgICAkdDksICR0NyglW3NyY10pICAgICAgICAgICAgICAgICBc
biIKKworICAgICAgLy8gdDAgPSB8IDM0IHwgMjQgfCAxNCB8IDA0IHwKKyAgICAgIC8vIHQxID0g
fCAzNSB8IDI1IHwgMTUgfCAwNSB8CisgICAgICAvLyB0OCA9IHwgMzYgfCAyNiB8IDE2IHwgMDYg
fAorICAgICAgLy8gdDkgPSB8IDM3IHwgMjcgfCAxNyB8IDA3IHwKKworICAgICAgInByZWNyLnFi
LnBoICAgICAkczAsICR0MSwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHJl
Y3IucWIucGggICAgICRzMSwgJHQ5LCAkdDggICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJwcmVjcnEucWIucGggICAgJHMyLCAkdDEsICR0MCAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgInByZWNycS5xYi5waCAgICAkczMsICR0OSwgJHQ4ICAgICAgICAgICAgICAgICAgICAg
XG4iCisKKyAgICAgIC8vIHMwID0gfCAyNSB8IDA1IHwgMjQgfCAwNCB8CisgICAgICAvLyBzMSA9
IHwgMjcgfCAwNyB8IDI2IHwgMDYgfAorICAgICAgLy8gczIgPSB8IDM1IHwgMTUgfCAzNCB8IDE0
IHwKKyAgICAgIC8vIHMzID0gfCAzNyB8IDE3IHwgMzYgfCAxNiB8CisKKyAgICAgICJwcmVjci5x
Yi5waCAgICAgJHQwLCAkczEsICRzMCAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInBy
ZWNycS5xYi5waCAgICAkdDEsICRzMSwgJHMwICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAicHJlY3IucWIucGggICAgICR0OCwgJHMzLCAkczIgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJwcmVjcnEucWIucGggICAgJHQ5LCAkczMsICRzMiAgICAgICAgICAgICAgICAgICAg
IFxuIgorCisgICAgICAvLyB0MCA9IHwgMDcgfCAwNiB8IDA1IHwgMDQgfAorICAgICAgLy8gdDEg
PSB8IDI3IHwgMjYgfCAyNSB8IDI0IHwKKyAgICAgIC8vIHQ4ID0gfCAxNyB8IDE2IHwgMTUgfCAx
NCB8CisgICAgICAvLyB0OSA9IHwgMzcgfCAzNiB8IDM1IHwgMzQgfAorCisgICAgICAiYWRkdSAg
ICAgICAgICAgICRzMCwgJVtkc3RdLCAlW2RzdF9zdHJpZGVdICAgICAgICBcbiIKKyAgICAgICJh
ZGR1ICAgICAgICAgICAgJHMxLCAkczAsICVbZHN0X3N0cmlkZV0gICAgICAgICAgIFxuIgorICAg
ICAgImFkZHUgICAgICAgICAgICAkczIsICRzMSwgJVtkc3Rfc3RyaWRlXSAgICAgICAgICAgXG4i
CisKKyAgICAgICJzdyAgICAgICAgICAgICAgJHM0LCAwKCVbZHN0XSkgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgInN3ICAgICAgICAgICAgICAkdDAsIDQoJVtkc3RdKSAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICRzNiwgMCgkczApICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgICAgICAgJHQ4LCA0KCRzMCkgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAgICAgICAkczUsIDAoJHMx
KSAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICR0MSwg
NCgkczEpICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgICAgICAg
JHM3LCAwKCRzMikgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAg
ICAgICAkdDksIDQoJHMyKSAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICJhZGRp
dSAgICAgICAgICAgICRBVCwgLTEgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ImFkZGl1ICAgICAgICAgICAgJVtzcmNdLCA0ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisK
KyAgICAgICJibmV6ICAgICAgICAgICAgICRBVCwgMWIgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgIiBhZGR1ICAgICAgICAgICAgJVtkc3RdLCAkczIsICVbZHN0X3N0cmlkZV0g
ICAgICAgXG4iCisgICAgICAiYiAgICAgICAgICAgICAgICAyZiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgIC8vIGRzdCArIGRzdF9zdHJpZGUgdW5hbGlnbmVkCisgICAg
ICAiMTE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJsdyAgICAgICAgICAgICAgICR0MCwgMCglW3NyY10pICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgImx3eCAgICAgICAgICAgICAgJHQxLCAlW3NyY19zdHJpZGVdKCVbc3JjXSkg
ICAgICAgXG4iCisgICAgICAibHd4ICAgICAgICAgICAgICAkdDgsICR0MiglW3NyY10pICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJsd3ggICAgICAgICAgICAgICR0OSwgJHQzKCVbc3JjXSkg
ICAgICAgICAgICAgICAgIFxuIgorCisgICAgICAvLyB0MCA9IHwgMzAgfCAyMCB8IDEwIHwgMDAg
fAorICAgICAgLy8gdDEgPSB8IDMxIHwgMjEgfCAxMSB8IDAxIHwKKyAgICAgIC8vIHQ4ID0gfCAz
MiB8IDIyIHwgMTIgfCAwMiB8CisgICAgICAvLyB0OSA9IHwgMzMgfCAyMyB8IDEzIHwgMDMgfAor
CisgICAgICAicHJlY3IucWIucGggICAgICRzMCwgJHQxLCAkdDAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJwcmVjci5xYi5waCAgICAgJHMxLCAkdDksICR0OCAgICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgInByZWNycS5xYi5waCAgICAkczIsICR0MSwgJHQwICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAicHJlY3JxLnFiLnBoICAgICRzMywgJHQ5LCAkdDggICAg
ICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgLy8gczAgPSB8IDIxIHwgMDEgfCAyMCB8IDAw
IHwKKyAgICAgIC8vIHMxID0gfCAyMyB8IDAzIHwgMjIgfCAwMiB8CisgICAgICAvLyBzMiA9IHwg
MzEgfCAxMSB8IDMwIHwgMTAgfAorICAgICAgLy8gczMgPSB8IDMzIHwgMTMgfCAzMiB8IDEyIHwK
KworICAgICAgInByZWNyLnFiLnBoICAgICAkczQsICRzMSwgJHMwICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAicHJlY3JxLnFiLnBoICAgICRzNSwgJHMxLCAkczAgICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJwcmVjci5xYi5waCAgICAgJHM2LCAkczMsICRzMiAgICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgInByZWNycS5xYi5waCAgICAkczcsICRzMywgJHMyICAg
ICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgIC8vIHM0ID0gfCAwMyB8IDAyIHwgMDEgfCAw
MCB8CisgICAgICAvLyBzNSA9IHwgMjMgfCAyMiB8IDIxIHwgMjAgfAorICAgICAgLy8gczYgPSB8
IDEzIHwgMTIgfCAxMSB8IDEwIHwKKyAgICAgIC8vIHM3ID0gfCAzMyB8IDMyIHwgMzEgfCAzMCB8
CisKKyAgICAgICJsd3ggICAgICAgICAgICAgICR0MCwgJHQ0KCVbc3JjXSkgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgImx3eCAgICAgICAgICAgICAgJHQxLCAkdDUoJVtzcmNdKSAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAibHd4ICAgICAgICAgICAgICAkdDgsICR0NiglW3NyY10pICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd3ggICAgICAgICAgICAgICR0OSwgJHQ3KCVbc3Jj
XSkgICAgICAgICAgICAgICAgIFxuIgorCisgICAgICAvLyB0MCA9IHwgMzQgfCAyNCB8IDE0IHwg
MDQgfAorICAgICAgLy8gdDEgPSB8IDM1IHwgMjUgfCAxNSB8IDA1IHwKKyAgICAgIC8vIHQ4ID0g
fCAzNiB8IDI2IHwgMTYgfCAwNiB8CisgICAgICAvLyB0OSA9IHwgMzcgfCAyNyB8IDE3IHwgMDcg
fAorCisgICAgICAicHJlY3IucWIucGggICAgICRzMCwgJHQxLCAkdDAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJwcmVjci5xYi5waCAgICAgJHMxLCAkdDksICR0OCAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgInByZWNycS5xYi5waCAgICAkczIsICR0MSwgJHQwICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAicHJlY3JxLnFiLnBoICAgICRzMywgJHQ5LCAkdDgg
ICAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgLy8gczAgPSB8IDI1IHwgMDUgfCAyNCB8
IDA0IHwKKyAgICAgIC8vIHMxID0gfCAyNyB8IDA3IHwgMjYgfCAwNiB8CisgICAgICAvLyBzMiA9
IHwgMzUgfCAxNSB8IDM0IHwgMTQgfAorICAgICAgLy8gczMgPSB8IDM3IHwgMTcgfCAzNiB8IDE2
IHwKKworICAgICAgInByZWNyLnFiLnBoICAgICAkdDAsICRzMSwgJHMwICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAicHJlY3JxLnFiLnBoICAgICR0MSwgJHMxLCAkczAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJwcmVjci5xYi5waCAgICAgJHQ4LCAkczMsICRzMiAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgInByZWNycS5xYi5waCAgICAkdDksICRzMywgJHMy
ICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgIC8vIHQwID0gfCAwNyB8IDA2IHwgMDUg
fCAwNCB8CisgICAgICAvLyB0MSA9IHwgMjcgfCAyNiB8IDI1IHwgMjQgfAorICAgICAgLy8gdDgg
PSB8IDE3IHwgMTYgfCAxNSB8IDE0IHwKKyAgICAgIC8vIHQ5ID0gfCAzNyB8IDM2IHwgMzUgfCAz
NCB8CisKKyAgICAgICJhZGR1ICAgICAgICAgICAgJHMwLCAlW2RzdF0sICVbZHN0X3N0cmlkZV0g
ICAgICAgIFxuIgorICAgICAgImFkZHUgICAgICAgICAgICAkczEsICRzMCwgJVtkc3Rfc3RyaWRl
XSAgICAgICAgICAgXG4iCisgICAgICAiYWRkdSAgICAgICAgICAgICRzMiwgJHMxLCAlW2RzdF9z
dHJpZGVdICAgICAgICAgICBcbiIKKworICAgICAgInN3ciAgICAgICAgICAgICAgJHM0LCAwKCVb
ZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3dsICAgICAgICAgICAgICAkczQs
IDMoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzd3IgICAgICAgICAgICAg
ICR0MCwgNCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3bCAgICAgICAg
ICAgICAgJHQwLCA3KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3dyICAg
ICAgICAgICAgICAkczYsIDAoJHMwKSAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJz
d2wgICAgICAgICAgICAgICRzNiwgMygkczApICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgInN3ciAgICAgICAgICAgICAgJHQ4LCA0KCRzMCkgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAic3dsICAgICAgICAgICAgICAkdDgsIDcoJHMwKSAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJzd3IgICAgICAgICAgICAgICRzNSwgMCgkczEpICAgICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgInN3bCAgICAgICAgICAgICAgJHM1LCAzKCRzMSkgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic3dyICAgICAgICAgICAgICAkdDEsIDQoJHMxKSAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzd2wgICAgICAgICAgICAgICR0MSwgNygkczEp
ICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ciAgICAgICAgICAgICAgJHM3LCAw
KCRzMikgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3dsICAgICAgICAgICAgICAk
czcsIDMoJHMyKSAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzd3IgICAgICAgICAg
ICAgICR0OSwgNCgkczIpICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3bCAgICAg
ICAgICAgICAgJHQ5LCA3KCRzMikgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICJh
ZGRpdSAgICAgICAgICAgICRBVCwgLTEgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgImFkZGl1ICAgICAgICAgICAgJVtzcmNdLCA0ICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisKKyAgICAgICJibmV6ICAgICAgICAgICAgICRBVCwgMTFiICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgIiBhZGR1ICAgICAgICAgICAgJVtkc3RdLCAkczIsICVbZHN0X3N0cmlk
ZV0gICAgICAgXG4iCisgICAgICAiMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICIuc2V0IHBvcCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIi5zZXQgYXQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICA6IFtzcmNdICIrciIoc3JjKSwgW2Rz
dF0gIityIihkc3QpLCBbd2lkdGhdICIrciIod2lkdGgpCisgICAgICA6IFtzcmNfc3RyaWRlXSAi
ciIoc3JjX3N0cmlkZSksIFtkc3Rfc3RyaWRlXSAiciIoZHN0X3N0cmlkZSkKKyAgICAgIDogInQw
IiwgInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwgInQ2IiwgInQ3IiwgInQ4IiwgInQ5Iiwg
InMwIiwgInMxIiwKKyAgICAgICAgInMyIiwgInMzIiwgInM0IiwgInM1IiwgInM2IiwgInM3Iik7
Cit9CisKK3ZvaWQgVHJhbnNwb3NlVVZXeDhfRFNQUjIoY29uc3QgdWludDgqIHNyYywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpIHsKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAiLnNl
dCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgImJlcXogICAgICAgICAgICAlW3dpZHRoXSwgMmYgICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAiIHNsbCAgICAgICAgICAgICR0MiwgJVtzcmNfc3RyaWRlXSwgMHgxICAgICAg
ICAgICBcbiIgIC8vIHNyY19zdHJpZGUgeCAyCisgICAgICAic2xsICAgICAgICAgICAgICR0NCwg
JVtzcmNfc3RyaWRlXSwgMHgyICAgICAgICAgICBcbiIgIC8vIHNyY19zdHJpZGUgeCA0CisgICAg
ICAic2xsICAgICAgICAgICAgICR0OSwgJVtzcmNfc3RyaWRlXSwgMHgzICAgICAgICAgICBcbiIg
IC8vIHNyY19zdHJpZGUgeCA4CisgICAgICAiYWRkdSAgICAgICAgICAgICR0MywgJHQyLCAlW3Ny
Y19zdHJpZGVdICAgICAgICAgICBcbiIKKyAgICAgICJhZGR1ICAgICAgICAgICAgJHQ1LCAkdDQs
ICVbc3JjX3N0cmlkZV0gICAgICAgICAgIFxuIgorICAgICAgImFkZHUgICAgICAgICAgICAkdDYs
ICR0MiwgJHQ0ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3VidSAgICAgICAgICAg
ICR0NywgJHQ5LCAlW3NyY19zdHJpZGVdICAgICAgICAgICBcbiIKKyAgICAgICJzcmwgICAgICAg
ICAgICAgJHQxLCAlW3dpZHRoXSwgMSAgICAgICAgICAgICAgICAgIFxuIgorCisgICAgICAvLyBj
aGVjayB3b3JkIGFsaWdtZW50IGZvciBkc3RfYSwgZHN0X2IsIGRzdF9zdHJpZGVfYSBhbmQgZHN0
X3N0cmlkZV9iCisgICAgICAiYW5kaSAgICAgICAgICAgICR0MCwgJVtkc3RfYV0sIDB4MyAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJhbmRpICAgICAgICAgICAgJHQ4LCAlW2RzdF9iXSwgMHgz
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm9yICAgICAgICAgICAgICAkdDAsICR0MCwgJHQ4
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYW5kaSAgICAgICAgICAgICR0OCwgJVtk
c3Rfc3RyaWRlX2FdLCAweDMgICAgICAgICBcbiIKKyAgICAgICJhbmRpICAgICAgICAgICAgJHM1
LCAlW2RzdF9zdHJpZGVfYl0sIDB4MyAgICAgICAgIFxuIgorICAgICAgIm9yICAgICAgICAgICAg
ICAkdDgsICR0OCwgJHM1ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAib3IgICAgICAg
ICAgICAgICR0MCwgJHQwLCAkdDggICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJibmV6
ICAgICAgICAgICAgJHQwLCAxMWYgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
IiBub3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAvLyBkc3QgKyBkc3Rfc3RyaWRlIHdvcmQgYWxpZ25lZCAoYm90aCwgYSAmIGIgZHN0IGFk
ZHJlc3NlcykKKyAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgImx3ICAgICAgICAgICAgICAkdDAsIDAoJVtzcmNdKSAgICAg
ICAgICAgICAgICAgICAgXG4iICAvLyB8QjB8QTB8YjB8YTB8CisgICAgICAibHd4ICAgICAgICAg
ICAgICR0OCwgJVtzcmNfc3RyaWRlXSglW3NyY10pICAgICAgICBcbiIgIC8vIHxCMXxBMXxiMXxh
MXwKKyAgICAgICJhZGR1ICAgICAgICAgICAgJHM1LCAlW2RzdF9hXSwgJVtkc3Rfc3RyaWRlX2Fd
ICAgIFxuIgorICAgICAgImx3eCAgICAgICAgICAgICAkdDksICR0MiglW3NyY10pICAgICAgICAg
ICAgICAgICAgXG4iICAvLyB8QjJ8QTJ8YjJ8YTJ8CisgICAgICAibHd4ICAgICAgICAgICAgICRz
MCwgJHQzKCVbc3JjXSkgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxCM3xBM3xiM3xhM3wKKyAg
ICAgICJhZGR1ICAgICAgICAgICAgJHM2LCAlW2RzdF9iXSwgJVtkc3Rfc3RyaWRlX2JdICAgIFxu
IgorCisgICAgICAicHJlY3JxLnBoLncgICAgICRzMSwgJHQ4LCAkdDAgICAgICAgICAgICAgICAg
ICAgICBcbiIgIC8vIHxCMXxBMXxCMHxBMHwKKyAgICAgICJwcmVjcnEucGgudyAgICAgJHMyLCAk
czAsICR0OSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfEIzfEEzfEIyfEEyfAorICAgICAg
InByZWNyLnFiLnBoICAgICAkczMsICRzMiwgJHMxICAgICAgICAgICAgICAgICAgICAgXG4iICAv
LyB8QTN8QTJ8QTF8QTB8CisgICAgICAicHJlY3JxLnFiLnBoICAgICRzNCwgJHMyLCAkczEgICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHxCM3xCMnxCMXxCMHwKKworICAgICAgInNsbCAgICAg
ICAgICAgICAkdDAsICR0MCwgMTYgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFj
a3JsLnBoICAgICAgICRzMSwgJHQ4LCAkdDAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxi
MXxhMXxiMHxhMHwKKyAgICAgICJzbGwgICAgICAgICAgICAgJHQ5LCAkdDksIDE2ICAgICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgInBhY2tybC5waCAgICAgICAkczIsICRzMCwgJHQ5ICAg
ICAgICAgICAgICAgICAgICAgXG4iICAvLyB8YjN8YTN8YjJ8YTJ8CisKKyAgICAgICJzdyAgICAg
ICAgICAgICAgJHMzLCAwKCRzNSkgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3
ICAgICAgICAgICAgICAkczQsIDAoJHM2KSAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAg
ICAgICJwcmVjci5xYi5waCAgICAgJHMzLCAkczIsICRzMSAgICAgICAgICAgICAgICAgICAgIFxu
IiAgLy8gfGEzfGEyfGExfGEwfAorICAgICAgInByZWNycS5xYi5waCAgICAkczQsICRzMiwgJHMx
ICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8YjN8YjJ8YjF8YjB8CisKKyAgICAgICJsd3gg
ICAgICAgICAgICAgJHQwLCAkdDQoJVtzcmNdKSAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfEI0
fEE0fGI0fGE0fAorICAgICAgImx3eCAgICAgICAgICAgICAkdDgsICR0NSglW3NyY10pICAgICAg
ICAgICAgICAgICAgXG4iICAvLyB8QjV8QTV8YjV8YTV8CisgICAgICAibHd4ICAgICAgICAgICAg
ICR0OSwgJHQ2KCVbc3JjXSkgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxCNnxBNnxiNnxhNnwK
KyAgICAgICJsd3ggICAgICAgICAgICAgJHMwLCAkdDcoJVtzcmNdKSAgICAgICAgICAgICAgICAg
IFxuIiAgLy8gfEI3fEE3fGI3fGE3fAorICAgICAgInN3ICAgICAgICAgICAgICAkczMsIDAoJVtk
c3RfYV0pICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICRzNCwg
MCglW2RzdF9iXSkgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgInByZWNycS5waC53ICAg
ICAkczEsICR0OCwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8QjV8QTV8QjR8QTR8
CisgICAgICAicHJlY3JxLnBoLncgICAgICRzMiwgJHMwLCAkdDkgICAgICAgICAgICAgICAgICAg
ICBcbiIgIC8vIHxCNnxBNnxCN3xBN3wKKyAgICAgICJwcmVjci5xYi5waCAgICAgJHMzLCAkczIs
ICRzMSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfEE3fEE2fEE1fEE0fAorICAgICAgInBy
ZWNycS5xYi5waCAgICAkczQsICRzMiwgJHMxICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8
Qjd8QjZ8QjV8QjR8CisKKyAgICAgICJzbGwgICAgICAgICAgICAgJHQwLCAkdDAsIDE2ICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgInBhY2tybC5waCAgICAgICAkczEsICR0OCwgJHQw
ICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8YjV8YTV8YjR8YTR8CisgICAgICAic2xsICAg
ICAgICAgICAgICR0OSwgJHQ5LCAxNiAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJw
YWNrcmwucGggICAgICAgJHMyLCAkczAsICR0OSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
fGI3fGE3fGI2fGE2fAorICAgICAgInN3ICAgICAgICAgICAgICAkczMsIDQoJHM1KSAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICRzNCwgNCgkczYpICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgInByZWNyLnFiLnBoICAgICAkczMsICRz
MiwgJHMxICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8YTd8YTZ8YTV8YTR8CisgICAgICAi
cHJlY3JxLnFiLnBoICAgICRzNCwgJHMyLCAkczEgICAgICAgICAgICAgICAgICAgICBcbiIgIC8v
IHxiN3xiNnxiNXxiNHwKKworICAgICAgImFkZGl1ICAgICAgICAgICAlW3NyY10sIDQgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAgICR0MSwgLTEgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzbGwgICAgICAgICAgICAgJHQwLCAl
W2RzdF9zdHJpZGVfYV0sIDEgICAgICAgICAgIFxuIgorICAgICAgInNsbCAgICAgICAgICAgICAk
dDgsICVbZHN0X3N0cmlkZV9iXSwgMSAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAg
ICAgICRzMywgNCglW2RzdF9hXSkgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAg
ICAgICAgICAgJHM0LCA0KCVbZHN0X2JdKSAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFk
ZHUgICAgICAgICAgICAlW2RzdF9hXSwgJVtkc3RfYV0sICR0MCAgICAgICAgICAgXG4iCisgICAg
ICAiYm5leiAgICAgICAgICAgICR0MSwgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICIgYWRkdSAgICAgICAgICAgJVtkc3RfYl0sICVbZHN0X2JdLCAkdDggICAgICAgICAg
IFxuIgorICAgICAgImIgICAgICAgICAgICAgICAyZiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAiIG5vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKworICAgICAgLy8gZHN0X2Egb3IgZHN0X2Igb3IgZHN0X3N0cmlkZV9h
IG9yIGRzdF9zdHJpZGVfYiBub3Qgd29yZCBhbGlnbmVkCisgICAgICAiMTE6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsdyAgICAgICAg
ICAgICAgJHQwLCAwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfEIwfEEwfGIw
fGEwfAorICAgICAgImx3eCAgICAgICAgICAgICAkdDgsICVbc3JjX3N0cmlkZV0oJVtzcmNdKSAg
ICAgICAgXG4iICAvLyB8QjF8QTF8YjF8YTF8CisgICAgICAiYWRkdSAgICAgICAgICAgICRzNSwg
JVtkc3RfYV0sICVbZHN0X3N0cmlkZV9hXSAgICBcbiIKKyAgICAgICJsd3ggICAgICAgICAgICAg
JHQ5LCAkdDIoJVtzcmNdKSAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfEIyfEEyfGIyfGEyfAor
ICAgICAgImx3eCAgICAgICAgICAgICAkczAsICR0MyglW3NyY10pICAgICAgICAgICAgICAgICAg
XG4iICAvLyB8QjN8QTN8YjN8YTN8CisgICAgICAiYWRkdSAgICAgICAgICAgICRzNiwgJVtkc3Rf
Yl0sICVbZHN0X3N0cmlkZV9iXSAgICBcbiIKKworICAgICAgInByZWNycS5waC53ICAgICAkczEs
ICR0OCwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8QjF8QTF8QjB8QTB8CisgICAg
ICAicHJlY3JxLnBoLncgICAgICRzMiwgJHMwLCAkdDkgICAgICAgICAgICAgICAgICAgICBcbiIg
IC8vIHxCM3xBM3xCMnxBMnwKKyAgICAgICJwcmVjci5xYi5waCAgICAgJHMzLCAkczIsICRzMSAg
ICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfEEzfEEyfEExfEEwfAorICAgICAgInByZWNycS5x
Yi5waCAgICAkczQsICRzMiwgJHMxICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8QjN8QjJ8
QjF8QjB8CisKKyAgICAgICJzbGwgICAgICAgICAgICAgJHQwLCAkdDAsIDE2ICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgInBhY2tybC5waCAgICAgICAkczEsICR0OCwgJHQwICAgICAg
ICAgICAgICAgICAgICAgXG4iICAvLyB8YjF8YTF8YjB8YTB8CisgICAgICAic2xsICAgICAgICAg
ICAgICR0OSwgJHQ5LCAxNiAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWNrcmwu
cGggICAgICAgJHMyLCAkczAsICR0OSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfGIzfGEz
fGIyfGEyfAorCisgICAgICAic3dyICAgICAgICAgICAgICRzMywgMCgkczUpICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJzd2wgICAgICAgICAgICAgJHMzLCAzKCRzNSkgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ciAgICAgICAgICAgICAkczQsIDAoJHM2KSAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3dsICAgICAgICAgICAgICRzNCwgMygk
czYpICAgICAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgInByZWNyLnFiLnBoICAgICAk
czMsICRzMiwgJHMxICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8YTN8YTJ8YTF8YTB8Cisg
ICAgICAicHJlY3JxLnFiLnBoICAgICRzNCwgJHMyLCAkczEgICAgICAgICAgICAgICAgICAgICBc
biIgIC8vIHxiM3xiMnxiMXxiMHwKKworICAgICAgImx3eCAgICAgICAgICAgICAkdDAsICR0NCgl
W3NyY10pICAgICAgICAgICAgICAgICAgXG4iICAvLyB8QjR8QTR8YjR8YTR8CisgICAgICAibHd4
ICAgICAgICAgICAgICR0OCwgJHQ1KCVbc3JjXSkgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxC
NXxBNXxiNXxhNXwKKyAgICAgICJsd3ggICAgICAgICAgICAgJHQ5LCAkdDYoJVtzcmNdKSAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gfEI2fEE2fGI2fGE2fAorICAgICAgImx3eCAgICAgICAgICAg
ICAkczAsICR0NyglW3NyY10pICAgICAgICAgICAgICAgICAgXG4iICAvLyB8Qjd8QTd8Yjd8YTd8
CisgICAgICAic3dyICAgICAgICAgICAgICRzMywgMCglW2RzdF9hXSkgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJzd2wgICAgICAgICAgICAgJHMzLCAzKCVbZHN0X2FdKSAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgInN3ciAgICAgICAgICAgICAkczQsIDAoJVtkc3RfYl0pICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic3dsICAgICAgICAgICAgICRzNCwgMyglW2RzdF9iXSkg
ICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgInByZWNycS5waC53ICAgICAkczEsICR0OCwg
JHQwICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8QjV8QTV8QjR8QTR8CisgICAgICAicHJl
Y3JxLnBoLncgICAgICRzMiwgJHMwLCAkdDkgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxC
NnxBNnxCN3xBN3wKKyAgICAgICJwcmVjci5xYi5waCAgICAgJHMzLCAkczIsICRzMSAgICAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gfEE3fEE2fEE1fEE0fAorICAgICAgInByZWNycS5xYi5waCAg
ICAkczQsICRzMiwgJHMxICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8Qjd8QjZ8QjV8QjR8
CisKKyAgICAgICJzbGwgICAgICAgICAgICAgJHQwLCAkdDAsIDE2ICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgInBhY2tybC5waCAgICAgICAkczEsICR0OCwgJHQwICAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyB8YjV8YTV8YjR8YTR8CisgICAgICAic2xsICAgICAgICAgICAgICR0
OSwgJHQ5LCAxNiAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWNrcmwucGggICAg
ICAgJHMyLCAkczAsICR0OSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfGI3fGE3fGI2fGE2
fAorCisgICAgICAic3dyICAgICAgICAgICAgICRzMywgNCgkczUpICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJzd2wgICAgICAgICAgICAgJHMzLCA3KCRzNSkgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgInN3ciAgICAgICAgICAgICAkczQsIDQoJHM2KSAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAic3dsICAgICAgICAgICAgICRzNCwgNygkczYpICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgInByZWNyLnFiLnBoICAgICAkczMsICRz
MiwgJHMxICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8YTd8YTZ8YTV8YTR8CisgICAgICAi
cHJlY3JxLnFiLnBoICAgICRzNCwgJHMyLCAkczEgICAgICAgICAgICAgICAgICAgICBcbiIgIC8v
IHxiN3xiNnxiNXxiNHwKKworICAgICAgImFkZGl1ICAgICAgICAgICAlW3NyY10sIDQgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAgICR0MSwgLTEgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzbGwgICAgICAgICAgICAgJHQwLCAl
W2RzdF9zdHJpZGVfYV0sIDEgICAgICAgICAgIFxuIgorICAgICAgInNsbCAgICAgICAgICAgICAk
dDgsICVbZHN0X3N0cmlkZV9iXSwgMSAgICAgICAgICAgXG4iCisgICAgICAic3dyICAgICAgICAg
ICAgICRzMywgNCglW2RzdF9hXSkgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzd2wgICAg
ICAgICAgICAgJHMzLCA3KCVbZHN0X2FdKSAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3
ciAgICAgICAgICAgICAkczQsIDQoJVtkc3RfYl0pICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAic3dsICAgICAgICAgICAgICRzNCwgNyglW2RzdF9iXSkgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJhZGR1ICAgICAgICAgICAgJVtkc3RfYV0sICVbZHN0X2FdLCAkdDAgICAgICAgICAg
IFxuIgorICAgICAgImJuZXogICAgICAgICAgICAkdDEsIDExYiAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAiIGFkZHUgICAgICAgICAgICVbZHN0X2JdLCAlW2RzdF9iXSwgJHQ4
ICAgICAgICAgICBcbiIKKworICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgIDogW3NyY10gIityIihzcmMpLCBbZHN0
X2FdICIrciIoZHN0X2EpLCBbZHN0X2JdICIrciIoZHN0X2IpLAorICAgICAgICBbd2lkdGhdICIr
ciIod2lkdGgpLCBbc3JjX3N0cmlkZV0gIityIihzcmNfc3RyaWRlKQorICAgICAgOiBbZHN0X3N0
cmlkZV9hXSAiciIoZHN0X3N0cmlkZV9hKSwgW2RzdF9zdHJpZGVfYl0gInIiKGRzdF9zdHJpZGVf
YikKKyAgICAgIDogInQwIiwgInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwgInQ2IiwgInQ3
IiwgInQ4IiwgInQ5IiwgInMwIiwgInMxIiwKKyAgICAgICAgInMyIiwgInMzIiwgInM0IiwgInM1
IiwgInM2Iik7Cit9CisKKyNlbmRpZiAgLy8gZGVmaW5lZChfX21pcHNfZHNwKSAmJiAoX19taXBz
X2RzcF9yZXYgPj0gMikKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9ICAvLyBleHRlcm4gIkMiCit9
ICAvLyBuYW1lc3BhY2UgbGlieXV2CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3RhdGVfZ2Nj
LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvc291cmNlL3JvdGF0ZV9nY2MuY2MKaW5kZXggY2JlODcwY2FhNzQ1OTI2ZDk0MjRjNjYzMGNm
MDY5NmRlMDAxMDcwMi4uNzRiNDhhYzQwODRjMWQzOWM3YTYyZDQ3YmFjNTg0OTM1ZjIxOGI2NyAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvc291cmNlL3JvdGF0ZV9nY2MuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZV9nY2MuY2MKQEAg
LTgsOCArOCw4IEBACiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9v
dCBvZiB0aGUgc291cmNlIHRyZWUuCiAgKi8KIAotI2luY2x1ZGUgImxpYnl1di9yb3cuaCIKICNp
bmNsdWRlICJsaWJ5dXYvcm90YXRlX3Jvdy5oIgorI2luY2x1ZGUgImxpYnl1di9yb3cuaCIKIAog
I2lmZGVmIF9fY3BsdXNwbHVzCiBuYW1lc3BhY2UgbGlieXV2IHsKQEAgLTIyLDM0MiArMjIsMzQ4
IEBAIGV4dGVybiAiQyIgewogCiAvLyBUcmFuc3Bvc2UgOHg4LiAzMiBvciA2NCBiaXQsIGJ1dCBu
b3QgTmFDTCBmb3IgNjQgYml0LgogI2lmIGRlZmluZWQoSEFTX1RSQU5TUE9TRVdYOF9TU1NFMykK
LXZvaWQgVHJhbnNwb3NlV3g4X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF9zdHJpZGUsIGlu
dCB3aWR0aCkgewotICBhc20gdm9sYXRpbGUgKAotICAgIC8vIFJlYWQgaW4gdGhlIGRhdGEgZnJv
bSB0aGUgc291cmNlIHBvaW50ZXIuCi0gICAgLy8gRmlyc3Qgcm91bmQgb2YgYml0IHN3YXAuCi0g
ICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICglMCksJSV4bW0wICAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJtb3ZxICAgICAgICglMCwlMyksJSV4bW0xICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJsZWEgICAgICAgICglMCwlMywyKSwlMCAgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJwdW5wY2tsYncgICUleG1tMSwlJXhtbTAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJtb3ZxICAgICAgICglMCksJSV4bW0yICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTEgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJw
YWxpZ25yICAgICQweDgsJSV4bW0xLCUleG1tMSAgICAgICAgICAgICAgIFxuIgotICAgICJtb3Zx
ICAgICAgICglMCwlMyksJSV4bW0zICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsZWEgICAg
ICAgICglMCwlMywyKSwlMCAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsYncg
ICUleG1tMywlJXhtbTIgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUl
eG1tMiwlJXhtbTMgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICglMCks
JSV4bW00ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4
bW0zLCUleG1tMyAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICglMCwlMyksJSV4
bW01ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsZWEgICAgICAgICglMCwlMywyKSwlMCAg
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsYncgICUleG1tNSwlJXhtbTQgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tNCwlJXhtbTUgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICglMCksJSV4bW02ICAgICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW01LCUleG1tNSAgICAgICAg
ICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICglMCwlMyksJSV4bW03ICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJsZWEgICAgICAgICglMCwlMywyKSwlMCAgICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJwdW5wY2tsYncgICUleG1tNywlJXhtbTYgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJuZWcgICAgICAgICUzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJtb3ZkcWEgICAgICUleG1tNiwlJXhtbTcgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJsZWEgICAgICAgIDB4OCglMCwlMyw4KSwlMCAgICAgICAgICAgICAgICAgIFxuIgotICAgICJw
YWxpZ25yICAgICQweDgsJSV4bW03LCUleG1tNyAgICAgICAgICAgICAgIFxuIgotICAgICJuZWcg
ICAgICAgICUzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAvLyBTZWNv
bmQgcm91bmQgb2YgYml0IHN3YXAuCi0gICAgInB1bnBja2x3ZCAgJSV4bW0yLCUleG1tMCAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgInB1bnBja2x3ZCAgJSV4bW0zLCUleG1tMSAgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1tMiAgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAgJSV4bW0xLCUleG1tMyAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgInBhbGlnbnIgICAgJDB4OCwlJXhtbTIsJSV4bW0yICAgICAgICAgICAg
ICAgXG4iCi0gICAgInBhbGlnbnIgICAgJDB4OCwlJXhtbTMsJSV4bW0zICAgICAgICAgICAgICAg
XG4iCi0gICAgInB1bnBja2x3ZCAgJSV4bW02LCUleG1tNCAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgInB1bnBja2x3ZCAgJSV4bW03LCUleG1tNSAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgIm1vdmRxYSAgICAgJSV4bW00LCUleG1tNiAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
Im1vdmRxYSAgICAgJSV4bW01LCUleG1tNyAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBh
bGlnbnIgICAgJDB4OCwlJXhtbTYsJSV4bW02ICAgICAgICAgICAgICAgXG4iCi0gICAgInBhbGln
bnIgICAgJDB4OCwlJXhtbTcsJSV4bW03ICAgICAgICAgICAgICAgXG4iCi0gICAgLy8gVGhpcmQg
cm91bmQgb2YgYml0IHN3YXAuCi0gICAgLy8gV3JpdGUgdG8gdGhlIGRlc3RpbmF0aW9uIHBvaW50
ZXIuCi0gICAgInB1bnBja2xkcSAgJSV4bW00LCUleG1tMCAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgIm1vdnEgICAgICAgJSV4bW0wLCglMSkgICAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1tNCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
InBhbGlnbnIgICAgJDB4OCwlJXhtbTQsJSV4bW00ICAgICAgICAgICAgICAgXG4iCi0gICAgIm1v
dnEgICAgICAgJSV4bW00LCglMSwlNCkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImxlYSAg
ICAgICAgKCUxLCU0LDIpLCUxICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB1bnBja2xk
cSAgJSV4bW02LCUleG1tMiAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAg
JSV4bW0yLCUleG1tNiAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdnEgICAgICAgJSV4
bW0yLCglMSkgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBhbGlnbnIgICAgJDB4OCwl
JXhtbTYsJSV4bW02ICAgICAgICAgICAgICAgXG4iCi0gICAgInB1bnBja2xkcSAgJSV4bW01LCUl
eG1tMSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdnEgICAgICAgJSV4bW02LCglMSwl
NCkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImxlYSAgICAgICAgKCUxLCU0LDIpLCUxICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAgJSV4bW0xLCUleG1tNSAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdnEgICAgICAgJSV4bW0xLCglMSkgICAgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgInBhbGlnbnIgICAgJDB4OCwlJXhtbTUsJSV4bW01ICAgICAg
ICAgICAgICAgXG4iCi0gICAgIm1vdnEgICAgICAgJSV4bW01LCglMSwlNCkgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgImxlYSAgICAgICAgKCUxLCU0LDIpLCUxICAgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgInB1bnBja2xkcSAgJSV4bW03LCUleG1tMyAgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgIm1vdnEgICAgICAgJSV4bW0zLCglMSkgICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgIm1vdmRxYSAgICAgJSV4bW0zLCUleG1tNyAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgInBhbGlnbnIgICAgJDB4OCwlJXhtbTcsJSV4bW03ICAgICAgICAgICAgICAgXG4iCi0gICAg
InN1YiAgICAgICAgJDB4OCwlMiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1v
dnEgICAgICAgJSV4bW03LCglMSwlNCkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImxlYSAg
ICAgICAgKCUxLCU0LDIpLCUxICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImpnICAgICAg
ICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgOiAiK3IiKHNyYyks
ICAgIC8vICUwCi0gICAgICAiK3IiKGRzdCksICAgIC8vICUxCi0gICAgICAiK3IiKHdpZHRoKSAg
IC8vICUyCi0gICAgOiAiciIoKGludHB0cl90KShzcmNfc3RyaWRlKSksICAvLyAlMwotICAgICAg
InIiKChpbnRwdHJfdCkoZHN0X3N0cmlkZSkpICAgLy8gJTQKLSAgICA6ICJtZW1vcnkiLCAiY2Mi
LAotICAgICAgInhtbTAiLCAieG1tMSIsICJ4bW0yIiwgInhtbTMiLCAieG1tNCIsICJ4bW01Iiwg
InhtbTYiLCAieG1tNyIKLSAgKTsKK3ZvaWQgVHJhbnNwb3NlV3g4X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBhc20g
dm9sYXRpbGUoCisgICAgICAvLyBSZWFkIGluIHRoZSBkYXRhIGZyb20gdGhlIHNvdXJjZSBwb2lu
dGVyLgorICAgICAgLy8gRmlyc3Qgcm91bmQgb2YgYml0IHN3YXAuCisgICAgICBMQUJFTEFMSUdO
CisgICAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJtb3ZxICAgICAgICglMCksJSV4bW0wICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgIm1vdnEgICAgICAgKCUwLCUzKSwlJXhtbTEgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAibGVhICAgICAgICAoJTAsJTMsMiksJTAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJwdW5wY2tsYncgICUleG1tMSwlJXhtbTAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgIm1vdnEgICAgICAgKCUwKSwlJXhtbTIgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAibW92ZHFhICAgICAlJXhtbTAsJSV4bW0xICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJwYWxpZ25yICAgICQweDgsJSV4bW0xLCUleG1tMSAgICAgICAgICAgICAgIFxuIgorICAgICAg
Im1vdnEgICAgICAgKCUwLCUzKSwlJXhtbTMgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
bGVhICAgICAgICAoJTAsJTMsMiksJTAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJw
dW5wY2tsYncgICUleG1tMywlJXhtbTIgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1v
dmRxYSAgICAgJSV4bW0yLCUleG1tMyAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92
cSAgICAgICAoJTApLCUleG1tNCAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxp
Z25yICAgICQweDgsJSV4bW0zLCUleG1tMyAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdnEg
ICAgICAgKCUwLCUzKSwlJXhtbTUgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAg
ICAgICAoJTAsJTMsMiksJTAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2ts
YncgICUleG1tNSwlJXhtbTQgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAg
ICAgJSV4bW00LCUleG1tNSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92cSAgICAg
ICAoJTApLCUleG1tNiAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAg
ICQweDgsJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdnEgICAgICAg
KCUwLCUzKSwlJXhtbTcgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAo
JTAsJTMsMiksJTAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsYncgICUl
eG1tNywlJXhtbTYgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm5lZyAgICAgICAgJTMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXht
bTYsJSV4bW03ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsZWEgICAgICAgIDB4OCgl
MCwlMyw4KSwlMCAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInBhbGlnbnIgICAgJDB4OCwl
JXhtbTcsJSV4bW03ICAgICAgICAgICAgICAgXG4iCisgICAgICAibmVnICAgICAgICAlMyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgIC8vIFNlY29uZCByb3VuZCBvZiBi
aXQgc3dhcC4KKyAgICAgICJwdW5wY2tsd2QgICUleG1tMiwlJXhtbTAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgInB1bnBja2x3ZCAgJSV4bW0zLCUleG1tMSAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTAsJSV4bW0yICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tMSwlJXhtbTMgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgInBhbGlnbnIgICAgJDB4OCwlJXhtbTIsJSV4bW0yICAgICAgICAgICAgICAg
XG4iCisgICAgICAicGFsaWduciAgICAkMHg4LCUleG1tMywlJXhtbTMgICAgICAgICAgICAgICBc
biIKKyAgICAgICJwdW5wY2tsd2QgICUleG1tNiwlJXhtbTQgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgInB1bnBja2x3ZCAgJSV4bW03LCUleG1tNSAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAibW92ZHFhICAgICAlJXhtbTQsJSV4bW02ICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJtb3ZkcWEgICAgICUleG1tNSwlJXhtbTcgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgInBhbGlnbnIgICAgJDB4OCwlJXhtbTYsJSV4bW02ICAgICAgICAgICAgICAgXG4iCisg
ICAgICAicGFsaWduciAgICAkMHg4LCUleG1tNywlJXhtbTcgICAgICAgICAgICAgICBcbiIKKyAg
ICAgIC8vIFRoaXJkIHJvdW5kIG9mIGJpdCBzd2FwLgorICAgICAgLy8gV3JpdGUgdG8gdGhlIGRl
c3RpbmF0aW9uIHBvaW50ZXIuCisgICAgICAicHVucGNrbGRxICAlJXhtbTQsJSV4bW0wICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZxICAgICAgICUleG1tMCwoJTEpICAgICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1tNCAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAicGFsaWduciAgICAkMHg4LCUleG1tNCwlJXhtbTQgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZxICAgICAgICUleG1tNCwoJTEsJTQpICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgImxlYSAgICAgICAgKCUxLCU0LDIpLCUxICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAicHVucGNrbGRxICAlJXhtbTYsJSV4bW0yICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tMiwlJXhtbTYgICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgIm1vdnEgICAgICAgJSV4bW0yLCglMSkgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAicGFsaWduciAgICAkMHg4LCUleG1tNiwlJXhtbTYgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJwdW5wY2tsZHEgICUleG1tNSwlJXhtbTEgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgIm1vdnEgICAgICAgJSV4bW02LCglMSwlNCkgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAibGVhICAgICAgICAoJTEsJTQsMiksJTEgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tMSwlJXhtbTUgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgIm1vdnEgICAgICAgJSV4bW0xLCglMSkgICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAicGFsaWduciAgICAkMHg4LCUleG1tNSwlJXhtbTUgICAgICAgICAgICAgICBc
biIKKyAgICAgICJtb3ZxICAgICAgICUleG1tNSwoJTEsJTQpICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgImxlYSAgICAgICAgKCUxLCU0LDIpLCUxICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAicHVucGNrbGRxICAlJXhtbTcsJSV4bW0zICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJtb3ZxICAgICAgICUleG1tMywoJTEpICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgIm1vdmRxYSAgICAgJSV4bW0zLCUleG1tNyAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAicGFsaWduciAgICAkMHg4LCUleG1tNywlJXhtbTcgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJzdWIgICAgICAgICQweDgsJTIgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgIm1vdnEgICAgICAgJSV4bW03LCglMSwlNCkgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAibGVhICAgICAgICAoJTEsJTQsMiksJTEgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJqZyAgICAgICAgIDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
OiAiK3IiKHNyYyksICAgICAgICAgICAgICAgICAgICAvLyAlMAorICAgICAgICAiK3IiKGRzdCks
ICAgICAgICAgICAgICAgICAgICAvLyAlMQorICAgICAgICAiK3IiKHdpZHRoKSAgICAgICAgICAg
ICAgICAgICAvLyAlMgorICAgICAgOiAiciIoKGludHB0cl90KShzcmNfc3RyaWRlKSksICAvLyAl
MworICAgICAgICAiciIoKGludHB0cl90KShkc3Rfc3RyaWRlKSkgICAvLyAlNAorICAgICAgOiAi
bWVtb3J5IiwgImNjIiwgInhtbTAiLCAieG1tMSIsICJ4bW0yIiwgInhtbTMiLCAieG1tNCIsICJ4
bW01IiwgInhtbTYiLAorICAgICAgICAieG1tNyIpOwogfQogI2VuZGlmICAvLyBkZWZpbmVkKEhB
U19UUkFOU1BPU0VXWDhfU1NTRTMpCiAKIC8vIFRyYW5zcG9zZSAxNng4LiA2NCBiaXQKICNpZiBk
ZWZpbmVkKEhBU19UUkFOU1BPU0VXWDhfRkFTVF9TU1NFMykKLXZvaWQgVHJhbnNwb3NlV3g4X0Zh
c3RfU1NTRTMoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLCBpbnQgd2lkdGgpIHsK
LSAgYXNtIHZvbGF0aWxlICgKLSAgICAvLyBSZWFkIGluIHRoZSBkYXRhIGZyb20gdGhlIHNvdXJj
ZSBwb2ludGVyLgotICAgIC8vIEZpcnN0IHJvdW5kIG9mIGJpdCBzd2FwLgotICAgIExBQkVMQUxJ
R04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAibW92ZHF1ICAgICAoJTApLCUleG1tMCAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAibW92ZHF1ICAgICAoJTAsJTMpLCUleG1tMSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAi
bGVhICAgICAgICAoJTAsJTMsMiksJTAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92
ZHFhICAgICAlJXhtbTAsJSV4bW04ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHVucGNr
bGJ3ICAlJXhtbTEsJSV4bW0wICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHVucGNraGJ3
ICAlJXhtbTEsJSV4bW04ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHF1ICAgICAo
JTApLCUleG1tMiAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICAlJXht
bTAsJSV4bW0xICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICAlJXhtbTgs
JSV4bW05ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicGFsaWduciAgICAkMHg4LCUleG1t
MSwlJXhtbTEgICAgICAgICAgICAgICBcbiIKLSAgICAicGFsaWduciAgICAkMHg4LCUleG1tOSwl
JXhtbTkgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHF1ICAgICAoJTAsJTMpLCUleG1tMyAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAgICAgICAoJTAsJTMsMiksJTAgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICAlJXhtbTIsJSV4bW0xMCAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAicHVucGNrbGJ3ICAlJXhtbTMsJSV4bW0yICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAicHVucGNraGJ3ICAlJXhtbTMsJSV4bW0xMCAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAibW92ZHFhICAgICAlJXhtbTIsJSV4bW0zICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAibW92ZHFhICAgICAlJXhtbTEwLCUleG1tMTEgICAgICAgICAgICAgICAgICBc
biIKLSAgICAibW92ZHF1ICAgICAoJTApLCUleG1tNCAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAicGFsaWduciAgICAkMHg4LCUleG1tMywlJXhtbTMgICAgICAgICAgICAgICBcbiIKLSAg
ICAicGFsaWduciAgICAkMHg4LCUleG1tMTEsJSV4bW0xMSAgICAgICAgICAgICBcbiIKLSAgICAi
bW92ZHF1ICAgICAoJTAsJTMpLCUleG1tNSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGVh
ICAgICAgICAoJTAsJTMsMiksJTAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHFh
ICAgICAlJXhtbTQsJSV4bW0xMiAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHVucGNrbGJ3
ICAlJXhtbTUsJSV4bW00ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHVucGNraGJ3ICAl
JXhtbTUsJSV4bW0xMiAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICAlJXht
bTQsJSV4bW01ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICAlJXhtbTEy
LCUleG1tMTMgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHF1ICAgICAoJTApLCUleG1t
NiAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicGFsaWduciAgICAkMHg4LCUleG1tNSwl
JXhtbTUgICAgICAgICAgICAgICBcbiIKLSAgICAicGFsaWduciAgICAkMHg4LCUleG1tMTMsJSV4
bW0xMyAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHF1ICAgICAoJTAsJTMpLCUleG1tNyAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAgICAgICAoJTAsJTMsMiksJTAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICAlJXhtbTYsJSV4bW0xNCAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAicHVucGNrbGJ3ICAlJXhtbTcsJSV4bW02ICAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAicHVucGNraGJ3ICAlJXhtbTcsJSV4bW0xNCAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAibmVnICAgICAgICAlMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAibW92ZHFhICAgICAlJXhtbTYsJSV4bW03ICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAibW92ZHFhICAgICAlJXhtbTE0LCUleG1tMTUgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAibGVhICAgICAgICAweDEwKCUwLCUzLDgpLCUwICAgICAgICAgICAgICAgICBcbiIKLSAgICAi
cGFsaWduciAgICAkMHg4LCUleG1tNywlJXhtbTcgICAgICAgICAgICAgICBcbiIKLSAgICAicGFs
aWduciAgICAkMHg4LCUleG1tMTUsJSV4bW0xNSAgICAgICAgICAgICBcbiIKLSAgICAibmVnICAg
ICAgICAlMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgLy8gU2Vjb25k
IHJvdW5kIG9mIGJpdCBzd2FwLgotICAgICJwdW5wY2tsd2QgICUleG1tMiwlJXhtbTAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsd2QgICUleG1tMywlJXhtbTEgICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTIgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tMSwlJXhtbTMgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0yLCUleG1tMiAgICAgICAgICAgICAg
IFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0zLCUleG1tMyAgICAgICAgICAgICAgIFxu
IgotICAgICJwdW5wY2tsd2QgICUleG1tNiwlJXhtbTQgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJwdW5wY2tsd2QgICUleG1tNywlJXhtbTUgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJtb3ZkcWEgICAgICUleG1tNCwlJXhtbTYgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJt
b3ZkcWEgICAgICUleG1tNSwlJXhtbTcgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwYWxp
Z25yICAgICQweDgsJSV4bW02LCUleG1tNiAgICAgICAgICAgICAgIFxuIgotICAgICJwYWxpZ25y
ICAgICQweDgsJSV4bW03LCUleG1tNyAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsd2Qg
ICUleG1tMTAsJSV4bW04ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsd2QgICUl
eG1tMTEsJSV4bW05ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1t
OCwlJXhtbTEwICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tOSwl
JXhtbTExICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0x
MCwlJXhtbTEwICAgICAgICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xMSwl
JXhtbTExICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsd2QgICUleG1tMTQsJSV4bW0xMiAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsd2QgICUleG1tMTUsJSV4bW0xMyAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tMTIsJSV4bW0xNCAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tMTMsJSV4bW0xNSAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xNCwlJXhtbTE0ICAgICAgICAg
ICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xNSwlJXhtbTE1ICAgICAgICAgICAg
IFxuIgotICAgIC8vIFRoaXJkIHJvdW5kIG9mIGJpdCBzd2FwLgotICAgIC8vIFdyaXRlIHRvIHRo
ZSBkZXN0aW5hdGlvbiBwb2ludGVyLgotICAgICJwdW5wY2tsZHEgICUleG1tNCwlJXhtbTAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICUleG1tMCwoJTEpICAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTQgICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW00LCUleG1tNCAgICAgICAg
ICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICUleG1tNCwoJTEsJTQpICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJsZWEgICAgICAgICglMSwlNCwyKSwlMSAgICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJwdW5wY2tsZHEgICUleG1tNiwlJXhtbTIgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJtb3ZkcWEgICAgICUleG1tMiwlJXhtbTYgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJtb3ZxICAgICAgICUleG1tMiwoJTEpICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJwYWxpZ25yICAgICQweDgsJSV4bW02LCUleG1tNiAgICAgICAgICAgICAgIFxuIgotICAgICJw
dW5wY2tsZHEgICUleG1tNSwlJXhtbTEgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3Zx
ICAgICAgICUleG1tNiwoJTEsJTQpICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsZWEgICAg
ICAgICglMSwlNCwyKSwlMSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAg
ICUleG1tMSwlJXhtbTUgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICUl
eG1tMSwoJTEpICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgs
JSV4bW01LCUleG1tNSAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICUleG1tNSwo
JTEsJTQpICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsZWEgICAgICAgICglMSwlNCwyKSwl
MSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsZHEgICUleG1tNywlJXhtbTMg
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICUleG1tMywoJTEpICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tMywlJXhtbTcgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW03LCUleG1tNyAgICAg
ICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICUleG1tNywoJTEsJTQpICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJsZWEgICAgICAgICglMSwlNCwyKSwlMSAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJwdW5wY2tsZHEgICUleG1tMTIsJSV4bW04ICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJtb3ZxICAgICAgICUleG1tOCwoJTEpICAgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJtb3ZkcWEgICAgICUleG1tOCwlJXhtbTEyICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xMiwlJXhtbTEyICAgICAgICAgICAgIFxuIgotICAg
ICJtb3ZxICAgICAgICUleG1tMTIsKCUxLCU0KSAgICAgICAgICAgICAgICAgIFxuIgotICAgICJs
ZWEgICAgICAgICglMSwlNCwyKSwlMSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5w
Y2tsZHEgICUleG1tMTQsJSV4bW0xMCAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEg
ICAgICUleG1tMTAsJSV4bW0xNCAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAg
ICUleG1tMTAsKCUxKSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQw
eDgsJSV4bW0xNCwlJXhtbTE0ICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsZHEgICUleG1t
MTMsJSV4bW05ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICUleG1tMTQs
KCUxLCU0KSAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsZWEgICAgICAgICglMSwlNCwyKSwl
MSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tOSwlJXhtbTEz
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICUleG1tOSwoJTEpICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xMywlJXhtbTEz
ICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAgICUleG1tMTMsKCUxLCU0KSAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJsZWEgICAgICAgICglMSwlNCwyKSwlMSAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJwdW5wY2tsZHEgICUleG1tMTUsJSV4bW0xMSAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJtb3ZxICAgICAgICUleG1tMTEsKCUxKSAgICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tMTEsJSV4bW0xNSAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xNSwlJXhtbTE1ICAgICAgICAgICAgIFxuIgot
ICAgICJzdWIgICAgICAgICQweDEwLCUyICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJtb3ZxICAgICAgICUleG1tMTUsKCUxLCU0KSAgICAgICAgICAgICAgICAgIFxuIgotICAgICJs
ZWEgICAgICAgICglMSwlNCwyKSwlMSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJqZyAg
ICAgICAgIDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgIDogIityIihz
cmMpLCAgICAvLyAlMAotICAgICAgIityIihkc3QpLCAgICAvLyAlMQotICAgICAgIityIih3aWR0
aCkgICAvLyAlMgotICAgIDogInIiKChpbnRwdHJfdCkoc3JjX3N0cmlkZSkpLCAgLy8gJTMKLSAg
ICAgICJyIigoaW50cHRyX3QpKGRzdF9zdHJpZGUpKSAgIC8vICU0Ci0gICAgOiAibWVtb3J5Iiwg
ImNjIiwKLSAgICAgICJ4bW0wIiwgInhtbTEiLCAieG1tMiIsICJ4bW0zIiwgInhtbTQiLCAieG1t
NSIsICJ4bW02IiwgInhtbTciLAotICAgICAgInhtbTgiLCAieG1tOSIsICJ4bW0xMCIsICJ4bW0x
MSIsICJ4bW0xMiIsICJ4bW0xMyIsICAieG1tMTQiLCAgInhtbTE1IgotICApOwordm9pZCBUcmFu
c3Bvc2VXeDhfRmFzdF9TU1NFMyhjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBhc20gdm9sYXRp
bGUoCisgICAgICAvLyBSZWFkIGluIHRoZSBkYXRhIGZyb20gdGhlIHNvdXJjZSBwb2ludGVyLgor
ICAgICAgLy8gRmlyc3Qgcm91bmQgb2YgYml0IHN3YXAuCisgICAgICBMQUJFTEFMSUdOCisgICAg
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJtb3ZkcXUgICAgICglMCksJSV4bW0wICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
Im1vdmRxdSAgICAgKCUwLCUzKSwlJXhtbTEgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
bGVhICAgICAgICAoJTAsJTMsMiksJTAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJt
b3ZkcWEgICAgICUleG1tMCwlJXhtbTggICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1
bnBja2xidyAgJSV4bW0xLCUleG1tMCAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHVu
cGNraGJ3ICAlJXhtbTEsJSV4bW04ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3Zk
cXUgICAgICglMCksJSV4bW0yICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRx
YSAgICAgJSV4bW0wLCUleG1tMSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFh
ICAgICAlJXhtbTgsJSV4bW05ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25y
ICAgICQweDgsJSV4bW0xLCUleG1tMSAgICAgICAgICAgICAgIFxuIgorICAgICAgInBhbGlnbnIg
ICAgJDB4OCwlJXhtbTksJSV4bW05ICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHF1ICAg
ICAoJTAsJTMpLCUleG1tMyAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsZWEgICAgICAg
ICglMCwlMywyKSwlMCAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAg
JSV4bW0yLCUleG1tMTAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHVucGNrbGJ3ICAl
JXhtbTMsJSV4bW0yICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2toYncgICUl
eG1tMywlJXhtbTEwICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4
bW0yLCUleG1tMyAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXht
bTEwLCUleG1tMTEgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcXUgICAgICglMCks
JSV4bW00ICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInBhbGlnbnIgICAgJDB4OCwl
JXhtbTMsJSV4bW0zICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFsaWduciAgICAkMHg4LCUl
eG1tMTEsJSV4bW0xMSAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcXUgICAgICglMCwlMyks
JSV4bW01ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImxlYSAgICAgICAgKCUwLCUzLDIp
LCUwICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTQsJSV4
bW0xMiAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsYncgICUleG1tNSwlJXht
bTQgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2hidyAgJSV4bW01LCUleG1t
MTIgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTQsJSV4bW01
ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tMTIsJSV4bW0x
MyAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxdSAgICAgKCUwKSwlJXhtbTYgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFsaWduciAgICAkMHg4LCUleG1tNSwlJXht
bTUgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xMywlJXht
bTEzICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxdSAgICAgKCUwLCUzKSwlJXhtbTcgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAoJTAsJTMsMiksJTAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tNiwlJXhtbTE0ICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2xidyAgJSV4bW03LCUleG1tNiAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAicHVucGNraGJ3ICAlJXhtbTcsJSV4bW0xNCAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJuZWcgICAgICAgICUzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW02LCUleG1tNyAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTE0LCUleG1tMTUgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJsZWEgICAgICAgIDB4MTAoJTAsJTMsOCksJTAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgInBhbGlnbnIgICAgJDB4OCwlJXhtbTcsJSV4bW03ICAgICAgICAg
ICAgICAgXG4iCisgICAgICAicGFsaWduciAgICAkMHg4LCUleG1tMTUsJSV4bW0xNSAgICAgICAg
ICAgICBcbiIKKyAgICAgICJuZWcgICAgICAgICUzICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgLy8gU2Vjb25kIHJvdW5kIG9mIGJpdCBzd2FwLgorICAgICAgInB1bnBj
a2x3ZCAgJSV4bW0yLCUleG1tMCAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHVucGNr
bHdkICAlJXhtbTMsJSV4bW0xICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEg
ICAgICUleG1tMCwlJXhtbTIgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAg
ICAgJSV4bW0xLCUleG1tMyAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFsaWduciAg
ICAkMHg4LCUleG1tMiwlJXhtbTIgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAg
ICQweDgsJSV4bW0zLCUleG1tMyAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2x3ZCAg
JSV4bW02LCUleG1tNCAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHVucGNrbHdkICAl
JXhtbTcsJSV4bW01ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUl
eG1tNCwlJXhtbTYgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4
bW01LCUleG1tNyAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFsaWduciAgICAkMHg4
LCUleG1tNiwlJXhtbTYgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAgICQweDgs
JSV4bW03LCUleG1tNyAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2x3ZCAgJSV4bW0x
MCwlJXhtbTggICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHVucGNrbHdkICAlJXhtbTEx
LCUleG1tOSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tOCwl
JXhtbTEwICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW05LCUl
eG1tMTEgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFsaWduciAgICAkMHg4LCUleG1t
MTAsJSV4bW0xMCAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0x
MSwlJXhtbTExICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2x3ZCAgJSV4bW0xNCwlJXht
bTEyICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHVucGNrbHdkICAlJXhtbTE1LCUleG1t
MTMgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tMTIsJSV4bW0x
NCAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW0xMywlJXhtbTE1
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFsaWduciAgICAkMHg4LCUleG1tMTQsJSV4
bW0xNCAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xNSwlJXht
bTE1ICAgICAgICAgICAgIFxuIgorICAgICAgLy8gVGhpcmQgcm91bmQgb2YgYml0IHN3YXAuCisg
ICAgICAvLyBXcml0ZSB0byB0aGUgZGVzdGluYXRpb24gcG9pbnRlci4KKyAgICAgICJwdW5wY2ts
ZHEgICUleG1tNCwlJXhtbTAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdnEgICAg
ICAgJSV4bW0wLCglMSkgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAg
ICAlJXhtbTAsJSV4bW00ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAg
ICQweDgsJSV4bW00LCUleG1tNCAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdnEgICAgICAg
JSV4bW00LCglMSwlNCkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAo
JTEsJTQsMiksJTEgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsZHEgICUl
eG1tNiwlJXhtbTIgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4
bW0yLCUleG1tNiAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92cSAgICAgICAlJXht
bTIsKCUxKSAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAgICQweDgs
JSV4bW02LCUleG1tNiAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2xkcSAgJSV4bW01
LCUleG1tMSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92cSAgICAgICAlJXhtbTYs
KCUxLCU0KSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsZWEgICAgICAgICglMSwlNCwy
KSwlMSAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW0xLCUl
eG1tNSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92cSAgICAgICAlJXhtbTEsKCUx
KSAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAgICQweDgsJSV4bW01
LCUleG1tNSAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdnEgICAgICAgJSV4bW01LCglMSwl
NCkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAoJTEsJTQsMiksJTEg
ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsZHEgICUleG1tNywlJXhtbTMg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdnEgICAgICAgJSV4bW0zLCglMSkgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTMsJSV4bW03ICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAgICQweDgsJSV4bW03LCUleG1t
NyAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdnEgICAgICAgJSV4bW03LCglMSwlNCkgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAoJTEsJTQsMiksJTEgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsZHEgICUleG1tMTIsJSV4bW04ICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdnEgICAgICAgJSV4bW04LCglMSkgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTgsJSV4bW0xMiAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xMiwlJXhtbTEyICAg
ICAgICAgICAgIFxuIgorICAgICAgIm1vdnEgICAgICAgJSV4bW0xMiwoJTEsJTQpICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAoJTEsJTQsMiksJTEgICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsZHEgICUleG1tMTQsJSV4bW0xMCAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW0xMCwlJXhtbTE0ICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAibW92cSAgICAgICAlJXhtbTEwLCglMSkgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xNCwlJXhtbTE0ICAgICAgICAg
ICAgIFxuIgorICAgICAgInB1bnBja2xkcSAgJSV4bW0xMywlJXhtbTkgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAibW92cSAgICAgICAlJXhtbTE0LCglMSwlNCkgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJsZWEgICAgICAgICglMSwlNCwyKSwlMSAgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW05LCUleG1tMTMgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAibW92cSAgICAgICAlJXhtbTksKCUxKSAgICAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xMywlJXhtbTEzICAgICAgICAgICAgIFxu
IgorICAgICAgIm1vdnEgICAgICAgJSV4bW0xMywoJTEsJTQpICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAibGVhICAgICAgICAoJTEsJTQsMiksJTEgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJwdW5wY2tsZHEgICUleG1tMTUsJSV4bW0xMSAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgIm1vdnEgICAgICAgJSV4bW0xMSwoJTEpICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAibW92ZHFhICAgICAlJXhtbTExLCUleG1tMTUgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJwYWxpZ25yICAgICQweDgsJSV4bW0xNSwlJXhtbTE1ICAgICAgICAgICAgIFxuIgorICAg
ICAgInN1YiAgICAgICAgJDB4MTAsJTIgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAibW92cSAgICAgICAlJXhtbTE1LCglMSwlNCkgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJsZWEgICAgICAgICglMSwlNCwyKSwlMSAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ImpnICAgICAgICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICA6
ICIrciIoc3JjKSwgICAgICAgICAgICAgICAgICAgIC8vICUwCisgICAgICAgICIrciIoZHN0KSwg
ICAgICAgICAgICAgICAgICAgIC8vICUxCisgICAgICAgICIrciIod2lkdGgpICAgICAgICAgICAg
ICAgICAgIC8vICUyCisgICAgICA6ICJyIigoaW50cHRyX3QpKHNyY19zdHJpZGUpKSwgIC8vICUz
CisgICAgICAgICJyIigoaW50cHRyX3QpKGRzdF9zdHJpZGUpKSAgIC8vICU0CisgICAgICA6ICJt
ZW1vcnkiLCAiY2MiLCAieG1tMCIsICJ4bW0xIiwgInhtbTIiLCAieG1tMyIsICJ4bW00IiwgInht
bTUiLCAieG1tNiIsCisgICAgICAgICJ4bW03IiwgInhtbTgiLCAieG1tOSIsICJ4bW0xMCIsICJ4
bW0xMSIsICJ4bW0xMiIsICJ4bW0xMyIsICJ4bW0xNCIsCisgICAgICAgICJ4bW0xNSIpOwogfQog
I2VuZGlmICAvLyBkZWZpbmVkKEhBU19UUkFOU1BPU0VXWDhfRkFTVF9TU1NFMykKIAogLy8gVHJh
bnNwb3NlIFVWIDh4OC4gIDY0IGJpdC4KICNpZiBkZWZpbmVkKEhBU19UUkFOU1BPU0VVVldYOF9T
U0UyKQotdm9pZCBUcmFuc3Bvc2VVVld4OF9TU0UyKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwgaW50IGRzdF9z
dHJpZGVfYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2IsIGludCBkc3Rf
c3RyaWRlX2IsIGludCB3aWR0aCkgewotICBhc20gdm9sYXRpbGUgKAotICAgIC8vIFJlYWQgaW4g
dGhlIGRhdGEgZnJvbSB0aGUgc291cmNlIHBvaW50ZXIuCi0gICAgLy8gRmlyc3Qgcm91bmQgb2Yg
Yml0IHN3YXAuCi0gICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcXUgICAgICglMCksJSV4bW0wICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcXUgICAgICglMCwlNCksJSV4bW0xICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJsZWEgICAgICAgICglMCwlNCwyKSwlMCAgICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTggICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJwdW5wY2tsYncgICUleG1tMSwlJXhtbTAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJwdW5wY2toYncgICUleG1tMSwlJXhtbTggICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tOCwlJXhtbTEgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJtb3ZkcXUgICAgICglMCksJSV4bW0yICAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJtb3ZkcXUgICAgICglMCwlNCksJSV4bW0zICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJsZWEgICAgICAgICglMCwlNCwyKSwlMCAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJt
b3ZkcWEgICAgICUleG1tMiwlJXhtbTggICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5w
Y2tsYncgICUleG1tMywlJXhtbTIgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2to
YncgICUleG1tMywlJXhtbTggICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAg
ICUleG1tOCwlJXhtbTMgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcXUgICAgICgl
MCksJSV4bW00ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcXUgICAgICglMCwl
NCksJSV4bW01ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsZWEgICAgICAgICglMCwlNCwy
KSwlMCAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tNCwlJXht
bTggICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsYncgICUleG1tNSwlJXhtbTQg
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2toYncgICUleG1tNSwlJXhtbTggICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tOCwlJXhtbTUgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcXUgICAgICglMCksJSV4bW02ICAgICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJtb3ZkcXUgICAgICglMCwlNCksJSV4bW03ICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJsZWEgICAgICAgICglMCwlNCwyKSwlMCAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJtb3ZkcWEgICAgICUleG1tNiwlJXhtbTggICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJwdW5wY2tsYncgICUleG1tNywlJXhtbTYgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJuZWcgICAgICAgICU0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJsZWEgICAgICAgIDB4MTAoJTAsJTQsOCksJTAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJwdW5wY2toYncgICUleG1tNywlJXhtbTggICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJt
b3ZkcWEgICAgICUleG1tOCwlJXhtbTcgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJuZWcg
ICAgICAgICU0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAvLyBTZWNv
bmQgcm91bmQgb2YgYml0IHN3YXAuCi0gICAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1tOCAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAgJSV4bW0xLCUleG1tOSAgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgInB1bnBja2h3ZCAgJSV4bW0yLCUleG1tOCAgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgInB1bnBja2h3ZCAgJSV4bW0zLCUleG1tOSAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgInB1bnBja2x3ZCAgJSV4bW0yLCUleG1tMCAgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgInB1bnBja2x3ZCAgJSV4bW0zLCUleG1tMSAgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgIm1vdmRxYSAgICAgJSV4bW04LCUleG1tMiAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgIm1vdmRxYSAgICAgJSV4bW05LCUleG1tMyAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgIm1vdmRxYSAgICAgJSV4bW00LCUleG1tOCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
Im1vdmRxYSAgICAgJSV4bW01LCUleG1tOSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB1
bnBja2h3ZCAgJSV4bW02LCUleG1tOCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB1bnBj
a2h3ZCAgJSV4bW03LCUleG1tOSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB1bnBja2x3
ZCAgJSV4bW02LCUleG1tNCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB1bnBja2x3ZCAg
JSV4bW03LCUleG1tNSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAgJSV4
bW04LCUleG1tNiAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAgJSV4bW05
LCUleG1tNyAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgLy8gVGhpcmQgcm91bmQgb2YgYml0
IHN3YXAuCi0gICAgLy8gV3JpdGUgdG8gdGhlIGRlc3RpbmF0aW9uIHBvaW50ZXIuCi0gICAgIm1v
dmRxYSAgICAgJSV4bW0wLCUleG1tOCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB1bnBj
a2xkcSAgJSV4bW00LCUleG1tMCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmxwZCAg
ICAgJSV4bW0wLCglMSkgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBXcml0ZSBiYWNrIFUg
Y2hhbm5lbAotICAgICJtb3ZocGQgICAgICUleG1tMCwoJTIpICAgICAgICAgICAgICAgICAgICAg
IFxuIiAgLy8gV3JpdGUgYmFjayBWIGNoYW5uZWwKLSAgICAicHVucGNraGRxICAlJXhtbTQsJSV4
bW04ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92bHBkICAgICAlJXhtbTgsKCUxLCU1
KSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAgICAgICAoJTEsJTUsMiksJTEgICAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92aHBkICAgICAlJXhtbTgsKCUyLCU2KSAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAgICAgICAoJTIsJTYsMiksJTIgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICAlJXhtbTIsJSV4bW04ICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAicHVucGNrbGRxICAlJXhtbTYsJSV4bW0yICAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAibW92bHBkICAgICAlJXhtbTIsKCUxKSAgICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAibW92aHBkICAgICAlJXhtbTIsKCUyKSAgICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAicHVucGNraGRxICAlJXhtbTYsJSV4bW04ICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAibW92bHBkICAgICAlJXhtbTgsKCUxLCU1KSAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAibGVhICAgICAgICAoJTEsJTUsMiksJTEgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAi
bW92aHBkICAgICAlJXhtbTgsKCUyLCU2KSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGVh
ICAgICAgICAoJTIsJTYsMiksJTIgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHFh
ICAgICAlJXhtbTEsJSV4bW04ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHVucGNrbGRx
ICAlJXhtbTUsJSV4bW0xICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92bHBkICAgICAl
JXhtbTEsKCUxKSAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92aHBkICAgICAlJXht
bTEsKCUyKSAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHVucGNraGRxICAlJXhtbTUs
JSV4bW04ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92bHBkICAgICAlJXhtbTgsKCUx
LCU1KSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAgICAgICAoJTEsJTUsMiksJTEg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92aHBkICAgICAlJXhtbTgsKCUyLCU2KSAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAgICAgICAoJTIsJTYsMiksJTIgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICAlJXhtbTMsJSV4bW04ICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAicHVucGNrbGRxICAlJXhtbTcsJSV4bW0zICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAibW92bHBkICAgICAlJXhtbTMsKCUxKSAgICAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAibW92aHBkICAgICAlJXhtbTMsKCUyKSAgICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAicHVucGNraGRxICAlJXhtbTcsJSV4bW04ICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAic3ViICAgICAgICAkMHg4LCUzICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAibW92bHBkICAgICAlJXhtbTgsKCUxLCU1KSAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAibGVhICAgICAgICAoJTEsJTUsMiksJTEgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAi
bW92aHBkICAgICAlJXhtbTgsKCUyLCU2KSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGVh
ICAgICAgICAoJTIsJTYsMiksJTIgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiamcgICAg
ICAgICAxYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICA6ICIrciIoc3Jj
KSwgICAgLy8gJTAKLSAgICAgICIrciIoZHN0X2EpLCAgLy8gJTEKLSAgICAgICIrciIoZHN0X2Ip
LCAgLy8gJTIKLSAgICAgICIrciIod2lkdGgpICAgLy8gJTMKLSAgICA6ICJyIigoaW50cHRyX3Qp
KHNyY19zdHJpZGUpKSwgICAgLy8gJTQKLSAgICAgICJyIigoaW50cHRyX3QpKGRzdF9zdHJpZGVf
YSkpLCAgLy8gJTUKLSAgICAgICJyIigoaW50cHRyX3QpKGRzdF9zdHJpZGVfYikpICAgLy8gJTYK
LSAgICA6ICJtZW1vcnkiLCAiY2MiLAotICAgICAgInhtbTAiLCAieG1tMSIsICJ4bW0yIiwgInht
bTMiLCAieG1tNCIsICJ4bW01IiwgInhtbTYiLCAieG1tNyIsCi0gICAgICAieG1tOCIsICJ4bW05
IgotICApOwordm9pZCBUcmFuc3Bvc2VVVld4OF9TU0UyKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3Ry
aWRlX2EsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CisgIGFzbSB2b2xhdGlsZSgKKyAgICAgIC8vIFJlYWQgaW4gdGhlIGRh
dGEgZnJvbSB0aGUgc291cmNlIHBvaW50ZXIuCisgICAgICAvLyBGaXJzdCByb3VuZCBvZiBiaXQg
c3dhcC4KKyAgICAgIExBQkVMQUxJR04KKyAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxdSAgICAgKCUwKSwlJXhtbTAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHF1ICAgICAoJTAsJTQpLCUleG1tMSAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsZWEgICAgICAgICglMCwlNCwyKSwlMCAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1tOCAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAicHVucGNrbGJ3ICAlJXhtbTEsJSV4bW0wICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2toYncgICUleG1tMSwlJXhtbTggICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW04LCUleG1tMSAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHF1ICAgICAoJTApLCUleG1tMiAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcXUgICAgICglMCwlNCksJSV4bW0zICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgImxlYSAgICAgICAgKCUwLCU0LDIpLCUwICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTIsJSV4bW04ICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsYncgICUleG1tMywlJXhtbTIgICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgInB1bnBja2hidyAgJSV4bW0zLCUleG1tOCAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTgsJSV4bW0zICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJtb3ZkcXUgICAgICglMCksJSV4bW00ICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgIm1vdmRxdSAgICAgKCUwLCU0KSwlJXhtbTUgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAibGVhICAgICAgICAoJTAsJTQsMiksJTAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tNCwlJXhtbTggICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgInB1bnBja2xidyAgJSV4bW01LCUleG1tNCAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAicHVucGNraGJ3ICAlJXhtbTUsJSV4bW04ICAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tOCwlJXhtbTUgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgIm1vdmRxdSAgICAgKCUwKSwlJXhtbTYgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAibW92ZHF1ICAgICAoJTAsJTQpLCUleG1tNyAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJsZWEgICAgICAgICglMCwlNCwyKSwlMCAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgIm1vdmRxYSAgICAgJSV4bW02LCUleG1tOCAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAicHVucGNrbGJ3ICAlJXhtbTcsJSV4bW02ICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJuZWcgICAgICAgICU0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgImxlYSAgICAgICAgMHgxMCglMCwlNCw4KSwlMCAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAicHVucGNraGJ3ICAlJXhtbTcsJSV4bW04ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJtb3ZkcWEgICAgICUleG1tOCwlJXhtbTcgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
Im5lZyAgICAgICAgJTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAv
LyBTZWNvbmQgcm91bmQgb2YgYml0IHN3YXAuCisgICAgICAibW92ZHFhICAgICAlJXhtbTAsJSV4
bW04ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tMSwlJXht
bTkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2h3ZCAgJSV4bW0yLCUleG1t
OCAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHVucGNraHdkICAlJXhtbTMsJSV4bW05
ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsd2QgICUleG1tMiwlJXhtbTAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2x3ZCAgJSV4bW0zLCUleG1tMSAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTgsJSV4bW0yICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tOSwlJXhtbTMgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW00LCUleG1tOCAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTUsJSV4bW05ICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tod2QgICUleG1tNiwlJXhtbTggICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2h3ZCAgJSV4bW03LCUleG1tOSAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAicHVucGNrbHdkICAlJXhtbTYsJSV4bW00ICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsd2QgICUleG1tNywlJXhtbTUgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW04LCUleG1tNiAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTksJSV4bW03ICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgIC8vIFRoaXJkIHJvdW5kIG9mIGJpdCBzd2FwLgorICAgICAgLy8g
V3JpdGUgdG8gdGhlIGRlc3RpbmF0aW9uIHBvaW50ZXIuCisgICAgICAibW92ZHFhICAgICAlJXht
bTAsJSV4bW04ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsZHEgICUleG1t
NCwlJXhtbTAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmxwZCAgICAgJSV4bW0w
LCglMSkgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBXcml0ZSBiYWNrIFUgY2hhbm5lbAor
ICAgICAgIm1vdmhwZCAgICAgJSV4bW0wLCglMikgICAgICAgICAgICAgICAgICAgICAgXG4iICAv
LyBXcml0ZSBiYWNrIFYgY2hhbm5lbAorICAgICAgInB1bnBja2hkcSAgJSV4bW00LCUleG1tOCAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92bHBkICAgICAlJXhtbTgsKCUxLCU1KSAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsZWEgICAgICAgICglMSwlNSwyKSwlMSAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmhwZCAgICAgJSV4bW04LCglMiwlNikgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAoJTIsJTYsMiksJTIgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tMiwlJXhtbTggICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2xkcSAgJSV4bW02LCUleG1tMiAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibW92bHBkICAgICAlJXhtbTIsKCUxKSAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZocGQgICAgICUleG1tMiwoJTIpICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2hkcSAgJSV4bW02LCUleG1tOCAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAibW92bHBkICAgICAlJXhtbTgsKCUxLCU1KSAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJsZWEgICAgICAgICglMSwlNSwyKSwlMSAgICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgIm1vdmhwZCAgICAgJSV4bW04LCglMiwlNikgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAoJTIsJTYsMiksJTIgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJtb3ZkcWEgICAgICUleG1tMSwlJXhtbTggICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgInB1bnBja2xkcSAgJSV4bW01LCUleG1tMSAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAibW92bHBkICAgICAlJXhtbTEsKCUxKSAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJtb3ZocGQgICAgICUleG1tMSwoJTIpICAgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgInB1bnBja2hkcSAgJSV4bW01LCUleG1tOCAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAibW92bHBkICAgICAlJXhtbTgsKCUxLCU1KSAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAgICJsZWEgICAgICAgICglMSwlNSwyKSwlMSAgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgIm1vdmhwZCAgICAgJSV4bW04LCglMiwlNikgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAibGVhICAgICAgICAoJTIsJTYsMiksJTIgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJtb3ZkcWEgICAgICUleG1tMywlJXhtbTggICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgInB1bnBja2xkcSAgJSV4bW03LCUleG1tMyAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAibW92bHBkICAgICAlJXhtbTMsKCUxKSAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJtb3ZocGQgICAgICUleG1tMywoJTIpICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgInB1bnBja2hkcSAgJSV4bW03LCUleG1tOCAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAic3ViICAgICAgICAkMHg4LCUzICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJtb3ZscGQgICAgICUleG1tOCwoJTEsJTUpICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ImxlYSAgICAgICAgKCUxLCU1LDIpLCUxICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
bW92aHBkICAgICAlJXhtbTgsKCUyLCU2KSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJs
ZWEgICAgICAgICglMiwlNiwyKSwlMiAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImpn
ICAgICAgICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICA6ICIr
ciIoc3JjKSwgICAgICAgICAgICAgICAgICAgICAgLy8gJTAKKyAgICAgICAgIityIihkc3RfYSks
ICAgICAgICAgICAgICAgICAgICAvLyAlMQorICAgICAgICAiK3IiKGRzdF9iKSwgICAgICAgICAg
ICAgICAgICAgIC8vICUyCisgICAgICAgICIrciIod2lkdGgpICAgICAgICAgICAgICAgICAgICAg
Ly8gJTMKKyAgICAgIDogInIiKChpbnRwdHJfdCkoc3JjX3N0cmlkZSkpLCAgICAvLyAlNAorICAg
ICAgICAiciIoKGludHB0cl90KShkc3Rfc3RyaWRlX2EpKSwgIC8vICU1CisgICAgICAgICJyIigo
aW50cHRyX3QpKGRzdF9zdHJpZGVfYikpICAgLy8gJTYKKyAgICAgIDogIm1lbW9yeSIsICJjYyIs
ICJ4bW0wIiwgInhtbTEiLCAieG1tMiIsICJ4bW0zIiwgInhtbTQiLCAieG1tNSIsICJ4bW02IiwK
KyAgICAgICAgInhtbTciLCAieG1tOCIsICJ4bW05Iik7CiB9CiAjZW5kaWYgIC8vIGRlZmluZWQo
SEFTX1RSQU5TUE9TRVVWV1g4X1NTRTIpCiAjZW5kaWYgIC8vIGRlZmluZWQoX194ODZfNjRfXykg
fHwgZGVmaW5lZChfX2kzODZfXykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3RhdGVfbWlwcy5jYyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJj
ZS9yb3RhdGVfbWlwcy5jYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU4Y2UyNTE5
N2FiNGEwODYyY2QzNjRkOWVlZDJjMzEwNzFlN2NlNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90YXRlX21pcHMuY2MKKysrIC9kZXYvbnVsbApA
QCAtMSw0ODQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgMjAxMSBUaGUgTGliWXV2IFByb2pl
Y3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2Fu
IGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQot
ICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFu
dCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUgZmlsZSBQQVRFTlRTLiBBbGwgY29udHJpYnV0aW5n
IHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGlu
IHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAqLwotCi0jaW5jbHVkZSAibGlieXV2L3Jv
dy5oIgotI2luY2x1ZGUgImxpYnl1di9yb3RhdGVfcm93LmgiCi0KLSNpbmNsdWRlICJsaWJ5dXYv
YmFzaWNfdHlwZXMuaCIKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1uYW1lc3BhY2UgbGlieXV2IHsK
LWV4dGVybiAiQyIgewotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJMRV9NSVBT
KSAmJiBcCi0gICAgZGVmaW5lZChfX21pcHNfZHNwKSAmJiAoX19taXBzX2RzcF9yZXYgPj0gMikg
JiYgXAotICAgIChfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTMyKQotCi12b2lkIFRyYW5zcG9z
ZVd4OF9EU1BSMihjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLCBpbnQgd2lkdGgpIHsKLSAg
IF9fYXNtX18gX192b2xhdGlsZV9fICgKLSAgICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic2xsICAgICAgICAgICAg
ICAkdDIsICVbc3JjX3N0cmlkZV0sIDB4MSAgICAgICAgICBcbiIgLy8gc3JjX3N0cmlkZSB4IDIK
LSAgICAgICJzbGwgICAgICAgICAgICAgICR0NCwgJVtzcmNfc3RyaWRlXSwgMHgyICAgICAgICAg
IFxuIiAvLyBzcmNfc3RyaWRlIHggNAotICAgICAgInNsbCAgICAgICAgICAgICAgJHQ5LCAlW3Ny
Y19zdHJpZGVdLCAweDMgICAgICAgICAgXG4iIC8vIHNyY19zdHJpZGUgeCA4Ci0gICAgICAiYWRk
dSAgICAgICAgICAgICAkdDMsICR0MiwgJVtzcmNfc3RyaWRlXSAgICAgICAgICBcbiIKLSAgICAg
ICJhZGR1ICAgICAgICAgICAgICR0NSwgJHQ0LCAlW3NyY19zdHJpZGVdICAgICAgICAgIFxuIgot
ICAgICAgImFkZHUgICAgICAgICAgICAgJHQ2LCAkdDIsICR0NCAgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgICAiYW5kaSAgICAgICAgICAgICAkdDAsICVbZHN0XSwgMHgzICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAgICJhbmRpICAgICAgICAgICAgICR0MSwgJVtkc3Rfc3RyaWRlXSwgMHgz
ICAgICAgICAgIFxuIgotICAgICAgIm9yICAgICAgICAgICAgICAgJHQwLCAkdDAsICR0MSAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgICAiYm5leiAgICAgICAgICAgICAkdDAsIDExZiAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIgc3VidSAgICAgICAgICAgICR0NywgJHQ5
LCAlW3NyY19zdHJpZGVdICAgICAgICAgIFxuIgotLy9kc3QgKyBkc3Rfc3RyaWRlIHdvcmQgYWxp
Z25lZAotICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgICAibGJ1ICAgICAgICAgICAgICAkdDAsIDAoJVtzcmNdKSAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAgICJsYnV4ICAgICAgICAgICAgICR0MSwgJVtzcmNfc3RyaWRl
XSglW3NyY10pICAgICAgIFxuIgotICAgICAgImxidXggICAgICAgICAgICAgJHQ4LCAkdDIoJVtz
cmNdKSAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAibGJ1eCAgICAgICAgICAgICAkdDksICR0
MyglW3NyY10pICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzbGwgICAgICAgICAgICAgICR0
MSwgJHQxLCAxNiAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInNsbCAgICAgICAgICAg
ICAgJHQ5LCAkdDksIDE2ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAib3IgICAgICAg
ICAgICAgICAkdDAsICR0MCwgJHQxICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJvciAg
ICAgICAgICAgICAgICR0OCwgJHQ4LCAkdDkgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAg
InByZWNyLnFiLnBoICAgICAgJHMwLCAkdDgsICR0MCAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgICAibGJ1eCAgICAgICAgICAgICAkdDAsICR0NCglW3NyY10pICAgICAgICAgICAgICAgICBc
biIKLSAgICAgICJsYnV4ICAgICAgICAgICAgICR0MSwgJHQ1KCVbc3JjXSkgICAgICAgICAgICAg
ICAgIFxuIgotICAgICAgImxidXggICAgICAgICAgICAgJHQ4LCAkdDYoJVtzcmNdKSAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgICAibGJ1eCAgICAgICAgICAgICAkdDksICR0NyglW3NyY10pICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgICJzbGwgICAgICAgICAgICAgICR0MSwgJHQxLCAxNiAg
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInNsbCAgICAgICAgICAgICAgJHQ5LCAkdDks
IDE2ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAib3IgICAgICAgICAgICAgICAkdDAs
ICR0MCwgJHQxICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJvciAgICAgICAgICAgICAg
ICR0OCwgJHQ4LCAkdDkgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInByZWNyLnFiLnBo
ICAgICAgJHMxLCAkdDgsICR0MCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic3cgICAg
ICAgICAgICAgICAkczAsIDAoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJh
ZGRpdSAgICAgICAgICAgICVbd2lkdGhdLCAtMSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICAgImFkZGl1ICAgICAgICAgICAgJVtzcmNdLCAxICAgICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgICAic3cgICAgICAgICAgICAgICAkczEsIDQoJVtkc3RdKSAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgICJibmV6ICAgICAgICAgICAgICVbd2lkdGhdLCAxYiAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICAgIiBhZGR1ICAgICAgICAgICAgJVtkc3RdLCAlW2RzdF0sICVbZHN0
X3N0cmlkZV0gICAgXG4iCi0gICAgICAiYiAgICAgICAgICAgICAgICAyZiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKLS8vZHN0ICsgZHN0X3N0cmlkZSB1bmFsaWduZWQKLSAgICIx
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICAgImxidSAgICAgICAgICAgICAgJHQwLCAwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgICAibGJ1eCAgICAgICAgICAgICAkdDEsICVbc3JjX3N0cmlkZV0oJVtzcmNdKSAg
ICAgICBcbiIKLSAgICAgICJsYnV4ICAgICAgICAgICAgICR0OCwgJHQyKCVbc3JjXSkgICAgICAg
ICAgICAgICAgIFxuIgotICAgICAgImxidXggICAgICAgICAgICAgJHQ5LCAkdDMoJVtzcmNdKSAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgICAic2xsICAgICAgICAgICAgICAkdDEsICR0MSwgMTYg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzbGwgICAgICAgICAgICAgICR0OSwgJHQ5
LCAxNiAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgIm9yICAgICAgICAgICAgICAgJHQw
LCAkdDAsICR0MSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAib3IgICAgICAgICAgICAg
ICAkdDgsICR0OCwgJHQ5ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJwcmVjci5xYi5w
aCAgICAgICRzMCwgJHQ4LCAkdDAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImxidXgg
ICAgICAgICAgICAgJHQwLCAkdDQoJVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAi
bGJ1eCAgICAgICAgICAgICAkdDEsICR0NSglW3NyY10pICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAgICJsYnV4ICAgICAgICAgICAgICR0OCwgJHQ2KCVbc3JjXSkgICAgICAgICAgICAgICAgIFxu
IgotICAgICAgImxidXggICAgICAgICAgICAgJHQ5LCAkdDcoJVtzcmNdKSAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgICAic2xsICAgICAgICAgICAgICAkdDEsICR0MSwgMTYgICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAgICJzbGwgICAgICAgICAgICAgICR0OSwgJHQ5LCAxNiAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICAgIm9yICAgICAgICAgICAgICAgJHQwLCAkdDAsICR0MSAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAib3IgICAgICAgICAgICAgICAkdDgsICR0OCwg
JHQ5ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJwcmVjci5xYi5waCAgICAgICRzMSwg
JHQ4LCAkdDAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInN3ciAgICAgICAgICAgICAg
JHMwLCAwKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic3dsICAgICAgICAg
ICAgICAkczAsIDMoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJhZGRpdSAg
ICAgICAgICAgICVbd2lkdGhdLCAtMSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImFk
ZGl1ICAgICAgICAgICAgJVtzcmNdLCAxICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
ICAic3dyICAgICAgICAgICAgICAkczEsIDQoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAgICJzd2wgICAgICAgICAgICAgICRzMSwgNyglW2RzdF0pICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICAgImJuZXogICAgICAgICAgICAgJVt3aWR0aF0sIDExYiAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgICAgImFkZHUgICAgICAgICAgICAgJVtkc3RdLCAlW2RzdF0sICVbZHN0
X3N0cmlkZV0gICBcbiIKLSAgICAiMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICAgIi5zZXQgcG9wICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICA6W3NyY10gIityIiAoc3JjKSwKLSAgICAg
ICBbZHN0XSAiK3IiIChkc3QpLAotICAgICAgIFt3aWR0aF0gIityIiAod2lkdGgpCi0gICAgICA6
W3NyY19zdHJpZGVdICJyIiAoc3JjX3N0cmlkZSksCi0gICAgICAgW2RzdF9zdHJpZGVdICJyIiAo
ZHN0X3N0cmlkZSkKLSAgICAgIDogInQwIiwgInQxIiwgICJ0MiIsICJ0MyIsICJ0NCIsICJ0NSIs
Ci0gICAgICAgICJ0NiIsICJ0NyIsICJ0OCIsICJ0OSIsCi0gICAgICAgICJzMCIsICJzMSIKLSAg
KTsKLX0KLQotdm9pZCBUcmFuc3Bvc2VXeDhfRmFzdF9EU1BSMihjb25zdCB1aW50OCogc3JjLCBp
bnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwg
aW50IGRzdF9zdHJpZGUsIGludCB3aWR0aCkgewotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCi0g
ICAgICAiLnNldCBub2F0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgICAiYmVxeiAgICAgICAgICAgICAlW3dpZHRoXSwgMmYgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgICIgc2xsICAgICAgICAgICAgICR0MiwgJVtzcmNfc3Ry
aWRlXSwgMHgxICAgICAgICAgIFxuIiAgLy8gc3JjX3N0cmlkZSB4IDIKLSAgICAgICJzbGwgICAg
ICAgICAgICAgICR0NCwgJVtzcmNfc3RyaWRlXSwgMHgyICAgICAgICAgIFxuIiAgLy8gc3JjX3N0
cmlkZSB4IDQKLSAgICAgICJzbGwgICAgICAgICAgICAgICR0OSwgJVtzcmNfc3RyaWRlXSwgMHgz
ICAgICAgICAgIFxuIiAgLy8gc3JjX3N0cmlkZSB4IDgKLSAgICAgICJhZGR1ICAgICAgICAgICAg
ICR0MywgJHQyLCAlW3NyY19zdHJpZGVdICAgICAgICAgIFxuIgotICAgICAgImFkZHUgICAgICAg
ICAgICAgJHQ1LCAkdDQsICVbc3JjX3N0cmlkZV0gICAgICAgICAgXG4iCi0gICAgICAiYWRkdSAg
ICAgICAgICAgICAkdDYsICR0MiwgJHQ0ICAgICAgICAgICAgICAgICAgICBcbiIKLQotICAgICAg
InNybCAgICAgICAgICAgICAgJEFULCAlW3dpZHRoXSwgMHgyICAgICAgICAgICAgICAgXG4iCi0g
ICAgICAiYW5kaSAgICAgICAgICAgICAkdDAsICVbZHN0XSwgMHgzICAgICAgICAgICAgICAgICBc
biIKLSAgICAgICJhbmRpICAgICAgICAgICAgICR0MSwgJVtkc3Rfc3RyaWRlXSwgMHgzICAgICAg
ICAgIFxuIgotICAgICAgIm9yICAgICAgICAgICAgICAgJHQwLCAkdDAsICR0MSAgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgICAiYm5leiAgICAgICAgICAgICAkdDAsIDExZiAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgICIgc3VidSAgICAgICAgICAgICR0NywgJHQ5LCAlW3Ny
Y19zdHJpZGVdICAgICAgICAgIFxuIgotLy9kc3QgKyBkc3Rfc3RyaWRlIHdvcmQgYWxpZ25lZAot
ICAgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgICAibHcgICAgICAgICAgICAgICAkdDAsIDAoJVtzcmNdKSAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAgICJsd3ggICAgICAgICAgICAgICR0MSwgJVtzcmNfc3RyaWRlXSglW3Ny
Y10pICAgICAgIFxuIgotICAgICAgImx3eCAgICAgICAgICAgICAgJHQ4LCAkdDIoJVtzcmNdKSAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgICAibHd4ICAgICAgICAgICAgICAkdDksICR0MyglW3Ny
Y10pICAgICAgICAgICAgICAgICBcbiIKLQotLy8gdDAgPSB8IDMwIHwgMjAgfCAxMCB8IDAwIHwK
LS8vIHQxID0gfCAzMSB8IDIxIHwgMTEgfCAwMSB8Ci0vLyB0OCA9IHwgMzIgfCAyMiB8IDEyIHwg
MDIgfAotLy8gdDkgPSB8IDMzIHwgMjMgfCAxMyB8IDAzIHwKLQotICAgICAgInByZWNyLnFiLnBo
ICAgICAkczAsICR0MSwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAicHJlY3Iu
cWIucGggICAgICRzMSwgJHQ5LCAkdDggICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJw
cmVjcnEucWIucGggICAgJHMyLCAkdDEsICR0MCAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICAgInByZWNycS5xYi5waCAgICAkczMsICR0OSwgJHQ4ICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0KLSAgLy8gczAgPSB8IDIxIHwgMDEgfCAyMCB8IDAwIHwKLSAgLy8gczEgPSB8IDIzIHwgMDMg
fCAyMiB8IDAyIHwKLSAgLy8gczIgPSB8IDMxIHwgMTEgfCAzMCB8IDEwIHwKLSAgLy8gczMgPSB8
IDMzIHwgMTMgfCAzMiB8IDEyIHwKLQotICAgICAgInByZWNyLnFiLnBoICAgICAkczQsICRzMSwg
JHMwICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAicHJlY3JxLnFiLnBoICAgICRzNSwg
JHMxLCAkczAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJwcmVjci5xYi5waCAgICAg
JHM2LCAkczMsICRzMiAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInByZWNycS5xYi5w
aCAgICAkczcsICRzMywgJHMyICAgICAgICAgICAgICAgICAgICAgXG4iCi0KLSAgLy8gczQgPSB8
IDAzIHwgMDIgfCAwMSB8IDAwIHwKLSAgLy8gczUgPSB8IDIzIHwgMjIgfCAyMSB8IDIwIHwKLSAg
Ly8gczYgPSB8IDEzIHwgMTIgfCAxMSB8IDEwIHwKLSAgLy8gczcgPSB8IDMzIHwgMzIgfCAzMSB8
IDMwIHwKLQotICAgICAgImx3eCAgICAgICAgICAgICAgJHQwLCAkdDQoJVtzcmNdKSAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgICAibHd4ICAgICAgICAgICAgICAkdDEsICR0NSglW3NyY10pICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgICJsd3ggICAgICAgICAgICAgICR0OCwgJHQ2KCVbc3Jj
XSkgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImx3eCAgICAgICAgICAgICAgJHQ5LCAkdDco
JVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCi0KLS8vIHQwID0gfCAzNCB8IDI0IHwgMTQgfCAw
NCB8Ci0vLyB0MSA9IHwgMzUgfCAyNSB8IDE1IHwgMDUgfAotLy8gdDggPSB8IDM2IHwgMjYgfCAx
NiB8IDA2IHwKLS8vIHQ5ID0gfCAzNyB8IDI3IHwgMTcgfCAwNyB8Ci0KLSAgICAgICJwcmVjci5x
Yi5waCAgICAgJHMwLCAkdDEsICR0MCAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInBy
ZWNyLnFiLnBoICAgICAkczEsICR0OSwgJHQ4ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
ICAicHJlY3JxLnFiLnBoICAgICRzMiwgJHQxLCAkdDAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAgICJwcmVjcnEucWIucGggICAgJHMzLCAkdDksICR0OCAgICAgICAgICAgICAgICAgICAg
IFxuIgotCi0gIC8vIHMwID0gfCAyNSB8IDA1IHwgMjQgfCAwNCB8Ci0gIC8vIHMxID0gfCAyNyB8
IDA3IHwgMjYgfCAwNiB8Ci0gIC8vIHMyID0gfCAzNSB8IDE1IHwgMzQgfCAxNCB8Ci0gIC8vIHMz
ID0gfCAzNyB8IDE3IHwgMzYgfCAxNiB8Ci0KLSAgICAgICJwcmVjci5xYi5waCAgICAgJHQwLCAk
czEsICRzMCAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInByZWNycS5xYi5waCAgICAk
dDEsICRzMSwgJHMwICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAicHJlY3IucWIucGgg
ICAgICR0OCwgJHMzLCAkczIgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJwcmVjcnEu
cWIucGggICAgJHQ5LCAkczMsICRzMiAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gIC8vIHQw
ID0gfCAwNyB8IDA2IHwgMDUgfCAwNCB8Ci0gIC8vIHQxID0gfCAyNyB8IDI2IHwgMjUgfCAyNCB8
Ci0gIC8vIHQ4ID0gfCAxNyB8IDE2IHwgMTUgfCAxNCB8Ci0gIC8vIHQ5ID0gfCAzNyB8IDM2IHwg
MzUgfCAzNCB8Ci0KLSAgICAgICJhZGR1ICAgICAgICAgICAgJHMwLCAlW2RzdF0sICVbZHN0X3N0
cmlkZV0gICAgICAgIFxuIgotICAgICAgImFkZHUgICAgICAgICAgICAkczEsICRzMCwgJVtkc3Rf
c3RyaWRlXSAgICAgICAgICAgXG4iCi0gICAgICAiYWRkdSAgICAgICAgICAgICRzMiwgJHMxLCAl
W2RzdF9zdHJpZGVdICAgICAgICAgICBcbiIKLQotICAgICAgInN3ICAgICAgICAgICAgICAkczQs
IDAoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic3cgICAgICAgICAgICAg
ICR0MCwgNCglW2RzdF0pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzdyAgICAgICAg
ICAgICAgJHM2LCAwKCRzMCkgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInN3ICAg
ICAgICAgICAgICAkdDgsIDQoJHMwKSAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAi
c3cgICAgICAgICAgICAgICRzNSwgMCgkczEpICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAgICJzdyAgICAgICAgICAgICAgJHQxLCA0KCRzMSkgICAgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICAgInN3ICAgICAgICAgICAgICAkczcsIDAoJHMyKSAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgICAic3cgICAgICAgICAgICAgICR0OSwgNCgkczIpICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKLQotICAgICAgImFkZGl1ICAgICAgICAgICAgJEFULCAtMSAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgICAiYWRkaXUgICAgICAgICAgICAlW3NyY10sIDQgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLQotICAgICAgImJuZXogICAgICAgICAgICAgJEFULCAx
YiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAiIGFkZHUgICAgICAgICAgICAl
W2RzdF0sICRzMiwgJVtkc3Rfc3RyaWRlXSAgICAgICBcbiIKLSAgICAgICJiICAgICAgICAgICAg
ICAgIDJmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLy9kc3QgKyBkc3Rfc3Ry
aWRlIHVuYWxpZ25lZAotICAgICAgIjExOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgICAibHcgICAgICAgICAgICAgICAkdDAsIDAoJVtzcmNd
KSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJsd3ggICAgICAgICAgICAgICR0MSwgJVtz
cmNfc3RyaWRlXSglW3NyY10pICAgICAgIFxuIgotICAgICAgImx3eCAgICAgICAgICAgICAgJHQ4
LCAkdDIoJVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAibHd4ICAgICAgICAgICAg
ICAkdDksICR0MyglW3NyY10pICAgICAgICAgICAgICAgICBcbiIKLQotLy8gdDAgPSB8IDMwIHwg
MjAgfCAxMCB8IDAwIHwKLS8vIHQxID0gfCAzMSB8IDIxIHwgMTEgfCAwMSB8Ci0vLyB0OCA9IHwg
MzIgfCAyMiB8IDEyIHwgMDIgfAotLy8gdDkgPSB8IDMzIHwgMjMgfCAxMyB8IDAzIHwKLQotICAg
ICAgInByZWNyLnFiLnBoICAgICAkczAsICR0MSwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgICAicHJlY3IucWIucGggICAgICRzMSwgJHQ5LCAkdDggICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgICJwcmVjcnEucWIucGggICAgJHMyLCAkdDEsICR0MCAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICAgInByZWNycS5xYi5waCAgICAkczMsICR0OSwgJHQ4ICAgICAgICAg
ICAgICAgICAgICAgXG4iCi0KLSAgLy8gczAgPSB8IDIxIHwgMDEgfCAyMCB8IDAwIHwKLSAgLy8g
czEgPSB8IDIzIHwgMDMgfCAyMiB8IDAyIHwKLSAgLy8gczIgPSB8IDMxIHwgMTEgfCAzMCB8IDEw
IHwKLSAgLy8gczMgPSB8IDMzIHwgMTMgfCAzMiB8IDEyIHwKLQotICAgICAgInByZWNyLnFiLnBo
ICAgICAkczQsICRzMSwgJHMwICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAicHJlY3Jx
LnFiLnBoICAgICRzNSwgJHMxLCAkczAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJw
cmVjci5xYi5waCAgICAgJHM2LCAkczMsICRzMiAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICAgInByZWNycS5xYi5waCAgICAkczcsICRzMywgJHMyICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0KLSAgLy8gczQgPSB8IDAzIHwgMDIgfCAwMSB8IDAwIHwKLSAgLy8gczUgPSB8IDIzIHwgMjIg
fCAyMSB8IDIwIHwKLSAgLy8gczYgPSB8IDEzIHwgMTIgfCAxMSB8IDEwIHwKLSAgLy8gczcgPSB8
IDMzIHwgMzIgfCAzMSB8IDMwIHwKLQotICAgICAgImx3eCAgICAgICAgICAgICAgJHQwLCAkdDQo
JVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAibHd4ICAgICAgICAgICAgICAkdDEs
ICR0NSglW3NyY10pICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJsd3ggICAgICAgICAgICAg
ICR0OCwgJHQ2KCVbc3JjXSkgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImx3eCAgICAgICAg
ICAgICAgJHQ5LCAkdDcoJVtzcmNdKSAgICAgICAgICAgICAgICAgXG4iCi0KLS8vIHQwID0gfCAz
NCB8IDI0IHwgMTQgfCAwNCB8Ci0vLyB0MSA9IHwgMzUgfCAyNSB8IDE1IHwgMDUgfAotLy8gdDgg
PSB8IDM2IHwgMjYgfCAxNiB8IDA2IHwKLS8vIHQ5ID0gfCAzNyB8IDI3IHwgMTcgfCAwNyB8Ci0K
LSAgICAgICJwcmVjci5xYi5waCAgICAgJHMwLCAkdDEsICR0MCAgICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICAgInByZWNyLnFiLnBoICAgICAkczEsICR0OSwgJHQ4ICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgICAicHJlY3JxLnFiLnBoICAgICRzMiwgJHQxLCAkdDAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAgICJwcmVjcnEucWIucGggICAgJHMzLCAkdDksICR0OCAgICAg
ICAgICAgICAgICAgICAgIFxuIgotCi0gIC8vIHMwID0gfCAyNSB8IDA1IHwgMjQgfCAwNCB8Ci0g
IC8vIHMxID0gfCAyNyB8IDA3IHwgMjYgfCAwNiB8Ci0gIC8vIHMyID0gfCAzNSB8IDE1IHwgMzQg
fCAxNCB8Ci0gIC8vIHMzID0gfCAzNyB8IDE3IHwgMzYgfCAxNiB8Ci0KLSAgICAgICJwcmVjci5x
Yi5waCAgICAgJHQwLCAkczEsICRzMCAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInBy
ZWNycS5xYi5waCAgICAkdDEsICRzMSwgJHMwICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
ICAicHJlY3IucWIucGggICAgICR0OCwgJHMzLCAkczIgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAgICJwcmVjcnEucWIucGggICAgJHQ5LCAkczMsICRzMiAgICAgICAgICAgICAgICAgICAg
IFxuIgotCi0gIC8vIHQwID0gfCAwNyB8IDA2IHwgMDUgfCAwNCB8Ci0gIC8vIHQxID0gfCAyNyB8
IDI2IHwgMjUgfCAyNCB8Ci0gIC8vIHQ4ID0gfCAxNyB8IDE2IHwgMTUgfCAxNCB8Ci0gIC8vIHQ5
ID0gfCAzNyB8IDM2IHwgMzUgfCAzNCB8Ci0KLSAgICAgICJhZGR1ICAgICAgICAgICAgJHMwLCAl
W2RzdF0sICVbZHN0X3N0cmlkZV0gICAgICAgIFxuIgotICAgICAgImFkZHUgICAgICAgICAgICAk
czEsICRzMCwgJVtkc3Rfc3RyaWRlXSAgICAgICAgICAgXG4iCi0gICAgICAiYWRkdSAgICAgICAg
ICAgICRzMiwgJHMxLCAlW2RzdF9zdHJpZGVdICAgICAgICAgICBcbiIKLQotICAgICAgInN3ciAg
ICAgICAgICAgICAgJHM0LCAwKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAi
c3dsICAgICAgICAgICAgICAkczQsIDMoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAgICJzd3IgICAgICAgICAgICAgICR0MCwgNCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICAgInN3bCAgICAgICAgICAgICAgJHQwLCA3KCVbZHN0XSkgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgICAic3dyICAgICAgICAgICAgICAkczYsIDAoJHMwKSAgICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAgICJzd2wgICAgICAgICAgICAgICRzNiwgMygkczApICAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICAgInN3ciAgICAgICAgICAgICAgJHQ4LCA0KCRzMCkgICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic3dsICAgICAgICAgICAgICAkdDgsIDcoJHMw
KSAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzd3IgICAgICAgICAgICAgICRzNSwg
MCgkczEpICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInN3bCAgICAgICAgICAgICAg
JHM1LCAzKCRzMSkgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic3dyICAgICAgICAg
ICAgICAkdDEsIDQoJHMxKSAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzd2wgICAg
ICAgICAgICAgICR0MSwgNygkczEpICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInN3
ciAgICAgICAgICAgICAgJHM3LCAwKCRzMikgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
ICAic3dsICAgICAgICAgICAgICAkczcsIDMoJHMyKSAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAgICJzd3IgICAgICAgICAgICAgICR0OSwgNCgkczIpICAgICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICAgInN3bCAgICAgICAgICAgICAgJHQ5LCA3KCRzMikgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0KLSAgICAgICJhZGRpdSAgICAgICAgICAgICRBVCwgLTEgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICAgImFkZGl1ICAgICAgICAgICAgJVtzcmNdLCA0ICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0KLSAgICAgICJibmV6ICAgICAgICAgICAgICRBVCwgMTFi
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgIiBhZGR1ICAgICAgICAgICAgJVtk
c3RdLCAkczIsICVbZHN0X3N0cmlkZV0gICAgICAgXG4iCi0gICAgICAiMjogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIuc2V0IHBvcCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgIi5zZXQg
YXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICA6
W3NyY10gIityIiAoc3JjKSwKLSAgICAgICBbZHN0XSAiK3IiIChkc3QpLAotICAgICAgIFt3aWR0
aF0gIityIiAod2lkdGgpCi0gICAgICA6W3NyY19zdHJpZGVdICJyIiAoc3JjX3N0cmlkZSksCi0g
ICAgICAgW2RzdF9zdHJpZGVdICJyIiAoZHN0X3N0cmlkZSkKLSAgICAgIDogInQwIiwgInQxIiwg
InQyIiwgInQzIiwgInQ0IiwgInQ1IiwgInQ2IiwgInQ3IiwgInQ4IiwgInQ5IiwKLSAgICAgICAg
InMwIiwgInMxIiwgInMyIiwgInMzIiwgInM0IiwgInM1IiwgInM2IiwgInM3IgotICApOwotfQot
Ci12b2lkIFRyYW5zcG9zZVVWV3g4X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2EsIGludCBkc3Rfc3Ry
aWRlX2EsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwgaW50IGRzdF9z
dHJpZGVfYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7Ci0gIF9fYXNt
X18gX192b2xhdGlsZV9fICgKLSAgICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAiYmVxeiAgICAgICAgICAgICVbd2lk
dGhdLCAyZiAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIgc2xsICAgICAgICAgICAg
JHQyLCAlW3NyY19zdHJpZGVdLCAweDEgICAgICAgICAgIFxuIiAvLyBzcmNfc3RyaWRlIHggMgot
ICAgICAgInNsbCAgICAgICAgICAgICAkdDQsICVbc3JjX3N0cmlkZV0sIDB4MiAgICAgICAgICAg
XG4iIC8vIHNyY19zdHJpZGUgeCA0Ci0gICAgICAic2xsICAgICAgICAgICAgICR0OSwgJVtzcmNf
c3RyaWRlXSwgMHgzICAgICAgICAgICBcbiIgLy8gc3JjX3N0cmlkZSB4IDgKLSAgICAgICJhZGR1
ICAgICAgICAgICAgJHQzLCAkdDIsICVbc3JjX3N0cmlkZV0gICAgICAgICAgIFxuIgotICAgICAg
ImFkZHUgICAgICAgICAgICAkdDUsICR0NCwgJVtzcmNfc3RyaWRlXSAgICAgICAgICAgXG4iCi0g
ICAgICAiYWRkdSAgICAgICAgICAgICR0NiwgJHQyLCAkdDQgICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAgICJzdWJ1ICAgICAgICAgICAgJHQ3LCAkdDksICVbc3JjX3N0cmlkZV0gICAgICAg
ICAgIFxuIgotICAgICAgInNybCAgICAgICAgICAgICAkdDEsICVbd2lkdGhdLCAxICAgICAgICAg
ICAgICAgICAgXG4iCi0KLS8vIGNoZWNrIHdvcmQgYWxpZ21lbnQgZm9yIGRzdF9hLCBkc3RfYiwg
ZHN0X3N0cmlkZV9hIGFuZCBkc3Rfc3RyaWRlX2IKLSAgICAgICJhbmRpICAgICAgICAgICAgJHQw
LCAlW2RzdF9hXSwgMHgzICAgICAgICAgICAgICAgIFxuIgotICAgICAgImFuZGkgICAgICAgICAg
ICAkdDgsICVbZHN0X2JdLCAweDMgICAgICAgICAgICAgICAgXG4iCi0gICAgICAib3IgICAgICAg
ICAgICAgICR0MCwgJHQwLCAkdDggICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJhbmRp
ICAgICAgICAgICAgJHQ4LCAlW2RzdF9zdHJpZGVfYV0sIDB4MyAgICAgICAgIFxuIgotICAgICAg
ImFuZGkgICAgICAgICAgICAkczUsICVbZHN0X3N0cmlkZV9iXSwgMHgzICAgICAgICAgXG4iCi0g
ICAgICAib3IgICAgICAgICAgICAgICR0OCwgJHQ4LCAkczUgICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAgICJvciAgICAgICAgICAgICAgJHQwLCAkdDAsICR0OCAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICAgImJuZXogICAgICAgICAgICAkdDAsIDExZiAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgICAiIG5vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKLS8vIGRzdCArIGRzdF9zdHJpZGUgd29yZCBhbGlnbmVkIChib3Ro
LCBhICYgYiBkc3QgYWRkcmVzc2VzKQotICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAibHcgICAgICAgICAgICAgICR0MCwg
MCglW3NyY10pICAgICAgICAgICAgICAgICAgICBcbiIgLy8gfEIwfEEwfGIwfGEwfAotICAgICAg
Imx3eCAgICAgICAgICAgICAkdDgsICVbc3JjX3N0cmlkZV0oJVtzcmNdKSAgICAgICAgXG4iIC8v
IHxCMXxBMXxiMXxhMXwKLSAgICAgICJhZGR1ICAgICAgICAgICAgJHM1LCAlW2RzdF9hXSwgJVtk
c3Rfc3RyaWRlX2FdICAgIFxuIgotICAgICAgImx3eCAgICAgICAgICAgICAkdDksICR0MiglW3Ny
Y10pICAgICAgICAgICAgICAgICAgXG4iIC8vIHxCMnxBMnxiMnxhMnwKLSAgICAgICJsd3ggICAg
ICAgICAgICAgJHMwLCAkdDMoJVtzcmNdKSAgICAgICAgICAgICAgICAgIFxuIiAvLyB8QjN8QTN8
YjN8YTN8Ci0gICAgICAiYWRkdSAgICAgICAgICAgICRzNiwgJVtkc3RfYl0sICVbZHN0X3N0cmlk
ZV9iXSAgICBcbiIKLQotICAgICAgInByZWNycS5waC53ICAgICAkczEsICR0OCwgJHQwICAgICAg
ICAgICAgICAgICAgICAgXG4iIC8vIHxCMXxBMXxCMHxBMHwKLSAgICAgICJwcmVjcnEucGgudyAg
ICAgJHMyLCAkczAsICR0OSAgICAgICAgICAgICAgICAgICAgIFxuIiAvLyB8QjN8QTN8QjJ8QTJ8
Ci0gICAgICAicHJlY3IucWIucGggICAgICRzMywgJHMyLCAkczEgICAgICAgICAgICAgICAgICAg
ICBcbiIgLy8gfEEzfEEyfEExfEEwfAotICAgICAgInByZWNycS5xYi5waCAgICAkczQsICRzMiwg
JHMxICAgICAgICAgICAgICAgICAgICAgXG4iIC8vIHxCM3xCMnxCMXxCMHwKLQotICAgICAgInNs
bCAgICAgICAgICAgICAkdDAsICR0MCwgMTYgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
ICAicGFja3JsLnBoICAgICAgICRzMSwgJHQ4LCAkdDAgICAgICAgICAgICAgICAgICAgICBcbiIg
Ly8gfGIxfGExfGIwfGEwfAotICAgICAgInNsbCAgICAgICAgICAgICAkdDksICR0OSwgMTYgICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAicGFja3JsLnBoICAgICAgICRzMiwgJHMwLCAk
dDkgICAgICAgICAgICAgICAgICAgICBcbiIgLy8gfGIzfGEzfGIyfGEyfAotCi0gICAgICAic3cg
ICAgICAgICAgICAgICRzMywgMCgkczUpICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAg
ICJzdyAgICAgICAgICAgICAgJHM0LCAwKCRzNikgICAgICAgICAgICAgICAgICAgICAgIFxuIgot
Ci0gICAgICAicHJlY3IucWIucGggICAgICRzMywgJHMyLCAkczEgICAgICAgICAgICAgICAgICAg
ICBcbiIgLy8gfGEzfGEyfGExfGEwfAotICAgICAgInByZWNycS5xYi5waCAgICAkczQsICRzMiwg
JHMxICAgICAgICAgICAgICAgICAgICAgXG4iIC8vIHxiM3xiMnxiMXxiMHwKLQotICAgICAgImx3
eCAgICAgICAgICAgICAkdDAsICR0NCglW3NyY10pICAgICAgICAgICAgICAgICAgXG4iIC8vIHxC
NHxBNHxiNHxhNHwKLSAgICAgICJsd3ggICAgICAgICAgICAgJHQ4LCAkdDUoJVtzcmNdKSAgICAg
ICAgICAgICAgICAgIFxuIiAvLyB8QjV8QTV8YjV8YTV8Ci0gICAgICAibHd4ICAgICAgICAgICAg
ICR0OSwgJHQ2KCVbc3JjXSkgICAgICAgICAgICAgICAgICBcbiIgLy8gfEI2fEE2fGI2fGE2fAot
ICAgICAgImx3eCAgICAgICAgICAgICAkczAsICR0NyglW3NyY10pICAgICAgICAgICAgICAgICAg
XG4iIC8vIHxCN3xBN3xiN3xhN3wKLSAgICAgICJzdyAgICAgICAgICAgICAgJHMzLCAwKCVbZHN0
X2FdKSAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInN3ICAgICAgICAgICAgICAkczQsIDAo
JVtkc3RfYl0pICAgICAgICAgICAgICAgICAgXG4iCi0KLSAgICAgICJwcmVjcnEucGgudyAgICAg
JHMxLCAkdDgsICR0MCAgICAgICAgICAgICAgICAgICAgIFxuIiAvLyB8QjV8QTV8QjR8QTR8Ci0g
ICAgICAicHJlY3JxLnBoLncgICAgICRzMiwgJHMwLCAkdDkgICAgICAgICAgICAgICAgICAgICBc
biIgLy8gfEI2fEE2fEI3fEE3fAotICAgICAgInByZWNyLnFiLnBoICAgICAkczMsICRzMiwgJHMx
ICAgICAgICAgICAgICAgICAgICAgXG4iIC8vIHxBN3xBNnxBNXxBNHwKLSAgICAgICJwcmVjcnEu
cWIucGggICAgJHM0LCAkczIsICRzMSAgICAgICAgICAgICAgICAgICAgIFxuIiAvLyB8Qjd8QjZ8
QjV8QjR8Ci0KLSAgICAgICJzbGwgICAgICAgICAgICAgJHQwLCAkdDAsIDE2ICAgICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICAgInBhY2tybC5waCAgICAgICAkczEsICR0OCwgJHQwICAgICAg
ICAgICAgICAgICAgICAgXG4iIC8vIHxiNXxhNXxiNHxhNHwKLSAgICAgICJzbGwgICAgICAgICAg
ICAgJHQ5LCAkdDksIDE2ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInBhY2tybC5w
aCAgICAgICAkczIsICRzMCwgJHQ5ICAgICAgICAgICAgICAgICAgICAgXG4iIC8vIHxiN3xhN3xi
NnxhNnwKLSAgICAgICJzdyAgICAgICAgICAgICAgJHMzLCA0KCRzNSkgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICAgInN3ICAgICAgICAgICAgICAkczQsIDQoJHM2KSAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCi0KLSAgICAgICJwcmVjci5xYi5waCAgICAgJHMzLCAkczIsICRzMSAg
ICAgICAgICAgICAgICAgICAgIFxuIiAvLyB8YTd8YTZ8YTV8YTR8Ci0gICAgICAicHJlY3JxLnFi
LnBoICAgICRzNCwgJHMyLCAkczEgICAgICAgICAgICAgICAgICAgICBcbiIgLy8gfGI3fGI2fGI1
fGI0fAotCi0gICAgICAiYWRkaXUgICAgICAgICAgICVbc3JjXSwgNCAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAgICJhZGRpdSAgICAgICAgICAgJHQxLCAtMSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICAgInNsbCAgICAgICAgICAgICAkdDAsICVbZHN0X3N0cmlk
ZV9hXSwgMSAgICAgICAgICAgXG4iCi0gICAgICAic2xsICAgICAgICAgICAgICR0OCwgJVtkc3Rf
c3RyaWRlX2JdLCAxICAgICAgICAgICBcbiIKLSAgICAgICJzdyAgICAgICAgICAgICAgJHMzLCA0
KCVbZHN0X2FdKSAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInN3ICAgICAgICAgICAgICAk
czQsIDQoJVtkc3RfYl0pICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAiYWRkdSAgICAgICAg
ICAgICVbZHN0X2FdLCAlW2RzdF9hXSwgJHQwICAgICAgICAgICBcbiIKLSAgICAgICJibmV6ICAg
ICAgICAgICAgJHQxLCAxYiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgIiBh
ZGR1ICAgICAgICAgICAlW2RzdF9iXSwgJVtkc3RfYl0sICR0OCAgICAgICAgICAgXG4iCi0gICAg
ICAiYiAgICAgICAgICAgICAgIDJmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAgICIgbm9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgotCi0vLyBkc3RfYSBvciBkc3RfYiBvciBkc3Rfc3RyaWRlX2Egb3IgZHN0X3N0cmlkZV9i
IG5vdCB3b3JkIGFsaWduZWQKLSAgICIxMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImx3ICAgICAgICAgICAgICAkdDAsIDAoJVtz
cmNdKSAgICAgICAgICAgICAgICAgICAgXG4iIC8vIHxCMHxBMHxiMHxhMHwKLSAgICAgICJsd3gg
ICAgICAgICAgICAgJHQ4LCAlW3NyY19zdHJpZGVdKCVbc3JjXSkgICAgICAgIFxuIiAvLyB8QjF8
QTF8YjF8YTF8Ci0gICAgICAiYWRkdSAgICAgICAgICAgICRzNSwgJVtkc3RfYV0sICVbZHN0X3N0
cmlkZV9hXSAgICBcbiIKLSAgICAgICJsd3ggICAgICAgICAgICAgJHQ5LCAkdDIoJVtzcmNdKSAg
ICAgICAgICAgICAgICAgIFxuIiAvLyB8QjJ8QTJ8YjJ8YTJ8Ci0gICAgICAibHd4ICAgICAgICAg
ICAgICRzMCwgJHQzKCVbc3JjXSkgICAgICAgICAgICAgICAgICBcbiIgLy8gfEIzfEEzfGIzfGEz
fAotICAgICAgImFkZHUgICAgICAgICAgICAkczYsICVbZHN0X2JdLCAlW2RzdF9zdHJpZGVfYl0g
ICAgXG4iCi0KLSAgICAgICJwcmVjcnEucGgudyAgICAgJHMxLCAkdDgsICR0MCAgICAgICAgICAg
ICAgICAgICAgIFxuIiAvLyB8QjF8QTF8QjB8QTB8Ci0gICAgICAicHJlY3JxLnBoLncgICAgICRz
MiwgJHMwLCAkdDkgICAgICAgICAgICAgICAgICAgICBcbiIgLy8gfEIzfEEzfEIyfEEyfAotICAg
ICAgInByZWNyLnFiLnBoICAgICAkczMsICRzMiwgJHMxICAgICAgICAgICAgICAgICAgICAgXG4i
IC8vIHxBM3xBMnxBMXxBMHwKLSAgICAgICJwcmVjcnEucWIucGggICAgJHM0LCAkczIsICRzMSAg
ICAgICAgICAgICAgICAgICAgIFxuIiAvLyB8QjN8QjJ8QjF8QjB8Ci0KLSAgICAgICJzbGwgICAg
ICAgICAgICAgJHQwLCAkdDAsIDE2ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInBh
Y2tybC5waCAgICAgICAkczEsICR0OCwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4iIC8vIHxi
MXxhMXxiMHxhMHwKLSAgICAgICJzbGwgICAgICAgICAgICAgJHQ5LCAkdDksIDE2ICAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICAgInBhY2tybC5waCAgICAgICAkczIsICRzMCwgJHQ5ICAg
ICAgICAgICAgICAgICAgICAgXG4iIC8vIHxiM3xhM3xiMnxhMnwKLQotICAgICAgInN3ciAgICAg
ICAgICAgICAkczMsIDAoJHM1KSAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic3ds
ICAgICAgICAgICAgICRzMywgMygkczUpICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAg
ICJzd3IgICAgICAgICAgICAgJHM0LCAwKCRzNikgICAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICAgInN3bCAgICAgICAgICAgICAkczQsIDMoJHM2KSAgICAgICAgICAgICAgICAgICAgICAg
XG4iCi0KLSAgICAgICJwcmVjci5xYi5waCAgICAgJHMzLCAkczIsICRzMSAgICAgICAgICAgICAg
ICAgICAgIFxuIiAvLyB8YTN8YTJ8YTF8YTB8Ci0gICAgICAicHJlY3JxLnFiLnBoICAgICRzNCwg
JHMyLCAkczEgICAgICAgICAgICAgICAgICAgICBcbiIgLy8gfGIzfGIyfGIxfGIwfAotCi0gICAg
ICAibHd4ICAgICAgICAgICAgICR0MCwgJHQ0KCVbc3JjXSkgICAgICAgICAgICAgICAgICBcbiIg
Ly8gfEI0fEE0fGI0fGE0fAotICAgICAgImx3eCAgICAgICAgICAgICAkdDgsICR0NSglW3NyY10p
ICAgICAgICAgICAgICAgICAgXG4iIC8vIHxCNXxBNXxiNXxhNXwKLSAgICAgICJsd3ggICAgICAg
ICAgICAgJHQ5LCAkdDYoJVtzcmNdKSAgICAgICAgICAgICAgICAgIFxuIiAvLyB8QjZ8QTZ8YjZ8
YTZ8Ci0gICAgICAibHd4ICAgICAgICAgICAgICRzMCwgJHQ3KCVbc3JjXSkgICAgICAgICAgICAg
ICAgICBcbiIgLy8gfEI3fEE3fGI3fGE3fAotICAgICAgInN3ciAgICAgICAgICAgICAkczMsIDAo
JVtkc3RfYV0pICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic3dsICAgICAgICAgICAgICRz
MywgMyglW2RzdF9hXSkgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzd3IgICAgICAgICAg
ICAgJHM0LCAwKCVbZHN0X2JdKSAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInN3bCAgICAg
ICAgICAgICAkczQsIDMoJVtkc3RfYl0pICAgICAgICAgICAgICAgICAgXG4iCi0KLSAgICAgICJw
cmVjcnEucGgudyAgICAgJHMxLCAkdDgsICR0MCAgICAgICAgICAgICAgICAgICAgIFxuIiAvLyB8
QjV8QTV8QjR8QTR8Ci0gICAgICAicHJlY3JxLnBoLncgICAgICRzMiwgJHMwLCAkdDkgICAgICAg
ICAgICAgICAgICAgICBcbiIgLy8gfEI2fEE2fEI3fEE3fAotICAgICAgInByZWNyLnFiLnBoICAg
ICAkczMsICRzMiwgJHMxICAgICAgICAgICAgICAgICAgICAgXG4iIC8vIHxBN3xBNnxBNXxBNHwK
LSAgICAgICJwcmVjcnEucWIucGggICAgJHM0LCAkczIsICRzMSAgICAgICAgICAgICAgICAgICAg
IFxuIiAvLyB8Qjd8QjZ8QjV8QjR8Ci0KLSAgICAgICJzbGwgICAgICAgICAgICAgJHQwLCAkdDAs
IDE2ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInBhY2tybC5waCAgICAgICAkczEs
ICR0OCwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4iIC8vIHxiNXxhNXxiNHxhNHwKLSAgICAg
ICJzbGwgICAgICAgICAgICAgJHQ5LCAkdDksIDE2ICAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICAgInBhY2tybC5waCAgICAgICAkczIsICRzMCwgJHQ5ICAgICAgICAgICAgICAgICAgICAg
XG4iIC8vIHxiN3xhN3xiNnxhNnwKLQotICAgICAgInN3ciAgICAgICAgICAgICAkczMsIDQoJHM1
KSAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic3dsICAgICAgICAgICAgICRzMywg
NygkczUpICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzd3IgICAgICAgICAgICAg
JHM0LCA0KCRzNikgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInN3bCAgICAgICAg
ICAgICAkczQsIDcoJHM2KSAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0KLSAgICAgICJwcmVj
ci5xYi5waCAgICAgJHMzLCAkczIsICRzMSAgICAgICAgICAgICAgICAgICAgIFxuIiAvLyB8YTd8
YTZ8YTV8YTR8Ci0gICAgICAicHJlY3JxLnFiLnBoICAgICRzNCwgJHMyLCAkczEgICAgICAgICAg
ICAgICAgICAgICBcbiIgLy8gfGI3fGI2fGI1fGI0fAotCi0gICAgICAiYWRkaXUgICAgICAgICAg
ICVbc3JjXSwgNCAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJhZGRpdSAgICAg
ICAgICAgJHQxLCAtMSAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInNsbCAg
ICAgICAgICAgICAkdDAsICVbZHN0X3N0cmlkZV9hXSwgMSAgICAgICAgICAgXG4iCi0gICAgICAi
c2xsICAgICAgICAgICAgICR0OCwgJVtkc3Rfc3RyaWRlX2JdLCAxICAgICAgICAgICBcbiIKLSAg
ICAgICJzd3IgICAgICAgICAgICAgJHMzLCA0KCVbZHN0X2FdKSAgICAgICAgICAgICAgICAgIFxu
IgotICAgICAgInN3bCAgICAgICAgICAgICAkczMsIDcoJVtkc3RfYV0pICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgICAic3dyICAgICAgICAgICAgICRzNCwgNCglW2RzdF9iXSkgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAgICJzd2wgICAgICAgICAgICAgJHM0LCA3KCVbZHN0X2JdKSAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICAgImFkZHUgICAgICAgICAgICAlW2RzdF9hXSwgJVtkc3Rf
YV0sICR0MCAgICAgICAgICAgXG4iCi0gICAgICAiYm5leiAgICAgICAgICAgICR0MSwgMTFiICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIgYWRkdSAgICAgICAgICAgJVtkc3Rf
Yl0sICVbZHN0X2JdLCAkdDggICAgICAgICAgIFxuIgotCi0gICAgICAiMjogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIuc2V0IHBvcCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgOiBbc3Jj
XSAiK3IiIChzcmMpLAotICAgICAgICBbZHN0X2FdICIrciIgKGRzdF9hKSwKLSAgICAgICAgW2Rz
dF9iXSAiK3IiIChkc3RfYiksCi0gICAgICAgIFt3aWR0aF0gIityIiAod2lkdGgpLAotICAgICAg
ICBbc3JjX3N0cmlkZV0gIityIiAoc3JjX3N0cmlkZSkKLSAgICAgIDogW2RzdF9zdHJpZGVfYV0g
InIiIChkc3Rfc3RyaWRlX2EpLAotICAgICAgICBbZHN0X3N0cmlkZV9iXSAiciIgKGRzdF9zdHJp
ZGVfYikKLSAgICAgIDogInQwIiwgInQxIiwgICJ0MiIsICJ0MyIsICAidDQiLCAidDUiLAotICAg
ICAgICAidDYiLCAidDciLCAidDgiLCAidDkiLAotICAgICAgICAiczAiLCAiczEiLCAiczIiLCAi
czMiLAotICAgICAgICAiczQiLCAiczUiLCAiczYiCi0gICk7Ci19Ci0KLSNlbmRpZiAgLy8gZGVm
aW5lZChfX21pcHNfZHNwKSAmJiAoX19taXBzX2RzcF9yZXYgPj0gMikKLQotI2lmZGVmIF9fY3Bs
dXNwbHVzCi19ICAvLyBleHRlcm4gIkMiCi19ICAvLyBuYW1lc3BhY2UgbGlieXV2Ci0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3NvdXJjZS9yb3RhdGVfbXNhLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZV9tc2EuY2MKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODkwNzc2NWFiYTcwY2FkMmE5OTg1ODc2NWI1N2NjM2M4YWIzZmU0NAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L3NvdXJjZS9yb3RhdGVfbXNhLmNjCkBAIC0wLDAgKzEsMjUwIEBACisvKgorICogIENv
cHlyaWdodCAyMDE2IFRoZSBMaWJZdXYgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqICBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJT
RC1zdHlsZSBsaWNlbnNlCisgKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCisgKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRl
bGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAorICogIGluIHRoZSBm
aWxlIFBBVEVOVFMuIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQorICogIGJl
IGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVl
LgorICovCisKKyNpbmNsdWRlICJsaWJ5dXYvcm90YXRlX3Jvdy5oIgorCisvLyBUaGlzIG1vZHVs
ZSBpcyBmb3IgR0NDIE1TQQorI2lmICFkZWZpbmVkKExJQllVVl9ESVNBQkxFX01TQSkgJiYgZGVm
aW5lZChfX21pcHNfbXNhKQorI2luY2x1ZGUgImxpYnl1di9tYWNyb3NfbXNhLmgiCisKKyNpZmRl
ZiBfX2NwbHVzcGx1cworbmFtZXNwYWNlIGxpYnl1diB7CitleHRlcm4gIkMiIHsKKyNlbmRpZgor
CisjZGVmaW5lIElMVlJMX0IoaW4wLCBpbjEsIGluMiwgaW4zLCBvdXQwLCBvdXQxLCBvdXQyLCBv
dXQzKSBcCisgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgb3V0MCA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYxNmk4KWluMSwg
KHYxNmk4KWluMCk7ICAgICBcCisgICAgb3V0MSA9ICh2MTZ1OClfX21zYV9pbHZsX2IoKHYxNmk4
KWluMSwgKHYxNmk4KWluMCk7ICAgICBcCisgICAgb3V0MiA9ICh2MTZ1OClfX21zYV9pbHZyX2Io
KHYxNmk4KWluMywgKHYxNmk4KWluMik7ICAgICBcCisgICAgb3V0MyA9ICh2MTZ1OClfX21zYV9p
bHZsX2IoKHYxNmk4KWluMywgKHYxNmk4KWluMik7ICAgICBcCisgIH0KKworI2RlZmluZSBJTFZS
TF9IKGluMCwgaW4xLCBpbjIsIGluMywgb3V0MCwgb3V0MSwgb3V0Miwgb3V0MykgXAorICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIG91dDAgPSAodjE2dTgpX19tc2FfaWx2cl9oKCh2OGkxNilpbjEsICh2OGkxNilpbjApOyAg
ICAgXAorICAgIG91dDEgPSAodjE2dTgpX19tc2FfaWx2bF9oKCh2OGkxNilpbjEsICh2OGkxNilp
bjApOyAgICAgXAorICAgIG91dDIgPSAodjE2dTgpX19tc2FfaWx2cl9oKCh2OGkxNilpbjMsICh2
OGkxNilpbjIpOyAgICAgXAorICAgIG91dDMgPSAodjE2dTgpX19tc2FfaWx2bF9oKCh2OGkxNilp
bjMsICh2OGkxNilpbjIpOyAgICAgXAorICB9CisKKyNkZWZpbmUgSUxWUkxfVyhpbjAsIGluMSwg
aW4yLCBpbjMsIG91dDAsIG91dDEsIG91dDIsIG91dDMpIFwKKyAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBvdXQwID0gKHYx
NnU4KV9fbXNhX2lsdnJfdygodjRpMzIpaW4xLCAodjRpMzIpaW4wKTsgICAgIFwKKyAgICBvdXQx
ID0gKHYxNnU4KV9fbXNhX2lsdmxfdygodjRpMzIpaW4xLCAodjRpMzIpaW4wKTsgICAgIFwKKyAg
ICBvdXQyID0gKHYxNnU4KV9fbXNhX2lsdnJfdygodjRpMzIpaW4zLCAodjRpMzIpaW4yKTsgICAg
IFwKKyAgICBvdXQzID0gKHYxNnU4KV9fbXNhX2lsdmxfdygodjRpMzIpaW4zLCAodjRpMzIpaW4y
KTsgICAgIFwKKyAgfQorCisjZGVmaW5lIElMVlJMX0QoaW4wLCBpbjEsIGluMiwgaW4zLCBvdXQw
LCBvdXQxLCBvdXQyLCBvdXQzKSBcCisgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgb3V0MCA9ICh2MTZ1OClfX21zYV9pbHZy
X2QoKHYyaTY0KWluMSwgKHYyaTY0KWluMCk7ICAgICBcCisgICAgb3V0MSA9ICh2MTZ1OClfX21z
YV9pbHZsX2QoKHYyaTY0KWluMSwgKHYyaTY0KWluMCk7ICAgICBcCisgICAgb3V0MiA9ICh2MTZ1
OClfX21zYV9pbHZyX2QoKHYyaTY0KWluMywgKHYyaTY0KWluMik7ICAgICBcCisgICAgb3V0MyA9
ICh2MTZ1OClfX21zYV9pbHZsX2QoKHYyaTY0KWluMywgKHYyaTY0KWluMik7ICAgICBcCisgIH0K
Kwordm9pZCBUcmFuc3Bvc2VXeDE2X0MoY29uc3QgdWludDgqIHNyYywKKyAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwK
KyAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CisgIFRyYW5zcG9zZVd4OF9DKHNyYywgc3JjX3N0cmlkZSwgZHN0LCBk
c3Rfc3RyaWRlLCB3aWR0aCk7CisgIFRyYW5zcG9zZVd4OF9DKChzcmMgKyA4ICogc3JjX3N0cmlk
ZSksIHNyY19zdHJpZGUsIChkc3QgKyA4KSwgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
d2lkdGgpOworfQorCit2b2lkIFRyYW5zcG9zZVVWV3gxNl9DKGNvbnN0IHVpbnQ4KiBzcmMsCisg
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2EsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRl
X2EsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGVfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSB7CisgIFRyYW5zcG9zZVVWV3g4X0Moc3JjLCBzcmNfc3RyaWRlLCBkc3RfYSwgZHN0X3N0
cmlkZV9hLCBkc3RfYiwgZHN0X3N0cmlkZV9iLAorICAgICAgICAgICAgICAgICAgIHdpZHRoKTsK
KyAgVHJhbnNwb3NlVVZXeDhfQygoc3JjICsgOCAqIHNyY19zdHJpZGUpLCBzcmNfc3RyaWRlLCAo
ZHN0X2EgKyA4KSwKKyAgICAgICAgICAgICAgICAgICBkc3Rfc3RyaWRlX2EsIChkc3RfYiArIDgp
LCBkc3Rfc3RyaWRlX2IsIHdpZHRoKTsKK30KKwordm9pZCBUcmFuc3Bvc2VXeDE2X01TQShjb25z
dCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBp
bnQgeDsKKyAgY29uc3QgdWludDgqIHM7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMs
IGRzdDAsIGRzdDEsIGRzdDIsIGRzdDMsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzM7CisgIHYxNnU4
IHJlZzAsIHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQsIHJlZzUsIHJlZzYsIHJlZzc7CisgIHYxNnU4
IHJlczAsIHJlczEsIHJlczIsIHJlczMsIHJlczQsIHJlczUsIHJlczYsIHJlczcsIHJlczgsIHJl
czk7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDE2KSB7CisgICAgcyA9IHNyYzsK
KyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzICs9IHNy
Y19zdHJpZGU7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMCk7Cisg
ICAgcyArPSBzcmNfc3RyaWRlOworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgq
KXMsIDApOworICAgIHMgKz0gc3JjX3N0cmlkZTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNhX2xk
X2IoKHYxNmk4KilzLCAwKTsKKyAgICBzICs9IHNyY19zdHJpZGU7CisgICAgSUxWUkxfQihzcmMw
LCBzcmMxLCBzcmMyLCBzcmMzLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKKyAgICBJTFZSTF9I
KHZlYzAsIHZlYzIsIHZlYzEsIHZlYzMsIHJlZzAsIHJlZzEsIHJlZzIsIHJlZzMpOworICAgIHNy
YzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDApOworICAgIHMgKz0gc3JjX3N0cmlk
ZTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzICs9
IHNyY19zdHJpZGU7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMCk7
CisgICAgcyArPSBzcmNfc3RyaWRlOworICAgIHNyYzMgPSAodjE2dTgpX19tc2FfbGRfYigodjE2
aTgqKXMsIDApOworICAgIHMgKz0gc3JjX3N0cmlkZTsKKyAgICBJTFZSTF9CKHNyYzAsIHNyYzEs
IHNyYzIsIHNyYzMsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMpOworICAgIElMVlJMX0godmVjMCwg
dmVjMiwgdmVjMSwgdmVjMywgcmVnNCwgcmVnNSwgcmVnNiwgcmVnNyk7CisgICAgSUxWUkxfVyhy
ZWcwLCByZWc0LCByZWcxLCByZWc1LCByZXMwLCByZXMxLCByZXMyLCByZXMzKTsKKyAgICBJTFZS
TF9XKHJlZzIsIHJlZzYsIHJlZzMsIHJlZzcsIHJlczQsIHJlczUsIHJlczYsIHJlczcpOworICAg
IHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDApOworICAgIHMgKz0gc3JjX3N0
cmlkZTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBz
ICs9IHNyY19zdHJpZGU7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywg
MCk7CisgICAgcyArPSBzcmNfc3RyaWRlOworICAgIHNyYzMgPSAodjE2dTgpX19tc2FfbGRfYigo
djE2aTgqKXMsIDApOworICAgIHMgKz0gc3JjX3N0cmlkZTsKKyAgICBJTFZSTF9CKHNyYzAsIHNy
YzEsIHNyYzIsIHNyYzMsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMpOworICAgIElMVlJMX0godmVj
MCwgdmVjMiwgdmVjMSwgdmVjMywgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMyk7CisgICAgc3JjMCA9
ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMCk7CisgICAgcyArPSBzcmNfc3RyaWRlOwor
ICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDApOworICAgIHMgKz0gc3Jj
X3N0cmlkZTsKKyAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAg
ICBzICs9IHNyY19zdHJpZGU7CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCop
cywgMCk7CisgICAgcyArPSBzcmNfc3RyaWRlOworICAgIElMVlJMX0Ioc3JjMCwgc3JjMSwgc3Jj
Miwgc3JjMywgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMyk7CisgICAgSUxWUkxfSCh2ZWMwLCB2ZWMy
LCB2ZWMxLCB2ZWMzLCByZWc0LCByZWc1LCByZWc2LCByZWc3KTsKKyAgICByZXM4ID0gKHYxNnU4
KV9fbXNhX2lsdnJfdygodjRpMzIpcmVnNCwgKHY0aTMyKXJlZzApOworICAgIHJlczkgPSAodjE2
dTgpX19tc2FfaWx2bF93KCh2NGkzMilyZWc0LCAodjRpMzIpcmVnMCk7CisgICAgSUxWUkxfRChy
ZXMwLCByZXM4LCByZXMxLCByZXM5LCBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzKTsKKyAgICBTVF9V
QjQoZHN0MCwgZHN0MSwgZHN0MiwgZHN0MywgZHN0LCBkc3Rfc3RyaWRlKTsKKyAgICBkc3QgKz0g
ZHN0X3N0cmlkZSAqIDQ7CisgICAgcmVzOCA9ICh2MTZ1OClfX21zYV9pbHZyX3coKHY0aTMyKXJl
ZzUsICh2NGkzMilyZWcxKTsKKyAgICByZXM5ID0gKHYxNnU4KV9fbXNhX2lsdmxfdygodjRpMzIp
cmVnNSwgKHY0aTMyKXJlZzEpOworICAgIElMVlJMX0QocmVzMiwgcmVzOCwgcmVzMywgcmVzOSwg
ZHN0MCwgZHN0MSwgZHN0MiwgZHN0Myk7CisgICAgU1RfVUI0KGRzdDAsIGRzdDEsIGRzdDIsIGRz
dDMsIGRzdCwgZHN0X3N0cmlkZSk7CisgICAgZHN0ICs9IGRzdF9zdHJpZGUgKiA0OworICAgIHJl
czggPSAodjE2dTgpX19tc2FfaWx2cl93KCh2NGkzMilyZWc2LCAodjRpMzIpcmVnMik7CisgICAg
cmVzOSA9ICh2MTZ1OClfX21zYV9pbHZsX3coKHY0aTMyKXJlZzYsICh2NGkzMilyZWcyKTsKKyAg
ICBJTFZSTF9EKHJlczQsIHJlczgsIHJlczUsIHJlczksIGRzdDAsIGRzdDEsIGRzdDIsIGRzdDMp
OworICAgIFNUX1VCNChkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCBkc3QsIGRzdF9zdHJpZGUpOwor
ICAgIGRzdCArPSBkc3Rfc3RyaWRlICogNDsKKyAgICByZXM4ID0gKHYxNnU4KV9fbXNhX2lsdnJf
dygodjRpMzIpcmVnNywgKHY0aTMyKXJlZzMpOworICAgIHJlczkgPSAodjE2dTgpX19tc2FfaWx2
bF93KCh2NGkzMilyZWc3LCAodjRpMzIpcmVnMyk7CisgICAgSUxWUkxfRChyZXM2LCByZXM4LCBy
ZXM3LCByZXM5LCBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzKTsKKyAgICBTVF9VQjQoZHN0MCwgZHN0
MSwgZHN0MiwgZHN0MywgZHN0LCBkc3Rfc3RyaWRlKTsKKyAgICBzcmMgKz0gMTY7CisgICAgZHN0
ICs9IGRzdF9zdHJpZGUgKiA0OworICB9Cit9CisKK3ZvaWQgVHJhbnNwb3NlVVZXeDE2X01TQShj
b25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9hLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9iLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgY29uc3Qg
dWludDgqIHM7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIGRzdDAsIGRzdDEsIGRz
dDIsIGRzdDMsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzM7CisgIHYxNnU4IHJlZzAsIHJlZzEsIHJl
ZzIsIHJlZzMsIHJlZzQsIHJlZzUsIHJlZzYsIHJlZzc7CisgIHYxNnU4IHJlczAsIHJlczEsIHJl
czIsIHJlczMsIHJlczQsIHJlczUsIHJlczYsIHJlczcsIHJlczgsIHJlczk7CisKKyAgZm9yICh4
ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDgpIHsKKyAgICBzID0gc3JjOworICAgIHNyYzAgPSAodjE2
dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDApOworICAgIHMgKz0gc3JjX3N0cmlkZTsKKyAgICBz
cmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzICs9IHNyY19zdHJp
ZGU7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMCk7CisgICAgcyAr
PSBzcmNfc3RyaWRlOworICAgIHNyYzMgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDAp
OworICAgIHMgKz0gc3JjX3N0cmlkZTsKKyAgICBJTFZSTF9CKHNyYzAsIHNyYzEsIHNyYzIsIHNy
YzMsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMpOworICAgIElMVlJMX0godmVjMCwgdmVjMiwgdmVj
MSwgdmVjMywgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMyk7CisgICAgc3JjMCA9ICh2MTZ1OClfX21z
YV9sZF9iKCh2MTZpOCopcywgMCk7CisgICAgcyArPSBzcmNfc3RyaWRlOworICAgIHNyYzEgPSAo
djE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDApOworICAgIHMgKz0gc3JjX3N0cmlkZTsKKyAg
ICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzICs9IHNyY19z
dHJpZGU7CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMCk7CisgICAg
cyArPSBzcmNfc3RyaWRlOworICAgIElMVlJMX0Ioc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgdmVj
MCwgdmVjMSwgdmVjMiwgdmVjMyk7CisgICAgSUxWUkxfSCh2ZWMwLCB2ZWMyLCB2ZWMxLCB2ZWMz
LCByZWc0LCByZWc1LCByZWc2LCByZWc3KTsKKyAgICBJTFZSTF9XKHJlZzAsIHJlZzQsIHJlZzEs
IHJlZzUsIHJlczAsIHJlczEsIHJlczIsIHJlczMpOworICAgIElMVlJMX1cocmVnMiwgcmVnNiwg
cmVnMywgcmVnNywgcmVzNCwgcmVzNSwgcmVzNiwgcmVzNyk7CisgICAgc3JjMCA9ICh2MTZ1OClf
X21zYV9sZF9iKCh2MTZpOCopcywgMCk7CisgICAgcyArPSBzcmNfc3RyaWRlOworICAgIHNyYzEg
PSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDApOworICAgIHMgKz0gc3JjX3N0cmlkZTsK
KyAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzICs9IHNy
Y19zdHJpZGU7CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMCk7Cisg
ICAgcyArPSBzcmNfc3RyaWRlOworICAgIElMVlJMX0Ioc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywg
dmVjMCwgdmVjMSwgdmVjMiwgdmVjMyk7CisgICAgSUxWUkxfSCh2ZWMwLCB2ZWMyLCB2ZWMxLCB2
ZWMzLCByZWcwLCByZWcxLCByZWcyLCByZWczKTsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xk
X2IoKHYxNmk4KilzLCAwKTsKKyAgICBzICs9IHNyY19zdHJpZGU7CisgICAgc3JjMSA9ICh2MTZ1
OClfX21zYV9sZF9iKCh2MTZpOCopcywgMCk7CisgICAgcyArPSBzcmNfc3RyaWRlOworICAgIHNy
YzIgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDApOworICAgIHMgKz0gc3JjX3N0cmlk
ZTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzICs9
IHNyY19zdHJpZGU7CisgICAgSUxWUkxfQihzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCB2ZWMwLCB2
ZWMxLCB2ZWMyLCB2ZWMzKTsKKyAgICBJTFZSTF9IKHZlYzAsIHZlYzIsIHZlYzEsIHZlYzMsIHJl
ZzQsIHJlZzUsIHJlZzYsIHJlZzcpOworICAgIHJlczggPSAodjE2dTgpX19tc2FfaWx2cl93KCh2
NGkzMilyZWc0LCAodjRpMzIpcmVnMCk7CisgICAgcmVzOSA9ICh2MTZ1OClfX21zYV9pbHZsX3co
KHY0aTMyKXJlZzQsICh2NGkzMilyZWcwKTsKKyAgICBJTFZSTF9EKHJlczAsIHJlczgsIHJlczEs
IHJlczksIGRzdDAsIGRzdDEsIGRzdDIsIGRzdDMpOworICAgIFNUX1VCMihkc3QwLCBkc3QyLCBk
c3RfYSwgZHN0X3N0cmlkZV9hKTsKKyAgICBTVF9VQjIoZHN0MSwgZHN0MywgZHN0X2IsIGRzdF9z
dHJpZGVfYik7CisgICAgZHN0X2EgKz0gZHN0X3N0cmlkZV9hICogMjsKKyAgICBkc3RfYiArPSBk
c3Rfc3RyaWRlX2IgKiAyOworICAgIHJlczggPSAodjE2dTgpX19tc2FfaWx2cl93KCh2NGkzMily
ZWc1LCAodjRpMzIpcmVnMSk7CisgICAgcmVzOSA9ICh2MTZ1OClfX21zYV9pbHZsX3coKHY0aTMy
KXJlZzUsICh2NGkzMilyZWcxKTsKKyAgICBJTFZSTF9EKHJlczIsIHJlczgsIHJlczMsIHJlczks
IGRzdDAsIGRzdDEsIGRzdDIsIGRzdDMpOworICAgIFNUX1VCMihkc3QwLCBkc3QyLCBkc3RfYSwg
ZHN0X3N0cmlkZV9hKTsKKyAgICBTVF9VQjIoZHN0MSwgZHN0MywgZHN0X2IsIGRzdF9zdHJpZGVf
Yik7CisgICAgZHN0X2EgKz0gZHN0X3N0cmlkZV9hICogMjsKKyAgICBkc3RfYiArPSBkc3Rfc3Ry
aWRlX2IgKiAyOworICAgIHJlczggPSAodjE2dTgpX19tc2FfaWx2cl93KCh2NGkzMilyZWc2LCAo
djRpMzIpcmVnMik7CisgICAgcmVzOSA9ICh2MTZ1OClfX21zYV9pbHZsX3coKHY0aTMyKXJlZzYs
ICh2NGkzMilyZWcyKTsKKyAgICBJTFZSTF9EKHJlczQsIHJlczgsIHJlczUsIHJlczksIGRzdDAs
IGRzdDEsIGRzdDIsIGRzdDMpOworICAgIFNUX1VCMihkc3QwLCBkc3QyLCBkc3RfYSwgZHN0X3N0
cmlkZV9hKTsKKyAgICBTVF9VQjIoZHN0MSwgZHN0MywgZHN0X2IsIGRzdF9zdHJpZGVfYik7Cisg
ICAgZHN0X2EgKz0gZHN0X3N0cmlkZV9hICogMjsKKyAgICBkc3RfYiArPSBkc3Rfc3RyaWRlX2Ig
KiAyOworICAgIHJlczggPSAodjE2dTgpX19tc2FfaWx2cl93KCh2NGkzMilyZWc3LCAodjRpMzIp
cmVnMyk7CisgICAgcmVzOSA9ICh2MTZ1OClfX21zYV9pbHZsX3coKHY0aTMyKXJlZzcsICh2NGkz
MilyZWczKTsKKyAgICBJTFZSTF9EKHJlczYsIHJlczgsIHJlczcsIHJlczksIGRzdDAsIGRzdDEs
IGRzdDIsIGRzdDMpOworICAgIFNUX1VCMihkc3QwLCBkc3QyLCBkc3RfYSwgZHN0X3N0cmlkZV9h
KTsKKyAgICBTVF9VQjIoZHN0MSwgZHN0MywgZHN0X2IsIGRzdF9zdHJpZGVfYik7CisgICAgc3Jj
ICs9IDE2OworICAgIGRzdF9hICs9IGRzdF9zdHJpZGVfYSAqIDI7CisgICAgZHN0X2IgKz0gZHN0
X3N0cmlkZV9iICogMjsKKyAgfQorfQorCisjaWZkZWYgX19jcGx1c3BsdXMKK30gIC8vIGV4dGVy
biAiQyIKK30gIC8vIG5hbWVzcGFjZSBsaWJ5dXYKKyNlbmRpZgorCisjZW5kaWYgIC8vICFkZWZp
bmVkKExJQllVVl9ESVNBQkxFX01TQSkgJiYgZGVmaW5lZChfX21pcHNfbXNhKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
c291cmNlL3JvdGF0ZV9uZW9uLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZV9uZW9uLmNjCmluZGV4IDFjMjJiNDcy
YmMxMTIzYTQzMmNlNTk3ZTQ1M2I0NzQwYjRkMmRlMTIuLmVmNWMyMzU2MjVlMmI2MjYxMTNiZWYy
MzI2Y2I2MDE5NDFiNmQ3YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3RhdGVfbmVvbi5jYworKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3Vy
Y2Uvcm90YXRlX25lb24uY2MKQEAgLTgsOCArOCw4IEBACiAgKiAgYmUgZm91bmQgaW4gdGhlIEFV
VEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCiAgKi8KIAotI2luY2x1
ZGUgImxpYnl1di9yb3cuaCIKICNpbmNsdWRlICJsaWJ5dXYvcm90YXRlX3Jvdy5oIgorI2luY2x1
ZGUgImxpYnl1di9yb3cuaCIKIAogI2luY2x1ZGUgImxpYnl1di9iYXNpY190eXBlcy5oIgogCkBA
IC0yMSwxMSArMjEsMTMgQEAgZXh0ZXJuICJDIiB7CiAjaWYgIWRlZmluZWQoTElCWVVWX0RJU0FC
TEVfTkVPTikgJiYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmIFwKICAgICAhZGVmaW5lZChfX2Fh
cmNoNjRfXykKIAotc3RhdGljIHV2ZWM4IGtWVGJsNHg0VHJhbnNwb3NlID0KLSAgeyAwLCAgNCwg
IDgsIDEyLCAgMSwgIDUsICA5LCAxMywgIDIsICA2LCAxMCwgMTQsICAzLCAgNywgMTEsIDE1IH07
CitzdGF0aWMgdXZlYzgga1ZUYmw0eDRUcmFuc3Bvc2UgPSB7MCwgNCwgOCwgIDEyLCAxLCA1LCA5
LCAgMTMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiwgNiwgMTAsIDE0LCAz
LCA3LCAxMSwgMTV9OwogCi12b2lkIFRyYW5zcG9zZVd4OF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmMs
IGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQg
ZHN0X3N0cmlkZSwKK3ZvaWQgVHJhbnNwb3NlV3g4X05FT04oY29uc3QgdWludDgqIHNyYywKKyAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgY29uc3QgdWludDgqIHNyY190
ZW1wOwogICBhc20gdm9sYXRpbGUgKApAQCAtMjQwLDEyICsyNDIsMTUgQEAgdm9pZCBUcmFuc3Bv
c2VXeDhfTkVPTihjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKICAgKTsKIH0KIAot
c3RhdGljIHV2ZWM4IGtWVGJsNHg0VHJhbnNwb3NlRGkgPQotICB7IDAsICA4LCAgMSwgIDksICAy
LCAxMCwgIDMsIDExLCAgNCwgMTIsICA1LCAxMywgIDYsIDE0LCAgNywgMTUgfTsKK3N0YXRpYyB1
dmVjOCBrVlRibDR4NFRyYW5zcG9zZURpID0gezAsIDgsICAxLCA5LCAgMiwgMTAsIDMsIDExLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwgMTIsIDUsIDEzLCA2LCAxNCwg
NywgMTV9OwogCi12b2lkIFRyYW5zcG9zZVVWV3g4X05FT04oY29uc3QgdWludDgqIHNyYywgaW50
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hLCBpbnQg
ZHN0X3N0cmlkZV9hLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwgaW50
IGRzdF9zdHJpZGVfYiwKK3ZvaWQgVHJhbnNwb3NlVVZXeDhfTkVPTihjb25zdCB1aW50OCogc3Jj
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZV9hLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9iLAogICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgewogICBjb25zdCB1aW50OCogc3JjX3RlbXA7CiAgIGFzbSB2
b2xhdGlsZSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm90YXRlX25lb242NC5jYyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3RhdGVf
bmVvbjY0LmNjCmluZGV4IDFhYjQ0OGYzYWI0YzcwZWY3NTM0M2Q0ZGEzZWU1YzhmMjQxZDlkOGUu
LmY1MmIwZWQwMTU0M2ZhNWIxZmQyODUyMWVmMWVjOThhNjA4YzRlOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJj
ZS9yb3RhdGVfbmVvbjY0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3RhdGVfbmVvbjY0LmNjCkBAIC04LDggKzgs
OCBAQAogICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhl
IHNvdXJjZSB0cmVlLgogICovCiAKLSNpbmNsdWRlICJsaWJ5dXYvcm93LmgiCiAjaW5jbHVkZSAi
bGlieXV2L3JvdGF0ZV9yb3cuaCIKKyNpbmNsdWRlICJsaWJ5dXYvcm93LmgiCiAKICNpbmNsdWRl
ICJsaWJ5dXYvYmFzaWNfdHlwZXMuaCIKIApAQCAtMjEsMTMgKzIxLDE2IEBAIGV4dGVybiAiQyIg
ewogLy8gVGhpcyBtb2R1bGUgaXMgZm9yIEdDQyBOZW9uIGFybXY4IDY0IGJpdC4KICNpZiAhZGVm
aW5lZChMSUJZVVZfRElTQUJMRV9ORU9OKSAmJiBkZWZpbmVkKF9fYWFyY2g2NF9fKQogCi1zdGF0
aWMgdXZlYzgga1ZUYmw0eDRUcmFuc3Bvc2UgPQotICB7IDAsIDQsIDgsIDEyLCAxLCA1LCA5LCAx
MywgMiwgNiwgMTAsIDE0LCAzLCA3LCAxMSwgMTUgfTsKK3N0YXRpYyB1dmVjOCBrVlRibDR4NFRy
YW5zcG9zZSA9IHswLCA0LCA4LCAgMTIsIDEsIDUsIDksICAxMywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAyLCA2LCAxMCwgMTQsIDMsIDcsIDExLCAxNX07CiAKLXZvaWQgVHJh
bnNwb3NlV3g4X05FT04oY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLCBpbnQgd2lkdGgpIHsK
K3ZvaWQgVHJhbnNwb3NlV3g4X05FT04oY29uc3QgdWludDgqIHNyYywKKyAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3QsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgY29uc3QgdWludDgqIHNyY190ZW1wOwotICBpbnQ2
NCB3aWR0aDY0ID0gKGludDY0KSB3aWR0aDsgIC8vIFdvcmsgYXJvdW5kIGNsYW5nIDMuNCB3YXJu
aW5nLgorICBpbnQ2NCB3aWR0aDY0ID0gKGludDY0KXdpZHRoOyAgLy8gV29yayBhcm91bmQgY2xh
bmcgMy40IHdhcm5pbmcuCiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgLy8gbG9vcHMgYXJlIG9uIGJs
b2NrcyBvZiA4LiBsb29wIHdpbGwgc3RvcCB3aGVuCiAgICAgLy8gY291bnRlciBnZXRzIHRvIG9y
IGJlbG93IDAuIHN0YXJ0aW5nIHRoZSBjb3VudGVyCkBAIC0yNDcsMTYgKzI1MCwxOSBAQCB2b2lk
IFRyYW5zcG9zZVd4OF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAogICAp
OwogfQogCi1zdGF0aWMgdWludDgga1ZUYmw0eDRUcmFuc3Bvc2VEaVszMl0gPQotICB7IDAsICAx
NiwgMzIsIDQ4LCAgMiwgMTgsIDM0LCA1MCwgIDQsIDIwLCAzNiwgNTIsICA2LCAyMiwgMzgsIDU0
LAotICAgIDEsICAxNywgMzMsIDQ5LCAgMywgMTksIDM1LCA1MSwgIDUsIDIxLCAzNywgNTMsICA3
LCAyMywgMzksIDU1fTsKK3N0YXRpYyB1aW50OCBrVlRibDR4NFRyYW5zcG9zZURpWzMyXSA9IHsK
KyAgICAwLCAxNiwgMzIsIDQ4LCAyLCAxOCwgMzQsIDUwLCA0LCAyMCwgMzYsIDUyLCA2LCAyMiwg
MzgsIDU0LAorICAgIDEsIDE3LCAzMywgNDksIDMsIDE5LCAzNSwgNTEsIDUsIDIxLCAzNywgNTMs
IDcsIDIzLCAzOSwgNTV9OwogCi12b2lkIFRyYW5zcG9zZVVWV3g4X05FT04oY29uc3QgdWludDgq
IHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hLCBpbnQgZHN0X3N0cmlkZV9hLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYiwgaW50IGRzdF9zdHJpZGVfYiwKK3ZvaWQgVHJhbnNwb3NlVVZXeDhfTkVPTihjb25zdCB1
aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3N0cmlkZV9hLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV9iLAogICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBjb25zdCB1aW50OCogc3JjX3RlbXA7
Ci0gIGludDY0IHdpZHRoNjQgPSAoaW50NjQpIHdpZHRoOyAgLy8gV29yayBhcm91bmQgY2xhbmcg
My40IHdhcm5pbmcuCisgIGludDY0IHdpZHRoNjQgPSAoaW50NjQpd2lkdGg7ICAvLyBXb3JrIGFy
b3VuZCBjbGFuZyAzLjQgd2FybmluZy4KICAgYXNtIHZvbGF0aWxlICgKICAgICAvLyBsb29wcyBh
cmUgb24gYmxvY2tzIG9mIDguIGxvb3Agd2lsbCBzdG9wIHdoZW4KICAgICAvLyBjb3VudGVyIGdl
dHMgdG8gb3IgYmVsb3cgMC4gc3RhcnRpbmcgdGhlIGNvdW50ZXIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9y
b3RhdGVfd2luLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZV93aW4uY2MKaW5kZXggMTMwMGZjMGZlYjg0MjMzZjg3
NmI2ZGFkYzcxMjZjOThiZGE1ODEzMy4uOTNhNWMyOGE0Zjc3ZTU3NjM4OTVjY2YxMWZmZTQ5MzU5
Nzk5YTcyMCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZV93aW4uY2MKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3JvdGF0ZV93
aW4uY2MKQEAgLTgsOCArOCw4IEBACiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBp
biB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCiAgKi8KIAotI2luY2x1ZGUgImxpYnl1di9y
b3cuaCIKICNpbmNsdWRlICJsaWJ5dXYvcm90YXRlX3Jvdy5oIgorI2luY2x1ZGUgImxpYnl1di9y
b3cuaCIKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiBuYW1lc3BhY2UgbGlieXV2IHsKQEAgLTE5LDE1
ICsxOSwxNyBAQCBleHRlcm4gIkMiIHsKIC8vIFRoaXMgbW9kdWxlIGlzIGZvciAzMiBiaXQgVmlz
dWFsIEMgeDg2IGFuZCBjbGFuZ2NsCiAjaWYgIWRlZmluZWQoTElCWVVWX0RJU0FCTEVfWDg2KSAm
JiBkZWZpbmVkKF9NX0lYODYpCiAKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFRyYW5zcG9zZVd4
OF9TU1NFMyhjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLCBpbnQgd2lkdGgpIHsKK19fZGVj
bHNwZWMobmFrZWQpIHZvaWQgVHJhbnNwb3NlV3g4X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewog
ICBfX2FzbSB7CiAgICAgcHVzaCAgICAgIGVkaQogICAgIHB1c2ggICAgICBlc2kKICAgICBwdXNo
ICAgICAgZWJwCi0gICAgbW92ICAgICAgIGVheCwgW2VzcCArIDEyICsgNF0gICAvLyBzcmMKLSAg
ICBtb3YgICAgICAgZWRpLCBbZXNwICsgMTIgKyA4XSAgIC8vIHNyY19zdHJpZGUKKyAgICBtb3Yg
ICAgICAgZWF4LCBbZXNwICsgMTIgKyA0XSAgLy8gc3JjCisgICAgbW92ICAgICAgIGVkaSwgW2Vz
cCArIDEyICsgOF0gIC8vIHNyY19zdHJpZGUKICAgICBtb3YgICAgICAgZWR4LCBbZXNwICsgMTIg
KyAxMl0gIC8vIGRzdAogICAgIG1vdiAgICAgICBlc2ksIFtlc3AgKyAxMiArIDE2XSAgLy8gZHN0
X3N0cmlkZQogICAgIG1vdiAgICAgICBlY3gsIFtlc3AgKyAxMiArIDIwXSAgLy8gd2lkdGgKQEAg
LTExMCwxOCArMTEyLDIwIEBAIHZvaWQgVHJhbnNwb3NlV3g4X1NTU0UzKGNvbnN0IHVpbnQ4KiBz
cmMsIGludCBzcmNfc3RyaWRlLAogICB9CiB9CiAKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFRy
YW5zcG9zZVVWV3g4X1NTRTIoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hLCBpbnQgZHN0X3N0cmlkZV9hLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYiwgaW50IGRzdF9zdHJpZGVfYiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgdykgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBU
cmFuc3Bvc2VVVld4OF9TU0UyKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2EsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcpIHsKICAgX19hc20g
ewogICAgIHB1c2ggICAgICBlYngKICAgICBwdXNoICAgICAgZXNpCiAgICAgcHVzaCAgICAgIGVk
aQogICAgIHB1c2ggICAgICBlYnAKLSAgICBtb3YgICAgICAgZWF4LCBbZXNwICsgMTYgKyA0XSAg
IC8vIHNyYwotICAgIG1vdiAgICAgICBlZGksIFtlc3AgKyAxNiArIDhdICAgLy8gc3JjX3N0cmlk
ZQorICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyAxNiArIDRdICAvLyBzcmMKKyAgICBtb3YgICAg
ICAgZWRpLCBbZXNwICsgMTYgKyA4XSAgLy8gc3JjX3N0cmlkZQogICAgIG1vdiAgICAgICBlZHgs
IFtlc3AgKyAxNiArIDEyXSAgLy8gZHN0X2EKICAgICBtb3YgICAgICAgZXNpLCBbZXNwICsgMTYg
KyAxNl0gIC8vIGRzdF9zdHJpZGVfYQogICAgIG1vdiAgICAgICBlYngsIFtlc3AgKyAxNiArIDIw
XSAgLy8gZHN0X2IKQEAgLTEzMyw5ICsxMzcsOSBAQCB2b2lkIFRyYW5zcG9zZVVWV3g4X1NTRTIo
Y29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgICAgbW92ICAgICAgIGVjeCwgW2Vj
eCArIDE2ICsgMjhdICAvLyB3CiAKICAgICBhbGlnbiAgICAgIDQKLSBjb252ZXJ0bG9vcDoKICAg
ICAvLyBSZWFkIGluIHRoZSBkYXRhIGZyb20gdGhlIHNvdXJjZSBwb2ludGVyLgogICAgIC8vIEZp
cnN0IHJvdW5kIG9mIGJpdCBzd2FwLgorICBjb252ZXJ0bG9vcDoKICAgICBtb3ZkcXUgICAgeG1t
MCwgW2VheF0KICAgICBtb3ZkcXUgICAgeG1tMSwgW2VheCArIGVkaV0KICAgICBsZWEgICAgICAg
ZWF4LCBbZWF4ICsgMiAqIGVkaV0KQEAgLTE2Miw3ICsxNjYsNyBAQCB2b2lkIFRyYW5zcG9zZVVW
V3g4X1NTRTIoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgICAgbGVhICAgICAg
IGVheCwgW2VheCArIDIgKiBlZGldCiAgICAgbW92ZHF1ICAgIFtlc3BdLCB4bW01ICAvLyBiYWNr
dXAgeG1tNQogICAgIG5lZyAgICAgICBlZGkKLSAgICBtb3ZkcWEgICAgeG1tNSwgeG1tNiAgIC8v
IHVzZSB4bW01IGFzIHRlbXAgcmVnaXN0ZXIuCisgICAgbW92ZHFhICAgIHhtbTUsIHhtbTYgIC8v
IHVzZSB4bW01IGFzIHRlbXAgcmVnaXN0ZXIuCiAgICAgcHVucGNrbGJ3IHhtbTYsIHhtbTcKICAg
ICBwdW5wY2toYncgeG1tNSwgeG1tNwogICAgIG1vdmRxYSAgICB4bW03LCB4bW01CkBAIC0xODMs
MTAgKzE4NywxMSBAQCB2b2lkIFRyYW5zcG9zZVVWV3g4X1NTRTIoY29uc3QgdWludDgqIHNyYywg
aW50IHNyY19zdHJpZGUsCiAgICAgbW92ZHFhICAgIHhtbTYsIHhtbTUKICAgICBtb3ZkcXUgICAg
eG1tNSwgW2VzcF0gIC8vIHJlc3RvcmUgeG1tNQogICAgIG1vdmRxdSAgICBbZXNwXSwgeG1tNiAg
Ly8gYmFja3VwIHhtbTYKLSAgICBtb3ZkcWEgICAgeG1tNiwgeG1tNSAgICAvLyB1c2UgeG1tNiBh
cyB0ZW1wIHJlZ2lzdGVyLgorICAgIG1vdmRxYSAgICB4bW02LCB4bW01ICAvLyB1c2UgeG1tNiBh
cyB0ZW1wIHJlZ2lzdGVyLgogICAgIHB1bnBja2x3ZCB4bW01LCB4bW03CiAgICAgcHVucGNraHdk
IHhtbTYsIHhtbTcKICAgICBtb3ZkcWEgICAgeG1tNywgeG1tNgorCiAgICAgLy8gVGhpcmQgcm91
bmQgb2YgYml0IHN3YXAuCiAgICAgLy8gV3JpdGUgdG8gdGhlIGRlc3RpbmF0aW9uIHBvaW50ZXIu
CiAgICAgbW92ZHFhICAgIHhtbTYsIHhtbTAKQEAgLTIwMCw3ICsyMDUsNyBAQCB2b2lkIFRyYW5z
cG9zZVVWV3g4X1NTRTIoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgICAgbGVh
ICAgICAgIGVkeCwgW2VkeCArIDIgKiBlc2ldCiAgICAgbW92aHBkICAgIHF3b3JkIHB0ciBbZWJ4
ICsgZWJwXSwgeG1tNAogICAgIGxlYSAgICAgICBlYngsIFtlYnggKyAyICogZWJwXQotICAgIG1v
dmRxYSAgICB4bW0wLCB4bW0yICAgLy8gdXNlIHhtbTAgYXMgdGhlIHRlbXAgcmVnaXN0ZXIuCisg
ICAgbW92ZHFhICAgIHhtbTAsIHhtbTIgIC8vIHVzZSB4bW0wIGFzIHRoZSB0ZW1wIHJlZ2lzdGVy
LgogICAgIHB1bnBja2xkcSB4bW0yLCB4bW02CiAgICAgbW92bHBkICAgIHF3b3JkIHB0ciBbZWR4
XSwgeG1tMgogICAgIG1vdmhwZCAgICBxd29yZCBwdHIgW2VieF0sIHhtbTIKQEAgLTIwOSw3ICsy
MTQsNyBAQCB2b2lkIFRyYW5zcG9zZVVWV3g4X1NTRTIoY29uc3QgdWludDgqIHNyYywgaW50IHNy
Y19zdHJpZGUsCiAgICAgbGVhICAgICAgIGVkeCwgW2VkeCArIDIgKiBlc2ldCiAgICAgbW92aHBk
ICAgIHF3b3JkIHB0ciBbZWJ4ICsgZWJwXSwgeG1tMAogICAgIGxlYSAgICAgICBlYngsIFtlYngg
KyAyICogZWJwXQotICAgIG1vdmRxYSAgICB4bW0wLCB4bW0xICAgLy8gdXNlIHhtbTAgYXMgdGhl
IHRlbXAgcmVnaXN0ZXIuCisgICAgbW92ZHFhICAgIHhtbTAsIHhtbTEgIC8vIHVzZSB4bW0wIGFz
IHRoZSB0ZW1wIHJlZ2lzdGVyLgogICAgIHB1bnBja2xkcSB4bW0xLCB4bW01CiAgICAgbW92bHBk
ICAgIHF3b3JkIHB0ciBbZWR4XSwgeG1tMQogICAgIG1vdmhwZCAgICBxd29yZCBwdHIgW2VieF0s
IHhtbTEKQEAgLTIxOCw3ICsyMjMsNyBAQCB2b2lkIFRyYW5zcG9zZVVWV3g4X1NTRTIoY29uc3Qg
dWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgICAgbGVhICAgICAgIGVkeCwgW2VkeCArIDIg
KiBlc2ldCiAgICAgbW92aHBkICAgIHF3b3JkIHB0ciBbZWJ4ICsgZWJwXSwgeG1tMAogICAgIGxl
YSAgICAgICBlYngsIFtlYnggKyAyICogZWJwXQotICAgIG1vdmRxYSAgICB4bW0wLCB4bW0zICAg
Ly8gdXNlIHhtbTAgYXMgdGhlIHRlbXAgcmVnaXN0ZXIuCisgICAgbW92ZHFhICAgIHhtbTAsIHht
bTMgIC8vIHVzZSB4bW0wIGFzIHRoZSB0ZW1wIHJlZ2lzdGVyLgogICAgIHB1bnBja2xkcSB4bW0z
LCB4bW03CiAgICAgbW92bHBkICAgIHF3b3JkIHB0ciBbZWR4XSwgeG1tMwogICAgIG1vdmhwZCAg
ICBxd29yZCBwdHIgW2VieF0sIHhtbTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3dfYW55LmNjIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNl
L3Jvd19hbnkuY2MKaW5kZXggZWMwYWEyMWQ3OGNjNzNhNzkxMTUyNWU5OGI2NTExY2FjM2NhN2E3
My4uMTA5MmE5YzBjYmNiMjVmYzRhYTM5NmIwZDQwZjNmN2IzMDcwOTlkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291
cmNlL3Jvd19hbnkuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jvd19hbnkuY2MKQEAgLTE5LDMwICsxOSwzOCBAQCBu
YW1lc3BhY2UgbGlieXV2IHsKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKKy8vIG1lbXNldCBmb3Ig
dGVtcCBpcyBtZWFudCB0byBjbGVhciB0aGUgc291cmNlIGJ1ZmZlciAobm90IGRlc3QpIHNvIHRo
YXQKKy8vIFNJTUQgdGhhdCByZWFkcyBmdWxsIG11bHRpcGxlIG9mIDE2IGJ5dGVzIHdpbGwgbm90
IHRyaWdnZXIgbXNhbiBlcnJvcnMuCisvLyBtZW1zZXQgaXMgbm90IG5lZWRlZCBmb3IgcHJvZHVj
dGlvbiwgYXMgdGhlIGdhcmJhZ2UgdmFsdWVzIGFyZSBwcm9jZXNzZWQgYnV0CisvLyBub3QgdXNl
ZCwgYWx0aG91Z2ggdGhlcmUgbWF5IGJlIGVkZ2UgY2FzZXMgZm9yIHN1YnNhbXBsaW5nLgorLy8g
VGhlIHNpemUgb2YgdGhlIGJ1ZmZlciBpcyBiYXNlZCBvbiB0aGUgbGFyZ2VzdCByZWFkLCB3aGlj
aCBjYW4gYmUgaW5mZXJyZWQKKy8vIGJ5IHRoZSBzb3VyY2UgdHlwZSAoZS5nLiBBUkdCKSBhbmQg
dGhlIG1hc2sgKGxhc3QgcGFyYW1ldGVyKSwgb3IgYnkgZXhhbWluaW5nCisvLyB0aGUgc291cmNl
IGNvZGUgZm9yIGhvdyBtdWNoIHRoZSBzb3VyY2UgcG9pbnRlcnMgYXJlIGFkdmFuY2VkLgorCiAv
LyBTdWJzYW1wbGVkIHNvdXJjZSBuZWVkcyB0byBiZSBpbmNyZWFzZSBieSAxIG9mIG5vdCBldmVu
LgogI2RlZmluZSBTUyh3aWR0aCwgc2hpZnQpICgoKHdpZHRoKSArICgxIDw8IChzaGlmdCkpIC0g
MSkgPj4gKHNoaWZ0KSkKIAogLy8gQW55IDQgcGxhbmVzIHRvIDEgd2l0aCB5dXZjb25zdGFudHMK
LSNkZWZpbmUgQU5ZNDFDKE5BTUVBTlksIEFOWV9TSU1ELCBVVlNISUZULCBEVVZTSElGVCwgQlBQ
LCBNQVNLKSAgICAgICAgICAgICAgICBcCi0gICAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiB5
X2J1ZiwgY29uc3QgdWludDgqIHVfYnVmLCBjb25zdCB1aW50OCogdl9idWYsICAgXAotICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogYV9idWYsIHVpbnQ4KiBkc3RfcHRyLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0
YW50cyogeXV2Y29uc3RhbnRzLCAgaW50IHdpZHRoKSB7ICAgICAgICBcCi0gICAgICBTSU1EX0FM
SUdORUQodWludDggdGVtcFs2NCAqIDVdKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgbWVtc2V0KHRlbXAsIDAsIDY0ICogNCk7ICAvKiBmb3IgbXNhbiAq
LyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCByID0gd2lkdGgg
JiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICBpbnQgbiA9IHdpZHRoICYgfk1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKG4gPiAwKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgQU5ZX1NJTUQoeV9idWYsIHVfYnVmLCB2X2J1ZiwgYV9idWYsIGRzdF9wdHIsIHl1dmNv
bnN0YW50cywgbik7ICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVt
Y3B5KHRlbXAsIHlfYnVmICsgbiwgcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIG1lbWNweSh0ZW1wICsgNjQsIHVfYnVmICsgKG4gPj4gVVZT
SElGVCksIFNTKHIsIFVWU0hJRlQpKTsgICAgICAgICAgICAgICBcCi0gICAgICBtZW1jcHkodGVt
cCArIDEyOCwgdl9idWYgKyAobiA+PiBVVlNISUZUKSwgU1MociwgVVZTSElGVCkpOyAgICAgICAg
ICAgICAgXAotICAgICAgbWVtY3B5KHRlbXAgKyAxOTIsIGFfYnVmICsgbiwgcik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIEFOWV9TSU1EKHRlbXAsIHRl
bXAgKyA2NCwgdGVtcCArIDEyOCwgdGVtcCArIDE5MiwgdGVtcCArIDI1NiwgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICB5dXZjb25zdGFudHMsIE1BU0sgKyAxKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVtY3B5KGRzdF9wdHIgKyAobiA+PiBE
VVZTSElGVCkgKiBCUFAsIHRlbXAgKyAyNTYsICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICBTUyhyLCBEVVZTSElGVCkgKiBCUFApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgfQorI2RlZmluZSBBTlk0MUMoTkFNRUFOWSwgQU5ZX1NJ
TUQsIFVWU0hJRlQsIERVVlNISUZULCBCUFAsIE1BU0spICAgICAgICAgICAgXAorICB2b2lkIE5B
TUVBTlkoY29uc3QgdWludDgqIHlfYnVmLCBjb25zdCB1aW50OCogdV9idWYsIGNvbnN0IHVpbnQ4
KiB2X2J1ZiwgXAorICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFfYnVmLCB1aW50OCogZHN0
X3B0ciwgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLCBpbnQgd2lkdGgpIHsgICAgICAgXAorICAg
IFNJTURfQUxJR05FRCh1aW50OCB0ZW1wWzY0ICogNV0pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIG1lbXNldCh0ZW1wLCAwLCA2NCAqIDQpOyAvKiBmb3IgbXNh
biAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCByID0gd2lkdGgg
JiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIGludCBuID0gd2lkdGggJiB+TUFTSzsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChuID4gMCkgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgQU5ZX1NJ
TUQoeV9idWYsIHVfYnVmLCB2X2J1ZiwgYV9idWYsIGRzdF9wdHIsIHl1dmNvbnN0YW50cywgbik7
ICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNweSh0ZW1wLCB5X2J1ZiArIG4s
IHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1l
bWNweSh0ZW1wICsgNjQsIHVfYnVmICsgKG4gPj4gVVZTSElGVCksIFNTKHIsIFVWU0hJRlQpKTsg
ICAgICAgICAgICAgXAorICAgIG1lbWNweSh0ZW1wICsgMTI4LCB2X2J1ZiArIChuID4+IFVWU0hJ
RlQpLCBTUyhyLCBVVlNISUZUKSk7ICAgICAgICAgICAgXAorICAgIG1lbWNweSh0ZW1wICsgMTky
LCBhX2J1ZiArIG4sIHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIEFOWV9TSU1EKHRlbXAsIHRlbXAgKyA2NCwgdGVtcCArIDEyOCwgdGVtcCArIDE5MiwgdGVt
cCArIDI1NiwgICAgICAgICAgXAorICAgICAgICAgICAgIHl1dmNvbnN0YW50cywgTUFTSyArIDEp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNweShkc3Rf
cHRyICsgKG4gPj4gRFVWU0hJRlQpICogQlBQLCB0ZW1wICsgMjU2LCAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgICBTUyhyLCBEVVZTSElGVCkgKiBCUFApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9CiAKICNpZmRlZiBIQVNfSTQyMkFMUEhBVE9B
UkdCUk9XX1NTU0UzCiBBTlk0MUMoSTQyMkFscGhhVG9BUkdCUm93X0FueV9TU1NFMywgSTQyMkFs
cGhhVG9BUkdCUm93X1NTU0UzLCAxLCAwLCA0LCA3KQpAQCAtNTMsMjYgKzYxLDI5IEBAIEFOWTQx
QyhJNDIyQWxwaGFUb0FSR0JSb3dfQW55X0FWWDIsIEk0MjJBbHBoYVRvQVJHQlJvd19BVlgyLCAx
LCAwLCA0LCAxNSkKICNpZmRlZiBIQVNfSTQyMkFMUEhBVE9BUkdCUk9XX05FT04KIEFOWTQxQyhJ
NDIyQWxwaGFUb0FSR0JSb3dfQW55X05FT04sIEk0MjJBbHBoYVRvQVJHQlJvd19ORU9OLCAxLCAw
LCA0LCA3KQogI2VuZGlmCisjaWZkZWYgSEFTX0k0MjJBTFBIQVRPQVJHQlJPV19NU0EKK0FOWTQx
QyhJNDIyQWxwaGFUb0FSR0JSb3dfQW55X01TQSwgSTQyMkFscGhhVG9BUkdCUm93X01TQSwgMSwg
MCwgNCwgNykKKyNlbmRpZgogI3VuZGVmIEFOWTQxQwogCiAvLyBBbnkgMyBwbGFuZXMgdG8gMS4K
LSNkZWZpbmUgQU5ZMzEoTkFNRUFOWSwgQU5ZX1NJTUQsIFVWU0hJRlQsIERVVlNISUZULCBCUFAs
IE1BU0spICAgICAgICAgICAgICAgICBcCi0gICAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiB5
X2J1ZiwgY29uc3QgdWludDgqIHVfYnVmLCBjb25zdCB1aW50OCogdl9idWYsICAgXAotICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IHdpZHRoKSB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIFNJTURfQUxJR05FRCh1aW50OCB0ZW1wWzY0ICogNF0p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBtZW1zZXQo
dGVtcCwgMCwgNjQgKiAzKTsgIC8qIGZvciBZVVkyIGFuZCBtc2FuICovICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgaW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBuID0gd2lkdGgg
JiB+TUFTSzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICBpZiAobiA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBBTllfU0lNRCh5X2J1ZiwgdV9i
dWYsIHZfYnVmLCBkc3RfcHRyLCBuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBtZW1jcHkodGVtcCwgeV9idWYgKyBuLCByKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVt
Y3B5KHRlbXAgKyA2NCwgdV9idWYgKyAobiA+PiBVVlNISUZUKSwgU1MociwgVVZTSElGVCkpOyAg
ICAgICAgICAgICAgIFwKLSAgICAgIG1lbWNweSh0ZW1wICsgMTI4LCB2X2J1ZiArIChuID4+IFVW
U0hJRlQpLCBTUyhyLCBVVlNISUZUKSk7ICAgICAgICAgICAgICBcCi0gICAgICBBTllfU0lNRCh0
ZW1wLCB0ZW1wICsgNjQsIHRlbXAgKyAxMjgsIHRlbXAgKyAxOTIsIE1BU0sgKyAxKTsgICAgICAg
ICAgICAgXAotICAgICAgbWVtY3B5KGRzdF9wdHIgKyAobiA+PiBEVVZTSElGVCkgKiBCUFAsIHRl
bXAgKyAxOTIsICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICBTUyhyLCBEVVZT
SElGVCkgKiBCUFApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgfQorI2RlZmluZSBBTlkzMShOQU1FQU5ZLCBBTllfU0lNRCwgVVZTSElGVCwgRFVWU0hJ
RlQsIEJQUCwgTUFTSykgICAgICAgICAgICAgXAorICB2b2lkIE5BTUVBTlkoY29uc3QgdWludDgq
IHlfYnVmLCBjb25zdCB1aW50OCogdV9idWYsIGNvbnN0IHVpbnQ4KiB2X2J1ZiwgXAorICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCB3aWR0aCkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIFNJTURfQUxJR05FRCh1aW50OCB0ZW1wWzY0ICogNF0pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbXNldCh0ZW1wLCAwLCA2
NCAqIDMpOyAvKiBmb3IgWVVZMiBhbmQgbXNhbiAqLyAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGludCByID0gd2lkdGggJiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIGludCBuID0gd2lkdGggJiB+TUFTSzsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChuID4gMCkg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgQU5ZX1NJTUQoeV9idWYsIHVfYnVmLCB2X2J1ZiwgZHN0X3B0ciwgbik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNw
eSh0ZW1wLCB5X2J1ZiArIG4sIHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIG1lbWNweSh0ZW1wICsgNjQsIHVfYnVmICsgKG4gPj4gVVZTSElGVCks
IFNTKHIsIFVWU0hJRlQpKTsgICAgICAgICAgICAgXAorICAgIG1lbWNweSh0ZW1wICsgMTI4LCB2
X2J1ZiArIChuID4+IFVWU0hJRlQpLCBTUyhyLCBVVlNISUZUKSk7ICAgICAgICAgICAgXAorICAg
IEFOWV9TSU1EKHRlbXAsIHRlbXAgKyA2NCwgdGVtcCArIDEyOCwgdGVtcCArIDE5MiwgTUFTSyAr
IDEpOyAgICAgICAgICAgXAorICAgIG1lbWNweShkc3RfcHRyICsgKG4gPj4gRFVWU0hJRlQpICog
QlBQLCB0ZW1wICsgMTkyLCAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICBTUyhyLCBE
VVZTSElGVCkgKiBCUFApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICB9CiAjaWZkZWYgSEFTX0k0MjJUT1lVWTJST1dfU1NFMgogQU5ZMzEoSTQyMlRvWVVZMlJv
d19BbnlfU1NFMiwgSTQyMlRvWVVZMlJvd19TU0UyLCAxLCAxLCA0LCAxNSkKIEFOWTMxKEk0MjJU
b1VZVllSb3dfQW55X1NTRTIsIEk0MjJUb1VZVllSb3dfU1NFMiwgMSwgMSwgNCwgMTUpCkBAIC0x
MDEsMjggKzExMiwyNyBAQCBBTlkzMShCbGVuZFBsYW5lUm93X0FueV9TU1NFMywgQmxlbmRQbGFu
ZVJvd19TU1NFMywgMCwgMCwgMSwgNykKIC8vIG9uIGFybSB0aGF0IHN1YnNhbXBsZXMgNDQ0IHRv
IDQyMiBpbnRlcm5hbGx5LgogLy8gQW55IDMgcGxhbmVzIHRvIDEgd2l0aCB5dXZjb25zdGFudHMK
ICNkZWZpbmUgQU5ZMzFDKE5BTUVBTlksIEFOWV9TSU1ELCBVVlNISUZULCBEVVZTSElGVCwgQlBQ
LCBNQVNLKSAgICAgICAgICAgICAgICBcCi0gICAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiB5
X2J1ZiwgY29uc3QgdWludDgqIHVfYnVmLCBjb25zdCB1aW50OCogdl9idWYsICAgXAotICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2
Y29uc3RhbnRzLCAgICAgIFwKLSAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBTSU1EX0FM
SUdORUQodWludDggdGVtcFs2NCAqIDRdKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgbWVtc2V0KHRlbXAsIDAsIDY0ICogMyk7ICAvKiBmb3IgWVVZMiBh
bmQgbXNhbiAqLyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCByID0gd2lkdGgg
JiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICBpbnQgbiA9IHdpZHRoICYgfk1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKG4gPiAwKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgQU5ZX1NJTUQoeV9idWYsIHVfYnVmLCB2X2J1ZiwgZHN0X3B0ciwgeXV2Y29uc3RhbnRz
LCBuKTsgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVt
Y3B5KHRlbXAsIHlfYnVmICsgbiwgcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIG1lbWNweSh0ZW1wICsgNjQsIHVfYnVmICsgKG4gPj4gVVZT
SElGVCksIFNTKHIsIFVWU0hJRlQpKTsgICAgICAgICAgICAgICBcCi0gICAgICBtZW1jcHkodGVt
cCArIDEyOCwgdl9idWYgKyAobiA+PiBVVlNISUZUKSwgU1MociwgVVZTSElGVCkpOyAgICAgICAg
ICAgICAgXAotICAgICAgaWYgKHdpZHRoICYgMSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdGVtcFs2NCArIFNTKHIs
IFVWU0hJRlQpXSA9IHRlbXBbNjQgKyBTUyhyLCBVVlNISUZUKSAtIDFdOyAgICAgICAgICAgICBc
Ci0gICAgICAgIHRlbXBbMTI4ICsgU1MociwgVVZTSElGVCldID0gdGVtcFsxMjggKyBTUyhyLCBV
VlNISUZUKSAtIDFdOyAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IEFOWV9TSU1EKHRlbXAsIHRlbXAgKyA2NCwgdGVtcCArIDEyOCwgdGVtcCArIDE5MiwgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICB5dXZjb25zdGFudHMsIE1BU0sgKyAx
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVtY3B5
KGRzdF9wdHIgKyAobiA+PiBEVVZTSElGVCkgKiBCUFAsIHRlbXAgKyAxOTIsICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICBTUyhyLCBEVVZTSElGVCkgKiBCUFApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfQorICB2b2lkIE5BTUVB
TlkoY29uc3QgdWludDgqIHlfYnVmLCBjb25zdCB1aW50OCogdV9idWYsIGNvbnN0IHVpbnQ4KiB2
X2J1ZiwgICAgIFwKKyAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBjb25zdCBzdHJ1Y3Qg
WXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsICAgICAgICBcCisgICAgICAgICAgICAgICBpbnQg
d2lkdGgpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIFNJTURfQUxJR05FRCh1aW50OCB0ZW1wWzY0ICogNF0pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQodGVtcCwgMCwgNjQgKiAz
KTsgLyogZm9yIFlVWTIgYW5kIG1zYW4gKi8gICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgaW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCBuID0gd2lkdGggJiB+TUFTSzsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAo
biA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICBBTllfU0lNRCh5X2J1ZiwgdV9idWYsIHZfYnVmLCBkc3Rf
cHRyLCB5dXZjb25zdGFudHMsIG4pOyAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBtZW1jcHkodGVtcCwgeV9idWYgKyBuLCByKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtY3B5KHRlbXAgKyA2NCwg
dV9idWYgKyAobiA+PiBVVlNISUZUKSwgU1MociwgVVZTSElGVCkpOyAgICAgICAgICAgICAgICAg
XAorICAgIG1lbWNweSh0ZW1wICsgMTI4LCB2X2J1ZiArIChuID4+IFVWU0hJRlQpLCBTUyhyLCBV
VlNISUZUKSk7ICAgICAgICAgICAgICAgIFwKKyAgICBpZiAod2lkdGggJiAxKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICB0ZW1wWzY0ICsgU1MociwgVVZTSElGVCldID0gdGVtcFs2NCArIFNTKHIsIFVWU0hJRlQpIC0g
MV07ICAgICAgICAgICAgICAgXAorICAgICAgdGVtcFsxMjggKyBTUyhyLCBVVlNISUZUKV0gPSB0
ZW1wWzEyOCArIFNTKHIsIFVWU0hJRlQpIC0gMV07ICAgICAgICAgICAgIFwKKyAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgQU5ZX1NJTUQodGVtcCwgdGVtcCArIDY0LCB0ZW1wICsgMTI4LCB0
ZW1wICsgMTkyLCB5dXZjb25zdGFudHMsIE1BU0sgKyAxKTsgXAorICAgIG1lbWNweShkc3RfcHRy
ICsgKG4gPj4gRFVWU0hJRlQpICogQlBQLCB0ZW1wICsgMTkyLCAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgICAgU1MociwgRFVWU0hJRlQpICogQlBQKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0KIAogI2lmZGVmIEhBU19JNDIyVE9B
UkdCUk9XX1NTU0UzCiBBTlkzMUMoSTQyMlRvQVJHQlJvd19BbnlfU1NTRTMsIEk0MjJUb0FSR0JS
b3dfU1NTRTMsIDEsIDAsIDQsIDcpCkBAIC0xNDgsMTMgKzE1OCwxMyBAQCBBTlkzMUMoSTQyMlRv
UkdCQVJvd19BbnlfQVZYMiwgSTQyMlRvUkdCQVJvd19BVlgyLCAxLCAwLCA0LCAxNSkKIEFOWTMx
QyhJNDQ0VG9BUkdCUm93X0FueV9BVlgyLCBJNDQ0VG9BUkdCUm93X0FWWDIsIDAsIDAsIDQsIDE1
KQogI2VuZGlmCiAjaWZkZWYgSEFTX0k0MjJUT0FSR0I0NDQ0Uk9XX0FWWDIKLUFOWTMxQyhJNDIy
VG9BUkdCNDQ0NFJvd19BbnlfQVZYMiwgSTQyMlRvQVJHQjQ0NDRSb3dfQVZYMiwgMSwgMCwgMiwg
NykKK0FOWTMxQyhJNDIyVG9BUkdCNDQ0NFJvd19BbnlfQVZYMiwgSTQyMlRvQVJHQjQ0NDRSb3df
QVZYMiwgMSwgMCwgMiwgMTUpCiAjZW5kaWYKICNpZmRlZiBIQVNfSTQyMlRPQVJHQjE1NTVST1df
QVZYMgotQU5ZMzFDKEk0MjJUb0FSR0IxNTU1Um93X0FueV9BVlgyLCBJNDIyVG9BUkdCMTU1NVJv
d19BVlgyLCAxLCAwLCAyLCA3KQorQU5ZMzFDKEk0MjJUb0FSR0IxNTU1Um93X0FueV9BVlgyLCBJ
NDIyVG9BUkdCMTU1NVJvd19BVlgyLCAxLCAwLCAyLCAxNSkKICNlbmRpZgogI2lmZGVmIEhBU19J
NDIyVE9SR0I1NjVST1dfQVZYMgotQU5ZMzFDKEk0MjJUb1JHQjU2NVJvd19BbnlfQVZYMiwgSTQy
MlRvUkdCNTY1Um93X0FWWDIsIDEsIDAsIDIsIDcpCitBTlkzMUMoSTQyMlRvUkdCNTY1Um93X0Fu
eV9BVlgyLCBJNDIyVG9SR0I1NjVSb3dfQVZYMiwgMSwgMCwgMiwgMTUpCiAjZW5kaWYKICNpZmRl
ZiBIQVNfSTQyMlRPQVJHQlJPV19ORU9OCiBBTlkzMUMoSTQ0NFRvQVJHQlJvd19BbnlfTkVPTiwg
STQ0NFRvQVJHQlJvd19ORU9OLCAwLCAwLCA0LCA3KQpAQCAtMTY1LDI1ICsxNzUsNDAgQEAgQU5Z
MzFDKEk0MjJUb0FSR0I0NDQ0Um93X0FueV9ORU9OLCBJNDIyVG9BUkdCNDQ0NFJvd19ORU9OLCAx
LCAwLCAyLCA3KQogQU5ZMzFDKEk0MjJUb0FSR0IxNTU1Um93X0FueV9ORU9OLCBJNDIyVG9BUkdC
MTU1NVJvd19ORU9OLCAxLCAwLCAyLCA3KQogQU5ZMzFDKEk0MjJUb1JHQjU2NVJvd19BbnlfTkVP
TiwgSTQyMlRvUkdCNTY1Um93X05FT04sIDEsIDAsIDIsIDcpCiAjZW5kaWYKKyNpZmRlZiBIQVNf
STQyMlRPQVJHQlJPV19EU1BSMgorQU5ZMzFDKEk0NDRUb0FSR0JSb3dfQW55X0RTUFIyLCBJNDQ0
VG9BUkdCUm93X0RTUFIyLCAwLCAwLCA0LCA3KQorQU5ZMzFDKEk0MjJUb0FSR0JSb3dfQW55X0RT
UFIyLCBJNDIyVG9BUkdCUm93X0RTUFIyLCAxLCAwLCA0LCA3KQorQU5ZMzFDKEk0MjJUb0FSR0I0
NDQ0Um93X0FueV9EU1BSMiwgSTQyMlRvQVJHQjQ0NDRSb3dfRFNQUjIsIDEsIDAsIDIsIDcpCitB
TlkzMUMoSTQyMlRvQVJHQjE1NTVSb3dfQW55X0RTUFIyLCBJNDIyVG9BUkdCMTU1NVJvd19EU1BS
MiwgMSwgMCwgMiwgNykKKyNlbmRpZgorI2lmZGVmIEhBU19JNDIyVE9BUkdCUk9XX01TQQorQU5Z
MzFDKEk0NDRUb0FSR0JSb3dfQW55X01TQSwgSTQ0NFRvQVJHQlJvd19NU0EsIDAsIDAsIDQsIDcp
CitBTlkzMUMoSTQyMlRvQVJHQlJvd19BbnlfTVNBLCBJNDIyVG9BUkdCUm93X01TQSwgMSwgMCwg
NCwgNykKK0FOWTMxQyhJNDIyVG9SR0JBUm93X0FueV9NU0EsIEk0MjJUb1JHQkFSb3dfTVNBLCAx
LCAwLCA0LCA3KQorQU5ZMzFDKEk0MjJUb1JHQjI0Um93X0FueV9NU0EsIEk0MjJUb1JHQjI0Um93
X01TQSwgMSwgMCwgMywgMTUpCitBTlkzMUMoSTQyMlRvQVJHQjQ0NDRSb3dfQW55X01TQSwgSTQy
MlRvQVJHQjQ0NDRSb3dfTVNBLCAxLCAwLCAyLCA3KQorQU5ZMzFDKEk0MjJUb0FSR0IxNTU1Um93
X0FueV9NU0EsIEk0MjJUb0FSR0IxNTU1Um93X01TQSwgMSwgMCwgMiwgNykKK0FOWTMxQyhJNDIy
VG9SR0I1NjVSb3dfQW55X01TQSwgSTQyMlRvUkdCNTY1Um93X01TQSwgMSwgMCwgMiwgNykKKyNl
bmRpZgogI3VuZGVmIEFOWTMxQwogCiAvLyBBbnkgMiBwbGFuZXMgdG8gMS4KLSNkZWZpbmUgQU5Z
MjEoTkFNRUFOWSwgQU5ZX1NJTUQsIFVWU0hJRlQsIFNCUFAsIFNCUFAyLCBCUFAsIE1BU0spICAg
ICAgICAgICAgICBcCi0gICAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiB5X2J1ZiwgY29uc3Qg
dWludDgqIHV2X2J1ZiwgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3B0ciwgaW50IHdpZHRoKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIFNJTURfQUxJR05FRCh1aW50OCB0ZW1wWzY0ICogM10pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBtZW1zZXQodGVtcCwgMCwgNjQg
KiAyKTsgIC8qIGZvciBtc2FuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgaW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBuID0gd2lkdGggJiB+TUFTSzsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBp
ZiAobiA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICBBTllfU0lNRCh5X2J1ZiwgdXZfYnVmLCBkc3RfcHRy
LCBuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICBtZW1jcHkodGVtcCwgeV9idWYgKyBuICogU0JQUCwgciAqIFNCUFAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVtY3B5KHRlbXAgKyA2
NCwgdXZfYnVmICsgKG4gPj4gVVZTSElGVCkgKiBTQlBQMiwgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgICBTUyhyLCBVVlNISUZUKSAqIFNCUFAyKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBBTllfU0lNRCh0ZW1wLCB0ZW1wICsg
NjQsIHRlbXAgKyAxMjgsIE1BU0sgKyAxKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgbWVtY3B5KGRzdF9wdHIgKyBuICogQlBQLCB0ZW1wICsgMTI4LCByICogQlBQKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICB9CisjZGVmaW5lIEFOWTIxKE5BTUVBTlksIEFOWV9T
SU1ELCBVVlNISUZULCBTQlBQLCBTQlBQMiwgQlBQLCBNQVNLKSAgICAgICBcCisgIHZvaWQgTkFN
RUFOWShjb25zdCB1aW50OCogeV9idWYsIGNvbnN0IHVpbnQ4KiB1dl9idWYsIHVpbnQ4KiBkc3Rf
cHRyLCBcCisgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgU0lNRF9BTElHTkVEKHVpbnQ4IHRlbXBbNjQg
KiAzXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KHRl
bXAsIDAsIDY0ICogMik7IC8qIGZvciBtc2FuICovICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgaW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IG4gPSB3aWR0aCAmIH5NQVNLOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKG4gPiAwKSB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICBBTllfU0lNRCh5X2J1ZiwgdXZfYnVmLCBkc3RfcHRyLCBuKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtY3B5KHRlbXAsIHlf
YnVmICsgbiAqIFNCUFAsIHIgKiBTQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgbWVtY3B5KHRlbXAgKyA2NCwgdXZfYnVmICsgKG4gPj4gVVZTSElGVCkgKiBTQlBQMiwgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgICAgIFNTKHIsIFVWU0hJRlQpICogU0JQUDIpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQU5ZX1NJTUQodGVtcCwgdGVt
cCArIDY0LCB0ZW1wICsgMTI4LCBNQVNLICsgMSk7ICAgICAgICAgICAgICAgICAgICBcCisgICAg
bWVtY3B5KGRzdF9wdHIgKyBuICogQlBQLCB0ZW1wICsgMTI4LCByICogQlBQKTsgICAgICAgICAg
ICAgICAgICAgICBcCisgIH0KIAogLy8gTWVyZ2UgZnVuY3Rpb25zLgogI2lmZGVmIEhBU19NRVJH
RVVWUk9XX1NTRTIKQEAgLTE5NSw2ICsyMjAsOSBAQCBBTlkyMShNZXJnZVVWUm93X0FueV9BVlgy
LCBNZXJnZVVWUm93X0FWWDIsIDAsIDEsIDEsIDIsIDMxKQogI2lmZGVmIEhBU19NRVJHRVVWUk9X
X05FT04KIEFOWTIxKE1lcmdlVVZSb3dfQW55X05FT04sIE1lcmdlVVZSb3dfTkVPTiwgMCwgMSwg
MSwgMiwgMTUpCiAjZW5kaWYKKyNpZmRlZiBIQVNfTUVSR0VVVlJPV19NU0EKK0FOWTIxKE1lcmdl
VVZSb3dfQW55X01TQSwgTWVyZ2VVVlJvd19NU0EsIDAsIDEsIDEsIDIsIDE1KQorI2VuZGlmCiAK
IC8vIE1hdGggZnVuY3Rpb25zLgogI2lmZGVmIEhBU19BUkdCTVVMVElQTFlST1dfU1NFMgpAQCAt
MjI0LDQ0ICsyNTIsNjEgQEAgQU5ZMjEoQVJHQkFkZFJvd19BbnlfTkVPTiwgQVJHQkFkZFJvd19O
RU9OLCAwLCA0LCA0LCA0LCA3KQogI2lmZGVmIEhBU19BUkdCU1VCVFJBQ1RST1dfTkVPTgogQU5Z
MjEoQVJHQlN1YnRyYWN0Um93X0FueV9ORU9OLCBBUkdCU3VidHJhY3RSb3dfTkVPTiwgMCwgNCwg
NCwgNCwgNykKICNlbmRpZgorI2lmZGVmIEhBU19BUkdCTVVMVElQTFlST1dfTVNBCitBTlkyMShB
UkdCTXVsdGlwbHlSb3dfQW55X01TQSwgQVJHQk11bHRpcGx5Um93X01TQSwgMCwgNCwgNCwgNCwg
MykKKyNlbmRpZgorI2lmZGVmIEhBU19BUkdCQUREUk9XX01TQQorQU5ZMjEoQVJHQkFkZFJvd19B
bnlfTVNBLCBBUkdCQWRkUm93X01TQSwgMCwgNCwgNCwgNCwgNykKKyNlbmRpZgorI2lmZGVmIEhB
U19BUkdCU1VCVFJBQ1RST1dfTVNBCitBTlkyMShBUkdCU3VidHJhY3RSb3dfQW55X01TQSwgQVJH
QlN1YnRyYWN0Um93X01TQSwgMCwgNCwgNCwgNCwgNykKKyNlbmRpZgogI2lmZGVmIEhBU19TT0JF
TFJPV19TU0UyCiBBTlkyMShTb2JlbFJvd19BbnlfU1NFMiwgU29iZWxSb3dfU1NFMiwgMCwgMSwg
MSwgNCwgMTUpCiAjZW5kaWYKICNpZmRlZiBIQVNfU09CRUxST1dfTkVPTgogQU5ZMjEoU29iZWxS
b3dfQW55X05FT04sIFNvYmVsUm93X05FT04sIDAsIDEsIDEsIDQsIDcpCiAjZW5kaWYKKyNpZmRl
ZiBIQVNfU09CRUxST1dfTVNBCitBTlkyMShTb2JlbFJvd19BbnlfTVNBLCBTb2JlbFJvd19NU0Es
IDAsIDEsIDEsIDQsIDE1KQorI2VuZGlmCiAjaWZkZWYgSEFTX1NPQkVMVE9QTEFORVJPV19TU0Uy
CiBBTlkyMShTb2JlbFRvUGxhbmVSb3dfQW55X1NTRTIsIFNvYmVsVG9QbGFuZVJvd19TU0UyLCAw
LCAxLCAxLCAxLCAxNSkKICNlbmRpZgogI2lmZGVmIEhBU19TT0JFTFRPUExBTkVST1dfTkVPTgog
QU5ZMjEoU29iZWxUb1BsYW5lUm93X0FueV9ORU9OLCBTb2JlbFRvUGxhbmVSb3dfTkVPTiwgMCwg
MSwgMSwgMSwgMTUpCiAjZW5kaWYKKyNpZmRlZiBIQVNfU09CRUxUT1BMQU5FUk9XX01TQQorQU5Z
MjEoU29iZWxUb1BsYW5lUm93X0FueV9NU0EsIFNvYmVsVG9QbGFuZVJvd19NU0EsIDAsIDEsIDEs
IDEsIDMxKQorI2VuZGlmCiAjaWZkZWYgSEFTX1NPQkVMWFlST1dfU1NFMgogQU5ZMjEoU29iZWxY
WVJvd19BbnlfU1NFMiwgU29iZWxYWVJvd19TU0UyLCAwLCAxLCAxLCA0LCAxNSkKICNlbmRpZgog
I2lmZGVmIEhBU19TT0JFTFhZUk9XX05FT04KIEFOWTIxKFNvYmVsWFlSb3dfQW55X05FT04sIFNv
YmVsWFlSb3dfTkVPTiwgMCwgMSwgMSwgNCwgNykKICNlbmRpZgorI2lmZGVmIEhBU19TT0JFTFhZ
Uk9XX01TQQorQU5ZMjEoU29iZWxYWVJvd19BbnlfTVNBLCBTb2JlbFhZUm93X01TQSwgMCwgMSwg
MSwgNCwgMTUpCisjZW5kaWYKICN1bmRlZiBBTlkyMQogCiAvLyBBbnkgMiBwbGFuZXMgdG8gMSB3
aXRoIHl1dmNvbnN0YW50cwotI2RlZmluZSBBTlkyMUMoTkFNRUFOWSwgQU5ZX1NJTUQsIFVWU0hJ
RlQsIFNCUFAsIFNCUFAyLCBCUFAsIE1BU0spICAgICAgICAgICAgIFwKLSAgICB2b2lkIE5BTUVB
TlkoY29uc3QgdWludDgqIHlfYnVmLCBjb25zdCB1aW50OCogdXZfYnVmLCAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBjb25zdCBzdHJ1Y3Qg
WXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsICAgICAgXAotICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIFNJTURfQUxJR05FRCh1aW50OCB0ZW1wWzY0ICogM10pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBtZW1zZXQodGVtcCwgMCwgNjQgKiAy
KTsgIC8qIGZvciBtc2FuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgaW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBuID0gd2lkdGggJiB+TUFTSzsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAo
biA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICBBTllfU0lNRCh5X2J1ZiwgdXZfYnVmLCBkc3RfcHRyLCB5
dXZjb25zdGFudHMsIG4pOyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICBtZW1jcHkodGVtcCwgeV9idWYgKyBuICogU0JQUCwgciAqIFNCUFApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVtY3B5KHRlbXAgKyA2NCwg
dXZfYnVmICsgKG4gPj4gVVZTSElGVCkgKiBTQlBQMiwgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgICBTUyhyLCBVVlNISUZUKSAqIFNCUFAyKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBBTllfU0lNRCh0ZW1wLCB0ZW1wICsgNjQs
IHRlbXAgKyAxMjgsIHl1dmNvbnN0YW50cywgTUFTSyArIDEpOyAgICAgICAgICAgXAotICAgICAg
bWVtY3B5KGRzdF9wdHIgKyBuICogQlBQLCB0ZW1wICsgMTI4LCByICogQlBQKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICB9CisjZGVmaW5lIEFOWTIxQyhOQU1FQU5ZLCBBTllfU0lN
RCwgVVZTSElGVCwgU0JQUCwgU0JQUDIsIEJQUCwgTUFTSykgICAgICBcCisgIHZvaWQgTkFNRUFO
WShjb25zdCB1aW50OCogeV9idWYsIGNvbnN0IHVpbnQ4KiB1dl9idWYsIHVpbnQ4KiBkc3RfcHRy
LCBcCisgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFu
dHMsIGludCB3aWR0aCkgeyAgICBcCisgICAgU0lNRF9BTElHTkVEKHVpbnQ4IHRlbXBbNjQgKiAz
XSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KHRlbXAs
IDAsIDY0ICogMik7IC8qIGZvciBtc2FuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgaW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgaW50IG4gPSB3aWR0aCAmIH5NQVNLOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKG4gPiAwKSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICBBTllfU0lNRCh5X2J1ZiwgdXZfYnVmLCBkc3RfcHRyLCB5dXZjb25zdGFudHMsIG4pOyAg
ICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtY3B5KHRlbXAsIHlfYnVm
ICsgbiAqIFNCUFAsIHIgKiBTQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
bWVtY3B5KHRlbXAgKyA2NCwgdXZfYnVmICsgKG4gPj4gVVZTSElGVCkgKiBTQlBQMiwgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgICAgIFNTKHIsIFVWU0hJRlQpICogU0JQUDIpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQU5ZX1NJTUQodGVtcCwgdGVtcCAr
IDY0LCB0ZW1wICsgMTI4LCB5dXZjb25zdGFudHMsIE1BU0sgKyAxKTsgICAgICBcCisgICAgbWVt
Y3B5KGRzdF9wdHIgKyBuICogQlBQLCB0ZW1wICsgMTI4LCByICogQlBQKTsgICAgICAgICAgICAg
ICAgICAgICBcCisgIH0KIAogLy8gQmlwbGFuYXIgdG8gUkdCLgogI2lmZGVmIEhBU19OVjEyVE9B
UkdCUk9XX1NTU0UzCkBAIC0yNzMsNiArMzE4LDEyIEBAIEFOWTIxQyhOVjEyVG9BUkdCUm93X0Fu
eV9BVlgyLCBOVjEyVG9BUkdCUm93X0FWWDIsIDEsIDEsIDIsIDQsIDE1KQogI2lmZGVmIEhBU19O
VjEyVE9BUkdCUk9XX05FT04KIEFOWTIxQyhOVjEyVG9BUkdCUm93X0FueV9ORU9OLCBOVjEyVG9B
UkdCUm93X05FT04sIDEsIDEsIDIsIDQsIDcpCiAjZW5kaWYKKyNpZmRlZiBIQVNfTlYxMlRPQVJH
QlJPV19EU1BSMgorQU5ZMjFDKE5WMTJUb0FSR0JSb3dfQW55X0RTUFIyLCBOVjEyVG9BUkdCUm93
X0RTUFIyLCAxLCAxLCAyLCA0LCA3KQorI2VuZGlmCisjaWZkZWYgSEFTX05WMTJUT0FSR0JST1df
TVNBCitBTlkyMUMoTlYxMlRvQVJHQlJvd19BbnlfTVNBLCBOVjEyVG9BUkdCUm93X01TQSwgMSwg
MSwgMiwgNCwgNykKKyNlbmRpZgogI2lmZGVmIEhBU19OVjIxVE9BUkdCUk9XX1NTU0UzCiBBTlky
MUMoTlYyMVRvQVJHQlJvd19BbnlfU1NTRTMsIE5WMjFUb0FSR0JSb3dfU1NTRTMsIDEsIDEsIDIs
IDQsIDcpCiAjZW5kaWYKQEAgLTI4Miw2ICszMzMsOSBAQCBBTlkyMUMoTlYyMVRvQVJHQlJvd19B
bnlfQVZYMiwgTlYyMVRvQVJHQlJvd19BVlgyLCAxLCAxLCAyLCA0LCAxNSkKICNpZmRlZiBIQVNf
TlYyMVRPQVJHQlJPV19ORU9OCiBBTlkyMUMoTlYyMVRvQVJHQlJvd19BbnlfTkVPTiwgTlYyMVRv
QVJHQlJvd19ORU9OLCAxLCAxLCAyLCA0LCA3KQogI2VuZGlmCisjaWZkZWYgSEFTX05WMjFUT0FS
R0JST1dfTVNBCitBTlkyMUMoTlYyMVRvQVJHQlJvd19BbnlfTVNBLCBOVjIxVG9BUkdCUm93X01T
QSwgMSwgMSwgMiwgNCwgNykKKyNlbmRpZgogI2lmZGVmIEhBU19OVjEyVE9SR0I1NjVST1dfU1NT
RTMKIEFOWTIxQyhOVjEyVG9SR0I1NjVSb3dfQW55X1NTU0UzLCBOVjEyVG9SR0I1NjVSb3dfU1NT
RTMsIDEsIDEsIDIsIDIsIDcpCiAjZW5kaWYKQEAgLTI5MSwyMiArMzQ1LDI1IEBAIEFOWTIxQyhO
VjEyVG9SR0I1NjVSb3dfQW55X0FWWDIsIE5WMTJUb1JHQjU2NVJvd19BVlgyLCAxLCAxLCAyLCAy
LCAxNSkKICNpZmRlZiBIQVNfTlYxMlRPUkdCNTY1Uk9XX05FT04KIEFOWTIxQyhOVjEyVG9SR0I1
NjVSb3dfQW55X05FT04sIE5WMTJUb1JHQjU2NVJvd19ORU9OLCAxLCAxLCAyLCAyLCA3KQogI2Vu
ZGlmCisjaWZkZWYgSEFTX05WMTJUT1JHQjU2NVJPV19NU0EKK0FOWTIxQyhOVjEyVG9SR0I1NjVS
b3dfQW55X01TQSwgTlYxMlRvUkdCNTY1Um93X01TQSwgMSwgMSwgMiwgMiwgNykKKyNlbmRpZgog
I3VuZGVmIEFOWTIxQwogCiAvLyBBbnkgMSB0byAxLgotI2RlZmluZSBBTlkxMShOQU1FQU5ZLCBB
TllfU0lNRCwgVVZTSElGVCwgU0JQUCwgQlBQLCBNQVNLKSAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB2b2lkIE5BTUVBTlkoY29uc3QgdWludDgqIHNyY19wdHIsIHVpbnQ4KiBkc3RfcHRyLCBp
bnQgd2lkdGgpIHsgICAgICAgICAgICBcCi0gICAgICBTSU1EX0FMSUdORUQodWludDggdGVtcFsx
MjggKiAyXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
bWVtc2V0KHRlbXAsIDAsIDEyOCk7ICAvKiBmb3IgWVVZMiBhbmQgbXNhbiAqLyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCByID0gd2lkdGggJiBNQVNLOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgbiA9
IHdpZHRoICYgfk1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgaWYgKG4gPiAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgQU5ZX1NJTUQoc3Jj
X3B0ciwgZHN0X3B0ciwgbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVtY3B5KHRlbXAsIHNyY19wdHIg
KyAobiA+PiBVVlNISUZUKSAqIFNCUFAsIFNTKHIsIFVWU0hJRlQpICogU0JQUCk7ICAgIFwKLSAg
ICAgIEFOWV9TSU1EKHRlbXAsIHRlbXAgKyAxMjgsIE1BU0sgKyAxKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBtZW1jcHkoZHN0X3B0ciArIG4gKiBCUFAsIHRl
bXAgKyAxMjgsIHIgKiBCUFApOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0KKyNk
ZWZpbmUgQU5ZMTEoTkFNRUFOWSwgQU5ZX1NJTUQsIFVWU0hJRlQsIFNCUFAsIEJQUCwgTUFTSykg
ICAgICAgICAgICAgICAgXAorICB2b2lkIE5BTUVBTlkoY29uc3QgdWludDgqIHNyY19wdHIsIHVp
bnQ4KiBkc3RfcHRyLCBpbnQgd2lkdGgpIHsgICAgICAgICBcCisgICAgU0lNRF9BTElHTkVEKHVp
bnQ4IHRlbXBbMTI4ICogMl0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBtZW1zZXQodGVtcCwgMCwgMTI4KTsgLyogZm9yIFlVWTIgYW5kIG1zYW4gKi8gICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIGludCByID0gd2lkdGggJiBNQVNLOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IG4gPSB3aWR0
aCAmIH5NQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBpZiAobiA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgQU5ZX1NJTUQoc3JjX3B0ciwgZHN0X3B0ciwg
bik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBtZW1jcHkodGVtcCwgc3JjX3B0ciArIChuID4+IFVWU0hJRlQpICogU0JQUCwg
U1MociwgVVZTSElGVCkgKiBTQlBQKTsgXAorICAgIEFOWV9TSU1EKHRlbXAsIHRlbXAgKyAxMjgs
IE1BU0sgKyAxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtY3B5
KGRzdF9wdHIgKyBuICogQlBQLCB0ZW1wICsgMTI4LCByICogQlBQKTsgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgfQogCiAjaWZkZWYgSEFTX0NPUFlST1dfQVZYCiBBTlkxMShDb3B5Um93X0Fu
eV9BVlgsIENvcHlSb3dfQVZYLCAwLCAxLCAxLCA2MykKQEAgLTM3MSw5ICs0MjgsMjEgQEAgQU5Z
MTEoQVJHQlRvQVJHQjQ0NDRSb3dfQW55X05FT04sIEFSR0JUb0FSR0I0NDQ0Um93X05FT04sIDAs
IDQsIDIsIDcpCiBBTlkxMShKNDAwVG9BUkdCUm93X0FueV9ORU9OLCBKNDAwVG9BUkdCUm93X05F
T04sIDAsIDEsIDQsIDcpCiBBTlkxMShJNDAwVG9BUkdCUm93X0FueV9ORU9OLCBJNDAwVG9BUkdC
Um93X05FT04sIDAsIDEsIDQsIDcpCiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19BUkdCVE9SR0Iy
NFJPV19NU0EpCitBTlkxMShBUkdCVG9SR0IyNFJvd19BbnlfTVNBLCBBUkdCVG9SR0IyNFJvd19N
U0EsIDAsIDQsIDMsIDE1KQorQU5ZMTEoQVJHQlRvUkFXUm93X0FueV9NU0EsIEFSR0JUb1JBV1Jv
d19NU0EsIDAsIDQsIDMsIDE1KQorQU5ZMTEoQVJHQlRvUkdCNTY1Um93X0FueV9NU0EsIEFSR0JU
b1JHQjU2NVJvd19NU0EsIDAsIDQsIDIsIDcpCitBTlkxMShBUkdCVG9BUkdCMTU1NVJvd19Bbnlf
TVNBLCBBUkdCVG9BUkdCMTU1NVJvd19NU0EsIDAsIDQsIDIsIDcpCitBTlkxMShBUkdCVG9BUkdC
NDQ0NFJvd19BbnlfTVNBLCBBUkdCVG9BUkdCNDQ0NFJvd19NU0EsIDAsIDQsIDIsIDcpCitBTlkx
MShKNDAwVG9BUkdCUm93X0FueV9NU0EsIEo0MDBUb0FSR0JSb3dfTVNBLCAwLCAxLCA0LCAxNSkK
K0FOWTExKEk0MDBUb0FSR0JSb3dfQW55X01TQSwgSTQwMFRvQVJHQlJvd19NU0EsIDAsIDEsIDQs
IDE1KQorI2VuZGlmCiAjaWYgZGVmaW5lZChIQVNfUkFXVE9SR0IyNFJPV19ORU9OKQogQU5ZMTEo
UkFXVG9SR0IyNFJvd19BbnlfTkVPTiwgUkFXVG9SR0IyNFJvd19ORU9OLCAwLCAzLCAzLCA3KQog
I2VuZGlmCisjaWYgZGVmaW5lZChIQVNfUkFXVE9SR0IyNFJPV19NU0EpCitBTlkxMShSQVdUb1JH
QjI0Um93X0FueV9NU0EsIFJBV1RvUkdCMjRSb3dfTVNBLCAwLCAzLCAzLCAxNSkKKyNlbmRpZgog
I2lmZGVmIEhBU19BUkdCVE9ZUk9XX0FWWDIKIEFOWTExKEFSR0JUb1lSb3dfQW55X0FWWDIsIEFS
R0JUb1lSb3dfQVZYMiwgMCwgNCwgMSwgMzEpCiAjZW5kaWYKQEAgLTQwOCwyNyArNDc3LDUxIEBA
IEFOWTExKEFSR0JUb1lSb3dfQW55X01TQSwgQVJHQlRvWVJvd19NU0EsIDAsIDQsIDEsIDE1KQog
I2lmZGVmIEhBU19BUkdCVE9ZSlJPV19ORU9OCiBBTlkxMShBUkdCVG9ZSlJvd19BbnlfTkVPTiwg
QVJHQlRvWUpSb3dfTkVPTiwgMCwgNCwgMSwgNykKICNlbmRpZgorI2lmZGVmIEhBU19BUkdCVE9Z
SlJPV19NU0EKK0FOWTExKEFSR0JUb1lKUm93X0FueV9NU0EsIEFSR0JUb1lKUm93X01TQSwgMCwg
NCwgMSwgMTUpCisjZW5kaWYKICNpZmRlZiBIQVNfQkdSQVRPWVJPV19ORU9OCiBBTlkxMShCR1JB
VG9ZUm93X0FueV9ORU9OLCBCR1JBVG9ZUm93X05FT04sIDAsIDQsIDEsIDcpCiAjZW5kaWYKKyNp
ZmRlZiBIQVNfQkdSQVRPWVJPV19NU0EKK0FOWTExKEJHUkFUb1lSb3dfQW55X01TQSwgQkdSQVRv
WVJvd19NU0EsIDAsIDQsIDEsIDE1KQorI2VuZGlmCiAjaWZkZWYgSEFTX0FCR1JUT1lST1dfTkVP
TgogQU5ZMTEoQUJHUlRvWVJvd19BbnlfTkVPTiwgQUJHUlRvWVJvd19ORU9OLCAwLCA0LCAxLCA3
KQogI2VuZGlmCisjaWZkZWYgSEFTX0FCR1JUT1lST1dfTVNBCitBTlkxMShBQkdSVG9ZUm93X0Fu
eV9NU0EsIEFCR1JUb1lSb3dfTVNBLCAwLCA0LCAxLCA3KQorI2VuZGlmCiAjaWZkZWYgSEFTX1JH
QkFUT1lST1dfTkVPTgogQU5ZMTEoUkdCQVRvWVJvd19BbnlfTkVPTiwgUkdCQVRvWVJvd19ORU9O
LCAwLCA0LCAxLCA3KQogI2VuZGlmCisjaWZkZWYgSEFTX1JHQkFUT1lST1dfTVNBCitBTlkxMShS
R0JBVG9ZUm93X0FueV9NU0EsIFJHQkFUb1lSb3dfTVNBLCAwLCA0LCAxLCAxNSkKKyNlbmRpZgog
I2lmZGVmIEhBU19SR0IyNFRPWVJPV19ORU9OCiBBTlkxMShSR0IyNFRvWVJvd19BbnlfTkVPTiwg
UkdCMjRUb1lSb3dfTkVPTiwgMCwgMywgMSwgNykKICNlbmRpZgorI2lmZGVmIEhBU19SR0IyNFRP
WVJPV19NU0EKK0FOWTExKFJHQjI0VG9ZUm93X0FueV9NU0EsIFJHQjI0VG9ZUm93X01TQSwgMCwg
MywgMSwgMTUpCisjZW5kaWYKICNpZmRlZiBIQVNfUkFXVE9ZUk9XX05FT04KIEFOWTExKFJBV1Rv
WVJvd19BbnlfTkVPTiwgUkFXVG9ZUm93X05FT04sIDAsIDMsIDEsIDcpCiAjZW5kaWYKKyNpZmRl
ZiBIQVNfUkFXVE9ZUk9XX01TQQorQU5ZMTEoUkFXVG9ZUm93X0FueV9NU0EsIFJBV1RvWVJvd19N
U0EsIDAsIDMsIDEsIDE1KQorI2VuZGlmCiAjaWZkZWYgSEFTX1JHQjU2NVRPWVJPV19ORU9OCiBB
TlkxMShSR0I1NjVUb1lSb3dfQW55X05FT04sIFJHQjU2NVRvWVJvd19ORU9OLCAwLCAyLCAxLCA3
KQogI2VuZGlmCisjaWZkZWYgSEFTX1JHQjU2NVRPWVJPV19NU0EKK0FOWTExKFJHQjU2NVRvWVJv
d19BbnlfTVNBLCBSR0I1NjVUb1lSb3dfTVNBLCAwLCAyLCAxLCAxNSkKKyNlbmRpZgogI2lmZGVm
IEhBU19BUkdCMTU1NVRPWVJPV19ORU9OCiBBTlkxMShBUkdCMTU1NVRvWVJvd19BbnlfTkVPTiwg
QVJHQjE1NTVUb1lSb3dfTkVPTiwgMCwgMiwgMSwgNykKICNlbmRpZgorI2lmZGVmIEhBU19BUkdC
MTU1NVRPWVJPV19NU0EKK0FOWTExKEFSR0IxNTU1VG9ZUm93X0FueV9NU0EsIEFSR0IxNTU1VG9Z
Um93X01TQSwgMCwgMiwgMSwgMTUpCisjZW5kaWYKICNpZmRlZiBIQVNfQVJHQjQ0NDRUT1lST1df
TkVPTgogQU5ZMTEoQVJHQjQ0NDRUb1lSb3dfQW55X05FT04sIEFSR0I0NDQ0VG9ZUm93X05FT04s
IDAsIDIsIDEsIDcpCiAjZW5kaWYKQEAgLTQ0NywxOCArNTQwLDU3IEBAIEFOWTExKFVZVllUb1lS
b3dfQW55X01TQSwgVVlWWVRvWVJvd19NU0EsIDEsIDQsIDEsIDMxKQogI2lmZGVmIEhBU19SR0Iy
NFRPQVJHQlJPV19ORU9OCiBBTlkxMShSR0IyNFRvQVJHQlJvd19BbnlfTkVPTiwgUkdCMjRUb0FS
R0JSb3dfTkVPTiwgMCwgMywgNCwgNykKICNlbmRpZgorI2lmZGVmIEhBU19SR0IyNFRPQVJHQlJP
V19NU0EKK0FOWTExKFJHQjI0VG9BUkdCUm93X0FueV9NU0EsIFJHQjI0VG9BUkdCUm93X01TQSwg
MCwgMywgNCwgMTUpCisjZW5kaWYKICNpZmRlZiBIQVNfUkFXVE9BUkdCUk9XX05FT04KIEFOWTEx
KFJBV1RvQVJHQlJvd19BbnlfTkVPTiwgUkFXVG9BUkdCUm93X05FT04sIDAsIDMsIDQsIDcpCiAj
ZW5kaWYKKyNpZmRlZiBIQVNfUkFXVE9BUkdCUk9XX01TQQorQU5ZMTEoUkFXVG9BUkdCUm93X0Fu
eV9NU0EsIFJBV1RvQVJHQlJvd19NU0EsIDAsIDMsIDQsIDE1KQorI2VuZGlmCiAjaWZkZWYgSEFT
X1JHQjU2NVRPQVJHQlJPV19ORU9OCiBBTlkxMShSR0I1NjVUb0FSR0JSb3dfQW55X05FT04sIFJH
QjU2NVRvQVJHQlJvd19ORU9OLCAwLCAyLCA0LCA3KQogI2VuZGlmCisjaWZkZWYgSEFTX1JHQjU2
NVRPQVJHQlJPV19NU0EKK0FOWTExKFJHQjU2NVRvQVJHQlJvd19BbnlfTVNBLCBSR0I1NjVUb0FS
R0JSb3dfTVNBLCAwLCAyLCA0LCAxNSkKKyNlbmRpZgogI2lmZGVmIEhBU19BUkdCMTU1NVRPQVJH
QlJPV19ORU9OCiBBTlkxMShBUkdCMTU1NVRvQVJHQlJvd19BbnlfTkVPTiwgQVJHQjE1NTVUb0FS
R0JSb3dfTkVPTiwgMCwgMiwgNCwgNykKICNlbmRpZgorI2lmZGVmIEhBU19BUkdCMTU1NVRPQVJH
QlJPV19NU0EKK0FOWTExKEFSR0IxNTU1VG9BUkdCUm93X0FueV9NU0EsIEFSR0IxNTU1VG9BUkdC
Um93X01TQSwgMCwgMiwgNCwgMTUpCisjZW5kaWYKICNpZmRlZiBIQVNfQVJHQjQ0NDRUT0FSR0JS
T1dfTkVPTgogQU5ZMTEoQVJHQjQ0NDRUb0FSR0JSb3dfQW55X05FT04sIEFSR0I0NDQ0VG9BUkdC
Um93X05FT04sIDAsIDIsIDQsIDcpCiAjZW5kaWYKKyNpZmRlZiBIQVNfUkdCMjRUT0FSR0JST1df
RFNQUjIKK0FOWTExKFJHQjI0VG9BUkdCUm93X0FueV9EU1BSMiwgUkdCMjRUb0FSR0JSb3dfRFNQ
UjIsIDAsIDMsIDQsIDcpCisjZW5kaWYKKyNpZmRlZiBIQVNfUkFXVE9BUkdCUk9XX0RTUFIyCitB
TlkxMShSQVdUb0FSR0JSb3dfQW55X0RTUFIyLCBSQVdUb0FSR0JSb3dfRFNQUjIsIDAsIDMsIDQs
IDcpCisjZW5kaWYKKyNpZmRlZiBIQVNfUkdCNTY1VE9BUkdCUk9XX0RTUFIyCitBTlkxMShSR0I1
NjVUb0FSR0JSb3dfQW55X0RTUFIyLCBSR0I1NjVUb0FSR0JSb3dfRFNQUjIsIDAsIDIsIDQsIDcp
CisjZW5kaWYKKyNpZmRlZiBIQVNfQVJHQjE1NTVUT0FSR0JST1dfRFNQUjIKK0FOWTExKEFSR0Ix
NTU1VG9BUkdCUm93X0FueV9EU1BSMiwgQVJHQjE1NTVUb0FSR0JSb3dfRFNQUjIsIDAsIDIsIDQs
IDcpCisjZW5kaWYKKyNpZmRlZiBIQVNfQVJHQjQ0NDRUT0FSR0JST1dfRFNQUjIKK0FOWTExKEFS
R0I0NDQ0VG9BUkdCUm93X0FueV9EU1BSMiwgQVJHQjQ0NDRUb0FSR0JSb3dfRFNQUjIsIDAsIDIs
IDQsIDcpCisjZW5kaWYKKyNpZmRlZiBIQVNfQkdSQVRPWVJPV19EU1BSMgorQU5ZMTEoQkdSQVRv
WVJvd19BbnlfRFNQUjIsIEJHUkFUb1lSb3dfRFNQUjIsIDAsIDQsIDEsIDcpCisjZW5kaWYKKyNp
ZmRlZiBIQVNfQVJHQlRPWVJPV19EU1BSMgorQU5ZMTEoQVJHQlRvWVJvd19BbnlfRFNQUjIsIEFS
R0JUb1lSb3dfRFNQUjIsIDAsIDQsIDEsIDcpCisjZW5kaWYKKyNpZmRlZiBIQVNfQUJHUlRPWVJP
V19EU1BSMgorQU5ZMTEoQUJHUlRvWVJvd19BbnlfRFNQUjIsIEFCR1JUb1lSb3dfRFNQUjIsIDAs
IDQsIDEsIDcpCisjZW5kaWYKKyNpZmRlZiBIQVNfUkdCQVRPWVJPV19EU1BSMgorQU5ZMTEoUkdC
QVRvWVJvd19BbnlfRFNQUjIsIFJHQkFUb1lSb3dfRFNQUjIsIDAsIDQsIDEsIDcpCisjZW5kaWYK
ICNpZmRlZiBIQVNfQVJHQjQ0NDRUT0FSR0JST1dfTVNBCiBBTlkxMShBUkdCNDQ0NFRvQVJHQlJv
d19BbnlfTVNBLCBBUkdCNDQ0NFRvQVJHQlJvd19NU0EsIDAsIDIsIDQsIDE1KQogI2VuZGlmCkBA
IC00NzcsNiArNjA5LDkgQEAgQU5ZMTEoQVJHQlVuYXR0ZW51YXRlUm93X0FueV9BVlgyLCBBUkdC
VW5hdHRlbnVhdGVSb3dfQVZYMiwgMCwgNCwgNCwgNykKICNpZmRlZiBIQVNfQVJHQkFUVEVOVUFU
RVJPV19ORU9OCiBBTlkxMShBUkdCQXR0ZW51YXRlUm93X0FueV9ORU9OLCBBUkdCQXR0ZW51YXRl
Um93X05FT04sIDAsIDQsIDQsIDcpCiAjZW5kaWYKKyNpZmRlZiBIQVNfQVJHQkFUVEVOVUFURVJP
V19NU0EKK0FOWTExKEFSR0JBdHRlbnVhdGVSb3dfQW55X01TQSwgQVJHQkF0dGVudWF0ZVJvd19N
U0EsIDAsIDQsIDQsIDcpCisjZW5kaWYKICNpZmRlZiBIQVNfQVJHQkVYVFJBQ1RBTFBIQVJPV19T
U0UyCiBBTlkxMShBUkdCRXh0cmFjdEFscGhhUm93X0FueV9TU0UyLCBBUkdCRXh0cmFjdEFscGhh
Um93X1NTRTIsIDAsIDQsIDEsIDcpCiAjZW5kaWYKQEAgLTQ4OSwyMCArNjI0LDIwIEBAIEFOWTEx
KEFSR0JFeHRyYWN0QWxwaGFSb3dfQW55X05FT04sIEFSR0JFeHRyYWN0QWxwaGFSb3dfTkVPTiwg
MCwgNCwgMSwgMTUpCiAjdW5kZWYgQU5ZMTEKIAogLy8gQW55IDEgdG8gMSBibGVuZGVkLiAgRGVz
dGluYXRpb24gaXMgcmVhZCwgbW9kaWZ5LCB3cml0ZS4KLSNkZWZpbmUgQU5ZMTFCKE5BTUVBTlks
IEFOWV9TSU1ELCBVVlNISUZULCBTQlBQLCBCUFAsIE1BU0spICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1aW50OCogZHN0X3B0ciwg
aW50IHdpZHRoKSB7ICAgICAgICAgICAgXAotICAgICAgU0lNRF9BTElHTkVEKHVpbnQ4IHRlbXBb
MTI4ICogMl0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IG1lbXNldCh0ZW1wLCAwLCAxMjggKiAyKTsgIC8qIGZvciBZVVkyIGFuZCBtc2FuICovICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgciA9IHdpZHRoICYgTUFTSzsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaW50IG4g
PSB3aWR0aCAmIH5NQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIGlmIChuID4gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIEFOWV9TSU1EKHNy
Y19wdHIsIGRzdF9wdHIsIG4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIG1lbWNweSh0ZW1wLCBzcmNfcHRy
ICsgKG4gPj4gVVZTSElGVCkgKiBTQlBQLCBTUyhyLCBVVlNISUZUKSAqIFNCUFApOyAgICBcCi0g
ICAgICBtZW1jcHkodGVtcCArIDEyOCwgZHN0X3B0ciArIG4gKiBCUFAsIHIgKiBCUFApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgQU5ZX1NJTUQodGVtcCwgdGVtcCArIDEyOCwg
TUFTSyArIDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIG1l
bWNweShkc3RfcHRyICsgbiAqIEJQUCwgdGVtcCArIDEyOCwgciAqIEJQUCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgfQorI2RlZmluZSBBTlkxMUIoTkFNRUFOWSwgQU5ZX1NJTUQs
IFVWU0hJRlQsIFNCUFAsIEJQUCwgTUFTSykgICAgICAgICAgICAgICBcCisgIHZvaWQgTkFNRUFO
WShjb25zdCB1aW50OCogc3JjX3B0ciwgdWludDgqIGRzdF9wdHIsIGludCB3aWR0aCkgeyAgICAg
ICAgIFwKKyAgICBTSU1EX0FMSUdORUQodWludDggdGVtcFs2NCAqIDJdKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbXNldCh0ZW1wLCAwLCA2NCAqIDIpOyAv
KiBmb3IgbXNhbiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IHIg
PSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBpbnQgbiA9IHdpZHRoICYgfk1BU0s7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChuID4gMCkgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBB
TllfU0lNRChzcmNfcHRyLCBkc3RfcHRyLCBuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNweSh0ZW1wLCBzcmNfcHRy
ICsgKG4gPj4gVVZTSElGVCkgKiBTQlBQLCBTUyhyLCBVVlNISUZUKSAqIFNCUFApOyBcCisgICAg
bWVtY3B5KHRlbXAgKyA2NCwgZHN0X3B0ciArIG4gKiBCUFAsIHIgKiBCUFApOyAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBBTllfU0lNRCh0ZW1wLCB0ZW1wICsgNjQsIE1BU0sgKyAxKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNweShkc3RfcHRyICsg
biAqIEJQUCwgdGVtcCArIDY0LCByICogQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisg
IH0KIAogI2lmZGVmIEhBU19BUkdCQ09QWUFMUEhBUk9XX0FWWDIKIEFOWTExQihBUkdCQ29weUFs
cGhhUm93X0FueV9BVlgyLCBBUkdCQ29weUFscGhhUm93X0FWWDIsIDAsIDQsIDQsIDE1KQpAQCAt
NTE5LDMyICs2NTQsNTEgQEAgQU5ZMTFCKEFSR0JDb3B5WVRvQWxwaGFSb3dfQW55X1NTRTIsIEFS
R0JDb3B5WVRvQWxwaGFSb3dfU1NFMiwgMCwgMSwgNCwgNykKICN1bmRlZiBBTlkxMUIKIAogLy8g
QW55IDEgdG8gMSB3aXRoIHBhcmFtZXRlci4KLSNkZWZpbmUgQU5ZMTFQKE5BTUVBTlksIEFOWV9T
SU1ELCBULCBTQlBQLCBCUFAsIE1BU0spICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
dm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1aW50OCogZHN0X3B0ciwgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICBUIHNodWZmbGVyLCBpbnQgd2lk
dGgpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIFNJTURf
QUxJR05FRCh1aW50OCB0ZW1wWzY0ICogMl0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBtZW1zZXQodGVtcCwgMCwgNjQpOyAgLyogZm9yIG1zYW4gKi8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaW50IHIgPSB3aWR0
aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIGludCBuID0gd2lkdGggJiB+TUFTSzsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAobiA+IDApIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICBBTllfU0lNRChzcmNfcHRyLCBkc3RfcHRyLCBzaHVmZmxlciwgbik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBt
ZW1jcHkodGVtcCwgc3JjX3B0ciArIG4gKiBTQlBQLCByICogU0JQUCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgQU5ZX1NJTUQodGVtcCwgdGVtcCArIDY0LCBzaHVmZmxl
ciwgTUFTSyArIDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIG1lbWNweShk
c3RfcHRyICsgbiAqIEJQUCwgdGVtcCArIDY0LCByICogQlBQKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgfQorI2RlZmluZSBBTlkxMVAoTkFNRUFOWSwgQU5ZX1NJTUQsIFQsIFNC
UFAsIEJQUCwgTUFTSykgICAgICAgICAgICAgICAgICAgICAgXAorICB2b2lkIE5BTUVBTlkoY29u
c3QgdWludDgqIHNyY19wdHIsIHVpbnQ4KiBkc3RfcHRyLCBUIHBhcmFtLCBpbnQgd2lkdGgpIHsg
XAorICAgIFNJTURfQUxJR05FRCh1aW50OCB0ZW1wWzY0ICogMl0pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbXNldCh0ZW1wLCAwLCA2NCk7IC8qIGZvciBt
c2FuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCByID0g
d2lkdGggJiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGludCBuID0gd2lkdGggJiB+TUFTSzsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChuID4gMCkgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg
QU5ZX1NJTUQoc3JjX3B0ciwgZHN0X3B0ciwgcGFyYW0sIG4pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNweSh0ZW1wLCBzcmNf
cHRyICsgbiAqIFNCUFAsIHIgKiBTQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIEFOWV9TSU1EKHRlbXAsIHRlbXAgKyA2NCwgcGFyYW0sIE1BU0sgKyAxKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNweShkc3RfcHRyICsgbiAqIEJQUCwgdGVtcCAr
IDY0LCByICogQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9CiAKICNpZiBkZWZp
bmVkKEhBU19BUkdCVE9SR0I1NjVESVRIRVJST1dfU1NFMikKLUFOWTExUChBUkdCVG9SR0I1NjVE
aXRoZXJSb3dfQW55X1NTRTIsIEFSR0JUb1JHQjU2NURpdGhlclJvd19TU0UyLAotICAgICAgIGNv
bnN0IHVpbnQzMiwgNCwgMiwgMykKK0FOWTExUChBUkdCVG9SR0I1NjVEaXRoZXJSb3dfQW55X1NT
RTIsCisgICAgICAgQVJHQlRvUkdCNTY1RGl0aGVyUm93X1NTRTIsCisgICAgICAgY29uc3QgdWlu
dDMyLAorICAgICAgIDQsCisgICAgICAgMiwKKyAgICAgICAzKQogI2VuZGlmCiAjaWYgZGVmaW5l
ZChIQVNfQVJHQlRPUkdCNTY1RElUSEVSUk9XX0FWWDIpCi1BTlkxMVAoQVJHQlRvUkdCNTY1RGl0
aGVyUm93X0FueV9BVlgyLCBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfQVZYMiwKLSAgICAgICBjb25z
dCB1aW50MzIsIDQsIDIsIDcpCitBTlkxMVAoQVJHQlRvUkdCNTY1RGl0aGVyUm93X0FueV9BVlgy
LAorICAgICAgIEFSR0JUb1JHQjU2NURpdGhlclJvd19BVlgyLAorICAgICAgIGNvbnN0IHVpbnQz
MiwKKyAgICAgICA0LAorICAgICAgIDIsCisgICAgICAgNykKICNlbmRpZgogI2lmIGRlZmluZWQo
SEFTX0FSR0JUT1JHQjU2NURJVEhFUlJPV19ORU9OKQotQU5ZMTFQKEFSR0JUb1JHQjU2NURpdGhl
clJvd19BbnlfTkVPTiwgQVJHQlRvUkdCNTY1RGl0aGVyUm93X05FT04sCi0gICAgICAgY29uc3Qg
dWludDMyLCA0LCAyLCA3KQorQU5ZMTFQKEFSR0JUb1JHQjU2NURpdGhlclJvd19BbnlfTkVPTiwK
KyAgICAgICBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfTkVPTiwKKyAgICAgICBjb25zdCB1aW50MzIs
CisgICAgICAgNCwKKyAgICAgICAyLAorICAgICAgIDcpCisjZW5kaWYKKyNpZiBkZWZpbmVkKEhB
U19BUkdCVE9SR0I1NjVESVRIRVJST1dfTVNBKQorQU5ZMTFQKEFSR0JUb1JHQjU2NURpdGhlclJv
d19BbnlfTVNBLAorICAgICAgIEFSR0JUb1JHQjU2NURpdGhlclJvd19NU0EsCisgICAgICAgY29u
c3QgdWludDMyLAorICAgICAgIDQsCisgICAgICAgMiwKKyAgICAgICA3KQogI2VuZGlmCiAjaWZk
ZWYgSEFTX0FSR0JTSFVGRkxFUk9XX1NTRTIKIEFOWTExUChBUkdCU2h1ZmZsZVJvd19BbnlfU1NF
MiwgQVJHQlNodWZmbGVSb3dfU1NFMiwgY29uc3QgdWludDgqLCA0LCA0LCAzKQpAQCAtNTU4LDUz
ICs3MTIsNTcgQEAgQU5ZMTFQKEFSR0JTaHVmZmxlUm93X0FueV9BVlgyLCBBUkdCU2h1ZmZsZVJv
d19BVlgyLCBjb25zdCB1aW50OCosIDQsIDQsIDE1KQogI2lmZGVmIEhBU19BUkdCU0hVRkZMRVJP
V19ORU9OCiBBTlkxMVAoQVJHQlNodWZmbGVSb3dfQW55X05FT04sIEFSR0JTaHVmZmxlUm93X05F
T04sIGNvbnN0IHVpbnQ4KiwgNCwgNCwgMykKICNlbmRpZgorI2lmZGVmIEhBU19BUkdCU0hVRkZM
RVJPV19NU0EKK0FOWTExUChBUkdCU2h1ZmZsZVJvd19BbnlfTVNBLCBBUkdCU2h1ZmZsZVJvd19N
U0EsIGNvbnN0IHVpbnQ4KiwgNCwgNCwgNykKKyNlbmRpZgogI3VuZGVmIEFOWTExUAogCiAvLyBB
bnkgMSB0byAxIHdpdGggcGFyYW1ldGVyIGFuZCBzaG9ydHMuICBCUFAgbWVhc3VyZXMgaW4gc2hv
cnRzLgotI2RlZmluZSBBTlkxMVAxNihOQU1FQU5ZLCBBTllfU0lNRCwgVCwgU0JQUCwgQlBQLCBN
QVNLKSAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB2b2lkIE5BTUVBTlkoY29uc3QgdWlu
dDE2KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIsICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgIFQgc2h1ZmZsZXIsIGludCB3aWR0aCkgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgU0lNRF9BTElHTkVEKHVpbnQxNiB0ZW1wWzMy
ICogMl0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIG1l
bXNldCh0ZW1wLCAwLCA2NCk7ICAvKiBmb3IgbXNhbiAqLyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICBpbnQgciA9IHdpZHRoICYgTUFTSzsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaW50IG4gPSB3
aWR0aCAmIH5NQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgIGlmIChuID4gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIEFOWV9TSU1EKHNyY19w
dHIsIGRzdF9wdHIsIHNodWZmbGVyLCBuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIG1lbWNweSh0ZW1wLCBzcmNfcHRyICsg
biAqIFNCUFAsIHIgKiBTQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICBBTllfU0lNRCh0ZW1wLCB0ZW1wICsgNjQsIHNodWZmbGVyLCBNQVNLICsgMSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVtY3B5KGRzdF9wdHIgKyBuICogQlBQLCB0ZW1w
ICsgNjQsIHIgKiBCUFApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9CisjZGVm
aW5lIEFOWTExUDE2KE5BTUVBTlksIEFOWV9TSU1ELCBULCBTQlBQLCBCUFAsIE1BU0spICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwg
dWludDE2KiBkc3RfcHRyLCBUIHBhcmFtLCBpbnQgd2lkdGgpIHsgXAorICAgIFNJTURfQUxJR05F
RCh1aW50MTYgdGVtcFsxNiAqIDJdKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgbWVtc2V0KHRlbXAsIDAsIDMyKTsgLyogZm9yIG1zYW4gKi8gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbnQgciA9IHdpZHRoICYgTUFTSzsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IGludCBuID0gd2lkdGggJiB+TUFTSzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgaWYgKG4gPiAwKSB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEFOWV9TSU1E
KHNyY19wdHIsIGRzdF9wdHIsIHBhcmFtLCBuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtY3B5KHRlbXAsIHNyY19wdHIg
KyBuLCByICogU0JQUCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBBTllfU0lNRCh0ZW1wLCB0ZW1wICsgMTYsIHBhcmFtLCBNQVNLICsgMSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNweShkc3RfcHRyICsgbiwgdGVtcCArIDE2LCBy
ICogQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0KIAogI2lmZGVm
IEhBU19IQUxGRkxPQVRST1dfU1NFMgotQU5ZMTFQMTYoSGFsZkZsb2F0Um93X0FueV9TU0UyLCBI
YWxmRmxvYXRSb3dfU1NFMiwgZmxvYXQsIDEsIDEsIDE1KQorQU5ZMTFQMTYoSGFsZkZsb2F0Um93
X0FueV9TU0UyLCBIYWxmRmxvYXRSb3dfU1NFMiwgZmxvYXQsIDIsIDIsIDcpCiAjZW5kaWYKICNp
ZmRlZiBIQVNfSEFMRkZMT0FUUk9XX0FWWDIKLUFOWTExUDE2KEhhbGZGbG9hdFJvd19BbnlfQVZY
MiwgSGFsZkZsb2F0Um93X0FWWDIsIGZsb2F0LCAxLCAxLCAxNSkKK0FOWTExUDE2KEhhbGZGbG9h
dFJvd19BbnlfQVZYMiwgSGFsZkZsb2F0Um93X0FWWDIsIGZsb2F0LCAyLCAyLCAxNSkKICNlbmRp
ZgogI2lmZGVmIEhBU19IQUxGRkxPQVRST1dfRjE2QwotQU5ZMTFQMTYoSGFsZkZsb2F0Um93X0Fu
eV9GMTZDLCBIYWxmRmxvYXRSb3dfRjE2QywgZmxvYXQsIDEsIDEsIDE1KQorQU5ZMTFQMTYoSGFs
ZkZsb2F0Um93X0FueV9GMTZDLCBIYWxmRmxvYXRSb3dfRjE2QywgZmxvYXQsIDIsIDIsIDE1KQor
QU5ZMTFQMTYoSGFsZkZsb2F0MVJvd19BbnlfRjE2QywgSGFsZkZsb2F0MVJvd19GMTZDLCBmbG9h
dCwgMiwgMiwgMTUpCiAjZW5kaWYKICNpZmRlZiBIQVNfSEFMRkZMT0FUUk9XX05FT04KLUFOWTEx
UDE2KEhhbGZGbG9hdFJvd19BbnlfTkVPTiwgSGFsZkZsb2F0Um93X05FT04sIGZsb2F0LCAxLCAx
LCA3KQorQU5ZMTFQMTYoSGFsZkZsb2F0Um93X0FueV9ORU9OLCBIYWxmRmxvYXRSb3dfTkVPTiwg
ZmxvYXQsIDIsIDIsIDcpCitBTlkxMVAxNihIYWxmRmxvYXQxUm93X0FueV9ORU9OLCBIYWxmRmxv
YXQxUm93X05FT04sIGZsb2F0LCAyLCAyLCA3KQogI2VuZGlmCiAjdW5kZWYgQU5ZMTFQMTYKIAog
Ly8gQW55IDEgdG8gMSB3aXRoIHl1dmNvbnN0YW50cwotI2RlZmluZSBBTlkxMUMoTkFNRUFOWSwg
QU5ZX1NJTUQsIFVWU0hJRlQsIFNCUFAsIEJQUCwgTUFTSykgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB2b2lkIE5BTUVBTlkoY29uc3QgdWludDgqIHNyY19wdHIsIHVpbnQ4KiBkc3RfcHRyLCAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZ
dXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywgaW50IHdpZHRoKSB7ICAgICAgICAgXAotICAgICAg
U0lNRF9BTElHTkVEKHVpbnQ4IHRlbXBbMTI4ICogMl0pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIG1lbXNldCh0ZW1wLCAwLCAxMjgpOyAgLyogZm9yIFlV
WTIgYW5kIG1zYW4gKi8gICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgciA9
IHdpZHRoICYgTUFTSzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgaW50IG4gPSB3aWR0aCAmIH5NQVNLOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGlmIChuID4gMCkgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgIEFOWV9TSU1EKHNyY19wdHIsIGRzdF9wdHIsIHl1dmNvbnN0YW50cywgbik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgIG1lbWNweSh0ZW1wLCBzcmNfcHRyICsgKG4gPj4gVVZTSElGVCkgKiBTQlBQLCBTUyhyLCBV
VlNISUZUKSAqIFNCUFApOyAgICBcCi0gICAgICBBTllfU0lNRCh0ZW1wLCB0ZW1wICsgMTI4LCB5
dXZjb25zdGFudHMsIE1BU0sgKyAxKTsgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVt
Y3B5KGRzdF9wdHIgKyBuICogQlBQLCB0ZW1wICsgMTI4LCByICogQlBQKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICB9CisjZGVmaW5lIEFOWTExQyhOQU1FQU5ZLCBBTllfU0lNRCwg
VVZTSElGVCwgU0JQUCwgQlBQLCBNQVNLKSAgICAgICAgICAgICAgIFwKKyAgdm9pZCBOQU1FQU5Z
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1aW50OCogZHN0X3B0ciwgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3Rh
bnRzLCBpbnQgd2lkdGgpIHsgICAgICBcCisgICAgU0lNRF9BTElHTkVEKHVpbnQ4IHRlbXBbMTI4
ICogMl0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQo
dGVtcCwgMCwgMTI4KTsgLyogZm9yIFlVWTIgYW5kIG1zYW4gKi8gICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGludCByID0gd2lkdGggJiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IG4gPSB3aWR0aCAmIH5NQVNLOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAo
biA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgICAgQU5ZX1NJTUQoc3JjX3B0ciwgZHN0X3B0ciwgeXV2Y29uc3RhbnRz
LCBuKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBt
ZW1jcHkodGVtcCwgc3JjX3B0ciArIChuID4+IFVWU0hJRlQpICogU0JQUCwgU1MociwgVVZTSElG
VCkgKiBTQlBQKTsgXAorICAgIEFOWV9TSU1EKHRlbXAsIHRlbXAgKyAxMjgsIHl1dmNvbnN0YW50
cywgTUFTSyArIDEpOyAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtY3B5KGRzdF9wdHIgKyBu
ICogQlBQLCB0ZW1wICsgMTI4LCByICogQlBQKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
fQogI2lmIGRlZmluZWQoSEFTX1lVWTJUT0FSR0JST1dfU1NTRTMpCiBBTlkxMUMoWVVZMlRvQVJH
QlJvd19BbnlfU1NTRTMsIFlVWTJUb0FSR0JSb3dfU1NTRTMsIDEsIDQsIDQsIDE1KQogQU5ZMTFD
KFVZVllUb0FSR0JSb3dfQW55X1NTU0UzLCBVWVZZVG9BUkdCUm93X1NTU0UzLCAxLCA0LCA0LCAx
NSkKQEAgLTYxNywyNSArNzc1LDI4IEBAIEFOWTExQyhVWVZZVG9BUkdCUm93X0FueV9BVlgyLCBV
WVZZVG9BUkdCUm93X0FWWDIsIDEsIDQsIDQsIDMxKQogQU5ZMTFDKFlVWTJUb0FSR0JSb3dfQW55
X05FT04sIFlVWTJUb0FSR0JSb3dfTkVPTiwgMSwgNCwgNCwgNykKIEFOWTExQyhVWVZZVG9BUkdC
Um93X0FueV9ORU9OLCBVWVZZVG9BUkdCUm93X05FT04sIDEsIDQsIDQsIDcpCiAjZW5kaWYKKyNp
ZiBkZWZpbmVkKEhBU19ZVVkyVE9BUkdCUk9XX01TQSkKK0FOWTExQyhZVVkyVG9BUkdCUm93X0Fu
eV9NU0EsIFlVWTJUb0FSR0JSb3dfTVNBLCAxLCA0LCA0LCA3KQorQU5ZMTFDKFVZVllUb0FSR0JS
b3dfQW55X01TQSwgVVlWWVRvQVJHQlJvd19NU0EsIDEsIDQsIDQsIDcpCisjZW5kaWYKICN1bmRl
ZiBBTlkxMUMKIAogLy8gQW55IDEgdG8gMSBpbnRlcnBvbGF0ZS4gIFRha2VzIDIgcm93cyBvZiBz
b3VyY2UgdmlhIHN0cmlkZS4KICNkZWZpbmUgQU5ZMTFUKE5BTUVBTlksIEFOWV9TSU1ELCBTQlBQ
LCBCUFAsIE1BU0spICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdm9pZCBOQU1F
QU5ZKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZV9wdHIsIGlu
dCB3aWR0aCwgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgaW50
IHNvdXJjZV95X2ZyYWN0aW9uKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICBTSU1EX0FMSUdORUQodWludDggdGVtcFs2NCAqIDNdKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVtc2V0KHRlbXAsIDAsIDY0ICog
Mik7ICAvKiBmb3IgbXNhbiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgIGludCByID0gd2lkdGggJiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgbiA9IHdpZHRoICYgfk1BU0s7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYg
KG4gPiAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgQU5ZX1NJTUQoZHN0X3B0ciwgc3JjX3B0ciwgc3JjX3N0
cmlkZV9wdHIsIG4sIHNvdXJjZV95X2ZyYWN0aW9uKTsgICAgICBcCi0gICAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgbWVtY3B5KHRlbXAsIHNyY19wdHIgKyBuICogU0JQUCwgciAqIFNCUFAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIG1lbWNweSh0ZW1wICsgNjQs
IHNyY19wdHIgKyBzcmNfc3RyaWRlX3B0ciArIG4gKiBTQlBQLCByICogU0JQUCk7ICAgICAgICBc
Ci0gICAgICBBTllfU0lNRCh0ZW1wICsgMTI4LCB0ZW1wLCA2NCwgTUFTSyArIDEsIHNvdXJjZV95
X2ZyYWN0aW9uKTsgICAgICAgICAgICAgXAotICAgICAgbWVtY3B5KGRzdF9wdHIgKyBuICogQlBQ
LCB0ZW1wICsgMTI4LCByICogQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9
CisgIHZvaWQgTkFNRUFOWSh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsIHB0
cmRpZmZfdCBzcmNfc3RyaWRlX3B0ciwgXAorICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQg
c291cmNlX3lfZnJhY3Rpb24pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBT
SU1EX0FMSUdORUQodWludDggdGVtcFs2NCAqIDNdKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KHRlbXAsIDAsIDY0ICogMik7IC8qIGZvciBt
c2FuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCByID0g
d2lkdGggJiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBpbnQgbiA9IHdpZHRoICYgfk1BU0s7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKG4gPiAwKSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgQU5ZX1NJTUQoZHN0X3B0ciwgc3JjX3B0ciwgc3JjX3N0cmlkZV9wdHIsIG4s
IHNvdXJjZV95X2ZyYWN0aW9uKTsgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgbWVtY3B5KHRlbXAsIHNyY19wdHIgKyBuICogU0JQUCwgciAqIFNCUFApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNweSh0ZW1wICsgNjQsIHNyY19wdHIgKyBz
cmNfc3RyaWRlX3B0ciArIG4gKiBTQlBQLCByICogU0JQUCk7ICAgICAgICAgIFwKKyAgICBBTllf
U0lNRCh0ZW1wICsgMTI4LCB0ZW1wLCA2NCwgTUFTSyArIDEsIHNvdXJjZV95X2ZyYWN0aW9uKTsg
ICAgICAgICAgICAgICBcCisgICAgbWVtY3B5KGRzdF9wdHIgKyBuICogQlBQLCB0ZW1wICsgMTI4
LCByICogQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9CiAKICNpZmRlZiBI
QVNfSU5URVJQT0xBVEVST1dfQVZYMgogQU5ZMTFUKEludGVycG9sYXRlUm93X0FueV9BVlgyLCBJ
bnRlcnBvbGF0ZVJvd19BVlgyLCAxLCAxLCAzMSkKQEAgLTY0OSwyMiArODEwLDI1IEBAIEFOWTEx
VChJbnRlcnBvbGF0ZVJvd19BbnlfTkVPTiwgSW50ZXJwb2xhdGVSb3dfTkVPTiwgMSwgMSwgMTUp
CiAjaWZkZWYgSEFTX0lOVEVSUE9MQVRFUk9XX0RTUFIyCiBBTlkxMVQoSW50ZXJwb2xhdGVSb3df
QW55X0RTUFIyLCBJbnRlcnBvbGF0ZVJvd19EU1BSMiwgMSwgMSwgMykKICNlbmRpZgorI2lmZGVm
IEhBU19JTlRFUlBPTEFURVJPV19NU0EKK0FOWTExVChJbnRlcnBvbGF0ZVJvd19BbnlfTVNBLCBJ
bnRlcnBvbGF0ZVJvd19NU0EsIDEsIDEsIDMxKQorI2VuZGlmCiAjdW5kZWYgQU5ZMTFUCiAKIC8v
IEFueSAxIHRvIDEgbWlycm9yLgotI2RlZmluZSBBTlkxMU0oTkFNRUFOWSwgQU5ZX1NJTUQsIEJQ
UCwgTUFTSykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB2b2lkIE5B
TUVBTlkoY29uc3QgdWludDgqIHNyY19wdHIsIHVpbnQ4KiBkc3RfcHRyLCBpbnQgd2lkdGgpIHsg
ICAgICAgICAgICBcCi0gICAgICBTSU1EX0FMSUdORUQodWludDggdGVtcFs2NCAqIDJdKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVtc2V0KHRlbXAs
IDAsIDY0KTsgIC8qIGZvciBtc2FuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIGludCByID0gd2lkdGggJiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgbiA9IHdpZHRoICYgfk1B
U0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgaWYgKG4gPiAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgQU5ZX1NJTUQoc3JjX3B0ciArIHIgKiBC
UFAsIGRzdF9wdHIsIG4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgbWVtY3B5KHRlbXAsIHNyY19wdHIsIHIgKiBCUFApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIEFOWV9TSU1E
KHRlbXAsIHRlbXAgKyA2NCwgTUFTSyArIDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICBtZW1jcHkoZHN0X3B0ciArIG4gKiBCUFAsIHRlbXAgKyA2NCArIChN
QVNLICsgMSAtIHIpICogQlBQLCByICogQlBQKTsgICAgXAotICAgIH0KKyNkZWZpbmUgQU5ZMTFN
KE5BTUVBTlksIEFOWV9TSU1ELCBCUFAsIE1BU0spICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICB2b2lkIE5BTUVBTlkoY29uc3QgdWludDgqIHNyY19wdHIsIHVpbnQ4KiBkc3RfcHRy
LCBpbnQgd2lkdGgpIHsgICAgICAgICBcCisgICAgU0lNRF9BTElHTkVEKHVpbnQ4IHRlbXBbNjQg
KiAyXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQo
dGVtcCwgMCwgNjQpOyAvKiBmb3IgbXNhbiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGludCByID0gd2lkdGggJiBNQVNLOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IG4gPSB3aWR0aCAmIH5NQVNLOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAo
biA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgICAgQU5ZX1NJTUQoc3JjX3B0ciArIHIgKiBCUFAsIGRzdF9wdHIsIG4p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBt
ZW1jcHkodGVtcCwgc3JjX3B0ciwgciogQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIEFOWV9TSU1EKHRlbXAsIHRlbXAgKyA2NCwgTUFTSyArIDEpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtY3B5KGRzdF9wdHIgKyBu
ICogQlBQLCB0ZW1wICsgNjQgKyAoTUFTSyArIDEgLSByKSAqIEJQUCwgciAqIEJQUCk7IFwKKyAg
fQogCiAjaWZkZWYgSEFTX01JUlJPUlJPV19BVlgyCiBBTlkxMU0oTWlycm9yUm93X0FueV9BVlgy
LCBNaXJyb3JSb3dfQVZYMiwgMSwgMzEpCkBAIC02OTMsMTcgKzg1NywxNyBAQCBBTlkxMU0oQVJH
Qk1pcnJvclJvd19BbnlfTVNBLCBBUkdCTWlycm9yUm93X01TQSwgNCwgMTUpCiAjdW5kZWYgQU5Z
MTFNCiAKIC8vIEFueSAxIHBsYW5lLiAobWVtc2V0KQotI2RlZmluZSBBTlkxKE5BTUVBTlksIEFO
WV9TSU1ELCBULCBCUFAsIE1BU0spICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB2b2lkIE5BTUVBTlkodWludDgqIGRzdF9wdHIsIFQgdjMyLCBpbnQgd2lkdGgpIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBTSU1EX0FMSUdORUQodWludDggdGVtcFs2
NF0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
aW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBuID0gd2lkdGggJiB+TUFTSzsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpZiAobiA+
IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBBTllfU0lNRChkc3RfcHRyLCB2MzIsIG4pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICBBTllfU0lNRCh0ZW1wLCB2MzIsIE1BU0sgKyAxKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWVtY3B5KGRzdF9wdHIgKyBuICog
QlBQLCB0ZW1wLCByICogQlBQKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICB9CisjZGVmaW5lIEFOWTEoTkFNRUFOWSwgQU5ZX1NJTUQsIFQsIEJQUCwgTUFTSykgICAgICBc
CisgIHZvaWQgTkFNRUFOWSh1aW50OCogZHN0X3B0ciwgVCB2MzIsIGludCB3aWR0aCkgeyBcCisg
ICAgU0lNRF9BTElHTkVEKHVpbnQ4IHRlbXBbNjRdKTsgICAgICAgICAgICAgICAgICBcCisgICAg
aW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50
IG4gPSB3aWR0aCAmIH5NQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKG4g
PiAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBBTllfU0lN
RChkc3RfcHRyLCB2MzIsIG4pOyAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQU5ZX1NJTUQodGVtcCwg
djMyLCBNQVNLICsgMSk7ICAgICAgICAgICAgICAgICBcCisgICAgbWVtY3B5KGRzdF9wdHIgKyBu
ICogQlBQLCB0ZW1wLCByICogQlBQKTsgICAgICBcCisgIH0KIAogI2lmZGVmIEhBU19TRVRST1df
WDg2CiBBTlkxKFNldFJvd19BbnlfWDg2LCBTZXRSb3dfWDg2LCB1aW50OCwgMSwgMykKQEAgLTcx
NCwyMyArODc4LDI2IEBAIEFOWTEoU2V0Um93X0FueV9ORU9OLCBTZXRSb3dfTkVPTiwgdWludDgs
IDEsIDE1KQogI2lmZGVmIEhBU19BUkdCU0VUUk9XX05FT04KIEFOWTEoQVJHQlNldFJvd19Bbnlf
TkVPTiwgQVJHQlNldFJvd19ORU9OLCB1aW50MzIsIDQsIDMpCiAjZW5kaWYKKyNpZmRlZiBIQVNf
QVJHQlNFVFJPV19NU0EKK0FOWTEoQVJHQlNldFJvd19BbnlfTVNBLCBBUkdCU2V0Um93X01TQSwg
dWludDMyLCA0LCAzKQorI2VuZGlmCiAjdW5kZWYgQU5ZMQogCiAvLyBBbnkgMSB0byAyLiAgT3V0
cHV0cyBVViBwbGFuZXMuCi0jZGVmaW5lIEFOWTEyKE5BTUVBTlksIEFOWV9TSU1ELCBVVlNISUZU
LCBCUFAsIERVVlNISUZULCBNQVNLKSAgICAgICAgICAgICAgICAgXAotICAgIHZvaWQgTkFNRUFO
WShjb25zdCB1aW50OCogc3JjX3B0ciwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3
aWR0aCkge1wKLSAgICAgIFNJTURfQUxJR05FRCh1aW50OCB0ZW1wWzEyOCAqIDNdKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBtZW1zZXQodGVtcCwgMCwg
MTI4KTsgIC8qIGZvciBtc2FuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgaW50IHIgPSB3aWR0aCAmIE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBuID0gd2lkdGggJiB+TUFTSzsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICBpZiAobiA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICBBTllfU0lNRChzcmNfcHRyLCBkc3RfdSwgZHN0
X3YsIG4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIH0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBtZW1jcHkodGVtcCwgc3JjX3B0ciAgKyAobiA+PiBVVlNISUZU
KSAqIEJQUCwgU1MociwgVVZTSElGVCkgKiBCUFApOyAgICAgXAotICAgICAgQU5ZX1NJTUQodGVt
cCwgdGVtcCArIDEyOCwgdGVtcCArIDI1NiwgTUFTSyArIDEpOyAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIG1lbWNweShkc3RfdSArIChuID4+IERVVlNISUZUKSwgdGVtcCArIDEyOCwg
U1MociwgRFVWU0hJRlQpKTsgICAgICAgICAgICBcCi0gICAgICBtZW1jcHkoZHN0X3YgKyAobiA+
PiBEVVZTSElGVCksIHRlbXAgKyAyNTYsIFNTKHIsIERVVlNISUZUKSk7ICAgICAgICAgICAgXAot
ICAgIH0KKyNkZWZpbmUgQU5ZMTIoTkFNRUFOWSwgQU5ZX1NJTUQsIFVWU0hJRlQsIEJQUCwgRFVW
U0hJRlQsIE1BU0spICAgICAgICAgICAgICAgIFwKKyAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4
KiBzcmNfcHRyLCB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7IFwKKyAg
ICBTSU1EX0FMSUdORUQodWludDggdGVtcFsxMjggKiAzXSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQodGVtcCwgMCwgMTI4KTsgLyogZm9yIG1z
YW4gKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbnQgciA9
IHdpZHRoICYgTUFTSzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBpbnQgbiA9IHdpZHRoICYgfk1BU0s7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAobiA+IDApIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgIEFOWV9TSU1EKHNyY19wdHIsIGRzdF91LCBkc3Rfdiwgbik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBt
ZW1jcHkodGVtcCwgc3JjX3B0ciArIChuID4+IFVWU0hJRlQpICogQlBQLCBTUyhyLCBVVlNISUZU
KSAqIEJQUCk7ICAgICAgIFwKKyAgICBBTllfU0lNRCh0ZW1wLCB0ZW1wICsgMTI4LCB0ZW1wICsg
MjU2LCBNQVNLICsgMSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1jcHkoZHN0
X3UgKyAobiA+PiBEVVZTSElGVCksIHRlbXAgKyAxMjgsIFNTKHIsIERVVlNISUZUKSk7ICAgICAg
ICAgICAgIFwKKyAgICBtZW1jcHkoZHN0X3YgKyAobiA+PiBEVVZTSElGVCksIHRlbXAgKyAyNTYs
IFNTKHIsIERVVlNISUZUKSk7ICAgICAgICAgICAgIFwKKyAgfQogCiAjaWZkZWYgSEFTX1NQTElU
VVZST1dfU1NFMgogQU5ZMTIoU3BsaXRVVlJvd19BbnlfU1NFMiwgU3BsaXRVVlJvd19TU0UyLCAw
LCAyLCAwLCAxNSkKQEAgLTc2MSw2ICs5MjgsNyBAQCBBTlkxMihZVVkyVG9VVjQyMlJvd19Bbnlf
TkVPTiwgWVVZMlRvVVY0MjJSb3dfTkVPTiwgMSwgNCwgMSwgMTUpCiBBTlkxMihVWVZZVG9VVjQy
MlJvd19BbnlfTkVPTiwgVVlWWVRvVVY0MjJSb3dfTkVPTiwgMSwgNCwgMSwgMTUpCiAjZW5kaWYK
ICNpZmRlZiBIQVNfWVVZMlRPVVY0MjJST1dfTVNBCitBTlkxMihBUkdCVG9VVjQ0NFJvd19Bbnlf
TVNBLCBBUkdCVG9VVjQ0NFJvd19NU0EsIDAsIDQsIDAsIDE1KQogQU5ZMTIoWVVZMlRvVVY0MjJS
b3dfQW55X01TQSwgWVVZMlRvVVY0MjJSb3dfTVNBLCAxLCA0LCAxLCAzMSkKIEFOWTEyKFVZVllU
b1VWNDIyUm93X0FueV9NU0EsIFVZVllUb1VWNDIyUm93X01TQSwgMSwgNCwgMSwgMzEpCiAjZW5k
aWYKQEAgLTc2OCwyOSArOTM2LDI5IEBAIEFOWTEyKFVZVllUb1VWNDIyUm93X0FueV9NU0EsIFVZ
VllUb1VWNDIyUm93X01TQSwgMSwgNCwgMSwgMzEpCiAKIC8vIEFueSAxIHRvIDIgd2l0aCBzb3Vy
Y2Ugc3RyaWRlICgyIHJvd3Mgb2Ygc291cmNlKS4gIE91dHB1dHMgVVYgcGxhbmVzLgogLy8gMTI4
IGJ5dGUgcm93IGFsbG93cyBmb3IgMzIgYXZ4IEFSR0IgcGl4ZWxzLgotI2RlZmluZSBBTlkxMlMo
TkFNRUFOWSwgQU5ZX1NJTUQsIFVWU0hJRlQsIEJQUCwgTUFTSykgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICB2b2lkIE5BTUVBTlkoY29uc3QgdWludDgqIHNyY19wdHIsIGludCBzcmNf
c3RyaWRlX3B0ciwgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgU0lNRF9BTElHTkVEKHVpbnQ4IHRlbXBbMTI4ICogNF0pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIG1lbXNldCh0ZW1wLCAwLCAxMjggKiAy
KTsgIC8qIGZvciBtc2FuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICBpbnQgciA9IHdpZHRoICYgTUFTSzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgaW50IG4gPSB3aWR0aCAmIH5NQVNLOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGlmIChu
ID4gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgIEFOWV9TSU1EKHNyY19wdHIsIHNyY19zdHJpZGVfcHRyLCBk
c3RfdSwgZHN0X3YsIG4pOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIG1lbWNweSh0ZW1wLCBzcmNfcHRyICArIChuID4+IFVWU0hJRlQpICogQlBQ
LCBTUyhyLCBVVlNISUZUKSAqIEJQUCk7ICAgICBcCi0gICAgICBtZW1jcHkodGVtcCArIDEyOCwg
c3JjX3B0ciAgKyBzcmNfc3RyaWRlX3B0ciArIChuID4+IFVWU0hJRlQpICogQlBQLCAgICAgXAot
ICAgICAgICAgICAgIFNTKHIsIFVWU0hJRlQpICogQlBQKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGlmICgod2lkdGggJiAxKSAmJiBVVlNISUZU
ID09IDApIHsgIC8qIHJlcGVhdCBsYXN0IHBpeGVsIGZvciBzdWJzYW1wbGUgKi9cCi0gICAgICAg
IG1lbWNweSh0ZW1wICsgU1MociwgVVZTSElGVCkgKiBCUFAsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgdGVtcCArIFNTKHIsIFVWU0hJRlQpICog
QlBQIC0gQlBQLCBCUFApOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgbWVtY3B5
KHRlbXAgKyAxMjggKyBTUyhyLCBVVlNISUZUKSAqIEJQUCwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICB0ZW1wICsgMTI4ICsgU1MociwgVVZTSElGVCkgKiBC
UFAgLSBCUFAsIEJQUCk7ICAgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIEFOWV9TSU1EKHRlbXAsIDEyOCwgdGVtcCArIDI1NiwgdGVtcCArIDM4NCwgTUFT
SyArIDEpOyAgICAgICAgICAgICAgICAgICBcCi0gICAgICBtZW1jcHkoZHN0X3UgKyAobiA+PiAx
KSwgdGVtcCArIDI1NiwgU1MociwgMSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgbWVtY3B5KGRzdF92ICsgKG4gPj4gMSksIHRlbXAgKyAzODQsIFNTKHIsIDEpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICB9CisjZGVmaW5lIEFOWTEyUyhOQU1FQU5ZLCBBTllf
U0lNRCwgVVZTSElGVCwgQlBQLCBNQVNLKSAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgdm9p
ZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBpbnQgc3JjX3N0cmlkZV9wdHIsIHVpbnQ4
KiBkc3RfdSwgICAgICAgXAorICAgICAgICAgICAgICAgdWludDgqIGRzdF92LCBpbnQgd2lkdGgp
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgU0lNRF9BTElHTkVE
KHVpbnQ4IHRlbXBbMTI4ICogNF0pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBtZW1zZXQodGVtcCwgMCwgMTI4ICogMik7IC8qIGZvciBtc2FuICovICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCByID0gd2lkdGggJiBNQVNLOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
aW50IG4gPSB3aWR0aCAmIH5NQVNLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBpZiAobiA+IDApIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgQU5ZX1NJTUQo
c3JjX3B0ciwgc3JjX3N0cmlkZV9wdHIsIGRzdF91LCBkc3Rfdiwgbik7ICAgICAgICAgICAgICAg
ICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1jcHkodGVtcCwgc3JjX3B0ciAr
IChuID4+IFVWU0hJRlQpICogQlBQLCBTUyhyLCBVVlNISUZUKSAqIEJQUCk7ICAgICAgXAorICAg
IG1lbWNweSh0ZW1wICsgMTI4LCBzcmNfcHRyICsgc3JjX3N0cmlkZV9wdHIgKyAobiA+PiBVVlNI
SUZUKSAqIEJQUCwgICAgICBcCisgICAgICAgICAgIFNTKHIsIFVWU0hJRlQpICogQlBQKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoKHdpZHRo
ICYgMSkgJiYgVVZTSElGVCA9PSAwKSB7IC8qIHJlcGVhdCBsYXN0IHBpeGVsIGZvciBzdWJzYW1w
bGUgKi8gXAorICAgICAgbWVtY3B5KHRlbXAgKyBTUyhyLCBVVlNISUZUKSAqIEJQUCwgdGVtcCAr
IFNTKHIsIFVWU0hJRlQpICogQlBQIC0gQlBQLCBcCisgICAgICAgICAgICAgQlBQKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgIG1lbWNweSh0ZW1wICsgMTI4ICsgU1MociwgVVZTSElGVCkgKiBCUFAsICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgIHRlbXAgKyAxMjggKyBTUyhyLCBVVlNI
SUZUKSAqIEJQUCAtIEJQUCwgQlBQKTsgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBBTllfU0lNRCh0ZW1wLCAxMjgsIHRlbXAgKyAyNTYsIHRlbXAgKyAzODQs
IE1BU0sgKyAxKTsgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbWNweShkc3RfdSArIChuID4+
IDEpLCB0ZW1wICsgMjU2LCBTUyhyLCAxKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgbWVtY3B5KGRzdF92ICsgKG4gPj4gMSksIHRlbXAgKyAzODQsIFNTKHIsIDEpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgfQogCiAjaWZkZWYgSEFTX0FSR0JUT1VWUk9XX0FWWDIK
IEFOWTEyUyhBUkdCVG9VVlJvd19BbnlfQVZYMiwgQVJHQlRvVVZSb3dfQVZYMiwgMCwgNCwgMzEp
CkBAIC04MjIsMjcgKzk5MCw1MSBAQCBBTlkxMlMoQVJHQlRvVVZSb3dfQW55X01TQSwgQVJHQlRv
VVZSb3dfTVNBLCAwLCA0LCAzMSkKICNpZmRlZiBIQVNfQVJHQlRPVVZKUk9XX05FT04KIEFOWTEy
UyhBUkdCVG9VVkpSb3dfQW55X05FT04sIEFSR0JUb1VWSlJvd19ORU9OLCAwLCA0LCAxNSkKICNl
bmRpZgorI2lmZGVmIEhBU19BUkdCVE9VVkpST1dfTVNBCitBTlkxMlMoQVJHQlRvVVZKUm93X0Fu
eV9NU0EsIEFSR0JUb1VWSlJvd19NU0EsIDAsIDQsIDMxKQorI2VuZGlmCiAjaWZkZWYgSEFTX0JH
UkFUT1VWUk9XX05FT04KIEFOWTEyUyhCR1JBVG9VVlJvd19BbnlfTkVPTiwgQkdSQVRvVVZSb3df
TkVPTiwgMCwgNCwgMTUpCiAjZW5kaWYKKyNpZmRlZiBIQVNfQkdSQVRPVVZST1dfTVNBCitBTlkx
MlMoQkdSQVRvVVZSb3dfQW55X01TQSwgQkdSQVRvVVZSb3dfTVNBLCAwLCA0LCAzMSkKKyNlbmRp
ZgogI2lmZGVmIEhBU19BQkdSVE9VVlJPV19ORU9OCiBBTlkxMlMoQUJHUlRvVVZSb3dfQW55X05F
T04sIEFCR1JUb1VWUm93X05FT04sIDAsIDQsIDE1KQogI2VuZGlmCisjaWZkZWYgSEFTX0FCR1JU
T1VWUk9XX01TQQorQU5ZMTJTKEFCR1JUb1VWUm93X0FueV9NU0EsIEFCR1JUb1VWUm93X01TQSwg
MCwgNCwgMzEpCisjZW5kaWYKICNpZmRlZiBIQVNfUkdCQVRPVVZST1dfTkVPTgogQU5ZMTJTKFJH
QkFUb1VWUm93X0FueV9ORU9OLCBSR0JBVG9VVlJvd19ORU9OLCAwLCA0LCAxNSkKICNlbmRpZgor
I2lmZGVmIEhBU19SR0JBVE9VVlJPV19NU0EKK0FOWTEyUyhSR0JBVG9VVlJvd19BbnlfTVNBLCBS
R0JBVG9VVlJvd19NU0EsIDAsIDQsIDMxKQorI2VuZGlmCiAjaWZkZWYgSEFTX1JHQjI0VE9VVlJP
V19ORU9OCiBBTlkxMlMoUkdCMjRUb1VWUm93X0FueV9ORU9OLCBSR0IyNFRvVVZSb3dfTkVPTiwg
MCwgMywgMTUpCiAjZW5kaWYKKyNpZmRlZiBIQVNfUkdCMjRUT1VWUk9XX01TQQorQU5ZMTJTKFJH
QjI0VG9VVlJvd19BbnlfTVNBLCBSR0IyNFRvVVZSb3dfTVNBLCAwLCAzLCAxNSkKKyNlbmRpZgog
I2lmZGVmIEhBU19SQVdUT1VWUk9XX05FT04KIEFOWTEyUyhSQVdUb1VWUm93X0FueV9ORU9OLCBS
QVdUb1VWUm93X05FT04sIDAsIDMsIDE1KQogI2VuZGlmCisjaWZkZWYgSEFTX1JBV1RPVVZST1df
TVNBCitBTlkxMlMoUkFXVG9VVlJvd19BbnlfTVNBLCBSQVdUb1VWUm93X01TQSwgMCwgMywgMTUp
CisjZW5kaWYKICNpZmRlZiBIQVNfUkdCNTY1VE9VVlJPV19ORU9OCiBBTlkxMlMoUkdCNTY1VG9V
VlJvd19BbnlfTkVPTiwgUkdCNTY1VG9VVlJvd19ORU9OLCAwLCAyLCAxNSkKICNlbmRpZgorI2lm
ZGVmIEhBU19SR0I1NjVUT1VWUk9XX01TQQorQU5ZMTJTKFJHQjU2NVRvVVZSb3dfQW55X01TQSwg
UkdCNTY1VG9VVlJvd19NU0EsIDAsIDIsIDE1KQorI2VuZGlmCiAjaWZkZWYgSEFTX0FSR0IxNTU1
VE9VVlJPV19ORU9OCiBBTlkxMlMoQVJHQjE1NTVUb1VWUm93X0FueV9ORU9OLCBBUkdCMTU1NVRv
VVZSb3dfTkVPTiwgMCwgMiwgMTUpCiAjZW5kaWYKKyNpZmRlZiBIQVNfQVJHQjE1NTVUT1VWUk9X
X01TQQorQU5ZMTJTKEFSR0IxNTU1VG9VVlJvd19BbnlfTVNBLCBBUkdCMTU1NVRvVVZSb3dfTVNB
LCAwLCAyLCAxNSkKKyNlbmRpZgogI2lmZGVmIEhBU19BUkdCNDQ0NFRPVVZST1dfTkVPTgogQU5Z
MTJTKEFSR0I0NDQ0VG9VVlJvd19BbnlfTkVPTiwgQVJHQjQ0NDRUb1VWUm93X05FT04sIDAsIDIs
IDE1KQogI2VuZGlmCkBAIC04NTIsNiArMTA0NCwxOCBAQCBBTlkxMlMoWVVZMlRvVVZSb3dfQW55
X05FT04sIFlVWTJUb1VWUm93X05FT04sIDEsIDQsIDE1KQogI2lmZGVmIEhBU19VWVZZVE9VVlJP
V19ORU9OCiBBTlkxMlMoVVlWWVRvVVZSb3dfQW55X05FT04sIFVZVllUb1VWUm93X05FT04sIDEs
IDQsIDE1KQogI2VuZGlmCisjaWZkZWYgSEFTX0JHUkFUT1VWUk9XX0RTUFIyCitBTlkxMlMoQkdS
QVRvVVZSb3dfQW55X0RTUFIyLCBCR1JBVG9VVlJvd19EU1BSMiwgMCwgNCwgMTUpCisjZW5kaWYK
KyNpZmRlZiBIQVNfQUJHUlRPVVZST1dfRFNQUjIKK0FOWTEyUyhBQkdSVG9VVlJvd19BbnlfRFNQ
UjIsIEFCR1JUb1VWUm93X0RTUFIyLCAwLCA0LCAxNSkKKyNlbmRpZgorI2lmZGVmIEhBU19SR0JB
VE9VVlJPV19EU1BSMgorQU5ZMTJTKFJHQkFUb1VWUm93X0FueV9EU1BSMiwgUkdCQVRvVVZSb3df
RFNQUjIsIDAsIDQsIDE1KQorI2VuZGlmCisjaWZkZWYgSEFTX0FSR0JUT1VWUk9XX0RTUFIyCitB
TlkxMlMoQVJHQlRvVVZSb3dfQW55X0RTUFIyLCBBUkdCVG9VVlJvd19EU1BSMiwgMCwgNCwgMTUp
CisjZW5kaWYKICNpZmRlZiBIQVNfWVVZMlRPVVZST1dfTVNBCiBBTlkxMlMoWVVZMlRvVVZSb3df
QW55X01TQSwgWVVZMlRvVVZSb3dfTVNBLCAxLCA0LCAzMSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291
cmNlL3Jvd19jb21tb24uY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93X2NvbW1vbi5jYwppbmRleCBjOTdiMmM2OTlkMTUz
MTFmN2U4NDE5NjA2YWIxYzNkZjU1YmI0NjU1Li5iZjk1M2VlZmZlYTVlNTg1NDIwMTEzYTEwYzdi
NjY0MjAzMWM4MDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93X2NvbW1vbi5jYworKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93
X2NvbW1vbi5jYwpAQCAtNDAsNyArNDAsNyBAQCBzdGF0aWMgX19pbmxpbmUgdWludDMyIEFicyhp
bnQzMiB2KSB7CiAgIGludCBtID0gdiA+PiAzMTsKICAgcmV0dXJuICh2ICsgbSkgXiBtOwogfQot
I2Vsc2UgIC8vIFVTRV9CUkFOQ0hMRVNTCisjZWxzZSAgIC8vIFVTRV9CUkFOQ0hMRVNTCiBzdGF0
aWMgX19pbmxpbmUgaW50MzIgY2xhbXAwKGludDMyIHYpIHsKICAgcmV0dXJuICh2IDwgMCkgPyAw
IDogdjsKIH0KQEAgLTEyOSw3ICsxMjksOCBAQCB2b2lkIFJHQjU2NVRvQVJHQlJvd19DKGNvbnN0
IHVpbnQ4KiBzcmNfcmdiNTY1LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewogICB9CiB9
CiAKLXZvaWQgQVJHQjE1NTVUb0FSR0JSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCB1
aW50OCogZHN0X2FyZ2IsCit2b2lkIEFSR0IxNTU1VG9BUkdCUm93X0MoY29uc3QgdWludDgqIHNy
Y19hcmdiMTU1NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGludCB4OwogICBmb3IgKHgg
PSAwOyB4IDwgd2lkdGg7ICsreCkgewpAQCAtMTQ2LDcgKzE0Nyw4IEBAIHZvaWQgQVJHQjE1NTVU
b0FSR0JSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCB1aW50OCogZHN0X2FyZ2IsCiAg
IH0KIH0KIAotdm9pZCBBUkdCNDQ0NFRvQVJHQlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0
NDQsIHVpbnQ4KiBkc3RfYXJnYiwKK3ZvaWQgQVJHQjQ0NDRUb0FSR0JSb3dfQyhjb25zdCB1aW50
OCogc3JjX2FyZ2I0NDQ0LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgaW50IHg7CiAgIGZv
ciAoeCA9IDA7IHggPCB3aWR0aDsgKyt4KSB7CkBAIC0yMDAsOCArMjAyLDggQEAgdm9pZCBBUkdC
VG9SR0I1NjVSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQg
d2lkdGgpIHsKICAgICB1aW50OCBiMSA9IHNyY19hcmdiWzRdID4+IDM7CiAgICAgdWludDggZzEg
PSBzcmNfYXJnYls1XSA+PiAyOwogICAgIHVpbnQ4IHIxID0gc3JjX2FyZ2JbNl0gPj4gMzsKLSAg
ICBXUklURVdPUkQoZHN0X3JnYiwgYjAgfCAoZzAgPDwgNSkgfCAocjAgPDwgMTEpIHwKLSAgICAg
ICAgICAgICAgKGIxIDw8IDE2KSB8IChnMSA8PCAyMSkgfCAocjEgPDwgMjcpKTsKKyAgICBXUklU
RVdPUkQoZHN0X3JnYiwgYjAgfCAoZzAgPDwgNSkgfCAocjAgPDwgMTEpIHwgKGIxIDw8IDE2KSB8
IChnMSA8PCAyMSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHIxIDw8IDI3KSk7CiAg
ICAgZHN0X3JnYiArPSA0OwogICAgIHNyY19hcmdiICs9IDg7CiAgIH0KQEAgLTIyMSw4ICsyMjMs
MTAgQEAgdm9pZCBBUkdCVG9SR0I1NjVSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4
KiBkc3RfcmdiLCBpbnQgd2lkdGgpIHsKIC8vIGVuZGlhbiB3aWxsIG5vdCBhZmZlY3Qgb3JkZXIg
b2YgdGhlIG9yaWdpbmFsIG1hdHJpeC4gIEJ1dCB0aGUgZGl0aGVyNAogLy8gd2lsbCBjb250YWlu
aW5nIHRoZSBmaXJzdCBwaXhlbCBpbiB0aGUgbG93ZXIgYnl0ZSBmb3IgbGl0dGxlIGVuZGlhbgog
Ly8gb3IgdGhlIHVwcGVyIGJ5dGUgZm9yIGJpZyBlbmRpYW4uCi12b2lkIEFSR0JUb1JHQjU2NURp
dGhlclJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMiBkaXRoZXI0LCBpbnQgd2lkdGgpIHsK
K3ZvaWQgQVJHQlRvUkdCNTY1RGl0aGVyUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDMyIGRpdGhlcjQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgewogICBpbnQgeDsKICAgZm9yICh4ID0gMDsgeCA8IHdpZHRo
IC0gMTsgeCArPSAyKSB7CiAgICAgaW50IGRpdGhlcjAgPSAoKGNvbnN0IHVuc2lnbmVkIGNoYXIq
KSgmZGl0aGVyNCkpW3ggJiAzXTsKQEAgLTIzMyw4ICsyMzcsOCBAQCB2b2lkIEFSR0JUb1JHQjU2
NURpdGhlclJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsCiAgICAg
dWludDggYjEgPSBjbGFtcDI1NShzcmNfYXJnYls0XSArIGRpdGhlcjEpID4+IDM7CiAgICAgdWlu
dDggZzEgPSBjbGFtcDI1NShzcmNfYXJnYls1XSArIGRpdGhlcjEpID4+IDI7CiAgICAgdWludDgg
cjEgPSBjbGFtcDI1NShzcmNfYXJnYls2XSArIGRpdGhlcjEpID4+IDM7Ci0gICAgV1JJVEVXT1JE
KGRzdF9yZ2IsIGIwIHwgKGcwIDw8IDUpIHwgKHIwIDw8IDExKSB8Ci0gICAgICAgICAgICAgIChi
MSA8PCAxNikgfCAoZzEgPDwgMjEpIHwgKHIxIDw8IDI3KSk7CisgICAgV1JJVEVXT1JEKGRzdF9y
Z2IsIGIwIHwgKGcwIDw8IDUpIHwgKHIwIDw8IDExKSB8IChiMSA8PCAxNikgfCAoZzEgPDwgMjEp
IHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChyMSA8PCAyNykpOwogICAgIGRzdF9yZ2Ig
Kz0gNDsKICAgICBzcmNfYXJnYiArPSA4OwogICB9CkBAIC0yNTgsOSArMjYyLDggQEAgdm9pZCBB
UkdCVG9BUkdCMTU1NVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2Is
IGludCB3aWR0aCkgewogICAgIHVpbnQ4IGcxID0gc3JjX2FyZ2JbNV0gPj4gMzsKICAgICB1aW50
OCByMSA9IHNyY19hcmdiWzZdID4+IDM7CiAgICAgdWludDggYTEgPSBzcmNfYXJnYls3XSA+PiA3
OwotICAgICoodWludDMyKikoZHN0X3JnYikgPQotICAgICAgICBiMCB8IChnMCA8PCA1KSB8IChy
MCA8PCAxMCkgfCAoYTAgPDwgMTUpIHwKLSAgICAgICAgKGIxIDw8IDE2KSB8IChnMSA8PCAyMSkg
fCAocjEgPDwgMjYpIHwgKGExIDw8IDMxKTsKKyAgICAqKHVpbnQzMiopKGRzdF9yZ2IpID0gYjAg
fCAoZzAgPDwgNSkgfCAocjAgPDwgMTApIHwgKGEwIDw8IDE1KSB8CisgICAgICAgICAgICAgICAg
ICAgICAgICAgIChiMSA8PCAxNikgfCAoZzEgPDwgMjEpIHwgKHIxIDw8IDI2KSB8IChhMSA8PCAz
MSk7CiAgICAgZHN0X3JnYiArPSA0OwogICAgIHNyY19hcmdiICs9IDg7CiAgIH0KQEAgLTI2OSw4
ICsyNzIsNyBAQCB2b2lkIEFSR0JUb0FSR0IxNTU1Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdi
LCB1aW50OCogZHN0X3JnYiwgaW50IHdpZHRoKSB7CiAgICAgdWludDggZzAgPSBzcmNfYXJnYlsx
XSA+PiAzOwogICAgIHVpbnQ4IHIwID0gc3JjX2FyZ2JbMl0gPj4gMzsKICAgICB1aW50OCBhMCA9
IHNyY19hcmdiWzNdID4+IDc7Ci0gICAgKih1aW50MTYqKShkc3RfcmdiKSA9Ci0gICAgICAgIGIw
IHwgKGcwIDw8IDUpIHwgKHIwIDw8IDEwKSB8IChhMCA8PCAxNSk7CisgICAgKih1aW50MTYqKShk
c3RfcmdiKSA9IGIwIHwgKGcwIDw8IDUpIHwgKHIwIDw8IDEwKSB8IChhMCA8PCAxNSk7CiAgIH0K
IH0KIApAQCAtMjg1LDkgKzI4Nyw4IEBAIHZvaWQgQVJHQlRvQVJHQjQ0NDRSb3dfQyhjb25zdCB1
aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpIHsKICAgICB1aW50OCBn
MSA9IHNyY19hcmdiWzVdID4+IDQ7CiAgICAgdWludDggcjEgPSBzcmNfYXJnYls2XSA+PiA0Owog
ICAgIHVpbnQ4IGExID0gc3JjX2FyZ2JbN10gPj4gNDsKLSAgICAqKHVpbnQzMiopKGRzdF9yZ2Ip
ID0KLSAgICAgICAgYjAgfCAoZzAgPDwgNCkgfCAocjAgPDwgOCkgfCAoYTAgPDwgMTIpIHwKLSAg
ICAgICAgKGIxIDw8IDE2KSB8IChnMSA8PCAyMCkgfCAocjEgPDwgMjQpIHwgKGExIDw8IDI4KTsK
KyAgICAqKHVpbnQzMiopKGRzdF9yZ2IpID0gYjAgfCAoZzAgPDwgNCkgfCAocjAgPDwgOCkgfCAo
YTAgPDwgMTIpIHwgKGIxIDw8IDE2KSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgIChnMSA8
PCAyMCkgfCAocjEgPDwgMjQpIHwgKGExIDw8IDI4KTsKICAgICBkc3RfcmdiICs9IDQ7CiAgICAg
c3JjX2FyZ2IgKz0gODsKICAgfQpAQCAtMjk2LDEzICsyOTcsMTIgQEAgdm9pZCBBUkdCVG9BUkdC
NDQ0NFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0
aCkgewogICAgIHVpbnQ4IGcwID0gc3JjX2FyZ2JbMV0gPj4gNDsKICAgICB1aW50OCByMCA9IHNy
Y19hcmdiWzJdID4+IDQ7CiAgICAgdWludDggYTAgPSBzcmNfYXJnYlszXSA+PiA0OwotICAgICoo
dWludDE2KikoZHN0X3JnYikgPQotICAgICAgICBiMCB8IChnMCA8PCA0KSB8IChyMCA8PCA4KSB8
IChhMCA8PCAxMik7CisgICAgKih1aW50MTYqKShkc3RfcmdiKSA9IGIwIHwgKGcwIDw8IDQpIHwg
KHIwIDw8IDgpIHwgKGEwIDw8IDEyKTsKICAgfQogfQogCiBzdGF0aWMgX19pbmxpbmUgaW50IFJH
QlRvWSh1aW50OCByLCB1aW50OCBnLCB1aW50OCBiKSB7Ci0gIHJldHVybiAoNjYgKiByICsgMTI5
ICogZyArICAyNSAqIGIgKyAweDEwODApID4+IDg7CisgIHJldHVybiAoNjYgKiByICsgMTI5ICog
ZyArIDI1ICogYiArIDB4MTA4MCkgPj4gODsKIH0KIAogc3RhdGljIF9faW5saW5lIGludCBSR0JU
b1UodWludDggciwgdWludDggZywgdWludDggYikgewpAQCAtMzEyLDQxICszMTIsNDUgQEAgc3Rh
dGljIF9faW5saW5lIGludCBSR0JUb1YodWludDggciwgdWludDggZywgdWludDggYikgewogICBy
ZXR1cm4gKDExMiAqIHIgLSA5NCAqIGcgLSAxOCAqIGIgKyAweDgwODApID4+IDg7CiB9CiAKLSNk
ZWZpbmUgTUFLRVJPV1koTkFNRSwgUiwgRywgQiwgQlBQKSBcCi12b2lkIE5BTUUgIyMgVG9ZUm93
X0MoY29uc3QgdWludDgqIHNyY19hcmdiMCwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsgICAg
ICAgXAotICBpbnQgeDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyAr
K3gpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgZHN0X3lbMF0gPSBSR0JUb1koc3JjX2FyZ2IwW1JdLCBzcmNfYXJnYjBbR10sIHNyY19hcmdi
MFtCXSk7ICAgICAgICAgICAgICAgXAotICAgIHNyY19hcmdiMCArPSBCUFA7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBkc3Rf
eSArPSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLXZvaWQgTkFNRSAjIyBUb1VWUm93X0MoY29uc3QgdWludDgqIHNyY19yZ2IwLCBp
bnQgc3JjX3N0cmlkZV9yZ2IsICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsgICAgICAgICAgICAgICAg
XAotICBjb25zdCB1aW50OCogc3JjX3JnYjEgPSBzcmNfcmdiMCArIHNyY19zdHJpZGVfcmdiOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgaW50IHg7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZv
ciAoeCA9IDA7IHggPCB3aWR0aCAtIDE7IHggKz0gMikgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQ4IGFiID0gKHNyY19yZ2IwW0JdICsgc3JjX3Jn
YjBbQiArIEJQUF0gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgIHNyY19yZ2IxW0JdICsgc3JjX3JnYjFbQiArIEJQUF0pID4+IDI7ICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgdWludDggYWcgPSAoc3JjX3JnYjBbR10gKyBzcmNfcmdiMFtHICsg
QlBQXSArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgc3Jj
X3JnYjFbR10gKyBzcmNfcmdiMVtHICsgQlBQXSkgPj4gMjsgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICB1aW50OCBhciA9IChzcmNfcmdiMFtSXSArIHNyY19yZ2IwW1IgKyBCUFBdICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICBzcmNfcmdiMVtS
XSArIHNyY19yZ2IxW1IgKyBCUFBdKSA+PiAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIGRzdF91WzBdID0gUkdCVG9VKGFyLCBhZywgYWIpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBkc3RfdlswXSA9IFJHQlRvVihhciwgYWcsIGFi
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3Jj
X3JnYjAgKz0gQlBQICogMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIHNyY19yZ2IxICs9IEJQUCAqIDI7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBkc3RfdSArPSAx
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgZHN0X3YgKz0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgaWYgKHdpZHRoICYgMSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdWludDggYWIgPSAoc3JjX3JnYjBbQl0g
KyBzcmNfcmdiMVtCXSkgPj4gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IHVpbnQ4IGFnID0gKHNyY19yZ2IwW0ddICsgc3JjX3JnYjFbR10pID4+IDE7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICB1aW50OCBhciA9IChzcmNfcmdiMFtSXSArIHNyY19y
Z2IxW1JdKSA+PiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZHN0X3Vb
MF0gPSBSR0JUb1UoYXIsIGFnLCBhYik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIGRzdF92WzBdID0gUkdCVG9WKGFyLCBhZywgYWIpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi19CisvLyBBUkdCVG9ZX0MgYW5kIEFSR0JUb1VWX0MKKyNkZWZpbmUgTUFLRVJPV1ko
TkFNRSwgUiwgRywgQiwgQlBQKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgIHZvaWQgTkFNRSMjVG9ZUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiMCwgdWludDgqIGRz
dF95LCBpbnQgd2lkdGgpIHsgXAorICAgIGludCB4OyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKHggPSAwOyB4
IDwgd2lkdGg7ICsreCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICBkc3RfeVswXSA9IFJHQlRvWShzcmNfYXJnYjBbUl0sIHNyY19hcmdiMFtHXSwgc3Jj
X2FyZ2IwW0JdKTsgICAgICAgXAorICAgICAgc3JjX2FyZ2IwICs9IEJQUDsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGRzdF95ICs9IDE7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgdm9pZCBOQU1FIyNUb1VW
Um93X0MoY29uc3QgdWludDgqIHNyY19yZ2IwLCBpbnQgc3JjX3N0cmlkZV9yZ2IsICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQg
d2lkdGgpIHsgICAgICAgICAgXAorICAgIGNvbnN0IHVpbnQ4KiBzcmNfcmdiMSA9IHNyY19yZ2Iw
ICsgc3JjX3N0cmlkZV9yZ2I7ICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbnQgeDsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgZm9yICh4ID0gMDsgeCA8IHdpZHRoIC0gMTsgeCArPSAyKSB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgdWludDggYWIgPSAoc3JjX3JnYjBbQl0gKyBzcmNf
cmdiMFtCICsgQlBQXSArIHNyY19yZ2IxW0JdICsgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
IHNyY19yZ2IxW0IgKyBCUFBdKSA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgIDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgdWludDggYWcgPSAoc3JjX3JnYjBbR10gKyBzcmNf
cmdiMFtHICsgQlBQXSArIHNyY19yZ2IxW0ddICsgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
IHNyY19yZ2IxW0cgKyBCUFBdKSA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgIDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgdWludDggYXIgPSAoc3JjX3JnYjBbUl0gKyBzcmNf
cmdiMFtSICsgQlBQXSArIHNyY19yZ2IxW1JdICsgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
IHNyY19yZ2IxW1IgKyBCUFBdKSA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgIDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgZHN0X3VbMF0gPSBSR0JUb1UoYXIsIGFnLCBhYik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGRzdF92WzBdID0g
UkdCVG9WKGFyLCBhZywgYWIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICBzcmNfcmdiMCArPSBCUFAgKiAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgc3JjX3JnYjEgKz0gQlBQICogMjsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGRzdF91ICs9IDE7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICBkc3RfdiArPSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAod2lkdGggJiAx
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICB1aW50OCBhYiA9IChzcmNfcmdiMFtCXSArIHNyY19yZ2IxW0JdKSA+PiAxOyAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgdWludDggYWcgPSAoc3JjX3JnYjBbR10gKyBzcmNf
cmdiMVtHXSkgPj4gMTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHVpbnQ4IGFyID0g
KHNyY19yZ2IwW1JdICsgc3JjX3JnYjFbUl0pID4+IDE7ICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICBkc3RfdVswXSA9IFJHQlRvVShhciwgYWcsIGFiKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgZHN0X3ZbMF0gPSBSR0JUb1YoYXIsIGFnLCBhYik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgIH0KIAogTUFLRVJPV1koQVJHQiwgMiwgMSwgMCwgNCkKIE1BS0VST1dZKEJHUkEsIDEsIDIs
IDMsIDQpCkBAIC0zODIsNyArMzg2LDcgQEAgTUFLRVJPV1koUkFXLCAwLCAxLCAyLCAzKQogLy8g
ciAgMC41MDAwMCAqIDI1NSA9IDEyNy41ID0gMTI3CiAKIHN0YXRpYyBfX2lubGluZSBpbnQgUkdC
VG9ZSih1aW50OCByLCB1aW50OCBnLCB1aW50OCBiKSB7Ci0gIHJldHVybiAoMzggKiByICsgNzUg
KiBnICsgIDE1ICogYiArIDY0KSA+PiA3OworICByZXR1cm4gKDM4ICogciArIDc1ICogZyArIDE1
ICogYiArIDY0KSA+PiA3OwogfQogCiBzdGF0aWMgX19pbmxpbmUgaW50IFJHQlRvVUoodWludDgg
ciwgdWludDggZywgdWludDggYikgewpAQCAtMzk0LDQxICszOTgsNDIgQEAgc3RhdGljIF9faW5s
aW5lIGludCBSR0JUb1ZKKHVpbnQ4IHIsIHVpbnQ4IGcsIHVpbnQ4IGIpIHsKIAogI2RlZmluZSBB
VkdCKGEsIGIpICgoKGEpICsgKGIpICsgMSkgPj4gMSkKIAotI2RlZmluZSBNQUtFUk9XWUooTkFN
RSwgUiwgRywgQiwgQlBQKSBcCi12b2lkIE5BTUUgIyMgVG9ZSlJvd19DKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYjAsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7ICAgICAgXAotICBpbnQgeDsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyArK3gpIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZHN0X3lbMF0gPSBSR0JU
b1lKKHNyY19hcmdiMFtSXSwgc3JjX2FyZ2IwW0ddLCBzcmNfYXJnYjBbQl0pOyAgICAgICAgICAg
ICAgXAotICAgIHNyY19hcmdiMCArPSBCUFA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBkc3RfeSArPSAxOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLXZvaWQgTkFN
RSAjIyBUb1VWSlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMCwgaW50IHNyY19zdHJpZGVfcmdi
LCAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVp
bnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7ICAgICAgICAgICAgICAgXAotICBjb25zdCB1aW50OCog
c3JjX3JnYjEgPSBzcmNfcmdiMCArIHNyY19zdHJpZGVfcmdiOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgaW50IHg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoeCA9IDA7IHggPCB3aWR0
aCAtIDE7IHggKz0gMikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIHVpbnQ4IGFiID0gQVZHQihBVkdCKHNyY19yZ2IwW0JdLCBzcmNfcmdiMVtCXSksICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgQVZHQihzcmNf
cmdiMFtCICsgQlBQXSwgc3JjX3JnYjFbQiArIEJQUF0pKTsgICAgICAgICAgICAgICBcCi0gICAg
dWludDggYWcgPSBBVkdCKEFWR0Ioc3JjX3JnYjBbR10sIHNyY19yZ2IxW0ddKSwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICBBVkdCKHNyY19yZ2IwW0cg
KyBCUFBdLCBzcmNfcmdiMVtHICsgQlBQXSkpOyAgICAgICAgICAgICAgIFwKLSAgICB1aW50OCBh
ciA9IEFWR0IoQVZHQihzcmNfcmdiMFtSXSwgc3JjX3JnYjFbUl0pLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgIEFWR0Ioc3JjX3JnYjBbUiArIEJQUF0s
IHNyY19yZ2IxW1IgKyBCUFBdKSk7ICAgICAgICAgICAgICAgXAotICAgIGRzdF91WzBdID0gUkdC
VG9VSihhciwgYWcsIGFiKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBkc3RfdlswXSA9IFJHQlRvVkooYXIsIGFnLCBhYik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3JjX3JnYjAgKz0gQlBQICogMjsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIHNyY19yZ2IxICs9IEJQUCAqIDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBkc3RfdSArPSAxOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZHN0
X3YgKz0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgaWYgKHdpZHRoICYg
MSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgdWludDggYWIgPSBBVkdCKHNyY19yZ2IwW0JdLCBzcmNfcmdiMVtCXSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVpbnQ4IGFnID0gQVZHQihz
cmNfcmdiMFtHXSwgc3JjX3JnYjFbR10pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICB1aW50OCBhciA9IEFWR0Ioc3JjX3JnYjBbUl0sIHNyY19yZ2IxW1JdKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZHN0X3VbMF0gPSBSR0JUb1VKKGFyLCBh
ZywgYWIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGRzdF92WzBdID0gUkdCVG9WSihhciwgYWcsIGFiKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi19CisvLyBBUkdC
VG9ZSl9DIGFuZCBBUkdCVG9VVkpfQworI2RlZmluZSBNQUtFUk9XWUooTkFNRSwgUiwgRywgQiwg
QlBQKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHZvaWQgTkFNRSMj
VG9ZSlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRo
KSB7IFwKKyAgICBpbnQgeDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgKyt4
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBkc3Rf
eVswXSA9IFJHQlRvWUooc3JjX2FyZ2IwW1JdLCBzcmNfYXJnYjBbR10sIHNyY19hcmdiMFtCXSk7
ICAgICAgIFwKKyAgICAgIHNyY19hcmdiMCArPSBCUFA7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgZHN0X3kgKz0gMTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB2b2lkIE5BTUUjI1RvVVZKUm93X0Mo
Y29uc3QgdWludDgqIHNyY19yZ2IwLCBpbnQgc3JjX3N0cmlkZV9yZ2IsICAgICAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRo
KSB7ICAgICAgICAgIFwKKyAgICBjb25zdCB1aW50OCogc3JjX3JnYjEgPSBzcmNfcmdiMCArIHNy
Y19zdHJpZGVfcmdiOyAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCB4OyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgZm9yICh4ID0gMDsgeCA8IHdpZHRoIC0gMTsgeCArPSAyKSB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgIHVpbnQ4IGFiID0gQVZHQihBVkdCKHNyY19yZ2IwW0Jd
LCBzcmNfcmdiMVtCXSksICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAg
ICAgIEFWR0Ioc3JjX3JnYjBbQiArIEJQUF0sIHNyY19yZ2IxW0IgKyBCUFBdKSk7ICAgICAgICBc
CisgICAgICB1aW50OCBhZyA9IEFWR0IoQVZHQihzcmNfcmdiMFtHXSwgc3JjX3JnYjFbR10pLCAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICBBVkdCKHNyY19yZ2Iw
W0cgKyBCUFBdLCBzcmNfcmdiMVtHICsgQlBQXSkpOyAgICAgICAgXAorICAgICAgdWludDggYXIg
PSBBVkdCKEFWR0Ioc3JjX3JnYjBbUl0sIHNyY19yZ2IxW1JdKSwgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICAgICAgICAgICAgICAgQVZHQihzcmNfcmdiMFtSICsgQlBQXSwgc3JjX3Jn
YjFbUiArIEJQUF0pKTsgICAgICAgIFwKKyAgICAgIGRzdF91WzBdID0gUkdCVG9VSihhciwgYWcs
IGFiKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgZHN0X3Zb
MF0gPSBSR0JUb1ZKKGFyLCBhZywgYWIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICBzcmNfcmdiMCArPSBCUFAgKiAyOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHNyY19yZ2IxICs9IEJQUCAqIDI7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgZHN0
X3UgKz0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICBkc3RfdiArPSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlm
ICh3aWR0aCAmIDEpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICB1aW50OCBhYiA9IEFWR0Ioc3JjX3JnYjBbQl0sIHNyY19yZ2Ix
W0JdKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHVpbnQ4IGFnID0gQVZHQihz
cmNfcmdiMFtHXSwgc3JjX3JnYjFbR10pOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
ICAgdWludDggYXIgPSBBVkdCKHNyY19yZ2IwW1JdLCBzcmNfcmdiMVtSXSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICBkc3RfdVswXSA9IFJHQlRvVUooYXIsIGFnLCBhYik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGRzdF92WzBdID0gUkdC
VG9WSihhciwgYWcsIGFiKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgIH0KIAogTUFLRVJPV1lKKEFSR0IsIDIsIDEsIDAsIDQpCiAj
dW5kZWYgTUFLRVJPV1lKCkBAIC00NzgsOCArNDgzLDExIEBAIHZvaWQgQVJHQjQ0NDRUb1lSb3df
Qyhjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgewog
ICB9CiB9CiAKLXZvaWQgUkdCNTY1VG9VVlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCBp
bnQgc3JjX3N0cmlkZV9yZ2I1NjUsCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3Us
IHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2b2lkIFJHQjU2NVRvVVZSb3dfQyhjb25zdCB1
aW50OCogc3JjX3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3Jn
YjU2NSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewog
ICBjb25zdCB1aW50OCogbmV4dF9yZ2I1NjUgPSBzcmNfcmdiNTY1ICsgc3JjX3N0cmlkZV9yZ2I1
NjU7CiAgIGludCB4OwogICBmb3IgKHggPSAwOyB4IDwgd2lkdGggLSAxOyB4ICs9IDIpIHsKQEAg
LTUyNSw4ICs1MzMsMTEgQEAgdm9pZCBSR0I1NjVUb1VWUm93X0MoY29uc3QgdWludDgqIHNyY19y
Z2I1NjUsIGludCBzcmNfc3RyaWRlX3JnYjU2NSwKICAgfQogfQogCi12b2lkIEFSR0IxNTU1VG9V
VlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1
LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50
IHdpZHRoKSB7Cit2b2lkIEFSR0IxNTU1VG9VVlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1
NTUsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAorICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGNv
bnN0IHVpbnQ4KiBuZXh0X2FyZ2IxNTU1ID0gc3JjX2FyZ2IxNTU1ICsgc3JjX3N0cmlkZV9hcmdi
MTU1NTsKICAgaW50IHg7CiAgIGZvciAoeCA9IDA7IHggPCB3aWR0aCAtIDE7IHggKz0gMikgewpA
QCAtNTczLDggKzU4NCwxMSBAQCB2b2lkIEFSR0IxNTU1VG9VVlJvd19DKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAogICB9CiB9CiAKLXZvaWQgQVJH
QjQ0NDRUb1VWUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwgaW50IHNyY19zdHJpZGVf
YXJnYjQ0NDQsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRz
dF92LCBpbnQgd2lkdGgpIHsKK3ZvaWQgQVJHQjQ0NDRUb1VWUm93X0MoY29uc3QgdWludDgqIHNy
Y19hcmdiNDQ0NCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYjQ0
NDQsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKICAgY29uc3QgdWludDgqIG5leHRfYXJnYjQ0NDQgPSBzcmNfYXJnYjQ0NDQgKyBzcmNfc3Ry
aWRlX2FyZ2I0NDQ0OwogICBpbnQgeDsKICAgZm9yICh4ID0gMDsgeCA8IHdpZHRoIC0gMTsgeCAr
PSAyKSB7CkBAIC02MjIsNyArNjM2LDkgQEAgdm9pZCBBUkdCNDQ0NFRvVVZSb3dfQyhjb25zdCB1
aW50OCogc3JjX2FyZ2I0NDQ0LCBpbnQgc3JjX3N0cmlkZV9hcmdiNDQ0NCwKIH0KIAogdm9pZCBB
UkdCVG9VVjQ0NFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKLSAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgaW50IHg7CiAgIGZv
ciAoeCA9IDA7IHggPCB3aWR0aDsgKyt4KSB7CiAgICAgdWludDggYWIgPSBzcmNfYXJnYlswXTsK
QEAgLTY2NywyMiArNjgzLDI4IEBAIHZvaWQgQVJHQlNlcGlhUm93X0ModWludDgqIGRzdF9hcmdi
LCBpbnQgd2lkdGgpIHsKIAogLy8gQXBwbHkgY29sb3IgbWF0cml4IHRvIGEgcm93IG9mIGltYWdl
LiBNYXRyaXggaXMgc2lnbmVkLgogLy8gVE9ETyhmYmFyY2hhcmQpOiBDb25zaWRlciBhZGRpbmcg
cm91bmRpbmcgKCszMikuCi12b2lkIEFSR0JDb2xvck1hdHJpeFJvd19DKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBpbnQ4KiBtYXRyaXhfYXJnYiwgaW50IHdpZHRoKSB7Cit2b2lkIEFSR0JDb2xvck1hdHJpeFJv
d19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4KiBtYXRy
aXhfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGludCB4
OwogICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7ICsreCkgewogICAgIGludCBiID0gc3JjX2FyZ2Jb
MF07CiAgICAgaW50IGcgPSBzcmNfYXJnYlsxXTsKICAgICBpbnQgciA9IHNyY19hcmdiWzJdOwog
ICAgIGludCBhID0gc3JjX2FyZ2JbM107Ci0gICAgaW50IHNiID0gKGIgKiBtYXRyaXhfYXJnYlsw
XSArIGcgKiBtYXRyaXhfYXJnYlsxXSArCi0gICAgICAgICAgICAgIHIgKiBtYXRyaXhfYXJnYlsy
XSArIGEgKiBtYXRyaXhfYXJnYlszXSkgPj4gNjsKLSAgICBpbnQgc2cgPSAoYiAqIG1hdHJpeF9h
cmdiWzRdICsgZyAqIG1hdHJpeF9hcmdiWzVdICsKLSAgICAgICAgICAgICAgciAqIG1hdHJpeF9h
cmdiWzZdICsgYSAqIG1hdHJpeF9hcmdiWzddKSA+PiA2OwotICAgIGludCBzciA9IChiICogbWF0
cml4X2FyZ2JbOF0gKyBnICogbWF0cml4X2FyZ2JbOV0gKwotICAgICAgICAgICAgICByICogbWF0
cml4X2FyZ2JbMTBdICsgYSAqIG1hdHJpeF9hcmdiWzExXSkgPj4gNjsKLSAgICBpbnQgc2EgPSAo
YiAqIG1hdHJpeF9hcmdiWzEyXSArIGcgKiBtYXRyaXhfYXJnYlsxM10gKwotICAgICAgICAgICAg
ICByICogbWF0cml4X2FyZ2JbMTRdICsgYSAqIG1hdHJpeF9hcmdiWzE1XSkgPj4gNjsKKyAgICBp
bnQgc2IgPSAoYiAqIG1hdHJpeF9hcmdiWzBdICsgZyAqIG1hdHJpeF9hcmdiWzFdICsgciAqIG1h
dHJpeF9hcmdiWzJdICsKKyAgICAgICAgICAgICAgYSAqIG1hdHJpeF9hcmdiWzNdKSA+PgorICAg
ICAgICAgICAgIDY7CisgICAgaW50IHNnID0gKGIgKiBtYXRyaXhfYXJnYls0XSArIGcgKiBtYXRy
aXhfYXJnYls1XSArIHIgKiBtYXRyaXhfYXJnYls2XSArCisgICAgICAgICAgICAgIGEgKiBtYXRy
aXhfYXJnYls3XSkgPj4KKyAgICAgICAgICAgICA2OworICAgIGludCBzciA9IChiICogbWF0cml4
X2FyZ2JbOF0gKyBnICogbWF0cml4X2FyZ2JbOV0gKyByICogbWF0cml4X2FyZ2JbMTBdICsKKyAg
ICAgICAgICAgICAgYSAqIG1hdHJpeF9hcmdiWzExXSkgPj4KKyAgICAgICAgICAgICA2OworICAg
IGludCBzYSA9IChiICogbWF0cml4X2FyZ2JbMTJdICsgZyAqIG1hdHJpeF9hcmdiWzEzXSArIHIg
KiBtYXRyaXhfYXJnYlsxNF0gKworICAgICAgICAgICAgICBhICogbWF0cml4X2FyZ2JbMTVdKSA+
PgorICAgICAgICAgICAgIDY7CiAgICAgZHN0X2FyZ2JbMF0gPSBDbGFtcChzYik7CiAgICAgZHN0
X2FyZ2JbMV0gPSBDbGFtcChzZyk7CiAgICAgZHN0X2FyZ2JbMl0gPSBDbGFtcChzcik7CkBAIC03
MjIsOCArNzQ0LDExIEBAIHZvaWQgUkdCQ29sb3JUYWJsZVJvd19DKHVpbnQ4KiBkc3RfYXJnYiwg
Y29uc3QgdWludDgqIHRhYmxlX2FyZ2IsIGludCB3aWR0aCkgewogICB9CiB9CiAKLXZvaWQgQVJH
QlF1YW50aXplUm93X0ModWludDgqIGRzdF9hcmdiLCBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9z
aXplLAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxfb2Zmc2V0LCBpbnQgd2lk
dGgpIHsKK3ZvaWQgQVJHQlF1YW50aXplUm93X0ModWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc2NhbGUsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnRl
cnZhbF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxfb2Zmc2V0LAor
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgaW50IHg7CiAgIGZvciAoeCA9
IDA7IHggPCB3aWR0aDsgKyt4KSB7CiAgICAgaW50IGIgPSBkc3RfYXJnYlswXTsKQEAgLTczNyw5
ICs3NjIsMTEgQEAgdm9pZCBBUkdCUXVhbnRpemVSb3dfQyh1aW50OCogZHN0X2FyZ2IsIGludCBz
Y2FsZSwgaW50IGludGVydmFsX3NpemUsCiB9CiAKICNkZWZpbmUgUkVQRUFUOCh2KSAodikgfCAo
KHYpIDw8IDgpCi0jZGVmaW5lIFNIQURFKGYsIHYpIHYgKiBmID4+IDI0CisjZGVmaW5lIFNIQURF
KGYsIHYpIHYqIGYgPj4gMjQKIAotdm9pZCBBUkdCU2hhZGVSb3dfQyhjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoLAordm9pZCBBUkdCU2hhZGVSb3dfQyhj
b25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAogICAgICAgICAgICAgICAgICAgICB1
aW50MzIgdmFsdWUpIHsKICAgY29uc3QgdWludDMyIGJfc2NhbGUgPSBSRVBFQVQ4KHZhbHVlICYg
MHhmZik7CiAgIGNvbnN0IHVpbnQzMiBnX3NjYWxlID0gUkVQRUFUOCgodmFsdWUgPj4gOCkgJiAw
eGZmKTsKQEAgLTc2NCwxMCArNzkxLDEyIEBAIHZvaWQgQVJHQlNoYWRlUm93X0MoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCwKICN1bmRlZiBTSEFERQog
CiAjZGVmaW5lIFJFUEVBVDgodikgKHYpIHwgKCh2KSA8PCA4KQotI2RlZmluZSBTSEFERShmLCB2
KSB2ICogZiA+PiAxNgorI2RlZmluZSBTSEFERShmLCB2KSB2KiBmID4+IDE2CiAKLXZvaWQgQVJH
Qk11bHRpcGx5Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19h
cmdiMSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgp
IHsKK3ZvaWQgQVJHQk11bHRpcGx5Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpIHsKICAgaW50IGk7CiAgIGZvciAoaSA9IDA7IGkgPCB3aWR0aDsgKytpKSB7CiAgICAgY29u
c3QgdWludDMyIGIgPSBSRVBFQVQ4KHNyY19hcmdiMFswXSk7CkBAIC03OTIsOCArODIxLDEwIEBA
IHZvaWQgQVJHQk11bHRpcGx5Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWlu
dDgqIHNyY19hcmdiMSwKIAogI2RlZmluZSBTSEFERShmLCB2KSBjbGFtcDI1NSh2ICsgZikKIAot
dm9pZCBBUkdCQWRkUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNy
Y19hcmdiMSwKLSAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7
Cit2b2lkIEFSR0JBZGRSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBpbnQgaTsKICAgZm9y
IChpID0gMDsgaSA8IHdpZHRoOyArK2kpIHsKICAgICBjb25zdCBpbnQgYiA9IHNyY19hcmdiMFsw
XTsKQEAgLTgxNyw4ICs4NDgsMTAgQEAgdm9pZCBBUkdCQWRkUm93X0MoY29uc3QgdWludDgqIHNy
Y19hcmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKIAogI2RlZmluZSBTSEFERShmLCB2KSBj
bGFtcDAoZiAtIHYpCiAKLXZvaWQgQVJHQlN1YnRyYWN0Um93X0MoY29uc3QgdWludDgqIHNyY19h
cmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKLSAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKK3ZvaWQgQVJHQlN1YnRyYWN0Um93X0MoY29uc3Qg
dWludDgqIHNyY19hcmdiMCwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y19hcmdiMSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgaW50IGk7CiAgIGZvciAoaSA9IDA7IGkg
PCB3aWR0aDsgKytpKSB7CiAgICAgY29uc3QgaW50IGIgPSBzcmNfYXJnYjBbMF07CkBAIC04NDEs
OCArODc0LDExIEBAIHZvaWQgQVJHQlN1YnRyYWN0Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdi
MCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKICN1bmRlZiBTSEFERQogCiAvLyBTb2JlbCBmdW5j
dGlvbnMgd2hpY2ggbWltaWNzIFNTU0UzLgotdm9pZCBTb2JlbFhSb3dfQyhjb25zdCB1aW50OCog
c3JjX3kwLCBjb25zdCB1aW50OCogc3JjX3kxLCBjb25zdCB1aW50OCogc3JjX3kyLAotICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3NvYmVseCwgaW50IHdpZHRoKSB7Cit2b2lkIFNvYmVsWFJv
d19DKGNvbnN0IHVpbnQ4KiBzcmNfeTAsCisgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfeTEsCisgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfeTIsCisgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3Rfc29iZWx4LAorICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsK
ICAgaW50IGk7CiAgIGZvciAoaSA9IDA7IGkgPCB3aWR0aDsgKytpKSB7CiAgICAgaW50IGEgPSBz
cmNfeTBbaV07CkBAIC04NTksOCArODk1LDEwIEBAIHZvaWQgU29iZWxYUm93X0MoY29uc3QgdWlu
dDgqIHNyY195MCwgY29uc3QgdWludDgqIHNyY195MSwgY29uc3QgdWludDgqIHNyY195MiwKICAg
fQogfQogCi12b2lkIFNvYmVsWVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeTAsIGNvbnN0IHVpbnQ4
KiBzcmNfeTEsCi0gICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rfc29iZWx5LCBpbnQgd2lkdGgp
IHsKK3ZvaWQgU29iZWxZUm93X0MoY29uc3QgdWludDgqIHNyY195MCwKKyAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY195MSwKKyAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9zb2Jl
bHksCisgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBpbnQgaTsKICAgZm9yIChpID0g
MDsgaSA8IHdpZHRoOyArK2kpIHsKICAgICBpbnQgYSA9IHNyY195MFtpICsgMF07CkBAIC04Nzcs
OCArOTE1LDEwIEBAIHZvaWQgU29iZWxZUm93X0MoY29uc3QgdWludDgqIHNyY195MCwgY29uc3Qg
dWludDgqIHNyY195MSwKICAgfQogfQogCi12b2lkIFNvYmVsUm93X0MoY29uc3QgdWludDgqIHNy
Y19zb2JlbHgsIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAotICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7Cit2b2lkIFNvYmVsUm93X0MoY29uc3QgdWludDgqIHNy
Y19zb2JlbHgsCisgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19zb2JlbHksCisgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgIGludCB3aWR0aCkg
ewogICBpbnQgaTsKICAgZm9yIChpID0gMDsgaSA8IHdpZHRoOyArK2kpIHsKICAgICBpbnQgciA9
IHNyY19zb2JlbHhbaV07CkBAIC04OTIsOCArOTMyLDEwIEBAIHZvaWQgU29iZWxSb3dfQyhjb25z
dCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgqIHNyY19zb2JlbHksCiAgIH0KIH0KIAot
dm9pZCBTb2JlbFRvUGxhbmVSb3dfQyhjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWlu
dDgqIHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50
IHdpZHRoKSB7Cit2b2lkIFNvYmVsVG9QbGFuZVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4
LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpIHsKICAgaW50IGk7CiAgIGZvciAoaSA9IDA7IGkgPCB3aWR0aDsgKytpKSB7CiAg
ICAgaW50IHIgPSBzcmNfc29iZWx4W2ldOwpAQCAtOTAzLDggKzk0NSwxMCBAQCB2b2lkIFNvYmVs
VG9QbGFuZVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3JjX3Nv
YmVseSwKICAgfQogfQogCi12b2lkIFNvYmVsWFlSb3dfQyhjb25zdCB1aW50OCogc3JjX3NvYmVs
eCwgY29uc3QgdWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBTb2JlbFhZUm93X0MoY29uc3QgdWludDgqIHNyY19z
b2JlbHgsCisgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKKyAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCkgewogICBpbnQgaTsKICAgZm9yIChpID0gMDsgaSA8IHdpZHRoOyArK2kpIHsKICAgICBpbnQg
ciA9IHNyY19zb2JlbHhbaV07CkBAIC05MzksNzUgKzk4Myw2OSBAQCB2b2lkIEo0MDBUb0FSR0JS
b3dfQyhjb25zdCB1aW50OCogc3JjX3ksIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7CiAv
LyAgQiA9IChZIC0gMTYpICogMS4xNjQgLSBVICogLTIuMDE4CiAKIC8vIFkgY29udHJpYnV0aW9u
IHRvIFIsRyxCLiAgU2NhbGUgYW5kIGJpYXMuCi0jZGVmaW5lIFlHIDE4OTk3IC8qIHJvdW5kKDEu
MTY0ICogNjQgKiAyNTYgKiAyNTYgLyAyNTcpICovCisjZGVmaW5lIFlHIDE4OTk3ICAvKiByb3Vu
ZCgxLjE2NCAqIDY0ICogMjU2ICogMjU2IC8gMjU3KSAqLwogI2RlZmluZSBZR0IgLTExNjAgLyog
MS4xNjQgKiA2NCAqIC0xNiArIDY0IC8gMiAqLwogCiAvLyBVIGFuZCBWIGNvbnRyaWJ1dGlvbnMg
dG8gUixHLEIuCiAjZGVmaW5lIFVCIC0xMjggLyogbWF4KC0xMjgsIHJvdW5kKC0yLjAxOCAqIDY0
KSkgKi8KLSNkZWZpbmUgVUcgMjUgLyogcm91bmQoMC4zOTEgKiA2NCkgKi8KLSNkZWZpbmUgVkcg
NTIgLyogcm91bmQoMC44MTMgKiA2NCkgKi8KKyNkZWZpbmUgVUcgMjUgICAvKiByb3VuZCgwLjM5
MSAqIDY0KSAqLworI2RlZmluZSBWRyA1MiAgIC8qIHJvdW5kKDAuODEzICogNjQpICovCiAjZGVm
aW5lIFZSIC0xMDIgLyogcm91bmQoLTEuNTk2ICogNjQpICovCiAKIC8vIEJpYXMgdmFsdWVzIHRv
IHN1YnRyYWN0IDE2IGZyb20gWSBhbmQgMTI4IGZyb20gVSBhbmQgVi4KLSNkZWZpbmUgQkIgKFVC
ICogMTI4ICAgICAgICAgICAgKyBZR0IpCisjZGVmaW5lIEJCIChVQiAqIDEyOCArIFlHQikKICNk
ZWZpbmUgQkcgKFVHICogMTI4ICsgVkcgKiAxMjggKyBZR0IpCi0jZGVmaW5lIEJSICAgICAgICAg
ICAgKFZSICogMTI4ICsgWUdCKQorI2RlZmluZSBCUiAoVlIgKiAxMjggKyBZR0IpCiAKICNpZiBk
ZWZpbmVkKF9fYWFyY2g2NF9fKSAgLy8gNjQgYml0IGFybQogY29uc3Qgc3RydWN0IFl1dkNvbnN0
YW50cyBTSU1EX0FMSUdORUQoa1l1dkk2MDFDb25zdGFudHMpID0gewotICB7IC1VQiwgLVZSLCAt
VUIsIC1WUiwgLVVCLCAtVlIsIC1VQiwgLVZSIH0sCi0gIHsgLVVCLCAtVlIsIC1VQiwgLVZSLCAt
VUIsIC1WUiwgLVVCLCAtVlIgfSwKLSAgeyBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcg
fSwKLSAgeyBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcgfSwKLSAgeyBCQiwgQkcsIEJS
LCAwLCAwLCAwLCAwLCAwIH0sCi0gIHsgMHgwMTAxICogWUcsIDAsIDAsIDAgfQotfTsKKyAgICB7
LVVCLCAtVlIsIC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCLCAtVlJ9LAorICAgIHstVUIsIC1WUiwg
LVVCLCAtVlIsIC1VQiwgLVZSLCAtVUIsIC1WUn0sCisgICAge1VHLCBWRywgVUcsIFZHLCBVRywg
VkcsIFVHLCBWR30sCisgICAge1VHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWR30sCisgICAg
e0JCLCBCRywgQlIsIDAsIDAsIDAsIDAsIDB9LAorICAgIHsweDAxMDEgKiBZRywgMCwgMCwgMH19
OwogY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyBTSU1EX0FMSUdORUQoa1l2dUk2MDFDb25zdGFu
dHMpID0gewotICB7IC1WUiwgLVVCLCAtVlIsIC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCIH0sCi0g
IHsgLVZSLCAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQiwgLVZSLCAtVUIgfSwKLSAgeyBWRywgVUcs
IFZHLCBVRywgVkcsIFVHLCBWRywgVUcgfSwKLSAgeyBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBW
RywgVUcgfSwKLSAgeyBCUiwgQkcsIEJCLCAwLCAwLCAwLCAwLCAwIH0sCi0gIHsgMHgwMTAxICog
WUcsIDAsIDAsIDAgfQotfTsKKyAgICB7LVZSLCAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQiwgLVZS
LCAtVUJ9LAorICAgIHstVlIsIC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQn0sCisg
ICAge1ZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVR30sCisgICAge1ZHLCBVRywgVkcsIFVH
LCBWRywgVUcsIFZHLCBVR30sCisgICAge0JSLCBCRywgQkIsIDAsIDAsIDAsIDAsIDB9LAorICAg
IHsweDAxMDEgKiBZRywgMCwgMCwgMH19OwogI2VsaWYgZGVmaW5lZChfX2FybV9fKSAgLy8gMzIg
Yml0IGFybQogY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyBTSU1EX0FMSUdORUQoa1l1dkk2MDFD
b25zdGFudHMpID0gewotICB7IC1VQiwgLVVCLCAtVUIsIC1VQiwgLVZSLCAtVlIsIC1WUiwgLVZS
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwIH0sCi0gIHsgVUcsIFVHLCBVRywgVUcsIFZHLCBWRywg
VkcsIFZHLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwIH0sCi0gIHsgQkIsIEJHLCBCUiwgMCwgMCwg
MCwgMCwgMCB9LAotICB7IDB4MDEwMSAqIFlHLCAwLCAwLCAwIH0KLX07CisgICAgey1VQiwgLVVC
LCAtVUIsIC1VQiwgLVZSLCAtVlIsIC1WUiwgLVZSLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfSwK
KyAgICB7VUcsIFVHLCBVRywgVUcsIFZHLCBWRywgVkcsIFZHLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwfSwKKyAgICB7QkIsIEJHLCBCUiwgMCwgMCwgMCwgMCwgMH0sCisgICAgezB4MDEwMSAqIFlH
LCAwLCAwLCAwfX07CiBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzIFNJTURfQUxJR05FRChrWXZ1
STYwMUNvbnN0YW50cykgPSB7Ci0gIHsgLVZSLCAtVlIsIC1WUiwgLVZSLCAtVUIsIC1VQiwgLVVC
LCAtVUIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAgfSwKLSAgeyBWRywgVkcsIFZHLCBWRywgVUcs
IFVHLCBVRywgVUcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAgfSwKLSAgeyBCUiwgQkcsIEJCLCAw
LCAwLCAwLCAwLCAwIH0sCi0gIHsgMHgwMTAxICogWUcsIDAsIDAsIDAgfQotfTsKKyAgICB7LVZS
LCAtVlIsIC1WUiwgLVZSLCAtVUIsIC1VQiwgLVVCLCAtVUIsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDB9LAorICAgIHtWRywgVkcsIFZHLCBWRywgVUcsIFVHLCBVRywgVUcsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDB9LAorICAgIHtCUiwgQkcsIEJCLCAwLCAwLCAwLCAwLCAwfSwKKyAgICB7MHgwMTAx
ICogWUcsIDAsIDAsIDB9fTsKICNlbHNlCiBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzIFNJTURf
QUxJR05FRChrWXV2STYwMUNvbnN0YW50cykgPSB7Ci0gIHsgVUIsIDAsIFVCLCAwLCBVQiwgMCwg
VUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLAotICAgIFVCLCAwLCBVQiwgMCwgVUIs
IDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCB9LAotICB7IFVHLCBWRywgVUcs
IFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLAotICAg
IFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywg
VUcsIFZHIH0sCi0gIHsgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwg
MCwgVlIsIDAsIFZSLAotICAgIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwg
VlIsIDAsIFZSLCAwLCBWUiB9LAotICB7IEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwg
QkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCIH0sCi0gIHsgQkcsIEJHLCBCRywgQkcsIEJH
LCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcgfSwKLSAgeyBCUiwg
QlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBC
UiB9LAotICB7IFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcs
IFlHLCBZRywgWUcsIFlHIH0KLX07CisgICAge1VCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBV
QiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwKKyAgICAgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIs
IDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwfSwKKyAgICB7VUcsIFZHLCBVRywgVkcsIFVH
LCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsCisgICAgIFVHLCBW
RywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZH
fSwKKyAgICB7MCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIs
IDAsIFZSLAorICAgICAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAw
LCBWUiwgMCwgVlJ9LAorICAgIHtCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBC
QiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQn0sCisgICAge0JHLCBCRywgQkcsIEJHLCBCRywgQkcs
IEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHfSwKKyAgICB7QlIsIEJSLCBC
UiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlJ9LAor
ICAgIHtZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywg
WUcsIFlHLCBZR319OwogY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyBTSU1EX0FMSUdORUQoa1l2
dUk2MDFDb25zdGFudHMpID0gewotICB7IFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwg
MCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwKLSAgICBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwg
VlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAgfSwKLSAgeyBWRywgVUcsIFZHLCBVRywgVkcsIFVH
LCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywKLSAgICBWRywgVUcsIFZH
LCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRyB9LAot
ICB7IDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBV
QiwKLSAgICAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwg
MCwgVUIgfSwKLSAgeyBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIs
IEJSLCBCUiwgQlIsIEJSLCBCUiB9LAotICB7IEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBC
RywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHIH0sCi0gIHsgQkIsIEJCLCBCQiwgQkIs
IEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIgfSwKLSAgeyBZ
RywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlH
LCBZRyB9Ci19OworICAgIHtWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAw
LCBWUiwgMCwgVlIsIDAsCisgICAgIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwg
VlIsIDAsIFZSLCAwLCBWUiwgMH0sCisgICAge1ZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBV
RywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLAorICAgICBWRywgVUcsIFZHLCBVRywg
VkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVR30sCisgICAgezAs
IFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwKKyAg
ICAgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVC
fSwKKyAgICB7QlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwg
QlIsIEJSLCBCUiwgQlJ9LAorICAgIHtCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJH
LCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCR30sCisgICAge0JCLCBCQiwgQkIsIEJCLCBCQiwg
QkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCfSwKKyAgICB7WUcsIFlH
LCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUd9
fTsKICNlbmRpZgogCiAjdW5kZWYgQkIKQEAgLTEwMjcsNzQgKzEwNjUsNjggQEAgY29uc3Qgc3Ry
dWN0IFl1dkNvbnN0YW50cyBTSU1EX0FMSUdORUQoa1l2dUk2MDFDb25zdGFudHMpID0gewogCiAv
LyBZIGNvbnRyaWJ1dGlvbiB0byBSLEcsQi4gIFNjYWxlIGFuZCBiaWFzLgogI2RlZmluZSBZRyAx
NjMyMCAvKiByb3VuZCgxLjAwMCAqIDY0ICogMjU2ICogMjU2IC8gMjU3KSAqLwotI2RlZmluZSBZ
R0IgMzIgIC8qIDY0IC8gMiAqLworI2RlZmluZSBZR0IgMzIgICAvKiA2NCAvIDIgKi8KIAogLy8g
VSBhbmQgViBjb250cmlidXRpb25zIHRvIFIsRyxCLgogI2RlZmluZSBVQiAtMTEzIC8qIHJvdW5k
KC0xLjc3MjAwICogNjQpICovCi0jZGVmaW5lIFVHIDIyIC8qIHJvdW5kKDAuMzQ0MTQgKiA2NCkg
Ki8KLSNkZWZpbmUgVkcgNDYgLyogcm91bmQoMC43MTQxNCAgKiA2NCkgKi8KLSNkZWZpbmUgVlIg
LTkwIC8qIHJvdW5kKC0xLjQwMjAwICogNjQpICovCisjZGVmaW5lIFVHIDIyICAgLyogcm91bmQo
MC4zNDQxNCAqIDY0KSAqLworI2RlZmluZSBWRyA0NiAgIC8qIHJvdW5kKDAuNzE0MTQgICogNjQp
ICovCisjZGVmaW5lIFZSIC05MCAgLyogcm91bmQoLTEuNDAyMDAgKiA2NCkgKi8KIAogLy8gQmlh
cyB2YWx1ZXMgdG8gcm91bmQsIGFuZCBzdWJ0cmFjdCAxMjggZnJvbSBVIGFuZCBWLgotI2RlZmlu
ZSBCQiAoVUIgKiAxMjggICAgICAgICAgICArIFlHQikKKyNkZWZpbmUgQkIgKFVCICogMTI4ICsg
WUdCKQogI2RlZmluZSBCRyAoVUcgKiAxMjggKyBWRyAqIDEyOCArIFlHQikKLSNkZWZpbmUgQlIg
ICAgICAgICAgICAoVlIgKiAxMjggKyBZR0IpCisjZGVmaW5lIEJSIChWUiAqIDEyOCArIFlHQikK
IAogI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCiBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzIFNJ
TURfQUxJR05FRChrWXV2SlBFR0NvbnN0YW50cykgPSB7Ci0gIHsgLVVCLCAtVlIsIC1VQiwgLVZS
LCAtVUIsIC1WUiwgLVVCLCAtVlIgfSwKLSAgeyAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQiwgLVZS
LCAtVUIsIC1WUiB9LAotICB7IFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRyB9LAotICB7
IFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRyB9LAotICB7IEJCLCBCRywgQlIsIDAsIDAs
IDAsIDAsIDAgfSwKLSAgeyAweDAxMDEgKiBZRywgMCwgMCwgMCB9Ci19OworICAgIHstVUIsIC1W
UiwgLVVCLCAtVlIsIC1VQiwgLVZSLCAtVUIsIC1WUn0sCisgICAgey1VQiwgLVZSLCAtVUIsIC1W
UiwgLVVCLCAtVlIsIC1VQiwgLVZSfSwKKyAgICB7VUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcs
IFZHfSwKKyAgICB7VUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHfSwKKyAgICB7QkIsIEJH
LCBCUiwgMCwgMCwgMCwgMCwgMH0sCisgICAgezB4MDEwMSAqIFlHLCAwLCAwLCAwfX07CiBjb25z
dCBzdHJ1Y3QgWXV2Q29uc3RhbnRzIFNJTURfQUxJR05FRChrWXZ1SlBFR0NvbnN0YW50cykgPSB7
Ci0gIHsgLVZSLCAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQiwgLVZSLCAtVUIgfSwKLSAgeyAtVlIs
IC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQiB9LAotICB7IFZHLCBVRywgVkcsIFVH
LCBWRywgVUcsIFZHLCBVRyB9LAotICB7IFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRyB9
LAotICB7IEJSLCBCRywgQkIsIDAsIDAsIDAsIDAsIDAgfSwKLSAgeyAweDAxMDEgKiBZRywgMCwg
MCwgMCB9Ci19OworICAgIHstVlIsIC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQn0s
CisgICAgey1WUiwgLVVCLCAtVlIsIC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCfSwKKyAgICB7Vkcs
IFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHfSwKKyAgICB7VkcsIFVHLCBWRywgVUcsIFZHLCBV
RywgVkcsIFVHfSwKKyAgICB7QlIsIEJHLCBCQiwgMCwgMCwgMCwgMCwgMH0sCisgICAgezB4MDEw
MSAqIFlHLCAwLCAwLCAwfX07CiAjZWxpZiBkZWZpbmVkKF9fYXJtX18pCiBjb25zdCBzdHJ1Y3Qg
WXV2Q29uc3RhbnRzIFNJTURfQUxJR05FRChrWXV2SlBFR0NvbnN0YW50cykgPSB7Ci0gIHsgLVVC
LCAtVUIsIC1VQiwgLVVCLCAtVlIsIC1WUiwgLVZSLCAtVlIsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAgfSwKLSAgeyBVRywgVUcsIFVHLCBVRywgVkcsIFZHLCBWRywgVkcsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAgfSwKLSAgeyBCQiwgQkcsIEJSLCAwLCAwLCAwLCAwLCAwIH0sCi0gIHsgMHgwMTAx
ICogWUcsIDAsIDAsIDAgfQotfTsKKyAgICB7LVVCLCAtVUIsIC1VQiwgLVVCLCAtVlIsIC1WUiwg
LVZSLCAtVlIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDB9LAorICAgIHtVRywgVUcsIFVHLCBVRywg
VkcsIFZHLCBWRywgVkcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDB9LAorICAgIHtCQiwgQkcsIEJS
LCAwLCAwLCAwLCAwLCAwfSwKKyAgICB7MHgwMTAxICogWUcsIDAsIDAsIDB9fTsKIGNvbnN0IHN0
cnVjdCBZdXZDb25zdGFudHMgU0lNRF9BTElHTkVEKGtZdnVKUEVHQ29uc3RhbnRzKSA9IHsKLSAg
eyAtVlIsIC1WUiwgLVZSLCAtVlIsIC1VQiwgLVVCLCAtVUIsIC1VQiwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCB9LAotICB7IFZHLCBWRywgVkcsIFZHLCBVRywgVUcsIFVHLCBVRywgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCB9LAotICB7IEJSLCBCRywgQkIsIDAsIDAsIDAsIDAsIDAgfSwKLSAgeyAw
eDAxMDEgKiBZRywgMCwgMCwgMCB9Ci19OworICAgIHstVlIsIC1WUiwgLVZSLCAtVlIsIC1VQiwg
LVVCLCAtVUIsIC1VQiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sCisgICAge1ZHLCBWRywgVkcs
IFZHLCBVRywgVUcsIFVHLCBVRywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sCisgICAge0JSLCBC
RywgQkIsIDAsIDAsIDAsIDAsIDB9LAorICAgIHsweDAxMDEgKiBZRywgMCwgMCwgMH19OwogI2Vs
c2UKIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMgU0lNRF9BTElHTkVEKGtZdXZKUEVHQ29uc3Rh
bnRzKSA9IHsKLSAgeyBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBV
QiwgMCwgVUIsIDAsCi0gICAgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwg
MCwgVUIsIDAsIFVCLCAwIH0sCi0gIHsgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBV
RywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsCi0gICAgVUcsIFZHLCBVRywgVkcsIFVHLCBW
RywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcgfSwKLSAgeyAwLCBWUiwg
MCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsCi0gICAgMCwg
VlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSIH0sCi0g
IHsgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJC
LCBCQiwgQkIgfSwKLSAgeyBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywg
QkcsIEJHLCBCRywgQkcsIEJHLCBCRyB9LAotICB7IEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJS
LCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSIH0sCi0gIHsgWUcsIFlHLCBZRywg
WUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcgfQotfTsK
KyAgICB7VUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVC
LCAwLAorICAgICBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwg
MCwgVUIsIDB9LAorICAgIHtVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywg
VUcsIFZHLCBVRywgVkcsIFVHLCBWRywKKyAgICAgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcs
IFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkd9LAorICAgIHswLCBWUiwgMCwgVlIs
IDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsCisgICAgIDAsIFZSLCAw
LCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUn0sCisgICAge0JC
LCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIs
IEJCfSwKKyAgICB7QkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBC
RywgQkcsIEJHLCBCRywgQkd9LAorICAgIHtCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIs
IEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUn0sCisgICAge1lHLCBZRywgWUcsIFlHLCBZ
RywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHfX07CiBjb25zdCBz
dHJ1Y3QgWXV2Q29uc3RhbnRzIFNJTURfQUxJR05FRChrWXZ1SlBFR0NvbnN0YW50cykgPSB7Ci0g
IHsgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAw
LAotICAgIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBW
UiwgMCB9LAotICB7IFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywg
VUcsIFZHLCBVRywgVkcsIFVHLAotICAgIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywg
VkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHIH0sCi0gIHsgMCwgVUIsIDAsIFVCLCAwLCBV
QiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLAotICAgIDAsIFVCLCAwLCBVQiwg
MCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiB9LAotICB7IEJSLCBCUiwg
QlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSIH0s
Ci0gIHsgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcs
IEJHLCBCRywgQkcgfSwKLSAgeyBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBC
QiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiB9LAotICB7IFlHLCBZRywgWUcsIFlHLCBZRywgWUcs
IFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHIH0KLX07CisgICAge1ZSLCAw
LCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwKKyAgICAg
VlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwfSwK
KyAgICB7VkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcs
IFVHLCBWRywgVUcsCisgICAgIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVH
LCBWRywgVUcsIFZHLCBVRywgVkcsIFVHfSwKKyAgICB7MCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwg
VUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLAorICAgICAwLCBVQiwgMCwgVUIsIDAsIFVC
LCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUJ9LAorICAgIHtCUiwgQlIsIEJSLCBC
UiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUn0sCisgICAg
e0JHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywg
QkcsIEJHfSwKKyAgICB7QkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJC
LCBCQiwgQkIsIEJCLCBCQiwgQkJ9LAorICAgIHtZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywg
WUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZR319OwogI2VuZGlmCiAKICN1bmRlZiBC
QgpAQCAtMTExNCw3NiArMTE0Niw3MCBAQCBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzIFNJTURf
QUxJR05FRChrWXZ1SlBFR0NvbnN0YW50cykgPSB7CiAvLyBTZWUgYWxzbyBodHRwOi8vd3d3LmVx
dWFzeXMuZGUvY29sb3Jjb252ZXJzaW9uLmh0bWwKIAogLy8gWSBjb250cmlidXRpb24gdG8gUixH
LEIuICBTY2FsZSBhbmQgYmlhcy4KLSNkZWZpbmUgWUcgMTg5OTcgLyogcm91bmQoMS4xNjQgKiA2
NCAqIDI1NiAqIDI1NiAvIDI1NykgKi8KKyNkZWZpbmUgWUcgMTg5OTcgIC8qIHJvdW5kKDEuMTY0
ICogNjQgKiAyNTYgKiAyNTYgLyAyNTcpICovCiAjZGVmaW5lIFlHQiAtMTE2MCAvKiAxLjE2NCAq
IDY0ICogLTE2ICsgNjQgLyAyICovCiAKIC8vIFRPRE8oZmJhcmNoYXJkKTogRmluZCB3YXkgdG8g
ZXhwcmVzcyAyLjExMiBpbnN0ZWFkIG9mIDIuMC4KIC8vIFUgYW5kIFYgY29udHJpYnV0aW9ucyB0
byBSLEcsQi4KICNkZWZpbmUgVUIgLTEyOCAvKiBtYXgoLTEyOCwgcm91bmQoLTIuMTEyICogNjQp
KSAqLwotI2RlZmluZSBVRyAxNCAvKiByb3VuZCgwLjIxMyAqIDY0KSAqLwotI2RlZmluZSBWRyAz
NCAvKiByb3VuZCgwLjUzMyAgKiA2NCkgKi8KKyNkZWZpbmUgVUcgMTQgICAvKiByb3VuZCgwLjIx
MyAqIDY0KSAqLworI2RlZmluZSBWRyAzNCAgIC8qIHJvdW5kKDAuNTMzICAqIDY0KSAqLwogI2Rl
ZmluZSBWUiAtMTE1IC8qIHJvdW5kKC0xLjc5MyAqIDY0KSAqLwogCiAvLyBCaWFzIHZhbHVlcyB0
byByb3VuZCwgYW5kIHN1YnRyYWN0IDEyOCBmcm9tIFUgYW5kIFYuCi0jZGVmaW5lIEJCIChVQiAq
IDEyOCAgICAgICAgICAgICsgWUdCKQorI2RlZmluZSBCQiAoVUIgKiAxMjggKyBZR0IpCiAjZGVm
aW5lIEJHIChVRyAqIDEyOCArIFZHICogMTI4ICsgWUdCKQotI2RlZmluZSBCUiAgICAgICAgICAg
IChWUiAqIDEyOCArIFlHQikKKyNkZWZpbmUgQlIgKFZSICogMTI4ICsgWUdCKQogCiAjaWYgZGVm
aW5lZChfX2FhcmNoNjRfXykKIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMgU0lNRF9BTElHTkVE
KGtZdXZINzA5Q29uc3RhbnRzKSA9IHsKLSAgeyAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQiwgLVZS
LCAtVUIsIC1WUiB9LAotICB7IC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQiwgLVZS
IH0sCi0gIHsgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHIH0sCi0gIHsgVUcsIFZHLCBV
RywgVkcsIFVHLCBWRywgVUcsIFZHIH0sCi0gIHsgQkIsIEJHLCBCUiwgMCwgMCwgMCwgMCwgMCB9
LAotICB7IDB4MDEwMSAqIFlHLCAwLCAwLCAwIH0KLX07CisgICAgey1VQiwgLVZSLCAtVUIsIC1W
UiwgLVVCLCAtVlIsIC1VQiwgLVZSfSwKKyAgICB7LVVCLCAtVlIsIC1VQiwgLVZSLCAtVUIsIC1W
UiwgLVVCLCAtVlJ9LAorICAgIHtVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkd9LAorICAg
IHtVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkd9LAorICAgIHtCQiwgQkcsIEJSLCAwLCAw
LCAwLCAwLCAwfSwKKyAgICB7MHgwMTAxICogWUcsIDAsIDAsIDB9fTsKIGNvbnN0IHN0cnVjdCBZ
dXZDb25zdGFudHMgU0lNRF9BTElHTkVEKGtZdnVINzA5Q29uc3RhbnRzKSA9IHsKLSAgeyAtVlIs
IC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQiB9LAotICB7IC1WUiwgLVVCLCAtVlIs
IC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCIH0sCi0gIHsgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywg
VkcsIFVHIH0sCi0gIHsgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHIH0sCi0gIHsgQlIs
IEJHLCBCQiwgMCwgMCwgMCwgMCwgMCB9LAotICB7IDB4MDEwMSAqIFlHLCAwLCAwLCAwIH0KLX07
CisgICAgey1WUiwgLVVCLCAtVlIsIC1VQiwgLVZSLCAtVUIsIC1WUiwgLVVCfSwKKyAgICB7LVZS
LCAtVUIsIC1WUiwgLVVCLCAtVlIsIC1VQiwgLVZSLCAtVUJ9LAorICAgIHtWRywgVUcsIFZHLCBV
RywgVkcsIFVHLCBWRywgVUd9LAorICAgIHtWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUd9
LAorICAgIHtCUiwgQkcsIEJCLCAwLCAwLCAwLCAwLCAwfSwKKyAgICB7MHgwMTAxICogWUcsIDAs
IDAsIDB9fTsKICNlbGlmIGRlZmluZWQoX19hcm1fXykKIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFu
dHMgU0lNRF9BTElHTkVEKGtZdXZINzA5Q29uc3RhbnRzKSA9IHsKLSAgeyAtVUIsIC1VQiwgLVVC
LCAtVUIsIC1WUiwgLVZSLCAtVlIsIC1WUiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9LAotICB7
IFVHLCBVRywgVUcsIFVHLCBWRywgVkcsIFZHLCBWRywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9
LAotICB7IEJCLCBCRywgQlIsIDAsIDAsIDAsIDAsIDAgfSwKLSAgeyAweDAxMDEgKiBZRywgMCwg
MCwgMCB9Ci19OworICAgIHstVUIsIC1VQiwgLVVCLCAtVUIsIC1WUiwgLVZSLCAtVlIsIC1WUiwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sCisgICAge1VHLCBVRywgVUcsIFVHLCBWRywgVkcsIFZH
LCBWRywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sCisgICAge0JCLCBCRywgQlIsIDAsIDAsIDAs
IDAsIDB9LAorICAgIHsweDAxMDEgKiBZRywgMCwgMCwgMH19OwogY29uc3Qgc3RydWN0IFl1dkNv
bnN0YW50cyBTSU1EX0FMSUdORUQoa1l2dUg3MDlDb25zdGFudHMpID0gewotICB7IC1WUiwgLVZS
LCAtVlIsIC1WUiwgLVVCLCAtVUIsIC1VQiwgLVVCLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwIH0s
Ci0gIHsgVkcsIFZHLCBWRywgVkcsIFVHLCBVRywgVUcsIFVHLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwIH0sCi0gIHsgQlIsIEJHLCBCQiwgMCwgMCwgMCwgMCwgMCB9LAotICB7IDB4MDEwMSAqIFlH
LCAwLCAwLCAwIH0KLX07CisgICAgey1WUiwgLVZSLCAtVlIsIC1WUiwgLVVCLCAtVUIsIC1VQiwg
LVVCLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfSwKKyAgICB7VkcsIFZHLCBWRywgVkcsIFVHLCBV
RywgVUcsIFVHLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfSwKKyAgICB7QlIsIEJHLCBCQiwgMCwg
MCwgMCwgMCwgMH0sCisgICAgezB4MDEwMSAqIFlHLCAwLCAwLCAwfX07CiAjZWxzZQogY29uc3Qg
c3RydWN0IFl1dkNvbnN0YW50cyBTSU1EX0FMSUdORUQoa1l1dkg3MDlDb25zdGFudHMpID0gewot
ICB7IFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwg
MCwKLSAgICBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwg
VUIsIDAgfSwKLSAgeyBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcs
IFZHLCBVRywgVkcsIFVHLCBWRywKLSAgICBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcs
IFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRyB9LAotICB7IDAsIFZSLCAwLCBWUiwgMCwg
VlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwKLSAgICAwLCBWUiwgMCwgVlIs
IDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIgfSwKLSAgeyBCQiwgQkIs
IEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiB9
LAotICB7IEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJH
LCBCRywgQkcsIEJHIH0sCi0gIHsgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwg
QlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIgfSwKLSAgeyBZRywgWUcsIFlHLCBZRywgWUcsIFlH
LCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRyB9Ci19OworICAgIHtVQiwg
MCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsCisgICAg
IFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMH0s
CisgICAge1VHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVH
LCBWRywgVUcsIFZHLAorICAgICBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBW
RywgVUcsIFZHLCBVRywgVkcsIFVHLCBWR30sCisgICAgezAsIFZSLCAwLCBWUiwgMCwgVlIsIDAs
IFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwKKyAgICAgMCwgVlIsIDAsIFZSLCAwLCBW
UiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSfSwKKyAgICB7QkIsIEJCLCBCQiwg
QkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkJ9LAorICAg
IHtCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcs
IEJHLCBCR30sCisgICAge0JSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBC
UiwgQlIsIEJSLCBCUiwgQlIsIEJSfSwKKyAgICB7WUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcs
IFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUd9fTsKIGNvbnN0IHN0cnVjdCBZdXZD
b25zdGFudHMgU0lNRF9BTElHTkVEKGtZdnVINzA5Q29uc3RhbnRzKSA9IHsKLSAgeyBWUiwgMCwg
VlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsCi0gICAgVlIs
IDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwIH0sCi0g
IHsgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVH
LCBWRywgVUcsCi0gICAgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZH
LCBVRywgVkcsIFVHLCBWRywgVUcgfSwKLSAgeyAwLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwg
MCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsCi0gICAgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwg
VUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCIH0sCi0gIHsgQlIsIEJSLCBCUiwgQlIsIEJS
LCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIgfSwKLSAgeyBCRywg
QkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBC
RyB9LAotICB7IEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIs
IEJCLCBCQiwgQkIsIEJCIH0sCi0gIHsgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZ
RywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcgfQotfTsKKyAgICB7VlIsIDAsIFZSLCAwLCBW
UiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLAorICAgICBWUiwgMCwgVlIs
IDAsIFZSLCAwLCBWUiwgMCwgVlIsIDAsIFZSLCAwLCBWUiwgMCwgVlIsIDB9LAorICAgIHtWRywg
VUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBV
RywKKyAgICAgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywgVkcsIFVHLCBWRywgVUcsIFZHLCBVRywg
VkcsIFVHLCBWRywgVUd9LAorICAgIHswLCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQiwgMCwgVUIs
IDAsIFVCLCAwLCBVQiwgMCwgVUIsCisgICAgIDAsIFVCLCAwLCBVQiwgMCwgVUIsIDAsIFVCLCAw
LCBVQiwgMCwgVUIsIDAsIFVCLCAwLCBVQn0sCisgICAge0JSLCBCUiwgQlIsIEJSLCBCUiwgQlIs
IEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSLCBCUiwgQlIsIEJSfSwKKyAgICB7QkcsIEJHLCBC
RywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkcsIEJHLCBCRywgQkd9LAor
ICAgIHtCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwgQkIsIEJCLCBCQiwg
QkIsIEJCLCBCQn0sCisgICAge1lHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlHLCBZRywgWUcsIFlH
LCBZRywgWUcsIFlHLCBZRywgWUcsIFlHfX07CiAjZW5kaWYKIAogI3VuZGVmIEJCCkBAIC0xMTk3
LDggKzEyMjMsMTIgQEAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyBTSU1EX0FMSUdORUQoa1l2
dUg3MDlDb25zdGFudHMpID0gewogI3VuZGVmIFlHCiAKIC8vIEMgcmVmZXJlbmNlIGNvZGUgdGhh
dCBtaW1pY3MgdGhlIFlVViBhc3NlbWJseS4KLXN0YXRpYyBfX2lubGluZSB2b2lkIFl1dlBpeGVs
KHVpbnQ4IHksIHVpbnQ4IHUsIHVpbnQ4IHYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogYiwgdWludDgqIGcsIHVpbnQ4KiByLAorc3RhdGljIF9faW5saW5lIHZvaWQgWXV2
UGl4ZWwodWludDggeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4IHUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCB2LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3Rh
bnRzKSB7CiAjaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKICAgaW50IHViID0gLXl1dmNvbnN0YW50
cy0+a1VWVG9SQlswXTsKQEAgLTEyMzAsMTMgKzEyNjAsMTMgQEAgc3RhdGljIF9faW5saW5lIHZv
aWQgWXV2UGl4ZWwodWludDggeSwgdWludDggdSwgdWludDggdiwKICNlbmRpZgogCiAgIHVpbnQz
MiB5MSA9ICh1aW50MzIpKHkgKiAweDAxMDEgKiB5ZykgPj4gMTY7Ci0gICpiID0gQ2xhbXAoKGlu
dDMyKSgtKHUgKiB1YikgICAgICAgICAgKyB5MSArIGJiKSA+PiA2KTsKKyAgKmIgPSBDbGFtcCgo
aW50MzIpKC0odSAqIHViKSArIHkxICsgYmIpID4+IDYpOwogICAqZyA9IENsYW1wKChpbnQzMiko
LSh1ICogdWcgKyB2ICogdmcpICsgeTEgKyBiZykgPj4gNik7Ci0gICpyID0gQ2xhbXAoKGludDMy
KSAgICAgICAgICgtKHYgKiB2cikgKyB5MSArIGJyKSA+PiA2KTsKKyAgKnIgPSBDbGFtcCgoaW50
MzIpKC0odiAqIHZyKSArIHkxICsgYnIpID4+IDYpOwogfQogCiAvLyBZIGNvbnRyaWJ1dGlvbiB0
byBSLEcsQi4gIFNjYWxlIGFuZCBiaWFzLgotI2RlZmluZSBZRyAxODk5NyAvKiByb3VuZCgxLjE2
NCAqIDY0ICogMjU2ICogMjU2IC8gMjU3KSAqLworI2RlZmluZSBZRyAxODk5NyAgLyogcm91bmQo
MS4xNjQgKiA2NCAqIDI1NiAqIDI1NiAvIDI1NykgKi8KICNkZWZpbmUgWUdCIC0xMTYwIC8qIDEu
MTY0ICogNjQgKiAtMTYgKyA2NCAvIDIgKi8KIAogLy8gQyByZWZlcmVuY2UgY29kZSB0aGF0IG1p
bWljcyB0aGUgWVVWIGFzc2VtYmx5LgpAQCAtMTI3Niw4ICsxMzA2LDggQEAgdm9pZCBJNDQ0VG9B
UkdCUm93X0MoY29uc3QgdWludDgqIHNyY195LAogICAgIHJnYl9idWYgKz0gODsgIC8vIEFkdmFu
Y2UgMiBwaXhlbHMuCiAgIH0KICAgaWYgKHdpZHRoICYgMSkgewotICAgIFl1dlBpeGVsKHNyY195
WzBdLCBzcmNfdVswXSwgc3JjX3ZbMF0sCi0gICAgICAgICAgICAgcmdiX2J1ZiArIDAsIHJnYl9i
dWYgKyAxLCByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRzKTsKKyAgICBZdXZQaXhlbChzcmNfeVsw
XSwgc3JjX3VbMF0sIHNyY192WzBdLCByZ2JfYnVmICsgMCwgcmdiX2J1ZiArIDEsCisgICAgICAg
ICAgICAgcmdiX2J1ZiArIDIsIHl1dmNvbnN0YW50cyk7CiAgICAgcmdiX2J1ZlszXSA9IDI1NTsK
ICAgfQogfQpAQCAtMTI5MCw4ICsxMzIwLDggQEAgdm9pZCBJNDQ0VG9BUkdCUm93X0MoY29uc3Qg
dWludDgqIHNyY195LAogICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGludCB4
OwogICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7ICsreCkgewotICAgIFl1dlBpeGVsKHNyY195WzBd
LCBzcmNfdVswXSwgc3JjX3ZbMF0sCi0gICAgICAgICAgICAgcmdiX2J1ZiArIDAsIHJnYl9idWYg
KyAxLCByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRzKTsKKyAgICBZdXZQaXhlbChzcmNfeVswXSwg
c3JjX3VbMF0sIHNyY192WzBdLCByZ2JfYnVmICsgMCwgcmdiX2J1ZiArIDEsCisgICAgICAgICAg
ICAgcmdiX2J1ZiArIDIsIHl1dmNvbnN0YW50cyk7CiAgICAgcmdiX2J1ZlszXSA9IDI1NTsKICAg
ICBzcmNfeSArPSAxOwogICAgIHNyY191ICs9IDE7CkBAIC0xMzEwLDExICsxMzQwLDExIEBAIHZv
aWQgSTQyMlRvQVJHQlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCkgewogICBpbnQgeDsKICAgZm9yICh4ID0gMDsgeCA8IHdpZHRoIC0gMTsg
eCArPSAyKSB7Ci0gICAgWXV2UGl4ZWwoc3JjX3lbMF0sIHNyY191WzBdLCBzcmNfdlswXSwKLSAg
ICAgICAgICAgICByZ2JfYnVmICsgMCwgcmdiX2J1ZiArIDEsIHJnYl9idWYgKyAyLCB5dXZjb25z
dGFudHMpOworICAgIFl1dlBpeGVsKHNyY195WzBdLCBzcmNfdVswXSwgc3JjX3ZbMF0sIHJnYl9i
dWYgKyAwLCByZ2JfYnVmICsgMSwKKyAgICAgICAgICAgICByZ2JfYnVmICsgMiwgeXV2Y29uc3Rh
bnRzKTsKICAgICByZ2JfYnVmWzNdID0gMjU1OwotICAgIFl1dlBpeGVsKHNyY195WzFdLCBzcmNf
dVswXSwgc3JjX3ZbMF0sCi0gICAgICAgICAgICAgcmdiX2J1ZiArIDQsIHJnYl9idWYgKyA1LCBy
Z2JfYnVmICsgNiwgeXV2Y29uc3RhbnRzKTsKKyAgICBZdXZQaXhlbChzcmNfeVsxXSwgc3JjX3Vb
MF0sIHNyY192WzBdLCByZ2JfYnVmICsgNCwgcmdiX2J1ZiArIDUsCisgICAgICAgICAgICAgcmdi
X2J1ZiArIDYsIHl1dmNvbnN0YW50cyk7CiAgICAgcmdiX2J1Zls3XSA9IDI1NTsKICAgICBzcmNf
eSArPSAyOwogICAgIHNyY191ICs9IDE7CkBAIC0xMzIyLDggKzEzNTIsOCBAQCB2b2lkIEk0MjJU
b0FSR0JSb3dfQyhjb25zdCB1aW50OCogc3JjX3ksCiAgICAgcmdiX2J1ZiArPSA4OyAgLy8gQWR2
YW5jZSAyIHBpeGVscy4KICAgfQogICBpZiAod2lkdGggJiAxKSB7Ci0gICAgWXV2UGl4ZWwoc3Jj
X3lbMF0sIHNyY191WzBdLCBzcmNfdlswXSwKLSAgICAgICAgICAgICByZ2JfYnVmICsgMCwgcmdi
X2J1ZiArIDEsIHJnYl9idWYgKyAyLCB5dXZjb25zdGFudHMpOworICAgIFl1dlBpeGVsKHNyY195
WzBdLCBzcmNfdVswXSwgc3JjX3ZbMF0sIHJnYl9idWYgKyAwLCByZ2JfYnVmICsgMSwKKyAgICAg
ICAgICAgICByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRzKTsKICAgICByZ2JfYnVmWzNdID0gMjU1
OwogICB9CiB9CkBAIC0xMzM3LDExICsxMzY3LDExIEBAIHZvaWQgSTQyMkFscGhhVG9BUkdCUm93
X0MoY29uc3QgdWludDgqIHNyY195LAogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpIHsKICAgaW50IHg7CiAgIGZvciAoeCA9IDA7IHggPCB3aWR0aCAtIDE7IHggKz0gMikgewot
ICAgIFl1dlBpeGVsKHNyY195WzBdLCBzcmNfdVswXSwgc3JjX3ZbMF0sCi0gICAgICAgICAgICAg
cmdiX2J1ZiArIDAsIHJnYl9idWYgKyAxLCByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRzKTsKKyAg
ICBZdXZQaXhlbChzcmNfeVswXSwgc3JjX3VbMF0sIHNyY192WzBdLCByZ2JfYnVmICsgMCwgcmdi
X2J1ZiArIDEsCisgICAgICAgICAgICAgcmdiX2J1ZiArIDIsIHl1dmNvbnN0YW50cyk7CiAgICAg
cmdiX2J1ZlszXSA9IHNyY19hWzBdOwotICAgIFl1dlBpeGVsKHNyY195WzFdLCBzcmNfdVswXSwg
c3JjX3ZbMF0sCi0gICAgICAgICAgICAgcmdiX2J1ZiArIDQsIHJnYl9idWYgKyA1LCByZ2JfYnVm
ICsgNiwgeXV2Y29uc3RhbnRzKTsKKyAgICBZdXZQaXhlbChzcmNfeVsxXSwgc3JjX3VbMF0sIHNy
Y192WzBdLCByZ2JfYnVmICsgNCwgcmdiX2J1ZiArIDUsCisgICAgICAgICAgICAgcmdiX2J1ZiAr
IDYsIHl1dmNvbnN0YW50cyk7CiAgICAgcmdiX2J1Zls3XSA9IHNyY19hWzFdOwogICAgIHNyY195
ICs9IDI7CiAgICAgc3JjX3UgKz0gMTsKQEAgLTEzNTAsOCArMTM4MCw4IEBAIHZvaWQgSTQyMkFs
cGhhVG9BUkdCUm93X0MoY29uc3QgdWludDgqIHNyY195LAogICAgIHJnYl9idWYgKz0gODsgIC8v
IEFkdmFuY2UgMiBwaXhlbHMuCiAgIH0KICAgaWYgKHdpZHRoICYgMSkgewotICAgIFl1dlBpeGVs
KHNyY195WzBdLCBzcmNfdVswXSwgc3JjX3ZbMF0sCi0gICAgICAgICAgICAgcmdiX2J1ZiArIDAs
IHJnYl9idWYgKyAxLCByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRzKTsKKyAgICBZdXZQaXhlbChz
cmNfeVswXSwgc3JjX3VbMF0sIHNyY192WzBdLCByZ2JfYnVmICsgMCwgcmdiX2J1ZiArIDEsCisg
ICAgICAgICAgICAgcmdiX2J1ZiArIDIsIHl1dmNvbnN0YW50cyk7CiAgICAgcmdiX2J1ZlszXSA9
IHNyY19hWzBdOwogICB9CiB9CkBAIC0xMzY0LDE4ICsxMzk0LDE4IEBAIHZvaWQgSTQyMlRvUkdC
MjRSb3dfQyhjb25zdCB1aW50OCogc3JjX3ksCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSB7CiAgIGludCB4OwogICBmb3IgKHggPSAwOyB4IDwgd2lkdGggLSAxOyB4ICs9IDIpIHsK
LSAgICBZdXZQaXhlbChzcmNfeVswXSwgc3JjX3VbMF0sIHNyY192WzBdLAotICAgICAgICAgICAg
IHJnYl9idWYgKyAwLCByZ2JfYnVmICsgMSwgcmdiX2J1ZiArIDIsIHl1dmNvbnN0YW50cyk7Ci0g
ICAgWXV2UGl4ZWwoc3JjX3lbMV0sIHNyY191WzBdLCBzcmNfdlswXSwKLSAgICAgICAgICAgICBy
Z2JfYnVmICsgMywgcmdiX2J1ZiArIDQsIHJnYl9idWYgKyA1LCB5dXZjb25zdGFudHMpOworICAg
IFl1dlBpeGVsKHNyY195WzBdLCBzcmNfdVswXSwgc3JjX3ZbMF0sIHJnYl9idWYgKyAwLCByZ2Jf
YnVmICsgMSwKKyAgICAgICAgICAgICByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRzKTsKKyAgICBZ
dXZQaXhlbChzcmNfeVsxXSwgc3JjX3VbMF0sIHNyY192WzBdLCByZ2JfYnVmICsgMywgcmdiX2J1
ZiArIDQsCisgICAgICAgICAgICAgcmdiX2J1ZiArIDUsIHl1dmNvbnN0YW50cyk7CiAgICAgc3Jj
X3kgKz0gMjsKICAgICBzcmNfdSArPSAxOwogICAgIHNyY192ICs9IDE7CiAgICAgcmdiX2J1ZiAr
PSA2OyAgLy8gQWR2YW5jZSAyIHBpeGVscy4KICAgfQogICBpZiAod2lkdGggJiAxKSB7Ci0gICAg
WXV2UGl4ZWwoc3JjX3lbMF0sIHNyY191WzBdLCBzcmNfdlswXSwKLSAgICAgICAgICAgICByZ2Jf
YnVmICsgMCwgcmdiX2J1ZiArIDEsIHJnYl9idWYgKyAyLCB5dXZjb25zdGFudHMpOworICAgIFl1
dlBpeGVsKHNyY195WzBdLCBzcmNfdVswXSwgc3JjX3ZbMF0sIHJnYl9idWYgKyAwLCByZ2JfYnVm
ICsgMSwKKyAgICAgICAgICAgICByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRzKTsKICAgfQogfQog
CkBAIC0xNDAxLDggKzE0MzEsOCBAQCB2b2lkIEk0MjJUb0FSR0I0NDQ0Um93X0MoY29uc3QgdWlu
dDgqIHNyY195LAogICAgIGIxID0gYjEgPj4gNDsKICAgICBnMSA9IGcxID4+IDQ7CiAgICAgcjEg
PSByMSA+PiA0OwotICAgICoodWludDMyKikoZHN0X2FyZ2I0NDQ0KSA9IGIwIHwgKGcwIDw8IDQp
IHwgKHIwIDw8IDgpIHwKLSAgICAgICAgKGIxIDw8IDE2KSB8IChnMSA8PCAyMCkgfCAocjEgPDwg
MjQpIHwgMHhmMDAwZjAwMDsKKyAgICAqKHVpbnQzMiopKGRzdF9hcmdiNDQ0NCkgPSBiMCB8IChn
MCA8PCA0KSB8IChyMCA8PCA4KSB8IChiMSA8PCAxNikgfAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChnMSA8PCAyMCkgfCAocjEgPDwgMjQpIHwgMHhmMDAwZjAwMDsKICAgICBzcmNf
eSArPSAyOwogICAgIHNyY191ICs9IDE7CiAgICAgc3JjX3YgKz0gMTsKQEAgLTE0MTMsOCArMTQ0
Myw3IEBAIHZvaWQgSTQyMlRvQVJHQjQ0NDRSb3dfQyhjb25zdCB1aW50OCogc3JjX3ksCiAgICAg
YjAgPSBiMCA+PiA0OwogICAgIGcwID0gZzAgPj4gNDsKICAgICByMCA9IHIwID4+IDQ7Ci0gICAg
Kih1aW50MTYqKShkc3RfYXJnYjQ0NDQpID0gYjAgfCAoZzAgPDwgNCkgfCAocjAgPDwgOCkgfAot
ICAgICAgICAweGYwMDA7CisgICAgKih1aW50MTYqKShkc3RfYXJnYjQ0NDQpID0gYjAgfCAoZzAg
PDwgNCkgfCAocjAgPDwgOCkgfCAweGYwMDA7CiAgIH0KIH0KIApAQCAtMTQ0MCw4ICsxNDY5LDgg
QEAgdm9pZCBJNDIyVG9BUkdCMTU1NVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICBiMSA9
IGIxID4+IDM7CiAgICAgZzEgPSBnMSA+PiAzOwogICAgIHIxID0gcjEgPj4gMzsKLSAgICAqKHVp
bnQzMiopKGRzdF9hcmdiMTU1NSkgPSBiMCB8IChnMCA8PCA1KSB8IChyMCA8PCAxMCkgfAotICAg
ICAgICAoYjEgPDwgMTYpIHwgKGcxIDw8IDIxKSB8IChyMSA8PCAyNikgfCAweDgwMDA4MDAwOwor
ICAgICoodWludDMyKikoZHN0X2FyZ2IxNTU1KSA9IGIwIHwgKGcwIDw8IDUpIHwgKHIwIDw8IDEw
KSB8IChiMSA8PCAxNikgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnMSA8PCAy
MSkgfCAocjEgPDwgMjYpIHwgMHg4MDAwODAwMDsKICAgICBzcmNfeSArPSAyOwogICAgIHNyY191
ICs9IDE7CiAgICAgc3JjX3YgKz0gMTsKQEAgLTE0NTIsOCArMTQ4MSw3IEBAIHZvaWQgSTQyMlRv
QVJHQjE1NTVSb3dfQyhjb25zdCB1aW50OCogc3JjX3ksCiAgICAgYjAgPSBiMCA+PiAzOwogICAg
IGcwID0gZzAgPj4gMzsKICAgICByMCA9IHIwID4+IDM7Ci0gICAgKih1aW50MTYqKShkc3RfYXJn
YjE1NTUpID0gYjAgfCAoZzAgPDwgNSkgfCAocjAgPDwgMTApIHwKLSAgICAgICAgMHg4MDAwOwor
ICAgICoodWludDE2KikoZHN0X2FyZ2IxNTU1KSA9IGIwIHwgKGcwIDw8IDUpIHwgKHIwIDw8IDEw
KSB8IDB4ODAwMDsKICAgfQogfQogCkBAIC0xNDc5LDggKzE1MDcsOCBAQCB2b2lkIEk0MjJUb1JH
QjU2NVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICBiMSA9IGIxID4+IDM7CiAgICAgZzEg
PSBnMSA+PiAyOwogICAgIHIxID0gcjEgPj4gMzsKLSAgICAqKHVpbnQzMiopKGRzdF9yZ2I1NjUp
ID0gYjAgfCAoZzAgPDwgNSkgfCAocjAgPDwgMTEpIHwKLSAgICAgICAgKGIxIDw8IDE2KSB8IChn
MSA8PCAyMSkgfCAocjEgPDwgMjcpOworICAgICoodWludDMyKikoZHN0X3JnYjU2NSkgPQorICAg
ICAgICBiMCB8IChnMCA8PCA1KSB8IChyMCA8PCAxMSkgfCAoYjEgPDwgMTYpIHwgKGcxIDw8IDIx
KSB8IChyMSA8PCAyNyk7CiAgICAgc3JjX3kgKz0gMjsKICAgICBzcmNfdSArPSAxOwogICAgIHNy
Y192ICs9IDE7CkBAIC0xNTAyLDE5ICsxNTMwLDE5IEBAIHZvaWQgTlYxMlRvQVJHQlJvd19DKGNv
bnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBp
bnQgeDsKICAgZm9yICh4ID0gMDsgeCA8IHdpZHRoIC0gMTsgeCArPSAyKSB7Ci0gICAgWXV2UGl4
ZWwoc3JjX3lbMF0sIHNyY191dlswXSwgc3JjX3V2WzFdLAotICAgICAgICAgICAgIHJnYl9idWYg
KyAwLCByZ2JfYnVmICsgMSwgcmdiX2J1ZiArIDIsIHl1dmNvbnN0YW50cyk7CisgICAgWXV2UGl4
ZWwoc3JjX3lbMF0sIHNyY191dlswXSwgc3JjX3V2WzFdLCByZ2JfYnVmICsgMCwgcmdiX2J1ZiAr
IDEsCisgICAgICAgICAgICAgcmdiX2J1ZiArIDIsIHl1dmNvbnN0YW50cyk7CiAgICAgcmdiX2J1
ZlszXSA9IDI1NTsKLSAgICBZdXZQaXhlbChzcmNfeVsxXSwgc3JjX3V2WzBdLCBzcmNfdXZbMV0s
Ci0gICAgICAgICAgICAgcmdiX2J1ZiArIDQsIHJnYl9idWYgKyA1LCByZ2JfYnVmICsgNiwgeXV2
Y29uc3RhbnRzKTsKKyAgICBZdXZQaXhlbChzcmNfeVsxXSwgc3JjX3V2WzBdLCBzcmNfdXZbMV0s
IHJnYl9idWYgKyA0LCByZ2JfYnVmICsgNSwKKyAgICAgICAgICAgICByZ2JfYnVmICsgNiwgeXV2
Y29uc3RhbnRzKTsKICAgICByZ2JfYnVmWzddID0gMjU1OwogICAgIHNyY195ICs9IDI7CiAgICAg
c3JjX3V2ICs9IDI7CiAgICAgcmdiX2J1ZiArPSA4OyAgLy8gQWR2YW5jZSAyIHBpeGVscy4KICAg
fQogICBpZiAod2lkdGggJiAxKSB7Ci0gICAgWXV2UGl4ZWwoc3JjX3lbMF0sIHNyY191dlswXSwg
c3JjX3V2WzFdLAotICAgICAgICAgICAgIHJnYl9idWYgKyAwLCByZ2JfYnVmICsgMSwgcmdiX2J1
ZiArIDIsIHl1dmNvbnN0YW50cyk7CisgICAgWXV2UGl4ZWwoc3JjX3lbMF0sIHNyY191dlswXSwg
c3JjX3V2WzFdLCByZ2JfYnVmICsgMCwgcmdiX2J1ZiArIDEsCisgICAgICAgICAgICAgcmdiX2J1
ZiArIDIsIHl1dmNvbnN0YW50cyk7CiAgICAgcmdiX2J1ZlszXSA9IDI1NTsKICAgfQogfQpAQCAt
MTUyNiwxOSArMTU1NCwxOSBAQCB2b2lkIE5WMjFUb0FSR0JSb3dfQyhjb25zdCB1aW50OCogc3Jj
X3ksCiAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgaW50IHg7CiAgIGZvciAo
eCA9IDA7IHggPCB3aWR0aCAtIDE7IHggKz0gMikgewotICAgIFl1dlBpeGVsKHNyY195WzBdLCBz
cmNfdnVbMV0sIHNyY192dVswXSwKLSAgICAgICAgICAgICByZ2JfYnVmICsgMCwgcmdiX2J1ZiAr
IDEsIHJnYl9idWYgKyAyLCB5dXZjb25zdGFudHMpOworICAgIFl1dlBpeGVsKHNyY195WzBdLCBz
cmNfdnVbMV0sIHNyY192dVswXSwgcmdiX2J1ZiArIDAsIHJnYl9idWYgKyAxLAorICAgICAgICAg
ICAgIHJnYl9idWYgKyAyLCB5dXZjb25zdGFudHMpOwogICAgIHJnYl9idWZbM10gPSAyNTU7Ci0g
ICAgWXV2UGl4ZWwoc3JjX3lbMV0sIHNyY192dVsxXSwgc3JjX3Z1WzBdLAotICAgICAgICAgICAg
IHJnYl9idWYgKyA0LCByZ2JfYnVmICsgNSwgcmdiX2J1ZiArIDYsIHl1dmNvbnN0YW50cyk7Cisg
ICAgWXV2UGl4ZWwoc3JjX3lbMV0sIHNyY192dVsxXSwgc3JjX3Z1WzBdLCByZ2JfYnVmICsgNCwg
cmdiX2J1ZiArIDUsCisgICAgICAgICAgICAgcmdiX2J1ZiArIDYsIHl1dmNvbnN0YW50cyk7CiAg
ICAgcmdiX2J1Zls3XSA9IDI1NTsKICAgICBzcmNfeSArPSAyOwogICAgIHNyY192dSArPSAyOwog
ICAgIHJnYl9idWYgKz0gODsgIC8vIEFkdmFuY2UgMiBwaXhlbHMuCiAgIH0KICAgaWYgKHdpZHRo
ICYgMSkgewotICAgIFl1dlBpeGVsKHNyY195WzBdLCBzcmNfdnVbMV0sIHNyY192dVswXSwKLSAg
ICAgICAgICAgICByZ2JfYnVmICsgMCwgcmdiX2J1ZiArIDEsIHJnYl9idWYgKyAyLCB5dXZjb25z
dGFudHMpOworICAgIFl1dlBpeGVsKHNyY195WzBdLCBzcmNfdnVbMV0sIHNyY192dVswXSwgcmdi
X2J1ZiArIDAsIHJnYl9idWYgKyAxLAorICAgICAgICAgICAgIHJnYl9idWYgKyAyLCB5dXZjb25z
dGFudHMpOwogICAgIHJnYl9idWZbM10gPSAyNTU7CiAgIH0KIH0KQEAgLTE1NjQsOCArMTU5Miw4
IEBAIHZvaWQgTlYxMlRvUkdCNTY1Um93X0MoY29uc3QgdWludDgqIHNyY195LAogICAgIGIxID0g
YjEgPj4gMzsKICAgICBnMSA9IGcxID4+IDI7CiAgICAgcjEgPSByMSA+PiAzOwotICAgICoodWlu
dDMyKikoZHN0X3JnYjU2NSkgPSBiMCB8IChnMCA8PCA1KSB8IChyMCA8PCAxMSkgfAotICAgICAg
ICAoYjEgPDwgMTYpIHwgKGcxIDw8IDIxKSB8IChyMSA8PCAyNyk7CisgICAgKih1aW50MzIqKShk
c3RfcmdiNTY1KSA9CisgICAgICAgIGIwIHwgKGcwIDw8IDUpIHwgKHIwIDw8IDExKSB8IChiMSA8
PCAxNikgfCAoZzEgPDwgMjEpIHwgKHIxIDw8IDI3KTsKICAgICBzcmNfeSArPSAyOwogICAgIHNy
Y191diArPSAyOwogICAgIGRzdF9yZ2I1NjUgKz0gNDsgIC8vIEFkdmFuY2UgMiBwaXhlbHMuCkBA
IC0xNTg1LDE4ICsxNjEzLDE4IEBAIHZvaWQgWVVZMlRvQVJHQlJvd19DKGNvbnN0IHVpbnQ4KiBz
cmNfeXV5MiwKICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBpbnQgeDsKICAg
Zm9yICh4ID0gMDsgeCA8IHdpZHRoIC0gMTsgeCArPSAyKSB7Ci0gICAgWXV2UGl4ZWwoc3JjX3l1
eTJbMF0sIHNyY195dXkyWzFdLCBzcmNfeXV5MlszXSwKLSAgICAgICAgICAgICByZ2JfYnVmICsg
MCwgcmdiX2J1ZiArIDEsIHJnYl9idWYgKyAyLCB5dXZjb25zdGFudHMpOworICAgIFl1dlBpeGVs
KHNyY195dXkyWzBdLCBzcmNfeXV5MlsxXSwgc3JjX3l1eTJbM10sIHJnYl9idWYgKyAwLCByZ2Jf
YnVmICsgMSwKKyAgICAgICAgICAgICByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRzKTsKICAgICBy
Z2JfYnVmWzNdID0gMjU1OwotICAgIFl1dlBpeGVsKHNyY195dXkyWzJdLCBzcmNfeXV5MlsxXSwg
c3JjX3l1eTJbM10sCi0gICAgICAgICAgICAgcmdiX2J1ZiArIDQsIHJnYl9idWYgKyA1LCByZ2Jf
YnVmICsgNiwgeXV2Y29uc3RhbnRzKTsKKyAgICBZdXZQaXhlbChzcmNfeXV5MlsyXSwgc3JjX3l1
eTJbMV0sIHNyY195dXkyWzNdLCByZ2JfYnVmICsgNCwgcmdiX2J1ZiArIDUsCisgICAgICAgICAg
ICAgcmdiX2J1ZiArIDYsIHl1dmNvbnN0YW50cyk7CiAgICAgcmdiX2J1Zls3XSA9IDI1NTsKICAg
ICBzcmNfeXV5MiArPSA0OwogICAgIHJnYl9idWYgKz0gODsgIC8vIEFkdmFuY2UgMiBwaXhlbHMu
CiAgIH0KICAgaWYgKHdpZHRoICYgMSkgewotICAgIFl1dlBpeGVsKHNyY195dXkyWzBdLCBzcmNf
eXV5MlsxXSwgc3JjX3l1eTJbM10sCi0gICAgICAgICAgICAgcmdiX2J1ZiArIDAsIHJnYl9idWYg
KyAxLCByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRzKTsKKyAgICBZdXZQaXhlbChzcmNfeXV5Mlsw
XSwgc3JjX3l1eTJbMV0sIHNyY195dXkyWzNdLCByZ2JfYnVmICsgMCwgcmdiX2J1ZiArIDEsCisg
ICAgICAgICAgICAgcmdiX2J1ZiArIDIsIHl1dmNvbnN0YW50cyk7CiAgICAgcmdiX2J1ZlszXSA9
IDI1NTsKICAgfQogfQpAQCAtMTYwNywxOCArMTYzNSwxOCBAQCB2b2lkIFVZVllUb0FSR0JSb3df
Qyhjb25zdCB1aW50OCogc3JjX3V5dnksCiAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKICAgaW50IHg7CiAgIGZvciAoeCA9IDA7IHggPCB3aWR0aCAtIDE7IHggKz0gMikgewotICAg
IFl1dlBpeGVsKHNyY191eXZ5WzFdLCBzcmNfdXl2eVswXSwgc3JjX3V5dnlbMl0sCi0gICAgICAg
ICAgICAgcmdiX2J1ZiArIDAsIHJnYl9idWYgKyAxLCByZ2JfYnVmICsgMiwgeXV2Y29uc3RhbnRz
KTsKKyAgICBZdXZQaXhlbChzcmNfdXl2eVsxXSwgc3JjX3V5dnlbMF0sIHNyY191eXZ5WzJdLCBy
Z2JfYnVmICsgMCwgcmdiX2J1ZiArIDEsCisgICAgICAgICAgICAgcmdiX2J1ZiArIDIsIHl1dmNv
bnN0YW50cyk7CiAgICAgcmdiX2J1ZlszXSA9IDI1NTsKLSAgICBZdXZQaXhlbChzcmNfdXl2eVsz
XSwgc3JjX3V5dnlbMF0sIHNyY191eXZ5WzJdLAotICAgICAgICAgICAgIHJnYl9idWYgKyA0LCBy
Z2JfYnVmICsgNSwgcmdiX2J1ZiArIDYsIHl1dmNvbnN0YW50cyk7CisgICAgWXV2UGl4ZWwoc3Jj
X3V5dnlbM10sIHNyY191eXZ5WzBdLCBzcmNfdXl2eVsyXSwgcmdiX2J1ZiArIDQsIHJnYl9idWYg
KyA1LAorICAgICAgICAgICAgIHJnYl9idWYgKyA2LCB5dXZjb25zdGFudHMpOwogICAgIHJnYl9i
dWZbN10gPSAyNTU7CiAgICAgc3JjX3V5dnkgKz0gNDsKICAgICByZ2JfYnVmICs9IDg7ICAvLyBB
ZHZhbmNlIDIgcGl4ZWxzLgogICB9CiAgIGlmICh3aWR0aCAmIDEpIHsKLSAgICBZdXZQaXhlbChz
cmNfdXl2eVsxXSwgc3JjX3V5dnlbMF0sIHNyY191eXZ5WzJdLAotICAgICAgICAgICAgIHJnYl9i
dWYgKyAwLCByZ2JfYnVmICsgMSwgcmdiX2J1ZiArIDIsIHl1dmNvbnN0YW50cyk7CisgICAgWXV2
UGl4ZWwoc3JjX3V5dnlbMV0sIHNyY191eXZ5WzBdLCBzcmNfdXl2eVsyXSwgcmdiX2J1ZiArIDAs
IHJnYl9idWYgKyAxLAorICAgICAgICAgICAgIHJnYl9idWYgKyAyLCB5dXZjb25zdGFudHMpOwog
ICAgIHJnYl9idWZbM10gPSAyNTU7CiAgIH0KIH0KQEAgLTE2MzEsMTEgKzE2NTksMTEgQEAgdm9p
ZCBJNDIyVG9SR0JBUm93X0MoY29uc3QgdWludDgqIHNyY195LAogICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIGludCB4OwogICBmb3IgKHggPSAwOyB4IDwgd2lkdGggLSAxOyB4
ICs9IDIpIHsKLSAgICBZdXZQaXhlbChzcmNfeVswXSwgc3JjX3VbMF0sIHNyY192WzBdLAotICAg
ICAgICAgICAgIHJnYl9idWYgKyAxLCByZ2JfYnVmICsgMiwgcmdiX2J1ZiArIDMsIHl1dmNvbnN0
YW50cyk7CisgICAgWXV2UGl4ZWwoc3JjX3lbMF0sIHNyY191WzBdLCBzcmNfdlswXSwgcmdiX2J1
ZiArIDEsIHJnYl9idWYgKyAyLAorICAgICAgICAgICAgIHJnYl9idWYgKyAzLCB5dXZjb25zdGFu
dHMpOwogICAgIHJnYl9idWZbMF0gPSAyNTU7Ci0gICAgWXV2UGl4ZWwoc3JjX3lbMV0sIHNyY191
WzBdLCBzcmNfdlswXSwKLSAgICAgICAgICAgICByZ2JfYnVmICsgNSwgcmdiX2J1ZiArIDYsIHJn
Yl9idWYgKyA3LCB5dXZjb25zdGFudHMpOworICAgIFl1dlBpeGVsKHNyY195WzFdLCBzcmNfdVsw
XSwgc3JjX3ZbMF0sIHJnYl9idWYgKyA1LCByZ2JfYnVmICsgNiwKKyAgICAgICAgICAgICByZ2Jf
YnVmICsgNywgeXV2Y29uc3RhbnRzKTsKICAgICByZ2JfYnVmWzRdID0gMjU1OwogICAgIHNyY195
ICs9IDI7CiAgICAgc3JjX3UgKz0gMTsKQEAgLTE2NDMsOCArMTY3MSw4IEBAIHZvaWQgSTQyMlRv
UkdCQVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICByZ2JfYnVmICs9IDg7ICAvLyBBZHZh
bmNlIDIgcGl4ZWxzLgogICB9CiAgIGlmICh3aWR0aCAmIDEpIHsKLSAgICBZdXZQaXhlbChzcmNf
eVswXSwgc3JjX3VbMF0sIHNyY192WzBdLAotICAgICAgICAgICAgIHJnYl9idWYgKyAxLCByZ2Jf
YnVmICsgMiwgcmdiX2J1ZiArIDMsIHl1dmNvbnN0YW50cyk7CisgICAgWXV2UGl4ZWwoc3JjX3lb
MF0sIHNyY191WzBdLCBzcmNfdlswXSwgcmdiX2J1ZiArIDEsIHJnYl9idWYgKyAyLAorICAgICAg
ICAgICAgIHJnYl9idWYgKyAzLCB5dXZjb25zdGFudHMpOwogICAgIHJnYl9idWZbMF0gPSAyNTU7
CiAgIH0KIH0KQEAgLTE3MjQsNyArMTc1Miw5IEBAIHZvaWQgU3BsaXRVVlJvd19DKGNvbnN0IHVp
bnQ4KiBzcmNfdXYsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKICAg
fQogfQogCi12b2lkIE1lcmdlVVZSb3dfQyhjb25zdCB1aW50OCogc3JjX3UsIGNvbnN0IHVpbnQ4
KiBzcmNfdiwgdWludDgqIGRzdF91diwKK3ZvaWQgTWVyZ2VVVlJvd19DKGNvbnN0IHVpbnQ4KiBz
cmNfdSwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdXYsCiAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAg
aW50IHg7CiAgIGZvciAoeCA9IDA7IHggPCB3aWR0aCAtIDE7IHggKz0gMikgewpAQCAtMTc2MSw4
ICsxNzkxLDExIEBAIHZvaWQgQVJHQlNldFJvd19DKHVpbnQ4KiBkc3RfYXJnYiwgdWludDMyIHYz
MiwgaW50IHdpZHRoKSB7CiB9CiAKIC8vIEZpbHRlciAyIHJvd3Mgb2YgWVVZMiBVVidzICg0MjIp
IGludG8gVSBhbmQgViAoNDIwKS4KLXZvaWQgWVVZMlRvVVZSb3dfQyhjb25zdCB1aW50OCogc3Jj
X3l1eTIsIGludCBzcmNfc3RyaWRlX3l1eTIsCi0gICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgewordm9pZCBZVVkyVG9VVlJvd19DKGNvbnN0
IHVpbnQ4KiBzcmNfeXV5MiwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95dXky
LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIC8vIE91dHB1
dCBhIHJvdyBvZiBVViB2YWx1ZXMsIGZpbHRlcmluZyAyIHJvd3Mgb2YgWVVZMi4KICAgaW50IHg7
CiAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSAyKSB7CkBAIC0xNzc2LDcgKzE4MDksOSBA
QCB2b2lkIFlVWTJUb1VWUm93X0MoY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3JjX3N0cmlk
ZV95dXkyLAogCiAvLyBDb3B5IHJvdyBvZiBZVVkyIFVWJ3MgKDQyMikgaW50byBVIGFuZCBWICg0
MjIpLgogdm9pZCBZVVkyVG9VVjQyMlJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKLSAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7
CisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAg
Ly8gT3V0cHV0IGEgcm93IG9mIFVWIHZhbHVlcy4KICAgaW50IHg7CiAgIGZvciAoeCA9IDA7IHgg
PCB3aWR0aDsgeCArPSAyKSB7CkBAIC0xODAzLDggKzE4MzgsMTEgQEAgdm9pZCBZVVkyVG9ZUm93
X0MoY29uc3QgdWludDgqIHNyY195dXkyLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgewogfQog
CiAvLyBGaWx0ZXIgMiByb3dzIG9mIFVZVlkgVVYncyAoNDIyKSBpbnRvIFUgYW5kIFYgKDQyMCku
Ci12b2lkIFVZVllUb1VWUm93X0MoY29uc3QgdWludDgqIHNyY191eXZ5LCBpbnQgc3JjX3N0cmlk
ZV91eXZ5LAotICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpIHsKK3ZvaWQgVVlWWVRvVVZSb3dfQyhjb25zdCB1aW50OCogc3JjX3V5dnksCisg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdXl2eSwKKyAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCkgewogICAvLyBPdXRwdXQgYSByb3cgb2YgVVYgdmFsdWVz
LgogICBpbnQgeDsKICAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDIpIHsKQEAgLTE4MTgs
NyArMTg1Niw5IEBAIHZvaWQgVVlWWVRvVVZSb3dfQyhjb25zdCB1aW50OCogc3JjX3V5dnksIGlu
dCBzcmNfc3RyaWRlX3V5dnksCiAKIC8vIENvcHkgcm93IG9mIFVZVlkgVVYncyAoNDIyKSBpbnRv
IFUgYW5kIFYgKDQyMikuCiB2b2lkIFVZVllUb1VWNDIyUm93X0MoY29uc3QgdWludDgqIHNyY191
eXZ5LAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCkgewogICAvLyBPdXRwdXQgYSByb3cgb2YgVVYgdmFsdWVzLgogICBpbnQgeDsKICAgZm9y
ICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDIpIHsKQEAgLTE4NDksOCArMTg4OSwxMCBAQCB2b2lk
IFVZVllUb1lSb3dfQyhjb25zdCB1aW50OCogc3JjX3V5dnksIHVpbnQ4KiBkc3RfeSwgaW50IHdp
ZHRoKSB7CiAvLyBCbGVuZCBzcmNfYXJnYjAgb3ZlciBzcmNfYXJnYjEgYW5kIHN0b3JlIHRvIGRz
dF9hcmdiLgogLy8gZHN0X2FyZ2IgbWF5IGJlIHNyY19hcmdiMCBvciBzcmNfYXJnYjEuCiAvLyBU
aGlzIGNvZGUgbWltaWNzIHRoZSBTU1NFMyB2ZXJzaW9uIGZvciBiZXR0ZXIgdGVzdGFiaWxpdHku
Ci12b2lkIEFSR0JCbGVuZFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdp
ZHRoKSB7Cit2b2lkIEFSR0JCbGVuZFJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAg
IGludCB4OwogICBmb3IgKHggPSAwOyB4IDwgd2lkdGggLSAxOyB4ICs9IDIpIHsKICAgICB1aW50
MzIgZmIgPSBzcmNfYXJnYjBbMF07CkBAIC0xODk3LDkgKzE5MzksMTIgQEAgdm9pZCBBUkdCQmxl
bmRSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAog
fQogI3VuZGVmIEJMRU5ECiAKLSNkZWZpbmUgVUJMRU5EKGYsIGIsIGEpICgoKGEpICogZikgKyAo
KDI1NSAtIGEpICogYikgKyAyNTUpID4+IDgKLXZvaWQgQmxlbmRQbGFuZVJvd19DKGNvbnN0IHVp
bnQ4KiBzcmMwLCBjb25zdCB1aW50OCogc3JjMSwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBhbHBoYSwgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CisjZGVmaW5lIFVCTEVORChm
LCBiLCBhKSAoKChhKSpmKSArICgoMjU1IC0gYSkgKiBiKSArIDI1NSkgPj4gOAordm9pZCBCbGVu
ZFBsYW5lUm93X0MoY29uc3QgdWludDgqIHNyYzAsCisgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjMSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBhbHBoYSwK
KyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpIHsKICAgaW50IHg7CiAgIGZvciAoeCA9IDA7IHggPCB3aWR0aCAtIDE7IHggKz0g
MikgewogICAgIGRzdFswXSA9IFVCTEVORChzcmMwWzBdLCBzcmMxWzBdLCBhbHBoYVswXSk7CkBA
IC0xOTYzLDM4ICsyMDA4LDQzIEBAIHZvaWQgQVJHQkF0dGVudWF0ZVJvd19DKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKIC8vIDguOCBmaXhlZCBw
b2ludCBpbnZlcnNlIHRhYmxlIHdpdGggMS4wIGluIHVwcGVyIHNob3J0IGFuZCAxIC8gYSBpbiBs
b3dlci4KICNkZWZpbmUgVChhKSAweDAxMDAwMDAwICsgKDB4MTAwMDAgLyBhKQogY29uc3QgdWlu
dDMyIGZpeGVkX2ludnRibDhbMjU2XSA9IHsKLSAgMHgwMTAwMDAwMCwgMHgwMTAwZmZmZiwgVCgw
eDAyKSwgVCgweDAzKSwgVCgweDA0KSwgVCgweDA1KSwgVCgweDA2KSwgVCgweDA3KSwKLSAgVCgw
eDA4KSwgVCgweDA5KSwgVCgweDBhKSwgVCgweDBiKSwgVCgweDBjKSwgVCgweDBkKSwgVCgweDBl
KSwgVCgweDBmKSwKLSAgVCgweDEwKSwgVCgweDExKSwgVCgweDEyKSwgVCgweDEzKSwgVCgweDE0
KSwgVCgweDE1KSwgVCgweDE2KSwgVCgweDE3KSwKLSAgVCgweDE4KSwgVCgweDE5KSwgVCgweDFh
KSwgVCgweDFiKSwgVCgweDFjKSwgVCgweDFkKSwgVCgweDFlKSwgVCgweDFmKSwKLSAgVCgweDIw
KSwgVCgweDIxKSwgVCgweDIyKSwgVCgweDIzKSwgVCgweDI0KSwgVCgweDI1KSwgVCgweDI2KSwg
VCgweDI3KSwKLSAgVCgweDI4KSwgVCgweDI5KSwgVCgweDJhKSwgVCgweDJiKSwgVCgweDJjKSwg
VCgweDJkKSwgVCgweDJlKSwgVCgweDJmKSwKLSAgVCgweDMwKSwgVCgweDMxKSwgVCgweDMyKSwg
VCgweDMzKSwgVCgweDM0KSwgVCgweDM1KSwgVCgweDM2KSwgVCgweDM3KSwKLSAgVCgweDM4KSwg
VCgweDM5KSwgVCgweDNhKSwgVCgweDNiKSwgVCgweDNjKSwgVCgweDNkKSwgVCgweDNlKSwgVCgw
eDNmKSwKLSAgVCgweDQwKSwgVCgweDQxKSwgVCgweDQyKSwgVCgweDQzKSwgVCgweDQ0KSwgVCgw
eDQ1KSwgVCgweDQ2KSwgVCgweDQ3KSwKLSAgVCgweDQ4KSwgVCgweDQ5KSwgVCgweDRhKSwgVCgw
eDRiKSwgVCgweDRjKSwgVCgweDRkKSwgVCgweDRlKSwgVCgweDRmKSwKLSAgVCgweDUwKSwgVCgw
eDUxKSwgVCgweDUyKSwgVCgweDUzKSwgVCgweDU0KSwgVCgweDU1KSwgVCgweDU2KSwgVCgweDU3
KSwKLSAgVCgweDU4KSwgVCgweDU5KSwgVCgweDVhKSwgVCgweDViKSwgVCgweDVjKSwgVCgweDVk
KSwgVCgweDVlKSwgVCgweDVmKSwKLSAgVCgweDYwKSwgVCgweDYxKSwgVCgweDYyKSwgVCgweDYz
KSwgVCgweDY0KSwgVCgweDY1KSwgVCgweDY2KSwgVCgweDY3KSwKLSAgVCgweDY4KSwgVCgweDY5
KSwgVCgweDZhKSwgVCgweDZiKSwgVCgweDZjKSwgVCgweDZkKSwgVCgweDZlKSwgVCgweDZmKSwK
LSAgVCgweDcwKSwgVCgweDcxKSwgVCgweDcyKSwgVCgweDczKSwgVCgweDc0KSwgVCgweDc1KSwg
VCgweDc2KSwgVCgweDc3KSwKLSAgVCgweDc4KSwgVCgweDc5KSwgVCgweDdhKSwgVCgweDdiKSwg
VCgweDdjKSwgVCgweDdkKSwgVCgweDdlKSwgVCgweDdmKSwKLSAgVCgweDgwKSwgVCgweDgxKSwg
VCgweDgyKSwgVCgweDgzKSwgVCgweDg0KSwgVCgweDg1KSwgVCgweDg2KSwgVCgweDg3KSwKLSAg
VCgweDg4KSwgVCgweDg5KSwgVCgweDhhKSwgVCgweDhiKSwgVCgweDhjKSwgVCgweDhkKSwgVCgw
eDhlKSwgVCgweDhmKSwKLSAgVCgweDkwKSwgVCgweDkxKSwgVCgweDkyKSwgVCgweDkzKSwgVCgw
eDk0KSwgVCgweDk1KSwgVCgweDk2KSwgVCgweDk3KSwKLSAgVCgweDk4KSwgVCgweDk5KSwgVCgw
eDlhKSwgVCgweDliKSwgVCgweDljKSwgVCgweDlkKSwgVCgweDllKSwgVCgweDlmKSwKLSAgVCgw
eGEwKSwgVCgweGExKSwgVCgweGEyKSwgVCgweGEzKSwgVCgweGE0KSwgVCgweGE1KSwgVCgweGE2
KSwgVCgweGE3KSwKLSAgVCgweGE4KSwgVCgweGE5KSwgVCgweGFhKSwgVCgweGFiKSwgVCgweGFj
KSwgVCgweGFkKSwgVCgweGFlKSwgVCgweGFmKSwKLSAgVCgweGIwKSwgVCgweGIxKSwgVCgweGIy
KSwgVCgweGIzKSwgVCgweGI0KSwgVCgweGI1KSwgVCgweGI2KSwgVCgweGI3KSwKLSAgVCgweGI4
KSwgVCgweGI5KSwgVCgweGJhKSwgVCgweGJiKSwgVCgweGJjKSwgVCgweGJkKSwgVCgweGJlKSwg
VCgweGJmKSwKLSAgVCgweGMwKSwgVCgweGMxKSwgVCgweGMyKSwgVCgweGMzKSwgVCgweGM0KSwg
VCgweGM1KSwgVCgweGM2KSwgVCgweGM3KSwKLSAgVCgweGM4KSwgVCgweGM5KSwgVCgweGNhKSwg
VCgweGNiKSwgVCgweGNjKSwgVCgweGNkKSwgVCgweGNlKSwgVCgweGNmKSwKLSAgVCgweGQwKSwg
VCgweGQxKSwgVCgweGQyKSwgVCgweGQzKSwgVCgweGQ0KSwgVCgweGQ1KSwgVCgweGQ2KSwgVCgw
eGQ3KSwKLSAgVCgweGQ4KSwgVCgweGQ5KSwgVCgweGRhKSwgVCgweGRiKSwgVCgweGRjKSwgVCgw
eGRkKSwgVCgweGRlKSwgVCgweGRmKSwKLSAgVCgweGUwKSwgVCgweGUxKSwgVCgweGUyKSwgVCgw
eGUzKSwgVCgweGU0KSwgVCgweGU1KSwgVCgweGU2KSwgVCgweGU3KSwKLSAgVCgweGU4KSwgVCgw
eGU5KSwgVCgweGVhKSwgVCgweGViKSwgVCgweGVjKSwgVCgweGVkKSwgVCgweGVlKSwgVCgweGVm
KSwKLSAgVCgweGYwKSwgVCgweGYxKSwgVCgweGYyKSwgVCgweGYzKSwgVCgweGY0KSwgVCgweGY1
KSwgVCgweGY2KSwgVCgweGY3KSwKLSAgVCgweGY4KSwgVCgweGY5KSwgVCgweGZhKSwgVCgweGZi
KSwgVCgweGZjKSwgVCgweGZkKSwgVCgweGZlKSwgMHgwMTAwMDEwMCB9OworICAgIDB4MDEwMDAw
MDAsIDB4MDEwMGZmZmYsIFQoMHgwMiksIFQoMHgwMyksICAgVCgweDA0KSwgVCgweDA1KSwgVCgw
eDA2KSwKKyAgICBUKDB4MDcpLCAgICBUKDB4MDgpLCAgICBUKDB4MDkpLCBUKDB4MGEpLCAgIFQo
MHgwYiksIFQoMHgwYyksIFQoMHgwZCksCisgICAgVCgweDBlKSwgICAgVCgweDBmKSwgICAgVCgw
eDEwKSwgVCgweDExKSwgICBUKDB4MTIpLCBUKDB4MTMpLCBUKDB4MTQpLAorICAgIFQoMHgxNSks
ICAgIFQoMHgxNiksICAgIFQoMHgxNyksIFQoMHgxOCksICAgVCgweDE5KSwgVCgweDFhKSwgVCgw
eDFiKSwKKyAgICBUKDB4MWMpLCAgICBUKDB4MWQpLCAgICBUKDB4MWUpLCBUKDB4MWYpLCAgIFQo
MHgyMCksIFQoMHgyMSksIFQoMHgyMiksCisgICAgVCgweDIzKSwgICAgVCgweDI0KSwgICAgVCgw
eDI1KSwgVCgweDI2KSwgICBUKDB4MjcpLCBUKDB4MjgpLCBUKDB4MjkpLAorICAgIFQoMHgyYSks
ICAgIFQoMHgyYiksICAgIFQoMHgyYyksIFQoMHgyZCksICAgVCgweDJlKSwgVCgweDJmKSwgVCgw
eDMwKSwKKyAgICBUKDB4MzEpLCAgICBUKDB4MzIpLCAgICBUKDB4MzMpLCBUKDB4MzQpLCAgIFQo
MHgzNSksIFQoMHgzNiksIFQoMHgzNyksCisgICAgVCgweDM4KSwgICAgVCgweDM5KSwgICAgVCgw
eDNhKSwgVCgweDNiKSwgICBUKDB4M2MpLCBUKDB4M2QpLCBUKDB4M2UpLAorICAgIFQoMHgzZiks
ICAgIFQoMHg0MCksICAgIFQoMHg0MSksIFQoMHg0MiksICAgVCgweDQzKSwgVCgweDQ0KSwgVCgw
eDQ1KSwKKyAgICBUKDB4NDYpLCAgICBUKDB4NDcpLCAgICBUKDB4NDgpLCBUKDB4NDkpLCAgIFQo
MHg0YSksIFQoMHg0YiksIFQoMHg0YyksCisgICAgVCgweDRkKSwgICAgVCgweDRlKSwgICAgVCgw
eDRmKSwgVCgweDUwKSwgICBUKDB4NTEpLCBUKDB4NTIpLCBUKDB4NTMpLAorICAgIFQoMHg1NCks
ICAgIFQoMHg1NSksICAgIFQoMHg1NiksIFQoMHg1NyksICAgVCgweDU4KSwgVCgweDU5KSwgVCgw
eDVhKSwKKyAgICBUKDB4NWIpLCAgICBUKDB4NWMpLCAgICBUKDB4NWQpLCBUKDB4NWUpLCAgIFQo
MHg1ZiksIFQoMHg2MCksIFQoMHg2MSksCisgICAgVCgweDYyKSwgICAgVCgweDYzKSwgICAgVCgw
eDY0KSwgVCgweDY1KSwgICBUKDB4NjYpLCBUKDB4NjcpLCBUKDB4NjgpLAorICAgIFQoMHg2OSks
ICAgIFQoMHg2YSksICAgIFQoMHg2YiksIFQoMHg2YyksICAgVCgweDZkKSwgVCgweDZlKSwgVCgw
eDZmKSwKKyAgICBUKDB4NzApLCAgICBUKDB4NzEpLCAgICBUKDB4NzIpLCBUKDB4NzMpLCAgIFQo
MHg3NCksIFQoMHg3NSksIFQoMHg3NiksCisgICAgVCgweDc3KSwgICAgVCgweDc4KSwgICAgVCgw
eDc5KSwgVCgweDdhKSwgICBUKDB4N2IpLCBUKDB4N2MpLCBUKDB4N2QpLAorICAgIFQoMHg3ZSks
ICAgIFQoMHg3ZiksICAgIFQoMHg4MCksIFQoMHg4MSksICAgVCgweDgyKSwgVCgweDgzKSwgVCgw
eDg0KSwKKyAgICBUKDB4ODUpLCAgICBUKDB4ODYpLCAgICBUKDB4ODcpLCBUKDB4ODgpLCAgIFQo
MHg4OSksIFQoMHg4YSksIFQoMHg4YiksCisgICAgVCgweDhjKSwgICAgVCgweDhkKSwgICAgVCgw
eDhlKSwgVCgweDhmKSwgICBUKDB4OTApLCBUKDB4OTEpLCBUKDB4OTIpLAorICAgIFQoMHg5Myks
ICAgIFQoMHg5NCksICAgIFQoMHg5NSksIFQoMHg5NiksICAgVCgweDk3KSwgVCgweDk4KSwgVCgw
eDk5KSwKKyAgICBUKDB4OWEpLCAgICBUKDB4OWIpLCAgICBUKDB4OWMpLCBUKDB4OWQpLCAgIFQo
MHg5ZSksIFQoMHg5ZiksIFQoMHhhMCksCisgICAgVCgweGExKSwgICAgVCgweGEyKSwgICAgVCgw
eGEzKSwgVCgweGE0KSwgICBUKDB4YTUpLCBUKDB4YTYpLCBUKDB4YTcpLAorICAgIFQoMHhhOCks
ICAgIFQoMHhhOSksICAgIFQoMHhhYSksIFQoMHhhYiksICAgVCgweGFjKSwgVCgweGFkKSwgVCgw
eGFlKSwKKyAgICBUKDB4YWYpLCAgICBUKDB4YjApLCAgICBUKDB4YjEpLCBUKDB4YjIpLCAgIFQo
MHhiMyksIFQoMHhiNCksIFQoMHhiNSksCisgICAgVCgweGI2KSwgICAgVCgweGI3KSwgICAgVCgw
eGI4KSwgVCgweGI5KSwgICBUKDB4YmEpLCBUKDB4YmIpLCBUKDB4YmMpLAorICAgIFQoMHhiZCks
ICAgIFQoMHhiZSksICAgIFQoMHhiZiksIFQoMHhjMCksICAgVCgweGMxKSwgVCgweGMyKSwgVCgw
eGMzKSwKKyAgICBUKDB4YzQpLCAgICBUKDB4YzUpLCAgICBUKDB4YzYpLCBUKDB4YzcpLCAgIFQo
MHhjOCksIFQoMHhjOSksIFQoMHhjYSksCisgICAgVCgweGNiKSwgICAgVCgweGNjKSwgICAgVCgw
eGNkKSwgVCgweGNlKSwgICBUKDB4Y2YpLCBUKDB4ZDApLCBUKDB4ZDEpLAorICAgIFQoMHhkMiks
ICAgIFQoMHhkMyksICAgIFQoMHhkNCksIFQoMHhkNSksICAgVCgweGQ2KSwgVCgweGQ3KSwgVCgw
eGQ4KSwKKyAgICBUKDB4ZDkpLCAgICBUKDB4ZGEpLCAgICBUKDB4ZGIpLCBUKDB4ZGMpLCAgIFQo
MHhkZCksIFQoMHhkZSksIFQoMHhkZiksCisgICAgVCgweGUwKSwgICAgVCgweGUxKSwgICAgVCgw
eGUyKSwgVCgweGUzKSwgICBUKDB4ZTQpLCBUKDB4ZTUpLCBUKDB4ZTYpLAorICAgIFQoMHhlNyks
ICAgIFQoMHhlOCksICAgIFQoMHhlOSksIFQoMHhlYSksICAgVCgweGViKSwgVCgweGVjKSwgVCgw
eGVkKSwKKyAgICBUKDB4ZWUpLCAgICBUKDB4ZWYpLCAgICBUKDB4ZjApLCBUKDB4ZjEpLCAgIFQo
MHhmMiksIFQoMHhmMyksIFQoMHhmNCksCisgICAgVCgweGY1KSwgICAgVCgweGY2KSwgICAgVCgw
eGY3KSwgVCgweGY4KSwgICBUKDB4ZjkpLCBUKDB4ZmEpLCBUKDB4ZmIpLAorICAgIFQoMHhmYyks
ICAgIFQoMHhmZCksICAgIFQoMHhmZSksIDB4MDEwMDAxMDB9OwogI3VuZGVmIFQKIAogdm9pZCBB
UkdCVW5hdHRlbnVhdGVSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJn
YiwgaW50IHdpZHRoKSB7CkBAIC0yMDE4LDggKzIwNjgsMTAgQEAgdm9pZCBBUkdCVW5hdHRlbnVh
dGVSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRo
KSB7CiAgIH0KIH0KIAotdm9pZCBDb21wdXRlQ3VtdWxhdGl2ZVN1bVJvd19DKGNvbnN0IHVpbnQ4
KiByb3csIGludDMyKiBjdW1zdW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50MzIqIHByZXZpb3VzX2N1bXN1bSwgaW50IHdpZHRoKSB7Cit2b2lkIENvbXB1dGVDdW11
bGF0aXZlU3VtUm93X0MoY29uc3QgdWludDgqIHJvdywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQzMiogY3Vtc3VtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGludDMyKiBwcmV2aW91c19jdW1zdW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIGludDMyIHJvd19zdW1bNF0gPSB7MCwgMCwgMCwgMH07CiAgIGlu
dCB4OwogICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7ICsreCkgewpAQCAtMjAyNywxNSArMjA3OSwx
OSBAQCB2b2lkIENvbXB1dGVDdW11bGF0aXZlU3VtUm93X0MoY29uc3QgdWludDgqIHJvdywgaW50
MzIqIGN1bXN1bSwKICAgICByb3dfc3VtWzFdICs9IHJvd1t4ICogNCArIDFdOwogICAgIHJvd19z
dW1bMl0gKz0gcm93W3ggKiA0ICsgMl07CiAgICAgcm93X3N1bVszXSArPSByb3dbeCAqIDQgKyAz
XTsKLSAgICBjdW1zdW1beCAqIDQgKyAwXSA9IHJvd19zdW1bMF0gICsgcHJldmlvdXNfY3Vtc3Vt
W3ggKiA0ICsgMF07Ci0gICAgY3Vtc3VtW3ggKiA0ICsgMV0gPSByb3dfc3VtWzFdICArIHByZXZp
b3VzX2N1bXN1bVt4ICogNCArIDFdOwotICAgIGN1bXN1bVt4ICogNCArIDJdID0gcm93X3N1bVsy
XSAgKyBwcmV2aW91c19jdW1zdW1beCAqIDQgKyAyXTsKLSAgICBjdW1zdW1beCAqIDQgKyAzXSA9
IHJvd19zdW1bM10gICsgcHJldmlvdXNfY3Vtc3VtW3ggKiA0ICsgM107CisgICAgY3Vtc3VtW3gg
KiA0ICsgMF0gPSByb3dfc3VtWzBdICsgcHJldmlvdXNfY3Vtc3VtW3ggKiA0ICsgMF07CisgICAg
Y3Vtc3VtW3ggKiA0ICsgMV0gPSByb3dfc3VtWzFdICsgcHJldmlvdXNfY3Vtc3VtW3ggKiA0ICsg
MV07CisgICAgY3Vtc3VtW3ggKiA0ICsgMl0gPSByb3dfc3VtWzJdICsgcHJldmlvdXNfY3Vtc3Vt
W3ggKiA0ICsgMl07CisgICAgY3Vtc3VtW3ggKiA0ICsgM10gPSByb3dfc3VtWzNdICsgcHJldmlv
dXNfY3Vtc3VtW3ggKiA0ICsgM107CiAgIH0KIH0KIAotdm9pZCBDdW11bGF0aXZlU3VtVG9BdmVy
YWdlUm93X0MoY29uc3QgaW50MzIqIHRsLCBjb25zdCBpbnQzMiogYmwsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3LCBpbnQgYXJlYSwgdWludDgqIGRzdCwgaW50IGNvdW50
KSB7Cit2b2lkIEN1bXVsYXRpdmVTdW1Ub0F2ZXJhZ2VSb3dfQyhjb25zdCBpbnQzMiogdGwsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQzMiogYmwsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBhcmVhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb3VudCkgewog
ICBmbG9hdCBvb2EgPSAxLjBmIC8gYXJlYTsKICAgaW50IGk7CiAgIGZvciAoaSA9IDA7IGkgPCBj
b3VudDsgKytpKSB7CkBAIC0yMDUxLDggKzIxMDcsMTEgQEAgdm9pZCBDdW11bGF0aXZlU3VtVG9B
dmVyYWdlUm93X0MoY29uc3QgaW50MzIqIHRsLCBjb25zdCBpbnQzMiogYmwsCiAKIC8vIENvcHkg
cGl4ZWxzIGZyb20gcm90YXRlZCBzb3VyY2UgdG8gZGVzdGluYXRpb24gcm93IHdpdGggYSBzbG9w
ZS4KIExJQllVVl9BUEkKLXZvaWQgQVJHQkFmZmluZVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgaW50IHNyY19hcmdiX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYiwgY29uc3QgZmxvYXQqIHV2X2R1ZHYsIGludCB3aWR0aCkgewordm9pZCBBUkdCQWZmaW5l
Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19hcmdiX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0KiB1dl9kdWR2LAorICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKSB7CiAgIGludCBpOwogICAvLyBSZW5kZXIgYSByb3cgb2YgcGl4ZWxz
IGZyb20gc291cmNlIGludG8gYSBidWZmZXIuCiAgIGZsb2F0IHV2WzJdOwpAQCAtMjA2Miw4ICsy
MTIxLDcgQEAgdm9pZCBBUkdCQWZmaW5lUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQg
c3JjX2FyZ2Jfc3RyaWRlLAogICAgIGludCB4ID0gKGludCkodXZbMF0pOwogICAgIGludCB5ID0g
KGludCkodXZbMV0pOwogICAgICoodWludDMyKikoZHN0X2FyZ2IpID0KLSAgICAgICAgKihjb25z
dCB1aW50MzIqKShzcmNfYXJnYiArIHkgKiBzcmNfYXJnYl9zdHJpZGUgKwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ICogNCk7CisgICAgICAgICooY29uc3QgdWlu
dDMyKikoc3JjX2FyZ2IgKyB5ICogc3JjX2FyZ2Jfc3RyaWRlICsgeCAqIDQpOwogICAgIGRzdF9h
cmdiICs9IDQ7CiAgICAgdXZbMF0gKz0gdXZfZHVkdlsyXTsKICAgICB1dlsxXSArPSB1dl9kdWR2
WzNdOwpAQCAtMjA3MSwxNiArMjEyOSwyMCBAQCB2b2lkIEFSR0JBZmZpbmVSb3dfQyhjb25zdCB1
aW50OCogc3JjX2FyZ2IsIGludCBzcmNfYXJnYl9zdHJpZGUsCiB9CiAKIC8vIEJsZW5kIDIgcm93
cyBpbnRvIDEuCi1zdGF0aWMgdm9pZCBIYWxmUm93X0MoY29uc3QgdWludDgqIHNyY191diwgcHRy
ZGlmZl90IHNyY191dl9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91
diwgaW50IHdpZHRoKSB7CitzdGF0aWMgdm9pZCBIYWxmUm93X0MoY29uc3QgdWludDgqIHNyY191
diwKKyAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3V2X3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LAorICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgewogICBpbnQgeDsKICAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyArK3gpIHsKICAg
ICBkc3RfdXZbeF0gPSAoc3JjX3V2W3hdICsgc3JjX3V2W3NyY191dl9zdHJpZGUgKyB4XSArIDEp
ID4+IDE7CiAgIH0KIH0KIAotc3RhdGljIHZvaWQgSGFsZlJvd18xNl9DKGNvbnN0IHVpbnQxNiog
c3JjX3V2LCBwdHJkaWZmX3Qgc3JjX3V2X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTYqIGRzdF91diwgaW50IHdpZHRoKSB7CitzdGF0aWMgdm9pZCBIYWxmUm93XzE2X0Mo
Y29uc3QgdWludDE2KiBzcmNfdXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY191dl9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3RfdXYs
CisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGludCB4OwogICBmb3Ig
KHggPSAwOyB4IDwgd2lkdGg7ICsreCkgewogICAgIGRzdF91dlt4XSA9IChzcmNfdXZbeF0gKyBz
cmNfdXZbc3JjX3V2X3N0cmlkZSArIHhdICsgMSkgPj4gMTsKQEAgLTIwODgsOSArMjE1MCwxMSBA
QCBzdGF0aWMgdm9pZCBIYWxmUm93XzE2X0MoY29uc3QgdWludDE2KiBzcmNfdXYsIHB0cmRpZmZf
dCBzcmNfdXZfc3RyaWRlLAogfQogCiAvLyBDIHZlcnNpb24gMngyIC0+IDJ4MS4KLXZvaWQgSW50
ZXJwb2xhdGVSb3dfQyh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCit2b2lk
IEludGVycG9sYXRlUm93X0ModWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgc291cmNlX3lf
ZnJhY3Rpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNvdXJjZV95X2ZyYWN0aW9uKSB7CiAgIGludCB5MV9mcmFjdGlvbiA9
IHNvdXJjZV95X2ZyYWN0aW9uOwogICBpbnQgeTBfZnJhY3Rpb24gPSAyNTYgLSB5MV9mcmFjdGlv
bjsKICAgY29uc3QgdWludDgqIHNyY19wdHIxID0gc3JjX3B0ciArIHNyY19zdHJpZGU7CkBAIC0y
MTE4LDkgKzIxODIsMTEgQEAgdm9pZCBJbnRlcnBvbGF0ZVJvd19DKHVpbnQ4KiBkc3RfcHRyLCBj
b25zdCB1aW50OCogc3JjX3B0ciwKICAgfQogfQogCi12b2lkIEludGVycG9sYXRlUm93XzE2X0Mo
dWludDE2KiBkc3RfcHRyLCBjb25zdCB1aW50MTYqIHNyY19wdHIsCit2b2lkIEludGVycG9sYXRl
Um93XzE2X0ModWludDE2KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNiogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBzb3VyY2Vf
eV9mcmFjdGlvbikgeworICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc291cmNlX3lfZnJhY3Rpb24pIHsKICAgaW50IHkxX2Zy
YWN0aW9uID0gc291cmNlX3lfZnJhY3Rpb247CiAgIGludCB5MF9mcmFjdGlvbiA9IDI1NiAtIHkx
X2ZyYWN0aW9uOwogICBjb25zdCB1aW50MTYqIHNyY19wdHIxID0gc3JjX3B0ciArIHNyY19zdHJp
ZGU7CkBAIC0yMTQ2LDggKzIyMTIsMTAgQEAgdm9pZCBJbnRlcnBvbGF0ZVJvd18xNl9DKHVpbnQx
NiogZHN0X3B0ciwgY29uc3QgdWludDE2KiBzcmNfcHRyLAogfQogCiAvLyBVc2UgZmlyc3QgNCBz
aHVmZmxlciB2YWx1ZXMgdG8gcmVvcmRlciBBUkdCIGNoYW5uZWxzLgotdm9pZCBBUkdCU2h1ZmZs
ZVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzaHVmZmxlciwgaW50IHdpZHRoKSB7Cit2b2lkIEFS
R0JTaHVmZmxlUm93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c2h1ZmZsZXIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGludCBpbmRl
eDAgPSBzaHVmZmxlclswXTsKICAgaW50IGluZGV4MSA9IHNodWZmbGVyWzFdOwogICBpbnQgaW5k
ZXgyID0gc2h1ZmZsZXJbMl07CkBAIC0yMTcyLDcgKzIyNDAsOCBAQCB2b2lkIEFSR0JTaHVmZmxl
Um93X0MoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCiB2b2lkIEk0MjJU
b1lVWTJSb3dfQyhjb25zdCB1aW50OCogc3JjX3ksCiAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3UsCiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3Ys
Ci0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2ZyYW1lLCBpbnQgd2lkdGgpIHsKKyAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfZnJhbWUsCisgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpIHsKICAgaW50IHg7CiAgIGZvciAoeCA9IDA7IHggPCB3aWR0aCAtIDE7IHgg
Kz0gMikgewogICAgIGRzdF9mcmFtZVswXSA9IHNyY195WzBdOwpAQCAtMjE5NSw3ICsyMjY0LDgg
QEAgdm9pZCBJNDIyVG9ZVVkyUm93X0MoY29uc3QgdWludDgqIHNyY195LAogdm9pZCBJNDIyVG9V
WVZZUm93X0MoY29uc3QgdWludDgqIHNyY195LAogICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY191LAogICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAot
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwgaW50IHdpZHRoKSB7CisgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2ZyYW1lLAorICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKSB7CiAgIGludCB4OwogICBmb3IgKHggPSAwOyB4IDwgd2lkdGggLSAxOyB4ICs9
IDIpIHsKICAgICBkc3RfZnJhbWVbMF0gPSBzcmNfdVswXTsKQEAgLTIyMTUsNyArMjI4NSw2IEBA
IHZvaWQgSTQyMlRvVVlWWVJvd19DKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgfQogfQogCi0KIHZv
aWQgQVJHQlBvbHlub21pYWxSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGZsb2F0KiBwb2x5LApAQCAtMjI3NSw4ICsyMzQ0LDExIEBAIHZvaWQgSGFsZkZsb2F0
Um93X0MoY29uc3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50IHdp
ZHRoKSB7CiAgIH0KIH0KIAotdm9pZCBBUkdCTHVtYUNvbG9yVGFibGVSb3dfQyhjb25zdCB1aW50
OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogbHVtYSwgdWludDMyIGx1bWFjb2VmZikgewordm9p
ZCBBUkdCTHVtYUNvbG9yVGFibGVSb3dfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogbHVtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyIGx1bWFj
b2VmZikgewogICB1aW50MzIgYmMgPSBsdW1hY29lZmYgJiAweGZmOwogICB1aW50MzIgZ2MgPSAo
bHVtYWNvZWZmID4+IDgpICYgMHhmZjsKICAgdWludDMyIHJjID0gKGx1bWFjb2VmZiA+PiAxNikg
JiAweGZmOwpAQCAtMjI4NCwxNSArMjM1NiwxNyBAQCB2b2lkIEFSR0JMdW1hQ29sb3JUYWJsZVJv
d19DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgsCiAg
IGludCBpOwogICBmb3IgKGkgPSAwOyBpIDwgd2lkdGggLSAxOyBpICs9IDIpIHsKICAgICAvLyBM
dW1pbmFuY2UgaW4gcm93cywgY29sb3IgdmFsdWVzIGluIGNvbHVtbnMuCi0gICAgY29uc3QgdWlu
dDgqIGx1bWEwID0gKChzcmNfYXJnYlswXSAqIGJjICsgc3JjX2FyZ2JbMV0gKiBnYyArCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBzcmNfYXJnYlsyXSAqIHJjKSAmIDB4N0YwMHUpICsgbHVt
YTsKKyAgICBjb25zdCB1aW50OCogbHVtYTAgPQorICAgICAgICAoKHNyY19hcmdiWzBdICogYmMg
KyBzcmNfYXJnYlsxXSAqIGdjICsgc3JjX2FyZ2JbMl0gKiByYykgJiAweDdGMDB1KSArCisgICAg
ICAgIGx1bWE7CiAgICAgY29uc3QgdWludDgqIGx1bWExOwogICAgIGRzdF9hcmdiWzBdID0gbHVt
YTBbc3JjX2FyZ2JbMF1dOwogICAgIGRzdF9hcmdiWzFdID0gbHVtYTBbc3JjX2FyZ2JbMV1dOwog
ICAgIGRzdF9hcmdiWzJdID0gbHVtYTBbc3JjX2FyZ2JbMl1dOwogICAgIGRzdF9hcmdiWzNdID0g
c3JjX2FyZ2JbM107Ci0gICAgbHVtYTEgPSAoKHNyY19hcmdiWzRdICogYmMgKyBzcmNfYXJnYls1
XSAqIGdjICsKLSAgICAgICAgICAgICAgc3JjX2FyZ2JbNl0gKiByYykgJiAweDdGMDB1KSArIGx1
bWE7CisgICAgbHVtYTEgPQorICAgICAgICAoKHNyY19hcmdiWzRdICogYmMgKyBzcmNfYXJnYls1
XSAqIGdjICsgc3JjX2FyZ2JbNl0gKiByYykgJiAweDdGMDB1KSArCisgICAgICAgIGx1bWE7CiAg
ICAgZHN0X2FyZ2JbNF0gPSBsdW1hMVtzcmNfYXJnYls0XV07CiAgICAgZHN0X2FyZ2JbNV0gPSBs
dW1hMVtzcmNfYXJnYls1XV07CiAgICAgZHN0X2FyZ2JbNl0gPSBsdW1hMVtzcmNfYXJnYls2XV07
CkBAIC0yMzAyLDggKzIzNzYsOSBAQCB2b2lkIEFSR0JMdW1hQ29sb3JUYWJsZVJvd19DKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgsCiAgIH0KICAgaWYg
KHdpZHRoICYgMSkgewogICAgIC8vIEx1bWluYW5jZSBpbiByb3dzLCBjb2xvciB2YWx1ZXMgaW4g
Y29sdW1ucy4KLSAgICBjb25zdCB1aW50OCogbHVtYTAgPSAoKHNyY19hcmdiWzBdICogYmMgKyBz
cmNfYXJnYlsxXSAqIGdjICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19hcmdiWzJd
ICogcmMpICYgMHg3RjAwdSkgKyBsdW1hOworICAgIGNvbnN0IHVpbnQ4KiBsdW1hMCA9CisgICAg
ICAgICgoc3JjX2FyZ2JbMF0gKiBiYyArIHNyY19hcmdiWzFdICogZ2MgKyBzcmNfYXJnYlsyXSAq
IHJjKSAmIDB4N0YwMHUpICsKKyAgICAgICAgbHVtYTsKICAgICBkc3RfYXJnYlswXSA9IGx1bWEw
W3NyY19hcmdiWzBdXTsKICAgICBkc3RfYXJnYlsxXSA9IGx1bWEwW3NyY19hcmdiWzFdXTsKICAg
ICBkc3RfYXJnYlsyXSA9IGx1bWEwW3NyY19hcmdiWzJdXTsKQEAgLTI1MTksMTEgKzI1OTQsMTEg
QEAgdm9pZCBJNDIyVG9BUkdCNDQ0NFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeSwKIAogI2lm
IGRlZmluZWQoSEFTX0k0MjJUT1JHQjI0Uk9XX0FWWDIpCiB2b2lkIEk0MjJUb1JHQjI0Um93X0FW
WDIoY29uc3QgdWludDgqIHNyY195LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2IyNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZj
b25zdGFudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3JnYjI0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZ
dXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpIHsKICAgLy8gUm93IGJ1ZmZlciBmb3IgaW50ZXJtZWRpYXRlIEFSR0IgcGl4ZWxzLgog
ICBTSU1EX0FMSUdORUQodWludDggcm93W01BWFRXSURUSCAqIDRdKTsKICAgd2hpbGUgKHdpZHRo
ID4gMCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jvd19kc3ByMi5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3dfZHNwcjIuY2MK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTFmNzhlMGQyZjFhZGUxNTM2Y2EyMjYyOGM5ZjhkMDY5ZDIwOWJmZAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L3NvdXJjZS9yb3dfZHNwcjIuY2MKQEAgLTAsMCArMSwxNzIxIEBACisvKgor
ICogIENvcHlyaWdodCAoYykgMjAxMiBUaGUgTGliWXV2IHByb2plY3QgYXV0aG9ycy4gQWxsIFJp
Z2h0cyBSZXNlcnZlZC4KKyAqCisgKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQorICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQorICogIHRyZWUuIEFuIGFkZGl0
aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKKyAq
ICBpbiB0aGUgZmlsZSBQQVRFTlRTLiBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBt
YXkKKyAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBz
b3VyY2UgdHJlZS4KKyAqLworCisjaW5jbHVkZSAibGlieXV2L3Jvdy5oIgorCisjaWZkZWYgX19j
cGx1c3BsdXMKK25hbWVzcGFjZSBsaWJ5dXYgeworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLy8g
VGhlIGZvbGxvd2luZyBhcmUgYXZhaWxhYmxlIG9uIE1pcHMgcGxhdGZvcm1zOgorI2lmICFkZWZp
bmVkKExJQllVVl9ESVNBQkxFX0RTUFIyKSAmJiBkZWZpbmVkKF9fbWlwc19fKSAmJiBcCisgICAg
KF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIpCisKKyNpZmRlZiBIQVNfQ09QWVJPV19NSVBT
Cit2b2lkIENvcHlSb3dfTUlQUyhjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgY291
bnQpIHsKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAiLnNldCAgICAgIG5vcmVvcmRl
ciAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIuc2V0ICAgICAgbm9hdCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNsdGkgICAgICAkYXQsICVbY291
bnRdLCA4ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYm5lICAgICAgICRhdCAsJHplcm8s
ICRsYXN0OCAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ4b3IgICAgICAgJHQ4LCAlW3NyY10s
ICVbZHN0XSAgICAgICAgICAgICAgIFxuIgorICAgICAgImFuZGkgICAgICAkdDgsICR0OCwgMHgz
ICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICJibmUgICAgICAgJHQ4LCAkemVybywg
dW5hbGlnbmVkICAgICAgICAgICAgIFxuIgorICAgICAgIm5lZ3UgICAgICAkYTMsICVbZHN0XSAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAvLyBtYWtlIGRzdC9zcmMgYWxpZ25lZAor
ICAgICAgImFuZGkgICAgICAkYTMsICRhMywgMHgzICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAiYmVxICAgICAgICRhMywgJHplcm8sICRjaGsxNncgICAgICAgICAgICAgICBcbiIKKyAg
ICAgIC8vIHdvcmQtYWxpZ25lZCBub3cgY291bnQgaXMgdGhlIHJlbWluaW5nIGJ5dGVzIGNvdW50
CisgICAgICAic3VidSAgICAgJVtjb3VudF0sICVbY291bnRdLCAkYTMgICAgICAgICAgICBcbiIK
KworICAgICAgImx3ciAgICAgICAkdDgsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAiYWRkdSAgICAgICVbc3JjXSwgJVtzcmNdLCAkYTMgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJzd3IgICAgICAgJHQ4LCAwKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgImFkZHUgICAgICAlW2RzdF0sICVbZHN0XSwgJGEzICAgICAgICAgICAgICAgXG4iCisK
KyAgICAgIC8vIE5vdyB0aGUgZHN0L3NyYyBhcmUgbXV0dWFsbHkgd29yZC1hbGlnbmVkIHdpdGgg
d29yZC1hbGlnbmVkIGFkZHJlc3NlcworICAgICAgIiRjaGsxNnc6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYW5kaSAgICAgICR0OCwgJVtjb3VudF0sIDB4
M2YgICAgICAgICAgICAgICBcbiIgIC8vIHdob2xlIDY0LUIgY2h1bmtzPworICAgICAgLy8gdDgg
aXMgdGhlIGJ5dGUgY291bnQgYWZ0ZXIgNjQtYnl0ZSBjaHVua3MKKyAgICAgICJiZXEgICAgICAg
JVtjb3VudF0sICR0OCwgY2hrOHcgICAgICAgICAgICAgIFxuIgorICAgICAgLy8gVGhlcmUgd2ls
bCBiZSBhdCBtb3N0IDEgMzItYnl0ZSBjaHVuayBhZnRlciBpdAorICAgICAgInN1YnUgICAgICAk
YTMsICVbY291bnRdLCAkdDggICAgICAgICAgICAgICAgXG4iICAvLyB0aGUgcmVtaW5kZXIKKyAg
ICAgIC8vIEhlcmUgYTMgY291bnRzIGJ5dGVzIGluIDE2dyBjaHVua3MKKyAgICAgICJhZGR1ICAg
ICAgJGEzLCAlW2RzdF0sICRhMyAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgLy8gTm93IGEz
IGlzIHRoZSBmaW5hbCBkc3QgYWZ0ZXIgNjQtYnl0ZSBjaHVua3MKKyAgICAgICJhZGR1ICAgICAg
JHQwLCAlW2RzdF0sICVbY291bnRdICAgICAgICAgICAgIFxuIgorICAgICAgLy8gdDAgaXMgdGhl
ICJwYXN0IHRoZSBlbmQiIGFkZHJlc3MKKworICAgICAgLy8gV2hlbiBpbiB0aGUgbG9vcCB3ZSBl
eGVyY2lzZSAicHJlZiAzMCx4KGExKSIsIHRoZSBhMSt4IHNob3VsZCBub3QgYmUKKyAgICAgIC8v
IHBhc3QKKyAgICAgIC8vIHRoZSAidDAtMzIiIGFkZHJlc3MKKyAgICAgIC8vIFRoaXMgbWVhbnM6
IGZvciB4PTEyOCB0aGUgbGFzdCAic2FmZSIgYTEgYWRkcmVzcyBpcyAidDAtMTYwIgorICAgICAg
Ly8gQWx0ZXJuYXRpdmVseSwgZm9yIHg9NjQgdGhlIGxhc3QgInNhZmUiIGExIGFkZHJlc3MgaXMg
InQwLTk2IgorICAgICAgLy8gd2Ugd2lsbCB1c2UgInByZWYgMzAsMTI4KGExKSIsIHNvICJ0MC0x
NjAiIGlzIHRoZSBsaW1pdAorICAgICAgInN1YnUgICAgICAkdDksICR0MCwgMTYwICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAvLyB0OSBpcyB0aGUgImxhc3Qgc2FmZSBwcmVmIDMwLDEy
OChhMSkiIGFkZHJlc3MKKyAgICAgICJwcmVmICAgICAgMCwgMCglW3NyY10pICAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgLy8gZmlyc3QgbGluZSBvZiBzcmMKKyAgICAgICJwcmVmICAgICAgMCwg
MzIoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gc2Vjb25kIGxpbmUgb2Ygc3Jj
CisgICAgICAicHJlZiAgICAgIDAsIDY0KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJwcmVmICAgICAgMzAsIDMyKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgLy8gSW4gY2FzZSB0aGUgYTEgPiB0OSBkb24ndCB1c2UgInByZWYgMzAiIGF0IGFsbAor
ICAgICAgInNsdHUgICAgICAkdjEsICR0OSwgJVtkc3RdICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAiYmd0eiAgICAgICR2MSwgJGxvb3AxNncgICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJub3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgLy8gb3RoZXJ3aXNlLCBzdGFydCB3aXRoIHVzaW5nIHByZWYzMAorICAgICAgInByZWYgICAg
ICAzMCwgNjQoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiJGxvb3AxNnc6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHJlZiAgICAg
IDAsIDk2KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsdyAgICAgICAg
JHQwLCAwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImJndHogICAgICAk
djEsICRza2lwX3ByZWYzMF85NiAgICAgICAgICAgICAgXG4iICAvLyBza2lwCisgICAgICAibHcg
ICAgICAgICR0MSwgNCglW3NyY10pICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwcmVm
ICAgICAgMzAsIDk2KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gY29udGludWUK
KyAgICAgICIkc2tpcF9wcmVmMzBfOTY6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgImx3ICAgICAgICAkdDIsIDgoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAibHcgICAgICAgICR0MywgMTIoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJsdyAgICAgICAgJHQ0LCAxNiglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgImx3ICAgICAgICAkdDUsIDIwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAibHcgICAgICAgICR0NiwgMjQoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJsdyAgICAgICAgJHQ3LCAyOCglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
InByZWYgICAgICAwLCAxMjgoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAv
LyAgYnJpbmcgdGhlIG5leHQgbGluZXMgb2Ygc3JjLCBhZGRyIDEyOAorICAgICAgInN3ICAgICAg
ICAkdDAsIDAoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAg
ICR0MSwgNCglW2RzdF0pICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAg
JHQyLCA4KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAk
dDMsIDEyKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICR0
NCwgMTYoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgJHQ1
LCAyMCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAkdDYs
IDI0KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICR0Nywg
MjgoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsdyAgICAgICAgJHQwLCAz
MiglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImJndHogICAgICAkdjEsICRz
a2lwX3ByZWYzMF8xMjggICAgICAgICAgICAgXG4iICAvLyBza2lwIHByZWYgMzAsMTI4KGExKQor
ICAgICAgImx3ICAgICAgICAkdDEsIDM2KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAicHJlZiAgICAgIDMwLCAxMjgoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIgIC8v
IHNldCBkZXN0LCBhZGRyIDEyOAorICAgICAgIiRza2lwX3ByZWYzMF8xMjg6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAibHcgICAgICAgICR0MiwgNDAoJVtzcmNdKSAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJsdyAgICAgICAgJHQzLCA0NCglW3NyY10pICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgImx3ICAgICAgICAkdDQsIDQ4KCVbc3JjXSkgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibHcgICAgICAgICR0NSwgNTIoJVtzcmNdKSAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJsdyAgICAgICAgJHQ2LCA1NiglW3NyY10pICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgImx3ICAgICAgICAkdDcsIDYwKCVbc3JjXSkgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAicHJlZiAgICAgIDAsIDE2MCglW3NyY10pICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgIC8vIGJyaW5nIHRoZSBuZXh0IGxpbmVzIG9mIHNyYywgYWRkciAx
NjAKKyAgICAgICJzdyAgICAgICAgJHQwLCAzMiglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgInN3ICAgICAgICAkdDEsIDM2KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAic3cgICAgICAgICR0MiwgNDAoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJzdyAgICAgICAgJHQzLCA0NCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgInN3ICAgICAgICAkdDQsIDQ4KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAic3cgICAgICAgICR0NSwgNTIoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJzdyAgICAgICAgJHQ2LCA1NiglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgInN3ICAgICAgICAkdDcsIDYwKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisKKyAg
ICAgICJhZGRpdSAgICAgJVtkc3RdLCAlW2RzdF0sIDY0ICAgICAgICAgICAgICAgIFxuIiAgLy8g
YWRkaW5nIDY0IHRvIGRlc3QKKyAgICAgICJzbHR1ICAgICAgJHYxLCAkdDksICVbZHN0XSAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgImJuZSAgICAgICAlW2RzdF0sICRhMywgJGxvb3AxNncg
ICAgICAgICAgICAgXG4iCisgICAgICAiIGFkZGl1ICAgICVbc3JjXSwgJVtzcmNdLCA2NCAgICAg
ICAgICAgICAgICBcbiIgIC8vIGFkZGluZyA2NCB0byBzcmMKKyAgICAgICJtb3ZlICAgICAgJVtj
b3VudF0sICR0OCAgICAgICAgICAgICAgICAgICAgIFxuIgorCisgICAgICAvLyBIZXJlIHdlIGhh
dmUgc3JjIGFuZCBkZXN0IHdvcmQtYWxpZ25lZCBidXQgbGVzcyB0aGFuIDY0LWJ5dGVzIHRvIGdv
CisKKyAgICAgICJjaGs4dzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgInByZWYgICAgICAwLCAweDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAiYW5kaSAgICAgICR0OCwgJVtjb3VudF0sIDB4MWYgICAgICAgICAgICAgICBcbiIg
IC8vIDMyLWJ5dGUgY2h1bms/CisgICAgICAvLyB0aGUgdDggaXMgdGhlIHJlbWluZGVyIGNvdW50
IHBhc3QgMzItYnl0ZXMKKyAgICAgICJiZXEgICAgICAgJVtjb3VudF0sICR0OCwgY2hrMXcgICAg
ICAgICAgICAgIFxuIgorICAgICAgLy8gY291bnQ9dDgsbm8gMzItYnl0ZSBjaHVuaworICAgICAg
IiBub3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAg
ICJsdyAgICAgICAgJHQwLCAwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
Imx3ICAgICAgICAkdDEsIDQoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
bHcgICAgICAgICR0MiwgOCglW3NyY10pICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJs
dyAgICAgICAgJHQzLCAxMiglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3
ICAgICAgICAkdDQsIDE2KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibHcg
ICAgICAgICR0NSwgMjAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsdyAg
ICAgICAgJHQ2LCAyNCglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3ICAg
ICAgICAkdDcsIDI4KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkaXUg
ICAgICVbc3JjXSwgJVtzcmNdLCAzMiAgICAgICAgICAgICAgICBcbiIKKworICAgICAgInN3ICAg
ICAgICAkdDAsIDAoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAg
ICAgICR0MSwgNCglW2RzdF0pICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAg
ICAgJHQyLCA4KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAg
ICAkdDMsIDEyKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAg
ICR0NCwgMTYoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAg
JHQ1LCAyMCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAk
dDYsIDI0KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICR0
NywgMjgoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgJVtk
c3RdLCAlW2RzdF0sIDMyICAgICAgICAgICAgICAgIFxuIgorCisgICAgICAiY2hrMXc6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhbmRpICAgICAgJVtj
b3VudF0sICR0OCwgMHgzICAgICAgICAgICAgICAgIFxuIgorICAgICAgLy8gbm93IGNvdW50IGlz
IHRoZSByZW1pbmRlciBwYXN0IDF3IGNodW5rcworICAgICAgImJlcSAgICAgICAlW2NvdW50XSwg
JHQ4LCAkbGFzdDggICAgICAgICAgICAgXG4iCisgICAgICAiIHN1YnUgICAgICRhMywgJHQ4LCAl
W2NvdW50XSAgICAgICAgICAgICAgICBcbiIKKyAgICAgIC8vIGEzIGlzIGNvdW50IG9mIGJ5dGVz
IGluIDF3IGNodW5rcworICAgICAgImFkZHUgICAgICAkYTMsICVbZHN0XSwgJGEzICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAvLyBub3cgYTMgaXMgdGhlIGRzdCBhZGRyZXNzIHBhc3QgdGhl
IDF3IGNodW5rcworICAgICAgLy8gY29weWluZyBpbiB3b3JkcyAoNC1ieXRlIGNodW5rcykKKyAg
ICAgICIkd29yZENvcHlfbG9vcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgImx3ICAgICAgICAkdDMsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAvLyB0aGUgZmlyc3QgdDMgbWF5IGJlIGVxdWFsIHQwIC4uLiBvcHRpbWl6ZT8KKyAgICAgICJh
ZGRpdSAgICAgJVtzcmNdLCAlW3NyY10sNCAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFk
ZGl1ICAgICAlW2RzdF0sICVbZHN0XSw0ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYm5l
ICAgICAgICVbZHN0XSwgJGEzLCR3b3JkQ29weV9sb29wICAgICAgICBcbiIKKyAgICAgICIgc3cg
ICAgICAgJHQzLCAtNCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorCisgICAgICAvLyBG
b3IgdGhlIGxhc3QgKDw4KSBieXRlcworICAgICAgIiRsYXN0ODogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYmxleiAgICAgICVbY291bnRdLCBsZWF2ZSAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIgYWRkdSAgICAgJGEzLCAlW2RzdF0sICVbY291
bnRdICAgICAgICAgICAgIFxuIiAgLy8gYTMgLWxhc3QgZHN0IGFkZHJlc3MKKyAgICAgICIkbGFz
dDhsb29wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImxiICAg
ICAgICAkdjEsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkaXUg
ICAgICVbc3JjXSwgJVtzcmNdLCAxICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAg
ICAgJVtkc3RdLCAlW2RzdF0sIDEgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImJuZSAgICAg
ICAlW2RzdF0sICRhMywgJGxhc3Q4bG9vcCAgICAgICAgICAgXG4iCisgICAgICAiIHNiICAgICAg
ICR2MSwgLTEoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgImxlYXZlOiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiICBqICAgICAg
ICRyYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIgIG5vcCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCisgICAgICAvLworICAgICAg
Ly8gVU5BTElHTkVEIGNhc2UKKyAgICAgIC8vCisKKyAgICAgICJ1bmFsaWduZWQ6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgLy8gZ290IGhlcmUgd2l0aCBhMz0i
bmVndSBhMSIKKyAgICAgICJhbmRpICAgICAgJGEzLCAkYTMsIDB4MyAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgLy8gYTEgaXMgd29yZCBhbGlnbmVkPworICAgICAgImJlcXogICAgICAkYTMsICR1
YV9jaGsxNncgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiIHN1YnUgICAgICVbY291bnRd
LCAlW2NvdW50XSwgJGEzICAgICAgICAgICBcbiIKKyAgICAgIC8vIGJ5dGVzIGxlZnQgYWZ0ZXIg
aW5pdGlhbCBhMyBieXRlcworICAgICAgImx3ciAgICAgICAkdjEsIDAoJVtzcmNdKSAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibHdsICAgICAgICR2MSwgMyglW3NyY10pICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJhZGR1ICAgICAgJVtzcmNdLCAlW3NyY10sICRhMyAgICAg
ICAgICAgICAgIFxuIiAgLy8gYTMgbWF5IGJlIDEsIDIgb3IgMworICAgICAgInN3ciAgICAgICAk
djEsIDAoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkdSAgICAgICVb
ZHN0XSwgJVtkc3RdLCAkYTMgICAgICAgICAgICAgICBcbiIKKyAgICAgIC8vIGJlbG93IHRoZSBk
c3Qgd2lsbCBiZSB3b3JkIGFsaWduZWQgKE5PVEUxKQorICAgICAgIiR1YV9jaGsxNnc6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYW5kaSAgICAgICR0OCwgJVtj
b3VudF0sIDB4M2YgICAgICAgICAgICAgICBcbiIgIC8vIHdob2xlIDY0LUIgY2h1bmtzPworICAg
ICAgLy8gdDggaXMgdGhlIGJ5dGUgY291bnQgYWZ0ZXIgNjQtYnl0ZSBjaHVua3MKKyAgICAgICJi
ZXEgICAgICAgJVtjb3VudF0sICR0OCwgdWFfY2hrOHcgICAgICAgICAgIFxuIgorICAgICAgLy8g
aWYgYTI9PXQ4LCBubyA2NC1ieXRlIGNodW5rcworICAgICAgLy8gVGhlcmUgd2lsbCBiZSBhdCBt
b3N0IDEgMzItYnl0ZSBjaHVuayBhZnRlciBpdAorICAgICAgInN1YnUgICAgICAkYTMsICVbY291
bnRdLCAkdDggICAgICAgICAgICAgICAgXG4iICAvLyB0aGUgcmVtaW5kZXIKKyAgICAgIC8vIEhl
cmUgYTMgY291bnRzIGJ5dGVzIGluIDE2dyBjaHVua3MKKyAgICAgICJhZGR1ICAgICAgJGEzLCAl
W2RzdF0sICRhMyAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgLy8gTm93IGEzIGlzIHRoZSBm
aW5hbCBkc3QgYWZ0ZXIgNjQtYnl0ZSBjaHVua3MKKyAgICAgICJhZGR1ICAgICAgJHQwLCAlW2Rz
dF0sICVbY291bnRdICAgICAgICAgICAgIFxuIiAgLy8gdDAgInBhc3QgdGhlIGVuZCIKKyAgICAg
ICJzdWJ1ICAgICAgJHQ5LCAkdDAsIDE2MCAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
Ly8gdDkgaXMgdGhlICJsYXN0IHNhZmUgcHJlZiAzMCwxMjgoYTEpIiBhZGRyZXNzCisgICAgICAi
cHJlZiAgICAgIDAsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGZpcnN0
IGxpbmUgb2Ygc3JjCisgICAgICAicHJlZiAgICAgIDAsIDMyKCVbc3JjXSkgICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIHNlY29uZCBsaW5lICBhZGRyIDMyCisgICAgICAicHJlZiAgICAgIDAs
IDY0KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwcmVmICAgICAgMzAs
IDMyKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgLy8gc2FmZSwgYXMgd2Ug
aGF2ZSBhdCBsZWFzdCA2NCBieXRlcyBhaGVhZAorICAgICAgLy8gSW4gY2FzZSB0aGUgYTEgPiB0
OSBkb24ndCB1c2UgInByZWYgMzAiIGF0IGFsbAorICAgICAgInNsdHUgICAgICAkdjEsICR0OSwg
JVtkc3RdICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYmd0eiAgICAgICR2MSwgJHVhX2xv
b3AxNncgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgIC8vIHNraXAgInByZWYgMzAsNjQoYTEp
IiBmb3IgdG9vIHNob3J0IGFycmF5cworICAgICAgIiBub3AgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAvLyBvdGhlcndpc2UsIHN0YXJ0IHdpdGggdXNp
bmcgcHJlZjMwCisgICAgICAicHJlZiAgICAgIDMwLCA2NCglW2RzdF0pICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICIkdWFfbG9vcDE2dzogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgInByZWYgICAgICAwLCA5NiglW3NyY10pICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAibHdyICAgICAgICR0MCwgMCglW3NyY10pICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJsd2wgICAgICAgJHQwLCAzKCVbc3JjXSkgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgImx3ciAgICAgICAkdDEsIDQoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAiYmd0eiAgICAgICR2MSwgJHVhX3NraXBfcHJlZjMwXzk2ICAgICAgICAgICBc
biIKKyAgICAgICIgbHdsICAgICAgJHQxLCA3KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgInByZWYgICAgICAzMCwgOTYoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAvLyBjb250aW51ZSBzZXR0aW5nIHVwIHRoZSBkZXN0LCBhZGRyIDk2CisgICAgICAi
JHVhX3NraXBfcHJlZjMwXzk2OiAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJs
d3IgICAgICAgJHQyLCA4KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3
bCAgICAgICAkdDIsIDExKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibHdy
ICAgICAgICR0MywgMTIoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd2wg
ICAgICAgJHQzLCAxNSglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3ciAg
ICAgICAkdDQsIDE2KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibHdsICAg
ICAgICR0NCwgMTkoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd3IgICAg
ICAgJHQ1LCAyMCglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3bCAgICAg
ICAkdDUsIDIzKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibHdyICAgICAg
ICR0NiwgMjQoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd2wgICAgICAg
JHQ2LCAyNyglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3ciAgICAgICAk
dDcsIDI4KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibHdsICAgICAgICR0
NywgMzEoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwcmVmICAgICAgMCwg
MTI4KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgLy8gYnJpbmcgdGhlIG5l
eHQgbGluZXMgb2Ygc3JjLCBhZGRyIDEyOAorICAgICAgInN3ICAgICAgICAkdDAsIDAoJVtkc3Rd
KSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICR0MSwgNCglW2RzdF0p
ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgJHQyLCA4KCVbZHN0XSkg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAkdDMsIDEyKCVbZHN0XSkg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICR0NCwgMTYoJVtkc3RdKSAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgJHQ1LCAyMCglW2RzdF0pICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAkdDYsIDI0KCVbZHN0XSkgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICR0NywgMjgoJVtkc3RdKSAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd3IgICAgICAgJHQwLCAzMiglW3NyY10pICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgImx3bCAgICAgICAkdDAsIDM1KCVbc3JjXSkgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibHdyICAgICAgICR0MSwgMzYoJVtzcmNdKSAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJiZ3R6ICAgICAgJHYxLCB1YV9za2lwX3ByZWYzMF8xMjgg
ICAgICAgICAgIFxuIgorICAgICAgIiBsd2wgICAgICAkdDEsIDM5KCVbc3JjXSkgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAicHJlZiAgICAgIDMwLCAxMjgoJVtkc3RdKSAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgIC8vIGNvbnRpbnVlIHNldHRpbmcgdXAgdGhlIGRlc3QsIGFkZHIg
MTI4CisgICAgICAidWFfc2tpcF9wcmVmMzBfMTI4OiAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKKworICAgICAgImx3ciAgICAgICAkdDIsIDQwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAibHdsICAgICAgICR0MiwgNDMoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAgICJsd3IgICAgICAgJHQzLCA0NCglW3NyY10pICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgImx3bCAgICAgICAkdDMsIDQ3KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAibHdyICAgICAgICR0NCwgNDgoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJsd2wgICAgICAgJHQ0LCA1MSglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgImx3ciAgICAgICAkdDUsIDUyKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAibHdsICAgICAgICR0NSwgNTUoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJsd3IgICAgICAgJHQ2LCA1NiglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgImx3bCAgICAgICAkdDYsIDU5KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAibHdyICAgICAgICR0NywgNjAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJsd2wgICAgICAgJHQ3LCA2MyglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
InByZWYgICAgICAwLCAxNjAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAv
LyBicmluZyB0aGUgbmV4dCBsaW5lcyBvZiBzcmMsIGFkZHIgMTYwCisgICAgICAic3cgICAgICAg
ICR0MCwgMzIoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAg
JHQxLCAzNiglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAk
dDIsIDQwKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICR0
MywgNDQoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgJHQ0
LCA0OCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAkdDUs
IDUyKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICR0Niwg
NTYoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgJHQ3LCA2
MCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgorCisgICAgICAiYWRkaXUgICAgICVbZHN0
XSwlW2RzdF0sNjQgICAgICAgICAgICAgICAgICBcbiIgIC8vIGFkZGluZyA2NCB0byBkZXN0Cisg
ICAgICAic2x0dSAgICAgICR2MSwkdDksJVtkc3RdICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJibmUgICAgICAgJVtkc3RdLCRhMywkdWFfbG9vcDE2dyAgICAgICAgICAgIFxuIgorICAg
ICAgIiBhZGRpdSAgICAlW3NyY10sJVtzcmNdLDY0ICAgICAgICAgICAgICAgICAgXG4iICAvLyBh
ZGRpbmcgNjQgdG8gc3JjCisgICAgICAibW92ZSAgICAgICVbY291bnRdLCR0OCAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKworICAgICAgLy8gSGVyZSB3ZSBoYXZlIHNyYyBhbmQgZGVzdCB3b3Jk
LWFsaWduZWQgYnV0IGxlc3MgdGhhbiA2NC1ieXRlcyB0byBnbworCisgICAgICAidWFfY2hrOHc6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwcmVmICAgICAg
MCwgMHgwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFuZGkgICAgICAk
dDgsICVbY291bnRdLCAweDFmICAgICAgICAgICAgICAgXG4iICAvLyAzMi1ieXRlIGNodW5rPwor
ICAgICAgLy8gdGhlIHQ4IGlzIHRoZSByZW1pbmRlciBjb3VudAorICAgICAgImJlcSAgICAgICAl
W2NvdW50XSwgJHQ4LCAkdWFfY2hrMXcgICAgICAgICAgXG4iCisgICAgICAvLyB3aGVuIGNvdW50
PT10OCwgbm8gMzItYnl0ZSBjaHVuaworCisgICAgICAibHdyICAgICAgICR0MCwgMCglW3NyY10p
ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd2wgICAgICAgJHQwLCAzKCVbc3JjXSkg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3ciAgICAgICAkdDEsIDQoJVtzcmNdKSAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibHdsICAgICAgICR0MSwgNyglW3NyY10pICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd3IgICAgICAgJHQyLCA4KCVbc3JjXSkgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3bCAgICAgICAkdDIsIDExKCVbc3JjXSkgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAibHdyICAgICAgICR0MywgMTIoJVtzcmNdKSAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd2wgICAgICAgJHQzLCAxNSglW3NyY10pICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgImx3ciAgICAgICAkdDQsIDE2KCVbc3JjXSkgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibHdsICAgICAgICR0NCwgMTkoJVtzcmNdKSAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJsd3IgICAgICAgJHQ1LCAyMCglW3NyY10pICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgImx3bCAgICAgICAkdDUsIDIzKCVbc3JjXSkgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAibHdyICAgICAgICR0NiwgMjQoJVtzcmNdKSAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJsd2wgICAgICAgJHQ2LCAyNyglW3NyY10pICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgImx3ciAgICAgICAkdDcsIDI4KCVbc3JjXSkgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAibHdsICAgICAgICR0NywgMzEoJVtzcmNdKSAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgJVtzcmNdLCAlW3NyY10sIDMyICAgICAgICAgICAg
ICAgIFxuIgorCisgICAgICAic3cgICAgICAgICR0MCwgMCglW2RzdF0pICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgJHQxLCA0KCVbZHN0XSkgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgInN3ICAgICAgICAkdDIsIDgoJVtkc3RdKSAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAic3cgICAgICAgICR0MywgMTIoJVtkc3RdKSAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJzdyAgICAgICAgJHQ0LCAxNiglW2RzdF0pICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgInN3ICAgICAgICAkdDUsIDIwKCVbZHN0XSkgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAic3cgICAgICAgICR0NiwgMjQoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAgICJzdyAgICAgICAgJHQ3LCAyOCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgImFkZGl1ICAgICAlW2RzdF0sICVbZHN0XSwgMzIgICAgICAgICAgICAgICAgXG4i
CisKKyAgICAgICIkdWFfY2hrMXc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgImFuZGkgICAgICAlW2NvdW50XSwgJHQ4LCAweDMgICAgICAgICAgICAgICAgXG4i
CisgICAgICAvLyBub3cgY291bnQgaXMgdGhlIHJlbWluZGVyIHBhc3QgMXcgY2h1bmtzCisgICAg
ICAiYmVxICAgICAgICVbY291bnRdLCAkdDgsIHVhX3NtYWxsQ29weSAgICAgICBcbiIKKyAgICAg
ICJzdWJ1ICAgICAgJGEzLCAkdDgsICVbY291bnRdICAgICAgICAgICAgICAgIFxuIgorICAgICAg
Ly8gYTMgaXMgY291bnQgb2YgYnl0ZXMgaW4gMXcgY2h1bmtzCisgICAgICAiYWRkdSAgICAgICRh
MywgJVtkc3RdLCAkYTMgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgIC8vIG5vdyBhMyBpcyB0
aGUgZHN0IGFkZHJlc3MgcGFzdCB0aGUgMXcgY2h1bmtzCisKKyAgICAgIC8vIGNvcHlpbmcgaW4g
d29yZHMgKDQtYnl0ZSBjaHVua3MpCisgICAgICAiJHVhX3dvcmRDb3B5X2xvb3A6ICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd3IgICAgICAgJHYxLCAwKCVbc3JjXSkgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3bCAgICAgICAkdjEsIDMoJVtzcmNdKSAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICVbc3JjXSwgJVtzcmNdLCA0ICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgJVtkc3RdLCAlW2RzdF0sIDQgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgLy8gbm90ZTogZHN0PWExIGlzIHdvcmQgYWxpZ25lZCBo
ZXJlLCBzZWUgTk9URTEKKyAgICAgICJibmUgICAgICAgJVtkc3RdLCAkYTMsICR1YV93b3JkQ29w
eV9sb29wICAgIFxuIgorICAgICAgIiBzdyAgICAgICAkdjEsLTQoJVtkc3RdKSAgICAgICAgICAg
ICAgICAgICAgXG4iCisKKyAgICAgIC8vIE5vdyBsZXNzIHRoYW4gNCBieXRlcyAodmFsdWUgaW4g
Y291bnQpIGxlZnQgdG8gY29weQorICAgICAgInVhX3NtYWxsQ29weTogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAiYmVxeiAgICAgICVbY291bnRdLCBsZWF2ZSAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICIgYWRkdSAgICAgJGEzLCAlW2RzdF0sICVbY291bnRd
ICAgICAgICAgICAgIFxuIiAgLy8gYTMgPSBsYXN0IGRzdCBhZGRyZXNzCisgICAgICAiJHVhX3Nt
YWxsQ29weV9sb29wOiAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsYiAgICAg
ICAgJHYxLCAwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1ICAg
ICAlW3NyY10sICVbc3JjXSwgMSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkaXUgICAg
ICVbZHN0XSwgJVtkc3RdLCAxICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJibmUgICAgICAg
JVtkc3RdLCRhMywkdWFfc21hbGxDb3B5X2xvb3AgICAgIFxuIgorICAgICAgIiBzYiAgICAgICAk
djEsIC0xKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICJqICAgICAgICAg
JHJhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBub3AgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiLnNldCAgICAgIGF0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIuc2V0ICAgICAgcmVv
cmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgOiBbZHN0XSAiK3IiKGRz
dCksIFtzcmNdICIrciIoc3JjKQorICAgICAgOiBbY291bnRdICJyIihjb3VudCkKKyAgICAgIDog
InQwIiwgInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwgInQ2IiwgInQ3IiwgInQ4IiwgInQ5
IiwgImEzIiwgInYxIiwKKyAgICAgICAgImF0Iik7Cit9CisjZW5kaWYgIC8vIEhBU19DT1BZUk9X
X01JUFMKKworLy8gRFNQUjIgZnVuY3Rpb25zCisjaWYgIWRlZmluZWQoTElCWVVWX0RJU0FCTEVf
RFNQUjIpICYmIGRlZmluZWQoX19taXBzX2RzcCkgJiYgICBcCisgICAgKF9fbWlwc19kc3BfcmV2
ID49IDIpICYmIChfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTMyKSAmJiBcCisgICAgKF9fbWlw
c19pc2FfcmV2IDwgNikKKwordm9pZCBTcGxpdFVWUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNf
dXYsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsK
KyAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzcmwgICAgICAgICAgICAgJHQ0LCAl
W3dpZHRoXSwgNCAgICAgICAgICAgICAgXG4iICAvLyBtdWx0aXBsaWVzIG9mIDE2CisgICAgICAi
YmxleiAgICAgICAgICAgICR0NCwgMmYgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
IiBhbmRpICAgICAgICAgICAlW3dpZHRoXSwgJVt3aWR0aF0sIDB4ZiAgICAgICBcbiIgIC8vIHJl
c2lkdWFsCisKKyAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAgICR0NCwgJHQ0LCAtMSAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgImx3ICAgICAgICAgICAgICAkdDAsIDAoJVtzcmNfdXZdKSAgICAg
ICAgICAgICBcbiIgIC8vIFYxIHwgVTEgfCBWMCB8IFUwCisgICAgICAibHcgICAgICAgICAgICAg
ICR0MSwgNCglW3NyY191dl0pICAgICAgICAgICAgIFxuIiAgLy8gVjMgfCBVMyB8IFYyIHwgVTIK
KyAgICAgICJsdyAgICAgICAgICAgICAgJHQyLCA4KCVbc3JjX3V2XSkgICAgICAgICAgICAgXG4i
ICAvLyBWNSB8IFU1IHwgVjQgfCBVNAorICAgICAgImx3ICAgICAgICAgICAgICAkdDMsIDEyKCVb
c3JjX3V2XSkgICAgICAgICAgICBcbiIgIC8vIFY3IHwgVTcgfCBWNiB8IFU2CisgICAgICAibHcg
ICAgICAgICAgICAgICR0NSwgMTYoJVtzcmNfdXZdKSAgICAgICAgICAgIFxuIiAgLy8gVjkgfCBV
OSB8IFY4IHwgVTgKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQ2LCAyMCglW3NyY191dl0pICAg
ICAgICAgICAgXG4iICAvLyBWMTEgfCBVMTEgfCBWMTAgfAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFUxMAorICAgICAgImx3ICAg
ICAgICAgICAgICAkdDcsIDI0KCVbc3JjX3V2XSkgICAgICAgICAgICBcbiIgIC8vIFYxMyB8IFUx
MyB8IFYxMiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gVTEyCisgICAgICAibHcgICAgICAgICAgICAgICR0OCwgMjgoJVtzcmNf
dXZdKSAgICAgICAgICAgIFxuIiAgLy8gVjE1IHwgVTE1IHwgVjE0IHwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVMTQKKyAgICAg
ICJhZGRpdSAgICAgICAgICAgJVtzcmNfdXZdLCAlW3NyY191dl0sIDMyICAgICAgXG4iCisgICAg
ICAicHJlY3JxLnFiLnBoICAgICR0OSwgJHQxLCAkdDAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
VjMgfCBWMiB8IFYxIHwgVjAKKyAgICAgICJwcmVjci5xYi5waCAgICAgJHQwLCAkdDEsICR0MCAg
ICAgICAgICAgICAgICAgXG4iICAvLyBVMyB8IFUyIHwgVTEgfCBVMAorICAgICAgInByZWNycS5x
Yi5waCAgICAkdDEsICR0MywgJHQyICAgICAgICAgICAgICAgICBcbiIgIC8vIFY3IHwgVjYgfCBW
NSB8IFY0CisgICAgICAicHJlY3IucWIucGggICAgICR0MiwgJHQzLCAkdDIgICAgICAgICAgICAg
ICAgIFxuIiAgLy8gVTcgfCBVNiB8IFU1IHwgVTQKKyAgICAgICJwcmVjcnEucWIucGggICAgJHQz
LCAkdDYsICR0NSAgICAgICAgICAgICAgICAgXG4iICAvLyBWMTEgfCBWMTAgfCBWOSB8IFY4Cisg
ICAgICAicHJlY3IucWIucGggICAgICR0NSwgJHQ2LCAkdDUgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gVTExIHwgVTEwIHwgVTkgfCBVOAorICAgICAgInByZWNycS5xYi5waCAgICAkdDYsICR0OCwg
JHQ3ICAgICAgICAgICAgICAgICBcbiIgIC8vIFYxNSB8IFYxNCB8IFYxMyB8CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVjEyCisg
ICAgICAicHJlY3IucWIucGggICAgICR0NywgJHQ4LCAkdDcgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gVTE1IHwgVTE0IHwgVTEzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBVMTIKKyAgICAgICJzdyAgICAgICAgICAgICAgJHQ5
LCAwKCVbZHN0X3ZdKSAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICR0
MCwgMCglW2RzdF91XSkgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAgICAgICAk
dDEsIDQoJVtkc3Rfdl0pICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgICAgICAg
JHQyLCA0KCVbZHN0X3VdKSAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAg
ICR0MywgOCglW2RzdF92XSkgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAgICAg
ICAkdDUsIDgoJVtkc3RfdV0pICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgICAg
ICAgJHQ2LCAxMiglW2RzdF92XSkgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAg
ICAgICR0NywgMTIoJVtkc3RfdV0pICAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAg
ICAgICAlW2RzdF92XSwgJVtkc3Rfdl0sIDE2ICAgICAgICBcbiIKKyAgICAgICJiZ3R6ICAgICAg
ICAgICAgJHQ0LCAxYiAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiIGFkZGl1ICAg
ICAgICAgICVbZHN0X3VdLCAlW2RzdF91XSwgMTYgICAgICAgIFxuIgorCisgICAgICAiYmVxeiAg
ICAgICAgICAgICVbd2lkdGhdLCAzZiAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBub3Ag
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgIjI6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ImxidSAgICAgICAgICAgICAkdDAsIDAoJVtzcmNfdXZdKSAgICAgICAgICAgICBcbiIKKyAgICAg
ICJsYnUgICAgICAgICAgICAgJHQxLCAxKCVbc3JjX3V2XSkgICAgICAgICAgICAgXG4iCisgICAg
ICAiYWRkaXUgICAgICAgICAgICVbc3JjX3V2XSwgJVtzcmNfdXZdLCAyICAgICAgIFxuIgorICAg
ICAgImFkZGl1ICAgICAgICAgICAlW3dpZHRoXSwgJVt3aWR0aF0sIC0xICAgICAgICBcbiIKKyAg
ICAgICJzYiAgICAgICAgICAgICAgJHQwLCAwKCVbZHN0X3VdKSAgICAgICAgICAgICAgXG4iCisg
ICAgICAic2IgICAgICAgICAgICAgICR0MSwgMCglW2RzdF92XSkgICAgICAgICAgICAgIFxuIgor
ICAgICAgImFkZGl1ICAgICAgICAgICAlW2RzdF91XSwgJVtkc3RfdV0sIDEgICAgICAgICBcbiIK
KyAgICAgICJiZ3R6ICAgICAgICAgICAgJVt3aWR0aF0sIDJiICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAiIGFkZGl1ICAgICAgICAgICVbZHN0X3ZdLCAlW2RzdF92XSwgMSAgICAgICAgIFxu
IgorCisgICAgICAiMzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgOiBbc3JjX3V2XSAiK3IiKHNyY191diksIFt3aWR0aF0gIityIih3aWR0
aCksIFtkc3RfdV0gIityIihkc3RfdSksCisgICAgICAgIFtkc3Rfdl0gIityIihkc3RfdikKKyAg
ICAgIDoKKyAgICAgIDogInQwIiwgInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwgInQ2Iiwg
InQ3IiwgInQ4IiwgInQ5Iik7Cit9CisKK3ZvaWQgTWlycm9yUm93X0RTUFIyKGNvbnN0IHVpbnQ4
KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgeworICBfX2FzbV9fIF9fdm9sYXRpbGVfXygK
KyAgICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
Ii5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICJzcmwg
ICAgICAgJHQ0LCAlW3dpZHRoXSwgNCAgICAgICAgICAgIFxuIiAgLy8gbXVsdGlwbGllcyBvZiAx
NgorICAgICAgImFuZGkgICAgICAkdDUsICVbd2lkdGhdLCAweGYgICAgICAgICAgXG4iCisgICAg
ICAiYmxleiAgICAgICR0NCwgMmYgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIgYWRk
dSAgICAgJVtzcmNdLCAlW3NyY10sICVbd2lkdGhdICAgIFxuIiAgLy8gc3JjICs9IHdpZHRoCisK
KyAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJsdyAgICAgICAgJHQwLCAtMTYoJVtzcmNdKSAgICAgICAgICAgIFxuIiAgLy8gfDN8MnwxfDB8
CisgICAgICAibHcgICAgICAgICR0MSwgLTEyKCVbc3JjXSkgICAgICAgICAgICBcbiIgIC8vIHw3
fDZ8NXw0fAorICAgICAgImx3ICAgICAgICAkdDIsIC04KCVbc3JjXSkgICAgICAgICAgICAgXG4i
ICAvLyB8MTF8MTB8OXw4fAorICAgICAgImx3ICAgICAgICAkdDMsIC00KCVbc3JjXSkgICAgICAg
ICAgICAgXG4iICAvLyB8MTV8MTR8MTN8MTJ8CisgICAgICAid3NiaCAgICAgICR0MCwgJHQwICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwyfDN8MHwxfAorICAgICAgIndzYmggICAgICAkdDEs
ICR0MSAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8Nnw3fDR8NXwKKyAgICAgICJ3c2JoICAg
ICAgJHQyLCAkdDIgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDEwfDExfDh8OXwKKyAgICAg
ICJ3c2JoICAgICAgJHQzLCAkdDMgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE0fDE1fDEy
fDEzfAorICAgICAgInJvdHIgICAgICAkdDAsICR0MCwgMTYgICAgICAgICAgICAgICAgXG4iICAv
LyB8MHwxfDJ8M3wKKyAgICAgICJyb3RyICAgICAgJHQxLCAkdDEsIDE2ICAgICAgICAgICAgICAg
IFxuIiAgLy8gfDR8NXw2fDd8CisgICAgICAicm90ciAgICAgICR0MiwgJHQyLCAxNiAgICAgICAg
ICAgICAgICBcbiIgIC8vIHw4fDl8MTB8MTF8CisgICAgICAicm90ciAgICAgICR0MywgJHQzLCAx
NiAgICAgICAgICAgICAgICBcbiIgIC8vIHwxMnwxM3wxNHwxNXwKKyAgICAgICJhZGRpdSAgICAg
JVtzcmNdLCAlW3NyY10sIC0xNiAgICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAkdDQsICR0
NCwgLTEgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICR0MywgMCglW2RzdF0p
ICAgICAgICAgICAgICBcbiIgIC8vIHwxNXwxNHwxM3wxMnwKKyAgICAgICJzdyAgICAgICAgJHQy
LCA0KCVbZHN0XSkgICAgICAgICAgICAgIFxuIiAgLy8gfDExfDEwfDl8OHwKKyAgICAgICJzdyAg
ICAgICAgJHQxLCA4KCVbZHN0XSkgICAgICAgICAgICAgIFxuIiAgLy8gfDd8Nnw1fDR8CisgICAg
ICAic3cgICAgICAgICR0MCwgMTIoJVtkc3RdKSAgICAgICAgICAgICBcbiIgIC8vIHwzfDJ8MXww
fAorICAgICAgImJndHogICAgICAkdDQsIDFiICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAiIGFkZGl1ICAgICVbZHN0XSwgJVtkc3RdLCAxNiAgICAgICAgICBcbiIKKyAgICAgICJiZXF6
ICAgICAgJHQ1LCAzZiAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBub3AgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICIyOiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsYnUgICAgICAgJHQwLCAtMSglW3Ny
Y10pICAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAkdDUsICR0NSwgLTEgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICVbc3JjXSwgJVtzcmNdLCAtMSAgICAgICAg
ICBcbiIKKyAgICAgICJzYiAgICAgICAgJHQwLCAwKCVbZHN0XSkgICAgICAgICAgICAgIFxuIgor
ICAgICAgImJnZXogICAgICAkdDUsIDJiICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
IGFkZGl1ICAgICVbZHN0XSwgJVtkc3RdLCAxICAgICAgICAgICBcbiIKKworICAgICAgIjM6ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIi5zZXQgcG9wICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICA6IFtzcmNdICIrciIoc3JjKSwg
W2RzdF0gIityIihkc3QpCisgICAgICA6IFt3aWR0aF0gInIiKHdpZHRoKQorICAgICAgOiAidDAi
LCAidDEiLCAidDIiLCAidDMiLCAidDQiLCAidDUiKTsKK30KKwordm9pZCBNaXJyb3JVVlJvd19E
U1BSMihjb25zdCB1aW50OCogc3JjX3V2LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGludCB4OworICBpbnQgeTsKKyAgX19hc21fXyBf
X3ZvbGF0aWxlX18oCisgICAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAiLnNldCBub3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisKKyAgICAgICJhZGR1ICAgICAgICAgICAgJHQ0LCAlW3dpZHRoXSwgJVt3
aWR0aF0gICAgICBcbiIKKyAgICAgICJzcmwgICAgICAgICAgICAgJVt4XSwgJVt3aWR0aF0sIDQg
ICAgICAgICAgICBcbiIKKyAgICAgICJhbmRpICAgICAgICAgICAgJVt5XSwgJVt3aWR0aF0sIDB4
ZiAgICAgICAgICBcbiIKKyAgICAgICJibGV6ICAgICAgICAgICAgJVt4XSwgMmYgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICIgYWRkdSAgICAgICAgICAgJVtzcmNfdXZdLCAlW3NyY191
dl0sICR0NCAgICBcbiIKKworICAgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibHcgICAgICAgICAgICAgICR0MCwgLTMyKCVbc3JjX3V2
XSkgICAgICAgICAgXG4iICAvLyB8M3wyfDF8MHwKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQx
LCAtMjgoJVtzcmNfdXZdKSAgICAgICAgICBcbiIgIC8vIHw3fDZ8NXw0fAorICAgICAgImx3ICAg
ICAgICAgICAgICAkdDIsIC0yNCglW3NyY191dl0pICAgICAgICAgIFxuIiAgLy8gfDExfDEwfDl8
OHwKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQzLCAtMjAoJVtzcmNfdXZdKSAgICAgICAgICBc
biIgIC8vIHwxNXwxNHwxM3wxMnwKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQ0LCAtMTYoJVtz
cmNfdXZdKSAgICAgICAgICBcbiIgIC8vIHwxOXwxOHwxN3wxNnwKKyAgICAgICJsdyAgICAgICAg
ICAgICAgJHQ2LCAtMTIoJVtzcmNfdXZdKSAgICAgICAgICBcbiIgIC8vIHwyM3wyMnwyMXwyMHwK
KyAgICAgICJsdyAgICAgICAgICAgICAgJHQ3LCAtOCglW3NyY191dl0pICAgICAgICAgICBcbiIg
IC8vIHwyN3wyNnwyNXwyNHwKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQ4LCAtNCglW3NyY191
dl0pICAgICAgICAgICBcbiIgIC8vIHwzMXwzMHwyOXwyOHwKKworICAgICAgInJvdHIgICAgICAg
ICAgICAkdDAsICR0MCwgMTYgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDF8MHwzfDJ8CisgICAg
ICAicm90ciAgICAgICAgICAgICR0MSwgJHQxLCAxNiAgICAgICAgICAgICAgICAgXG4iICAvLyB8
NXw0fDd8NnwKKyAgICAgICJyb3RyICAgICAgICAgICAgJHQyLCAkdDIsIDE2ICAgICAgICAgICAg
ICAgICBcbiIgIC8vIHw5fDh8MTF8MTB8CisgICAgICAicm90ciAgICAgICAgICAgICR0MywgJHQz
LCAxNiAgICAgICAgICAgICAgICAgXG4iICAvLyB8MTN8MTJ8MTV8MTR8CisgICAgICAicm90ciAg
ICAgICAgICAgICR0NCwgJHQ0LCAxNiAgICAgICAgICAgICAgICAgXG4iICAvLyB8MTd8MTZ8MTl8
MTh8CisgICAgICAicm90ciAgICAgICAgICAgICR0NiwgJHQ2LCAxNiAgICAgICAgICAgICAgICAg
XG4iICAvLyB8MjF8MjB8MjN8MjJ8CisgICAgICAicm90ciAgICAgICAgICAgICR0NywgJHQ3LCAx
NiAgICAgICAgICAgICAgICAgXG4iICAvLyB8MjV8MjR8Mjd8MjZ8CisgICAgICAicm90ciAgICAg
ICAgICAgICR0OCwgJHQ4LCAxNiAgICAgICAgICAgICAgICAgXG4iICAvLyB8Mjl8Mjh8MzF8MzB8
CisgICAgICAicHJlY3IucWIucGggICAgICR0OSwgJHQwLCAkdDEgICAgICAgICAgICAgICAgXG4i
ICAvLyB8MHwyfDR8NnwKKyAgICAgICJwcmVjcnEucWIucGggICAgJHQ1LCAkdDAsICR0MSAgICAg
ICAgICAgICAgICBcbiIgIC8vIHwxfDN8NXw3fAorICAgICAgInByZWNyLnFiLnBoICAgICAkdDAs
ICR0MiwgJHQzICAgICAgICAgICAgICAgIFxuIiAgLy8gfDh8MTB8MTJ8MTR8CisgICAgICAicHJl
Y3JxLnFiLnBoICAgICR0MSwgJHQyLCAkdDMgICAgICAgICAgICAgICAgXG4iICAvLyB8OXwxMXwx
M3wxNXwKKyAgICAgICJwcmVjci5xYi5waCAgICAgJHQyLCAkdDQsICR0NiAgICAgICAgICAgICAg
ICBcbiIgIC8vIHwxNnwxOHwyMHwyMnwKKyAgICAgICJwcmVjcnEucWIucGggICAgJHQzLCAkdDQs
ICR0NiAgICAgICAgICAgICAgICBcbiIgIC8vIHwxN3wxOXwyMXwyM3wKKyAgICAgICJwcmVjci5x
Yi5waCAgICAgJHQ0LCAkdDcsICR0OCAgICAgICAgICAgICAgICBcbiIgIC8vIHwyNHwyNnwyOHwz
MHwKKyAgICAgICJwcmVjcnEucWIucGggICAgJHQ2LCAkdDcsICR0OCAgICAgICAgICAgICAgICBc
biIgIC8vIHwyNXwyN3wyOXwzMXwKKyAgICAgICJhZGRpdSAgICAgICAgICAgJVtzcmNfdXZdLCAl
W3NyY191dl0sIC0zMiAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAgICAgJVt4XSwgJVt4XSwg
LTEgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzd3IgICAgICAgICAgICAgJHQ0LCAwKCVbZHN0
X3VdKSAgICAgICAgICAgICBcbiIKKyAgICAgICJzd2wgICAgICAgICAgICAgJHQ0LCAzKCVbZHN0
X3VdKSAgICAgICAgICAgICBcbiIgIC8vIHwzMHwyOHwyNnwyNHwKKyAgICAgICJzd3IgICAgICAg
ICAgICAgJHQ2LCAwKCVbZHN0X3ZdKSAgICAgICAgICAgICBcbiIKKyAgICAgICJzd2wgICAgICAg
ICAgICAgJHQ2LCAzKCVbZHN0X3ZdKSAgICAgICAgICAgICBcbiIgIC8vIHwzMXwyOXwyN3wyNXwK
KyAgICAgICJzd3IgICAgICAgICAgICAgJHQyLCA0KCVbZHN0X3VdKSAgICAgICAgICAgICBcbiIK
KyAgICAgICJzd2wgICAgICAgICAgICAgJHQyLCA3KCVbZHN0X3VdKSAgICAgICAgICAgICBcbiIg
IC8vIHwyMnwyMHwxOHwxNnwKKyAgICAgICJzd3IgICAgICAgICAgICAgJHQzLCA0KCVbZHN0X3Zd
KSAgICAgICAgICAgICBcbiIKKyAgICAgICJzd2wgICAgICAgICAgICAgJHQzLCA3KCVbZHN0X3Zd
KSAgICAgICAgICAgICBcbiIgIC8vIHwyM3wyMXwxOXwxN3wKKyAgICAgICJzd3IgICAgICAgICAg
ICAgJHQwLCA4KCVbZHN0X3VdKSAgICAgICAgICAgICBcbiIKKyAgICAgICJzd2wgICAgICAgICAg
ICAgJHQwLCAxMSglW2RzdF91XSkgICAgICAgICAgICBcbiIgIC8vIHwxNHwxMnwxMHw4fAorICAg
ICAgInN3ciAgICAgICAgICAgICAkdDEsIDgoJVtkc3Rfdl0pICAgICAgICAgICAgIFxuIgorICAg
ICAgInN3bCAgICAgICAgICAgICAkdDEsIDExKCVbZHN0X3ZdKSAgICAgICAgICAgIFxuIiAgLy8g
fDE1fDEzfDExfDl8CisgICAgICAic3dyICAgICAgICAgICAgICR0OSwgMTIoJVtkc3RfdV0pICAg
ICAgICAgICAgXG4iCisgICAgICAic3dsICAgICAgICAgICAgICR0OSwgMTUoJVtkc3RfdV0pICAg
ICAgICAgICAgXG4iICAvLyB8Nnw0fDJ8MHwKKyAgICAgICJzd3IgICAgICAgICAgICAgJHQ1LCAx
MiglW2RzdF92XSkgICAgICAgICAgICBcbiIKKyAgICAgICJzd2wgICAgICAgICAgICAgJHQ1LCAx
NSglW2RzdF92XSkgICAgICAgICAgICBcbiIgIC8vIHw3fDV8M3wxfAorICAgICAgImFkZGl1ICAg
ICAgICAgICAlW2RzdF92XSwgJVtkc3Rfdl0sIDE2ICAgICAgIFxuIgorICAgICAgImJndHogICAg
ICAgICAgICAlW3hdLCAxYiAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBhZGRpdSAg
ICAgICAgICAlW2RzdF91XSwgJVtkc3RfdV0sIDE2ICAgICAgIFxuIgorICAgICAgImJlcXogICAg
ICAgICAgICAlW3ldLCAzZiAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBub3AgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImIgICAgICAg
ICAgICAgICAyZiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBub3AgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCisgICAgICAiMjogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImxidSAg
ICAgICAgICAgICAkdDAsIC0yKCVbc3JjX3V2XSkgICAgICAgICAgIFxuIgorICAgICAgImxidSAg
ICAgICAgICAgICAkdDEsIC0xKCVbc3JjX3V2XSkgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1
ICAgICAgICAgICAlW3NyY191dl0sICVbc3JjX3V2XSwgLTIgICAgIFxuIgorICAgICAgImFkZGl1
ICAgICAgICAgICAlW3ldLCAlW3ldLCAtMSAgICAgICAgICAgICAgIFxuIgorICAgICAgInNiICAg
ICAgICAgICAgICAkdDAsIDAoJVtkc3RfdV0pICAgICAgICAgICAgIFxuIgorICAgICAgInNiICAg
ICAgICAgICAgICAkdDEsIDAoJVtkc3Rfdl0pICAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1
ICAgICAgICAgICAlW2RzdF91XSwgJVtkc3RfdV0sIDEgICAgICAgIFxuIgorICAgICAgImJndHog
ICAgICAgICAgICAlW3ldLCAyYiAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBhZGRp
dSAgICAgICAgICAlW2RzdF92XSwgJVtkc3Rfdl0sIDEgICAgICAgIFxuIgorCisgICAgICAiMzog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIi5z
ZXQgcG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgOiBb
c3JjX3V2XSAiK3IiKHNyY191diksIFtkc3RfdV0gIityIihkc3RfdSksIFtkc3Rfdl0gIityIihk
c3RfdiksCisgICAgICAgIFt4XSAiPSZyIih4KSwgW3ldICI9JnIiKHkpCisgICAgICA6IFt3aWR0
aF0gInIiKHdpZHRoKQorICAgICAgOiAidDAiLCAidDEiLCAidDIiLCAidDMiLCAidDQiLCAidDUi
LCAidDciLCAidDgiLCAidDkiKTsKK30KKwordm9pZCBJNDIyVG9BUkdCUm93X0RTUFIyKGNvbnN0
IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHVpbnQzMiB0bXBfdWIgPSB5
dXZjb25zdGFudHMtPmtVVlRvQlswXTsKKyAgdWludDMyIHRtcF91ZyA9IHl1dmNvbnN0YW50cy0+
a1VWVG9HWzBdOworICB1aW50MzIgdG1wX3ZnID0geXV2Y29uc3RhbnRzLT5rVVZUb0dbMV07Cisg
IHVpbnQzMiB0bXBfdnIgPSB5dXZjb25zdGFudHMtPmtVVlRvUlsxXTsKKyAgdWludDMyIHRtcF9i
YiA9IHl1dmNvbnN0YW50cy0+a1VWQmlhc0JbMF07CisgIHVpbnQzMiB0bXBfYmcgPSB5dXZjb25z
dGFudHMtPmtVVkJpYXNHWzBdOworICB1aW50MzIgdG1wX2JyID0geXV2Y29uc3RhbnRzLT5rVVZC
aWFzUlswXTsKKyAgdWludDMyIHlnID0geXV2Y29uc3RhbnRzLT5rWVRvUmdiWzBdOworICB1aW50
MzIgdG1wX3lnOworICB1aW50MzIgdG1wX21hc2sgPSAweDdmZmY3ZmZmOworICB0bXBfYmIgPSAo
KHVpbnQpKHRtcF9iYiAmIDB4ZmZmZikgPDwgMTYpIHwgKHRtcF9iYiAmIDB4ZmZmZik7CisgIHRt
cF9iZyA9ICgodWludCkodG1wX2JnICYgMHhmZmZmKSA8PCAxNikgfCAodG1wX2JnICYgMHhmZmZm
KTsKKyAgdG1wX2JyID0gKCh1aW50KSh0bXBfYnIgJiAweGZmZmYpIDw8IDE2KSB8ICh0bXBfYnIg
JiAweGZmZmYpOworICB0bXBfeWcgPSAoKHVpbnQpKHlnICYgMHhmZmZmKSA8PCAxNikgfCAoeWcg
JiAweGZmZmYpOworICB0bXBfdWIgPSB+KCgodWludCkodG1wX3ViICYgMHhmZmZmKSA8PCAxNikg
fCAodG1wX3ViICYgMHhmZmZmKSkgKyAweDAwMDEwMDAxOworICB0bXBfdWcgPSAoKHVpbnQpKHRt
cF91ZyAmIDB4ZmZmZikgPDwgMTYpIHwgKHRtcF91ZyAmIDB4ZmZmZik7CisgIHRtcF92ZyA9ICgo
dWludCkodG1wX3ZnICYgMHhmZmZmKSA8PCAxNikgfCAodG1wX3ZnICYgMHhmZmZmKTsKKyAgdG1w
X3ZyID0gfigoKHVpbnQpKHRtcF92ciAmIDB4ZmZmZikgPDwgMTYpIHwgKHRtcF92ciAmIDB4ZmZm
ZikpICsgMHgwMDAxMDAwMTsKKyAgeWcgPSB5ZyAqIDB4MDEwMTsKKworICBmb3IgKHggPSAwOyB4
IDwgd2lkdGggLSAxOyB4ICs9IDIpIHsKKyAgICB1aW50MzIgdG1wX3QxLCB0bXBfdDIsIHRtcF90
MywgdG1wX3Q0LCB0bXBfdDU7CisgICAgdWludDMyIHRtcF90NiwgdG1wX3Q3LCB0bXBfdDgsIHRt
cF90OTsKKyAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygKKyAgICAgICAgIi5zZXQgcHVzaCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNl
dCBub3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAgICJsYnUgICAgICAgICAgICAgICVbdG1wX3Q3XSwgMCglW3NyY195XSkgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICAgImxidSAgICAgICAgICAgICAgJVt0bXBfdDFdLCAxKCVbc3JjX3ld
KSAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibXVsICAgICAgICAgICAgICAlW3RtcF90N10s
ICVbdG1wX3Q3XSwgICAgICVbeWddICAgICAgXG4iCisgICAgICAgICJtdWwgICAgICAgICAgICAg
ICVbdG1wX3QxXSwgJVt0bXBfdDFdLCAgICAgJVt5Z10gICAgICBcbiIKKyAgICAgICAgImxidSAg
ICAgICAgICAgICAgJVt0bXBfdDJdLCAwKCVbc3JjX3VdKSAgICAgICAgICAgICAgIFxuIgorICAg
ICAgICAibGJ1ICAgICAgICAgICAgICAlW3RtcF90M10sIDAoJVtzcmNfdl0pICAgICAgICAgICAg
ICAgXG4iCisgICAgICAgICJyZXBsdi5waCAgICAgICAgICVbdG1wX3QyXSwgJVt0bXBfdDJdICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInJlcGx2LnBoICAgICAgICAgJVt0bXBfdDNdLCAl
W3RtcF90M10gICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibXVsLnBoICAgICAgICAgICAl
W3RtcF90NF0sICVbdG1wX3QyXSwgICAgICVbdG1wX3ViXSAgXG4iCisgICAgICAgICJtdWwucGgg
ICAgICAgICAgICVbdG1wX3Q1XSwgJVt0bXBfdDJdLCAgICAgJVt0bXBfdWddICBcbiIKKyAgICAg
ICAgIm11bC5waCAgICAgICAgICAgJVt0bXBfdDZdLCAlW3RtcF90M10sICAgICAlW3RtcF92cl0g
IFxuIgorICAgICAgICAibXVsLnBoICAgICAgICAgICAlW3RtcF90M10sICVbdG1wX3QzXSwgICAg
ICVbdG1wX3ZnXSAgXG4iCisgICAgICAgICJzcmwgICAgICAgICAgICAgICVbdG1wX3Q3XSwgJVt0
bXBfdDddLCAgICAgMTYgICAgICAgICBcbiIKKyAgICAgICAgImlucyAgICAgICAgICAgICAgJVt0
bXBfdDFdLCAlW3RtcF90N10sICAgICAwLCAgICAgIDE2IFxuIgorICAgICAgICAiYWRkcV9zLnBo
ICAgICAgICAlW3RtcF90N10sICVbdG1wX3QxXSwgICAgICVbdG1wX2JiXSAgXG4iCisgICAgICAg
ICJhZGRxX3MucGggICAgICAgICVbdG1wX3Q4XSwgJVt0bXBfdDFdLCAgICAgJVt0bXBfYmddICBc
biIKKyAgICAgICAgImFkZHFfcy5waCAgICAgICAgJVt0bXBfdDldLCAlW3RtcF90MV0sICAgICAl
W3RtcF9icl0gIFxuIgorICAgICAgICAiYWRkcV9zLnBoICAgICAgICAlW3RtcF90NV0sICVbdG1w
X3Q1XSwgICAgICVbdG1wX3QzXSAgXG4iCisgICAgICAgICJhZGRxX3MucGggICAgICAgICVbdG1w
X3Q3XSwgJVt0bXBfdDddLCAgICAgJVt0bXBfdDRdICBcbiIKKyAgICAgICAgInN1YnFfcy5waCAg
ICAgICAgJVt0bXBfdDhdLCAlW3RtcF90OF0sICAgICAlW3RtcF90NV0gIFxuIgorICAgICAgICAi
YWRkcV9zLnBoICAgICAgICAlW3RtcF90OV0sICVbdG1wX3Q5XSwgICAgICVbdG1wX3Q2XSAgXG4i
CisgICAgICAgICJzaHJhLnBoICAgICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDddLCAgICAgNiAg
ICAgICAgICBcbiIKKyAgICAgICAgInNocmEucGggICAgICAgICAgJVt0bXBfdDhdLCAlW3RtcF90
OF0sICAgICA2ICAgICAgICAgIFxuIgorICAgICAgICAic2hyYS5waCAgICAgICAgICAlW3RtcF90
OV0sICVbdG1wX3Q5XSwgICAgIDYgICAgICAgICAgXG4iCisgICAgICAgICJzaGxsX3MucGggICAg
ICAgICVbdG1wX3Q3XSwgJVt0bXBfdDddLCAgICAgNyAgICAgICAgICBcbiIKKyAgICAgICAgInNo
bGxfcy5waCAgICAgICAgJVt0bXBfdDhdLCAlW3RtcF90OF0sICAgICA3ICAgICAgICAgIFxuIgor
ICAgICAgICAic2hsbF9zLnBoICAgICAgICAlW3RtcF90OV0sICVbdG1wX3Q5XSwgICAgIDcgICAg
ICAgICAgXG4iCisgICAgICAgICJwcmVjcnF1X3MucWIucGggICVbdG1wX3Q4XSwgJVt0bXBfbWFz
a10sICAgJVt0bXBfdDhdICBcbiIKKyAgICAgICAgInByZWNycXVfcy5xYi5waCAgJVt0bXBfdDdd
LCAlW3RtcF90OV0sICAgICAlW3RtcF90N10gIFxuIgorICAgICAgICAicHJlY3JxLnBoLncgICAg
ICAlW3RtcF90OV0sICVbdG1wX3Q4XSwgICAgICVbdG1wX3Q3XSAgXG4iCisgICAgICAgICJpbnMg
ICAgICAgICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDhdLCAgICAgMTYsICAgICAxNiBcbiIKKyAg
ICAgICAgInByZWNyLnFiLnBoICAgICAgJVt0bXBfdDhdLCAlW3RtcF90OV0sICAgICAlW3RtcF90
N10gIFxuIgorICAgICAgICAicHJlY3JxLnFiLnBoICAgICAlW3RtcF90N10sICVbdG1wX3Q5XSwg
ICAgICVbdG1wX3Q3XSAgXG4iCisgICAgICAgICJzdyAgICAgICAgICAgICAgICVbdG1wX3Q4XSwg
MCglW3JnYl9idWZdKSAgICAgICAgICAgICBcbiIKKyAgICAgICAgInN3ICAgICAgICAgICAgICAg
JVt0bXBfdDddLCA0KCVbcmdiX2J1Zl0pICAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNldCBw
b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAgIDogW3RtcF90MV0gIj0mciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1wX3QyKSwKKyAg
ICAgICAgICBbdG1wX3QzXSAiPSZyIih0bXBfdDMpLCBbdG1wX3Q0XSAiPSZyIih0bXBfdDQpLAor
ICAgICAgICAgIFt0bXBfdDVdICI9JnIiKHRtcF90NSksIFt0bXBfdDZdICI9JnIiKHRtcF90Niks
CisgICAgICAgICAgW3RtcF90N10gIj0mciIodG1wX3Q3KSwgW3RtcF90OF0gIj0mciIodG1wX3Q4
KSwgW3RtcF90OV0gIj0mciIodG1wX3Q5KQorICAgICAgICA6IFtzcmNfeV0gInIiKHNyY195KSwg
W3NyY191XSAiciIoc3JjX3UpLCBbc3JjX3ZdICJyIihzcmNfdiksCisgICAgICAgICAgW3RtcF91
Yl0gInIiKHRtcF91YiksIFt0bXBfdWddICJyIih0bXBfdWcpLCBbeWddICJyIih5ZyksCisgICAg
ICAgICAgW3RtcF92Z10gInIiKHRtcF92ZyksIFt0bXBfdnJdICJyIih0bXBfdnIpLCBbdG1wX2Ji
XSAiciIodG1wX2JiKSwKKyAgICAgICAgICBbdG1wX2JnXSAiciIodG1wX2JnKSwgW3RtcF9icl0g
InIiKHRtcF9iciksIFt0bXBfeWddICJyIih0bXBfeWcpLAorICAgICAgICAgIFtyZ2JfYnVmXSAi
ciIocmdiX2J1ZiksIFt0bXBfbWFza10gInIiKHRtcF9tYXNrKSk7CisgICAgc3JjX3kgKz0gMjsK
KyAgICBzcmNfdSArPSAxOworICAgIHNyY192ICs9IDE7CisgICAgcmdiX2J1ZiArPSA4OyAgLy8g
QWR2YW5jZSA0IHBpeGVscy4KKyAgfQorfQorCisvLyBCaWxpbmVhciBmaWx0ZXIgOHgyIC0+IDh4
MQordm9pZCBJbnRlcnBvbGF0ZVJvd19EU1BSMih1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc291cmNlX3lfZnJh
Y3Rpb24pIHsKKyAgaW50IHkwX2ZyYWN0aW9uID0gMjU2IC0gc291cmNlX3lfZnJhY3Rpb247Cisg
IGNvbnN0IHVpbnQ4KiBzcmNfcHRyMSA9IHNyY19wdHIgKyBzcmNfc3RyaWRlOworCisgIF9fYXNt
X18gX192b2xhdGlsZV9fKAorICAgICAgIi5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICJyZXBsdi5waCAgICAgICAg
ICAkdDAsICVbeTBfZnJhY3Rpb25dICAgICAgICAgICAgICAgXG4iCisgICAgICAicmVwbHYucGgg
ICAgICAgICAgJHQxLCAlW3NvdXJjZV95X2ZyYWN0aW9uXSAgICAgICAgIFxuIgorCisgICAgICAi
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAibHcgICAgICAgICAgICAgICAgJHQyLCAwKCVbc3JjX3B0cl0pICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgImx3ICAgICAgICAgICAgICAgICR0MywgMCglW3NyY19wdHIxXSkgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJsdyAgICAgICAgICAgICAgICAkdDQsIDQoJVtzcmNfcHRy
XSkgICAgICAgICAgICAgICAgXG4iCisgICAgICAibHcgICAgICAgICAgICAgICAgJHQ1LCA0KCVb
c3JjX3B0cjFdKSAgICAgICAgICAgICAgIFxuIgorICAgICAgIm11bGV1X3MucGgucWJsICAgICR0
NiwgJHQyLCAkdDAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtdWxldV9zLnBoLnFi
ciAgICAkdDcsICR0MiwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibXVsZXVf
cy5waC5xYmwgICAgJHQ4LCAkdDMsICR0MSAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
Im11bGV1X3MucGgucWJyICAgICR0OSwgJHQzLCAkdDEgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJtdWxldV9zLnBoLnFibCAgICAkdDIsICR0NCwgJHQwICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAibXVsZXVfcy5waC5xYnIgICAgJHQzLCAkdDQsICR0MCAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgIm11bGV1X3MucGgucWJsICAgICR0NCwgJHQ1LCAkdDEgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtdWxldV9zLnBoLnFiciAgICAkdDUsICR0NSwg
JHQxICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkcS5waCAgICAgICAgICAgJHQ2
LCAkdDYsICR0OCAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZHEucGggICAgICAg
ICAgICR0NywgJHQ3LCAkdDkgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGRxLnBo
ICAgICAgICAgICAkdDIsICR0MiwgJHQ0ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
YWRkcS5waCAgICAgICAgICAgJHQzLCAkdDMsICR0NSAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgInNocmFfci5waCAgICAgICAgICR0NiwgJHQ2LCA4ICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJzaHJhX3IucGggICAgICAgICAkdDcsICR0NywgOCAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAic2hyYV9yLnBoICAgICAgICAgJHQyLCAkdDIsIDggICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNocmFfci5waCAgICAgICAgICR0MywgJHQzLCA4
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwcmVjci5xYi5waCAgICAgICAkdDYs
ICR0NiwgJHQ3ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHJlY3IucWIucGggICAg
ICAgJHQyLCAkdDIsICR0MyAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1ICAg
ICAgICAgICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDggICAgICAgICBcbiIKKyAgICAgICJh
ZGRpdSAgICAgICAgICAgICAlW3NyY19wdHIxXSwgJVtzcmNfcHRyMV0sIDggICAgICAgXG4iCisg
ICAgICAiYWRkaXUgICAgICAgICAgICAgJVtkc3Rfd2lkdGhdLCAlW2RzdF93aWR0aF0sIC04ICAg
IFxuIgorICAgICAgInN3ICAgICAgICAgICAgICAgICR0NiwgMCglW2RzdF9wdHJdKSAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgICAgICAgICAkdDIsIDQoJVtkc3RfcHRyXSkg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAiYmd0eiAgICAgICAgICAgICAgJVtkc3Rfd2lkdGhd
LCAxYiAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBhZGRpdSAgICAgICAgICAgICVbZHN0
X3B0cl0sICVbZHN0X3B0cl0sIDggICAgICAgICBcbiIKKworICAgICAgIi5zZXQgcG9wICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgIDogW2RzdF9w
dHJdICIrciIoZHN0X3B0ciksIFtzcmNfcHRyMV0gIityIihzcmNfcHRyMSksCisgICAgICAgIFtz
cmNfcHRyXSAiK3IiKHNyY19wdHIpLCBbZHN0X3dpZHRoXSAiK3IiKGRzdF93aWR0aCkKKyAgICAg
IDogW3NvdXJjZV95X2ZyYWN0aW9uXSAiciIoc291cmNlX3lfZnJhY3Rpb24pLAorICAgICAgICBb
eTBfZnJhY3Rpb25dICJyIih5MF9mcmFjdGlvbiksIFtzcmNfc3RyaWRlXSAiciIoc3JjX3N0cmlk
ZSkKKyAgICAgIDogInQwIiwgInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwgInQ2IiwgInQ3
IiwgInQ4IiwgInQ5Iik7Cit9CisjaW5jbHVkZSA8c3RkaW8uaD4KK3ZvaWQgUkdCMjRUb0FSR0JS
b3dfRFNQUjIoY29uc3QgdWludDgqIHNyY19yZ2IyNCwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lk
dGgpIHsKKyAgaW50IHg7CisgIHVpbnQzMiB0bXBfbWFzayA9IDB4ZmY7CisgIHVpbnQzMiB0bXBf
dDE7CisgIGZvciAoeCA9IDA7IHggPCAod2lkdGggLSAxKTsgKyt4KSB7CisgICAgX19hc21fXyBf
X3ZvbGF0aWxlX18oCisgICAgICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNldCBub3Jlb3JkZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInVs
dyAgICAgICAgICAgICAlW3RtcF90MV0sICAgIDAoJVtzcmNfcmdiMjRdKSAgICAgICAgICAgICAg
XG4iCisgICAgICAgICJhZGRpdSAgICAgICAgICAgJVtkc3RfYXJnYl0sICAlW2RzdF9hcmdiXSwg
ICAgIDQgICAgICAgICAgIFxuIgorICAgICAgICAiYWRkaXUgICAgICAgICAgICVbc3JjX3JnYjI0
XSwgJVtzcmNfcmdiMjRdLCAgICAzICAgICAgICAgICBcbiIKKyAgICAgICAgImlucyAgICAgICAg
ICAgICAlW3RtcF90MV0sICAgICVbdG1wX21hc2tdLCAgICAgMjQsICAgIDggICAgXG4iCisgICAg
ICAgICJzdyAgICAgICAgICAgICAgJVt0bXBfdDFdLCAgICAtNCglW2RzdF9hcmdiXSkgICAgICAg
ICAgICAgIFxuIgorICAgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgOiBbc3JjX3JnYjI0XSAiK3IiKHNy
Y19yZ2IyNCksIFtkc3RfYXJnYl0gIityIihkc3RfYXJnYiksCisgICAgICAgICAgW3RtcF90MV0g
Ij0mciIodG1wX3QxKQorICAgICAgICA6IFt0bXBfbWFza10gInIiKHRtcF9tYXNrKQorICAgICAg
ICA6ICJtZW1vcnkiKTsKKyAgfQorICB1aW50OCBiID0gc3JjX3JnYjI0WzBdOworICB1aW50OCBn
ID0gc3JjX3JnYjI0WzFdOworICB1aW50OCByID0gc3JjX3JnYjI0WzJdOworICBkc3RfYXJnYlsw
XSA9IGI7CisgIGRzdF9hcmdiWzFdID0gZzsKKyAgZHN0X2FyZ2JbMl0gPSByOworICBkc3RfYXJn
YlszXSA9IDI1NXU7Cit9CisKK3ZvaWQgUkFXVG9BUkdCUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBz
cmNfcmF3LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgdWludDMy
IHRtcF9tYXNrID0gMHhmZjsKKyAgdWludDMyIHRtcF90MSwgdG1wX3QyOworICBmb3IgKHggPSAw
OyB4IDwgKHdpZHRoIC0gMSk7ICsreCkgeworICAgIF9fYXNtX18gX192b2xhdGlsZV9fKAorICAg
ICAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJ1bHcgICAgICAgICAgICAgICAlW3RtcF90
MV0sICAgMCglW3NyY19yYXddKSAgICAgICAgICAgIFxuIgorICAgICAgICAiYWRkaXUgICAgICAg
ICAgICAgJVtkc3RfYXJnYl0sICVbZHN0X2FyZ2JdLCAgICAgIDQgICAgICBcbiIKKyAgICAgICAg
ImFkZGl1ICAgICAgICAgICAgICVbc3JjX3Jhd10sICAlW3NyY19yYXddLCAgICAgICAzICAgICAg
XG4iCisgICAgICAgICJzcmwgICAgICAgICAgICAgICAlW3RtcF90Ml0sICAgJVt0bXBfdDFdLCAg
ICAgICAgMTYgICAgIFxuIgorICAgICAgICAiaW5zICAgICAgICAgICAgICAgJVt0bXBfdDFdLCAg
ICVbdG1wX21hc2tdLCAgICAgIDI0LCA4ICBcbiIKKyAgICAgICAgImlucyAgICAgICAgICAgICAg
ICVbdG1wX3QxXSwgICAlW3RtcF90MV0sICAgICAgICAxNiwgOCAgXG4iCisgICAgICAgICJpbnMg
ICAgICAgICAgICAgICAlW3RtcF90MV0sICAgJVt0bXBfdDJdLCAgICAgICAgMCwgIDggIFxuIgor
ICAgICAgICAic3cgICAgICAgICAgICAgICAgJVt0bXBfdDFdLCAgIC00KCVbZHN0X2FyZ2JdKSAg
ICAgICAgICBcbiIKKyAgICAgICAgIi5zZXQgcG9wICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgIDogW3NyY19yYXddICIrciIoc3JjX3Jh
dyksIFtkc3RfYXJnYl0gIityIihkc3RfYXJnYiksCisgICAgICAgICAgW3RtcF90MV0gIj0mciIo
dG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1wX3QyKQorICAgICAgICA6IFt0bXBfbWFza10gInIi
KHRtcF9tYXNrKQorICAgICAgICA6ICJtZW1vcnkiKTsKKyAgfQorICB1aW50OCByID0gc3JjX3Jh
d1swXTsKKyAgdWludDggZyA9IHNyY19yYXdbMV07CisgIHVpbnQ4IGIgPSBzcmNfcmF3WzJdOwor
ICBkc3RfYXJnYlswXSA9IGI7CisgIGRzdF9hcmdiWzFdID0gZzsKKyAgZHN0X2FyZ2JbMl0gPSBy
OworICBkc3RfYXJnYlszXSA9IDI1NXU7Cit9CisKK3ZvaWQgUkdCNTY1VG9BUkdCUm93X0RTUFIy
KGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7Cisg
IGludCB4OworICB1aW50MzIgdG1wX21hc2sgPSAweGZmOworICB1aW50MzIgdG1wX3QxLCB0bXBf
dDIsIHRtcF90MzsKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyArK3gpIHsKKyAgICBfX2FzbV9f
IF9fdm9sYXRpbGVfXygKKyAgICAgICAgIi5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNldCBub3Jlb3JkZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAg
ICJsaHUgICAgICAgICAgICAgICAlW3RtcF90MV0sICAgICAwKCVbc3JjX3JnYjU2NV0pICAgICAg
ICAgICBcbiIKKyAgICAgICAgImFkZGl1ICAgICAgICAgICAgICVbZHN0X2FyZ2JdLCAgICVbZHN0
X2FyZ2JdLCAgICAgIDQgICAgICAgIFxuIgorICAgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtz
cmNfcmdiNTY1XSwgJVtzcmNfcmdiNTY1XSwgICAgMiAgICAgICAgXG4iCisgICAgICAgICJzbGwg
ICAgICAgICAgICAgICAlW3RtcF90Ml0sICAgICAlW3RtcF90MV0sICAgICAgICA4ICAgICAgICBc
biIKKyAgICAgICAgImlucyAgICAgICAgICAgICAgICVbdG1wX3QyXSwgICAgICVbdG1wX21hc2td
LCAgICAgIDI0LDggICAgIFxuIgorICAgICAgICAiaW5zICAgICAgICAgICAgICAgJVt0bXBfdDJd
LCAgICAgJVt0bXBfdDFdLCAgICAgICAgMywgMTYgICAgXG4iCisgICAgICAgICJpbnMgICAgICAg
ICAgICAgICAlW3RtcF90Ml0sICAgICAlW3RtcF90MV0sICAgICAgICA1LCAxMSAgICBcbiIKKyAg
ICAgICAgInNybCAgICAgICAgICAgICAgICVbdG1wX3QzXSwgICAgICVbdG1wX3QxXSwgICAgICAg
IDkgICAgICAgIFxuIgorICAgICAgICAiaW5zICAgICAgICAgICAgICAgJVt0bXBfdDJdLCAgICAg
JVt0bXBfdDNdLCAgICAgICAgOCwgMiAgICAgXG4iCisgICAgICAgICJpbnMgICAgICAgICAgICAg
ICAlW3RtcF90Ml0sICAgICAlW3RtcF90MV0sICAgICAgICAzLCA1ICAgICBcbiIKKyAgICAgICAg
InNybCAgICAgICAgICAgICAgICVbdG1wX3QzXSwgICAgICVbdG1wX3QxXSwgICAgICAgIDIgICAg
ICAgIFxuIgorICAgICAgICAiaW5zICAgICAgICAgICAgICAgJVt0bXBfdDJdLCAgICAgJVt0bXBf
dDNdLCAgICAgICAgMCwgMyAgICAgXG4iCisgICAgICAgICJzdyAgICAgICAgICAgICAgICAlW3Rt
cF90Ml0sICAgICAtNCglW2RzdF9hcmdiXSkgICAgICAgICAgICBcbiIKKyAgICAgICAgIi5zZXQg
cG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgICA6IFt0bXBfdDFdICI9JnIiKHRtcF90MSksIFt0bXBfdDJdICI9JnIiKHRtcF90
MiksCisgICAgICAgICAgW3RtcF90M10gIj0mciIodG1wX3QzKSwgW3NyY19yZ2I1NjVdICIrciIo
c3JjX3JnYjU2NSksCisgICAgICAgICAgW2RzdF9hcmdiXSAiK3IiKGRzdF9hcmdiKQorICAgICAg
ICA6IFt0bXBfbWFza10gInIiKHRtcF9tYXNrKSk7CisgIH0KK30KKwordm9pZCBBUkdCMTU1NVRv
QVJHQlJvd19EU1BSMihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgdWludDMyIHRtcF90MSwgdG1wX3QyLCB0bXBf
dDM7CisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgKyt4KSB7CisgICAgX19hc21fXyBfX3ZvbGF0
aWxlX18oCisgICAgICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibGggICAg
ICAgICAgICAgICAgJVt0bXBfdDFdLCAgICAgICAwKCVbc3JjX2FyZ2IxNTU1XSkgICAgICAgXG4i
CisgICAgICAgICJhZGRpdSAgICAgICAgICAgICAlW2RzdF9hcmdiXSwgICAgICVbZHN0X2FyZ2Jd
LCAgICAgIDQgICAgICBcbiIKKyAgICAgICAgImFkZGl1ICAgICAgICAgICAgICVbc3JjX2FyZ2Ix
NTU1XSwgJVtzcmNfYXJnYjE1NTVdLCAgMiAgICAgIFxuIgorICAgICAgICAic2xsICAgICAgICAg
ICAgICAgJVt0bXBfdDJdLCAgICAgICAlW3RtcF90MV0sICAgICAgICA5ICAgICAgXG4iCisgICAg
ICAgICJpbnMgICAgICAgICAgICAgICAlW3RtcF90Ml0sICAgICAgICVbdG1wX3QxXSwgICAgICAg
IDQsIDE1ICBcbiIKKyAgICAgICAgImlucyAgICAgICAgICAgICAgICVbdG1wX3QyXSwgICAgICAg
JVt0bXBfdDFdLCAgICAgICAgNiwgMTAgIFxuIgorICAgICAgICAic3JsICAgICAgICAgICAgICAg
JVt0bXBfdDNdLCAgICAgICAlW3RtcF90MV0sICAgICAgICA3ICAgICAgXG4iCisgICAgICAgICJp
bnMgICAgICAgICAgICAgICAlW3RtcF90Ml0sICAgICAgICVbdG1wX3QzXSwgICAgICAgIDgsIDMg
ICBcbiIKKyAgICAgICAgImlucyAgICAgICAgICAgICAgICVbdG1wX3QyXSwgICAgICAgJVt0bXBf
dDFdLCAgICAgICAgMywgNSAgIFxuIgorICAgICAgICAic3JsICAgICAgICAgICAgICAgJVt0bXBf
dDNdLCAgICAgICAlW3RtcF90MV0sICAgICAgICAyICAgICAgXG4iCisgICAgICAgICJpbnMgICAg
ICAgICAgICAgICAlW3RtcF90Ml0sICAgICAgICVbdG1wX3QzXSwgICAgICAgIDAsIDMgICBcbiIK
KyAgICAgICAgInN3ICAgICAgICAgICAgICAgICVbdG1wX3QyXSwgICAgICAgLTQoJVtkc3RfYXJn
Yl0pICAgICAgICAgIFxuIgorICAgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgIDogW3RtcF90MV0gIj0m
ciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1wX3QyKSwKKyAgICAgICAgICBbdG1wX3QzXSAi
PSZyIih0bXBfdDMpLCBbc3JjX2FyZ2IxNTU1XSAiK3IiKHNyY19hcmdiMTU1NSksCisgICAgICAg
ICAgW2RzdF9hcmdiXSAiK3IiKGRzdF9hcmdiKQorICAgICAgICA6KTsKKyAgfQorfQorCit2b2lk
IEFSR0I0NDQ0VG9BUkdCUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGludCB4OworICB1aW50MzIgdG1wX3QxOwor
ICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7ICsreCkgeworICAgIF9fYXNtX18gX192b2xhdGlsZV9f
KAorICAgICAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNldCBub3Jlb3JkZXIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibGggICAgICAg
ICAgICAgICAgJVt0bXBfdDFdLCAgICAgICAwKCVbc3JjX2FyZ2I0NDQ0XSkgICAgICAgIFxuIgor
ICAgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtkc3RfYXJnYl0sICAgICAlW2RzdF9hcmdiXSwg
ICAgICAgNCAgICAgIFxuIgorICAgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtzcmNfYXJnYjQ0
NDRdLCAlW3NyY19hcmdiNDQ0NF0sICAgMiAgICAgIFxuIgorICAgICAgICAiaW5zICAgICAgICAg
ICAgICAgJVt0bXBfdDFdLCAgICAgICAlW3RtcF90MV0sICAgICAgICAgMTYsIDE2IFxuIgorICAg
ICAgICAiaW5zICAgICAgICAgICAgICAgJVt0bXBfdDFdLCAgICAgICAlW3RtcF90MV0sICAgICAg
ICAgMTIsIDE2IFxuIgorICAgICAgICAiaW5zICAgICAgICAgICAgICAgJVt0bXBfdDFdLCAgICAg
ICAlW3RtcF90MV0sICAgICAgICAgOCwgIDEyIFxuIgorICAgICAgICAiaW5zICAgICAgICAgICAg
ICAgJVt0bXBfdDFdLCAgICAgICAlW3RtcF90MV0sICAgICAgICAgNCwgIDggIFxuIgorICAgICAg
ICAic3cgICAgICAgICAgICAgICAgJVt0bXBfdDFdLCAgICAgICAtNCglW2RzdF9hcmdiXSkgICAg
ICAgICAgIFxuIgorICAgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICA6IFtzcmNfYXJnYjQ0NDRdICIr
ciIoc3JjX2FyZ2I0NDQ0KSwgW2RzdF9hcmdiXSAiK3IiKGRzdF9hcmdiKSwKKyAgICAgICAgICBb
dG1wX3QxXSAiPSZyIih0bXBfdDEpKTsKKyAgfQorfQorCit2b2lkIEk0NDRUb0FSR0JSb3dfRFNQ
UjIoY29uc3QgdWludDgqIHlfYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiB1X2J1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdl9idWYs
CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIHJnYl9idWYsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgdWludDMyIHRt
cF91YiA9IHl1dmNvbnN0YW50cy0+a1VWVG9CWzBdOworICB1aW50MzIgdG1wX3VnID0geXV2Y29u
c3RhbnRzLT5rVVZUb0dbMF07CisgIHVpbnQzMiB0bXBfdmcgPSB5dXZjb25zdGFudHMtPmtVVlRv
R1sxXTsKKyAgdWludDMyIHRtcF92ciA9IHl1dmNvbnN0YW50cy0+a1VWVG9SWzFdOworICB1aW50
MzIgdG1wX2JiID0geXV2Y29uc3RhbnRzLT5rVVZCaWFzQlswXTsKKyAgdWludDMyIHRtcF9iZyA9
IHl1dmNvbnN0YW50cy0+a1VWQmlhc0dbMF07CisgIHVpbnQzMiB0bXBfYnIgPSB5dXZjb25zdGFu
dHMtPmtVVkJpYXNSWzBdOworICB1aW50MzIgeWcgPSB5dXZjb25zdGFudHMtPmtZVG9SZ2JbMF07
CisgIHVpbnQzMiB0bXBfbWFzayA9IDB4N2ZmZjdmZmY7CisgIHVpbnQzMiB0bXBfeWc7CisKKyAg
dG1wX2JiID0gKCh1aW50KSh0bXBfYmIgJiAweGZmZmYpIDw8IDE2KSB8ICh0bXBfYmIgJiAweGZm
ZmYpOworICB0bXBfYmcgPSAoKHVpbnQpKHRtcF9iZyAmIDB4ZmZmZikgPDwgMTYpIHwgKHRtcF9i
ZyAmIDB4ZmZmZik7CisgIHRtcF9iciA9ICgodWludCkodG1wX2JyICYgMHhmZmZmKSA8PCAxNikg
fCAodG1wX2JyICYgMHhmZmZmKTsKKyAgdG1wX3lnID0gKCh1aW50KSh5ZyAmIDB4ZmZmZikgPDwg
MTYpIHwgKHlnICYgMHhmZmZmKTsKKyAgdG1wX3ViID0gfigoKHVpbnQpKHRtcF91YiAmIDB4ZmZm
ZikgPDwgMTYpIHwgKHRtcF91YiAmIDB4ZmZmZikpICsgMHgwMDAxMDAwMTsKKyAgdG1wX3VnID0g
KCh1aW50KSh0bXBfdWcgJiAweGZmZmYpIDw8IDE2KSB8ICh0bXBfdWcgJiAweGZmZmYpOworICB0
bXBfdmcgPSAoKHVpbnQpKHRtcF92ZyAmIDB4ZmZmZikgPDwgMTYpIHwgKHRtcF92ZyAmIDB4ZmZm
Zik7CisgIHRtcF92ciA9IH4oKCh1aW50KSh0bXBfdnIgJiAweGZmZmYpIDw8IDE2KSB8ICh0bXBf
dnIgJiAweGZmZmYpKSArIDB4MDAwMTAwMDE7CisgIHlnID0geWcgKiAweDAxMDE7CisKKyAgZm9y
ICh4ID0gMDsgeCA8IHdpZHRoIC0gMTsgeCArPSAyKSB7CisgICAgdWludDMyIHRtcF90MSwgdG1w
X3QyLCB0bXBfdDMsIHRtcF90NCwgdG1wX3Q1OworICAgIHVpbnQzMiB0bXBfdDYsIHRtcF90Nywg
dG1wX3Q4LCB0bXBfdDk7CisgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAgICIuc2V0
IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAgICJsYnUgICAgICAgICAgICAgICVbdG1wX3Q3XSwgMCglW3lfYnVm
XSkgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgImxidSAgICAgICAgICAgICAgJVt0bXBfdDFd
LCAxKCVbeV9idWZdKSAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibXVsICAgICAgICAgICAg
ICAlW3RtcF90N10sICVbdG1wX3Q3XSwgICAgICVbeWddICAgICAgXG4iCisgICAgICAgICJtdWwg
ICAgICAgICAgICAgICVbdG1wX3QxXSwgJVt0bXBfdDFdLCAgICAgJVt5Z10gICAgICBcbiIKKyAg
ICAgICAgImxoICAgICAgICAgICAgICAgJVt0bXBfdDJdLCAwKCVbdV9idWZdKSAgICAgICAgICAg
ICAgIFxuIgorICAgICAgICAibGggICAgICAgICAgICAgICAlW3RtcF90M10sIDAoJVt2X2J1Zl0p
ICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJyICAgICVbdG1wX3QyXSwg
JVt0bXBfdDJdICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5xYnIgICAg
JVt0bXBfdDNdLCAlW3RtcF90M10gICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibXVsLnBo
ICAgICAgICAgICAlW3RtcF90NF0sICVbdG1wX3QyXSwgICAgICVbdG1wX3ViXSAgXG4iCisgICAg
ICAgICJtdWwucGggICAgICAgICAgICVbdG1wX3Q1XSwgJVt0bXBfdDJdLCAgICAgJVt0bXBfdWdd
ICBcbiIKKyAgICAgICAgIm11bC5waCAgICAgICAgICAgJVt0bXBfdDZdLCAlW3RtcF90M10sICAg
ICAlW3RtcF92cl0gIFxuIgorICAgICAgICAibXVsLnBoICAgICAgICAgICAlW3RtcF90M10sICVb
dG1wX3QzXSwgICAgICVbdG1wX3ZnXSAgXG4iCisgICAgICAgICJzcmwgICAgICAgICAgICAgICVb
dG1wX3Q3XSwgJVt0bXBfdDddLCAgICAgMTYgICAgICAgICBcbiIKKyAgICAgICAgImlucyAgICAg
ICAgICAgICAgJVt0bXBfdDFdLCAlW3RtcF90N10sICAgICAwLCAgICAgIDE2IFxuIgorICAgICAg
ICAiYWRkcV9zLnBoICAgICAgICAlW3RtcF90N10sICVbdG1wX3QxXSwgICAgICVbdG1wX2JiXSAg
XG4iCisgICAgICAgICJhZGRxX3MucGggICAgICAgICVbdG1wX3Q4XSwgJVt0bXBfdDFdLCAgICAg
JVt0bXBfYmddICBcbiIKKyAgICAgICAgImFkZHFfcy5waCAgICAgICAgJVt0bXBfdDldLCAlW3Rt
cF90MV0sICAgICAlW3RtcF9icl0gIFxuIgorICAgICAgICAiYWRkcV9zLnBoICAgICAgICAlW3Rt
cF90NV0sICVbdG1wX3Q1XSwgICAgICVbdG1wX3QzXSAgXG4iCisgICAgICAgICJhZGRxX3MucGgg
ICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDddLCAgICAgJVt0bXBfdDRdICBcbiIKKyAgICAgICAg
InN1YnFfcy5waCAgICAgICAgJVt0bXBfdDhdLCAlW3RtcF90OF0sICAgICAlW3RtcF90NV0gIFxu
IgorICAgICAgICAiYWRkcV9zLnBoICAgICAgICAlW3RtcF90OV0sICVbdG1wX3Q5XSwgICAgICVb
dG1wX3Q2XSAgXG4iCisgICAgICAgICJzaHJhLnBoICAgICAgICAgICVbdG1wX3Q3XSwgJVt0bXBf
dDddLCAgICAgNiAgICAgICAgICBcbiIKKyAgICAgICAgInNocmEucGggICAgICAgICAgJVt0bXBf
dDhdLCAlW3RtcF90OF0sICAgICA2ICAgICAgICAgIFxuIgorICAgICAgICAic2hyYS5waCAgICAg
ICAgICAlW3RtcF90OV0sICVbdG1wX3Q5XSwgICAgIDYgICAgICAgICAgXG4iCisgICAgICAgICJz
aGxsX3MucGggICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDddLCAgICAgNyAgICAgICAgICBcbiIK
KyAgICAgICAgInNobGxfcy5waCAgICAgICAgJVt0bXBfdDhdLCAlW3RtcF90OF0sICAgICA3ICAg
ICAgICAgIFxuIgorICAgICAgICAic2hsbF9zLnBoICAgICAgICAlW3RtcF90OV0sICVbdG1wX3Q5
XSwgICAgIDcgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjcnF1X3MucWIucGggICVbdG1wX3Q4
XSwgJVt0bXBfbWFza10sICAgJVt0bXBfdDhdICBcbiIKKyAgICAgICAgInByZWNycXVfcy5xYi5w
aCAgJVt0bXBfdDddLCAlW3RtcF90OV0sICAgICAlW3RtcF90N10gIFxuIgorICAgICAgICAicHJl
Y3JxLnBoLncgICAgICAlW3RtcF90Ml0sICVbdG1wX3Q4XSwgICAgICVbdG1wX3Q3XSAgXG4iCisg
ICAgICAgICJpbnMgICAgICAgICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDhdLCAgICAgMTYsICAg
ICAxNiBcbiIKKyAgICAgICAgInByZWNyLnFiLnBoICAgICAgJVt0bXBfdDhdLCAlW3RtcF90Ml0s
ICAgICAlW3RtcF90N10gIFxuIgorICAgICAgICAicHJlY3JxLnFiLnBoICAgICAlW3RtcF90N10s
ICVbdG1wX3QyXSwgICAgICVbdG1wX3Q3XSAgXG4iCisgICAgICAgICJzdyAgICAgICAgICAgICAg
ICVbdG1wX3Q4XSwgMCglW3JnYl9idWZdKSAgICAgICAgICAgICBcbiIKKyAgICAgICAgInN3ICAg
ICAgICAgICAgICAgJVt0bXBfdDddLCA0KCVbcmdiX2J1Zl0pICAgICAgICAgICAgIFxuIgorICAg
ICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAgIDogW3RtcF90MV0gIj0mciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIo
dG1wX3QyKSwKKyAgICAgICAgICBbdG1wX3QzXSAiPSZyIih0bXBfdDMpLCBbdG1wX3Q0XSAiPSZy
Iih0bXBfdDQpLAorICAgICAgICAgIFt0bXBfdDVdICI9JnIiKHRtcF90NSksIFt0bXBfdDZdICI9
JnIiKHRtcF90NiksCisgICAgICAgICAgW3RtcF90N10gIj0mciIodG1wX3Q3KSwgW3RtcF90OF0g
Ij0mciIodG1wX3Q4KSwgW3RtcF90OV0gIj0mciIodG1wX3Q5KQorICAgICAgICA6IFt5X2J1Zl0g
InIiKHlfYnVmKSwgW3lnXSAiciIoeWcpLCBbdV9idWZdICJyIih1X2J1ZiksCisgICAgICAgICAg
W3ZfYnVmXSAiciIodl9idWYpLCBbdG1wX3ViXSAiciIodG1wX3ViKSwgW3RtcF91Z10gInIiKHRt
cF91ZyksCisgICAgICAgICAgW3RtcF92Z10gInIiKHRtcF92ZyksIFt0bXBfdnJdICJyIih0bXBf
dnIpLCBbdG1wX2JiXSAiciIodG1wX2JiKSwKKyAgICAgICAgICBbdG1wX2JnXSAiciIodG1wX2Jn
KSwgW3RtcF9icl0gInIiKHRtcF9iciksIFt0bXBfeWddICJyIih0bXBfeWcpLAorICAgICAgICAg
IFtyZ2JfYnVmXSAiciIocmdiX2J1ZiksIFt0bXBfbWFza10gInIiKHRtcF9tYXNrKSk7CisgICAg
eV9idWYgKz0gMjsKKyAgICB1X2J1ZiArPSAyOworICAgIHZfYnVmICs9IDI7CisgICAgcmdiX2J1
ZiArPSA4OyAgLy8gQWR2YW5jZSAxIHBpeGVsLgorICB9Cit9CisKK3ZvaWQgSTQyMlRvQVJHQjQ0
NDRSb3dfRFNQUjIoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiNDQ0NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1
dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHVpbnQzMiB0bXBfdWIgPSB5dXZjb25zdGFudHMtPmtV
VlRvQlswXTsKKyAgdWludDMyIHRtcF91ZyA9IHl1dmNvbnN0YW50cy0+a1VWVG9HWzBdOworICB1
aW50MzIgdG1wX3ZnID0geXV2Y29uc3RhbnRzLT5rVVZUb0dbMV07CisgIHVpbnQzMiB0bXBfdnIg
PSB5dXZjb25zdGFudHMtPmtVVlRvUlsxXTsKKyAgdWludDMyIHRtcF9iYiA9IHl1dmNvbnN0YW50
cy0+a1VWQmlhc0JbMF07CisgIHVpbnQzMiB0bXBfYmcgPSB5dXZjb25zdGFudHMtPmtVVkJpYXNH
WzBdOworICB1aW50MzIgdG1wX2JyID0geXV2Y29uc3RhbnRzLT5rVVZCaWFzUlswXTsKKyAgdWlu
dDMyIHlnID0geXV2Y29uc3RhbnRzLT5rWVRvUmdiWzBdOworICB1aW50MzIgdG1wX3lnOworICB1
aW50MzIgdG1wX21hc2sgPSAweDdmZmY3ZmZmOworICB0bXBfYmIgPSAoKHVpbnQpKHRtcF9iYiAm
IDB4ZmZmZikgPDwgMTYpIHwgKHRtcF9iYiAmIDB4ZmZmZik7CisgIHRtcF9iZyA9ICgodWludCko
dG1wX2JnICYgMHhmZmZmKSA8PCAxNikgfCAodG1wX2JnICYgMHhmZmZmKTsKKyAgdG1wX2JyID0g
KCh1aW50KSh0bXBfYnIgJiAweGZmZmYpIDw8IDE2KSB8ICh0bXBfYnIgJiAweGZmZmYpOworICB0
bXBfeWcgPSAoKHVpbnQpKHlnICYgMHhmZmZmKSA8PCAxNikgfCAoeWcgJiAweGZmZmYpOworICB0
bXBfdWIgPSB+KCgodWludCkodG1wX3ViICYgMHhmZmZmKSA8PCAxNikgfCAodG1wX3ViICYgMHhm
ZmZmKSkgKyAweDAwMDEwMDAxOworICB0bXBfdWcgPSAoKHVpbnQpKHRtcF91ZyAmIDB4ZmZmZikg
PDwgMTYpIHwgKHRtcF91ZyAmIDB4ZmZmZik7CisgIHRtcF92ZyA9ICgodWludCkodG1wX3ZnICYg
MHhmZmZmKSA8PCAxNikgfCAodG1wX3ZnICYgMHhmZmZmKTsKKyAgdG1wX3ZyID0gfigoKHVpbnQp
KHRtcF92ciAmIDB4ZmZmZikgPDwgMTYpIHwgKHRtcF92ciAmIDB4ZmZmZikpICsgMHgwMDAxMDAw
MTsKKyAgeWcgPSB5ZyAqIDB4MDEwMTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lkdGggLSAxOyB4
ICs9IDIpIHsKKyAgICB1aW50MzIgdG1wX3QxLCB0bXBfdDIsIHRtcF90MywgdG1wX3Q0LCB0bXBf
dDU7CisgICAgdWludDMyIHRtcF90NiwgdG1wX3Q3LCB0bXBfdDgsIHRtcF90OTsKKyAgICBfX2Fz
bV9fIF9fdm9sYXRpbGVfXygKKyAgICAgICAgIi5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNldCBub3Jlb3JkZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJsYnUgICAg
ICAgICAgICAgICVbdG1wX3Q3XSwgMCglW3NyY195XSkgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICAgImxidSAgICAgICAgICAgICAgJVt0bXBfdDFdLCAxKCVbc3JjX3ldKSAgICAgICAgICAgICAg
IFxuIgorICAgICAgICAibXVsICAgICAgICAgICAgICAlW3RtcF90N10sICVbdG1wX3Q3XSwgICAg
ICVbeWddICAgICAgXG4iCisgICAgICAgICJtdWwgICAgICAgICAgICAgICVbdG1wX3QxXSwgJVt0
bXBfdDFdLCAgICAgJVt5Z10gICAgICBcbiIKKyAgICAgICAgImxidSAgICAgICAgICAgICAgJVt0
bXBfdDJdLCAwKCVbc3JjX3VdKSAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibGJ1ICAgICAg
ICAgICAgICAlW3RtcF90M10sIDAoJVtzcmNfdl0pICAgICAgICAgICAgICAgXG4iCisgICAgICAg
ICJyZXBsdi5waCAgICAgICAgICVbdG1wX3QyXSwgJVt0bXBfdDJdICAgICAgICAgICAgICAgICBc
biIKKyAgICAgICAgInJlcGx2LnBoICAgICAgICAgJVt0bXBfdDNdLCAlW3RtcF90M10gICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgICAibXVsLnBoICAgICAgICAgICAlW3RtcF90NF0sICVbdG1w
X3QyXSwgICAgICVbdG1wX3ViXSAgXG4iCisgICAgICAgICJtdWwucGggICAgICAgICAgICVbdG1w
X3Q1XSwgJVt0bXBfdDJdLCAgICAgJVt0bXBfdWddICBcbiIKKyAgICAgICAgIm11bC5waCAgICAg
ICAgICAgJVt0bXBfdDZdLCAlW3RtcF90M10sICAgICAlW3RtcF92cl0gIFxuIgorICAgICAgICAi
bXVsLnBoICAgICAgICAgICAlW3RtcF90M10sICVbdG1wX3QzXSwgICAgICVbdG1wX3ZnXSAgXG4i
CisgICAgICAgICJzcmwgICAgICAgICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDddLCAgICAgMTYg
ICAgICAgICBcbiIKKyAgICAgICAgImlucyAgICAgICAgICAgICAgJVt0bXBfdDFdLCAlW3RtcF90
N10sICAgICAwLCAgICAgIDE2IFxuIgorICAgICAgICAiYWRkcV9zLnBoICAgICAgICAlW3RtcF90
N10sICVbdG1wX3QxXSwgICAgICVbdG1wX2JiXSAgXG4iCisgICAgICAgICJhZGRxX3MucGggICAg
ICAgICVbdG1wX3Q4XSwgJVt0bXBfdDFdLCAgICAgJVt0bXBfYmddICBcbiIKKyAgICAgICAgImFk
ZHFfcy5waCAgICAgICAgJVt0bXBfdDldLCAlW3RtcF90MV0sICAgICAlW3RtcF9icl0gIFxuIgor
ICAgICAgICAiYWRkcV9zLnBoICAgICAgICAlW3RtcF90NV0sICVbdG1wX3Q1XSwgICAgICVbdG1w
X3QzXSAgXG4iCisgICAgICAgICJhZGRxX3MucGggICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDdd
LCAgICAgJVt0bXBfdDRdICBcbiIKKyAgICAgICAgInN1YnFfcy5waCAgICAgICAgJVt0bXBfdDhd
LCAlW3RtcF90OF0sICAgICAlW3RtcF90NV0gIFxuIgorICAgICAgICAiYWRkcV9zLnBoICAgICAg
ICAlW3RtcF90OV0sICVbdG1wX3Q5XSwgICAgICVbdG1wX3Q2XSAgXG4iCisgICAgICAgICJzaHJh
LnBoICAgICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDddLCAgICAgNiAgICAgICAgICBcbiIKKyAg
ICAgICAgInNocmEucGggICAgICAgICAgJVt0bXBfdDhdLCAlW3RtcF90OF0sICAgICA2ICAgICAg
ICAgIFxuIgorICAgICAgICAic2hyYS5waCAgICAgICAgICAlW3RtcF90OV0sICVbdG1wX3Q5XSwg
ICAgIDYgICAgICAgICAgXG4iCisgICAgICAgICJzaGxsX3MucGggICAgICAgICVbdG1wX3Q3XSwg
JVt0bXBfdDddLCAgICAgNyAgICAgICAgICBcbiIKKyAgICAgICAgInNobGxfcy5waCAgICAgICAg
JVt0bXBfdDhdLCAlW3RtcF90OF0sICAgICA3ICAgICAgICAgIFxuIgorICAgICAgICAic2hsbF9z
LnBoICAgICAgICAlW3RtcF90OV0sICVbdG1wX3Q5XSwgICAgIDcgICAgICAgICAgXG4iCisgICAg
ICAgICJwcmVjcnF1X3MucWIucGggICVbdG1wX3Q4XSwgJVt0bXBfbWFza10sICAgJVt0bXBfdDhd
ICBcbiIKKyAgICAgICAgInByZWNycXVfcy5xYi5waCAgJVt0bXBfdDddLCAlW3RtcF90OV0sICAg
ICAlW3RtcF90N10gIFxuIgorICAgICAgICAicHJlY3JxLnBoLncgICAgICAlW3RtcF90Ml0sICVb
dG1wX3Q4XSwgICAgICVbdG1wX3Q3XSAgXG4iCisgICAgICAgICJpbnMgICAgICAgICAgICAgICVb
dG1wX3Q3XSwgJVt0bXBfdDhdLCAgICAgMTYsICAgICAxNiBcbiIKKyAgICAgICAgInByZWNyLnFi
LnBoICAgICAgJVt0bXBfdDhdLCAlW3RtcF90Ml0sICAgICAlW3RtcF90N10gIFxuIgorICAgICAg
ICAicHJlY3JxLnFiLnBoICAgICAlW3RtcF90N10sICVbdG1wX3QyXSwgICAgICVbdG1wX3Q3XSAg
XG4iCisgICAgICAgICJzaHJsLnFiICAgICAgICAgICVbdG1wX3QxXSwgJVt0bXBfdDhdLCAgICAg
NCAgICAgICAgICBcbiIKKyAgICAgICAgInNocmwucWIgICAgICAgICAgJVt0bXBfdDJdLCAlW3Rt
cF90N10sICAgICA0ICAgICAgICAgIFxuIgorICAgICAgICAic2hybC5waCAgICAgICAgICAlW3Rt
cF90OF0sICVbdG1wX3QxXSwgICAgIDQgICAgICAgICAgXG4iCisgICAgICAgICJzaHJsLnBoICAg
ICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDJdLCAgICAgNCAgICAgICAgICBcbiIKKyAgICAgICAg
Im9yICAgICAgICAgICAgICAgJVt0bXBfdDhdLCAlW3RtcF90OF0sICAgICAlW3RtcF90MV0gIFxu
IgorICAgICAgICAib3IgICAgICAgICAgICAgICAlW3RtcF90N10sICVbdG1wX3Q3XSwgICAgICVb
dG1wX3QyXSAgXG4iCisgICAgICAgICJwcmVjci5xYi5waCAgICAgICVbdG1wX3Q4XSwgJVt0bXBf
dDddLCAgICAgJVt0bXBfdDhdICBcbiIKKyAgICAgICAgInN3ICAgICAgICAgICAgICAgJVt0bXBf
dDhdLCAwKCVbZHN0X2FyZ2I0NDQ0XSkgICAgICAgIFxuIgorICAgICAgICAiLnNldCBwb3AgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgIDog
W3RtcF90MV0gIj0mciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1wX3QyKSwKKyAgICAgICAg
ICBbdG1wX3QzXSAiPSZyIih0bXBfdDMpLCBbdG1wX3Q0XSAiPSZyIih0bXBfdDQpLAorICAgICAg
ICAgIFt0bXBfdDVdICI9JnIiKHRtcF90NSksIFt0bXBfdDZdICI9JnIiKHRtcF90NiksCisgICAg
ICAgICAgW3RtcF90N10gIj0mciIodG1wX3Q3KSwgW3RtcF90OF0gIj0mciIodG1wX3Q4KSwgW3Rt
cF90OV0gIj0mciIodG1wX3Q5KQorICAgICAgICA6IFtkc3RfYXJnYjQ0NDRdICJyIihkc3RfYXJn
YjQ0NDQpLCBbeWddICJyIih5ZyksIFtzcmNfdV0gInIiKHNyY191KSwKKyAgICAgICAgICBbc3Jj
X3ZdICJyIihzcmNfdiksIFtzcmNfeV0gInIiKHNyY195KSwgW3RtcF91Yl0gInIiKHRtcF91Yiks
CisgICAgICAgICAgW3RtcF91Z10gInIiKHRtcF91ZyksIFt0bXBfdmddICJyIih0bXBfdmcpLCBb
dG1wX3ZyXSAiciIodG1wX3ZyKSwKKyAgICAgICAgICBbdG1wX2JiXSAiciIodG1wX2JiKSwgW3Rt
cF9iZ10gInIiKHRtcF9iZyksIFt0bXBfYnJdICJyIih0bXBfYnIpLAorICAgICAgICAgIFt0bXBf
eWddICJyIih0bXBfeWcpLCBbdG1wX21hc2tdICJyIih0bXBfbWFzaykpOworICAgIHNyY195ICs9
IDI7CisgICAgc3JjX3UgKz0gMTsKKyAgICBzcmNfdiArPSAxOworICAgIGRzdF9hcmdiNDQ0NCAr
PSA0OyAgLy8gQWR2YW5jZSAyIHBpeGVscy4KKyAgfQorfQorCit2b2lkIEk0MjJUb0FSR0IxNTU1
Um93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYjE1NTUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZD
b25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CisgIGludCB4OworICB1aW50MzIgdG1wX3ViID0geXV2Y29uc3RhbnRzLT5rVVZU
b0JbMF07CisgIHVpbnQzMiB0bXBfdWcgPSB5dXZjb25zdGFudHMtPmtVVlRvR1swXTsKKyAgdWlu
dDMyIHRtcF92ZyA9IHl1dmNvbnN0YW50cy0+a1VWVG9HWzFdOworICB1aW50MzIgdG1wX3ZyID0g
eXV2Y29uc3RhbnRzLT5rVVZUb1JbMV07CisgIHVpbnQzMiB0bXBfYmIgPSB5dXZjb25zdGFudHMt
PmtVVkJpYXNCWzBdOworICB1aW50MzIgdG1wX2JnID0geXV2Y29uc3RhbnRzLT5rVVZCaWFzR1sw
XTsKKyAgdWludDMyIHRtcF9iciA9IHl1dmNvbnN0YW50cy0+a1VWQmlhc1JbMF07CisgIHVpbnQz
MiB5ZyA9IHl1dmNvbnN0YW50cy0+a1lUb1JnYlswXTsKKyAgdWludDMyIHRtcF95ZzsKKyAgdWlu
dDMyIHRtcF9tYXNrID0gMHg4MDAwODAwMDsKKyAgdG1wX2JiID0gKCh1aW50KSh0bXBfYmIgJiAw
eGZmZmYpIDw8IDE2KSB8ICh0bXBfYmIgJiAweGZmZmYpOworICB0bXBfYmcgPSAoKHVpbnQpKHRt
cF9iZyAmIDB4ZmZmZikgPDwgMTYpIHwgKHRtcF9iZyAmIDB4ZmZmZik7CisgIHRtcF9iciA9ICgo
dWludCkodG1wX2JyICYgMHhmZmZmKSA8PCAxNikgfCAodG1wX2JyICYgMHhmZmZmKTsKKyAgdG1w
X3lnID0gKCh1aW50KSh5ZyAmIDB4ZmZmZikgPDwgMTYpIHwgKHlnICYgMHhmZmZmKTsKKyAgdG1w
X3ViID0gfigoKHVpbnQpKHRtcF91YiAmIDB4ZmZmZikgPDwgMTYpIHwgKHRtcF91YiAmIDB4ZmZm
ZikpICsgMHgwMDAxMDAwMTsKKyAgdG1wX3VnID0gKCh1aW50KSh0bXBfdWcgJiAweGZmZmYpIDw8
IDE2KSB8ICh0bXBfdWcgJiAweGZmZmYpOworICB0bXBfdmcgPSAoKHVpbnQpKHRtcF92ZyAmIDB4
ZmZmZikgPDwgMTYpIHwgKHRtcF92ZyAmIDB4ZmZmZik7CisgIHRtcF92ciA9IH4oKCh1aW50KSh0
bXBfdnIgJiAweGZmZmYpIDw8IDE2KSB8ICh0bXBfdnIgJiAweGZmZmYpKSArIDB4MDAwMTAwMDE7
CisgIHlnID0geWcgKiAweDAxMDE7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoIC0gMTsgeCAr
PSAyKSB7CisgICAgdWludDMyIHRtcF90MSwgdG1wX3QyLCB0bXBfdDMsIHRtcF90NCwgdG1wX3Q1
OworICAgIHVpbnQzMiB0bXBfdDYsIHRtcF90NywgdG1wX3Q4LCB0bXBfdDk7CisgICAgX19hc21f
XyBfX3ZvbGF0aWxlX18oCisgICAgICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibGJ1ICAgICAg
ICAgICAgICAlW3RtcF90N10sIDAoJVtzcmNfeV0pICAgICAgICAgICAgICAgXG4iCisgICAgICAg
ICJsYnUgICAgICAgICAgICAgICVbdG1wX3QxXSwgMSglW3NyY195XSkgICAgICAgICAgICAgICBc
biIKKyAgICAgICAgIm11bCAgICAgICAgICAgICAgJVt0bXBfdDddLCAlW3RtcF90N10sICAgICAl
W3lnXSAgICAgIFxuIgorICAgICAgICAibXVsICAgICAgICAgICAgICAlW3RtcF90MV0sICVbdG1w
X3QxXSwgICAgICVbeWddICAgICAgXG4iCisgICAgICAgICJsYnUgICAgICAgICAgICAgICVbdG1w
X3QyXSwgMCglW3NyY191XSkgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgImxidSAgICAgICAg
ICAgICAgJVt0bXBfdDNdLCAwKCVbc3JjX3ZdKSAgICAgICAgICAgICAgIFxuIgorICAgICAgICAi
cmVwbHYucGggICAgICAgICAlW3RtcF90Ml0sICVbdG1wX3QyXSAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAgICJyZXBsdi5waCAgICAgICAgICVbdG1wX3QzXSwgJVt0bXBfdDNdICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICAgIm11bC5waCAgICAgICAgICAgJVt0bXBfdDRdLCAlW3RtcF90
Ml0sICAgICAlW3RtcF91Yl0gIFxuIgorICAgICAgICAibXVsLnBoICAgICAgICAgICAlW3RtcF90
NV0sICVbdG1wX3QyXSwgICAgICVbdG1wX3VnXSAgXG4iCisgICAgICAgICJtdWwucGggICAgICAg
ICAgICVbdG1wX3Q2XSwgJVt0bXBfdDNdLCAgICAgJVt0bXBfdnJdICBcbiIKKyAgICAgICAgIm11
bC5waCAgICAgICAgICAgJVt0bXBfdDNdLCAlW3RtcF90M10sICAgICAlW3RtcF92Z10gIFxuIgor
ICAgICAgICAic3JsICAgICAgICAgICAgICAlW3RtcF90N10sICVbdG1wX3Q3XSwgICAgIDE2ICAg
ICAgICAgXG4iCisgICAgICAgICJpbnMgICAgICAgICAgICAgICVbdG1wX3QxXSwgJVt0bXBfdDdd
LCAgICAgMCwgICAgICAxNiBcbiIKKyAgICAgICAgImFkZHFfcy5waCAgICAgICAgJVt0bXBfdDdd
LCAlW3RtcF90MV0sICAgICAlW3RtcF9iYl0gIFxuIgorICAgICAgICAiYWRkcV9zLnBoICAgICAg
ICAlW3RtcF90OF0sICVbdG1wX3QxXSwgICAgICVbdG1wX2JnXSAgXG4iCisgICAgICAgICJhZGRx
X3MucGggICAgICAgICVbdG1wX3Q5XSwgJVt0bXBfdDFdLCAgICAgJVt0bXBfYnJdICBcbiIKKyAg
ICAgICAgImFkZHFfcy5waCAgICAgICAgJVt0bXBfdDVdLCAlW3RtcF90NV0sICAgICAlW3RtcF90
M10gIFxuIgorICAgICAgICAiYWRkcV9zLnBoICAgICAgICAlW3RtcF90N10sICVbdG1wX3Q3XSwg
ICAgICVbdG1wX3Q0XSAgXG4iCisgICAgICAgICJzdWJxX3MucGggICAgICAgICVbdG1wX3Q4XSwg
JVt0bXBfdDhdLCAgICAgJVt0bXBfdDVdICBcbiIKKyAgICAgICAgImFkZHFfcy5waCAgICAgICAg
JVt0bXBfdDldLCAlW3RtcF90OV0sICAgICAlW3RtcF90Nl0gIFxuIgorICAgICAgICAic2hyYS5w
aCAgICAgICAgICAlW3RtcF90N10sICVbdG1wX3Q3XSwgICAgIDYgICAgICAgICAgXG4iCisgICAg
ICAgICJzaHJhLnBoICAgICAgICAgICVbdG1wX3Q4XSwgJVt0bXBfdDhdLCAgICAgNiAgICAgICAg
ICBcbiIKKyAgICAgICAgInNocmEucGggICAgICAgICAgJVt0bXBfdDldLCAlW3RtcF90OV0sICAg
ICA2ICAgICAgICAgIFxuIgorICAgICAgICAic2hsbF9zLnBoICAgICAgICAlW3RtcF90N10sICVb
dG1wX3Q3XSwgICAgIDcgICAgICAgICAgXG4iCisgICAgICAgICJzaGxsX3MucGggICAgICAgICVb
dG1wX3Q4XSwgJVt0bXBfdDhdLCAgICAgNyAgICAgICAgICBcbiIKKyAgICAgICAgInNobGxfcy5w
aCAgICAgICAgJVt0bXBfdDldLCAlW3RtcF90OV0sICAgICA3ICAgICAgICAgIFxuIgorICAgICAg
ICAicHJlY3JxdV9zLnFiLnBoICAlW3RtcF90OF0sICVbdG1wX21hc2tdLCAgICVbdG1wX3Q4XSAg
XG4iCisgICAgICAgICJwcmVjcnF1X3MucWIucGggICVbdG1wX3Q3XSwgJVt0bXBfdDldLCAgICAg
JVt0bXBfdDddICBcbiIKKyAgICAgICAgInByZWNycS5waC53ICAgICAgJVt0bXBfdDJdLCAlW3Rt
cF90OF0sICAgICAlW3RtcF90N10gIFxuIgorICAgICAgICAiaW5zICAgICAgICAgICAgICAlW3Rt
cF90N10sICVbdG1wX3Q4XSwgICAgIDE2LCAgICAgMTYgXG4iCisgICAgICAgICJwcmVjci5xYi5w
aCAgICAgICVbdG1wX3Q4XSwgJVt0bXBfdDJdLCAgICAgJVt0bXBfdDddICBcbiIKKyAgICAgICAg
InByZWNycS5xYi5waCAgICAgJVt0bXBfdDddLCAlW3RtcF90Ml0sICAgICAlW3RtcF90N10gIFxu
IgorICAgICAgICAiaW5zICAgICAgICAgICAgICAlW3RtcF90M10sICVbdG1wX3Q4XSwgICAgIDcs
ICAgICAgMjQgXG4iCisgICAgICAgICJpbnMgICAgICAgICAgICAgICVbdG1wX3QzXSwgJVt0bXBf
dDhdLCAgICAgMTAsICAgICAxNiBcbiIKKyAgICAgICAgImlucyAgICAgICAgICAgICAgJVt0bXBf
dDNdLCAlW3RtcF90OF0sICAgICAxMywgICAgIDggIFxuIgorICAgICAgICAiaW5zICAgICAgICAg
ICAgICAlW3RtcF90NF0sICVbdG1wX3Q3XSwgICAgIDcsICAgICAgMjQgXG4iCisgICAgICAgICJp
bnMgICAgICAgICAgICAgICVbdG1wX3Q0XSwgJVt0bXBfdDddLCAgICAgMTAsICAgICAxNiBcbiIK
KyAgICAgICAgImlucyAgICAgICAgICAgICAgJVt0bXBfdDRdLCAlW3RtcF90N10sICAgICAxMywg
ICAgIDggIFxuIgorICAgICAgICAicHJlY3JxLnBoLncgICAgICAlW3RtcF90OF0sICVbdG1wX3Q0
XSwgICAgICVbdG1wX3QzXSAgXG4iCisgICAgICAgICJvciAgICAgICAgICAgICAgICVbdG1wX3Q4
XSwgJVt0bXBfdDhdLCAgICAgJVt0bXBfbWFza11cbiIKKyAgICAgICAgInN3ICAgICAgICAgICAg
ICAgJVt0bXBfdDhdLCAwKCVbZHN0X2FyZ2IxNTU1XSkgICAgICAgIFxuIgorICAgICAgICAiLnNl
dCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAgIDogW3RtcF90MV0gIj0mciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1wX3QyKSwK
KyAgICAgICAgICBbdG1wX3QzXSAiPSZyIih0bXBfdDMpLCBbdG1wX3Q0XSAiPSZyIih0bXBfdDQp
LAorICAgICAgICAgIFt0bXBfdDVdICI9JnIiKHRtcF90NSksIFt0bXBfdDZdICI9JnIiKHRtcF90
NiksCisgICAgICAgICAgW3RtcF90N10gIj0mciIodG1wX3Q3KSwgW3RtcF90OF0gIj0mciIodG1w
X3Q4KSwgW3RtcF90OV0gIj0mciIodG1wX3Q5KQorICAgICAgICA6IFtkc3RfYXJnYjE1NTVdICJy
Iihkc3RfYXJnYjE1NTUpLCBbeWddICJyIih5ZyksIFtzcmNfdV0gInIiKHNyY191KSwKKyAgICAg
ICAgICBbc3JjX3ZdICJyIihzcmNfdiksIFtzcmNfeV0gInIiKHNyY195KSwgW3RtcF91Yl0gInIi
KHRtcF91YiksCisgICAgICAgICAgW3RtcF91Z10gInIiKHRtcF91ZyksIFt0bXBfdmddICJyIih0
bXBfdmcpLCBbdG1wX3ZyXSAiciIodG1wX3ZyKSwKKyAgICAgICAgICBbdG1wX2JiXSAiciIodG1w
X2JiKSwgW3RtcF9iZ10gInIiKHRtcF9iZyksIFt0bXBfYnJdICJyIih0bXBfYnIpLAorICAgICAg
ICAgIFt0bXBfeWddICJyIih0bXBfeWcpLCBbdG1wX21hc2tdICJyIih0bXBfbWFzaykpOworICAg
IHNyY195ICs9IDI7CisgICAgc3JjX3UgKz0gMTsKKyAgICBzcmNfdiArPSAxOworICAgIGRzdF9h
cmdiMTU1NSArPSA0OyAgLy8gQWR2YW5jZSAyIHBpeGVscy4KKyAgfQorfQorCit2b2lkIE5WMTJU
b0FSR0JSb3dfRFNQUjIoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfdXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IHJnYl9idWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0
YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkg
eworICBpbnQgeDsKKyAgdWludDMyIHRtcF91YiA9IHl1dmNvbnN0YW50cy0+a1VWVG9CWzBdOwor
ICB1aW50MzIgdG1wX3VnID0geXV2Y29uc3RhbnRzLT5rVVZUb0dbMF07CisgIHVpbnQzMiB0bXBf
dmcgPSB5dXZjb25zdGFudHMtPmtVVlRvR1sxXTsKKyAgdWludDMyIHRtcF92ciA9IHl1dmNvbnN0
YW50cy0+a1VWVG9SWzFdOworICB1aW50MzIgdG1wX2JiID0geXV2Y29uc3RhbnRzLT5rVVZCaWFz
QlswXTsKKyAgdWludDMyIHRtcF9iZyA9IHl1dmNvbnN0YW50cy0+a1VWQmlhc0dbMF07CisgIHVp
bnQzMiB0bXBfYnIgPSB5dXZjb25zdGFudHMtPmtVVkJpYXNSWzBdOworICB1aW50MzIgeWcgPSB5
dXZjb25zdGFudHMtPmtZVG9SZ2JbMF07CisgIHVpbnQzMiB0bXBfbWFzayA9IDB4N2ZmZjdmZmY7
CisgIHVpbnQzMiB0bXBfeWc7CisgIHRtcF9iYiA9ICgodWludCkodG1wX2JiICYgMHhmZmZmKSA8
PCAxNikgfCAodG1wX2JiICYgMHhmZmZmKTsKKyAgdG1wX2JnID0gKCh1aW50KSh0bXBfYmcgJiAw
eGZmZmYpIDw8IDE2KSB8ICh0bXBfYmcgJiAweGZmZmYpOworICB0bXBfYnIgPSAoKHVpbnQpKHRt
cF9iciAmIDB4ZmZmZikgPDwgMTYpIHwgKHRtcF9iciAmIDB4ZmZmZik7CisgIHRtcF95ZyA9ICgo
dWludCkoeWcgJiAweGZmZmYpIDw8IDE2KSB8ICh5ZyAmIDB4ZmZmZik7CisgIHRtcF91YiA9IH4o
KCh1aW50KSh0bXBfdWIgJiAweGZmZmYpIDw8IDE2KSB8ICh0bXBfdWIgJiAweGZmZmYpKSArIDB4
MDAwMTAwMDE7CisgIHRtcF91ZyA9ICgodWludCkodG1wX3VnICYgMHhmZmZmKSA8PCAxNikgfCAo
dG1wX3VnICYgMHhmZmZmKTsKKyAgdG1wX3ZnID0gKCh1aW50KSh0bXBfdmcgJiAweGZmZmYpIDw8
IDE2KSB8ICh0bXBfdmcgJiAweGZmZmYpOworICB0bXBfdnIgPSB+KCgodWludCkodG1wX3ZyICYg
MHhmZmZmKSA8PCAxNikgfCAodG1wX3ZyICYgMHhmZmZmKSkgKyAweDAwMDEwMDAxOworICB5ZyA9
IHlnICogMHgwMTAxOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aCAtIDE7IHggKz0gMikgewor
ICAgIHVpbnQzMiB0bXBfdDEsIHRtcF90MiwgdG1wX3QzLCB0bXBfdDQsIHRtcF90NTsKKyAgICB1
aW50MzIgdG1wX3Q2LCB0bXBfdDcsIHRtcF90OCwgdG1wX3Q5OworICAgIF9fYXNtX18gX192b2xh
dGlsZV9fKAorICAgICAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgImxidSAgICAgICAgICAgICAg
JVt0bXBfdDddLCAwKCVbc3JjX3ldKSAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibGJ1ICAg
ICAgICAgICAgICAlW3RtcF90MV0sIDEoJVtzcmNfeV0pICAgICAgICAgICAgICAgXG4iCisgICAg
ICAgICJtdWwgICAgICAgICAgICAgICVbdG1wX3Q3XSwgJVt0bXBfdDddLCAgICAgJVt5Z10gICAg
ICBcbiIKKyAgICAgICAgIm11bCAgICAgICAgICAgICAgJVt0bXBfdDFdLCAlW3RtcF90MV0sICAg
ICAlW3lnXSAgICAgIFxuIgorICAgICAgICAibGJ1ICAgICAgICAgICAgICAlW3RtcF90Ml0sIDAo
JVtzcmNfdXZdKSAgICAgICAgICAgICAgXG4iCisgICAgICAgICJsYnUgICAgICAgICAgICAgICVb
dG1wX3QzXSwgMSglW3NyY191dl0pICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInJlcGx2LnBo
ICAgICAgICAgJVt0bXBfdDJdLCAlW3RtcF90Ml0gICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ICAicmVwbHYucGggICAgICAgICAlW3RtcF90M10sICVbdG1wX3QzXSAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAgICJtdWwucGggICAgICAgICAgICVbdG1wX3Q0XSwgJVt0bXBfdDJdLCAgICAg
JVt0bXBfdWJdICBcbiIKKyAgICAgICAgIm11bC5waCAgICAgICAgICAgJVt0bXBfdDVdLCAlW3Rt
cF90Ml0sICAgICAlW3RtcF91Z10gIFxuIgorICAgICAgICAibXVsLnBoICAgICAgICAgICAlW3Rt
cF90Nl0sICVbdG1wX3QzXSwgICAgICVbdG1wX3ZyXSAgXG4iCisgICAgICAgICJtdWwucGggICAg
ICAgICAgICVbdG1wX3QzXSwgJVt0bXBfdDNdLCAgICAgJVt0bXBfdmddICBcbiIKKyAgICAgICAg
InNybCAgICAgICAgICAgICAgJVt0bXBfdDddLCAlW3RtcF90N10sICAgICAxNiAgICAgICAgIFxu
IgorICAgICAgICAiaW5zICAgICAgICAgICAgICAlW3RtcF90MV0sICVbdG1wX3Q3XSwgICAgIDAs
ICAgICAgMTYgXG4iCisgICAgICAgICJhZGRxX3MucGggICAgICAgICVbdG1wX3Q3XSwgJVt0bXBf
dDFdLCAgICAgJVt0bXBfYmJdICBcbiIKKyAgICAgICAgImFkZHFfcy5waCAgICAgICAgJVt0bXBf
dDhdLCAlW3RtcF90MV0sICAgICAlW3RtcF9iZ10gIFxuIgorICAgICAgICAiYWRkcV9zLnBoICAg
ICAgICAlW3RtcF90OV0sICVbdG1wX3QxXSwgICAgICVbdG1wX2JyXSAgXG4iCisgICAgICAgICJh
ZGRxX3MucGggICAgICAgICVbdG1wX3Q1XSwgJVt0bXBfdDVdLCAgICAgJVt0bXBfdDNdICBcbiIK
KyAgICAgICAgImFkZHFfcy5waCAgICAgICAgJVt0bXBfdDddLCAlW3RtcF90N10sICAgICAlW3Rt
cF90NF0gIFxuIgorICAgICAgICAic3VicV9zLnBoICAgICAgICAlW3RtcF90OF0sICVbdG1wX3Q4
XSwgICAgICVbdG1wX3Q1XSAgXG4iCisgICAgICAgICJhZGRxX3MucGggICAgICAgICVbdG1wX3Q5
XSwgJVt0bXBfdDldLCAgICAgJVt0bXBfdDZdICBcbiIKKyAgICAgICAgInNocmEucGggICAgICAg
ICAgJVt0bXBfdDddLCAlW3RtcF90N10sICAgICA2ICAgICAgICAgIFxuIgorICAgICAgICAic2hy
YS5waCAgICAgICAgICAlW3RtcF90OF0sICVbdG1wX3Q4XSwgICAgIDYgICAgICAgICAgXG4iCisg
ICAgICAgICJzaHJhLnBoICAgICAgICAgICVbdG1wX3Q5XSwgJVt0bXBfdDldLCAgICAgNiAgICAg
ICAgICBcbiIKKyAgICAgICAgInNobGxfcy5waCAgICAgICAgJVt0bXBfdDddLCAlW3RtcF90N10s
ICAgICA3ICAgICAgICAgIFxuIgorICAgICAgICAic2hsbF9zLnBoICAgICAgICAlW3RtcF90OF0s
ICVbdG1wX3Q4XSwgICAgIDcgICAgICAgICAgXG4iCisgICAgICAgICJzaGxsX3MucGggICAgICAg
ICVbdG1wX3Q5XSwgJVt0bXBfdDldLCAgICAgNyAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNy
cXVfcy5xYi5waCAgJVt0bXBfdDhdLCAlW3RtcF9tYXNrXSwgICAlW3RtcF90OF0gIFxuIgorICAg
ICAgICAicHJlY3JxdV9zLnFiLnBoICAlW3RtcF90N10sICVbdG1wX3Q5XSwgICAgICVbdG1wX3Q3
XSAgXG4iCisgICAgICAgICJwcmVjcnEucGgudyAgICAgICVbdG1wX3QyXSwgJVt0bXBfdDhdLCAg
ICAgJVt0bXBfdDddICBcbiIKKyAgICAgICAgImlucyAgICAgICAgICAgICAgJVt0bXBfdDddLCAl
W3RtcF90OF0sICAgICAxNiwgICAgIDE2IFxuIgorICAgICAgICAicHJlY3IucWIucGggICAgICAl
W3RtcF90OF0sICVbdG1wX3QyXSwgICAgICVbdG1wX3Q3XSAgXG4iCisgICAgICAgICJwcmVjcnEu
cWIucGggICAgICVbdG1wX3Q3XSwgJVt0bXBfdDJdLCAgICAgJVt0bXBfdDddICBcbiIKKyAgICAg
ICAgInN3ICAgICAgICAgICAgICAgJVt0bXBfdDhdLCAwKCVbcmdiX2J1Zl0pICAgICAgICAgICAg
IFxuIgorICAgICAgICAic3cgICAgICAgICAgICAgICAlW3RtcF90N10sIDQoJVtyZ2JfYnVmXSkg
ICAgICAgICAgICAgXG4iCisgICAgICAgICIuc2V0IHBvcCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgOiBbdG1wX3QxXSAiPSZyIih0bXBf
dDEpLCBbdG1wX3QyXSAiPSZyIih0bXBfdDIpLAorICAgICAgICAgIFt0bXBfdDNdICI9JnIiKHRt
cF90MyksIFt0bXBfdDRdICI9JnIiKHRtcF90NCksCisgICAgICAgICAgW3RtcF90NV0gIj0mciIo
dG1wX3Q1KSwgW3RtcF90Nl0gIj0mciIodG1wX3Q2KSwKKyAgICAgICAgICBbdG1wX3Q3XSAiPSZy
Iih0bXBfdDcpLCBbdG1wX3Q4XSAiPSZyIih0bXBfdDgpLCBbdG1wX3Q5XSAiPSZyIih0bXBfdDkp
CisgICAgICAgIDogW3NyY195XSAiciIoc3JjX3kpLCBbc3JjX3V2XSAiciIoc3JjX3V2KSwgW3ln
XSAiciIoeWcpLAorICAgICAgICAgIFt0bXBfdWJdICJyIih0bXBfdWIpLCBbdG1wX3VnXSAiciIo
dG1wX3VnKSwgW3RtcF92Z10gInIiKHRtcF92ZyksCisgICAgICAgICAgW3RtcF92cl0gInIiKHRt
cF92ciksIFt0bXBfYmJdICJyIih0bXBfYmIpLCBbdG1wX2JnXSAiciIodG1wX2JnKSwKKyAgICAg
ICAgICBbdG1wX2JyXSAiciIodG1wX2JyKSwgW3RtcF95Z10gInIiKHRtcF95ZyksIFtyZ2JfYnVm
XSAiciIocmdiX2J1ZiksCisgICAgICAgICAgW3RtcF9tYXNrXSAiciIodG1wX21hc2spKTsKKwor
ICAgIHNyY195ICs9IDI7CisgICAgc3JjX3V2ICs9IDI7CisgICAgcmdiX2J1ZiArPSA4OyAgLy8g
QWR2YW5jZSAyIHBpeGVscy4KKyAgfQorfQorCit2b2lkIEJHUkFUb1VWUm93X0RTUFIyKGNvbnN0
IHVpbnQ4KiBzcmNfcmdiMCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVf
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
KSB7CisgIGNvbnN0IHVpbnQ4KiBzcmNfcmdiMSA9IHNyY19yZ2IwICsgc3JjX3N0cmlkZV9yZ2I7
CisgIGludCB4OworICBpbnQgY29uc3QxID0gMHhmZmRhMDAwMDsKKyAgaW50IGNvbnN0MiA9IDB4
MDA3MGZmYjY7CisgIGludCBjb25zdDMgPSAweDAwNzAwMDAwOworICBpbnQgY29uc3Q0ID0gMHhm
ZmVlZmZhMjsKKyAgaW50IGNvbnN0NSA9IDB4MTAwOworICBmb3IgKHggPSAwOyB4IDwgd2lkdGgg
LSAxOyB4ICs9IDIpIHsKKyAgICBpbnQgdG1wX3QxLCB0bXBfdDIsIHRtcF90MywgdG1wX3Q0LCB0
bXBfdDU7CisgICAgaW50IHRtcF90NiwgdG1wX3Q3LCB0bXBfdDg7CisgICAgX19hc21fXyBfX3Zv
bGF0aWxlX18oCisgICAgICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJsdyAgICAg
ICAgICAgICAgICAlW3RtcF90MV0sICAgMCglW3NyY19yZ2IwXSkgICAgICAgICAgICAgXG4iCisg
ICAgICAgICJsdyAgICAgICAgICAgICAgICAlW3RtcF90Ml0sICAgNCglW3NyY19yZ2IwXSkgICAg
ICAgICAgICAgXG4iCisgICAgICAgICJsdyAgICAgICAgICAgICAgICAlW3RtcF90M10sICAgMCgl
W3NyY19yZ2IxXSkgICAgICAgICAgICAgXG4iCisgICAgICAgICJsdyAgICAgICAgICAgICAgICAl
W3RtcF90NF0sICAgNCglW3NyY19yZ2IxXSkgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVj
ZXUucGgucWJyICAgICAlW3RtcF90NV0sICAgJVt0bXBfdDFdICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAgICJwcmVjZXUucGgucWJsICAgICAlW3RtcF90MV0sICAgJVt0bXBfdDFdICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJyICAgICAlW3RtcF90Nl0sICAg
JVt0bXBfdDJdICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJsICAg
ICAlW3RtcF90Ml0sICAgJVt0bXBfdDJdICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJw
cmVjZXUucGgucWJyICAgICAlW3RtcF90N10sICAgJVt0bXBfdDNdICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAgICJwcmVjZXUucGgucWJsICAgICAlW3RtcF90M10sICAgJVt0bXBfdDNdICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJyICAgICAlW3RtcF90OF0s
ICAgJVt0bXBfdDRdICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJs
ICAgICAlW3RtcF90NF0sICAgJVt0bXBfdDRdICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAg
ICJhZGR1LnBoICAgICAgICAgICAlW3RtcF90NV0sICAgJVt0bXBfdDVdLCAgICAgJVt0bXBfdDZd
ICAgXG4iCisgICAgICAgICJhZGR1LnBoICAgICAgICAgICAlW3RtcF90N10sICAgJVt0bXBfdDdd
LCAgICAgJVt0bXBfdDhdICAgXG4iCisgICAgICAgICJhZGR1LnBoICAgICAgICAgICAlW3RtcF90
MV0sICAgJVt0bXBfdDFdLCAgICAgJVt0bXBfdDJdICAgXG4iCisgICAgICAgICJhZGR1LnBoICAg
ICAgICAgICAlW3RtcF90M10sICAgJVt0bXBfdDNdLCAgICAgJVt0bXBfdDRdICAgXG4iCisgICAg
ICAgICJhZGR1LnBoICAgICAgICAgICAlW3RtcF90NV0sICAgJVt0bXBfdDVdLCAgICAgJVt0bXBf
dDddICAgXG4iCisgICAgICAgICJhZGR1LnBoICAgICAgICAgICAlW3RtcF90MV0sICAgJVt0bXBf
dDFdLCAgICAgJVt0bXBfdDNdICAgXG4iCisgICAgICAgICJzaHJsLnBoICAgICAgICAgICAlW3Rt
cF90NV0sICAgJVt0bXBfdDVdLCAgICAgMiAgICAgICAgICAgXG4iCisgICAgICAgICJzaHJsLnBo
ICAgICAgICAgICAlW3RtcF90MV0sICAgJVt0bXBfdDFdLCAgICAgMiAgICAgICAgICAgXG4iCisg
ICAgICAgICJtdWx0ICAgICAgICAgICAgICAkYWMwLCAgICAgICAgJVtjb25zdDVdLCAgICAgJVtj
b25zdDVdICAgXG4iCisgICAgICAgICJtdWx0ICAgICAgICAgICAgICAkYWMxLCAgICAgICAgJVtj
b25zdDVdLCAgICAgJVtjb25zdDVdICAgXG4iCisgICAgICAgICJkcGFxX3Mudy5waCAgICAgICAk
YWMwLCAgICAgICAgJVt0bXBfdDVdLCAgICAgJVtjb25zdDFdICAgXG4iCisgICAgICAgICJkcGFx
X3Mudy5waCAgICAgICAkYWMxLCAgICAgICAgJVt0bXBfdDVdLCAgICAgJVtjb25zdDNdICAgXG4i
CisgICAgICAgICJkcGFxX3Mudy5waCAgICAgICAkYWMwLCAgICAgICAgJVt0bXBfdDFdLCAgICAg
JVtjb25zdDJdICAgXG4iCisgICAgICAgICJkcGFxX3Mudy5waCAgICAgICAkYWMxLCAgICAgICAg
JVt0bXBfdDFdLCAgICAgJVtjb25zdDRdICAgXG4iCisgICAgICAgICJleHRyX3IudyAgICAgICAg
ICAlW3RtcF90N10sICAgJGFjMCwgICAgICAgICAgOSAgICAgICAgICAgXG4iCisgICAgICAgICJl
eHRyX3IudyAgICAgICAgICAlW3RtcF90OF0sICAgJGFjMSwgICAgICAgICAgOSAgICAgICAgICAg
XG4iCisgICAgICAgICJhZGRpdSAgICAgICAgICAgICAlW2RzdF91XSwgICAgJVtkc3RfdV0sICAg
IDEgICAgICAgICAgICAgXG4iCisgICAgICAgICJhZGRpdSAgICAgICAgICAgICAlW2RzdF92XSwg
ICAgJVtkc3Rfdl0sICAgIDEgICAgICAgICAgICAgXG4iCisgICAgICAgICJhZGRpdSAgICAgICAg
ICAgICAlW3NyY19yZ2IwXSwgJVtzcmNfcmdiMF0sIDggICAgICAgICAgICAgXG4iCisgICAgICAg
ICJhZGRpdSAgICAgICAgICAgICAlW3NyY19yZ2IxXSwgJVtzcmNfcmdiMV0sIDggICAgICAgICAg
ICAgXG4iCisgICAgICAgICJzYiAgICAgICAgICAgICAgICAlW3RtcF90N10sICAgLTEoJVtkc3Rf
dV0pICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJzYiAgICAgICAgICAgICAgICAlW3RtcF90
OF0sICAgLTEoJVtkc3Rfdl0pICAgICAgICAgICAgICAgXG4iCisgICAgICAgICIuc2V0IHBvcCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAgIDogW3RtcF90MV0gIj0mciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1wX3QyKSwKKyAg
ICAgICAgICBbdG1wX3QzXSAiPSZyIih0bXBfdDMpLCBbdG1wX3Q0XSAiPSZyIih0bXBfdDQpLAor
ICAgICAgICAgIFt0bXBfdDVdICI9JnIiKHRtcF90NSksIFt0bXBfdDZdICI9JnIiKHRtcF90Niks
CisgICAgICAgICAgW3RtcF90N10gIj0mciIodG1wX3Q3KSwgW3RtcF90OF0gIj0mciIodG1wX3Q4
KSwKKyAgICAgICAgICBbc3JjX3JnYjBdICIrciIoc3JjX3JnYjApLCBbc3JjX3JnYjFdICIrciIo
c3JjX3JnYjEpLAorICAgICAgICAgIFtkc3RfdV0gIityIihkc3RfdSksIFtkc3Rfdl0gIityIihk
c3RfdikKKyAgICAgICAgOiBbY29uc3QxXSAiciIoY29uc3QxKSwgW2NvbnN0Ml0gInIiKGNvbnN0
MiksIFtjb25zdDNdICJyIihjb25zdDMpLAorICAgICAgICAgIFtjb25zdDRdICJyIihjb25zdDQp
LCBbY29uc3Q1XSAiciIoY29uc3Q1KQorICAgICAgICA6ICJoaSIsICJsbyIsICIkYWMxbG8iLCAi
JGFjMWhpIik7CisgIH0KK30KKwordm9pZCBCR1JBVG9ZUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYjAsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CisgIGludCB4OworICBpbnQgY29u
c3QxID0gMHgwMDQyMDAwMDsKKyAgaW50IGNvbnN0MiA9IDB4MDAxOTAwODE7CisgIGludCBjb25z
dDUgPSAweDQwOworICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gNCkgeworICAgIGludCB0
bXBfdDEsIHRtcF90MiwgdG1wX3QzLCB0bXBfdDQsIHRtcF90NTsKKyAgICBpbnQgdG1wX3Q2LCB0
bXBfdDcsIHRtcF90ODsKKyAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygKKyAgICAgICAgIi5zZXQg
cHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgICAiLnNldCBub3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAgICJsdyAgICAgICAgICAgICAgICAlW3RtcF90MV0sICAgMCgl
W3NyY19hcmdiMF0pICAgICAgICAgICBcbiIKKyAgICAgICAgImx3ICAgICAgICAgICAgICAgICVb
dG1wX3QyXSwgICA0KCVbc3JjX2FyZ2IwXSkgICAgICAgICAgIFxuIgorICAgICAgICAibHcgICAg
ICAgICAgICAgICAgJVt0bXBfdDNdLCAgIDgoJVtzcmNfYXJnYjBdKSAgICAgICAgICAgXG4iCisg
ICAgICAgICJsdyAgICAgICAgICAgICAgICAlW3RtcF90NF0sICAgMTIoJVtzcmNfYXJnYjBdKSAg
ICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5xYnIgICAgICVbdG1wX3Q1XSwgICAlW3Rt
cF90MV0gICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFibCAgICAgJVt0
bXBfdDFdLCAgICVbdG1wX3QxXSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUu
cGgucWJyICAgICAlW3RtcF90Nl0sICAgJVt0bXBfdDJdICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICAgInByZWNldS5waC5xYmwgICAgICVbdG1wX3QyXSwgICAlW3RtcF90Ml0gICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFiciAgICAgJVt0bXBfdDddLCAgICVbdG1w
X3QzXSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJsICAgICAlW3Rt
cF90M10sICAgJVt0bXBfdDNdICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5w
aC5xYnIgICAgICVbdG1wX3Q4XSwgICAlW3RtcF90NF0gICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgICAicHJlY2V1LnBoLnFibCAgICAgJVt0bXBfdDRdLCAgICVbdG1wX3Q0XSAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAgICJtdWx0ICAgICAgICAgICAgICAkYWMwLCAgICAgICAgJVtjb25z
dDVdLCAgICAgJVtjb25zdDVdICBcbiIKKyAgICAgICAgIm11bHQgICAgICAgICAgICAgICRhYzEs
ICAgICAgICAlW2NvbnN0NV0sICAgICAlW2NvbnN0NV0gIFxuIgorICAgICAgICAibXVsdCAgICAg
ICAgICAgICAgJGFjMiwgICAgICAgICVbY29uc3Q1XSwgICAgICVbY29uc3Q1XSAgXG4iCisgICAg
ICAgICJtdWx0ICAgICAgICAgICAgICAkYWMzLCAgICAgICAgJVtjb25zdDVdLCAgICAgJVtjb25z
dDVdICBcbiIKKyAgICAgICAgImRwYS53LnBoICAgICAgICAgICRhYzAsICAgICAgICAlW3RtcF90
NV0sICAgICAlW2NvbnN0MV0gIFxuIgorICAgICAgICAiZHBhLncucGggICAgICAgICAgJGFjMSwg
ICAgICAgICVbdG1wX3Q2XSwgICAgICVbY29uc3QxXSAgXG4iCisgICAgICAgICJkcGEudy5waCAg
ICAgICAgICAkYWMyLCAgICAgICAgJVt0bXBfdDddLCAgICAgJVtjb25zdDFdICBcbiIKKyAgICAg
ICAgImRwYS53LnBoICAgICAgICAgICRhYzMsICAgICAgICAlW3RtcF90OF0sICAgICAlW2NvbnN0
MV0gIFxuIgorICAgICAgICAiZHBhLncucGggICAgICAgICAgJGFjMCwgICAgICAgICVbdG1wX3Qx
XSwgICAgICVbY29uc3QyXSAgXG4iCisgICAgICAgICJkcGEudy5waCAgICAgICAgICAkYWMxLCAg
ICAgICAgJVt0bXBfdDJdLCAgICAgJVtjb25zdDJdICBcbiIKKyAgICAgICAgImRwYS53LnBoICAg
ICAgICAgICRhYzIsICAgICAgICAlW3RtcF90M10sICAgICAlW2NvbnN0Ml0gIFxuIgorICAgICAg
ICAiZHBhLncucGggICAgICAgICAgJGFjMywgICAgICAgICVbdG1wX3Q0XSwgICAgICVbY29uc3Qy
XSAgXG4iCisgICAgICAgICJleHRyX3IudyAgICAgICAgICAlW3RtcF90MV0sICAgJGFjMCwgICAg
ICAgICAgOCAgICAgICAgICBcbiIKKyAgICAgICAgImV4dHJfci53ICAgICAgICAgICVbdG1wX3Qy
XSwgICAkYWMxLCAgICAgICAgICA4ICAgICAgICAgIFxuIgorICAgICAgICAiZXh0cl9yLncgICAg
ICAgICAgJVt0bXBfdDNdLCAgICRhYzIsICAgICAgICAgIDggICAgICAgICAgXG4iCisgICAgICAg
ICJleHRyX3IudyAgICAgICAgICAlW3RtcF90NF0sICAgJGFjMywgICAgICAgICAgOCAgICAgICAg
ICBcbiIKKyAgICAgICAgImFkZGl1ICAgICAgICAgICAgICVbc3JjX2FyZ2IwXSwlW3NyY19hcmdi
MF0sICAxNiAgICAgICAgIFxuIgorICAgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtkc3RfeV0s
ICAgICVbZHN0X3ldLCAgICAgIDQgICAgICAgICAgXG4iCisgICAgICAgICJzYiAgICAgICAgICAg
ICAgICAlW3RtcF90MV0sICAgLTQoJVtkc3RfeV0pICAgICAgICAgICAgICBcbiIKKyAgICAgICAg
InNiICAgICAgICAgICAgICAgICVbdG1wX3QyXSwgICAtMyglW2RzdF95XSkgICAgICAgICAgICAg
IFxuIgorICAgICAgICAic2IgICAgICAgICAgICAgICAgJVt0bXBfdDNdLCAgIC0yKCVbZHN0X3ld
KSAgICAgICAgICAgICAgXG4iCisgICAgICAgICJzYiAgICAgICAgICAgICAgICAlW3RtcF90NF0s
ICAgLTEoJVtkc3RfeV0pICAgICAgICAgICAgICBcbiIKKyAgICAgICAgIi5zZXQgcG9wICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICA6
IFt0bXBfdDFdICI9JnIiKHRtcF90MSksIFt0bXBfdDJdICI9JnIiKHRtcF90MiksCisgICAgICAg
ICAgW3RtcF90M10gIj0mciIodG1wX3QzKSwgW3RtcF90NF0gIj0mciIodG1wX3Q0KSwKKyAgICAg
ICAgICBbdG1wX3Q1XSAiPSZyIih0bXBfdDUpLCBbdG1wX3Q2XSAiPSZyIih0bXBfdDYpLAorICAg
ICAgICAgIFt0bXBfdDddICI9JnIiKHRtcF90NyksIFt0bXBfdDhdICI9JnIiKHRtcF90OCksCisg
ICAgICAgICAgW3NyY19hcmdiMF0gIityIihzcmNfYXJnYjApLCBbZHN0X3ldICIrciIoZHN0X3kp
CisgICAgICAgIDogW2NvbnN0MV0gInIiKGNvbnN0MSksIFtjb25zdDJdICJyIihjb25zdDIpLCBb
Y29uc3Q1XSAiciIoY29uc3Q1KQorICAgICAgICA6ICJoaSIsICJsbyIsICIkYWMxbG8iLCAiJGFj
MWhpIiwgIiRhYzJsbyIsICIkYWMyaGkiLCAiJGFjM2xvIiwKKyAgICAgICAgICAiJGFjM2hpIik7
CisgIH0KK30KKwordm9pZCBBQkdSVG9VVlJvd19EU1BSMihjb25zdCB1aW50OCogc3JjX3JnYjAs
CisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBjb25zdCB1aW50
OCogc3JjX3JnYjEgPSBzcmNfcmdiMCArIHNyY19zdHJpZGVfcmdiOworICBpbnQgeDsKKyAgaW50
IGNvbnN0MSA9IDB4ZmZiNmZmZGE7CisgIGludCBjb25zdDIgPSAweDAwMDAwMDcwOworICBpbnQg
Y29uc3QzID0gMHhmZmEyMDA3MDsKKyAgaW50IGNvbnN0NCA9IDB4MDAwMGZmZWU7CisgIGludCBj
b25zdDUgPSAweDEwMDsKKworICBmb3IgKHggPSAwOyB4IDwgd2lkdGggLSAxOyB4ICs9IDIpIHsK
KyAgICBpbnQgdG1wX3QxLCB0bXBfdDIsIHRtcF90MywgdG1wX3Q0LCB0bXBfdDU7CisgICAgaW50
IHRtcF90NiwgdG1wX3Q3LCB0bXBfdDg7CisgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAg
ICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAibHcgICAgICAgICAgICAgICAgJVt0bXBf
dDFdLCAgIDAoJVtzcmNfcmdiMF0pICAgICAgICAgICAgXG4iCisgICAgICAgICJsdyAgICAgICAg
ICAgICAgICAlW3RtcF90Ml0sICAgNCglW3NyY19yZ2IwXSkgICAgICAgICAgICBcbiIKKyAgICAg
ICAgImx3ICAgICAgICAgICAgICAgICVbdG1wX3QzXSwgICAwKCVbc3JjX3JnYjFdKSAgICAgICAg
ICAgIFxuIgorICAgICAgICAibHcgICAgICAgICAgICAgICAgJVt0bXBfdDRdLCAgIDQoJVtzcmNf
cmdiMV0pICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJyICAgICAlW3RtcF90
NV0sICAgJVt0bXBfdDFdICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5x
YmwgICAgICVbdG1wX3QxXSwgICAlW3RtcF90MV0gICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ICAicHJlY2V1LnBoLnFiciAgICAgJVt0bXBfdDZdLCAgICVbdG1wX3QyXSAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJsICAgICAlW3RtcF90Ml0sICAgJVt0bXBfdDJd
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5xYnIgICAgICVbdG1wX3Q3
XSwgICAlW3RtcF90M10gICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFi
bCAgICAgJVt0bXBfdDNdLCAgICVbdG1wX3QzXSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAg
ICJwcmVjZXUucGgucWJyICAgICAlW3RtcF90OF0sICAgJVt0bXBfdDRdICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICAgInByZWNldS5waC5xYmwgICAgICVbdG1wX3Q0XSwgICAlW3RtcF90NF0g
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAiYWRkdS5waCAgICAgICAgICAgJVt0bXBfdDVd
LCAgICVbdG1wX3Q1XSwgICAgICVbdG1wX3Q2XSAgXG4iCisgICAgICAgICJhZGR1LnBoICAgICAg
ICAgICAlW3RtcF90N10sICAgJVt0bXBfdDddLCAgICAgJVt0bXBfdDhdICBcbiIKKyAgICAgICAg
ImFkZHUucGggICAgICAgICAgICVbdG1wX3QxXSwgICAlW3RtcF90MV0sICAgICAlW3RtcF90Ml0g
IFxuIgorICAgICAgICAiYWRkdS5waCAgICAgICAgICAgJVt0bXBfdDNdLCAgICVbdG1wX3QzXSwg
ICAgICVbdG1wX3Q0XSAgXG4iCisgICAgICAgICJhZGR1LnBoICAgICAgICAgICAlW3RtcF90NV0s
ICAgJVt0bXBfdDVdLCAgICAgJVt0bXBfdDddICBcbiIKKyAgICAgICAgImFkZHUucGggICAgICAg
ICAgICVbdG1wX3QxXSwgICAlW3RtcF90MV0sICAgICAlW3RtcF90M10gIFxuIgorICAgICAgICAi
c2hybC5waCAgICAgICAgICAgJVt0bXBfdDVdLCAgICVbdG1wX3Q1XSwgICAgIDIgICAgICAgICAg
XG4iCisgICAgICAgICJzaHJsLnBoICAgICAgICAgICAlW3RtcF90MV0sICAgJVt0bXBfdDFdLCAg
ICAgMiAgICAgICAgICBcbiIKKyAgICAgICAgIm11bHQgICAgICAgICAgICAgICRhYzAsICAgICAg
ICAlW2NvbnN0NV0sICAgICAlW2NvbnN0NV0gIFxuIgorICAgICAgICAibXVsdCAgICAgICAgICAg
ICAgJGFjMSwgICAgICAgICVbY29uc3Q1XSwgICAgICVbY29uc3Q1XSAgXG4iCisgICAgICAgICJk
cGFxX3Mudy5waCAgICAgICAkYWMwLCAgICAgICAgJVt0bXBfdDVdLCAgICAgJVtjb25zdDFdICBc
biIKKyAgICAgICAgImRwYXFfcy53LnBoICAgICAgICRhYzEsICAgICAgICAlW3RtcF90NV0sICAg
ICAlW2NvbnN0M10gIFxuIgorICAgICAgICAiZHBhcV9zLncucGggICAgICAgJGFjMCwgICAgICAg
ICVbdG1wX3QxXSwgICAgICVbY29uc3QyXSAgXG4iCisgICAgICAgICJkcGFxX3Mudy5waCAgICAg
ICAkYWMxLCAgICAgICAgJVt0bXBfdDFdLCAgICAgJVtjb25zdDRdICBcbiIKKyAgICAgICAgImV4
dHJfci53ICAgICAgICAgICVbdG1wX3Q3XSwgICAkYWMwLCAgICAgICAgICA5ICAgICAgICAgIFxu
IgorICAgICAgICAiZXh0cl9yLncgICAgICAgICAgJVt0bXBfdDhdLCAgICRhYzEsICAgICAgICAg
IDkgICAgICAgICAgXG4iCisgICAgICAgICJhZGRpdSAgICAgICAgICAgICAlW2RzdF91XSwgICAg
JVtkc3RfdV0sICAgIDEgICAgICAgICAgICBcbiIKKyAgICAgICAgImFkZGl1ICAgICAgICAgICAg
ICVbZHN0X3ZdLCAgICAlW2RzdF92XSwgICAgMSAgICAgICAgICAgIFxuIgorICAgICAgICAiYWRk
aXUgICAgICAgICAgICAgJVtzcmNfcmdiMF0sICVbc3JjX3JnYjBdLCA4ICAgICAgICAgICAgXG4i
CisgICAgICAgICJhZGRpdSAgICAgICAgICAgICAlW3NyY19yZ2IxXSwgJVtzcmNfcmdiMV0sIDgg
ICAgICAgICAgICBcbiIKKyAgICAgICAgInNiICAgICAgICAgICAgICAgICVbdG1wX3Q3XSwgICAt
MSglW2RzdF91XSkgICAgICAgICAgICAgIFxuIgorICAgICAgICAic2IgICAgICAgICAgICAgICAg
JVt0bXBfdDhdLCAgIC0xKCVbZHN0X3ZdKSAgICAgICAgICAgICAgXG4iCisgICAgICAgICIuc2V0
IHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICAgOiBbdG1wX3QxXSAiPSZyIih0bXBfdDEpLCBbdG1wX3QyXSAiPSZyIih0bXBfdDIp
LAorICAgICAgICAgIFt0bXBfdDNdICI9JnIiKHRtcF90MyksIFt0bXBfdDRdICI9JnIiKHRtcF90
NCksCisgICAgICAgICAgW3RtcF90NV0gIj0mciIodG1wX3Q1KSwgW3RtcF90Nl0gIj0mciIodG1w
X3Q2KSwKKyAgICAgICAgICBbdG1wX3Q3XSAiPSZyIih0bXBfdDcpLCBbdG1wX3Q4XSAiPSZyIih0
bXBfdDgpLAorICAgICAgICAgIFtzcmNfcmdiMF0gIityIihzcmNfcmdiMCksIFtzcmNfcmdiMV0g
IityIihzcmNfcmdiMSksCisgICAgICAgICAgW2RzdF91XSAiK3IiKGRzdF91KSwgW2RzdF92XSAi
K3IiKGRzdF92KQorICAgICAgICA6IFtjb25zdDFdICJyIihjb25zdDEpLCBbY29uc3QyXSAiciIo
Y29uc3QyKSwgW2NvbnN0M10gInIiKGNvbnN0MyksCisgICAgICAgICAgW2NvbnN0NF0gInIiKGNv
bnN0NCksIFtjb25zdDVdICJyIihjb25zdDUpCisgICAgICAgIDogImhpIiwgImxvIiwgIiRhYzFs
byIsICIkYWMxaGkiKTsKKyAgfQorfQorCit2b2lkIEFSR0JUb1lSb3dfRFNQUjIoY29uc3QgdWlu
dDgqIHNyY19hcmdiMCwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIGlu
dCBjb25zdDEgPSAweDAwODEwMDE5OworICBpbnQgY29uc3QyID0gMHgwMDAwMDA0MjsKKyAgaW50
IGNvbnN0NSA9IDB4NDA7CisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSA0KSB7CisgICAg
aW50IHRtcF90MSwgdG1wX3QyLCB0bXBfdDMsIHRtcF90NCwgdG1wX3Q1OworICAgIGludCB0bXBf
dDYsIHRtcF90NywgdG1wX3Q4OworICAgIF9fYXNtX18gX192b2xhdGlsZV9fKAorICAgICAgICAi
LnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICAgImx3ICAgICAgICAgICAgICAgICVbdG1wX3QxXSwg
ICAwKCVbc3JjX2FyZ2IwXSkgICAgICAgICAgIFxuIgorICAgICAgICAibHcgICAgICAgICAgICAg
ICAgJVt0bXBfdDJdLCAgIDQoJVtzcmNfYXJnYjBdKSAgICAgICAgICAgXG4iCisgICAgICAgICJs
dyAgICAgICAgICAgICAgICAlW3RtcF90M10sICAgOCglW3NyY19hcmdiMF0pICAgICAgICAgICBc
biIKKyAgICAgICAgImx3ICAgICAgICAgICAgICAgICVbdG1wX3Q0XSwgICAxMiglW3NyY19hcmdi
MF0pICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFiciAgICAgJVt0bXBfdDVdLCAg
ICVbdG1wX3QxXSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJsICAg
ICAlW3RtcF90MV0sICAgJVt0bXBfdDFdICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInBy
ZWNldS5waC5xYnIgICAgICVbdG1wX3Q2XSwgICAlW3RtcF90Ml0gICAgICAgICAgICAgICAgIFxu
IgorICAgICAgICAicHJlY2V1LnBoLnFibCAgICAgJVt0bXBfdDJdLCAgICVbdG1wX3QyXSAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJyICAgICAlW3RtcF90N10sICAg
JVt0bXBfdDNdICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5xYmwgICAg
ICVbdG1wX3QzXSwgICAlW3RtcF90M10gICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAicHJl
Y2V1LnBoLnFiciAgICAgJVt0bXBfdDhdLCAgICVbdG1wX3Q0XSAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAgICJwcmVjZXUucGgucWJsICAgICAlW3RtcF90NF0sICAgJVt0bXBfdDRdICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICAgIm11bHQgICAgICAgICAgICAgICRhYzAsICAgICAgICAl
W2NvbnN0NV0sICAgICAlW2NvbnN0NV0gIFxuIgorICAgICAgICAibXVsdCAgICAgICAgICAgICAg
JGFjMSwgICAgICAgICVbY29uc3Q1XSwgICAgICVbY29uc3Q1XSAgXG4iCisgICAgICAgICJtdWx0
ICAgICAgICAgICAgICAkYWMyLCAgICAgICAgJVtjb25zdDVdLCAgICAgJVtjb25zdDVdICBcbiIK
KyAgICAgICAgIm11bHQgICAgICAgICAgICAgICRhYzMsICAgICAgICAlW2NvbnN0NV0sICAgICAl
W2NvbnN0NV0gIFxuIgorICAgICAgICAiZHBhLncucGggICAgICAgICAgJGFjMCwgICAgICAgICVb
dG1wX3Q1XSwgICAgICVbY29uc3QxXSAgXG4iCisgICAgICAgICJkcGEudy5waCAgICAgICAgICAk
YWMxLCAgICAgICAgJVt0bXBfdDZdLCAgICAgJVtjb25zdDFdICBcbiIKKyAgICAgICAgImRwYS53
LnBoICAgICAgICAgICRhYzIsICAgICAgICAlW3RtcF90N10sICAgICAlW2NvbnN0MV0gIFxuIgor
ICAgICAgICAiZHBhLncucGggICAgICAgICAgJGFjMywgICAgICAgICVbdG1wX3Q4XSwgICAgICVb
Y29uc3QxXSAgXG4iCisgICAgICAgICJkcGEudy5waCAgICAgICAgICAkYWMwLCAgICAgICAgJVt0
bXBfdDFdLCAgICAgJVtjb25zdDJdICBcbiIKKyAgICAgICAgImRwYS53LnBoICAgICAgICAgICRh
YzEsICAgICAgICAlW3RtcF90Ml0sICAgICAlW2NvbnN0Ml0gIFxuIgorICAgICAgICAiZHBhLncu
cGggICAgICAgICAgJGFjMiwgICAgICAgICVbdG1wX3QzXSwgICAgICVbY29uc3QyXSAgXG4iCisg
ICAgICAgICJkcGEudy5waCAgICAgICAgICAkYWMzLCAgICAgICAgJVt0bXBfdDRdLCAgICAgJVtj
b25zdDJdICBcbiIKKyAgICAgICAgImV4dHJfci53ICAgICAgICAgICVbdG1wX3QxXSwgICAkYWMw
LCAgICAgICAgICA4ICAgICAgICAgIFxuIgorICAgICAgICAiZXh0cl9yLncgICAgICAgICAgJVt0
bXBfdDJdLCAgICRhYzEsICAgICAgICAgIDggICAgICAgICAgXG4iCisgICAgICAgICJleHRyX3Iu
dyAgICAgICAgICAlW3RtcF90M10sICAgJGFjMiwgICAgICAgICAgOCAgICAgICAgICBcbiIKKyAg
ICAgICAgImV4dHJfci53ICAgICAgICAgICVbdG1wX3Q0XSwgICAkYWMzLCAgICAgICAgICA4ICAg
ICAgICAgIFxuIgorICAgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtkc3RfeV0sICAgICVbZHN0
X3ldLCAgICAgIDQgICAgICAgICAgXG4iCisgICAgICAgICJhZGRpdSAgICAgICAgICAgICAlW3Ny
Y19hcmdiMF0sJVtzcmNfYXJnYjBdLCAgMTYgICAgICAgICBcbiIKKyAgICAgICAgInNiICAgICAg
ICAgICAgICAgICVbdG1wX3QxXSwgICAtNCglW2RzdF95XSkgICAgICAgICAgICAgIFxuIgorICAg
ICAgICAic2IgICAgICAgICAgICAgICAgJVt0bXBfdDJdLCAgIC0zKCVbZHN0X3ldKSAgICAgICAg
ICAgICAgXG4iCisgICAgICAgICJzYiAgICAgICAgICAgICAgICAlW3RtcF90M10sICAgLTIoJVtk
c3RfeV0pICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInNiICAgICAgICAgICAgICAgICVbdG1w
X3Q0XSwgICAtMSglW2RzdF95XSkgICAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNldCBwb3Ag
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAgIDogW3RtcF90MV0gIj0mciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1wX3QyKSwKKyAg
ICAgICAgICBbdG1wX3QzXSAiPSZyIih0bXBfdDMpLCBbdG1wX3Q0XSAiPSZyIih0bXBfdDQpLAor
ICAgICAgICAgIFt0bXBfdDVdICI9JnIiKHRtcF90NSksIFt0bXBfdDZdICI9JnIiKHRtcF90Niks
CisgICAgICAgICAgW3RtcF90N10gIj0mciIodG1wX3Q3KSwgW3RtcF90OF0gIj0mciIodG1wX3Q4
KSwKKyAgICAgICAgICBbc3JjX2FyZ2IwXSAiK3IiKHNyY19hcmdiMCksIFtkc3RfeV0gIityIihk
c3RfeSkKKyAgICAgICAgOiBbY29uc3QxXSAiciIoY29uc3QxKSwgW2NvbnN0Ml0gInIiKGNvbnN0
MiksIFtjb25zdDVdICJyIihjb25zdDUpCisgICAgICAgIDogImhpIiwgImxvIiwgIiRhYzFsbyIs
ICIkYWMxaGkiLCAiJGFjMmxvIiwgIiRhYzJoaSIsICIkYWMzbG8iLAorICAgICAgICAgICIkYWMz
aGkiKTsKKyAgfQorfQorCit2b2lkIEFCR1JUb1lSb3dfRFNQUjIoY29uc3QgdWludDgqIHNyY19h
cmdiMCwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIGludCBjb25zdDEg
PSAweDAwODEwMDQyOworICBpbnQgY29uc3QyID0gMHgwMDAwMDAxOTsKKyAgaW50IGNvbnN0NSA9
IDB4NDA7CisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSA0KSB7CisgICAgaW50IHRtcF90
MSwgdG1wX3QyLCB0bXBfdDMsIHRtcF90NCwgdG1wX3Q1OworICAgIGludCB0bXBfdDYsIHRtcF90
NywgdG1wX3Q4OworICAgIF9fYXNtX18gX192b2xhdGlsZV9fKAorICAgICAgICAiLnNldCBwdXNo
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICAgImx3ICAgICAgICAgICAgICAgICVbdG1wX3QxXSwgICAwKCVbc3Jj
X2FyZ2IwXSkgICAgICAgICAgIFxuIgorICAgICAgICAibHcgICAgICAgICAgICAgICAgJVt0bXBf
dDJdLCAgIDQoJVtzcmNfYXJnYjBdKSAgICAgICAgICAgXG4iCisgICAgICAgICJsdyAgICAgICAg
ICAgICAgICAlW3RtcF90M10sICAgOCglW3NyY19hcmdiMF0pICAgICAgICAgICBcbiIKKyAgICAg
ICAgImx3ICAgICAgICAgICAgICAgICVbdG1wX3Q0XSwgICAxMiglW3NyY19hcmdiMF0pICAgICAg
ICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFiciAgICAgJVt0bXBfdDVdLCAgICVbdG1wX3Qx
XSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJsICAgICAlW3RtcF90
MV0sICAgJVt0bXBfdDFdICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5x
YnIgICAgICVbdG1wX3Q2XSwgICAlW3RtcF90Ml0gICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ICAicHJlY2V1LnBoLnFibCAgICAgJVt0bXBfdDJdLCAgICVbdG1wX3QyXSAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJyICAgICAlW3RtcF90N10sICAgJVt0bXBfdDNd
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5xYmwgICAgICVbdG1wX3Qz
XSwgICAlW3RtcF90M10gICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFi
ciAgICAgJVt0bXBfdDhdLCAgICVbdG1wX3Q0XSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAg
ICJwcmVjZXUucGgucWJsICAgICAlW3RtcF90NF0sICAgJVt0bXBfdDRdICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICAgIm11bHQgICAgICAgICAgICAgICRhYzAsICAgICAgICAlW2NvbnN0NV0s
ICAgICAlW2NvbnN0NV0gIFxuIgorICAgICAgICAibXVsdCAgICAgICAgICAgICAgJGFjMSwgICAg
ICAgICVbY29uc3Q1XSwgICAgICVbY29uc3Q1XSAgXG4iCisgICAgICAgICJtdWx0ICAgICAgICAg
ICAgICAkYWMyLCAgICAgICAgJVtjb25zdDVdLCAgICAgJVtjb25zdDVdICBcbiIKKyAgICAgICAg
Im11bHQgICAgICAgICAgICAgICRhYzMsICAgICAgICAlW2NvbnN0NV0sICAgICAlW2NvbnN0NV0g
IFxuIgorICAgICAgICAiZHBhLncucGggICAgICAgICAgJGFjMCwgICAgICAgICVbdG1wX3Q1XSwg
ICAgICVbY29uc3QxXSAgXG4iCisgICAgICAgICJkcGEudy5waCAgICAgICAgICAkYWMxLCAgICAg
ICAgJVt0bXBfdDZdLCAgICAgJVtjb25zdDFdICBcbiIKKyAgICAgICAgImRwYS53LnBoICAgICAg
ICAgICRhYzIsICAgICAgICAlW3RtcF90N10sICAgICAlW2NvbnN0MV0gIFxuIgorICAgICAgICAi
ZHBhLncucGggICAgICAgICAgJGFjMywgICAgICAgICVbdG1wX3Q4XSwgICAgICVbY29uc3QxXSAg
XG4iCisgICAgICAgICJkcGEudy5waCAgICAgICAgICAkYWMwLCAgICAgICAgJVt0bXBfdDFdLCAg
ICAgJVtjb25zdDJdICBcbiIKKyAgICAgICAgImRwYS53LnBoICAgICAgICAgICRhYzEsICAgICAg
ICAlW3RtcF90Ml0sICAgICAlW2NvbnN0Ml0gIFxuIgorICAgICAgICAiZHBhLncucGggICAgICAg
ICAgJGFjMiwgICAgICAgICVbdG1wX3QzXSwgICAgICVbY29uc3QyXSAgXG4iCisgICAgICAgICJk
cGEudy5waCAgICAgICAgICAkYWMzLCAgICAgICAgJVt0bXBfdDRdLCAgICAgJVtjb25zdDJdICBc
biIKKyAgICAgICAgImV4dHJfci53ICAgICAgICAgICVbdG1wX3QxXSwgICAkYWMwLCAgICAgICAg
ICA4ICAgICAgICAgIFxuIgorICAgICAgICAiZXh0cl9yLncgICAgICAgICAgJVt0bXBfdDJdLCAg
ICRhYzEsICAgICAgICAgIDggICAgICAgICAgXG4iCisgICAgICAgICJleHRyX3IudyAgICAgICAg
ICAlW3RtcF90M10sICAgJGFjMiwgICAgICAgICAgOCAgICAgICAgICBcbiIKKyAgICAgICAgImV4
dHJfci53ICAgICAgICAgICVbdG1wX3Q0XSwgICAkYWMzLCAgICAgICAgICA4ICAgICAgICAgIFxu
IgorICAgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtzcmNfYXJnYjBdLCVbc3JjX2FyZ2IwXSwg
IDE2ICAgICAgICAgXG4iCisgICAgICAgICJhZGRpdSAgICAgICAgICAgICAlW2RzdF95XSwgICAg
JVtkc3RfeV0sICAgICAgNCAgICAgICAgICBcbiIKKyAgICAgICAgInNiICAgICAgICAgICAgICAg
ICVbdG1wX3QxXSwgICAtNCglW2RzdF95XSkgICAgICAgICAgICAgIFxuIgorICAgICAgICAic2Ig
ICAgICAgICAgICAgICAgJVt0bXBfdDJdLCAgIC0zKCVbZHN0X3ldKSAgICAgICAgICAgICAgXG4i
CisgICAgICAgICJzYiAgICAgICAgICAgICAgICAlW3RtcF90M10sICAgLTIoJVtkc3RfeV0pICAg
ICAgICAgICAgICBcbiIKKyAgICAgICAgInNiICAgICAgICAgICAgICAgICVbdG1wX3Q0XSwgICAt
MSglW2RzdF95XSkgICAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNldCBwb3AgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgIDogW3Rt
cF90MV0gIj0mciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1wX3QyKSwKKyAgICAgICAgICBb
dG1wX3QzXSAiPSZyIih0bXBfdDMpLCBbdG1wX3Q0XSAiPSZyIih0bXBfdDQpLAorICAgICAgICAg
IFt0bXBfdDVdICI9JnIiKHRtcF90NSksIFt0bXBfdDZdICI9JnIiKHRtcF90NiksCisgICAgICAg
ICAgW3RtcF90N10gIj0mciIodG1wX3Q3KSwgW3RtcF90OF0gIj0mciIodG1wX3Q4KSwKKyAgICAg
ICAgICBbc3JjX2FyZ2IwXSAiK3IiKHNyY19hcmdiMCksIFtkc3RfeV0gIityIihkc3RfeSkKKyAg
ICAgICAgOiBbY29uc3QxXSAiciIoY29uc3QxKSwgW2NvbnN0Ml0gInIiKGNvbnN0MiksIFtjb25z
dDVdICJyIihjb25zdDUpCisgICAgICAgIDogImhpIiwgImxvIiwgIiRhYzFsbyIsICIkYWMxaGki
LCAiJGFjMmxvIiwgIiRhYzJoaSIsICIkYWMzbG8iLAorICAgICAgICAgICIkYWMzaGkiKTsKKyAg
fQorfQorCit2b2lkIFJHQkFUb1VWUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
diwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGNvbnN0IHVpbnQ4KiBz
cmNfcmdiMSA9IHNyY19yZ2IwICsgc3JjX3N0cmlkZV9yZ2I7CisgIGludCB4OworICBpbnQgY29u
c3QxID0gMHhmZmI2MDA3MDsKKyAgaW50IGNvbnN0MiA9IDB4MDAwMGZmZGE7CisgIGludCBjb25z
dDMgPSAweGZmYTJmZmVlOworICBpbnQgY29uc3Q0ID0gMHgwMDAwMDA3MDsKKyAgaW50IGNvbnN0
NSA9IDB4MTAwOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aCAtIDE7IHggKz0gMikgeworICAg
IGludCB0bXBfdDEsIHRtcF90MiwgdG1wX3QzLCB0bXBfdDQsIHRtcF90NTsKKyAgICBpbnQgdG1w
X3Q2LCB0bXBfdDcsIHRtcF90ODsKKyAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygKKyAgICAgICAg
Ii5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgICAiLnNldCBub3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJ1bHcgICAgICAgICAgICAgICAlW3RtcF90MV0s
ICAgMCsxKCVbc3JjX3JnYjBdKSAgICAgICAgICBcbiIKKyAgICAgICAgInVsdyAgICAgICAgICAg
ICAgICVbdG1wX3QyXSwgICA0KzEoJVtzcmNfcmdiMF0pICAgICAgICAgIFxuIgorICAgICAgICAi
dWx3ICAgICAgICAgICAgICAgJVt0bXBfdDNdLCAgIDArMSglW3NyY19yZ2IxXSkgICAgICAgICAg
XG4iCisgICAgICAgICJ1bHcgICAgICAgICAgICAgICAlW3RtcF90NF0sICAgNCsxKCVbc3JjX3Jn
YjFdKSAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5xYnIgICAgICVbdG1wX3Q1XSwg
ICAlW3RtcF90MV0gICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFibCAg
ICAgJVt0bXBfdDFdLCAgICVbdG1wX3QxXSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJw
cmVjZXUucGgucWJyICAgICAlW3RtcF90Nl0sICAgJVt0bXBfdDJdICAgICAgICAgICAgICAgICBc
biIKKyAgICAgICAgInByZWNldS5waC5xYmwgICAgICVbdG1wX3QyXSwgICAlW3RtcF90Ml0gICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFiciAgICAgJVt0bXBfdDddLCAg
ICVbdG1wX3QzXSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJsICAg
ICAlW3RtcF90M10sICAgJVt0bXBfdDNdICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInBy
ZWNldS5waC5xYnIgICAgICVbdG1wX3Q4XSwgICAlW3RtcF90NF0gICAgICAgICAgICAgICAgIFxu
IgorICAgICAgICAicHJlY2V1LnBoLnFibCAgICAgJVt0bXBfdDRdLCAgICVbdG1wX3Q0XSAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAgICJhZGR1LnBoICAgICAgICAgICAlW3RtcF90NV0sICAg
JVt0bXBfdDVdLCAgICAgJVt0bXBfdDZdICBcbiIKKyAgICAgICAgImFkZHUucGggICAgICAgICAg
ICVbdG1wX3Q3XSwgICAlW3RtcF90N10sICAgICAlW3RtcF90OF0gIFxuIgorICAgICAgICAiYWRk
dS5waCAgICAgICAgICAgJVt0bXBfdDFdLCAgICVbdG1wX3QxXSwgICAgICVbdG1wX3QyXSAgXG4i
CisgICAgICAgICJhZGR1LnBoICAgICAgICAgICAlW3RtcF90M10sICAgJVt0bXBfdDNdLCAgICAg
JVt0bXBfdDRdICBcbiIKKyAgICAgICAgImFkZHUucGggICAgICAgICAgICVbdG1wX3Q1XSwgICAl
W3RtcF90NV0sICAgICAlW3RtcF90N10gIFxuIgorICAgICAgICAiYWRkdS5waCAgICAgICAgICAg
JVt0bXBfdDFdLCAgICVbdG1wX3QxXSwgICAgICVbdG1wX3QzXSAgXG4iCisgICAgICAgICJzaHJs
LnBoICAgICAgICAgICAlW3RtcF90NV0sICAgJVt0bXBfdDVdLCAgICAgMiAgICAgICAgICBcbiIK
KyAgICAgICAgInNocmwucGggICAgICAgICAgICVbdG1wX3QxXSwgICAlW3RtcF90MV0sICAgICAy
ICAgICAgICAgIFxuIgorICAgICAgICAibXVsdCAgICAgICAgICAgICAgJGFjMCwgICAgICAgICVb
Y29uc3Q1XSwgICAgICVbY29uc3Q1XSAgXG4iCisgICAgICAgICJtdWx0ICAgICAgICAgICAgICAk
YWMxLCAgICAgICAgJVtjb25zdDVdLCAgICAgJVtjb25zdDVdICBcbiIKKyAgICAgICAgImRwYXFf
cy53LnBoICAgICAgICRhYzAsICAgICAgICAlW3RtcF90NV0sICAgICAlW2NvbnN0MV0gIFxuIgor
ICAgICAgICAiZHBhcV9zLncucGggICAgICAgJGFjMSwgICAgICAgICVbdG1wX3Q1XSwgICAgICVb
Y29uc3QzXSAgXG4iCisgICAgICAgICJkcGFxX3Mudy5waCAgICAgICAkYWMwLCAgICAgICAgJVt0
bXBfdDFdLCAgICAgJVtjb25zdDJdICBcbiIKKyAgICAgICAgImRwYXFfcy53LnBoICAgICAgICRh
YzEsICAgICAgICAlW3RtcF90MV0sICAgICAlW2NvbnN0NF0gIFxuIgorICAgICAgICAiZXh0cl9y
LncgICAgICAgICAgJVt0bXBfdDddLCAgICRhYzAsICAgICAgICAgIDkgICAgICAgICAgXG4iCisg
ICAgICAgICJleHRyX3IudyAgICAgICAgICAlW3RtcF90OF0sICAgJGFjMSwgICAgICAgICAgOSAg
ICAgICAgICBcbiIKKyAgICAgICAgImFkZGl1ICAgICAgICAgICAgICVbc3JjX3JnYjBdLCAlW3Ny
Y19yZ2IwXSwgOCAgICAgICAgICAgIFxuIgorICAgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtz
cmNfcmdiMV0sICVbc3JjX3JnYjFdLCA4ICAgICAgICAgICAgXG4iCisgICAgICAgICJhZGRpdSAg
ICAgICAgICAgICAlW2RzdF91XSwgICAgJVtkc3RfdV0sICAgIDEgICAgICAgICAgICBcbiIKKyAg
ICAgICAgImFkZGl1ICAgICAgICAgICAgICVbZHN0X3ZdLCAgICAlW2RzdF92XSwgICAgMSAgICAg
ICAgICAgIFxuIgorICAgICAgICAic2IgICAgICAgICAgICAgICAgJVt0bXBfdDddLCAgIC0xKCVb
ZHN0X3VdKSAgICAgICAgICAgICAgXG4iCisgICAgICAgICJzYiAgICAgICAgICAgICAgICAlW3Rt
cF90OF0sICAgLTEoJVtkc3Rfdl0pICAgICAgICAgICAgICBcbiIKKyAgICAgICAgIi5zZXQgcG9w
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgICA6IFt0bXBfdDFdICI9JnIiKHRtcF90MSksIFt0bXBfdDJdICI9JnIiKHRtcF90MiksCisg
ICAgICAgICAgW3RtcF90M10gIj0mciIodG1wX3QzKSwgW3RtcF90NF0gIj0mciIodG1wX3Q0KSwK
KyAgICAgICAgICBbdG1wX3Q1XSAiPSZyIih0bXBfdDUpLCBbdG1wX3Q2XSAiPSZyIih0bXBfdDYp
LAorICAgICAgICAgIFt0bXBfdDddICI9JnIiKHRtcF90NyksIFt0bXBfdDhdICI9JnIiKHRtcF90
OCksCisgICAgICAgICAgW3NyY19yZ2IwXSAiK3IiKHNyY19yZ2IwKSwgW3NyY19yZ2IxXSAiK3Ii
KHNyY19yZ2IxKSwKKyAgICAgICAgICBbZHN0X3VdICIrciIoZHN0X3UpLCBbZHN0X3ZdICIrciIo
ZHN0X3YpCisgICAgICAgIDogW2NvbnN0MV0gInIiKGNvbnN0MSksIFtjb25zdDJdICJyIihjb25z
dDIpLCBbY29uc3QzXSAiciIoY29uc3QzKSwKKyAgICAgICAgICBbY29uc3Q0XSAiciIoY29uc3Q0
KSwgW2NvbnN0NV0gInIiKGNvbnN0NSkKKyAgICAgICAgOiAiaGkiLCAibG8iLCAiJGFjMWxvIiwg
IiRhYzFoaSIpOworICB9Cit9CisKK3ZvaWQgUkdCQVRvWVJvd19EU1BSMihjb25zdCB1aW50OCog
c3JjX2FyZ2IwLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgaW50IGNv
bnN0MSA9IDB4MDA0MjAwODE7CisgIGludCBjb25zdDIgPSAweDAwMTkwMDAwOworICBpbnQgY29u
c3Q1ID0gMHg0MDsKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDQpIHsKKyAgICBpbnQg
dG1wX3QxLCB0bXBfdDIsIHRtcF90MywgdG1wX3Q0LCB0bXBfdDU7CisgICAgaW50IHRtcF90Niwg
dG1wX3Q3LCB0bXBfdDg7CisgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAgICIuc2V0
IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgICAibHcgICAgICAgICAgICAgICAgJVt0bXBfdDFdLCAgIDAo
JVtzcmNfYXJnYjBdKSAgICAgICAgICAgXG4iCisgICAgICAgICJsdyAgICAgICAgICAgICAgICAl
W3RtcF90Ml0sICAgNCglW3NyY19hcmdiMF0pICAgICAgICAgICBcbiIKKyAgICAgICAgImx3ICAg
ICAgICAgICAgICAgICVbdG1wX3QzXSwgICA4KCVbc3JjX2FyZ2IwXSkgICAgICAgICAgIFxuIgor
ICAgICAgICAibHcgICAgICAgICAgICAgICAgJVt0bXBfdDRdLCAgIDEyKCVbc3JjX2FyZ2IwXSkg
ICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJsICAgICAlW3RtcF90NV0sICAgJVt0
bXBfdDFdICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5xYnIgICAgICVb
dG1wX3QxXSwgICAlW3RtcF90MV0gICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1
LnBoLnFibCAgICAgJVt0bXBfdDZdLCAgICVbdG1wX3QyXSAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAgICJwcmVjZXUucGgucWJyICAgICAlW3RtcF90Ml0sICAgJVt0bXBfdDJdICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5xYmwgICAgICVbdG1wX3Q3XSwgICAlW3Rt
cF90M10gICAgICAgICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFiciAgICAgJVt0
bXBfdDNdLCAgICVbdG1wX3QzXSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUu
cGgucWJsICAgICAlW3RtcF90OF0sICAgJVt0bXBfdDRdICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICAgInByZWNldS5waC5xYnIgICAgICVbdG1wX3Q0XSwgICAlW3RtcF90NF0gICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgICAibXVsdCAgICAgICAgICAgICAgJGFjMCwgICAgICAgICVbY29u
c3Q1XSwgICAgICVbY29uc3Q1XSAgXG4iCisgICAgICAgICJtdWx0ICAgICAgICAgICAgICAkYWMx
LCAgICAgICAgJVtjb25zdDVdLCAgICAgJVtjb25zdDVdICBcbiIKKyAgICAgICAgIm11bHQgICAg
ICAgICAgICAgICRhYzIsICAgICAgICAlW2NvbnN0NV0sICAgICAlW2NvbnN0NV0gIFxuIgorICAg
ICAgICAibXVsdCAgICAgICAgICAgICAgJGFjMywgICAgICAgICVbY29uc3Q1XSwgICAgICVbY29u
c3Q1XSAgXG4iCisgICAgICAgICJkcGEudy5waCAgICAgICAgICAkYWMwLCAgICAgICAgJVt0bXBf
dDVdLCAgICAgJVtjb25zdDFdICBcbiIKKyAgICAgICAgImRwYS53LnBoICAgICAgICAgICRhYzEs
ICAgICAgICAlW3RtcF90Nl0sICAgICAlW2NvbnN0MV0gIFxuIgorICAgICAgICAiZHBhLncucGgg
ICAgICAgICAgJGFjMiwgICAgICAgICVbdG1wX3Q3XSwgICAgICVbY29uc3QxXSAgXG4iCisgICAg
ICAgICJkcGEudy5waCAgICAgICAgICAkYWMzLCAgICAgICAgJVt0bXBfdDhdLCAgICAgJVtjb25z
dDFdICBcbiIKKyAgICAgICAgImRwYS53LnBoICAgICAgICAgICRhYzAsICAgICAgICAlW3RtcF90
MV0sICAgICAlW2NvbnN0Ml0gIFxuIgorICAgICAgICAiZHBhLncucGggICAgICAgICAgJGFjMSwg
ICAgICAgICVbdG1wX3QyXSwgICAgICVbY29uc3QyXSAgXG4iCisgICAgICAgICJkcGEudy5waCAg
ICAgICAgICAkYWMyLCAgICAgICAgJVt0bXBfdDNdLCAgICAgJVtjb25zdDJdICBcbiIKKyAgICAg
ICAgImRwYS53LnBoICAgICAgICAgICRhYzMsICAgICAgICAlW3RtcF90NF0sICAgICAlW2NvbnN0
Ml0gIFxuIgorICAgICAgICAiZXh0cl9yLncgICAgICAgICAgJVt0bXBfdDFdLCAgICRhYzAsICAg
ICAgICAgIDggICAgICAgICAgXG4iCisgICAgICAgICJleHRyX3IudyAgICAgICAgICAlW3RtcF90
Ml0sICAgJGFjMSwgICAgICAgICAgOCAgICAgICAgICBcbiIKKyAgICAgICAgImV4dHJfci53ICAg
ICAgICAgICVbdG1wX3QzXSwgICAkYWMyLCAgICAgICAgICA4ICAgICAgICAgIFxuIgorICAgICAg
ICAiZXh0cl9yLncgICAgICAgICAgJVt0bXBfdDRdLCAgICRhYzMsICAgICAgICAgIDggICAgICAg
ICAgXG4iCisgICAgICAgICJhZGRpdSAgICAgICAgICAgICAlW2RzdF95XSwgICAgJVtkc3RfeV0s
ICAgICAgNCAgICAgICAgICBcbiIKKyAgICAgICAgImFkZGl1ICAgICAgICAgICAgICVbc3JjX2Fy
Z2IwXSwlW3NyY19hcmdiMF0sICAxNiAgICAgICAgIFxuIgorICAgICAgICAic2IgICAgICAgICAg
ICAgICAgJVt0bXBfdDFdLCAgIC00KCVbZHN0X3ldKSAgICAgICAgICAgICAgXG4iCisgICAgICAg
ICJzYiAgICAgICAgICAgICAgICAlW3RtcF90Ml0sICAgLTMoJVtkc3RfeV0pICAgICAgICAgICAg
ICBcbiIKKyAgICAgICAgInNiICAgICAgICAgICAgICAgICVbdG1wX3QzXSwgICAtMiglW2RzdF95
XSkgICAgICAgICAgICAgIFxuIgorICAgICAgICAic2IgICAgICAgICAgICAgICAgJVt0bXBfdDRd
LCAgIC0xKCVbZHN0X3ldKSAgICAgICAgICAgICAgXG4iCisgICAgICAgICIuc2V0IHBvcCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAg
OiBbdG1wX3QxXSAiPSZyIih0bXBfdDEpLCBbdG1wX3QyXSAiPSZyIih0bXBfdDIpLAorICAgICAg
ICAgIFt0bXBfdDNdICI9JnIiKHRtcF90MyksIFt0bXBfdDRdICI9JnIiKHRtcF90NCksCisgICAg
ICAgICAgW3RtcF90NV0gIj0mciIodG1wX3Q1KSwgW3RtcF90Nl0gIj0mciIodG1wX3Q2KSwKKyAg
ICAgICAgICBbdG1wX3Q3XSAiPSZyIih0bXBfdDcpLCBbdG1wX3Q4XSAiPSZyIih0bXBfdDgpLAor
ICAgICAgICAgIFtzcmNfYXJnYjBdICIrciIoc3JjX2FyZ2IwKSwgW2RzdF95XSAiK3IiKGRzdF95
KQorICAgICAgICA6IFtjb25zdDFdICJyIihjb25zdDEpLCBbY29uc3QyXSAiciIoY29uc3QyKSwg
W2NvbnN0NV0gInIiKGNvbnN0NSkKKyAgICAgICAgOiAiaGkiLCAibG8iLCAiJGFjMWxvIiwgIiRh
YzFoaSIsICIkYWMybG8iLCAiJGFjMmhpIiwgIiRhYzNsbyIsCisgICAgICAgICAgIiRhYzNoaSIp
OworICB9Cit9CisKK3ZvaWQgQVJHQlRvVVZSb3dfRFNQUjIoY29uc3QgdWludDgqIHNyY19yZ2Iw
LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgY29uc3QgdWlu
dDgqIHNyY19yZ2IxID0gc3JjX3JnYjAgKyBzcmNfc3RyaWRlX3JnYjsKKyAgaW50IHg7CisgIGlu
dCBjb25zdDEgPSAweGZmYjYwMDcwOworICBpbnQgY29uc3QyID0gMHgwMDAwZmZkYTsKKyAgaW50
IGNvbnN0MyA9IDB4ZmZhMmZmZWU7CisgIGludCBjb25zdDQgPSAweDAwMDAwMDcwOworICBpbnQg
Y29uc3Q1ID0gMHgxMDA7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoIC0gMTsgeCArPSAyKSB7
CisgICAgaW50IHRtcF90MSwgdG1wX3QyLCB0bXBfdDMsIHRtcF90NCwgdG1wX3Q1OworICAgIGlu
dCB0bXBfdDYsIHRtcF90NywgdG1wX3Q4OworICAgIF9fYXNtX18gX192b2xhdGlsZV9fKAorICAg
ICAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgImx3ICAgICAgICAgICAgICAgICVbdG1w
X3QxXSwgICAwKCVbc3JjX3JnYjBdKSAgICAgICAgICAgIFxuIgorICAgICAgICAibHcgICAgICAg
ICAgICAgICAgJVt0bXBfdDJdLCAgIDQoJVtzcmNfcmdiMF0pICAgICAgICAgICAgXG4iCisgICAg
ICAgICJsdyAgICAgICAgICAgICAgICAlW3RtcF90M10sICAgMCglW3NyY19yZ2IxXSkgICAgICAg
ICAgICBcbiIKKyAgICAgICAgImx3ICAgICAgICAgICAgICAgICVbdG1wX3Q0XSwgICA0KCVbc3Jj
X3JnYjFdKSAgICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFiciAgICAgJVt0bXBf
dDVdLCAgICVbdG1wX3QxXSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgu
cWJsICAgICAlW3RtcF90MV0sICAgJVt0bXBfdDFdICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICAgInByZWNldS5waC5xYnIgICAgICVbdG1wX3Q2XSwgICAlW3RtcF90Ml0gICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgICAicHJlY2V1LnBoLnFibCAgICAgJVt0bXBfdDJdLCAgICVbdG1wX3Qy
XSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJyICAgICAlW3RtcF90
N10sICAgJVt0bXBfdDNdICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInByZWNldS5waC5x
YmwgICAgICVbdG1wX3QzXSwgICAlW3RtcF90M10gICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ICAicHJlY2V1LnBoLnFiciAgICAgJVt0bXBfdDhdLCAgICVbdG1wX3Q0XSAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAgICJwcmVjZXUucGgucWJsICAgICAlW3RtcF90NF0sICAgJVt0bXBfdDRd
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICAgImFkZHUucGggICAgICAgICAgICVbdG1wX3Q1
XSwgICAlW3RtcF90NV0sICAgICAlW3RtcF90Nl0gIFxuIgorICAgICAgICAiYWRkdS5waCAgICAg
ICAgICAgJVt0bXBfdDddLCAgICVbdG1wX3Q3XSwgICAgICVbdG1wX3Q4XSAgXG4iCisgICAgICAg
ICJhZGR1LnBoICAgICAgICAgICAlW3RtcF90MV0sICAgJVt0bXBfdDFdLCAgICAgJVt0bXBfdDJd
ICBcbiIKKyAgICAgICAgImFkZHUucGggICAgICAgICAgICVbdG1wX3QzXSwgICAlW3RtcF90M10s
ICAgICAlW3RtcF90NF0gIFxuIgorICAgICAgICAiYWRkdS5waCAgICAgICAgICAgJVt0bXBfdDVd
LCAgICVbdG1wX3Q1XSwgICAgICVbdG1wX3Q3XSAgXG4iCisgICAgICAgICJhZGR1LnBoICAgICAg
ICAgICAlW3RtcF90MV0sICAgJVt0bXBfdDFdLCAgICAgJVt0bXBfdDNdICBcbiIKKyAgICAgICAg
InNocmwucGggICAgICAgICAgICVbdG1wX3Q1XSwgICAlW3RtcF90NV0sICAgICAyICAgICAgICAg
IFxuIgorICAgICAgICAic2hybC5waCAgICAgICAgICAgJVt0bXBfdDFdLCAgICVbdG1wX3QxXSwg
ICAgIDIgICAgICAgICAgXG4iCisgICAgICAgICJtdWx0ICAgICAgICAgICAgICAkYWMwLCAgICAg
ICAgJVtjb25zdDVdLCAgICAgJVtjb25zdDVdICBcbiIKKyAgICAgICAgIm11bHQgICAgICAgICAg
ICAgICRhYzEsICAgICAgICAlW2NvbnN0NV0sICAgICAlW2NvbnN0NV0gIFxuIgorICAgICAgICAi
ZHBhcV9zLncucGggICAgICAgJGFjMCwgICAgICAgICVbdG1wX3Q1XSwgICAgICVbY29uc3QxXSAg
XG4iCisgICAgICAgICJkcGFxX3Mudy5waCAgICAgICAkYWMxLCAgICAgICAgJVt0bXBfdDVdLCAg
ICAgJVtjb25zdDNdICBcbiIKKyAgICAgICAgImRwYXFfcy53LnBoICAgICAgICRhYzAsICAgICAg
ICAlW3RtcF90MV0sICAgICAlW2NvbnN0Ml0gIFxuIgorICAgICAgICAiZHBhcV9zLncucGggICAg
ICAgJGFjMSwgICAgICAgICVbdG1wX3QxXSwgICAgICVbY29uc3Q0XSAgXG4iCisgICAgICAgICJl
eHRyX3IudyAgICAgICAgICAlW3RtcF90N10sICAgJGFjMCwgICAgICAgICAgOSAgICAgICAgICBc
biIKKyAgICAgICAgImV4dHJfci53ICAgICAgICAgICVbdG1wX3Q4XSwgICAkYWMxLCAgICAgICAg
ICA5ICAgICAgICAgIFxuIgorICAgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtzcmNfcmdiMF0s
ICVbc3JjX3JnYjBdLCA4ICAgICAgICAgICAgXG4iCisgICAgICAgICJhZGRpdSAgICAgICAgICAg
ICAlW3NyY19yZ2IxXSwgJVtzcmNfcmdiMV0sIDggICAgICAgICAgICBcbiIKKyAgICAgICAgImFk
ZGl1ICAgICAgICAgICAgICVbZHN0X3VdLCAgICAlW2RzdF91XSwgICAgMSAgICAgICAgICAgIFxu
IgorICAgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtkc3Rfdl0sICAgICVbZHN0X3ZdLCAgICAx
ICAgICAgICAgICAgXG4iCisgICAgICAgICJzYiAgICAgICAgICAgICAgICAlW3RtcF90N10sICAg
LTEoJVtkc3RfdV0pICAgICAgICAgICAgICBcbiIKKyAgICAgICAgInNiICAgICAgICAgICAgICAg
ICVbdG1wX3Q4XSwgICAtMSglW2RzdF92XSkgICAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNl
dCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAgIDogW3RtcF90MV0gIj0mciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1wX3Qy
KSwKKyAgICAgICAgICBbdG1wX3QzXSAiPSZyIih0bXBfdDMpLCBbdG1wX3Q0XSAiPSZyIih0bXBf
dDQpLAorICAgICAgICAgIFt0bXBfdDVdICI9JnIiKHRtcF90NSksIFt0bXBfdDZdICI9JnIiKHRt
cF90NiksCisgICAgICAgICAgW3RtcF90N10gIj0mciIodG1wX3Q3KSwgW3RtcF90OF0gIj0mciIo
dG1wX3Q4KSwKKyAgICAgICAgICBbc3JjX3JnYjBdICIrciIoc3JjX3JnYjApLCBbc3JjX3JnYjFd
ICIrciIoc3JjX3JnYjEpLAorICAgICAgICAgIFtkc3RfdV0gIityIihkc3RfdSksIFtkc3Rfdl0g
IityIihkc3RfdikKKyAgICAgICAgOiBbY29uc3QxXSAiciIoY29uc3QxKSwgW2NvbnN0Ml0gInIi
KGNvbnN0MiksIFtjb25zdDNdICJyIihjb25zdDMpLAorICAgICAgICAgIFtjb25zdDRdICJyIihj
b25zdDQpLCBbY29uc3Q1XSAiciIoY29uc3Q1KQorICAgICAgICA6ICJoaSIsICJsbyIsICIkYWMx
bG8iLCAiJGFjMWhpIik7CisgIH0KK30KKworI2VuZGlmICAvLyBfX21pcHNfZHNwX3JldiA+PSAy
CisKKyNlbmRpZiAgLy8gZGVmaW5lZChfX21pcHNfXykKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9
ICAvLyBleHRlcm4gIkMiCit9ICAvLyBuYW1lc3BhY2UgbGlieXV2CisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3NvdXJjZS9yb3dfZ2NjLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jvd19nY2MuY2MKaW5kZXggODAyMDEwOGQwNDFhYzcx
YmUxMDFkMzE1NWIwMTdhNTE0ZmY0MmYyMS4uODczNTA3MGI2MTlkZjY2M2ExNDZjN2UyNWMyNjhk
OTJlMWQ0ZTM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jvd19nY2MuY2MKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jvd19nY2Mu
Y2MKQEAgLTEsNCArMSwzIEBACi0vLyBWRVJTSU9OIDIKIC8qCiAgKiAgQ29weXJpZ2h0IDIwMTEg
VGhlIExpYll1diBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAt
MjMsMTY1ICsyMiwxMzMgQEAgZXh0ZXJuICJDIiB7CiAjaWYgZGVmaW5lZChIQVNfQVJHQlRPWVJP
V19TU1NFMykgfHwgZGVmaW5lZChIQVNfQVJHQkdSQVlST1dfU1NTRTMpCiAKIC8vIENvbnN0YW50
cyBmb3IgQVJHQgotc3RhdGljIHZlYzgga0FSR0JUb1kgPSB7Ci0gIDEzLCA2NSwgMzMsIDAsIDEz
LCA2NSwgMzMsIDAsIDEzLCA2NSwgMzMsIDAsIDEzLCA2NSwgMzMsIDAKLX07CitzdGF0aWMgdmVj
OCBrQVJHQlRvWSA9IHsxMywgNjUsIDMzLCAwLCAxMywgNjUsIDMzLCAwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgMTMsIDY1LCAzMywgMCwgMTMsIDY1LCAzMywgMH07CiAKIC8vIEpQZWcgZnVs
bCByYW5nZS4KLXN0YXRpYyB2ZWM4IGtBUkdCVG9ZSiA9IHsKLSAgMTUsIDc1LCAzOCwgMCwgMTUs
IDc1LCAzOCwgMCwgMTUsIDc1LCAzOCwgMCwgMTUsIDc1LCAzOCwgMAotfTsKK3N0YXRpYyB2ZWM4
IGtBUkdCVG9ZSiA9IHsxNSwgNzUsIDM4LCAwLCAxNSwgNzUsIDM4LCAwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIDE1LCA3NSwgMzgsIDAsIDE1LCA3NSwgMzgsIDB9OwogI2VuZGlmICAvLyBk
ZWZpbmVkKEhBU19BUkdCVE9ZUk9XX1NTU0UzKSB8fCBkZWZpbmVkKEhBU19BUkdCR1JBWVJPV19T
U1NFMykKIAogI2lmIGRlZmluZWQoSEFTX0FSR0JUT1lST1dfU1NTRTMpIHx8IGRlZmluZWQoSEFT
X0k0MjJUT0FSR0JST1dfU1NTRTMpCiAKLXN0YXRpYyB2ZWM4IGtBUkdCVG9VID0gewotICAxMTIs
IC03NCwgLTM4LCAwLCAxMTIsIC03NCwgLTM4LCAwLCAxMTIsIC03NCwgLTM4LCAwLCAxMTIsIC03
NCwgLTM4LCAwCi19Oworc3RhdGljIHZlYzgga0FSR0JUb1UgPSB7MTEyLCAtNzQsIC0zOCwgMCwg
MTEyLCAtNzQsIC0zOCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgIDExMiwgLTc0LCAtMzgs
IDAsIDExMiwgLTc0LCAtMzgsIDB9OwogCi1zdGF0aWMgdmVjOCBrQVJHQlRvVUogPSB7Ci0gIDEy
NywgLTg0LCAtNDMsIDAsIDEyNywgLTg0LCAtNDMsIDAsIDEyNywgLTg0LCAtNDMsIDAsIDEyNywg
LTg0LCAtNDMsIDAKLX07CitzdGF0aWMgdmVjOCBrQVJHQlRvVUogPSB7MTI3LCAtODQsIC00Mywg
MCwgMTI3LCAtODQsIC00MywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAxMjcsIC04NCwg
LTQzLCAwLCAxMjcsIC04NCwgLTQzLCAwfTsKIAogc3RhdGljIHZlYzgga0FSR0JUb1YgPSB7Ci0g
IC0xOCwgLTk0LCAxMTIsIDAsIC0xOCwgLTk0LCAxMTIsIDAsIC0xOCwgLTk0LCAxMTIsIDAsIC0x
OCwgLTk0LCAxMTIsIDAsCisgICAgLTE4LCAtOTQsIDExMiwgMCwgLTE4LCAtOTQsIDExMiwgMCwg
LTE4LCAtOTQsIDExMiwgMCwgLTE4LCAtOTQsIDExMiwgMCwKIH07CiAKLXN0YXRpYyB2ZWM4IGtB
UkdCVG9WSiA9IHsKLSAgLTIwLCAtMTA3LCAxMjcsIDAsIC0yMCwgLTEwNywgMTI3LCAwLCAtMjAs
IC0xMDcsIDEyNywgMCwgLTIwLCAtMTA3LCAxMjcsIDAKLX07CitzdGF0aWMgdmVjOCBrQVJHQlRv
VkogPSB7LTIwLCAtMTA3LCAxMjcsIDAsIC0yMCwgLTEwNywgMTI3LCAwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIC0yMCwgLTEwNywgMTI3LCAwLCAtMjAsIC0xMDcsIDEyNywgMH07CiAKIC8v
IENvbnN0YW50cyBmb3IgQkdSQQotc3RhdGljIHZlYzgga0JHUkFUb1kgPSB7Ci0gIDAsIDMzLCA2
NSwgMTMsIDAsIDMzLCA2NSwgMTMsIDAsIDMzLCA2NSwgMTMsIDAsIDMzLCA2NSwgMTMKLX07Citz
dGF0aWMgdmVjOCBrQkdSQVRvWSA9IHswLCAzMywgNjUsIDEzLCAwLCAzMywgNjUsIDEzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgMCwgMzMsIDY1LCAxMywgMCwgMzMsIDY1LCAxM307CiAKLXN0
YXRpYyB2ZWM4IGtCR1JBVG9VID0gewotICAwLCAtMzgsIC03NCwgMTEyLCAwLCAtMzgsIC03NCwg
MTEyLCAwLCAtMzgsIC03NCwgMTEyLCAwLCAtMzgsIC03NCwgMTEyCi19Oworc3RhdGljIHZlYzgg
a0JHUkFUb1UgPSB7MCwgLTM4LCAtNzQsIDExMiwgMCwgLTM4LCAtNzQsIDExMiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIDAsIC0zOCwgLTc0LCAxMTIsIDAsIC0zOCwgLTc0LCAxMTJ9OwogCi1z
dGF0aWMgdmVjOCBrQkdSQVRvViA9IHsKLSAgMCwgMTEyLCAtOTQsIC0xOCwgMCwgMTEyLCAtOTQs
IC0xOCwgMCwgMTEyLCAtOTQsIC0xOCwgMCwgMTEyLCAtOTQsIC0xOAotfTsKK3N0YXRpYyB2ZWM4
IGtCR1JBVG9WID0gezAsIDExMiwgLTk0LCAtMTgsIDAsIDExMiwgLTk0LCAtMTgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAwLCAxMTIsIC05NCwgLTE4LCAwLCAxMTIsIC05NCwgLTE4fTsKIAog
Ly8gQ29uc3RhbnRzIGZvciBBQkdSCi1zdGF0aWMgdmVjOCBrQUJHUlRvWSA9IHsKLSAgMzMsIDY1
LCAxMywgMCwgMzMsIDY1LCAxMywgMCwgMzMsIDY1LCAxMywgMCwgMzMsIDY1LCAxMywgMAotfTsK
K3N0YXRpYyB2ZWM4IGtBQkdSVG9ZID0gezMzLCA2NSwgMTMsIDAsIDMzLCA2NSwgMTMsIDAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAzMywgNjUsIDEzLCAwLCAzMywgNjUsIDEzLCAwfTsKIAot
c3RhdGljIHZlYzgga0FCR1JUb1UgPSB7Ci0gIC0zOCwgLTc0LCAxMTIsIDAsIC0zOCwgLTc0LCAx
MTIsIDAsIC0zOCwgLTc0LCAxMTIsIDAsIC0zOCwgLTc0LCAxMTIsIDAKLX07CitzdGF0aWMgdmVj
OCBrQUJHUlRvVSA9IHstMzgsIC03NCwgMTEyLCAwLCAtMzgsIC03NCwgMTEyLCAwLAorICAgICAg
ICAgICAgICAgICAgICAgICAgLTM4LCAtNzQsIDExMiwgMCwgLTM4LCAtNzQsIDExMiwgMH07CiAK
LXN0YXRpYyB2ZWM4IGtBQkdSVG9WID0gewotICAxMTIsIC05NCwgLTE4LCAwLCAxMTIsIC05NCwg
LTE4LCAwLCAxMTIsIC05NCwgLTE4LCAwLCAxMTIsIC05NCwgLTE4LCAwCi19Oworc3RhdGljIHZl
Yzgga0FCR1JUb1YgPSB7MTEyLCAtOTQsIC0xOCwgMCwgMTEyLCAtOTQsIC0xOCwgMCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIDExMiwgLTk0LCAtMTgsIDAsIDExMiwgLTk0LCAtMTgsIDB9Owog
CiAvLyBDb25zdGFudHMgZm9yIFJHQkEuCi1zdGF0aWMgdmVjOCBrUkdCQVRvWSA9IHsKLSAgMCwg
MTMsIDY1LCAzMywgMCwgMTMsIDY1LCAzMywgMCwgMTMsIDY1LCAzMywgMCwgMTMsIDY1LCAzMwot
fTsKK3N0YXRpYyB2ZWM4IGtSR0JBVG9ZID0gezAsIDEzLCA2NSwgMzMsIDAsIDEzLCA2NSwgMzMs
CisgICAgICAgICAgICAgICAgICAgICAgICAwLCAxMywgNjUsIDMzLCAwLCAxMywgNjUsIDMzfTsK
IAotc3RhdGljIHZlYzgga1JHQkFUb1UgPSB7Ci0gIDAsIDExMiwgLTc0LCAtMzgsIDAsIDExMiwg
LTc0LCAtMzgsIDAsIDExMiwgLTc0LCAtMzgsIDAsIDExMiwgLTc0LCAtMzgKLX07CitzdGF0aWMg
dmVjOCBrUkdCQVRvVSA9IHswLCAxMTIsIC03NCwgLTM4LCAwLCAxMTIsIC03NCwgLTM4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgMCwgMTEyLCAtNzQsIC0zOCwgMCwgMTEyLCAtNzQsIC0zOH07
CiAKLXN0YXRpYyB2ZWM4IGtSR0JBVG9WID0gewotICAwLCAtMTgsIC05NCwgMTEyLCAwLCAtMTgs
IC05NCwgMTEyLCAwLCAtMTgsIC05NCwgMTEyLCAwLCAtMTgsIC05NCwgMTEyCi19Oworc3RhdGlj
IHZlYzgga1JHQkFUb1YgPSB7MCwgLTE4LCAtOTQsIDExMiwgMCwgLTE4LCAtOTQsIDExMiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIDAsIC0xOCwgLTk0LCAxMTIsIDAsIC0xOCwgLTk0LCAxMTJ9
OwogCi1zdGF0aWMgdXZlYzgga0FkZFkxNiA9IHsKLSAgMTZ1LCAxNnUsIDE2dSwgMTZ1LCAxNnUs
IDE2dSwgMTZ1LCAxNnUsIDE2dSwgMTZ1LCAxNnUsIDE2dSwgMTZ1LCAxNnUsIDE2dSwgMTZ1Ci19
Oworc3RhdGljIHV2ZWM4IGtBZGRZMTYgPSB7MTZ1LCAxNnUsIDE2dSwgMTZ1LCAxNnUsIDE2dSwg
MTZ1LCAxNnUsCisgICAgICAgICAgICAgICAgICAgICAgICAxNnUsIDE2dSwgMTZ1LCAxNnUsIDE2
dSwgMTZ1LCAxNnUsIDE2dX07CiAKIC8vIDcgYml0IGZpeGVkIHBvaW50IDAuNS4KLXN0YXRpYyB2
ZWMxNiBrQWRkWUo2NCA9IHsKLSAgNjQsIDY0LCA2NCwgNjQsIDY0LCA2NCwgNjQsIDY0Ci19Owor
c3RhdGljIHZlYzE2IGtBZGRZSjY0ID0gezY0LCA2NCwgNjQsIDY0LCA2NCwgNjQsIDY0LCA2NH07
CiAKLXN0YXRpYyB1dmVjOCBrQWRkVVYxMjggPSB7Ci0gIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUs
IDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsCi0gIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUs
IDEyOHUsIDEyOHUsIDEyOHUKLX07CitzdGF0aWMgdXZlYzgga0FkZFVWMTI4ID0gezEyOHUsIDEy
OHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHV9
OwogCi1zdGF0aWMgdXZlYzE2IGtBZGRVVkoxMjggPSB7Ci0gIDB4ODA4MHUsIDB4ODA4MHUsIDB4
ODA4MHUsIDB4ODA4MHUsIDB4ODA4MHUsIDB4ODA4MHUsIDB4ODA4MHUsIDB4ODA4MHUKLX07Citz
dGF0aWMgdXZlYzE2IGtBZGRVVkoxMjggPSB7MHg4MDgwdSwgMHg4MDgwdSwgMHg4MDgwdSwgMHg4
MDgwdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwODB1LCAweDgwODB1LCAweDgw
ODB1LCAweDgwODB1fTsKICNlbmRpZiAgLy8gZGVmaW5lZChIQVNfQVJHQlRPWVJPV19TU1NFMykg
fHwgZGVmaW5lZChIQVNfSTQyMlRPQVJHQlJPV19TU1NFMykKIAogI2lmZGVmIEhBU19SR0IyNFRP
QVJHQlJPV19TU1NFMwogCiAvLyBTaHVmZmxlIHRhYmxlIGZvciBjb252ZXJ0aW5nIFJHQjI0IHRv
IEFSR0IuCi1zdGF0aWMgdXZlYzgga1NodWZmbGVNYXNrUkdCMjRUb0FSR0IgPSB7Ci0gIDB1LCAx
dSwgMnUsIDEydSwgM3UsIDR1LCA1dSwgMTN1LCA2dSwgN3UsIDh1LCAxNHUsIDl1LCAxMHUsIDEx
dSwgMTV1Ci19Oworc3RhdGljIHV2ZWM4IGtTaHVmZmxlTWFza1JHQjI0VG9BUkdCID0gezB1LCAx
dSwgMnUsIDEydSwgM3UsIDR1LCAgNXUsICAxM3UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNnUsIDd1LCA4dSwgMTR1LCA5dSwgMTB1LCAxMXUsIDE1dX07CiAKIC8v
IFNodWZmbGUgdGFibGUgZm9yIGNvbnZlcnRpbmcgUkFXIHRvIEFSR0IuCi1zdGF0aWMgdXZlYzgg
a1NodWZmbGVNYXNrUkFXVG9BUkdCID0gewotICAydSwgMXUsIDB1LCAxMnUsIDV1LCA0dSwgM3Us
IDEzdSwgOHUsIDd1LCA2dSwgMTR1LCAxMXUsIDEwdSwgOXUsIDE1dQotfTsKK3N0YXRpYyB1dmVj
OCBrU2h1ZmZsZU1hc2tSQVdUb0FSR0IgPSB7MnUsIDF1LCAwdSwgMTJ1LCA1dSwgIDR1LCAgM3Us
IDEzdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOHUsIDd1LCA2dSwg
MTR1LCAxMXUsIDEwdSwgOXUsIDE1dX07CiAKIC8vIFNodWZmbGUgdGFibGUgZm9yIGNvbnZlcnRp
bmcgUkFXIHRvIFJHQjI0LiAgRmlyc3QgOC4KIHN0YXRpYyBjb25zdCB1dmVjOCBrU2h1ZmZsZU1h
c2tSQVdUb1JHQjI0XzAgPSB7Ci0gIDJ1LCAxdSwgMHUsIDV1LCA0dSwgM3UsIDh1LCA3dSwKLSAg
MTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dQotfTsKKyAgICAy
dSwgICAxdSwgICAwdSwgICA1dSwgICA0dSwgICAzdSwgICA4dSwgICA3dSwKKyAgICAxMjh1LCAx
Mjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1fTsKIAogLy8gU2h1ZmZsZSB0
YWJsZSBmb3IgY29udmVydGluZyBSQVcgdG8gUkdCMjQuICBNaWRkbGUgOC4KIHN0YXRpYyBjb25z
dCB1dmVjOCBrU2h1ZmZsZU1hc2tSQVdUb1JHQjI0XzEgPSB7Ci0gIDJ1LCA3dSwgNnUsIDV1LCAx
MHUsIDl1LCA4dSwgMTN1LAotICAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAx
Mjh1LCAxMjh1Ci19OworICAgIDJ1LCAgIDd1LCAgIDZ1LCAgIDV1LCAgIDEwdSwgIDl1LCAgIDh1
LCAgIDEzdSwKKyAgICAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAx
Mjh1fTsKIAogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgY29udmVydGluZyBSQVcgdG8gUkdCMjQuICBM
YXN0IDguCiBzdGF0aWMgY29uc3QgdXZlYzgga1NodWZmbGVNYXNrUkFXVG9SR0IyNF8yID0gewot
ICA4dSwgN3UsIDEydSwgMTF1LCAxMHUsIDE1dSwgMTR1LCAxM3UsCi0gIDEyOHUsIDEyOHUsIDEy
OHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUKLX07CisgICAgOHUsICAgN3UsICAgMTJ1
LCAgMTF1LCAgMTB1LCAgMTV1LCAgMTR1LCAgMTN1LAorICAgIDEyOHUsIDEyOHUsIDEyOHUsIDEy
OHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHV9OwogCiAvLyBTaHVmZmxlIHRhYmxlIGZvciBjb252
ZXJ0aW5nIEFSR0IgdG8gUkdCMjQuCiBzdGF0aWMgdXZlYzgga1NodWZmbGVNYXNrQVJHQlRvUkdC
MjQgPSB7Ci0gIDB1LCAxdSwgMnUsIDR1LCA1dSwgNnUsIDh1LCA5dSwgMTB1LCAxMnUsIDEzdSwg
MTR1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1Ci19OworICAgIDB1LCAxdSwgMnUsIDR1LCA1dSwg
NnUsIDh1LCA5dSwgMTB1LCAxMnUsIDEzdSwgMTR1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1fTsK
IAogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgY29udmVydGluZyBBUkdCIHRvIFJBVy4KIHN0YXRpYyB1
dmVjOCBrU2h1ZmZsZU1hc2tBUkdCVG9SQVcgPSB7Ci0gIDJ1LCAxdSwgMHUsIDZ1LCA1dSwgNHUs
IDEwdSwgOXUsIDh1LCAxNHUsIDEzdSwgMTJ1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1Ci19Owor
ICAgIDJ1LCAxdSwgMHUsIDZ1LCA1dSwgNHUsIDEwdSwgOXUsIDh1LCAxNHUsIDEzdSwgMTJ1LCAx
Mjh1LCAxMjh1LCAxMjh1LCAxMjh1fTsKIAogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgY29udmVydGlu
ZyBBUkdCVG9SR0IyNCBmb3IgSTQyMlRvUkdCMjQuICBGaXJzdCA4ICsgbmV4dCA0CiBzdGF0aWMg
dXZlYzgga1NodWZmbGVNYXNrQVJHQlRvUkdCMjRfMCA9IHsKLSAgMHUsIDF1LCAydSwgNHUsIDV1
LCA2dSwgOHUsIDl1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMHUsIDEydSwgMTN1LCAxNHUK
LX07CisgICAgMHUsIDF1LCAydSwgNHUsIDV1LCA2dSwgOHUsIDl1LCAxMjh1LCAxMjh1LCAxMjh1
LCAxMjh1LCAxMHUsIDEydSwgMTN1LCAxNHV9OwogCiAvLyBZVVkyIHNodWYgMTYgWSB0byAzMiBZ
Lgotc3RhdGljIGNvbnN0IGx2ZWM4IGtTaHVmZmxlWVVZMlkgPSB7Ci0gIDAsIDAsIDIsIDIsIDQs
IDQsIDYsIDYsIDgsIDgsIDEwLCAxMCwgMTIsIDEyLCAxNCwgMTQsCi0gIDAsIDAsIDIsIDIsIDQs
IDQsIDYsIDYsIDgsIDgsIDEwLCAxMCwgMTIsIDEyLCAxNCwgMTQKLX07CitzdGF0aWMgY29uc3Qg
bHZlYzgga1NodWZmbGVZVVkyWSA9IHswLCAgMCwgIDIsICAyLCAgNCwgIDQsICA2LCAgNiwgIDgs
ICA4LCAxMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLCAxMiwgMTIs
IDE0LCAxNCwgMCwgIDAsICAyLCAgMiwgIDQsIDQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA2LCAgNiwgIDgsICA4LCAgMTAsIDEwLCAxMiwgMTIsIDE0LCAxNH07CiAKIC8v
IFlVWTIgc2h1ZiA4IFVWIHRvIDE2IFVWLgotc3RhdGljIGNvbnN0IGx2ZWM4IGtTaHVmZmxlWVVZ
MlVWID0gewotICAxLCAzLCAxLCAzLCA1LCA3LCA1LCA3LCA5LCAxMSwgOSwgMTEsIDEzLCAxNSwg
MTMsIDE1LAotICAxLCAzLCAxLCAzLCA1LCA3LCA1LCA3LCA5LCAxMSwgOSwgMTEsIDEzLCAxNSwg
MTMsIDE1Ci19Oworc3RhdGljIGNvbnN0IGx2ZWM4IGtTaHVmZmxlWVVZMlVWID0gezEsICAzLCAg
MSwgIDMsICA1LCAgNywgIDUsICA3LCAgOSwgIDExLCA5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDExLCAxMywgMTUsIDEzLCAxNSwgMSwgIDMsICAxLCAgMywgIDUsICA3
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUsICA3LCAgOSwgIDExLCA5
LCAgMTEsIDEzLCAxNSwgMTMsIDE1fTsKIAogLy8gVVlWWSBzaHVmIDE2IFkgdG8gMzIgWS4KLXN0
YXRpYyBjb25zdCBsdmVjOCBrU2h1ZmZsZVVZVllZID0gewotICAxLCAxLCAzLCAzLCA1LCA1LCA3
LCA3LCA5LCA5LCAxMSwgMTEsIDEzLCAxMywgMTUsIDE1LAotICAxLCAxLCAzLCAzLCA1LCA1LCA3
LCA3LCA5LCA5LCAxMSwgMTEsIDEzLCAxMywgMTUsIDE1Ci19Oworc3RhdGljIGNvbnN0IGx2ZWM4
IGtTaHVmZmxlVVlWWVkgPSB7MSwgIDEsICAzLCAgMywgIDUsICA1LCAgNywgIDcsICA5LCAgOSwg
MTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMSwgMTMsIDEzLCAxNSwg
MTUsIDEsICAxLCAgMywgIDMsICA1LCA1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNywgIDcsICA5LCAgOSwgIDExLCAxMSwgMTMsIDEzLCAxNSwgMTV9OwogCiAvLyBVWVZZ
IHNodWYgOCBVViB0byAxNiBVVi4KLXN0YXRpYyBjb25zdCBsdmVjOCBrU2h1ZmZsZVVZVllVViA9
IHsKLSAgMCwgMiwgMCwgMiwgNCwgNiwgNCwgNiwgOCwgMTAsIDgsIDEwLCAxMiwgMTQsIDEyLCAx
NCwKLSAgMCwgMiwgMCwgMiwgNCwgNiwgNCwgNiwgOCwgMTAsIDgsIDEwLCAxMiwgMTQsIDEyLCAx
NAotfTsKK3N0YXRpYyBjb25zdCBsdmVjOCBrU2h1ZmZsZVVZVllVViA9IHswLCAgMiwgIDAsICAy
LCAgNCwgIDYsICA0LCAgNiwgIDgsICAxMCwgOCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxMCwgMTIsIDE0LCAxMiwgMTQsIDAsICAyLCAgMCwgIDIsICA0LCAgNiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LCAgNiwgIDgsICAxMCwgOCwgIDEw
LCAxMiwgMTQsIDEyLCAxNH07CiAKIC8vIE5WMjEgc2h1ZiA4IFZVIHRvIDE2IFVWLgogc3RhdGlj
IGNvbnN0IGx2ZWM4IGtTaHVmZmxlTlYyMSA9IHsKLSAgMSwgMCwgMSwgMCwgMywgMiwgMywgMiwg
NSwgNCwgNSwgNCwgNywgNiwgNywgNiwKLSAgMSwgMCwgMSwgMCwgMywgMiwgMywgMiwgNSwgNCwg
NSwgNCwgNywgNiwgNywgNiwKKyAgICAxLCAwLCAxLCAwLCAzLCAyLCAzLCAyLCA1LCA0LCA1LCA0
LCA3LCA2LCA3LCA2LAorICAgIDEsIDAsIDEsIDAsIDMsIDIsIDMsIDIsIDUsIDQsIDUsIDQsIDcs
IDYsIDcsIDYsCiB9OwogI2VuZGlmICAvLyBIQVNfUkdCMjRUT0FSR0JST1dfU1NTRTMKIApAQCAt
MTkxLDcgKzE1OCw3IEBAIHZvaWQgSjQwMFRvQVJHQlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNf
eSwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKICAgICAicGNtcGVxYiAgICUleG1tNSwl
JXhtbTUgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgInBzbGxkICAgICAkMHgxOCwlJXhtbTUg
ICAgICAgICAgICAgICAgICAgIFxuIgogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3ZxICAgICAgIiBNRU1BQ0NFU1Mo
MCkgIiwlJXhtbTAgICAgICAgICBcbiIKICAgICAibGVhICAgICAgICIgTUVNTEVBKDB4OCwwKSAi
LCUwICAgICAgICAgICAgXG4iCiAgICAgInB1bnBja2xidyAlJXhtbTAsJSV4bW0wICAgICAgICAg
ICAgICAgICAgIFxuIgpAQCAtMjIwLDcgKzE4Nyw3IEBAIHZvaWQgUkdCMjRUb0FSR0JSb3dfU1NT
RTMoY29uc3QgdWludDgqIHNyY19yZ2IyNCwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsK
ICAgICAicHNsbGQgICAgICQweDE4LCUleG1tNSAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAg
Im1vdmRxYSAgICAlMywlJXhtbTQgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIExBQkVM
QUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAg
ICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICBcbiIKICAgICAibW92
ZHF1ICAgICIgTUVNQUNDRVNTMigweDEwLDApICIsJSV4bW0xICAgXG4iCiAgICAgIm1vdmRxdSAg
ICAiIE1FTUFDQ0VTUzIoMHgyMCwwKSAiLCUleG1tMyAgIFxuIgpAQCAtMjU4LDcgKzIyNSw3IEBA
IHZvaWQgUkFXVG9BUkdCUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCB1aW50OCogZHN0
X2FyZ2IsIGludCB3aWR0aCkgewogICAgICJwc2xsZCAgICAgJDB4MTgsJSV4bW01ICAgICAgICAg
ICAgICAgICAgICBcbiIKICAgICAibW92ZHFhICAgICUzLCUleG1tNCAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAg
ICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4MTAsMCkgIiwlJXhtbTEg
ICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTMigweDIwLDApICIsJSV4bW0zICAgXG4i
CkBAIC0yOTYsNyArMjYzLDcgQEAgdm9pZCBSQVdUb1JHQjI0Um93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmNfcmF3LCB1aW50OCogZHN0X3JnYjI0LCBpbnQgd2lkdGgpIHsKICAgICJtb3ZkcWEgICAg
ICU0LCUleG1tNCAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAibW92ZHFhICAgICAlNSwl
JXhtbTUgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIExBQkVMQUxJR04KLSAgIjE6ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBN
RU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUND
RVNTMigweDQsMCkgIiwlJXhtbTEgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUzIo
MHg4LDApICIsJSV4bW0yICAgIFxuIgpAQCAtMzM4LDcgKzMwNSw3IEBAIHZvaWQgUkdCNTY1VG9B
UkdCUm93X1NTRTIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CiAg
ICAgInN1YiAgICAgICAlMCwlMSAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJz
dWIgICAgICAgJTAsJTEgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBMQUJFTEFM
SUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAi
bW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1vdmRx
YSAgICAlJXhtbTAsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3ZkcWEgICAg
JSV4bW0wLCUleG1tMiAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTM4NSw3ICszNTIsNyBAQCB2
b2lkIEFSR0IxNTU1VG9BUkdCUm93X1NTRTIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwg
aW50IHdpZHRoKSB7CiAgICAgInN1YiAgICAgICAlMCwlMSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgogICAgICJzdWIgICAgICAgJTAsJTEgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAg
XG4iCiAgICAgIm1vdmRxYSAgICAlJXhtbTAsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxuIgog
ICAgICJtb3ZkcWEgICAgJSV4bW0wLCUleG1tMiAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTQy
OSw3ICszOTYsNyBAQCB2b2lkIEFSR0I0NDQ0VG9BUkdCUm93X1NTRTIoY29uc3QgdWludDgqIHNy
YywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CiAgICAgInN1YiAgICAgICAlMCwlMSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJzdWIgICAgICAgJTAsJTEgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIs
JSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1vdmRxYSAgICAlJXhtbTAsJSV4bW0yICAgICAgICAg
ICAgICAgICAgIFxuIgogICAgICJwYW5kICAgICAgJSV4bW00LCUleG1tMCAgICAgICAgICAgICAg
ICAgICBcbiIKQEAgLTQ2MSw3ICs0MjgsNyBAQCB2b2lkIEFSR0JUb1JHQjI0Um93X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUg
KAogICAgICJtb3ZkcWEgICAgJTMsJSV4bW02ICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAg
ICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAg
ICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUzIoMHgxMCwwKSAiLCUleG1tMSAgIFxuIgogICAgICJt
b3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4MjAsMCkgIiwlJXhtbTIgICBcbiIKQEAgLTQ5OSw3ICs0
NjYsNyBAQCB2b2lkIEFSR0JUb1JBV1Jvd19TU1NFMyhjb25zdCB1aW50OCogc3JjLCB1aW50OCog
ZHN0LCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAibW92ZHFhICAgICUzLCUl
eG1tNiAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgTEFCRUxBTElHTgotICAiMTogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1F
TUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NF
U1MyKDB4MTAsMCkgIiwlJXhtbTEgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTMigw
eDIwLDApICIsJSV4bW0yICAgXG4iCkBAIC01NDMsNyArNTEwLDcgQEAgdm9pZCBBUkdCVG9SR0I1
NjVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpIHsKICAg
ICAicGNtcGVxYiAgICUleG1tNSwlJXhtbTUgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgInBz
bGxkICAgICAkMHhiLCUleG1tNSAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIExBQkVMQUxJ
R04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJt
b3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICBcbiIKICAgICAibW92ZHFh
ICAgICUleG1tMCwlJXhtbTEgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxYSAgICAl
JXhtbTAsJSV4bW0yICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNTY5LDk4ICs1MzYsOTkgQEAg
dm9pZCBBUkdCVG9SR0I1NjVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBp
bnQgd2lkdGgpIHsKICAgKTsKIH0KIAotdm9pZCBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfU1NFMihj
b25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50MzIgZGl0aGVyNCwgaW50IHdpZHRoKSB7Ci0gIGFzbSB2b2xhdGlsZSAo
Ci0gICAgIm1vdmQgICAgICAgJTMsJSV4bW02ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJwdW5wY2tsYncgICUleG1tNiwlJXhtbTYgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92
ZHFhICAgICAlJXhtbTYsJSV4bW03ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB1bnBja2x3
ZCAgJSV4bW02LCUleG1tNiAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwdW5wY2tod2QgICUl
eG1tNywlJXhtbTcgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicGNtcGVxYiAgICAlJXhtbTMs
JSV4bW0zICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBzcmxkICAgICAgJDB4MWIsJSV4bW0z
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwY21wZXFiICAgICUleG1tNCwlJXhtbTQgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAicHNybGQgICAgICAkMHgxYSwlJXhtbTQgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgInBzbGxkICAgICAgJDB4NSwlJXhtbTQgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJwY21wZXFiICAgICUleG1tNSwlJXhtbTUgICAgICAgICAgICAgICAgICBc
biIKLSAgICAicHNsbGQgICAgICAkMHhiLCUleG1tNSAgICAgICAgICAgICAgICAgICAgXG4iCi0K
LSAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJtb3ZkcXUgICAgICglMCksJSV4bW0wICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAicGFkZHVzYiAgICAlJXhtbTYsJSV4bW0wICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1tMSAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTIgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHNs
bGQgICAgICAkMHg4LCUleG1tMCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBzcmxkICAg
ICAgJDB4MywlJXhtbTEgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwc3JsZCAgICAgICQw
eDUsJSV4bW0yICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHNyYWQgICAgICAkMHgxMCwl
JXhtbTAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBhbmQgICAgICAgJSV4bW0zLCUleG1t
MSAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwYW5kICAgICAgICUleG1tNCwlJXhtbTIgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAicGFuZCAgICAgICAlJXhtbTUsJSV4bW0wICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgInBvciAgICAgICAgJSV4bW0yLCUleG1tMSAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJwb3IgICAgICAgICUleG1tMSwlJXhtbTAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAicGFja3NzZHcgICAlJXhtbTAsJSV4bW0wICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgImxlYSAgICAgICAgMHgxMCglMCksJTAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJt
b3ZxICAgICAgICUleG1tMCwoJTEpICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAg
ICAgICAweDgoJTEpLCUxICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN1YiAgICAgICAg
JDB4NCwlMiAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJqZyAgICAgICAgMWIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgOiAiK3IiKHNyYyksICAvLyAlMAotICAg
ICIrciIoZHN0KSwgIC8vICUxCi0gICAgIityIih3aWR0aCkgICAvLyAlMgotICA6ICJtIihkaXRo
ZXI0KSAvLyAlMwotICA6ICJtZW1vcnkiLCAiY2MiLAotICAgICJ4bW0wIiwgInhtbTEiLCAieG1t
MiIsICJ4bW0zIiwgInhtbTQiLCAieG1tNSIsICJ4bW02IiwgInhtbTciCi0gICk7Cit2b2lkIEFS
R0JUb1JHQjU2NURpdGhlclJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQzMiBkaXRoZXI0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKKyAgYXNtIHZvbGF0aWxlKAorICAgICAgIm1vdmQgICAgICAgJTMs
JSV4bW02ICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2xidyAgJSV4bW02
LCUleG1tNiAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAgJSV4bW02LCUl
eG1tNyAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2x3ZCAgJSV4bW02LCUleG1t
NiAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2h3ZCAgJSV4bW03LCUleG1tNyAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgInBjbXBlcWIgICAgJSV4bW0zLCUleG1tMyAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgInBzcmxkICAgICAgJDB4MWIsJSV4bW0zICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgInBjbXBlcWIgICAgJSV4bW00LCUleG1tNCAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgInBzcmxkICAgICAgJDB4MWEsJSV4bW00ICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgInBzbGxkICAgICAgJDB4NSwlJXhtbTQgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgInBjbXBlcWIgICAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgInBzbGxkICAgICAgJDB4YiwlJXhtbTUgICAgICAgICAgICAgICAgICAgIFxuIgor
CisgICAgICBMQUJFTEFMSUdOCisgICAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHF1ICAgICAoJTApLCUleG1tMCAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAicGFkZHVzYiAgICAlJXhtbTYsJSV4bW0wICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTAsJSV4bW0xICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAibW92ZHFhICAgICAlJXhtbTAsJSV4bW0yICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAicHNsbGQgICAgICAkMHg4LCUleG1tMCAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAicHNybGQgICAgICAkMHgzLCUleG1tMSAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAicHNybGQgICAgICAkMHg1LCUleG1tMiAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAicHNyYWQgICAgICAkMHgxMCwlJXhtbTAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
cGFuZCAgICAgICAlJXhtbTMsJSV4bW0xICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFu
ZCAgICAgICAlJXhtbTQsJSV4bW0yICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFuZCAg
ICAgICAlJXhtbTUsJSV4bW0wICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicG9yICAgICAg
ICAlJXhtbTIsJSV4bW0xICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicG9yICAgICAgICAl
JXhtbTEsJSV4bW0wICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicGFja3NzZHcgICAlJXht
bTAsJSV4bW0wICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAweDEwKCUw
KSwlMCAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92cSAgICAgICAlJXhtbTAsKCUx
KSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAweDgoJTEpLCUxICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3ViICAgICAgICAkMHg0LCUyICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAiamcgICAgICAgIDFiICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICA6ICIrciIoc3JjKSwgICAgLy8gJTAKKyAgICAgICAgIity
Iihkc3QpLCAgICAvLyAlMQorICAgICAgICAiK3IiKHdpZHRoKSAgIC8vICUyCisgICAgICA6ICJt
IihkaXRoZXI0KSAgLy8gJTMKKyAgICAgIDogIm1lbW9yeSIsICJjYyIsICJ4bW0wIiwgInhtbTEi
LCAieG1tMiIsICJ4bW0zIiwgInhtbTQiLCAieG1tNSIsICJ4bW02IiwKKyAgICAgICAgInhtbTci
KTsKIH0KIAogI2lmZGVmIEhBU19BUkdCVE9SR0I1NjVESVRIRVJST1dfQVZYMgotdm9pZCBBUkdC
VG9SR0I1NjVEaXRoZXJSb3dfQVZYMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzIgZGl0aGVyNCwgaW50IHdp
ZHRoKSB7Ci0gIGFzbSB2b2xhdGlsZSAoCi0gICAgInZicm9hZGNhc3RzcyAlMywlJXhtbTYgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJ2cHVucGNrbGJ3ICUleG1tNiwlJXhtbTYsJSV4bW02
ICAgICAgICAgICBcbiIKLSAgICAidnBlcm1xICAgICAkMHhkOCwlJXltbTYsJSV5bW02ICAgICAg
ICAgICAgXG4iCi0gICAgInZwdW5wY2tsd2QgJSV5bW02LCUleW1tNiwlJXltbTYgICAgICAgICAg
IFxuIgotICAgICJ2cGNtcGVxYiAgICUleW1tMywlJXltbTMsJSV5bW0zICAgICAgICAgICBcbiIK
LSAgICAidnBzcmxkICAgICAkMHgxYiwlJXltbTMsJSV5bW0zICAgICAgICAgICAgXG4iCi0gICAg
InZwY21wZXFiICAgJSV5bW00LCUleW1tNCwlJXltbTQgICAgICAgICAgIFxuIgotICAgICJ2cHNy
bGQgICAgICQweDFhLCUleW1tNCwlJXltbTQgICAgICAgICAgICBcbiIKLSAgICAidnBzbGxkICAg
ICAkMHg1LCUleW1tNCwlJXltbTQgICAgICAgICAgICAgXG4iCi0gICAgInZwc2xsZCAgICAgJDB4
YiwlJXltbTMsJSV5bW01ICAgICAgICAgICAgIFxuIgotCi0gICAgTEFCRUxBTElHTgotICAiMTog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAidm1vdmRx
dSAgICAoJTApLCUleW1tMCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInZwYWRkdXNiICAg
JSV5bW02LCUleW1tMCwlJXltbTAgICAgICAgICAgIFxuIgotICAgICJ2cHNybGQgICAgICQweDUs
JSV5bW0wLCUleW1tMiAgICAgICAgICAgICBcbiIKLSAgICAidnBzcmxkICAgICAkMHgzLCUleW1t
MCwlJXltbTEgICAgICAgICAgICAgXG4iCi0gICAgInZwc3JsZCAgICAgJDB4OCwlJXltbTAsJSV5
bW0wICAgICAgICAgICAgIFxuIgotICAgICJ2cGFuZCAgICAgICUleW1tNCwlJXltbTIsJSV5bW0y
ICAgICAgICAgICBcbiIKLSAgICAidnBhbmQgICAgICAlJXltbTMsJSV5bW0xLCUleW1tMSAgICAg
ICAgICAgXG4iCi0gICAgInZwYW5kICAgICAgJSV5bW01LCUleW1tMCwlJXltbTAgICAgICAgICAg
IFxuIgotICAgICJ2cG9yICAgICAgICUleW1tMiwlJXltbTEsJSV5bW0xICAgICAgICAgICBcbiIK
LSAgICAidnBvciAgICAgICAlJXltbTEsJSV5bW0wLCUleW1tMCAgICAgICAgICAgXG4iCi0gICAg
InZwYWNrdXNkdyAgJSV5bW0wLCUleW1tMCwlJXltbTAgICAgICAgICAgIFxuIgotICAgICJ2cGVy
bXEgICAgICQweGQ4LCUleW1tMCwlJXltbTAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAgICAg
ICAweDIwKCUwKSwlMCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInZtb3ZkcXUgICAgJSV4
bW0wLCglMSkgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsZWEgICAgICAgIDB4MTAoJTEp
LCUxICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3ViICAgICAgICAkMHg4LCUyICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImpnICAgICAgICAgMWIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJ2emVyb3VwcGVyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgOiAiK3IiKHNyYyksICAvLyAlMAotICAgICIrciIoZHN0KSwgIC8vICUx
Ci0gICAgIityIih3aWR0aCkgICAvLyAlMgotICA6ICJtIihkaXRoZXI0KSAvLyAlMwotICA6ICJt
ZW1vcnkiLCAiY2MiLAotICAgICJ4bW0wIiwgInhtbTEiLCAieG1tMiIsICJ4bW0zIiwgInhtbTQi
LCAieG1tNSIsICJ4bW02IiwgInhtbTciCi0gICk7Cit2b2lkIEFSR0JUb1JHQjU2NURpdGhlclJv
d19BVlgyKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQz
MiBkaXRoZXI0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsK
KyAgYXNtIHZvbGF0aWxlKAorICAgICAgInZicm9hZGNhc3RzcyAlMywlJXhtbTYgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgInZwdW5wY2tsYncgJSV4bW02LCUleG1tNiwlJXhtbTYgICAg
ICAgICAgIFxuIgorICAgICAgInZwZXJtcSAgICAgJDB4ZDgsJSV5bW02LCUleW1tNiAgICAgICAg
ICAgIFxuIgorICAgICAgInZwdW5wY2tsd2QgJSV5bW02LCUleW1tNiwlJXltbTYgICAgICAgICAg
IFxuIgorICAgICAgInZwY21wZXFiICAgJSV5bW0zLCUleW1tMywlJXltbTMgICAgICAgICAgIFxu
IgorICAgICAgInZwc3JsZCAgICAgJDB4MWIsJSV5bW0zLCUleW1tMyAgICAgICAgICAgIFxuIgor
ICAgICAgInZwY21wZXFiICAgJSV5bW00LCUleW1tNCwlJXltbTQgICAgICAgICAgIFxuIgorICAg
ICAgInZwc3JsZCAgICAgJDB4MWEsJSV5bW00LCUleW1tNCAgICAgICAgICAgIFxuIgorICAgICAg
InZwc2xsZCAgICAgJDB4NSwlJXltbTQsJSV5bW00ICAgICAgICAgICAgIFxuIgorICAgICAgInZw
c2xsZCAgICAgJDB4YiwlJXltbTMsJSV5bW01ICAgICAgICAgICAgIFxuIgorCisgICAgICBMQUJF
TEFMSUdOCisgICAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAidm1vdmRxdSAgICAoJTApLCUleW1tMCAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAidnBhZGR1c2IgICAlJXltbTYsJSV5bW0wLCUleW1tMCAgICAgICAgICAgXG4iCisg
ICAgICAidnBzcmxkICAgICAkMHg1LCUleW1tMCwlJXltbTIgICAgICAgICAgICAgXG4iCisgICAg
ICAidnBzcmxkICAgICAkMHgzLCUleW1tMCwlJXltbTEgICAgICAgICAgICAgXG4iCisgICAgICAi
dnBzcmxkICAgICAkMHg4LCUleW1tMCwlJXltbTAgICAgICAgICAgICAgXG4iCisgICAgICAidnBh
bmQgICAgICAlJXltbTQsJSV5bW0yLCUleW1tMiAgICAgICAgICAgXG4iCisgICAgICAidnBhbmQg
ICAgICAlJXltbTMsJSV5bW0xLCUleW1tMSAgICAgICAgICAgXG4iCisgICAgICAidnBhbmQgICAg
ICAlJXltbTUsJSV5bW0wLCUleW1tMCAgICAgICAgICAgXG4iCisgICAgICAidnBvciAgICAgICAl
JXltbTIsJSV5bW0xLCUleW1tMSAgICAgICAgICAgXG4iCisgICAgICAidnBvciAgICAgICAlJXlt
bTEsJSV5bW0wLCUleW1tMCAgICAgICAgICAgXG4iCisgICAgICAidnBhY2t1c2R3ICAlJXltbTAs
JSV5bW0wLCUleW1tMCAgICAgICAgICAgXG4iCisgICAgICAidnBlcm1xICAgICAkMHhkOCwlJXlt
bTAsJSV5bW0wICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAweDIwKCUwKSwlMCAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAidm1vdmRxdSAgICAlJXhtbTAsKCUxKSAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAibGVhICAgICAgICAweDEwKCUxKSwlMSAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic3ViICAgICAgICAkMHg4LCUyICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAiamcgICAgICAgICAxYiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAidnplcm91cHBlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICA6ICIrciIoc3JjKSwgICAgLy8gJTAKKyAgICAgICAgIityIihkc3QpLCAg
ICAvLyAlMQorICAgICAgICAiK3IiKHdpZHRoKSAgIC8vICUyCisgICAgICA6ICJtIihkaXRoZXI0
KSAgLy8gJTMKKyAgICAgIDogIm1lbW9yeSIsICJjYyIsICJ4bW0wIiwgInhtbTEiLCAieG1tMiIs
ICJ4bW0zIiwgInhtbTQiLCAieG1tNSIsICJ4bW02IiwKKyAgICAgICAgInhtbTciKTsKIH0KICNl
bmRpZiAgLy8gSEFTX0FSR0JUT1JHQjU2NURJVEhFUlJPV19BVlgyCiAKLQogdm9pZCBBUkdCVG9B
UkdCMTU1NVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkg
ewogICBhc20gdm9sYXRpbGUgKAogICAgICJwY21wZXFiICAgJSV4bW00LCUleG1tNCAgICAgICAg
ICAgICAgICAgICBcbiIKQEAgLTY3MSw4ICs2MzksOSBAQCB2b2lkIEFSR0JUb0FSR0IxNTU1Um93
X1NTRTIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CiAgICAgInBz
bGxkICAgICAkMHhhLCUleG1tNiAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJwY21wZXFi
ICAgJSV4bW03LCUleG1tNyAgICAgICAgICAgICAgICAgICBcbiIKICAgICAicHNsbGQgICAgICQw
eGYsJSV4bW03ICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIx
OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAg
ICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1vdmRxYSAgICAlJXht
bTAsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3ZkcWEgICAgJSV4bW0wLCUl
eG1tMiAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTcwOCw4ICs2NzcsOSBAQCB2b2lkIEFSR0JU
b0FSR0I0NDQ0Um93X1NTRTIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRo
KSB7CiAgICAgInBzbGx3ICAgICAkMHhjLCUleG1tNCAgICAgICAgICAgICAgICAgICAgIFxuIgog
ICAgICJtb3ZkcWEgICAgJSV4bW00LCUleG1tMyAgICAgICAgICAgICAgICAgICBcbiIKICAgICAi
cHNybHcgICAgICQweDgsJSV4bW0zICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJF
TEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAg
ICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1v
dmRxYSAgICAlJXhtbTAsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJwYW5kICAg
ICAgJSV4bW0zLCUleG1tMCAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTczNyw4ICs3MDcsOSBA
QCB2b2lkIEFSR0JUb1lSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X3ksIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJtb3ZkcWEgICAgJTMsJSV4
bW00ICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHFhICAgICU0LCUleG1tNSAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUND
RVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUzIo
MHgxMCwwKSAiLCUleG1tMSAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4MjAs
MCkgIiwlJXhtbTIgICBcbiIKQEAgLTc3NSw4ICs3NDYsOSBAQCB2b2lkIEFSR0JUb1lKUm93X1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKICAg
YXNtIHZvbGF0aWxlICgKICAgICAibW92ZHFhICAgICUzLCUleG1tNCAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCiAgICAgIm1vdmRxYSAgICAlNCwlJXhtbTUgICAgICAgICAgICAgICAgICAgICAg
IFxuIgorCiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAg
ICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4MTAsMCkgIiwlJXhtbTEgICBc
biIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTMigweDIwLDApICIsJSV4bW0yICAgXG4iCkBA
IC04MDksOSArNzgxLDcgQEAgdm9pZCBBUkdCVG9ZSlJvd19TU1NFMyhjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CiAKICNpZmRlZiBIQVNfQVJHQlRPWVJP
V19BVlgyCiAvLyB2cGVybWQgZm9yIHZwaGFkZHcgKyB2cGFja3Vzd2IgdnBlcm1kLgotc3RhdGlj
IGNvbnN0IGx2ZWMzMiBrUGVybWRBUkdCVG9ZX0FWWCA9IHsKLSAgMCwgNCwgMSwgNSwgMiwgNiwg
MywgNwotfTsKK3N0YXRpYyBjb25zdCBsdmVjMzIga1Blcm1kQVJHQlRvWV9BVlggPSB7MCwgNCwg
MSwgNSwgMiwgNiwgMywgN307CiAKIC8vIENvbnZlcnQgMzIgQVJHQiBwaXhlbHMgKDEyOCBieXRl
cykgdG8gMzIgWSB2YWx1ZXMuCiB2b2lkIEFSR0JUb1lSb3dfQVZYMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CkBAIC04MTksOCArNzg5LDkgQEAgdm9p
ZCBBUkdCVG9ZUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGlu
dCB3aWR0aCkgewogICAgICJ2YnJvYWRjYXN0ZjEyOCAlMywlJXltbTQgICAgICAgICAgICAgICAg
ICBcbiIKICAgICAidmJyb2FkY2FzdGYxMjggJTQsJSV5bW01ICAgICAgICAgICAgICAgICAgXG4i
CiAgICAgInZtb3ZkcXUgICAgJTUsJSV5bW02ICAgICAgICAgICAgICAgICAgICAgIFxuIgorCiAg
ICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCiAgICAgInZtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXltbTAgICAgICAgIFxuIgog
ICAgICJ2bW92ZHF1ICAgICIgTUVNQUNDRVNTMigweDIwLDApICIsJSV5bW0xICBcbiIKICAgICAi
dm1vdmRxdSAgICAiIE1FTUFDQ0VTUzIoMHg0MCwwKSAiLCUleW1tMiAgXG4iCkBAIC04NjAsOCAr
ODMxLDkgQEAgdm9pZCBBUkdCVG9ZSlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWlu
dDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKICAgICAidmJyb2FkY2FzdGYxMjggJTMsJSV5bW00ICAg
ICAgICAgICAgICAgICAgXG4iCiAgICAgInZicm9hZGNhc3RmMTI4ICU0LCUleW1tNSAgICAgICAg
ICAgICAgICAgIFxuIgogICAgICJ2bW92ZHF1ICAgICU1LCUleW1tNiAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgogICAgICJ2bW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV5bW0w
ICAgICAgICBcbiIKICAgICAidm1vdmRxdSAgICAiIE1FTUFDQ0VTUzIoMHgyMCwwKSAiLCUleW1t
MSAgXG4iCiAgICAgInZtb3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4NDAsMCkgIiwlJXltbTIgIFxu
IgpAQCAtODk2LDE1ICs4NjgsMTkgQEAgdm9pZCBBUkdCVG9ZSlJvd19BVlgyKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKICNlbmRpZiAgLy8gSEFTX0FS
R0JUT1lKUk9XX0FWWDIKIAogI2lmZGVmIEhBU19BUkdCVE9VVlJPV19TU1NFMwotdm9pZCBBUkdC
VG9VVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50
IHdpZHRoKSB7Cit2b2lkIEFSR0JUb1VWUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAs
CisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0
aWxlICgKICAgICAibW92ZHFhICAgICU1LCUleG1tMyAgICAgICAgICAgICAgICAgICAgICAgXG4i
CiAgICAgIm1vdmRxYSAgICAlNiwlJXhtbTQgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAg
ICJtb3ZkcWEgICAgJTcsJSV4bW01ICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAic3Vi
ICAgICAgICUxLCUyICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFM
SUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAi
bW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgTUVNT1BS
RUcobW92ZHF1LDB4MDAsMCw0LDEseG1tNykgICAgICAgICAgICAvLyAgbW92ZHF1ICglMCwlNCwx
KSwlJXhtbTcKICAgICAicGF2Z2IgICAgICUleG1tNywlJXhtbTAgICAgICAgICAgICAgICAgICAg
XG4iCkBAIC05NjEsMTggKzkzNywyMSBAQCB2b2lkIEFSR0JUb1VWUm93X1NTU0UzKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAjaWZkZWYgSEFTX0FSR0JUT1VW
Uk9XX0FWWDIKIC8vIHZwc2h1ZmIgZm9yIHZwaGFkZHcgKyB2cGFja3Vzd2IgcGFja2VkIHRvIHNo
b3J0cy4KIHN0YXRpYyBjb25zdCBsdmVjOCBrU2h1ZkFSR0JUb1VWX0FWWCA9IHsKLSAgMCwgMSwg
OCwgOSwgMiwgMywgMTAsIDExLCA0LCA1LCAxMiwgMTMsIDYsIDcsIDE0LCAxNSwKLSAgMCwgMSwg
OCwgOSwgMiwgMywgMTAsIDExLCA0LCA1LCAxMiwgMTMsIDYsIDcsIDE0LCAxNQotfTsKLXZvaWQg
QVJHQlRvVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpIHsKKyAgICAwLCAxLCA4LCA5LCAyLCAzLCAxMCwgMTEsIDQsIDUsIDEyLCAxMywg
NiwgNywgMTQsIDE1LAorICAgIDAsIDEsIDgsIDksIDIsIDMsIDEwLCAxMSwgNCwgNSwgMTIsIDEz
LCA2LCA3LCAxNCwgMTV9Owordm9pZCBBUkdCVG9VVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjAsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9s
YXRpbGUgKAogICAgICJ2YnJvYWRjYXN0ZjEyOCAlNSwlJXltbTUgICAgICAgICAgICAgICAgICBc
biIKICAgICAidmJyb2FkY2FzdGYxMjggJTYsJSV5bW02ICAgICAgICAgICAgICAgICAgXG4iCiAg
ICAgInZicm9hZGNhc3RmMTI4ICU3LCUleW1tNyAgICAgICAgICAgICAgICAgIFxuIgotICAgICJz
dWIgICAgICAgJTEsJTIgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAic3ViICAg
ICAgICAlMSwlMiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdO
Ci0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAidm1v
dmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleW1tMCAgICAgICAgXG4iCiAgICAgInZtb3ZkcXUg
ICAgIiBNRU1BQ0NFU1MyKDB4MjAsMCkgIiwlJXltbTEgIFxuIgogICAgICJ2bW92ZHF1ICAgICIg
TUVNQUNDRVNTMigweDQwLDApICIsJSV5bW0yICBcbiIKQEAgLTk4MSw3ICs5NjAsNyBAQCB2b2lk
IEFSR0JUb1VWUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVf
YXJnYiwKICAgICBWTUVNT1BSRUcodnBhdmdiLDB4MjAsMCw0LDEseW1tMSx5bW0xKQogICAgIFZN
RU1PUFJFRyh2cGF2Z2IsMHg0MCwwLDQsMSx5bW0yLHltbTIpCiAgICAgVk1FTU9QUkVHKHZwYXZn
YiwweDYwLDAsNCwxLHltbTMseW1tMykKLSAgICAibGVhICAgICAgICIgTUVNTEVBKDB4ODAsMCkg
IiwlMCAgICAgICAgICAgXG4iCisgICAgImxlYSAgICAgICAgIiBNRU1MRUEoMHg4MCwwKSAiLCUw
ICAgICAgICAgIFxuIgogICAgICJ2c2h1ZnBzICAgICQweDg4LCUleW1tMSwlJXltbTAsJSV5bW00
ICAgICBcbiIKICAgICAidnNodWZwcyAgICAkMHhkZCwlJXltbTEsJSV5bW0wLCUleW1tMCAgICAg
XG4iCiAgICAgInZwYXZnYiAgICAgJSV5bW00LCUleW1tMCwlJXltbTAgICAgICAgICAgIFxuIgpA
QCAtMTAwNCw5ICs5ODMsOSBAQCB2b2lkIEFSR0JUb1VWUm93X0FWWDIoY29uc3QgdWludDgqIHNy
Y19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwKIAogICAgICJ2ZXh0cmFjdGYxMjggJDB4MCwl
JXltbTAsIiBNRU1BQ0NFU1MoMSkgIiBcbiIKICAgICBWRVhUT1BNRU0odmV4dHJhY3RmMTI4LDEs
eW1tMCwweDAsMSwyLDEpIC8vIHZleHRyYWN0ZjEyOCAkMSwlJXltbTAsKCUxLCUyLDEpCi0gICAg
ImxlYSAgICAgICAiIE1FTUxFQSgweDEwLDEpICIsJTEgICAgICAgICAgIFxuIgotICAgICJzdWIg
ICAgICAgJDB4MjAsJTMgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiamcgICAgICAg
IDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgImxlYSAgICAgICAgIiBN
RU1MRUEoMHgxMCwxKSAiLCUxICAgICAgICAgIFxuIgorICAgICJzdWIgICAgICAgICQweDIwLCUz
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiamcgICAgICAgICAxYiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCiAgICAgInZ6ZXJvdXBwZXIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgogICA6ICIrciIoc3JjX2FyZ2IwKSwgICAgICAgLy8gJTAKICAgICAi
K3IiKGRzdF91KSwgICAgICAgICAgIC8vICUxCkBAIC0xMDI0LDE1ICsxMDAzLDE5IEBAIHZvaWQg
QVJHQlRvVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAogI2VuZGlmICAvLyBIQVNfQVJHQlRPVVZST1dfQVZYMgogCiAjaWZkZWYgSEFTX0FSR0JU
T1VWSlJPV19BVlgyCi12b2lkIEFSR0JUb1VWSlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKK3ZvaWQgQVJHQlRvVVZKUm93X0FWWDIo
Y29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJ2YnJvYWRjYXN0ZjEyOCAlNSwlJXlt
bTUgICAgICAgICAgICAgICAgICBcbiIKICAgICAidmJyb2FkY2FzdGYxMjggJTYsJSV5bW02ICAg
ICAgICAgICAgICAgICAgXG4iCiAgICAgInZicm9hZGNhc3RmMTI4ICU3LCUleW1tNyAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJzdWIgICAgICAgJTEsJTIgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAic3ViICAgICAgICAlMSwlMiAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKICAgICAidm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleW1tMCAgICAg
ICAgXG4iCiAgICAgInZtb3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4MjAsMCkgIiwlJXltbTEgIFxu
IgogICAgICJ2bW92ZHF1ICAgICIgTUVNQUNDRVNTMigweDQwLDApICIsJSV5bW0yICBcbiIKQEAg
LTEwODUsMTUgKzEwNjgsMTkgQEAgdm9pZCBBUkdCVG9VVkpSb3dfQVZYMihjb25zdCB1aW50OCog
c3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogI2VuZGlmICAvLyBIQVNfQVJHQlRPVVZK
Uk9XX0FWWDIKIAogI2lmZGVmIEhBU19BUkdCVE9VVkpST1dfU1NTRTMKLXZvaWQgQVJHQlRvVVZK
Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCi0g
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdp
ZHRoKSB7Cit2b2lkIEFSR0JUb1VWSlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9s
YXRpbGUgKAogICAgICJtb3ZkcWEgICAgJTUsJSV4bW0zICAgICAgICAgICAgICAgICAgICAgICBc
biIKICAgICAibW92ZHFhICAgICU2LCUleG1tNCAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAg
ICAgIm1vdmRxYSAgICAlNywlJXhtbTUgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJz
dWIgICAgICAgJTEsJTIgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKwogICAgIExBQkVM
QUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAg
ICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICBcbiIKICAgICBNRU1P
UFJFRyhtb3ZkcXUsMHgwMCwwLDQsMSx4bW03KSAgICAgICAgICAgIC8vICBtb3ZkcXUgKCUwLCU0
LDEpLCUleG1tNwogICAgICJwYXZnYiAgICAgJSV4bW03LCUleG1tMCAgICAgICAgICAgICAgICAg
ICBcbiIKQEAgLTExNDksMTUgKzExMzYsMTggQEAgdm9pZCBBUkdCVG9VVkpSb3dfU1NTRTMoY29u
c3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwKICNlbmRpZiAgLy8gSEFT
X0FSR0JUT1VWSlJPV19TU1NFMwogCiAjaWZkZWYgSEFTX0FSR0JUT1VWNDQ0Uk9XX1NTU0UzCi12
b2lkIEFSR0JUb1VWNDQ0Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRz
dF91LCB1aW50OCogZHN0X3YsCit2b2lkIEFSR0JUb1VWNDQ0Um93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJtb3ZkcWEgICAgJTQs
JSV4bW0zICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHFhICAgICU1LCUleG1t
NCAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxYSAgICAlNiwlJXhtbTUgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJzdWIgICAgICAgJTEsJTIgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkg
IiwlJXhtbTAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTMigweDEwLDAp
ICIsJSV4bW0xICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUzIoMHgyMCwwKSAiLCUl
eG1tMiAgIFxuIgpAQCAtMTIwOSw4ICsxMTk5LDkgQEAgdm9pZCBCR1JBVG9ZUm93X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmNfYmdyYSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKICAgYXNtIHZv
bGF0aWxlICgKICAgICAibW92ZHFhICAgICU0LCUleG1tNSAgICAgICAgICAgICAgICAgICAgICAg
XG4iCiAgICAgIm1vdmRxYSAgICAlMywlJXhtbTQgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
CiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxu
IgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4MTAsMCkgIiwlJXhtbTEgICBcbiIKICAg
ICAibW92ZHF1ICAgICIgTUVNQUNDRVNTMigweDIwLDApICIsJSV4bW0yICAgXG4iCkBAIC0xMjM5
LDE1ICsxMjMwLDE5IEBAIHZvaWQgQkdSQVRvWVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2Jn
cmEsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CiAgICk7CiB9CiAKLXZvaWQgQkdSQVRvVVZS
b3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19iZ3JhMCwgaW50IHNyY19zdHJpZGVfYmdyYSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0
aCkgewordm9pZCBCR1JBVG9VVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2JncmEwLAorICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9iZ3JhLAorICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
diwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAo
CiAgICAgIm1vdmRxYSAgICAlNSwlJXhtbTMgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAg
ICJtb3ZkcWEgICAgJTYsJSV4bW00ICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92
ZHFhICAgICU3LCUleG1tNSAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgInN1YiAgICAg
ICAlMSwlMiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCiAgICAgTEFCRUxBTElHTgot
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAi
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRx
dSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxuIgogICAgIE1FTU9QUkVHKG1v
dmRxdSwweDAwLDAsNCwxLHhtbTcpICAgICAgICAgICAgLy8gIG1vdmRxdSAoJTAsJTQsMSksJSV4
bW03CiAgICAgInBhdmdiICAgICAlJXhtbTcsJSV4bW0wICAgICAgICAgICAgICAgICAgIFxuIgpA
QCAtMTMwNCw4ICsxMjk5LDkgQEAgdm9pZCBBQkdSVG9ZUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBz
cmNfYWJnciwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAg
ICAibW92ZHFhICAgICU0LCUleG1tNSAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1v
dmRxYSAgICAlMywlJXhtbTQgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCiAgICAgTEFCRUxB
TElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAg
Im1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxuIgogICAgICJtb3Zk
cXUgICAgIiBNRU1BQ0NFU1MyKDB4MTAsMCkgIiwlJXhtbTEgICBcbiIKICAgICAibW92ZHF1ICAg
ICIgTUVNQUNDRVNTMigweDIwLDApICIsJSV4bW0yICAgXG4iCkBAIC0xMzM4LDggKzEzMzQsOSBA
QCB2b2lkIFJHQkFUb1lSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19yZ2JhLCB1aW50OCogZHN0
X3ksIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJtb3ZkcWEgICAgJTQsJSV4
bW01ICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHFhICAgICUzLCUleG1tNCAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUND
RVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUzIo
MHgxMCwwKSAiLCUleG1tMSAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4MjAs
MCkgIiwlJXhtbTIgICBcbiIKQEAgLTEzNjgsMTUgKzEzNjUsMTkgQEAgdm9pZCBSR0JBVG9ZUm93
X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsK
ICAgKTsKIH0KIAotdm9pZCBBQkdSVG9VVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FiZ3Iw
LCBpbnQgc3JjX3N0cmlkZV9hYmdyLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2b2lkIEFCR1JUb1VWUm93X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmNfYWJncjAsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlX2FiZ3IsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAibW92ZHFhICAgICU1LCUleG1tMyAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxYSAgICAlNiwlJXhtbTQgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgogICAgICJtb3ZkcWEgICAgJTcsJSV4bW01ICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKICAgICAic3ViICAgICAgICUxLCUyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAg
ICAgICAgXG4iCiAgICAgTUVNT1BSRUcobW92ZHF1LDB4MDAsMCw0LDEseG1tNykgICAgICAgICAg
ICAvLyAgbW92ZHF1ICglMCwlNCwxKSwlJXhtbTcKICAgICAicGF2Z2IgICAgICUleG1tNywlJXht
bTAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0xNDI5LDE1ICsxNDMwLDE5IEBAIHZvaWQgQUJH
UlRvVVZSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hYmdyMCwgaW50IHNyY19zdHJpZGVfYWJn
ciwKICAgKTsKIH0KIAotdm9pZCBSR0JBVG9VVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3Jn
YmEwLCBpbnQgc3JjX3N0cmlkZV9yZ2JhLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2b2lkIFJHQkFUb1VWUm93X1NTU0Uz
KGNvbnN0IHVpbnQ4KiBzcmNfcmdiYTAsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3JnYmEsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAibW92ZHFhICAgICU1LCUleG1tMyAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxYSAgICAlNiwlJXhtbTQgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3ZkcWEgICAgJTcsJSV4bW01ICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKICAgICAic3ViICAgICAgICUxLCUyICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0w
ICAgICAgICAgXG4iCiAgICAgTUVNT1BSRUcobW92ZHF1LDB4MDAsMCw0LDEseG1tNykgICAgICAg
ICAgICAvLyAgbW92ZHF1ICglMCwlNCwxKSwlJXhtbTcKICAgICAicGF2Z2IgICAgICUleG1tNywl
JXhtbTAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0xNDkzLDggKzE0OTgsOCBAQCB2b2lkIFJH
QkFUb1VWUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYTAsIGludCBzcmNfc3RyaWRlX3Jn
YmEsCiAjaWYgZGVmaW5lZChIQVNfSTQyMlRPQVJHQlJPV19TU1NFMykgfHwgZGVmaW5lZChIQVNf
STQyMlRPQVJHQlJPV19BVlgyKQogCiAvLyBSZWFkIDggVVYgZnJvbSA0NDQKLSNkZWZpbmUgUkVB
RFlVVjQ0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgIm1vdnEgICAgICAgIiBNRU1BQ0NFU1MoW3VfYnVmXSkgIiwlJXht
bTAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAorI2RlZmluZSBSRUFEWVVWNDQ0
IFwKKyAgIm1vdnEgICAgICAgIiBNRU1BQ0NFU1MoW3VfYnVmXSkgIiwlJXhtbTAgICAgICAgICAg
ICAgICAgICAgICBcbiIgICAgICAgICAgICBcCiAgICAgTUVNT1BSRUcobW92cSwgMHgwMCwgW3Vf
YnVmXSwgW3ZfYnVmXSwgMSwgeG1tMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
ICJsZWEgICAgICAgICIgTUVNTEVBKDB4OCwgW3VfYnVmXSkgIiwlW3VfYnVmXSAgICAgICAgICAg
ICAgIFxuIiAgICAgICAgICAgIFwKICAgICAicHVucGNrbGJ3ICAlJXhtbTEsJSV4bW0wICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCkBAIC0xNTAzLDgg
KzE1MDgsOCBAQCB2b2lkIFJHQkFUb1VWUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYTAs
IGludCBzcmNfc3RyaWRlX3JnYmEsCiAgICAgImxlYSAgICAgICAgIiBNRU1MRUEoMHg4LCBbeV9i
dWZdKSAiLCVbeV9idWZdICAgICAgICAgICAgICAgXG4iCiAKIC8vIFJlYWQgNCBVViBmcm9tIDQy
MiwgdXBzYW1wbGUgdG8gOCBVVgotI2RlZmluZSBSRUFEWVVWNDIyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAibW92ZCAg
ICAgICAiIE1FTUFDQ0VTUyhbdV9idWZdKSAiLCUleG1tMCAgICAgICAgICAgICAgICAgICBcbiIg
ICAgICAgICAgICBcCisjZGVmaW5lIFJFQURZVVY0MjIgXAorICAibW92ZCAgICAgICAiIE1FTUFD
Q0VTUyhbdV9idWZdKSAiLCUleG1tMCAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAg
IFwKICAgICBNRU1PUFJFRyhtb3ZkLCAweDAwLCBbdV9idWZdLCBbdl9idWZdLCAxLCB4bW0xKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgImxlYSAgICAgICAgIiBNRU1MRUEoMHg0
LCBbdV9idWZdKSAiLCVbdV9idWZdICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAogICAg
ICJwdW5wY2tsYncgICUleG1tMSwlJXhtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgICAgICAgICAgIFwKQEAgLTE1MTQsOCArMTUxOSw4IEBAIHZvaWQgUkdCQVRvVVZS
b3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19yZ2JhMCwgaW50IHNyY19zdHJpZGVfcmdiYSwKICAg
ICAibGVhICAgICAgICAiIE1FTUxFQSgweDgsIFt5X2J1Zl0pICIsJVt5X2J1Zl0gICAgICAgICAg
ICAgICBcbiIKIAogLy8gUmVhZCA0IFVWIGZyb20gNDIyLCB1cHNhbXBsZSB0byA4IFVWLiAgV2l0
aCA4IEFscGhhLgotI2RlZmluZSBSRUFEWVVWQTQyMiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAibW92ZCAgICAgICAiIE1F
TUFDQ0VTUyhbdV9idWZdKSAiLCUleG1tMCAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAg
ICBcCisjZGVmaW5lIFJFQURZVVZBNDIyIFwKKyAgIm1vdmQgICAgICAgIiBNRU1BQ0NFU1MoW3Vf
YnVmXSkgIiwlJXhtbTAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCiAgICAg
TUVNT1BSRUcobW92ZCwgMHgwMCwgW3VfYnVmXSwgW3ZfYnVmXSwgMSwgeG1tMSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAogICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4NCwgW3VfYnVm
XSkgIiwlW3VfYnVmXSAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgIFwKICAgICAicHVucGNr
bGJ3ICAlJXhtbTEsJSV4bW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIg
ICAgICAgICAgICBcCkBAIC0xNTI3LDggKzE1MzIsOCBAQCB2b2lkIFJHQkFUb1VWUm93X1NTU0Uz
KGNvbnN0IHVpbnQ4KiBzcmNfcmdiYTAsIGludCBzcmNfc3RyaWRlX3JnYmEsCiAgICAgImxlYSAg
ICAgICAgIiBNRU1MRUEoMHg4LCBbYV9idWZdKSAiLCVbYV9idWZdICAgICAgICAgICAgICAgXG4i
CiAKIC8vIFJlYWQgNCBVViBmcm9tIE5WMTIsIHVwc2FtcGxlIHRvIDggVVYKLSNkZWZpbmUgUkVB
RE5WMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgIm1vdnEgICAgICAgIiBNRU1BQ0NFU1MoW3V2X2J1Zl0pICIsJSV4
bW0wICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAorI2RlZmluZSBSRUFETlYxMiBc
CisgICJtb3ZxICAgICAgICIgTUVNQUNDRVNTKFt1dl9idWZdKSAiLCUleG1tMCAgICAgICAgICAg
ICAgICAgICAgXG4iICAgICAgICAgICAgXAogICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4OCwg
W3V2X2J1Zl0pICIsJVt1dl9idWZdICAgICAgICAgICAgIFxuIiAgICAgICAgICAgIFwKICAgICAi
cHVucGNrbHdkICAlJXhtbTAsJSV4bW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIgICAgICAgICAgICBcCiAgICAgIm1vdnEgICAgICAgIiBNRU1BQ0NFU1MoW3lfYnVmXSkg
IiwlJXhtbTQgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXApAQCAtMTUzNiw4ICsx
NTQxLDggQEAgdm9pZCBSR0JBVG9VVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3JnYmEwLCBp
bnQgc3JjX3N0cmlkZV9yZ2JhLAogICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4OCwgW3lfYnVm
XSkgIiwlW3lfYnVmXSAgICAgICAgICAgICAgIFxuIgogCiAvLyBSZWFkIDQgVlUgZnJvbSBOVjIx
LCB1cHNhbXBsZSB0byA4IFVWCi0jZGVmaW5lIFJFQUROVjIxICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJtb3ZxICAg
ICAgICIgTUVNQUNDRVNTKFt2dV9idWZdKSAiLCUleG1tMCAgICAgICAgICAgICAgICAgIFxuIiAg
ICAgICAgICAgIFwKKyNkZWZpbmUgUkVBRE5WMjEgXAorICAibW92cSAgICAgICAiIE1FTUFDQ0VT
UyhbdnVfYnVmXSkgIiwlJXhtbTAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgIFwK
ICAgICAibGVhICAgICAgICAiIE1FTUxFQSgweDgsIFt2dV9idWZdKSAiLCVbdnVfYnVmXSAgICAg
ICAgICAgICBcbiIgICAgICAgICAgICBcCiAgICAgInBzaHVmYiAgICAgJVtrU2h1ZmZsZU5WMjFd
LCAlJXhtbTAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAogICAgICJt
b3ZxICAgICAgICIgTUVNQUNDRVNTKFt5X2J1Zl0pICIsJSV4bW00ICAgICAgICAgICAgICAgICAg
IFxuIiAgICAgICAgICAgIFwKQEAgLTE1NDUsMjQgKzE1NTAsMjQgQEAgdm9pZCBSR0JBVG9VVlJv
d19TU1NFMyhjb25zdCB1aW50OCogc3JjX3JnYmEwLCBpbnQgc3JjX3N0cmlkZV9yZ2JhLAogICAg
ICJsZWEgICAgICAgICIgTUVNTEVBKDB4OCwgW3lfYnVmXSkgIiwlW3lfYnVmXSAgICAgICAgICAg
ICAgIFxuIgogCiAvLyBSZWFkIDQgWVVZMiB3aXRoIDggWSBhbmQgdXBkYXRlIDQgVVYgdG8gOCBV
Vi4KLSNkZWZpbmUgUkVBRFlVWTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIm1vdmRxdSAgICAgIiBNRU1BQ0NFU1Mo
W3l1eTJfYnVmXSkgIiwlJXhtbTQgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAorI2Rl
ZmluZSBSRUFEWVVZMiBcCisgICJtb3ZkcXUgICAgICIgTUVNQUNDRVNTKFt5dXkyX2J1Zl0pICIs
JSV4bW00ICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAogICAgICJwc2h1ZmIgICAg
ICVba1NodWZmbGVZVVkyWV0sICUleG1tNCAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAg
ICAgICAgIFwKICAgICAibW92ZHF1ICAgICAiIE1FTUFDQ0VTUyhbeXV5Ml9idWZdKSAiLCUleG1t
MCAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCiAgICAgInBzaHVmYiAgICAgJVtrU2h1
ZmZsZVlVWTJVVl0sICUleG1tMCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAg
XAogICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4MTAsIFt5dXkyX2J1Zl0pICIsJVt5dXkyX2J1
Zl0gICAgICAgIFxuIgogCiAvLyBSZWFkIDQgVVlWWSB3aXRoIDggWSBhbmQgdXBkYXRlIDQgVVYg
dG8gOCBVVi4KLSNkZWZpbmUgUkVBRFVZVlkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIm1vdmRxdSAgICAgIiBNRU1B
Q0NFU1MoW3V5dnlfYnVmXSkgIiwlJXhtbTQgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAg
XAorI2RlZmluZSBSRUFEVVlWWSBcCisgICJtb3ZkcXUgICAgICIgTUVNQUNDRVNTKFt1eXZ5X2J1
Zl0pICIsJSV4bW00ICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAogICAgICJwc2h1
ZmIgICAgICVba1NodWZmbGVVWVZZWV0sICUleG1tNCAgICAgICAgICAgICAgICAgICAgICAgIFxu
IiAgICAgICAgICAgIFwKICAgICAibW92ZHF1ICAgICAiIE1FTUFDQ0VTUyhbdXl2eV9idWZdKSAi
LCUleG1tMCAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCiAgICAgInBzaHVmYiAgICAg
JVtrU2h1ZmZsZVVZVllVVl0sICUleG1tMCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAg
ICAgICAgXAogICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4MTAsIFt1eXZ5X2J1Zl0pICIsJVt1
eXZ5X2J1Zl0gICAgICAgIFxuIgogCiAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKQotI2RlZmluZSBZ
VVZUT1JHQl9TRVRVUCh5dXZjb25zdGFudHMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAibW92ZHFhICAgICAiIE1FTUFDQ0VTUyhbeXV2Y29uc3RhbnRz
XSkgIiwlJXhtbTggICAgICAgICAgICBcbiIgICAgICAgICAgICBcCisjZGVmaW5lIFlVVlRPUkdC
X1NFVFVQKHl1dmNvbnN0YW50cykgXAorICAibW92ZHFhICAgICAiIE1FTUFDQ0VTUyhbeXV2Y29u
c3RhbnRzXSkgIiwlJXhtbTggICAgICAgICAgICAgIFxuIiAgICAgICAgICAgIFwKICAgICAibW92
ZHFhICAgICAiIE1FTUFDQ0VTUzIoMzIsIFt5dXZjb25zdGFudHNdKSAiLCUleG1tOSAgICAgICBc
biIgICAgICAgICAgICBcCiAgICAgIm1vdmRxYSAgICAgIiBNRU1BQ0NFU1MyKDY0LCBbeXV2Y29u
c3RhbnRzXSkgIiwlJXhtbTEwICAgICAgXG4iICAgICAgICAgICAgXAogICAgICJtb3ZkcWEgICAg
ICIgTUVNQUNDRVNTMig5NiwgW3l1dmNvbnN0YW50c10pICIsJSV4bW0xMSAgICAgIFxuIiAgICAg
ICAgICAgIFwKQEAgLTE1NzAsMzcgKzE1NzUsMzcgQEAgdm9pZCBSR0JBVG9VVlJvd19TU1NFMyhj
b25zdCB1aW50OCogc3JjX3JnYmEwLCBpbnQgc3JjX3N0cmlkZV9yZ2JhLAogICAgICJtb3ZkcWEg
ICAgICIgTUVNQUNDRVNTMigxNjAsIFt5dXZjb25zdGFudHNdKSAiLCUleG1tMTMgICAgIFxuIiAg
ICAgICAgICAgIFwKICAgICAibW92ZHFhICAgICAiIE1FTUFDQ0VTUzIoMTkyLCBbeXV2Y29uc3Rh
bnRzXSkgIiwlJXhtbTE0ICAgICBcbiIKIC8vIENvbnZlcnQgOCBwaXhlbHM6IDggVVYgYW5kIDgg
WQotI2RlZmluZSBZVVZUT1JHQih5dXZjb25zdGFudHMpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAibW92ZHFhICAgICAlJXhtbTAsJSV4bW0x
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCi0gICAg
Im1vdmRxYSAgICAgJSV4bW0wLCUleG1tMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iICAgICAgICAgICAgXAotICAgICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgIFwKLSAgICAibW92ZHFh
ICAgICAlJXhtbTExLCUleG1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIg
ICAgICAgICAgICBcCi0gICAgInBtYWRkdWJzdyAgJSV4bW04LCUleG1tMSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAotICAgICJwc3VidyAgICAgICUl
eG1tMSwlJXhtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAg
ICAgIFwKLSAgICAibW92ZHFhICAgICAlJXhtbTEyLCUleG1tMSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCi0gICAgInBtYWRkdWJzdyAgJSV4bW05LCUl
eG1tMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAot
ICAgICJwc3VidyAgICAgICUleG1tMiwlJXhtbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIiAgICAgICAgICAgIFwKLSAgICAibW92ZHFhICAgICAlJXhtbTEzLCUleG1tMiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCi0gICAgInBt
YWRkdWJzdyAgJSV4bW0xMCwlJXhtbTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iICAgICAgICAgICAgXAotICAgICJwc3VidyAgICAgICUleG1tMywlJXhtbTIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgIFwKLSAgICAicG11bGh1dyAg
ICAlJXhtbTE0LCUleG1tNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAg
ICAgICAgICBcCi0gICAgInBhZGRzdyAgICAgJSV4bW00LCUleG1tMCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAotICAgICJwYWRkc3cgICAgICUleG1t
NCwlJXhtbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAg
IFwKLSAgICAicGFkZHN3ICAgICAlJXhtbTQsJSV4bW0yICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIgICAgICAgICAgICBcCi0gICAgInBzcmF3ICAgICAgJDB4NiwlJXhtbTAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAotICAg
ICJwc3JhdyAgICAgICQweDYsJSV4bW0xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgICAgICAgICAgIFwKLSAgICAicHNyYXcgICAgICAkMHg2LCUleG1tMiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCi0gICAgInBhY2t1
c3diICAgJSV4bW0wLCUleG1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
ICAgICAgICAgICAgXAotICAgICJwYWNrdXN3YiAgICUleG1tMSwlJXhtbTEgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgIFwKLSAgICAicGFja3Vzd2IgICAl
JXhtbTIsJSV4bW0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyNkZWZp
bmUgWVVWVE9SR0IoeXV2Y29uc3RhbnRzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1tMSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iIFwKKyAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1tMiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1t
MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgIm1vdmRxYSAgICAg
JSV4bW0xMSwlJXhtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAg
InBtYWRkdWJzdyAgJSV4bW04LCUleG1tMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iIFwKKyAgInBzdWJ3ICAgICAgJSV4bW0xLCUleG1tMCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iIFwKKyAgIm1vdmRxYSAgICAgJSV4bW0xMiwlJXhtbTEgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInBtYWRkdWJzdyAgJSV4bW05LCUl
eG1tMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInBzdWJ3ICAg
ICAgJSV4bW0yLCUleG1tMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwK
KyAgIm1vdmRxYSAgICAgJSV4bW0xMywlJXhtbTIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iIFwKKyAgInBtYWRkdWJzdyAgJSV4bW0xMCwlJXhtbTMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInBzdWJ3ICAgICAgJSV4bW0zLCUleG1tMiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInBtdWxodXcgICAgJSV4bW0x
NCwlJXhtbTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInBhZGRz
dyAgICAgJSV4bW00LCUleG1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
IFwKKyAgInBhZGRzdyAgICAgJSV4bW00LCUleG1tMSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iIFwKKyAgInBhZGRzdyAgICAgJSV4bW00LCUleG1tMiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInBzcmF3ICAgICAgJDB4NiwlJXhtbTAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInBzcmF3ICAgICAgJDB4
NiwlJXhtbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInBz
cmF3ICAgICAgJDB4NiwlJXhtbTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iIFwKKyAgInBhY2t1c3diICAgJSV4bW0wLCUleG1tMCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iIFwKKyAgInBhY2t1c3diICAgJSV4bW0xLCUleG1tMSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInBhY2t1c3diICAgJSV4bW0yLCUleG1t
MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAjZGVmaW5lIFlVVlRPUkdC
X1JFR1MgXAotICAgICJ4bW04IiwgInhtbTkiLCAieG1tMTAiLCAieG1tMTEiLCAieG1tMTIiLCAi
eG1tMTMiLCAieG1tMTQiLAorICAieG1tOCIsICJ4bW05IiwgInhtbTEwIiwgInhtbTExIiwgInht
bTEyIiwgInhtbTEzIiwgInhtbTE0IiwKIAogI2Vsc2UKICNkZWZpbmUgWVVWVE9SR0JfU0VUVVAo
eXV2Y29uc3RhbnRzKQogLy8gQ29udmVydCA4IHBpeGVsczogOCBVViBhbmQgOCBZCi0jZGVmaW5l
IFlVVlRPUkdCKHl1dmNvbnN0YW50cykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTEgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgIFwKKyNkZWZpbmUgWVVWVE9S
R0IoeXV2Y29uc3RhbnRzKSBcCisgICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTEgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAogICAgICJtb3ZkcWEg
ICAgICUleG1tMCwlJXhtbTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAg
ICAgICAgICAgIFwKICAgICAibW92ZHFhICAgICAlJXhtbTAsJSV4bW0zICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCiAgICAgIm1vdmRxYSAgICAgIiBN
RU1BQ0NFU1MyKDk2LCBbeXV2Y29uc3RhbnRzXSkgIiwlJXhtbTAgICAgICAgXG4iICAgICAgICAg
ICAgXApAQCAtMTYyNiw4ICsxNjMxLDggQEAgdm9pZCBSR0JBVG9VVlJvd19TU1NFMyhjb25zdCB1
aW50OCogc3JjX3JnYmEwLCBpbnQgc3JjX3N0cmlkZV9yZ2JhLAogI2VuZGlmCiAKIC8vIFN0b3Jl
IDggQVJHQiB2YWx1ZXMuCi0jZGVmaW5lIFNUT1JFQVJHQiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJwdW5wY2tsYncg
ICUleG1tMSwlJXhtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAg
ICAgICAgIFwKKyNkZWZpbmUgU1RPUkVBUkdCIFwKKyAgInB1bnBja2xidyAgJSV4bW0xLCUleG1t
MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICBcCiAg
ICAgInB1bnBja2xidyAgJSV4bW01LCUleG1tMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIiAgICAgICAgICAgXAogICAgICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTEgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgIFwKICAgICAicHVu
cGNrbHdkICAlJXhtbTIsJSV4bW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iICAgICAgICAgICBcCkBAIC0xNjM3LDggKzE2NDIsOCBAQCB2b2lkIFJHQkFUb1VWUm93X1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYTAsIGludCBzcmNfc3RyaWRlX3JnYmEsCiAgICAgImxl
YSAgICAgICAgIiBNRU1MRUEoMHgyMCwgW2RzdF9hcmdiXSkgIiwgJVtkc3RfYXJnYl0gICAgICAg
IFxuIgogCiAvLyBTdG9yZSA4IFJHQkEgdmFsdWVzLgotI2RlZmluZSBTVE9SRVJHQkEgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAicGNtcGVxYiAgICUleG1tNSwlJXhtbTUgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iICAgICAgICAgICBcCisjZGVmaW5lIFNUT1JFUkdCQSBcCisgICJwY21wZXFi
ICAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IiAgICAgICAgICAgXAogICAgICJwdW5wY2tsYncgJSV4bW0yLCUleG1tMSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgIFwKICAgICAicHVucGNrbGJ3ICUl
eG1tMCwlJXhtbTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAg
ICAgICBcCiAgICAgIm1vdmRxYSAgICAlJXhtbTUsJSV4bW0wICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgXApAQCAtMTY1OCw4ICsxNjYzLDkgQEAgdm9p
ZCBPTUlURlAgSTQ0NFRvQVJHQlJvd19TU1NFMyhjb25zdCB1aW50OCogeV9idWYsCiAgICAgWVVW
VE9SR0JfU0VUVVAoeXV2Y29uc3RhbnRzKQogICAgICJzdWIgICAgICAgJVt1X2J1Zl0sJVt2X2J1
Zl0gICAgICAgICAgICAgICBcbiIKICAgICAicGNtcGVxYiAgICUleG1tNSwlJXhtbTUgICAgICAg
ICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBSRUFEWVVWNDQ0CiAgICAgWVVWVE9SR0IoeXV2
Y29uc3RhbnRzKQogICAgIFNUT1JFQVJHQgpAQCAtMTY4Nyw4ICsxNjkzLDkgQEAgdm9pZCBPTUlU
RlAgSTQyMlRvUkdCMjRSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVmLAogICAgICJtb3ZkcWEg
ICAgJVtrU2h1ZmZsZU1hc2tBUkdCVG9SR0IyNF8wXSwlJXhtbTUgXG4iCiAgICAgIm1vdmRxYSAg
ICAlW2tTaHVmZmxlTWFza0FSR0JUb1JHQjI0XSwlJXhtbTYgICBcbiIKICAgICAic3ViICAgICAg
ICVbdV9idWZdLCVbdl9idWZdICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0g
ICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIx
OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBSRUFEWVVW
NDIyCiAgICAgWVVWVE9SR0IoeXV2Y29uc3RhbnRzKQogICAgICJwdW5wY2tsYncgJSV4bW0xLCUl
eG1tMCAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTE3MDgsNyArMTcxNSw3IEBAIHZvaWQgT01J
VEZQIEk0MjJUb1JHQjI0Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgICBbdV9idWZd
IityIih1X2J1ZiksICAgIC8vICVbdV9idWZdCiAgICAgW3ZfYnVmXSIrciIodl9idWYpLCAgICAv
LyAlW3ZfYnVmXQogICAgIFtkc3RfcmdiMjRdIityIihkc3RfcmdiMjQpLCAgLy8gJVtkc3Rfcmdi
MjRdCi0jaWYgZGVmaW5lZChfX2kzODZfXykgJiYgZGVmaW5lZChfX3BpY19fKQorI2lmIGRlZmlu
ZWQoX19pMzg2X18pCiAgICAgW3dpZHRoXSIrbSIod2lkdGgpICAgICAvLyAlW3dpZHRoXQogI2Vs
c2UKICAgICBbd2lkdGhdIitybSIod2lkdGgpICAgIC8vICVbd2lkdGhdCkBAIC0xNzMxLDggKzE3
MzgsOSBAQCB2b2lkIE9NSVRGUCBJNDIyVG9BUkdCUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1
ZiwKICAgICBZVVZUT1JHQl9TRVRVUCh5dXZjb25zdGFudHMpCiAgICAgInN1YiAgICAgICAlW3Vf
YnVmXSwlW3ZfYnVmXSAgICAgICAgICAgICAgIFxuIgogICAgICJwY21wZXFiICAgJSV4bW01LCUl
eG1tNSAgICAgICAgICAgICAgICAgICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIFJFQURZVVY0MjIKICAgICBZ
VVZUT1JHQih5dXZjb25zdGFudHMpCiAgICAgU1RPUkVBUkdCCkBAIC0xNzU3LDExICsxNzY1LDEz
IEBAIHZvaWQgT01JVEZQIEk0MjJBbHBoYVRvQVJHQlJvd19TU1NFMyhjb25zdCB1aW50OCogeV9i
dWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZD
b25zdGFudHMqIHl1dmNvbnN0YW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKKyAgLy8gY2xhbmctZm9ybWF0IG9mZgogICBhc20gdm9sYXRpbGUg
KAogICAgIFlVVlRPUkdCX1NFVFVQKHl1dmNvbnN0YW50cykKICAgICAic3ViICAgICAgICVbdV9i
dWZdLCVbdl9idWZdICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBSRUFEWVVWQTQyMgog
ICAgIFlVVlRPUkdCKHl1dmNvbnN0YW50cykKICAgICBTVE9SRUFSR0IKQEAgLTE3NzIsNyArMTc4
Miw3IEBAIHZvaWQgT01JVEZQIEk0MjJBbHBoYVRvQVJHQlJvd19TU1NFMyhjb25zdCB1aW50OCog
eV9idWYsCiAgICAgW3ZfYnVmXSIrciIodl9idWYpLCAgICAvLyAlW3ZfYnVmXQogICAgIFthX2J1
Zl0iK3IiKGFfYnVmKSwgICAgLy8gJVthX2J1Zl0KICAgICBbZHN0X2FyZ2JdIityIihkc3RfYXJn
YiksICAvLyAlW2RzdF9hcmdiXQotI2lmIGRlZmluZWQoX19pMzg2X18pICYmIGRlZmluZWQoX19w
aWNfXykKKyNpZiBkZWZpbmVkKF9faTM4Nl9fKQogICAgIFt3aWR0aF0iK20iKHdpZHRoKSAgICAg
Ly8gJVt3aWR0aF0KICNlbHNlCiAgICAgW3dpZHRoXSIrcm0iKHdpZHRoKSAgICAvLyAlW3dpZHRo
XQpAQCAtMTc4MSw2ICsxNzkxLDcgQEAgdm9pZCBPTUlURlAgSTQyMkFscGhhVG9BUkdCUm93X1NT
U0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgOiAibWVtb3J5IiwgImNjIiwgTkFDTF9SMTQgWVVW
VE9SR0JfUkVHUwogICAgICJ4bW0wIiwgInhtbTEiLCAieG1tMiIsICJ4bW0zIiwgInhtbTQiLCAi
eG1tNSIKICAgKTsKKyAgLy8gY2xhbmctZm9ybWF0IG9uCiB9CiAjZW5kaWYgIC8vIEhBU19JNDIy
QUxQSEFUT0FSR0JST1dfU1NTRTMKIApAQCAtMTc4OSwxMSArMTgwMCwxMyBAQCB2b2lkIE9NSVRG
UCBOVjEyVG9BUkdCUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICAvLyBjbGFuZy1mb3Jt
YXQgb2ZmCiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgWVVWVE9SR0JfU0VUVVAoeXV2Y29uc3RhbnRz
KQogICAgICJwY21wZXFiICAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgICBcbiIKKwog
ICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgogICAgIFJFQUROVjEyCiAgICAgWVVWVE9SR0IoeXV2Y29uc3RhbnRzKQogICAgIFNUT1JF
QVJHQgpAQCAtMTgwNyw2ICsxODIwLDcgQEAgdm9pZCBPTUlURlAgTlYxMlRvQVJHQlJvd19TU1NF
Myhjb25zdCB1aW50OCogeV9idWYsCiAgICAgOiAibWVtb3J5IiwgImNjIiwgWVVWVE9SR0JfUkVH
UyAgLy8gRG9lcyBub3QgdXNlIHIxNC4KICAgICAgICJ4bW0wIiwgInhtbTEiLCAieG1tMiIsICJ4
bW0zIiwgInhtbTQiLCAieG1tNSIKICAgKTsKKyAgLy8gY2xhbmctZm9ybWF0IG9uCiB9CiAKIHZv
aWQgT01JVEZQIE5WMjFUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVmLApAQCAtMTgx
NCwxMSArMTgyOCwxMyBAQCB2b2lkIE9NSVRGUCBOVjIxVG9BUkdCUm93X1NTU0UzKGNvbnN0IHVp
bnQ4KiB5X2J1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9h
cmdiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29u
c3RhbnRzKiB5dXZjb25zdGFudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgeworICAvLyBjbGFuZy1mb3JtYXQgb2ZmCiAgIGFzbSB2b2xhdGlsZSAoCiAgICAg
WVVWVE9SR0JfU0VUVVAoeXV2Y29uc3RhbnRzKQogICAgICJwY21wZXFiICAgJSV4bW01LCUleG1t
NSAgICAgICAgICAgICAgICAgICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIFJFQUROVjIxCiAgICAgWVVWVE9S
R0IoeXV2Y29uc3RhbnRzKQogICAgIFNUT1JFQVJHQgpAQCAtMTgzMywxNyArMTg0OSwyMCBAQCB2
b2lkIE9NSVRGUCBOVjIxVG9BUkdCUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgICA6
ICJtZW1vcnkiLCAiY2MiLCBZVVZUT1JHQl9SRUdTICAvLyBEb2VzIG5vdCB1c2UgcjE0LgogICAg
ICAgInhtbTAiLCAieG1tMSIsICJ4bW0yIiwgInhtbTMiLCAieG1tNCIsICJ4bW01IgogICApOwor
ICAvLyBjbGFuZy1mb3JtYXQgb24KIH0KIAogdm9pZCBPTUlURlAgWVVZMlRvQVJHQlJvd19TU1NF
Myhjb25zdCB1aW50OCogeXV5Ml9idWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgLy8gY2xhbmctZm9ybWF0IG9mZgogICBhc20gdm9s
YXRpbGUgKAogICAgIFlVVlRPUkdCX1NFVFVQKHl1dmNvbnN0YW50cykKICAgICAicGNtcGVxYiAg
ICUleG1tNSwlJXhtbTUgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0g
ICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIx
OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBSRUFEWVVZ
MgogICAgIFlVVlRPUkdCKHl1dmNvbnN0YW50cykKICAgICBTVE9SRUFSR0IKQEAgLTE4NTgsMTcg
KzE4NzcsMjAgQEAgdm9pZCBPTUlURlAgWVVZMlRvQVJHQlJvd19TU1NFMyhjb25zdCB1aW50OCog
eXV5Ml9idWYsCiAgICAgOiAibWVtb3J5IiwgImNjIiwgWVVWVE9SR0JfUkVHUyAgLy8gRG9lcyBu
b3QgdXNlIHIxNC4KICAgICAgICJ4bW0wIiwgInhtbTEiLCAieG1tMiIsICJ4bW0zIiwgInhtbTQi
LCAieG1tNSIKICAgKTsKKyAgLy8gY2xhbmctZm9ybWF0IG9uCiB9CiAKIHZvaWQgT01JVEZQIFVZ
VllUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHV5dnlfYnVmLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIC8vIGNsYW5nLWZvcm1h
dCBvZmYKICAgYXNtIHZvbGF0aWxlICgKICAgICBZVVZUT1JHQl9TRVRVUCh5dXZjb25zdGFudHMp
CiAgICAgInBjbXBlcWIgICAlJXhtbTUsJSV4bW01ICAgICAgICAgICAgICAgICAgIFxuIgorCiAg
ICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCiAgICAgUkVBRFVZVlkKICAgICBZVVZUT1JHQih5dXZjb25zdGFudHMpCiAgICAgU1RPUkVB
UkdCCkBAIC0xODgzLDYgKzE5MDUsNyBAQCB2b2lkIE9NSVRGUCBVWVZZVG9BUkdCUm93X1NTU0Uz
KGNvbnN0IHVpbnQ4KiB1eXZ5X2J1ZiwKICAgICA6ICJtZW1vcnkiLCAiY2MiLCBZVVZUT1JHQl9S
RUdTICAvLyBEb2VzIG5vdCB1c2UgcjE0LgogICAgICAgInhtbTAiLCAieG1tMSIsICJ4bW0yIiwg
InhtbTMiLCAieG1tNCIsICJ4bW01IgogICApOworICAvLyBjbGFuZy1mb3JtYXQgb24KIH0KIAog
dm9pZCBPTUlURlAgSTQyMlRvUkdCQVJvd19TU1NFMyhjb25zdCB1aW50OCogeV9idWYsCkBAIC0x
ODk1LDggKzE5MTgsOSBAQCB2b2lkIE9NSVRGUCBJNDIyVG9SR0JBUm93X1NTU0UzKGNvbnN0IHVp
bnQ4KiB5X2J1ZiwKICAgICBZVVZUT1JHQl9TRVRVUCh5dXZjb25zdGFudHMpCiAgICAgInN1YiAg
ICAgICAlW3VfYnVmXSwlW3ZfYnVmXSAgICAgICAgICAgICAgIFxuIgogICAgICJwY21wZXFiICAg
JSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIFJFQURZVVY0
MjIKICAgICBZVVZUT1JHQih5dXZjb25zdGFudHMpCiAgICAgU1RPUkVSR0JBCkBAIC0xOTE2LDgg
KzE5NDAsOCBAQCB2b2lkIE9NSVRGUCBJNDIyVG9SR0JBUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5
X2J1ZiwKICNlbmRpZiAgLy8gSEFTX0k0MjJUT0FSR0JST1dfU1NTRTMKIAogLy8gUmVhZCAxNiBV
ViBmcm9tIDQ0NAotI2RlZmluZSBSRUFEWVVWNDQ0X0FWWDIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidm1vdmRxdSAgICAiIE1F
TUFDQ0VTUyhbdV9idWZdKSAiLCUleG1tMCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAg
ICBcCisjZGVmaW5lIFJFQURZVVY0NDRfQVZYMiBcCisgICJ2bW92ZHF1ICAgICIgTUVNQUNDRVNT
KFt1X2J1Zl0pICIsJSV4bW0wICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgXAog
ICAgIE1FTU9QUkVHKHZtb3ZkcXUsIDB4MDAsIFt1X2J1Zl0sIFt2X2J1Zl0sIDEsIHhtbTEpICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAibGVhICAgICAgICAiIE1FTUxFQSgweDEwLCBb
dV9idWZdKSAiLCVbdV9idWZdICAgICAgICAgICAgICAgICAgXG4iICAgICAgICBcCiAgICAgInZw
ZXJtcSAgICAgJDB4ZDgsJSV5bW0wLCUleW1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgICAgICAgXApAQCAtMTkyOSw4ICsxOTUzLDggQEAgdm9pZCBPTUlURlAgSTQyMlRv
UkdCQVJvd19TU1NFMyhjb25zdCB1aW50OCogeV9idWYsCiAgICAgImxlYSAgICAgICAgIiBNRU1M
RUEoMHgxMCwgW3lfYnVmXSkgIiwlW3lfYnVmXSAgICAgICAgICAgICAgICAgIFxuIgogCiAvLyBS
ZWFkIDggVVYgZnJvbSA0MjIsIHVwc2FtcGxlIHRvIDE2IFVWLgotI2RlZmluZSBSRUFEWVVWNDIy
X0FWWDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAidm1vdnEgICAgICAiIE1FTUFDQ0VTUyhbdV9idWZdKSAiLCUleG1tMCAgICAg
ICAgICAgICAgICAgICAgICAgXG4iICAgICAgICBcCisjZGVmaW5lIFJFQURZVVY0MjJfQVZYMiBc
CisgICJ2bW92cSAgICAgICIgTUVNQUNDRVNTKFt1X2J1Zl0pICIsJSV4bW0wICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIiAgICAgICAgXAogICAgIE1FTU9QUkVHKHZtb3ZxLCAweDAwLCBbdV9i
dWZdLCBbdl9idWZdLCAxLCB4bW0xKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAi
bGVhICAgICAgICAiIE1FTUxFQSgweDgsIFt1X2J1Zl0pICIsJVt1X2J1Zl0gICAgICAgICAgICAg
ICAgICAgXG4iICAgICAgICBcCiAgICAgInZwdW5wY2tsYncgJSV5bW0xLCUleW1tMCwlJXltbTAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgXApAQCAtMTk0Miw4ICsx
OTY2LDggQEAgdm9pZCBPTUlURlAgSTQyMlRvUkdCQVJvd19TU1NFMyhjb25zdCB1aW50OCogeV9i
dWYsCiAgICAgImxlYSAgICAgICAgIiBNRU1MRUEoMHgxMCwgW3lfYnVmXSkgIiwlW3lfYnVmXSAg
ICAgICAgICAgICAgICAgIFxuIgogCiAvLyBSZWFkIDggVVYgZnJvbSA0MjIsIHVwc2FtcGxlIHRv
IDE2IFVWLiAgV2l0aCAxNiBBbHBoYS4KLSNkZWZpbmUgUkVBRFlVVkE0MjJfQVZYMiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInZt
b3ZxICAgICAgIiBNRU1BQ0NFU1MoW3VfYnVmXSkgIiwlJXhtbTAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgICAgICAgXAorI2RlZmluZSBSRUFEWVVWQTQyMl9BVlgyIFwKKyAgInZtb3ZxICAg
ICAgIiBNRU1BQ0NFU1MoW3VfYnVmXSkgIiwlJXhtbTAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iICAgICAgICBcCiAgICAgTUVNT1BSRUcodm1vdnEsIDB4MDAsIFt1X2J1Zl0sIFt2X2J1Zl0s
IDEsIHhtbTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICJsZWEgICAgICAgICIg
TUVNTEVBKDB4OCwgW3VfYnVmXSkgIiwlW3VfYnVmXSAgICAgICAgICAgICAgICAgICBcbiIgICAg
ICAgIFwKICAgICAidnB1bnBja2xidyAlJXltbTEsJSV5bW0wLCUleW1tMCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iICAgICAgICBcCkBAIC0xOTU4LDggKzE5ODIsOCBAQCB2b2lk
IE9NSVRGUCBJNDIyVG9SR0JBUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgICAibGVh
ICAgICAgICAiIE1FTUxFQSgweDEwLCBbYV9idWZdKSAiLCVbYV9idWZdICAgICAgICAgICAgICAg
ICAgXG4iCiAKIC8vIFJlYWQgOCBVViBmcm9tIE5WMTIsIHVwc2FtcGxlIHRvIDE2IFVWLgotI2Rl
ZmluZSBSRUFETlYxMl9BVlgyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAidm1vdmRxdSAgICAiIE1FTUFDQ0VTUyhbdXZfYnVm
XSkgIiwlJXhtbTAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICBcCisjZGVmaW5lIFJF
QUROVjEyX0FWWDIgXAorICAidm1vdmRxdSAgICAiIE1FTUFDQ0VTUyhbdXZfYnVmXSkgIiwlJXht
bTAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgIFwKICAgICAibGVhICAgICAgICAi
IE1FTUxFQSgweDEwLCBbdXZfYnVmXSkgIiwlW3V2X2J1Zl0gICAgICAgICAgICAgICAgXG4iICAg
ICAgICBcCiAgICAgInZwZXJtcSAgICAgJDB4ZDgsJSV5bW0wLCUleW1tMCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgXAogICAgICJ2cHVucGNrbHdkICUleW1tMCwl
JXltbTAsJSV5bW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgIFwK
QEAgLTE5NjksOCArMTk5Myw4IEBAIHZvaWQgT01JVEZQIEk0MjJUb1JHQkFSb3dfU1NTRTMoY29u
c3QgdWludDgqIHlfYnVmLAogICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4MTAsIFt5X2J1Zl0p
ICIsJVt5X2J1Zl0gICAgICAgICAgICAgICAgICBcbiIKIAogLy8gUmVhZCA4IFZVIGZyb20gTlYy
MSwgdXBzYW1wbGUgdG8gMTYgVVYuCi0jZGVmaW5lIFJFQUROVjIxX0FWWDIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2bW92
ZHF1ICAgICIgTUVNQUNDRVNTKFt2dV9idWZdKSAiLCUleG1tMCAgICAgICAgICAgICAgICAgICAg
ICBcbiIgICAgICAgIFwKKyNkZWZpbmUgUkVBRE5WMjFfQVZYMiBcCisgICJ2bW92ZHF1ICAgICIg
TUVNQUNDRVNTKFt2dV9idWZdKSAiLCUleG1tMCAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAg
ICAgICAgXAogICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4MTAsIFt2dV9idWZdKSAiLCVbdnVf
YnVmXSAgICAgICAgICAgICAgICBcbiIgICAgICAgIFwKICAgICAidnBlcm1xICAgICAkMHhkOCwl
JXltbTAsJSV5bW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICBc
CiAgICAgInZwc2h1ZmIgICAgICVba1NodWZmbGVOVjIxXSwgJSV5bW0wLCAlJXltbTAgICAgICAg
ICAgICAgICAgICAgIFxuIiAgICAgICAgXApAQCAtMTk4MCw1MyArMjAwNCw1NyBAQCB2b2lkIE9N
SVRGUCBJNDIyVG9SR0JBUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgICAibGVhICAg
ICAgICAiIE1FTUxFQSgweDEwLCBbeV9idWZdKSAiLCVbeV9idWZdICAgICAgICAgICAgICAgICAg
XG4iCiAKIC8vIFJlYWQgOCBZVVkyIHdpdGggMTYgWSBhbmQgdXBzYW1wbGUgOCBVViB0byAxNiBV
Vi4KLSNkZWZpbmUgUkVBRFlVWTJfQVZYMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInZtb3ZkcXUgICAgIiBNRU1BQ0NFU1Mo
W3l1eTJfYnVmXSkgIiwlJXltbTQgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgXAorI2Rl
ZmluZSBSRUFEWVVZMl9BVlgyIFwKKyAgInZtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoW3l1eTJfYnVm
XSkgIiwlJXltbTQgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICBcCiAgICAgInZwc2h1
ZmIgICAgJVtrU2h1ZmZsZVlVWTJZXSwgJSV5bW00LCAlJXltbTQgICAgICAgICAgICAgICAgICAg
IFxuIiAgICAgICAgXAogICAgICJ2bW92ZHF1ICAgICIgTUVNQUNDRVNTKFt5dXkyX2J1Zl0pICIs
JSV5bW0wICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgIFwKICAgICAidnBzaHVmYiAgICAl
W2tTaHVmZmxlWVVZMlVWXSwgJSV5bW0wLCAlJXltbTAgICAgICAgICAgICAgICAgICAgXG4iICAg
ICAgICBcCiAgICAgImxlYSAgICAgICAgIiBNRU1MRUEoMHgyMCwgW3l1eTJfYnVmXSkgIiwlW3l1
eTJfYnVmXSAgICAgICAgICAgIFxuIgogCiAvLyBSZWFkIDggVVlWWSB3aXRoIDE2IFkgYW5kIHVw
c2FtcGxlIDggVVYgdG8gMTYgVVYuCi0jZGVmaW5lIFJFQURVWVZZX0FWWDIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2bW92
ZHF1ICAgICAiIE1FTUFDQ0VTUyhbdXl2eV9idWZdKSAiLCUleW1tNCAgICAgICAgICAgICAgICAg
ICBcbiIgICAgICAgIFwKKyNkZWZpbmUgUkVBRFVZVllfQVZYMiBcCisgICJ2bW92ZHF1ICAgICAi
IE1FTUFDQ0VTUyhbdXl2eV9idWZdKSAiLCUleW1tNCAgICAgICAgICAgICAgICAgICAgIFxuIiAg
ICAgICAgXAogICAgICJ2cHNodWZiICAgICAlW2tTaHVmZmxlVVlWWVldLCAlJXltbTQsICUleW1t
NCAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgIFwKICAgICAidm1vdmRxdSAgICAgIiBNRU1B
Q0NFU1MoW3V5dnlfYnVmXSkgIiwlJXltbTAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICBc
CiAgICAgInZwc2h1ZmIgICAgICVba1NodWZmbGVVWVZZVVZdLCAlJXltbTAsICUleW1tMCAgICAg
ICAgICAgICAgICAgIFxuIiAgICAgICAgXAogICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4MjAs
IFt1eXZ5X2J1Zl0pICIsJVt1eXZ5X2J1Zl0gICAgICAgICAgICBcbiIKIAogI2lmIGRlZmluZWQo
X194ODZfNjRfXykKLSNkZWZpbmUgWVVWVE9SR0JfU0VUVVBfQVZYMih5dXZjb25zdGFudHMpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInZtb3ZkcWEgICAgICIg
TUVNQUNDRVNTKFt5dXZjb25zdGFudHNdKSAiLCUleW1tOCAgICAgICAgICAgIFxuIiAgICAgICAg
ICAgXAorI2RlZmluZSBZVVZUT1JHQl9TRVRVUF9BVlgyKHl1dmNvbnN0YW50cykgXAorICAidm1v
dmRxYSAgICAgIiBNRU1BQ0NFU1MoW3l1dmNvbnN0YW50c10pICIsJSV5bW04ICAgICAgICAgICAg
ICBcbiIgICAgICAgICAgIFwKICAgICAidm1vdmRxYSAgICAgIiBNRU1BQ0NFU1MyKDMyLCBbeXV2
Y29uc3RhbnRzXSkgIiwlJXltbTkgICAgICAgXG4iICAgICAgICAgICBcCiAgICAgInZtb3ZkcWEg
ICAgICIgTUVNQUNDRVNTMig2NCwgW3l1dmNvbnN0YW50c10pICIsJSV5bW0xMCAgICAgIFxuIiAg
ICAgICAgICAgXAogICAgICJ2bW92ZHFhICAgICAiIE1FTUFDQ0VTUzIoOTYsIFt5dXZjb25zdGFu
dHNdKSAiLCUleW1tMTEgICAgICBcbiIgICAgICAgICAgIFwKICAgICAidm1vdmRxYSAgICAgIiBN
RU1BQ0NFU1MyKDEyOCwgW3l1dmNvbnN0YW50c10pICIsJSV5bW0xMiAgICAgXG4iICAgICAgICAg
ICBcCiAgICAgInZtb3ZkcWEgICAgICIgTUVNQUNDRVNTMigxNjAsIFt5dXZjb25zdGFudHNdKSAi
LCUleW1tMTMgICAgIFxuIiAgICAgICAgICAgXAogICAgICJ2bW92ZHFhICAgICAiIE1FTUFDQ0VT
UzIoMTkyLCBbeXV2Y29uc3RhbnRzXSkgIiwlJXltbTE0ICAgICBcbiIKLSNkZWZpbmUgWVVWVE9S
R0JfQVZYMih5dXZjb25zdGFudHMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgInZwbWFkZHVic3cgICUleW1tMTAsJSV5bW0wLCUleW1tMiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgXAotICAgICJ2cG1hZGR1YnN3ICAlJXlt
bTksJSV5bW0wLCUleW1tMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAg
IFwKLSAgICAidnBtYWRkdWJzdyAgJSV5bW04LCUleW1tMCwlJXltbTAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iICAgICAgICBcCi0gICAgInZwc3VidyAgICAgICUleW1tMiwlJXlt
bTEzLCUleW1tMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgXAotICAg
ICJ2cHN1YncgICAgICAlJXltbTEsJSV5bW0xMiwlJXltbTEgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIgICAgICAgIFwKLSAgICAidnBzdWJ3ICAgICAgJSV5bW0wLCUleW1tMTEsJSV5
bW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICBcCi0gICAgInZwbXVs
aHV3ICAgICUleW1tMTQsJSV5bW00LCUleW1tNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIiAgICAgICAgXAotICAgICJ2cGFkZHN3ICAgICAlJXltbTQsJSV5bW0wLCUleW1tMCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgIFwKLSAgICAidnBhZGRzdyAgICAg
JSV5bW00LCUleW1tMSwlJXltbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAg
ICAgICBcCi0gICAgInZwYWRkc3cgICAgICUleW1tNCwlJXltbTIsJSV5bW0yICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgXAotICAgICJ2cHNyYXcgICAgICAkMHg2LCUl
eW1tMCwlJXltbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgIFwK
LSAgICAidnBzcmF3ICAgICAgJDB4NiwlJXltbTEsJSV5bW0xICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iICAgICAgICBcCi0gICAgInZwc3JhdyAgICAgICQweDYsJSV5bW0yLCUl
eW1tMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgXAotICAgICJ2
cGFja3Vzd2IgICAlJXltbTAsJSV5bW0wLCUleW1tMCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIgICAgICAgIFwKLSAgICAidnBhY2t1c3diICAgJSV5bW0xLCUleW1tMSwlJXltbTEg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICBcCi0gICAgInZwYWNrdXN3
YiAgICUleW1tMiwlJXltbTIsJSV5bW0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgorCisjZGVmaW5lIFlVVlRPUkdCX0FWWDIoeXV2Y29uc3RhbnRzKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAidnBtYWRkdWJzdyAgJSV5bW0xMCwlJXltbTAsJSV5bW0y
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInZwbWFkZHVic3cgICUleW1t
OSwlJXltbTAsJSV5bW0xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiBcCisgICJ2
cG1hZGR1YnN3ICAlJXltbTgsJSV5bW0wLCUleW1tMCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIgXAorICAidnBzdWJ3ICAgICAgJSV5bW0yLCUleW1tMTMsJSV5bW0yICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInZwc3VidyAgICAgICUleW1tMSwlJXltbTEy
LCUleW1tMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiBcCisgICJ2cHN1YncgICAg
ICAlJXltbTAsJSV5bW0xMSwlJXltbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIg
XAorICAidnBtdWxodXcgICAgJSV5bW0xNCwlJXltbTQsJSV5bW00ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iIFwKKyAgInZwYWRkc3cgICAgICUleW1tNCwlJXltbTAsJSV5bW0wICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiBcCisgICJ2cGFkZHN3ICAgICAlJXltbTQs
JSV5bW0xLCUleW1tMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgXAorICAidnBh
ZGRzdyAgICAgJSV5bW00LCUleW1tMiwlJXltbTIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iIFwKKyAgInZwc3JhdyAgICAgICQweDYsJSV5bW0wLCUleW1tMCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIiBcCisgICJ2cHNyYXcgICAgICAkMHg2LCUleW1tMSwlJXlt
bTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgXAorICAidnBzcmF3ICAgICAg
JDB4NiwlJXltbTIsJSV5bW0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwK
KyAgInZwYWNrdXN3YiAgICUleW1tMCwlJXltbTAsJSV5bW0wICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIiBcCisgICJ2cGFja3Vzd2IgICAlJXltbTEsJSV5bW0xLCUleW1tMSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgXAorICAidnBhY2t1c3diICAgJSV5bW0yLCUl
eW1tMiwlJXltbTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKICNkZWZpbmUg
WVVWVE9SR0JfUkVHU19BVlgyIFwKLSAgICAieG1tOCIsICJ4bW05IiwgInhtbTEwIiwgInhtbTEx
IiwgInhtbTEyIiwgInhtbTEzIiwgInhtbTE0IiwKKyAgInhtbTgiLCAieG1tOSIsICJ4bW0xMCIs
ICJ4bW0xMSIsICJ4bW0xMiIsICJ4bW0xMyIsICJ4bW0xNCIsCisKICNlbHNlICAvLyBDb252ZXJ0
IDE2IHBpeGVsczogMTYgVVYgYW5kIDE2IFkuCisKICNkZWZpbmUgWVVWVE9SR0JfU0VUVVBfQVZY
Mih5dXZjb25zdGFudHMpCi0jZGVmaW5lIFlVVlRPUkdCX0FWWDIoeXV2Y29uc3RhbnRzKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2cG1hZGR1YnN3
ICAiIE1FTUFDQ0VTUzIoNjQsIFt5dXZjb25zdGFudHNdKSAiLCUleW1tMCwlJXltbTIgICBcbiIg
ICAgICAgIFwKKyNkZWZpbmUgWVVWVE9SR0JfQVZYMih5dXZjb25zdGFudHMpIFwKKyAgInZwbWFk
ZHVic3cgICIgTUVNQUNDRVNTMig2NCwgW3l1dmNvbnN0YW50c10pICIsJSV5bW0wLCUleW1tMiAg
ICAgXG4iICAgICAgICBcCiAgICAgInZwbWFkZHVic3cgICIgTUVNQUNDRVNTMigzMiwgW3l1dmNv
bnN0YW50c10pICIsJSV5bW0wLCUleW1tMSAgIFxuIiAgICAgICAgXAogICAgICJ2cG1hZGR1YnN3
ICAiIE1FTUFDQ0VTUyhbeXV2Y29uc3RhbnRzXSkgIiwlJXltbTAsJSV5bW0wICAgICAgICBcbiIg
ICAgICAgIFwKICAgICAidm1vdmRxdSAgICAgIiBNRU1BQ0NFU1MyKDE2MCwgW3l1dmNvbnN0YW50
c10pICIsJSV5bW0zICAgICAgICAgXG4iICAgICAgICBcCkBAIC0yMDQ5LDggKzIwNzcsOCBAQCB2
b2lkIE9NSVRGUCBJNDIyVG9SR0JBUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICNlbmRp
ZgogCiAvLyBTdG9yZSAxNiBBUkdCIHZhbHVlcy4KLSNkZWZpbmUgU1RPUkVBUkdCX0FWWDIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgInZwdW5wY2tsYncgJSV5bW0xLCUleW1tMCwlJXltbTAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgICAgICAgXAorI2RlZmluZSBTVE9SRUFSR0JfQVZYMiBcCisgICJ2cHVu
cGNrbGJ3ICUleW1tMSwlJXltbTAsJSV5bW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgICAgICAgXAogICAgICJ2cGVybXEgICAgICQweGQ4LCUleW1tMCwlJXltbTAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgIFwKICAgICAidnB1bnBja2xi
dyAlJXltbTUsJSV5bW0yLCUleW1tMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
ICAgICAgICBcCiAgICAgInZwZXJtcSAgICAgJDB4ZDgsJSV5bW0yLCUleW1tMiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgXApAQCAtMjA3Myw4ICsyMTAxLDkgQEAg
dm9pZCBPTUlURlAgSTQ0NFRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgICBZ
VVZUT1JHQl9TRVRVUF9BVlgyKHl1dmNvbnN0YW50cykKICAgICAic3ViICAgICAgICVbdV9idWZd
LCVbdl9idWZdICAgICAgICAgICAgICAgXG4iCiAgICAgInZwY21wZXFiICAlJXltbTUsJSV5bW01
LCUleW1tNSAgICAgICAgICAgIFxuIgorCiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgUkVBRFlVVjQ0NF9BVlgyCiAgICAg
WVVWVE9SR0JfQVZYMih5dXZjb25zdGFudHMpCiAgICAgU1RPUkVBUkdCX0FWWDIKQEAgLTIxMDYs
MTMgKzIxMzUsMTUgQEAgdm9pZCBPTUlURlAgSTQyMlRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4
KiB5X2J1ZiwKICAgICBZVVZUT1JHQl9TRVRVUF9BVlgyKHl1dmNvbnN0YW50cykKICAgICAic3Vi
ICAgICAgICVbdV9idWZdLCVbdl9idWZdICAgICAgICAgICAgICAgXG4iCiAgICAgInZwY21wZXFi
ICAlJXltbTUsJSV5bW01LCUleW1tNSAgICAgICAgICAgIFxuIgorCiAgICAgTEFCRUxBTElHTgot
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAi
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgUkVBRFlV
VjQyMl9BVlgyCiAgICAgWVVWVE9SR0JfQVZYMih5dXZjb25zdGFudHMpCiAgICAgU1RPUkVBUkdC
X0FWWDIKICAgICAic3ViICAgICAgICQweDEwLCVbd2lkdGhdICAgICAgICAgICAgICAgICAgXG4i
CiAgICAgImpnICAgICAgICAxYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCiAg
ICAgInZ6ZXJvdXBwZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICA6IFt5
X2J1Zl0iK3IiKHlfYnVmKSwgICAgLy8gJVt5X2J1Zl0KICAgICBbdV9idWZdIityIih1X2J1Ziks
ICAgIC8vICVbdV9idWZdCkBAIC0yMTMwLDE3ICsyMTYxLDE5IEBAIHZvaWQgT01JVEZQIEk0MjJU
b0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogeV9idWYsCiAvLyAxNiBwaXhlbHMKIC8vIDggVVYg
dmFsdWVzIHVwc2FtcGxlZCB0byAxNiBVViwgbWl4ZWQgd2l0aCAxNiBZIGFuZCAxNiBBIHByb2R1
Y2luZyAxNiBBUkdCLgogdm9pZCBPTUlURlAgSTQyMkFscGhhVG9BUkdCUm93X0FWWDIoY29uc3Qg
dWludDgqIHlfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiB1X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdl9i
dWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFfYnVmLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25z
dGFudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdV9idWYsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdl9idWYsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogYV9idWYsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5
dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpIHsKKyAgLy8gY2xhbmctZm9ybWF0IG9mZgogICBhc20gdm9sYXRpbGUgKAogICAgIFlVVlRP
UkdCX1NFVFVQX0FWWDIoeXV2Y29uc3RhbnRzKQogICAgICJzdWIgICAgICAgJVt1X2J1Zl0sJVt2
X2J1Zl0gICAgICAgICAgICAgICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIFJFQURZVVZBNDIyX0FWWDIKICAg
ICBZVVZUT1JHQl9BVlgyKHl1dmNvbnN0YW50cykKICAgICBTVE9SRUFSR0JfQVZYMgpAQCAtMjE1
Miw3ICsyMTg1LDcgQEAgdm9pZCBPTUlURlAgSTQyMkFscGhhVG9BUkdCUm93X0FWWDIoY29uc3Qg
dWludDgqIHlfYnVmLAogICAgIFt2X2J1Zl0iK3IiKHZfYnVmKSwgICAgLy8gJVt2X2J1Zl0KICAg
ICBbYV9idWZdIityIihhX2J1ZiksICAgIC8vICVbYV9idWZdCiAgICAgW2RzdF9hcmdiXSIrciIo
ZHN0X2FyZ2IpLCAgLy8gJVtkc3RfYXJnYl0KLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSAmJiBkZWZp
bmVkKF9fcGljX18pCisjaWYgZGVmaW5lZChfX2kzODZfXykKICAgICBbd2lkdGhdIittIih3aWR0
aCkgICAgIC8vICVbd2lkdGhdCiAjZWxzZQogICAgIFt3aWR0aF0iK3JtIih3aWR0aCkgICAgLy8g
JVt3aWR0aF0KQEAgLTIxNjEsNiArMjE5NCw3IEBAIHZvaWQgT01JVEZQIEk0MjJBbHBoYVRvQVJH
QlJvd19BVlgyKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgOiAibWVtb3J5IiwgImNjIiwgTkFDTF9S
MTQgWVVWVE9SR0JfUkVHU19BVlgyCiAgICAgInhtbTAiLCAieG1tMSIsICJ4bW0yIiwgInhtbTMi
LCAieG1tNCIsICJ4bW01IgogICApOworICAvLyBjbGFuZy1mb3JtYXQgb24KIH0KICNlbmRpZiAg
Ly8gSEFTX0k0MjJBTFBIQVRPQVJHQlJPV19BVlgyCiAKQEAgLTIxNzcsOCArMjIxMSw5IEBAIHZv
aWQgT01JVEZQIEk0MjJUb1JHQkFSb3dfQVZYMihjb25zdCB1aW50OCogeV9idWYsCiAgICAgWVVW
VE9SR0JfU0VUVVBfQVZYMih5dXZjb25zdGFudHMpCiAgICAgInN1YiAgICAgICAlW3VfYnVmXSwl
W3ZfYnVmXSAgICAgICAgICAgICAgIFxuIgogICAgICJ2cGNtcGVxYiAgICUleW1tNSwlJXltbTUs
JSV5bW01ICAgICAgICAgICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIFJFQURZVVY0MjJfQVZYMgogICAgIFlV
VlRPUkdCX0FWWDIoeXV2Y29uc3RhbnRzKQogCkBAIC0yMjE1LDExICsyMjUwLDEzIEBAIHZvaWQg
T01JVEZQIE5WMTJUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogeV9idWYsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgLy8gY2xhbmctZm9y
bWF0IG9mZgogICBhc20gdm9sYXRpbGUgKAogICAgIFlVVlRPUkdCX1NFVFVQX0FWWDIoeXV2Y29u
c3RhbnRzKQogICAgICJ2cGNtcGVxYiAgICUleW1tNSwlJXltbTUsJSV5bW01ICAgICAgICAgICBc
biIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgogICAgIFJFQUROVjEyX0FWWDIKICAgICBZVVZUT1JHQl9BVlgyKHl1dmNvbnN0
YW50cykKICAgICBTVE9SRUFSR0JfQVZYMgpAQCAtMjIzNCw2ICsyMjcxLDcgQEAgdm9pZCBPTUlU
RlAgTlYxMlRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgICA6ICJtZW1vcnki
LCAiY2MiLCBZVVZUT1JHQl9SRUdTX0FWWDIgIC8vIERvZXMgbm90IHVzZSByMTQuCiAgICAgInht
bTAiLCAieG1tMCIsICJ4bW0xIiwgInhtbTIiLCAieG1tMyIsICJ4bW00IiwgInhtbTUiCiAgICk7
CisgIC8vIGNsYW5nLWZvcm1hdCBvbgogfQogI2VuZGlmICAvLyBIQVNfTlYxMlRPQVJHQlJPV19B
VlgyCiAKQEAgLTIyNDUsMTEgKzIyODMsMTMgQEAgdm9pZCBPTUlURlAgTlYyMVRvQVJHQlJvd19B
VlgyKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCkgeworICAvLyBjbGFuZy1mb3JtYXQgb2ZmCiAgIGFzbSB2b2xhdGls
ZSAoCiAgICAgWVVWVE9SR0JfU0VUVVBfQVZYMih5dXZjb25zdGFudHMpCiAgICAgInZwY21wZXFi
ICAgJSV5bW01LCUleW1tNSwlJXltbTUgICAgICAgICAgIFxuIgorCiAgICAgTEFCRUxBTElHTgot
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAi
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgUkVBRE5W
MjFfQVZYMgogICAgIFlVVlRPUkdCX0FWWDIoeXV2Y29uc3RhbnRzKQogICAgIFNUT1JFQVJHQl9B
VlgyCkBAIC0yMjY1LDYgKzIzMDUsNyBAQCB2b2lkIE9NSVRGUCBOVjIxVG9BUkdCUm93X0FWWDIo
Y29uc3QgdWludDgqIHlfYnVmLAogICAgIDogIm1lbW9yeSIsICJjYyIsIFlVVlRPUkdCX1JFR1Nf
QVZYMiAgLy8gRG9lcyBub3QgdXNlIHIxNC4KICAgICAgICJ4bW0wIiwgInhtbTAiLCAieG1tMSIs
ICJ4bW0yIiwgInhtbTMiLCAieG1tNCIsICJ4bW01IgogICApOworICAvLyBjbGFuZy1mb3JtYXQg
b24KIH0KICNlbmRpZiAgLy8gSEFTX05WMjFUT0FSR0JST1dfQVZYMgogCkBAIC0yMjc1LDExICsy
MzE2LDEzIEBAIHZvaWQgT01JVEZQIFlVWTJUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogeXV5
Ml9idWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMq
IHl1dmNvbnN0YW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKKyAgLy8gY2xhbmctZm9ybWF0IG9mZgogICBhc20gdm9sYXRpbGUgKAogICAgIFlVVlRPUkdC
X1NFVFVQX0FWWDIoeXV2Y29uc3RhbnRzKQogICAgICJ2cGNtcGVxYiAgICUleW1tNSwlJXltbTUs
JSV5bW01ICAgICAgICAgICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIFJFQURZVVkyX0FWWDIKICAgICBZVVZU
T1JHQl9BVlgyKHl1dmNvbnN0YW50cykKICAgICBTVE9SRUFSR0JfQVZYMgpAQCAtMjI5NSw2ICsy
MzM4LDcgQEAgdm9pZCBPTUlURlAgWVVZMlRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiB5dXky
X2J1ZiwKICAgICA6ICJtZW1vcnkiLCAiY2MiLCBZVVZUT1JHQl9SRUdTX0FWWDIgIC8vIERvZXMg
bm90IHVzZSByMTQuCiAgICAgICAieG1tMCIsICJ4bW0wIiwgInhtbTEiLCAieG1tMiIsICJ4bW0z
IiwgInhtbTQiLCAieG1tNSIKICAgKTsKKyAgLy8gY2xhbmctZm9ybWF0IG9uCiB9CiAjZW5kaWYg
IC8vIEhBU19ZVVkyVE9BUkdCUk9XX0FWWDIKIApAQCAtMjMwNSwxMSArMjM0OSwxMyBAQCB2b2lk
IE9NSVRGUCBVWVZZVG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHV5dnlfYnVmLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIC8vIGNsYW5n
LWZvcm1hdCBvZmYKICAgYXNtIHZvbGF0aWxlICgKICAgICBZVVZUT1JHQl9TRVRVUF9BVlgyKHl1
dmNvbnN0YW50cykKICAgICAidnBjbXBlcWIgICAlJXltbTUsJSV5bW01LCUleW1tNSAgICAgICAg
ICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKICAgICBSRUFEVVlWWV9BVlgyCiAgICAgWVVWVE9SR0JfQVZYMih5dXZj
b25zdGFudHMpCiAgICAgU1RPUkVBUkdCX0FWWDIKQEAgLTIzMjUsNiArMjM3MSw3IEBAIHZvaWQg
T01JVEZQIFVZVllUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogdXl2eV9idWYsCiAgICAgOiAi
bWVtb3J5IiwgImNjIiwgWVVWVE9SR0JfUkVHU19BVlgyICAvLyBEb2VzIG5vdCB1c2UgcjE0Lgog
ICAgICAgInhtbTAiLCAieG1tMSIsICJ4bW0yIiwgInhtbTMiLCAieG1tNCIsICJ4bW01IgogICAp
OworICAvLyBjbGFuZy1mb3JtYXQgb24KIH0KICNlbmRpZiAgLy8gSEFTX1VZVllUT0FSR0JST1df
QVZYMgogCkBAIC0yMzM5LDggKzIzODYsOSBAQCB2b2lkIEk0MDBUb0FSR0JSb3dfU1NFMihjb25z
dCB1aW50OCogeV9idWYsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7CiAgICAgInBzaHVm
ZCAgICAkMHgwLCUleG1tMywlJXhtbTMgICAgICAgICAgICAgIFxuIgogICAgICJwY21wZXFiICAg
JSV4bW00LCUleG1tNCAgICAgICAgICAgICAgICAgICBcbiIKICAgICAicHNsbGQgICAgICQweDE4
LCUleG1tNCAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAvLyBTdGVwIDE6IFNj
YWxlIFkgY29udHJpYnV0aW9uIHRvIDggRyB2YWx1ZXMuIEcgPSAoeSAtIDE2KSAqIDEuMTY0CiAg
ICAgIm1vdnEgICAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxuIgogICAgICJs
ZWEgICAgICAgIiBNRU1MRUEoMHg4LDApICIsJTAgICAgICAgICAgICBcbiIKQEAgLTIzODgsNyAr
MjQzNiw3IEBAIHZvaWQgSTQwMFRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiB5X2J1ZiwgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKICAgICAidnBzbGxkICAgICAkMHgxOCwlJXltbTQs
JSV5bW00ICAgICAgICAgICAgXG4iCiAKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAvLyBTdGVwIDE6IFNjYWxlIFkgY29u
dHJpYnV0aW9uIHRvIDE2IEcgdmFsdWVzLiBHID0gKHkgLSAxNikgKiAxLjE2NAogICAgICJ2bW92
ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICBcbiIKICAgICAibGVhICAgICAg
ICAiIE1FTUxFQSgweDEwLDApICIsJTAgICAgICAgICAgXG4iCkBAIC0yNDIyLDE2ICsyNDcwLDE2
IEBAIHZvaWQgSTQwMFRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiB5X2J1ZiwgdWludDgqIGRz
dF9hcmdiLCBpbnQgd2lkdGgpIHsKIAogI2lmZGVmIEhBU19NSVJST1JST1dfU1NTRTMKIC8vIFNo
dWZmbGUgdGFibGUgZm9yIHJldmVyc2luZyB0aGUgYnl0ZXMuCi1zdGF0aWMgdXZlYzgga1NodWZm
bGVNaXJyb3IgPSB7Ci0gIDE1dSwgMTR1LCAxM3UsIDEydSwgMTF1LCAxMHUsIDl1LCA4dSwgN3Us
IDZ1LCA1dSwgNHUsIDN1LCAydSwgMXUsIDB1Ci19Oworc3RhdGljIHV2ZWM4IGtTaHVmZmxlTWly
cm9yID0gezE1dSwgMTR1LCAxM3UsIDEydSwgMTF1LCAxMHUsIDl1LCA4dSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA3dSwgIDZ1LCAgNXUsICA0dSwgIDN1LCAgMnUsICAxdSwgMHV9
OwogCiB2b2lkIE1pcnJvclJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBp
bnQgd2lkdGgpIHsKICAgaW50cHRyX3QgdGVtcF93aWR0aCA9IChpbnRwdHJfdCkod2lkdGgpOwog
ICBhc20gdm9sYXRpbGUgKAogICAgICJtb3ZkcWEgICAgJTMsJSV4bW01ICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgogICAgIE1FTU9QUkVHKG1vdmRxdSwtMHgxMCwwLDIsMSx4bW0w
KSAgICAgICAgICAvLyAgbW92ZHF1IC0weDEwKCUwLCUyKSwlJXhtbTAKICAgICAicHNodWZiICAg
ICUleG1tNSwlJXhtbTAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAlJXht
bTAsIiBNRU1BQ0NFU1MoMSkgIiAgICAgICAgIFxuIgpAQCAtMjQ1Myw4ICsyNTAxLDkgQEAgdm9p
ZCBNaXJyb3JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgp
IHsKICAgaW50cHRyX3QgdGVtcF93aWR0aCA9IChpbnRwdHJfdCkod2lkdGgpOwogICBhc20gdm9s
YXRpbGUgKAogICAgICJ2YnJvYWRjYXN0ZjEyOCAlMywlJXltbTUgICAgICAgICAgICAgICAgICBc
biIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgogICAgIE1FTU9QUkVHKHZtb3ZkcXUsLTB4MjAsMCwyLDEseW1tMCkgICAgICAg
ICAvLyAgdm1vdmRxdSAtMHgyMCglMCwlMiksJSV5bW0wCiAgICAgInZwc2h1ZmIgICAgJSV5bW01
LCUleW1tMCwlJXltbTAgICAgICAgICAgIFxuIgogICAgICJ2cGVybXEgICAgICQweDRlLCUleW1t
MCwlJXltbTAgICAgICAgICAgICBcbiIKQEAgLTI0NzUsMTggKzI1MjQsMjAgQEAgdm9pZCBNaXJy
b3JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpIHsKIAog
I2lmZGVmIEhBU19NSVJST1JVVlJPV19TU1NFMwogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgcmV2ZXJz
aW5nIHRoZSBieXRlcyBvZiBVViBjaGFubmVscy4KLXN0YXRpYyB1dmVjOCBrU2h1ZmZsZU1pcnJv
clVWID0gewotICAxNHUsIDEydSwgMTB1LCA4dSwgNnUsIDR1LCAydSwgMHUsIDE1dSwgMTN1LCAx
MXUsIDl1LCA3dSwgNXUsIDN1LCAxdQotfTsKLXZvaWQgTWlycm9yVVZSb3dfU1NTRTMoY29uc3Qg
dWludDgqIHNyYywgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsCitzdGF0aWMgdXZlYzgga1No
dWZmbGVNaXJyb3JVViA9IHsxNHUsIDEydSwgMTB1LCA4dSwgNnUsIDR1LCAydSwgMHUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXUsIDEzdSwgMTF1LCA5dSwgN3UsIDV1LCAz
dSwgMXV9Owordm9pZCBNaXJyb3JVVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjLAorICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdiwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGludHB0
cl90IHRlbXBfd2lkdGggPSAoaW50cHRyX3QpKHdpZHRoKTsKICAgYXNtIHZvbGF0aWxlICgKICAg
ICAibW92ZHFhICAgICU0LCUleG1tMSAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgImxl
YSAgICAgICAiIE1FTUxFQTQoLTB4MTAsMCwzLDIpICIsJTAgICAgIFxuIgogICAgICJzdWIgICAg
ICAgJTEsJTIgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKwogICAgIExBQkVMQUxJR04K
LSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3Zk
cXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICBcbiIKICAgICAibGVhICAgICAg
ICIgTUVNTEVBKC0weDEwLDApICIsJTAgICAgICAgICAgXG4iCiAgICAgInBzaHVmYiAgICAlJXht
bTEsJSV4bW0wICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtMjUxMiw4ICsyNTYzLDkgQEAgdm9p
ZCBBUkdCTWlycm9yUm93X1NTRTIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdp
ZHRoKSB7CiAgIGludHB0cl90IHRlbXBfd2lkdGggPSAoaW50cHRyX3QpKHdpZHRoKTsKICAgYXNt
IHZvbGF0aWxlICgKICAgICAibGVhICAgICAgICIgTUVNTEVBNCgtMHgxMCwwLDIsNCkgIiwlMCAg
ICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAg
ICAgICAgXG4iCiAgICAgInBzaHVmZCAgICAkMHgxYiwlJXhtbTAsJSV4bW0wICAgICAgICAgICAg
IFxuIgogICAgICJsZWEgICAgICAgIiBNRU1MRUEoLTB4MTAsMCkgIiwlMCAgICAgICAgICBcbiIK
QEAgLTI1MzMsMTUgKzI1ODUsMTQgQEAgdm9pZCBBUkdCTWlycm9yUm93X1NTRTIoY29uc3QgdWlu
dDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CiAKICNpZmRlZiBIQVNfQVJHQk1JUlJP
UlJPV19BVlgyCiAvLyBTaHVmZmxlIHRhYmxlIGZvciByZXZlcnNpbmcgdGhlIGJ5dGVzLgotc3Rh
dGljIGNvbnN0IHVsdmVjMzIga0FSR0JTaHVmZmxlTWlycm9yX0FWWDIgPSB7Ci0gIDd1LCA2dSwg
NXUsIDR1LCAzdSwgMnUsIDF1LCAwdQotfTsKK3N0YXRpYyBjb25zdCB1bHZlYzMyIGtBUkdCU2h1
ZmZsZU1pcnJvcl9BVlgyID0gezd1LCA2dSwgNXUsIDR1LCAzdSwgMnUsIDF1LCAwdX07CiB2b2lk
IEFSR0JNaXJyb3JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lk
dGgpIHsKICAgaW50cHRyX3QgdGVtcF93aWR0aCA9IChpbnRwdHJfdCkod2lkdGgpOwogICBhc20g
dm9sYXRpbGUgKAogICAgICJ2bW92ZHF1ICAgICUzLCUleW1tNSAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKwogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgogICAgIFZNRU1PUFJFRyh2cGVybWQsLTB4MjAsMCwyLDQseW1tNSx5bW0w
KSAvLyB2cGVybWQgLTB4MjAoJTAsJTIsNCkseW1tNSx5bW0wCiAgICAgInZtb3ZkcXUgICAgJSV5
bW0wLCIgTUVNQUNDRVNTKDEpICIgICAgICAgIFxuIgogICAgICJsZWEgICAgICAgICIgTUVNTEVB
KDB4MjAsMSkgIiwlMSAgICAgICAgICBcbiIKQEAgLTI1NTksMzEgKzI2MTAsMzQgQEAgdm9pZCBB
UkdCTWlycm9yUm93X0FWWDIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRo
KSB7CiAjZW5kaWYgIC8vIEhBU19BUkdCTUlSUk9SUk9XX0FWWDIKIAogI2lmZGVmIEhBU19TUExJ
VFVWUk9XX0FWWDIKLXZvaWQgU3BsaXRVVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfdXYsIHVp
bnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAordm9pZCBTcGxpdFVWUm93X0FWWDIoY29uc3QgdWlu
dDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCkgewogICBhc20gdm9sYXRpbGUgKAotICAgICJ2cGNtcGVxYiAgICUleW1tNSwlJXltbTUsJSV5
bW01ICAgICAgICAgICAgIFxuIgotICAgICJ2cHNybHcgICAgICQweDgsJSV5bW01LCUleW1tNSAg
ICAgICAgICAgICAgIFxuIgotICAgICJzdWIgICAgICAgICUxLCUyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICJ2cGNtcGVxYiAgICUleW1tNSwlJXltbTUsJSV5bW01ICAgICAg
ICAgICBcbiIKKyAgICAidnBzcmx3ICAgICAkMHg4LCUleW1tNSwlJXltbTUgICAgICAgICAgICAg
XG4iCisgICAgInN1YiAgICAgICAgJTEsJTIgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
CiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJ2bW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV5bW0wICAg
ICAgICAgIFxuIgotICAgICJ2bW92ZHF1ICAgICIgTUVNQUNDRVNTMigweDIwLDApICIsJSV5bW0x
ICAgIFxuIgotICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4NDAsMCkgIiwlMCAgICAgICAgICAg
IFxuIgotICAgICJ2cHNybHcgICAgICQweDgsJSV5bW0wLCUleW1tMiAgICAgICAgICAgICAgIFxu
IgotICAgICJ2cHNybHcgICAgICQweDgsJSV5bW0xLCUleW1tMyAgICAgICAgICAgICAgIFxuIgot
ICAgICJ2cGFuZCAgICAgICUleW1tNSwlJXltbTAsJSV5bW0wICAgICAgICAgICAgIFxuIgotICAg
ICJ2cGFuZCAgICAgICUleW1tNSwlJXltbTEsJSV5bW0xICAgICAgICAgICAgIFxuIgotICAgICJ2
cGFja3Vzd2IgICUleW1tMSwlJXltbTAsJSV5bW0wICAgICAgICAgICAgIFxuIgotICAgICJ2cGFj
a3Vzd2IgICUleW1tMywlJXltbTIsJSV5bW0yICAgICAgICAgICAgIFxuIgotICAgICJ2cGVybXEg
ICAgICQweGQ4LCUleW1tMCwlJXltbTAgICAgICAgICAgICAgIFxuIgotICAgICJ2cGVybXEgICAg
ICQweGQ4LCUleW1tMiwlJXltbTIgICAgICAgICAgICAgIFxuIgotICAgICJ2bW92ZHF1ICAgICUl
eW1tMCwiIE1FTUFDQ0VTUygxKSAiICAgICAgICAgIFxuIgotICAgIE1FTU9QTUVNKHZtb3ZkcXUs
eW1tMiwweDAwLDEsMiwxKSAgICAgICAgICAgICAvLyAgdm1vdmRxdSAlJXltbTIsKCUxLCUyKQot
ICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4MjAsMSkgIiwlMSAgICAgICAgICAgIFxuIgotICAg
ICJzdWIgICAgICAgICQweDIwLCUzICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJq
ZyAgICAgICAgIDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJ2emVy
b3VwcGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAidm1vdmRxdSAgICAi
IE1FTUFDQ0VTUygwKSAiLCUleW1tMCAgICAgICAgXG4iCisgICAgInZtb3ZkcXUgICAgIiBNRU1B
Q0NFU1MyKDB4MjAsMCkgIiwlJXltbTEgIFxuIgorICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4
NDAsMCkgIiwlMCAgICAgICAgICBcbiIKKyAgICAidnBzcmx3ICAgICAkMHg4LCUleW1tMCwlJXlt
bTIgICAgICAgICAgICAgXG4iCisgICAgInZwc3JsdyAgICAgJDB4OCwlJXltbTEsJSV5bW0zICAg
ICAgICAgICAgIFxuIgorICAgICJ2cGFuZCAgICAgICUleW1tNSwlJXltbTAsJSV5bW0wICAgICAg
ICAgICBcbiIKKyAgICAidnBhbmQgICAgICAlJXltbTUsJSV5bW0xLCUleW1tMSAgICAgICAgICAg
XG4iCisgICAgInZwYWNrdXN3YiAgJSV5bW0xLCUleW1tMCwlJXltbTAgICAgICAgICAgIFxuIgor
ICAgICJ2cGFja3Vzd2IgICUleW1tMywlJXltbTIsJSV5bW0yICAgICAgICAgICBcbiIKKyAgICAi
dnBlcm1xICAgICAkMHhkOCwlJXltbTAsJSV5bW0wICAgICAgICAgICAgXG4iCisgICAgInZwZXJt
cSAgICAgJDB4ZDgsJSV5bW0yLCUleW1tMiAgICAgICAgICAgIFxuIgorICAgICJ2bW92ZHF1ICAg
ICUleW1tMCwiIE1FTUFDQ0VTUygxKSAiICAgICAgICBcbiIKKyAgICBNRU1PUE1FTSh2bW92ZHF1
LHltbTIsMHgwMCwxLDIsMSkgICAgICAgICAgIC8vICB2bW92ZHF1ICUleW1tMiwoJTEsJTIpCisg
ICAgImxlYSAgICAgICAgIiBNRU1MRUEoMHgyMCwxKSAiLCUxICAgICAgICAgIFxuIgorICAgICJz
dWIgICAgICAgICQweDIwLCUzICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiamcgICAg
ICAgICAxYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgInZ6ZXJvdXBwZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICA6ICIrciIoc3JjX3V2KSwgICAg
IC8vICUwCiAgICAgIityIihkc3RfdSksICAgICAgLy8gJTEKICAgICAiK3IiKGRzdF92KSwgICAg
ICAvLyAlMgpAQCAtMjU5NiwzMCArMjY1MCwzMyBAQCB2b2lkIFNwbGl0VVZSb3dfQVZYMihjb25z
dCB1aW50OCogc3JjX3V2LCB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwKICNlbmRpZiAgLy8g
SEFTX1NQTElUVVZST1dfQVZYMgogCiAjaWZkZWYgSEFTX1NQTElUVVZST1dfU1NFMgotdm9pZCBT
cGxpdFVWUm93X1NTRTIoY29uc3QgdWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCog
ZHN0X3YsCit2b2lkIFNwbGl0VVZSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3V2LAorICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF92LAogICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGls
ZSAoCi0gICAgInBjbXBlcWIgICAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgInBzcmx3ICAgICAgJDB4OCwlJXhtbTUgICAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgInN1YiAgICAgICAgJTEsJTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
InBjbXBlcWIgICAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgIFxuIgorICAgICJwc3Js
dyAgICAgICQweDgsJSV4bW01ICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAic3ViICAgICAg
ICAlMSwlMiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0g
ICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
Im1vdmRxdSAgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICAgXG4iCi0gICAgIm1v
dmRxdSAgICAgIiBNRU1BQ0NFU1MyKDB4MTAsMCkgIiwlJXhtbTEgICAgXG4iCi0gICAgImxlYSAg
ICAgICAgIiBNRU1MRUEoMHgyMCwwKSAiLCUwICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAg
ICAgJSV4bW0wLCUleG1tMiAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAg
JSV4bW0xLCUleG1tMyAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBhbmQgICAgICAgJSV4
bW01LCUleG1tMCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBhbmQgICAgICAgJSV4bW01
LCUleG1tMSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBhY2t1c3diICAgJSV4bW0xLCUl
eG1tMCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBzcmx3ICAgICAgJDB4OCwlJXhtbTIg
ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBzcmx3ICAgICAgJDB4OCwlJXhtbTMgICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBhY2t1c3diICAgJSV4bW0zLCUleG1tMiAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxdSAgICAgJSV4bW0wLCIgTUVNQUNDRVNTKDEp
ICIgICAgICAgICAgXG4iCi0gICAgTUVNT1BNRU0obW92ZHF1LHhtbTIsMHgwMCwxLDIsMSkgICAg
ICAgICAgICAgLy8gIG1vdmRxdSAgICAgJSV4bW0yLCglMSwlMikKLSAgICAibGVhICAgICAgICAi
IE1FTUxFQSgweDEwLDEpICIsJTEgICAgICAgICAgICBcbiIKLSAgICAic3ViICAgICAgICAkMHgx
MCwlMyAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiamcgICAgICAgICAxYiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIm1vdmRxdSAgICAgIiBNRU1BQ0NFU1MoMCkg
IiwlJXhtbTAgICAgICAgIFxuIgorICAgICJtb3ZkcXUgICAgICIgTUVNQUNDRVNTMigweDEwLDAp
ICIsJSV4bW0xICBcbiIKKyAgICAibGVhICAgICAgICAiIE1FTUxFQSgweDIwLDApICIsJTAgICAg
ICAgICAgXG4iCisgICAgIm1vdmRxYSAgICAgJSV4bW0wLCUleG1tMiAgICAgICAgICAgICAgICAg
IFxuIgorICAgICJtb3ZkcWEgICAgICUleG1tMSwlJXhtbTMgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAicGFuZCAgICAgICAlJXhtbTUsJSV4bW0wICAgICAgICAgICAgICAgICAgXG4iCisgICAg
InBhbmQgICAgICAgJSV4bW01LCUleG1tMSAgICAgICAgICAgICAgICAgIFxuIgorICAgICJwYWNr
dXN3YiAgICUleG1tMSwlJXhtbTAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAicHNybHcgICAg
ICAkMHg4LCUleG1tMiAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgInBzcmx3ICAgICAgJDB4
OCwlJXhtbTMgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICJwYWNrdXN3YiAgICUleG1tMywl
JXhtbTIgICAgICAgICAgICAgICAgICBcbiIKKyAgICAibW92ZHF1ICAgICAlJXhtbTAsIiBNRU1B
Q0NFU1MoMSkgIiAgICAgICAgXG4iCisgICAgTUVNT1BNRU0obW92ZHF1LHhtbTIsMHgwMCwxLDIs
MSkgICAgICAgICAgIC8vICBtb3ZkcXUgICAgICUleG1tMiwoJTEsJTIpCisgICAgImxlYSAgICAg
ICAgIiBNRU1MRUEoMHgxMCwxKSAiLCUxICAgICAgICAgIFxuIgorICAgICJzdWIgICAgICAgICQw
eDEwLCUzICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiamcgICAgICAgICAxYiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgIDogIityIihzcmNfdXYpLCAgICAgLy8gJTAK
ICAgICAiK3IiKGRzdF91KSwgICAgICAvLyAlMQogICAgICIrciIoZHN0X3YpLCAgICAgIC8vICUy
CkBAIC0yNjMyLDI1ICsyNjg5LDI4IEBAIHZvaWQgU3BsaXRVVlJvd19TU0UyKGNvbnN0IHVpbnQ4
KiBzcmNfdXYsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAogI2VuZGlmICAvLyBIQVNfU1BM
SVRVVlJPV19TU0UyCiAKICNpZmRlZiBIQVNfTUVSR0VVVlJPV19BVlgyCi12b2lkIE1lcmdlVVZS
b3dfQVZYMihjb25zdCB1aW50OCogc3JjX3UsIGNvbnN0IHVpbnQ4KiBzcmNfdiwgdWludDgqIGRz
dF91diwKK3ZvaWQgTWVyZ2VVVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfdXYsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZv
bGF0aWxlICgKLSAgICAic3ViICAgICAgICUwLCUxICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgInZtb3ZkcXUgICAiIE1FTUFDQ0VTUygwKSAiLCUleW1t
MCAgICAgICAgICAgXG4iCi0gICAgTUVNT1BSRUcodm1vdmRxdSwweDAwLDAsMSwxLHltbTEpICAg
ICAgICAgICAgIC8vICB2bW92ZHF1ICglMCwlMSwxKSwlJXltbTEKLSAgICAibGVhICAgICAgICIg
TUVNTEVBKDB4MjAsMCkgIiwlMCAgICAgICAgICAgICBcbiIKLSAgICAidnB1bnBja2xidyAlJXlt
bTEsJSV5bW0wLCUleW1tMiAgICAgICAgICAgICBcbiIKLSAgICAidnB1bnBja2hidyAlJXltbTEs
JSV5bW0wLCUleW1tMCAgICAgICAgICAgICBcbiIKLSAgICAidmV4dHJhY3RmMTI4ICQweDAsJSV5
bW0yLCIgTUVNQUNDRVNTKDIpICIgICBcbiIKKyAgICAic3ViICAgICAgICUwLCUxICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICBMQUJFTEFMSUdOCisgICAgIjE6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICJ2bW92ZHF1ICAgIiBNRU1B
Q0NFU1MoMCkgIiwlJXltbTAgICAgICAgICBcbiIKKyAgICBNRU1PUFJFRyh2bW92ZHF1LDB4MDAs
MCwxLDEseW1tMSkgICAgICAgICAgIC8vICB2bW92ZHF1ICglMCwlMSwxKSwlJXltbTEKKyAgICAi
bGVhICAgICAgICIgTUVNTEVBKDB4MjAsMCkgIiwlMCAgICAgICAgICAgXG4iCisgICAgInZwdW5w
Y2tsYncgJSV5bW0xLCUleW1tMCwlJXltbTIgICAgICAgICAgIFxuIgorICAgICJ2cHVucGNraGJ3
ICUleW1tMSwlJXltbTAsJSV5bW0wICAgICAgICAgICBcbiIKKyAgICAidmV4dHJhY3RmMTI4ICQw
eDAsJSV5bW0yLCIgTUVNQUNDRVNTKDIpICIgXG4iCiAgICAgInZleHRyYWN0ZjEyOCAkMHgwLCUl
eW1tMCwiIE1FTUFDQ0VTUzIoMHgxMCwyKSAiXG4iCiAgICAgInZleHRyYWN0ZjEyOCAkMHgxLCUl
eW1tMiwiIE1FTUFDQ0VTUzIoMHgyMCwyKSAiXG4iCiAgICAgInZleHRyYWN0ZjEyOCAkMHgxLCUl
eW1tMCwiIE1FTUFDQ0VTUzIoMHgzMCwyKSAiXG4iCi0gICAgImxlYSAgICAgICAiIE1FTUxFQSgw
eDQwLDIpICIsJTIgICAgICAgICAgICAgXG4iCi0gICAgInN1YiAgICAgICAkMHgyMCwlMyAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImpnICAgICAgICAxYiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInZ6ZXJvdXBwZXIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgImxlYSAgICAgICAiIE1FTUxFQSgweDQwLDIpICIsJTIg
ICAgICAgICAgIFxuIgorICAgICJzdWIgICAgICAgJDB4MjAsJTMgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAiamcgICAgICAgIDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgInZ6ZXJvdXBwZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgog
ICA6ICIrciIoc3JjX3UpLCAgICAgLy8gJTAKICAgICAiK3IiKHNyY192KSwgICAgIC8vICUxCiAg
ICAgIityIihkc3RfdXYpLCAgICAvLyAlMgpAQCAtMjY2MywyMyArMjcyMywyNiBAQCB2b2lkIE1l
cmdlVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3UsIGNvbnN0IHVpbnQ4KiBzcmNfdiwgdWlu
dDgqIGRzdF91diwKICNlbmRpZiAgLy8gSEFTX01FUkdFVVZST1dfQVZYMgogCiAjaWZkZWYgSEFT
X01FUkdFVVZST1dfU1NFMgotdm9pZCBNZXJnZVVWUm93X1NTRTIoY29uc3QgdWludDgqIHNyY191
LCBjb25zdCB1aW50OCogc3JjX3YsIHVpbnQ4KiBkc3RfdXYsCit2b2lkIE1lcmdlVVZSb3dfU1NF
Mihjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3YsCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V2LAogICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCi0gICAgInN1YiAgICAgICAl
MCwlMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgInN1YiAgICAgICAlMCwl
MSAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCiAgICAgTEFCRUxBTElHTgotICAiMTog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3Zk
cXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICAgIFxuIgotICAgIE1FTU9QUkVH
KG1vdmRxdSwweDAwLDAsMSwxLHhtbTEpICAgICAgICAgICAgIC8vICBtb3ZkcXUgICAgKCUwLCUx
LDEpLCUleG1tMQotICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHgxMCwwKSAiLCUwICAgICAgICAg
ICAgIFxuIgotICAgICJtb3ZkcWEgICAgJSV4bW0wLCUleG1tMiAgICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJwdW5wY2tsYncgJSV4bW0xLCUleG1tMCAgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJwdW5wY2toYncgJSV4bW0xLCUleG1tMiAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJtb3ZkcXUgICAgJSV4bW0wLCIgTUVNQUNDRVNTKDIpICIgICAgICAgICAgIFxuIgotICAg
ICJtb3ZkcXUgICAgJSV4bW0yLCIgTUVNQUNDRVNTMigweDEwLDIpICIgICAgIFxuIgotICAgICJs
ZWEgICAgICAgIiBNRU1MRUEoMHgyMCwyKSAiLCUyICAgICAgICAgICAgIFxuIgotICAgICJzdWIg
ICAgICAgJDB4MTAsJTMgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJqZyAgICAg
ICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAibW92ZHF1ICAgICIgTUVN
QUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCisgICAgTUVNT1BSRUcobW92ZHF1LDB4MDAs
MCwxLDEseG1tMSkgICAgICAgICAgIC8vICBtb3ZkcXUgICAgKCUwLCUxLDEpLCUleG1tMQorICAg
ICJsZWEgICAgICAgIiBNRU1MRUEoMHgxMCwwKSAiLCUwICAgICAgICAgICBcbiIKKyAgICAibW92
ZHFhICAgICUleG1tMCwlJXhtbTIgICAgICAgICAgICAgICAgICAgXG4iCisgICAgInB1bnBja2xi
dyAlJXhtbTEsJSV4bW0wICAgICAgICAgICAgICAgICAgIFxuIgorICAgICJwdW5wY2toYncgJSV4
bW0xLCUleG1tMiAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAibW92ZHF1ICAgICUleG1tMCwi
IE1FTUFDQ0VTUygyKSAiICAgICAgICAgXG4iCisgICAgIm1vdmRxdSAgICAlJXhtbTIsIiBNRU1B
Q0NFU1MyKDB4MTAsMikgIiAgIFxuIgorICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHgyMCwyKSAi
LCUyICAgICAgICAgICBcbiIKKyAgICAic3ViICAgICAgICQweDEwLCUzICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgImpnICAgICAgICAxYiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgogICA6ICIrciIoc3JjX3UpLCAgICAgLy8gJTAKICAgICAiK3IiKHNyY192KSwgICAg
IC8vICUxCiAgICAgIityIihkc3RfdXYpLCAgICAvLyAlMgpAQCAtMjY5OCw4ICsyNzYxLDkgQEAg
dm9pZCBDb3B5Um93X1NTRTIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IGNvdW50
KSB7CiAgICAgImpuZSAgICAgICAgMmYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgog
ICAgICJ0ZXN0ICAgICAgICQweGYsJTEgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAi
am5lICAgICAgICAyZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJF
TEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAg
ICAibW92ZHFhICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1v
dmRxYSAgICAiIE1FTUFDQ0VTUzIoMHgxMCwwKSAiLCUleG1tMSAgIFxuIgogICAgICJsZWEgICAg
ICAgIiBNRU1MRUEoMHgyMCwwKSAiLCUwICAgICAgICAgICBcbiIKQEAgLTI3MDksNiArMjc3Myw3
IEBAIHZvaWQgQ29weVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCBj
b3VudCkgewogICAgICJzdWIgICAgICAgJDB4MjAsJTIgICAgICAgICAgICAgICAgICAgICAgICBc
biIKICAgICAiamcgICAgICAgIDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAg
ICAgImptcCAgICAgICA5ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCiAgICAg
TEFCRUxBTElHTgogICAiMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4i
CkBAIC0yNzM0LDcgKzI3OTksNyBAQCB2b2lkIENvcHlSb3dfU1NFMihjb25zdCB1aW50OCogc3Jj
LCB1aW50OCogZHN0LCBpbnQgY291bnQpIHsKIHZvaWQgQ29weVJvd19BVlgoY29uc3QgdWludDgq
IHNyYywgdWludDgqIGRzdCwgaW50IGNvdW50KSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgTEFC
RUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAg
ICAgInZtb3ZkcXUgICAiIE1FTUFDQ0VTUygwKSAiLCUleW1tMCAgICAgICAgIFxuIgogICAgICJ2
bW92ZHF1ICAgIiBNRU1BQ0NFU1MyKDB4MjAsMCkgIiwlJXltbTEgICBcbiIKICAgICAibGVhICAg
ICAgICIgTUVNTEVBKDB4NDAsMCkgIiwlMCAgICAgICAgICAgXG4iCkBAIC0yNzU3LDE0ICsyODIy
LDEyIEBAIHZvaWQgQ29weVJvd19BVlgoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50
IGNvdW50KSB7CiAvLyBNdWx0aXBsZSBvZiAxLgogdm9pZCBDb3B5Um93X0VSTVMoY29uc3QgdWlu
dDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CiAgIHNpemVfdCB3aWR0aF90bXAgPSAo
c2l6ZV90KSh3aWR0aCk7Ci0gIGFzbSB2b2xhdGlsZSAoCi0gICAgInJlcCBtb3ZzYiAiIE1FTU1P
VkVTVFJJTkcoMCwxKSAiICAgICAgICAgIFxuIgotICA6ICIrUyIoc3JjKSwgIC8vICUwCi0gICAg
IitEIihkc3QpLCAgLy8gJTEKLSAgICAiK2MiKHdpZHRoX3RtcCkgLy8gJTIKLSAgOgotICA6ICJt
ZW1vcnkiLCAiY2MiCi0gICk7CisgIGFzbSB2b2xhdGlsZSgicmVwIG1vdnNiICIgTUVNTU9WRVNU
UklORygwLCAxKSAiICAgICAgICAgIFxuIgorICAgICAgICAgICAgICAgOiAiK1MiKHNyYyksICAg
ICAgIC8vICUwCisgICAgICAgICAgICAgICAgICIrRCIoZHN0KSwgICAgICAgLy8gJTEKKyAgICAg
ICAgICAgICAgICAgIitjIih3aWR0aF90bXApICAvLyAlMgorICAgICAgICAgICAgICAgOgorICAg
ICAgICAgICAgICAgOiAibWVtb3J5IiwgImNjIik7CiB9CiAjZW5kaWYgIC8vIEhBU19DT1BZUk9X
X0VSTVMKIApAQCAtMjc3Niw4ICsyODM5LDkgQEAgdm9pZCBBUkdCQ29weUFscGhhUm93X1NTRTIo
Y29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CiAgICAgInBzbGxkICAg
ICAkMHgxOCwlJXhtbTAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJwY21wZXFiICAgJSV4
bW0xLCUleG1tMSAgICAgICAgICAgICAgICAgICBcbiIKICAgICAicHNybGQgICAgICQweDgsJSV4
bW0xICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVN
QUNDRVNTKDApICIsJSV4bW0yICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VT
UzIoMHgxMCwwKSAiLCUleG1tMyAgIFxuIgogICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHgyMCww
KSAiLCUwICAgICAgICAgICBcbiIKQEAgLTI4MTAsOCArMjg3NCw5IEBAIHZvaWQgQVJHQkNvcHlB
bHBoYVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgewog
ICBhc20gdm9sYXRpbGUgKAogICAgICJ2cGNtcGVxYiAgJSV5bW0wLCUleW1tMCwlJXltbTAgICAg
ICAgICAgICBcbiIKICAgICAidnBzcmxkICAgICQweDgsJSV5bW0wLCUleW1tMCAgICAgICAgICAg
ICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKICAgICAidm1vdmRxdSAgICIgTUVNQUNDRVNTKDApICIsJSV5bW0xICAg
ICAgICAgXG4iCiAgICAgInZtb3ZkcXUgICAiIE1FTUFDQ0VTUzIoMHgyMCwwKSAiLCUleW1tMiAg
IFxuIgogICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHg0MCwwKSAiLCUwICAgICAgICAgICBcbiIK
QEAgLTI4MzYsOSArMjkwMSw5IEBAIHZvaWQgQVJHQkNvcHlBbHBoYVJvd19BVlgyKGNvbnN0IHVp
bnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgewogI2lmZGVmIEhBU19BUkdCRVhUUkFD
VEFMUEhBUk9XX1NTRTIKIC8vIHdpZHRoIGluIHBpeGVscwogdm9pZCBBUkdCRXh0cmFjdEFscGhh
Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2EsIGludCB3aWR0aCkg
ewotIGFzbSB2b2xhdGlsZSAoCisgIGFzbSB2b2xhdGlsZSAoCiAgICAgTEFCRUxBTElHTgotICAi
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAg
ICAiIE1FTUFDQ0VTUygwKSAiLCAlJXhtbTAgICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBN
RU1BQ0NFU1MyKDB4MTAsIDApICIsICUleG1tMSBcbiIKICAgICAibGVhICAgICAgICIgTUVNTEVB
KDB4MjAsIDApICIsICUwICAgICAgICAgXG4iCkBAIC0yODYyLDE2ICsyOTI3LDE2IEBAIHZvaWQg
QVJHQkV4dHJhY3RBbHBoYVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRz
dF9hLCBpbnQgd2lkdGgpIHsKIAogI2lmZGVmIEhBU19BUkdCRVhUUkFDVEFMUEhBUk9XX0FWWDIK
IHN0YXRpYyBjb25zdCB1dmVjOCBrU2h1ZmZsZUFscGhhU2hvcnRfQVZYMiA9IHsKLSAgM3UsIDEy
OHUsIDEyOHUsIDEyOHUsIDd1LCAxMjh1LCAxMjh1LCAxMjh1LAotICAxMXUsIDEyOHUsIDEyOHUs
IDEyOHUsIDE1dSwgMTI4dSwgMTI4dSwgMTI4dQotfTsKKyAgICAzdSwgIDEyOHUsIDEyOHUsIDEy
OHUsIDd1LCAgMTI4dSwgMTI4dSwgMTI4dSwKKyAgICAxMXUsIDEyOHUsIDEyOHUsIDEyOHUsIDE1
dSwgMTI4dSwgMTI4dSwgMTI4dX07CiAKIHZvaWQgQVJHQkV4dHJhY3RBbHBoYVJvd19BVlgyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hLCBpbnQgd2lkdGgpIHsKLSBhc20gdm9s
YXRpbGUgKAorICBhc20gdm9sYXRpbGUgKAogICAgICJ2bW92ZHFhICAgICUzLCUleW1tNCAgICAg
ICAgICAgICAgICAgICAgICBcbiIKICAgICAidmJyb2FkY2FzdGYxMjggJTQsJSV5bW01ICAgICAg
ICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAidm1vdmRxdSAgICIgTUVNQUNDRVNTKDApICIs
ICUleW1tMCAgICAgICAgXG4iCiAgICAgInZtb3ZkcXUgICAiIE1FTUFDQ0VTUzIoMHgyMCwgMCkg
IiwgJSV5bW0xIFxuIgogICAgICJ2cHNodWZiICAgICUleW1tNSwlJXltbTAsJSV5bW0wICAgICAg
ICAgICBcbiIgLy8gdnBzcmxkICQweDE4LCAlJXltbTAKQEAgLTI5MDksOCArMjk3NCw5IEBAIHZv
aWQgQVJHQkNvcHlZVG9BbHBoYVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3Qs
IGludCB3aWR0aCkgewogICAgICJwc2xsZCAgICAgJDB4MTgsJSV4bW0wICAgICAgICAgICAgICAg
ICAgICBcbiIKICAgICAicGNtcGVxYiAgICUleG1tMSwlJXhtbTEgICAgICAgICAgICAgICAgICAg
XG4iCiAgICAgInBzcmxkICAgICAkMHg4LCUleG1tMSAgICAgICAgICAgICAgICAgICAgIFxuIgor
CiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCiAgICAgIm1vdnEgICAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMiAgICAgICAgIFxu
IgogICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHg4LDApICIsJTAgICAgICAgICAgICBcbiIKICAg
ICAicHVucGNrbGJ3ICUleG1tMiwlJXhtbTIgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0yOTQ1
LDggKzMwMTEsOSBAQCB2b2lkIEFSR0JDb3B5WVRvQWxwaGFSb3dfQVZYMihjb25zdCB1aW50OCog
c3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAidnBj
bXBlcWIgICUleW1tMCwlJXltbTAsJSV5bW0wICAgICAgICAgICAgXG4iCiAgICAgInZwc3JsZCAg
ICAkMHg4LCUleW1tMCwlJXltbTAgICAgICAgICAgICAgIFxuIgorCiAgICAgTEFCRUxBTElHTgot
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAi
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgInZwbW92
enhiZCAiIE1FTUFDQ0VTUygwKSAiLCUleW1tMSAgICAgICAgIFxuIgogICAgICJ2cG1vdnp4YmQg
IiBNRU1BQ0NFU1MyKDB4OCwwKSAiLCUleW1tMiAgICBcbiIKICAgICAibGVhICAgICAgICIgTUVN
TEVBKDB4MTAsMCkgIiwlMCAgICAgICAgICAgXG4iCkBAIC0yOTc0LDMyICszMDQxLDI5IEBAIHZv
aWQgQVJHQkNvcHlZVG9BbHBoYVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3Qs
IGludCB3aWR0aCkgewogdm9pZCBTZXRSb3dfWDg2KHVpbnQ4KiBkc3QsIHVpbnQ4IHY4LCBpbnQg
d2lkdGgpIHsKICAgc2l6ZV90IHdpZHRoX3RtcCA9IChzaXplX3QpKHdpZHRoID4+IDIpOwogICBj
b25zdCB1aW50MzIgdjMyID0gdjggKiAweDAxMDEwMTAxdTsgIC8vIER1cGxpY2F0ZSBieXRlIHRv
IGFsbCBieXRlcy4KLSAgYXNtIHZvbGF0aWxlICgKLSAgICAicmVwIHN0b3NsICIgTUVNU1RPUkVT
VFJJTkcoZWF4LDApICIgICAgICAgXG4iCi0gICAgOiAiK0QiKGRzdCksICAgICAgIC8vICUwCi0g
ICAgICAiK2MiKHdpZHRoX3RtcCkgIC8vICUxCi0gICAgOiAiYSIodjMyKSAgICAgICAgIC8vICUy
Ci0gICAgOiAibWVtb3J5IiwgImNjIik7CisgIGFzbSB2b2xhdGlsZSgicmVwIHN0b3NsICIgTUVN
U1RPUkVTVFJJTkcoZWF4LCAwKSAiICAgICAgIFxuIgorICAgICAgICAgICAgICAgOiAiK0QiKGRz
dCksICAgICAgIC8vICUwCisgICAgICAgICAgICAgICAgICIrYyIod2lkdGhfdG1wKSAgLy8gJTEK
KyAgICAgICAgICAgICAgIDogImEiKHYzMikgICAgICAgICAvLyAlMgorICAgICAgICAgICAgICAg
OiAibWVtb3J5IiwgImNjIik7CiB9CiAKIHZvaWQgU2V0Um93X0VSTVModWludDgqIGRzdCwgdWlu
dDggdjgsIGludCB3aWR0aCkgewogICBzaXplX3Qgd2lkdGhfdG1wID0gKHNpemVfdCkod2lkdGgp
OwotICBhc20gdm9sYXRpbGUgKAotICAgICJyZXAgc3Rvc2IgIiBNRU1TVE9SRVNUUklORyhhbCww
KSAiICAgICAgICBcbiIKLSAgICA6ICIrRCIoZHN0KSwgICAgICAgLy8gJTAKLSAgICAgICIrYyIo
d2lkdGhfdG1wKSAgLy8gJTEKLSAgICA6ICJhIih2OCkgICAgICAgICAgLy8gJTIKLSAgICA6ICJt
ZW1vcnkiLCAiY2MiKTsKKyAgYXNtIHZvbGF0aWxlKCJyZXAgc3Rvc2IgIiBNRU1TVE9SRVNUUklO
RyhhbCwgMCkgIiAgICAgICAgXG4iCisgICAgICAgICAgICAgICA6ICIrRCIoZHN0KSwgICAgICAg
Ly8gJTAKKyAgICAgICAgICAgICAgICAgIitjIih3aWR0aF90bXApICAvLyAlMQorICAgICAgICAg
ICAgICAgOiAiYSIodjgpICAgICAgICAgIC8vICUyCisgICAgICAgICAgICAgICA6ICJtZW1vcnki
LCAiY2MiKTsKIH0KIAogdm9pZCBBUkdCU2V0Um93X1g4Nih1aW50OCogZHN0X2FyZ2IsIHVpbnQz
MiB2MzIsIGludCB3aWR0aCkgewogICBzaXplX3Qgd2lkdGhfdG1wID0gKHNpemVfdCkod2lkdGgp
OwotICBhc20gdm9sYXRpbGUgKAotICAgICJyZXAgc3Rvc2wgIiBNRU1TVE9SRVNUUklORyhlYXgs
MCkgIiAgICAgICBcbiIKLSAgICA6ICIrRCIoZHN0X2FyZ2IpLCAgLy8gJTAKLSAgICAgICIrYyIo
d2lkdGhfdG1wKSAgLy8gJTEKLSAgICA6ICJhIih2MzIpICAgICAgICAgLy8gJTIKLSAgICA6ICJt
ZW1vcnkiLCAiY2MiKTsKKyAgYXNtIHZvbGF0aWxlKCJyZXAgc3Rvc2wgIiBNRU1TVE9SRVNUUklO
RyhlYXgsIDApICIgICAgICAgXG4iCisgICAgICAgICAgICAgICA6ICIrRCIoZHN0X2FyZ2IpLCAg
Ly8gJTAKKyAgICAgICAgICAgICAgICAgIitjIih3aWR0aF90bXApICAvLyAlMQorICAgICAgICAg
ICAgICAgOiAiYSIodjMyKSAgICAgICAgIC8vICUyCisgICAgICAgICAgICAgICA6ICJtZW1vcnki
LCAiY2MiKTsKIH0KICNlbmRpZiAgLy8gSEFTX1NFVFJPV19YODYKIApAQCAtMzAwOCw4ICszMDcy
LDkgQEAgdm9pZCBZVVkyVG9ZUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195dXkyLCB1aW50OCog
ZHN0X3ksIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJwY21wZXFiICAgJSV4
bW01LCUleG1tNSAgICAgICAgICAgICAgICAgICBcbiIKICAgICAicHNybHcgICAgICQweDgsJSV4
bW01ICAgICAgICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVN
QUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VT
UzIoMHgxMCwwKSAiLCUleG1tMSAgIFxuIgogICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHgyMCww
KSAiLCUwICAgICAgICAgICBcbiIKQEAgLTMwMjksMTQgKzMwOTQsMTggQEAgdm9pZCBZVVkyVG9Z
Um93X1NTRTIoY29uc3QgdWludDgqIHNyY195dXkyLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkg
ewogICApOwogfQogCi12b2lkIFlVWTJUb1VWUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195dXky
LCBpbnQgc3RyaWRlX3l1eTIsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1
aW50OCogZHN0X3YsIGludCB3aWR0aCkgewordm9pZCBZVVkyVG9VVlJvd19TU0UyKGNvbnN0IHVp
bnQ4KiBzcmNfeXV5MiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3l1eTIsCisg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNt
IHZvbGF0aWxlICgKICAgICAicGNtcGVxYiAgICUleG1tNSwlJXhtbTUgICAgICAgICAgICAgICAg
ICAgXG4iCiAgICAgInBzcmx3ICAgICAkMHg4LCUleG1tNSAgICAgICAgICAgICAgICAgICAgIFxu
IgogICAgICJzdWIgICAgICAgJTEsJTIgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKwog
ICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICBcbiIK
ICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTMigweDEwLDApICIsJSV4bW0xICAgXG4iCiAgICAg
TUVNT1BSRUcobW92ZHF1LDB4MDAsMCw0LDEseG1tMikgICAgICAgICAgIC8vICBtb3ZkcXUgICgl
MCwlNCwxKSwlJXhtbTIKQEAgLTMwNjgsMTMgKzMxMzcsMTYgQEAgdm9pZCBZVVkyVG9VVlJvd19T
U0UyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHN0cmlkZV95dXkyLAogfQogCiB2b2lkIFlV
WTJUb1VWNDIyUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195dXkyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewog
ICBhc20gdm9sYXRpbGUgKAogICAgICJwY21wZXFiICAgJSV4bW01LCUleG1tNSAgICAgICAgICAg
ICAgICAgICBcbiIKICAgICAicHNybHcgICAgICQweDgsJSV4bW01ICAgICAgICAgICAgICAgICAg
ICAgXG4iCiAgICAgInN1YiAgICAgICAlMSwlMiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgorCiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAg
IFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4MTAsMCkgIiwlJXhtbTEgICBcbiIK
ICAgICAibGVhICAgICAgICIgTUVNTEVBKDB4MjAsMCkgIiwlMCAgICAgICAgICAgXG4iCkBAIC0z
MTA0LDcgKzMxNzYsNyBAQCB2b2lkIFlVWTJUb1VWNDIyUm93X1NTRTIoY29uc3QgdWludDgqIHNy
Y195dXkyLAogdm9pZCBVWVZZVG9ZUm93X1NTRTIoY29uc3QgdWludDgqIHNyY191eXZ5LCB1aW50
OCogZHN0X3ksIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgIExBQkVMQUxJR04K
LSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3Zk
cXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAg
ICIgTUVNQUNDRVNTMigweDEwLDApICIsJSV4bW0xICAgXG4iCiAgICAgImxlYSAgICAgICAiIE1F
TUxFQSgweDIwLDApICIsJTAgICAgICAgICAgIFxuIgpAQCAtMzEyNCwxNCArMzE5NiwxOCBAQCB2
b2lkIFVZVllUb1lSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3V5dnksIHVpbnQ4KiBkc3RfeSwg
aW50IHdpZHRoKSB7CiAgICk7CiB9CiAKLXZvaWQgVVlWWVRvVVZSb3dfU1NFMihjb25zdCB1aW50
OCogc3JjX3V5dnksIGludCBzdHJpZGVfdXl2eSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2b2lkIFVZVllUb1VWUm93X1NT
RTIoY29uc3QgdWludDgqIHNyY191eXZ5LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJp
ZGVfdXl2eSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJwY21wZXFiICAgJSV4bW01LCUleG1tNSAgICAg
ICAgICAgICAgICAgICBcbiIKICAgICAicHNybHcgICAgICQweDgsJSV4bW01ICAgICAgICAgICAg
ICAgICAgICAgXG4iCiAgICAgInN1YiAgICAgICAlMSwlMiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorCiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAg
ICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MyKDB4MTAsMCkgIiwlJXhtbTEg
ICBcbiIKICAgICBNRU1PUFJFRyhtb3ZkcXUsMHgwMCwwLDQsMSx4bW0yKSAgICAgICAgICAgLy8g
IG1vdmRxdSAgKCUwLCU0LDEpLCUleG1tMgpAQCAtMzE2MywxMyArMzIzOSwxNiBAQCB2b2lkIFVZ
VllUb1VWUm93X1NTRTIoY29uc3QgdWludDgqIHNyY191eXZ5LCBpbnQgc3RyaWRlX3V5dnksCiB9
CiAKIHZvaWQgVVlWWVRvVVY0MjJSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3V5dnksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0
aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInBjbXBlcWIgICAlJXhtbTUsJSV4bW01
ICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJwc3JsdyAgICAgJDB4OCwlJXhtbTUgICAgICAg
ICAgICAgICAgICAgICBcbiIKICAgICAic3ViICAgICAgICUxLCUyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4
bW0wICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUzIoMHgxMCwwKSAiLCUl
eG1tMSAgIFxuIgogICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHgyMCwwKSAiLCUwICAgICAgICAg
ICBcbiIKQEAgLTMyMDIsOCArMzI4MSw5IEBAIHZvaWQgWVVZMlRvWVJvd19BVlgyKGNvbnN0IHVp
bnQ4KiBzcmNfeXV5MiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxl
ICgKICAgICAidnBjbXBlcWIgICUleW1tNSwlJXltbTUsJSV5bW01ICAgICAgICAgICAgXG4iCiAg
ICAgInZwc3JsdyAgICAkMHg4LCUleW1tNSwlJXltbTUgICAgICAgICAgICAgIFxuIgorCiAgICAg
TEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CiAgICAgInZtb3ZkcXUgICAiIE1FTUFDQ0VTUygwKSAiLCUleW1tMCAgICAgICAgIFxuIgogICAg
ICJ2bW92ZHF1ICAgIiBNRU1BQ0NFU1MyKDB4MjAsMCkgIiwlJXltbTEgICBcbiIKICAgICAibGVh
ICAgICAgICIgTUVNTEVBKDB4NDAsMCkgIiwlMCAgICAgICAgICAgXG4iCkBAIC0zMjI1LDE0ICsz
MzA1LDE4IEBAIHZvaWQgWVVZMlRvWVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgdWlu
dDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKICAgKTsKIH0KIAotdm9pZCBZVVkyVG9VVlJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHN0cmlkZV95dXkyLAotICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKK3ZvaWQgWVVZ
MlRvVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3l1eTIsCisgICAgICAgICAgICAgICAgICAg
ICAgaW50IHN0cmlkZV95dXkyLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwK
KyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInZwY21wZXFiICAlJXltbTUs
JSV5bW01LCUleW1tNSAgICAgICAgICAgIFxuIgogICAgICJ2cHNybHcgICAgJDB4OCwlJXltbTUs
JSV5bW01ICAgICAgICAgICAgICBcbiIKICAgICAic3ViICAgICAgICUxLCUyICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAidm1vdmRxdSAgICIgTUVNQUNDRVNTKDAp
ICIsJSV5bW0wICAgICAgICAgXG4iCiAgICAgInZtb3ZkcXUgICAiIE1FTUFDQ0VTUzIoMHgyMCww
KSAiLCUleW1tMSAgIFxuIgogICAgIFZNRU1PUFJFRyh2cGF2Z2IsMHgwMCwwLDQsMSx5bW0wLHlt
bTApICAgICAvLyB2cGF2Z2IgKCUwLCU0LDEpLCUleW1tMCwlJXltbTAKQEAgLTMyNjUsMTMgKzMz
NDksMTYgQEAgdm9pZCBZVVkyVG9VVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50
IHN0cmlkZV95dXkyLAogfQogCiB2b2lkIFlVWTJUb1VWNDIyUm93X0FWWDIoY29uc3QgdWludDgq
IHNyY195dXkyLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgq
IGRzdF92LCBpbnQgd2lkdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJ2cGNtcGVx
YiAgJSV5bW01LCUleW1tNSwlJXltbTUgICAgICAgICAgICBcbiIKICAgICAidnBzcmx3ICAgICQw
eDgsJSV5bW01LCUleW1tNSAgICAgICAgICAgICAgXG4iCiAgICAgInN1YiAgICAgICAlMSwlMiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCiAgICAgTEFCRUxBTElHTgotICAiMTogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgInZtb3ZkcXUgICAiIE1F
TUFDQ0VTUygwKSAiLCUleW1tMCAgICAgICAgIFxuIgogICAgICJ2bW92ZHF1ICAgIiBNRU1BQ0NF
U1MyKDB4MjAsMCkgIiwlJXltbTEgICBcbiIKICAgICAibGVhICAgICAgICIgTUVNTEVBKDB4NDAs
MCkgIiwlMCAgICAgICAgICAgXG4iCkBAIC0zMzA0LDcgKzMzOTEsNyBAQCB2b2lkIFlVWTJUb1VW
NDIyUm93X0FWWDIoY29uc3QgdWludDgqIHNyY195dXkyLAogdm9pZCBVWVZZVG9ZUm93X0FWWDIo
Y29uc3QgdWludDgqIHNyY191eXZ5LCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgewogICBhc20g
dm9sYXRpbGUgKAogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgogICAgICJ2bW92ZHF1ICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXltbTAg
ICAgICAgICBcbiIKICAgICAidm1vdmRxdSAgICIgTUVNQUNDRVNTMigweDIwLDApICIsJSV5bW0x
ICAgXG4iCiAgICAgImxlYSAgICAgICAiIE1FTUxFQSgweDQwLDApICIsJTAgICAgICAgICAgIFxu
IgpAQCAtMzMyNSwxNSArMzQxMiwxOCBAQCB2b2lkIFVZVllUb1lSb3dfQVZYMihjb25zdCB1aW50
OCogc3JjX3V5dnksIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CiAgICAgLCAieG1tMCIsICJ4
bW0xIiwgInhtbTUiCiAgICk7CiB9Ci12b2lkIFVZVllUb1VWUm93X0FWWDIoY29uc3QgdWludDgq
IHNyY191eXZ5LCBpbnQgc3RyaWRlX3V5dnksCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgewordm9pZCBVWVZZVG9VVlJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRl
X3V5dnksCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAidnBjbXBlcWIgICUleW1tNSwlJXltbTUsJSV5bW01
ICAgICAgICAgICAgXG4iCiAgICAgInZwc3JsdyAgICAkMHg4LCUleW1tNSwlJXltbTUgICAgICAg
ICAgICAgIFxuIgogICAgICJzdWIgICAgICAgJTEsJTIgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKIAogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgogICAgICJ2bW92ZHF1ICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXltbTAgICAg
ICAgICBcbiIKICAgICAidm1vdmRxdSAgICIgTUVNQUNDRVNTMigweDIwLDApICIsJSV5bW0xICAg
XG4iCiAgICAgVk1FTU9QUkVHKHZwYXZnYiwweDAwLDAsNCwxLHltbTAseW1tMCkgICAgIC8vIHZw
YXZnYiAoJTAsJTQsMSksJSV5bW0wLCUleW1tMApAQCAtMzM2NiwxMyArMzQ1NiwxNiBAQCB2b2lk
IFVZVllUb1VWUm93X0FWWDIoY29uc3QgdWludDgqIHNyY191eXZ5LCBpbnQgc3RyaWRlX3V5dnks
CiB9CiAKIHZvaWQgVVlWWVRvVVY0MjJSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3V5dnksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3
aWR0aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInZwY21wZXFiICAgJSV5bW01LCUl
eW1tNSwlJXltbTUgICAgICAgICAgIFxuIgogICAgICJ2cHNybHcgICAgICQweDgsJSV5bW01LCUl
eW1tNSAgICAgICAgICAgICBcbiIKICAgICAic3ViICAgICAgICUxLCUyICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAidm1vdmRxdSAgICIgTUVNQUNDRVNTKDApICIs
JSV5bW0wICAgICAgICAgXG4iCiAgICAgInZtb3ZkcXUgICAiIE1FTUFDQ0VTUzIoMHgyMCwwKSAi
LCUleW1tMSAgIFxuIgogICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHg0MCwwKSAiLCUwICAgICAg
ICAgICBcbiIKQEAgLTM0MDUsMTQgKzM0OTgsMTQgQEAgdm9pZCBVWVZZVG9VVjQyMlJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKIAogI2lmZGVmIEhBU19BUkdCQkxFTkRST1dfU1NTRTMK
IC8vIFNodWZmbGUgdGFibGUgZm9yIGlzb2xhdGluZyBhbHBoYS4KLXN0YXRpYyB1dmVjOCBrU2h1
ZmZsZUFscGhhID0gewotICAzdSwgMHg4MCwgM3UsIDB4ODAsIDd1LCAweDgwLCA3dSwgMHg4MCwK
LSAgMTF1LCAweDgwLCAxMXUsIDB4ODAsIDE1dSwgMHg4MCwgMTV1LCAweDgwCi19Oworc3RhdGlj
IHV2ZWM4IGtTaHVmZmxlQWxwaGEgPSB7M3UsICAweDgwLCAzdSwgIDB4ODAsIDd1LCAgMHg4MCwg
N3UsICAweDgwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTF1LCAweDgwLCAxMXUs
IDB4ODAsIDE1dSwgMHg4MCwgMTV1LCAweDgwfTsKIAogLy8gQmxlbmQgOCBwaXhlbHMgYXQgYSB0
aW1lCi12b2lkIEFSR0JCbGVuZFJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25z
dCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9h
cmdiLCBpbnQgd2lkdGgpIHsKK3ZvaWQgQVJHQkJsZW5kUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYjAsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2Ix
LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInBjbXBlcWIg
ICAlJXhtbTcsJSV4bW03ICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJwc3JsdyAgICAgJDB4
ZiwlJXhtbTcgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTM0OTcsNDYgKzM1OTAsNDkgQEAg
dm9pZCBBUkdCQmxlbmRSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWlu
dDgqIHNyY19hcmdiMSwKIC8vID0oKEEyKkMyKSsoQjIqKDI1NS1DMikpKzI1NSkvMjU2CiAvLyBz
aWduZWQgdmVyc2lvbiBvZiBtYXRoCiAvLyA9KCgoQTItMTI4KSpDMikrKChCMi0xMjgpKigyNTUt
QzIpKSszMjc2OCsxMjcpLzI1Ngotdm9pZCBCbGVuZFBsYW5lUm93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmMwLCBjb25zdCB1aW50OCogc3JjMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogYWxwaGEsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgewotICBhc20gdm9sYXRpbGUg
KAotICAgICJwY21wZXFiICAgICUleG1tNSwlJXhtbTUgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAicHNsbHcgICAgICAkMHg4LCUleG1tNSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1v
diAgICAgICAgJDB4ODA4MDgwODAsJSVlYXggICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkICAg
ICAgICUlZWF4LCUleG1tNiAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHNodWZkICAgICAk
MHgwLCUleG1tNiwlJXhtbTYgICAgICAgICAgICAgXG4iCi0gICAgIm1vdiAgICAgICAgJDB4ODA3
ZjgwN2YsJSVlYXggICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkICAgICAgICUlZWF4LCUleG1t
NyAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHNodWZkICAgICAkMHgwLCUleG1tNywlJXht
bTcgICAgICAgICAgICAgXG4iCi0gICAgInN1YiAgICAgICAgJTIsJTAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJzdWIgICAgICAgICUyLCUxICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAic3ViICAgICAgICAlMiwlMyAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCi0KLSAgICAvLyA4IHBpeGVsIGxvb3AuCi0gICAgTEFCRUxBTElHTgotICAiMTogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92cSAgICAgICAo
JTIpLCUleG1tMCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB1bnBja2xidyAgJSV4bW0w
LCUleG1tMCAgICAgICAgICAgICAgICAgIFxuIgotICAgICJweG9yICAgICAgICUleG1tNSwlJXht
bTAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92cSAgICAgICAoJTAsJTIsMSksJSV4bW0x
ICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdnEgICAgICAgKCUxLCUyLDEpLCUleG1tMiAgICAg
ICAgICAgICAgIFxuIgotICAgICJwdW5wY2tsYncgICUleG1tMiwlJXhtbTEgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAicHN1YmIgICAgICAlJXhtbTYsJSV4bW0xICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgInBtYWRkdWJzdyAgJSV4bW0xLCUleG1tMCAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJwYWRkdyAgICAgICUleG1tNywlJXhtbTAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAi
cHNybHcgICAgICAkMHg4LCUleG1tMCAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBhY2t1
c3diICAgJSV4bW0wLCUleG1tMCAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZxICAgICAg
ICUleG1tMCwoJTMsJTIsMSkgICAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAgICAgICAweDgo
JTIpLCUyICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN1YiAgICAgICAgJDB4OCwlNCAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJqZyAgICAgICAgMWIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgOiAiK3IiKHNyYzApLCAgICAgICAvLyAlMAotICAgICIr
ciIoc3JjMSksICAgICAgIC8vICUxCi0gICAgIityIihhbHBoYSksICAgICAgLy8gJTIKLSAgICAi
K3IiKGRzdCksICAgICAgICAvLyAlMwotICAgICIrcm0iKHdpZHRoKSAgICAgIC8vICU0Ci0gIDo6
ICJtZW1vcnkiLCAiY2MiLCAiZWF4IiwgInhtbTAiLCAieG1tMSIsICJ4bW0yIiwgInhtbTUiLCAi
eG1tNiIsICJ4bW03IgotICApOwordm9pZCBCbGVuZFBsYW5lUm93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmMwLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmMxLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBhbHBoYSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCkgeworICBhc20gdm9sYXRpbGUoCisgICAgICAicGNtcGVxYiAgICAlJXhtbTUsJSV4bW01ICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAicHNsbHcgICAgICAkMHg4LCUleG1tNSAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibW92ICAgICAgICAkMHg4MDgwODA4MCwlJWVheCAgICAg
ICAgICAgICAgXG4iCisgICAgICAibW92ZCAgICAgICAlJWVheCwlJXhtbTYgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAicHNodWZkICAgICAkMHgwLCUleG1tNiwlJXhtbTYgICAgICAgICAg
ICAgXG4iCisgICAgICAibW92ICAgICAgICAkMHg4MDdmODA3ZiwlJWVheCAgICAgICAgICAgICAg
XG4iCisgICAgICAibW92ZCAgICAgICAlJWVheCwlJXhtbTcgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAicHNodWZkICAgICAkMHgwLCUleG1tNywlJXhtbTcgICAgICAgICAgICAgXG4iCisg
ICAgICAic3ViICAgICAgICAlMiwlMCAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAic3ViICAgICAgICAlMiwlMSAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
c3ViICAgICAgICAlMiwlMyAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgIC8v
IDggcGl4ZWwgbG9vcC4KKyAgICAgIExBQkVMQUxJR04KKyAgICAgICIxOiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZxICAgICAgICglMiksJSV4
bW0wICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsYncgICUleG1tMCwlJXht
bTAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJweG9yICAgICAgICUleG1tNSwlJXhtbTAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZxICAgICAgICglMCwlMiwxKSwlJXhtbTEg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZxICAgICAgICglMSwlMiwxKSwlJXhtbTIgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJwdW5wY2tsYncgICUleG1tMiwlJXhtbTEgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJwc3ViYiAgICAgICUleG1tNiwlJXhtbTEgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJwbWFkZHVic3cgICUleG1tMSwlJXhtbTAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJwYWRkdyAgICAgICUleG1tNywlJXhtbTAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAgICJwc3JsdyAgICAgICQweDgsJSV4bW0wICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJwYWNrdXN3YiAgICUleG1tMCwlJXhtbTAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJtb3ZxICAgICAgICUleG1tMCwoJTMsJTIsMSkgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJsZWEgICAgICAgIDB4OCglMiksJTIgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJz
dWIgICAgICAgICQweDgsJTQgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJqZyAg
ICAgICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgIDogIityIihz
cmMwKSwgICAvLyAlMAorICAgICAgICAiK3IiKHNyYzEpLCAgIC8vICUxCisgICAgICAgICIrciIo
YWxwaGEpLCAgLy8gJTIKKyAgICAgICAgIityIihkc3QpLCAgICAvLyAlMworICAgICAgICAiK3Jt
Iih3aWR0aCkgIC8vICU0CisgICAgICAgIDo6Im1lbW9yeSIsCisgICAgICAgICJjYyIsICJlYXgi
LCAieG1tMCIsICJ4bW0xIiwgInhtbTIiLCAieG1tNSIsICJ4bW02IiwgInhtbTciKTsKIH0KICNl
bmRpZiAgLy8gSEFTX0JMRU5EUExBTkVST1dfU1NTRTMKIApAQCAtMzU0Niw2NyArMzY0Miw2NyBA
QCB2b2lkIEJsZW5kUGxhbmVSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyYzAsIGNvbnN0IHVpbnQ4
KiBzcmMxLAogLy8gPSgoQTIqQzIpKyhCMiooMjU1LUMyKSkrMjU1KS8yNTYKIC8vIHNpZ25lZCB2
ZXJzaW9uIG9mIG1hdGgKIC8vID0oKChBMi0xMjgpKkMyKSsoKEIyLTEyOCkqKDI1NS1DMikpKzMy
NzY4KzEyNykvMjU2Ci12b2lkIEJsZW5kUGxhbmVSb3dfQVZYMihjb25zdCB1aW50OCogc3JjMCwg
Y29uc3QgdWludDgqIHNyYzEsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
YWxwaGEsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgewotICBhc20gdm9sYXRpbGUgKAotICAgICJ2
cGNtcGVxYiAgICUleW1tNSwlJXltbTUsJSV5bW01ICAgICAgICAgICBcbiIKLSAgICAidnBzbGx3
ICAgICAkMHg4LCUleW1tNSwlJXltbTUgICAgICAgICAgICAgXG4iCi0gICAgIm1vdiAgICAgICAg
JDB4ODA4MDgwODAsJSVlYXggICAgICAgICAgICAgIFxuIgotICAgICJ2bW92ZCAgICAgICUlZWF4
LCUleG1tNiAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAidmJyb2FkY2FzdHNzICUleG1tNiwl
JXltbTYgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdiAgICAgICAgJDB4ODA3ZjgwN2YsJSVl
YXggICAgICAgICAgICAgIFxuIgotICAgICJ2bW92ZCAgICAgICUlZWF4LCUleG1tNyAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAidmJyb2FkY2FzdHNzICUleG1tNywlJXltbTcgICAgICAgICAg
ICAgICAgXG4iCi0gICAgInN1YiAgICAgICAgJTIsJTAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJzdWIgICAgICAgICUyLCUxICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAic3ViICAgICAgICAlMiwlMyAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0KLSAg
ICAvLyAzMiBwaXhlbCBsb29wLgotICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInZtb3ZkcXUgICAgKCUyKSwlJXlt
bTAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJ2cHVucGNraGJ3ICUleW1tMCwlJXltbTAs
JSV5bW0zICAgICAgICAgICBcbiIKLSAgICAidnB1bnBja2xidyAlJXltbTAsJSV5bW0wLCUleW1t
MCAgICAgICAgICAgXG4iCi0gICAgInZweG9yICAgICAgJSV5bW01LCUleW1tMywlJXltbTMgICAg
ICAgICAgIFxuIgotICAgICJ2cHhvciAgICAgICUleW1tNSwlJXltbTAsJSV5bW0wICAgICAgICAg
ICBcbiIKLSAgICAidm1vdmRxdSAgICAoJTAsJTIsMSksJSV5bW0xICAgICAgICAgICAgICAgXG4i
Ci0gICAgInZtb3ZkcXUgICAgKCUxLCUyLDEpLCUleW1tMiAgICAgICAgICAgICAgIFxuIgotICAg
ICJ2cHVucGNraGJ3ICUleW1tMiwlJXltbTEsJSV5bW00ICAgICAgICAgICBcbiIKLSAgICAidnB1
bnBja2xidyAlJXltbTIsJSV5bW0xLCUleW1tMSAgICAgICAgICAgXG4iCi0gICAgInZwc3ViYiAg
ICAgJSV5bW02LCUleW1tNCwlJXltbTQgICAgICAgICAgIFxuIgotICAgICJ2cHN1YmIgICAgICUl
eW1tNiwlJXltbTEsJSV5bW0xICAgICAgICAgICBcbiIKLSAgICAidnBtYWRkdWJzdyAlJXltbTQs
JSV5bW0zLCUleW1tMyAgICAgICAgICAgXG4iCi0gICAgInZwbWFkZHVic3cgJSV5bW0xLCUleW1t
MCwlJXltbTAgICAgICAgICAgIFxuIgotICAgICJ2cGFkZHcgICAgICUleW1tNywlJXltbTMsJSV5
bW0zICAgICAgICAgICBcbiIKLSAgICAidnBhZGR3ICAgICAlJXltbTcsJSV5bW0wLCUleW1tMCAg
ICAgICAgICAgXG4iCi0gICAgInZwc3JsdyAgICAgJDB4OCwlJXltbTMsJSV5bW0zICAgICAgICAg
ICAgIFxuIgotICAgICJ2cHNybHcgICAgICQweDgsJSV5bW0wLCUleW1tMCAgICAgICAgICAgICBc
biIKLSAgICAidnBhY2t1c3diICAlJXltbTMsJSV5bW0wLCUleW1tMCAgICAgICAgICAgXG4iCi0g
ICAgInZtb3ZkcXUgICAgJSV5bW0wLCglMywlMiwxKSAgICAgICAgICAgICAgIFxuIgotICAgICJs
ZWEgICAgICAgIDB4MjAoJTIpLCUyICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3ViICAg
ICAgICAkMHgyMCwlNCAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImpnICAgICAgICAx
YiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJ2emVyb3VwcGVyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgOiAiK3IiKHNyYzApLCAgICAgICAvLyAl
MAotICAgICIrciIoc3JjMSksICAgICAgIC8vICUxCi0gICAgIityIihhbHBoYSksICAgICAgLy8g
JTIKLSAgICAiK3IiKGRzdCksICAgICAgICAvLyAlMwotICAgICIrcm0iKHdpZHRoKSAgICAgIC8v
ICU0Ci0gIDo6ICJtZW1vcnkiLCAiY2MiLCAiZWF4IiwKLSAgICAgInhtbTAiLCAieG1tMSIsICJ4
bW0yIiwgInhtbTMiLCAieG1tNCIsICJ4bW01IiwgInhtbTYiLCAieG1tNyIKLSAgKTsKK3ZvaWQg
QmxlbmRQbGFuZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmMwLAorICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyYzEsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogYWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGFzbSB2b2xhdGlsZSgKKyAgICAgICJ2
cGNtcGVxYiAgICUleW1tNSwlJXltbTUsJSV5bW01ICAgICAgICAgICBcbiIKKyAgICAgICJ2cHNs
bHcgICAgICQweDgsJSV5bW01LCUleW1tNSAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3YgICAg
ICAgICQweDgwODA4MDgwLCUlZWF4ICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2bW92ZCAgICAg
ICUlZWF4LCUleG1tNiAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2YnJvYWRjYXN0c3Mg
JSV4bW02LCUleW1tNiAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3YgICAgICAgICQweDgw
N2Y4MDdmLCUlZWF4ICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2bW92ZCAgICAgICUlZWF4LCUl
eG1tNyAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2YnJvYWRjYXN0c3MgJSV4bW03LCUl
eW1tNyAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdWIgICAgICAgICUyLCUwICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdWIgICAgICAgICUyLCUxICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdWIgICAgICAgICUyLCUzICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKworICAgICAgLy8gMzIgcGl4ZWwgbG9vcC4KKyAgICAgIExBQkVMQUxJ
R04KKyAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJ2bW92ZHF1ICAgICglMiksJSV5bW0wICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJ2cHVucGNraGJ3ICUleW1tMCwlJXltbTAsJSV5bW0zICAgICAgICAgICBcbiIKKyAgICAg
ICJ2cHVucGNrbGJ3ICUleW1tMCwlJXltbTAsJSV5bW0wICAgICAgICAgICBcbiIKKyAgICAgICJ2
cHhvciAgICAgICUleW1tNSwlJXltbTMsJSV5bW0zICAgICAgICAgICBcbiIKKyAgICAgICJ2cHhv
ciAgICAgICUleW1tNSwlJXltbTAsJSV5bW0wICAgICAgICAgICBcbiIKKyAgICAgICJ2bW92ZHF1
ICAgICglMCwlMiwxKSwlJXltbTEgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2bW92ZHF1ICAg
ICglMSwlMiwxKSwlJXltbTIgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2cHVucGNraGJ3ICUl
eW1tMiwlJXltbTEsJSV5bW00ICAgICAgICAgICBcbiIKKyAgICAgICJ2cHVucGNrbGJ3ICUleW1t
MiwlJXltbTEsJSV5bW0xICAgICAgICAgICBcbiIKKyAgICAgICJ2cHN1YmIgICAgICUleW1tNiwl
JXltbTQsJSV5bW00ICAgICAgICAgICBcbiIKKyAgICAgICJ2cHN1YmIgICAgICUleW1tNiwlJXlt
bTEsJSV5bW0xICAgICAgICAgICBcbiIKKyAgICAgICJ2cG1hZGR1YnN3ICUleW1tNCwlJXltbTMs
JSV5bW0zICAgICAgICAgICBcbiIKKyAgICAgICJ2cG1hZGR1YnN3ICUleW1tMSwlJXltbTAsJSV5
bW0wICAgICAgICAgICBcbiIKKyAgICAgICJ2cGFkZHcgICAgICUleW1tNywlJXltbTMsJSV5bW0z
ICAgICAgICAgICBcbiIKKyAgICAgICJ2cGFkZHcgICAgICUleW1tNywlJXltbTAsJSV5bW0wICAg
ICAgICAgICBcbiIKKyAgICAgICJ2cHNybHcgICAgICQweDgsJSV5bW0zLCUleW1tMyAgICAgICAg
ICAgICBcbiIKKyAgICAgICJ2cHNybHcgICAgICQweDgsJSV5bW0wLCUleW1tMCAgICAgICAgICAg
ICBcbiIKKyAgICAgICJ2cGFja3Vzd2IgICUleW1tMywlJXltbTAsJSV5bW0wICAgICAgICAgICBc
biIKKyAgICAgICJ2bW92ZHF1ICAgICUleW1tMCwoJTMsJTIsMSkgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJsZWEgICAgICAgIDB4MjAoJTIpLCUyICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJzdWIgICAgICAgICQweDIwLCU0ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJqZyAgICAgICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2
emVyb3VwcGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgIDogIity
IihzcmMwKSwgICAvLyAlMAorICAgICAgICAiK3IiKHNyYzEpLCAgIC8vICUxCisgICAgICAgICIr
ciIoYWxwaGEpLCAgLy8gJTIKKyAgICAgICAgIityIihkc3QpLCAgICAvLyAlMworICAgICAgICAi
K3JtIih3aWR0aCkgIC8vICU0CisgICAgICAgIDo6Im1lbW9yeSIsCisgICAgICAgICJjYyIsICJl
YXgiLCAieG1tMCIsICJ4bW0xIiwgInhtbTIiLCAieG1tMyIsICJ4bW00IiwgInhtbTUiLCAieG1t
NiIsCisgICAgICAgICJ4bW03Iik7CiB9CiAjZW5kaWYgIC8vIEhBU19CTEVORFBMQU5FUk9XX0FW
WDIKIAogI2lmZGVmIEhBU19BUkdCQVRURU5VQVRFUk9XX1NTU0UzCiAvLyBTaHVmZmxlIHRhYmxl
IGR1cGxpY2F0aW5nIGFscGhhCi1zdGF0aWMgdXZlYzgga1NodWZmbGVBbHBoYTAgPSB7Ci0gIDN1
LCAzdSwgM3UsIDN1LCAzdSwgM3UsIDEyOHUsIDEyOHUsIDd1LCA3dSwgN3UsIDd1LCA3dSwgN3Us
IDEyOHUsIDEyOHUKLX07Ci1zdGF0aWMgdXZlYzgga1NodWZmbGVBbHBoYTEgPSB7Ci0gIDExdSwg
MTF1LCAxMXUsIDExdSwgMTF1LCAxMXUsIDEyOHUsIDEyOHUsCi0gIDE1dSwgMTV1LCAxNXUsIDE1
dSwgMTV1LCAxNXUsIDEyOHUsIDEyOHUKLX07CitzdGF0aWMgdXZlYzgga1NodWZmbGVBbHBoYTAg
PSB7M3UsIDN1LCAzdSwgM3UsIDN1LCAzdSwgMTI4dSwgMTI4dSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA3dSwgN3UsIDd1LCA3dSwgN3UsIDd1LCAxMjh1LCAxMjh1fTsKK3N0YXRp
YyB1dmVjOCBrU2h1ZmZsZUFscGhhMSA9IHsxMXUsIDExdSwgMTF1LCAxMXUsIDExdSwgMTF1LCAx
Mjh1LCAxMjh1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1dSwgMTV1LCAxNXUs
IDE1dSwgMTV1LCAxNXUsIDEyOHUsIDEyOHV9OwogLy8gQXR0ZW51YXRlIDQgcGl4ZWxzIGF0IGEg
dGltZS4KIHZvaWQgQVJHQkF0dGVudWF0ZVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2Is
IHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCkBAIC0zNjE3
LDcgKzM3MTMsNyBAQCB2b2lkIEFSR0JBdHRlbnVhdGVSb3dfU1NTRTMoY29uc3QgdWludDgqIHNy
Y19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewogCiAgICAgLy8gNCBwaXhlbCBs
b29wLgogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAg
ICBcbiIKICAgICAicHNodWZiICAgICUleG1tNCwlJXhtbTAgICAgICAgICAgICAgICAgICAgXG4i
CiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMSAgICAgICAgIFxuIgpAQCAt
MzY1Miw5ICszNzQ4LDkgQEAgdm9pZCBBUkdCQXR0ZW51YXRlUm93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKIAogI2lmZGVmIEhBU19B
UkdCQVRURU5VQVRFUk9XX0FWWDIKIC8vIFNodWZmbGUgdGFibGUgZHVwbGljYXRpbmcgYWxwaGEu
Ci1zdGF0aWMgY29uc3QgdXZlYzgga1NodWZmbGVBbHBoYV9BVlgyID0gewotICA2dSwgN3UsIDZ1
LCA3dSwgNnUsIDd1LCAxMjh1LCAxMjh1LCAxNHUsIDE1dSwgMTR1LCAxNXUsIDE0dSwgMTV1LCAx
Mjh1LCAxMjh1Ci19Oworc3RhdGljIGNvbnN0IHV2ZWM4IGtTaHVmZmxlQWxwaGFfQVZYMiA9IHs2
dSwgICA3dSwgICA2dSwgICA3dSwgIDZ1LCAgN3UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEyOHUsIDEyOHUsIDE0dSwgIDE1dSwgMTR1LCAxNXUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0dSwgIDE1dSwgIDEyOHUsIDEyOHV9
OwogLy8gQXR0ZW51YXRlIDggcGl4ZWxzIGF0IGEgdGltZS4KIHZvaWQgQVJHQkF0dGVudWF0ZVJv
d19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgp
IHsKICAgYXNtIHZvbGF0aWxlICgKQEAgLTM2NjUsNyArMzc2MSw3IEBAIHZvaWQgQVJHQkF0dGVu
dWF0ZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQg
d2lkdGgpIHsKIAogICAgIC8vIDggcGl4ZWwgbG9vcC4KICAgICBMQUJFTEFMSUdOCi0gICIxOiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAidm1vdmRxdSAgICAi
IE1FTUFDQ0VTUygwKSAiLCUleW1tNiAgICAgICAgXG4iCiAgICAgInZwdW5wY2tsYncgJSV5bW02
LCUleW1tNiwlJXltbTAgICAgICAgICAgIFxuIgogICAgICJ2cHVucGNraGJ3ICUleW1tNiwlJXlt
bTYsJSV5bW0xICAgICAgICAgICBcbiIKQEAgLTM2OTUsMTMgKzM3OTEsMTQgQEAgdm9pZCBBUkdC
QXR0ZW51YXRlUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2Is
IGludCB3aWR0aCkgewogCiAjaWZkZWYgSEFTX0FSR0JVTkFUVEVOVUFURVJPV19TU0UyCiAvLyBV
bmF0dGVudWF0ZSA0IHBpeGVscyBhdCBhIHRpbWUuCi12b2lkIEFSR0JVbmF0dGVudWF0ZVJvd19T
U0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAordm9pZCBBUkdCVW5h
dHRlbnVhdGVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIHVpbnRwdHJfdCBhbHBoYTsKICAgYXNtIHZvbGF0aWxlICgKICAg
ICAvLyA0IHBpeGVsIGxvb3AuCiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAi
LCUleG1tMCAgICAgICAgIFxuIgogICAgICJtb3Z6YiAgICAgIiBNRU1BQ0NFU1MyKDB4MDMsMCkg
IiwlMyAgICAgICBcbiIKICAgICAicHVucGNrbGJ3ICUleG1tMCwlJXhtbTAgICAgICAgICAgICAg
ICAgICAgXG4iCkBAIC0zNzQyLDEwICszODM5LDEwIEBAIHZvaWQgQVJHQlVuYXR0ZW51YXRlUm93
X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCiAjaWZkZWYgSEFT
X0FSR0JVTkFUVEVOVUFURVJPV19BVlgyCiAvLyBTaHVmZmxlIHRhYmxlIGR1cGxpY2F0aW5nIGFs
cGhhLgogc3RhdGljIGNvbnN0IHV2ZWM4IGtVbmF0dGVuU2h1ZmZsZUFscGhhX0FWWDIgPSB7Ci0g
IDB1LCAxdSwgMHUsIDF1LCAwdSwgMXUsIDZ1LCA3dSwgOHUsIDl1LCA4dSwgOXUsIDh1LCA5dSwg
MTR1LCAxNXUKLX07CisgICAgMHUsIDF1LCAwdSwgMXUsIDB1LCAxdSwgNnUsIDd1LCA4dSwgOXUs
IDh1LCA5dSwgOHUsIDl1LCAxNHUsIDE1dX07CiAvLyBVbmF0dGVudWF0ZSA4IHBpeGVscyBhdCBh
IHRpbWUuCi12b2lkIEFSR0JVbmF0dGVudWF0ZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgdWludDgqIGRzdF9hcmdiLAordm9pZCBBUkdCVW5hdHRlbnVhdGVSb3dfQVZYMihjb25zdCB1
aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIHVpbnRw
dHJfdCBhbHBoYTsKICAgYXNtIHZvbGF0aWxlICgKQEAgLTM3NTQsNyArMzg1MSw3IEBAIHZvaWQg
QVJHQlVuYXR0ZW51YXRlUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X2FyZ2IsCiAKICAgICAvLyA4IHBpeGVsIGxvb3AuCiAgICAgTEFCRUxBTElHTgotICAiMTogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgLy8gcmVwbGFjZSBWUEdB
VEhFUgogICAgICJtb3Z6YiAgICAgIiBNRU1BQ0NFU1MyKDB4MDMsMCkgIiwlMyAgICAgICBcbiIK
ICAgICBNRU1PUFJFRyh2bW92ZCwweDAwLDQsMyw0LHhtbTApICAgICAgICAgICAgIC8vICB2bW92
ZCAweDAoJTQsJTMsNCksJSV4bW0wCkBAIC0zODE3LDcgKzM5MTQsNyBAQCB2b2lkIEFSR0JHcmF5
Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lk
dGgpIHsKIAogICAgIC8vIDggcGl4ZWwgbG9vcC4KICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVN
QUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VT
UzIoMHgxMCwwKSAiLCUleG1tMSAgIFxuIgogICAgICJwbWFkZHVic3cgJSV4bW00LCUleG1tMCAg
ICAgICAgICAgICAgICAgICBcbiIKQEAgLTM4NjAsMTcgKzM5NTcsMTQgQEAgdm9pZCBBUkdCR3Jh
eVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdp
ZHRoKSB7CiAvLyAgICBnID0gKHIgKiA0NSArIGcgKiA4OCArIGIgKiAyMikgPj4gNwogLy8gICAg
ciA9IChyICogNTAgKyBnICogOTggKyBiICogMjQpID4+IDcKIC8vIENvbnN0YW50IGZvciBBUkdC
IGNvbG9yIHRvIHNlcGlhIHRvbmUKLXN0YXRpYyB2ZWM4IGtBUkdCVG9TZXBpYUIgPSB7Ci0gIDE3
LCA2OCwgMzUsIDAsIDE3LCA2OCwgMzUsIDAsIDE3LCA2OCwgMzUsIDAsIDE3LCA2OCwgMzUsIDAK
LX07CitzdGF0aWMgdmVjOCBrQVJHQlRvU2VwaWFCID0gezE3LCA2OCwgMzUsIDAsIDE3LCA2OCwg
MzUsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE3LCA2OCwgMzUsIDAsIDE3LCA2
OCwgMzUsIDB9OwogCi1zdGF0aWMgdmVjOCBrQVJHQlRvU2VwaWFHID0gewotICAyMiwgODgsIDQ1
LCAwLCAyMiwgODgsIDQ1LCAwLCAyMiwgODgsIDQ1LCAwLCAyMiwgODgsIDQ1LCAwCi19Oworc3Rh
dGljIHZlYzgga0FSR0JUb1NlcGlhRyA9IHsyMiwgODgsIDQ1LCAwLCAyMiwgODgsIDQ1LCAwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMiwgODgsIDQ1LCAwLCAyMiwgODgsIDQ1LCAw
fTsKIAotc3RhdGljIHZlYzgga0FSR0JUb1NlcGlhUiA9IHsKLSAgMjQsIDk4LCA1MCwgMCwgMjQs
IDk4LCA1MCwgMCwgMjQsIDk4LCA1MCwgMCwgMjQsIDk4LCA1MCwgMAotfTsKK3N0YXRpYyB2ZWM4
IGtBUkdCVG9TZXBpYVIgPSB7MjQsIDk4LCA1MCwgMCwgMjQsIDk4LCA1MCwgMCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMjQsIDk4LCA1MCwgMCwgMjQsIDk4LCA1MCwgMH07CiAKIC8v
IENvbnZlcnQgOCBBUkdCIHBpeGVscyAoMzIgYnl0ZXMpIHRvIDggU2VwaWEgQVJHQiBwaXhlbHMu
CiB2b2lkIEFSR0JTZXBpYVJvd19TU1NFMyh1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewpA
QCAtMzg4MSw3ICszOTc1LDcgQEAgdm9pZCBBUkdCU2VwaWFSb3dfU1NTRTModWludDgqIGRzdF9h
cmdiLCBpbnQgd2lkdGgpIHsKIAogICAgIC8vIDggcGl4ZWwgbG9vcC4KICAgICBMQUJFTEFMSUdO
Ci0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92
ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAg
ICAiIE1FTUFDQ0VTUzIoMHgxMCwwKSAiLCUleG1tNiAgIFxuIgogICAgICJwbWFkZHVic3cgJSV4
bW0yLCUleG1tMCAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTM5MzMsOCArNDAyNywxMCBAQCB2
b2lkIEFSR0JTZXBpYVJvd19TU1NFMyh1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewogI2lm
ZGVmIEhBU19BUkdCQ09MT1JNQVRSSVhST1dfU1NTRTMKIC8vIFRyYW5mb3JtIDggQVJHQiBwaXhl
bHMgKDMyIGJ5dGVzKSB3aXRoIGNvbG9yIG1hdHJpeC4KIC8vIFNhbWUgYXMgU2VwaWEgZXhjZXB0
IG1hdHJpeCBpcyBwcm92aWRlZC4KLXZvaWQgQVJHQkNvbG9yTWF0cml4Um93X1NTU0UzKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50OCogbWF0cml4X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBBUkdC
Q29sb3JNYXRyaXhSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50OCogbWF0cml4X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAibW92ZHF1ICAgICIg
TUVNQUNDRVNTKDMpICIsJSV4bW01ICAgICAgICAgXG4iCiAgICAgInBzaHVmZCAgICAkMHgwMCwl
JXhtbTUsJSV4bW0yICAgICAgICAgICAgIFxuIgpAQCAtMzk0NCw3ICs0MDQwLDcgQEAgdm9pZCBB
UkdCQ29sb3JNYXRyaXhSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X2FyZ2IsCiAKICAgICAvLyA4IHBpeGVsIGxvb3AuCiAgICAgTEFCRUxBTElHTgotICAiMTogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1F
TUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NF
U1MyKDB4MTAsMCkgIiwlJXhtbTcgICBcbiIKICAgICAicG1hZGR1YnN3ICUleG1tMiwlJXhtbTAg
ICAgICAgICAgICAgICAgICAgXG4iCkBAIC0zOTk2LDggKzQwOTIsMTEgQEAgdm9pZCBBUkdCQ29s
b3JNYXRyaXhSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2Is
CiAKICNpZmRlZiBIQVNfQVJHQlFVQU5USVpFUk9XX1NTRTIKIC8vIFF1YW50aXplIDQgQVJHQiBw
aXhlbHMgKDE2IGJ5dGVzKS4KLXZvaWQgQVJHQlF1YW50aXplUm93X1NTRTIodWludDgqIGRzdF9h
cmdiLCBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9zaXplLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgaW50ZXJ2YWxfb2Zmc2V0LCBpbnQgd2lkdGgpIHsKK3ZvaWQgQVJHQlF1YW50aXpl
Um93X1NTRTIodWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c2NhbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnRlcnZhbF9zaXplLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxfb2Zmc2V0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAibW92ZCAg
ICAgICUyLCUleG1tMiAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmQgICAgICAl
MywlJXhtbTMgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNDAxNCw3ICs0MTEzLDcgQEAg
dm9pZCBBUkdCUXVhbnRpemVSb3dfU1NFMih1aW50OCogZHN0X2FyZ2IsIGludCBzY2FsZSwgaW50
IGludGVydmFsX3NpemUsCiAKICAgICAvLyA0IHBpeGVsIGxvb3AuCiAgICAgTEFCRUxBTElHTgot
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAi
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRx
dSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxuIgogICAgICJwdW5wY2tsYncg
JSV4bW01LCUleG1tMCAgICAgICAgICAgICAgICAgICBcbiIKICAgICAicG11bGh1dyAgICUleG1t
MiwlJXhtbTAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC00MDQ2LDcgKzQxNDUsOSBAQCB2b2lk
IEFSR0JRdWFudGl6ZVJvd19TU0UyKHVpbnQ4KiBkc3RfYXJnYiwgaW50IHNjYWxlLCBpbnQgaW50
ZXJ2YWxfc2l6ZSwKIAogI2lmZGVmIEhBU19BUkdCU0hBREVST1dfU1NFMgogLy8gU2hhZGUgNCBw
aXhlbHMgYXQgYSB0aW1lIGJ5IHNwZWNpZmllZCB2YWx1ZS4KLXZvaWQgQVJHQlNoYWRlUm93X1NT
RTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCwKK3Zv
aWQgQVJHQlNoYWRlUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyIHZhbHVlKSB7CiAgIGFzbSB2b2xh
dGlsZSAoCiAgICAgIm1vdmQgICAgICAlMywlJXhtbTIgICAgICAgICAgICAgICAgICAgICAgIFxu
IgpAQCAtNDA1NSw3ICs0MTU2LDcgQEAgdm9pZCBBUkdCU2hhZGVSb3dfU1NFMihjb25zdCB1aW50
OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoLAogCiAgICAgLy8gNCBwaXhl
bCBsb29wLgogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAg
ICAgICBcbiIKICAgICAibGVhICAgICAgICIgTUVNTEVBKDB4MTAsMCkgIiwlMCAgICAgICAgICAg
XG4iCiAgICAgIm1vdmRxYSAgICAlJXhtbTAsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxuIgpA
QCAtNDA4MiwxNCArNDE4MywxNiBAQCB2b2lkIEFSR0JTaGFkZVJvd19TU0UyKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgsCiAKICNpZmRlZiBIQVNfQVJH
Qk1VTFRJUExZUk9XX1NTRTIKIC8vIE11bHRpcGx5IDIgcm93cyBvZiBBUkdCIHBpeGVscyB0b2dl
dGhlciwgNCBwaXhlbHMgYXQgYSB0aW1lLgotdm9pZCBBUkdCTXVsdGlwbHlSb3dfU1NFMihjb25z
dCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBBUkdCTXVs
dGlwbHlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkg
ewogICBhc20gdm9sYXRpbGUgKAotICAgICJweG9yICAgICAgJSV4bW01LCUleG1tNSAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICJweG9yICAgICAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAg
ICAgICBcbiIKIAogICAgIC8vIDQgcGl4ZWwgbG9vcC4KICAgICBMQUJFTEFMSUdOCi0gICIxOiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIg
TUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgImxlYSAgICAgICAiIE1FTUxF
QSgweDEwLDApICIsJTAgICAgICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1Mo
MSkgIiwlJXhtbTIgICAgICAgICBcbiIKQEAgLTQxMjAsMTQgKzQyMjMsMTYgQEAgdm9pZCBBUkdC
TXVsdGlwbHlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3Jj
X2FyZ2IxLAogCiAjaWZkZWYgSEFTX0FSR0JNVUxUSVBMWVJPV19BVlgyCiAvLyBNdWx0aXBseSAy
IHJvd3Mgb2YgQVJHQiBwaXhlbHMgdG9nZXRoZXIsIDggcGl4ZWxzIGF0IGEgdGltZS4KLXZvaWQg
QVJHQk11bHRpcGx5Um93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgq
IHNyY19hcmdiMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBp
bnQgd2lkdGgpIHsKK3ZvaWQgQVJHQk11bHRpcGx5Um93X0FWWDIoY29uc3QgdWludDgqIHNyY19h
cmdiMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAidnB4b3Ig
ICAgICAlJXltbTUsJSV5bW01LCUleW1tNSAgICAgICAgICAgXG4iCiAKICAgICAvLyA0IHBpeGVs
IGxvb3AuCiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCiAgICAgInZtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXltbTEgICAg
ICAgIFxuIgogICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4MjAsMCkgIiwlMCAgICAgICAgICBc
biIKICAgICAidm1vdmRxdSAgICAiIE1FTUFDQ0VTUygxKSAiLCUleW1tMyAgICAgICAgXG4iCkBA
IC00MTU5LDEyICs0MjY0LDE0IEBAIHZvaWQgQVJHQk11bHRpcGx5Um93X0FWWDIoY29uc3QgdWlu
dDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKIAogI2lmZGVmIEhBU19BUkdC
QUREUk9XX1NTRTIKIC8vIEFkZCAyIHJvd3Mgb2YgQVJHQiBwaXhlbHMgdG9nZXRoZXIsIDQgcGl4
ZWxzIGF0IGEgdGltZS4KLXZvaWQgQVJHQkFkZFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjAsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBBUkdCQWRkUm93X1NTRTIoY29uc3QgdWludDgq
IHNyY19hcmdiMCwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEs
CisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAvLyA0IHBpeGVsIGxvb3Au
CiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxu
IgogICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHgxMCwwKSAiLCUwICAgICAgICAgICBcbiIKICAg
ICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDEpICIsJSV4bW0xICAgICAgICAgXG4iCkBAIC00MTg3
LDEyICs0Mjk0LDE0IEBAIHZvaWQgQVJHQkFkZFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjAsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCiAKICNpZmRlZiBIQVNfQVJHQkFERFJPV19BVlgy
CiAvLyBBZGQgMiByb3dzIG9mIEFSR0IgcGl4ZWxzIHRvZ2V0aGVyLCA0IHBpeGVscyBhdCBhIHRp
bWUuCi12b2lkIEFSR0JBZGRSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1
aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBp
bnQgd2lkdGgpIHsKK3ZvaWQgQVJHQkFkZFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAs
CisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgLy8gNCBwaXhlbCBsb29wLgogICAgIExBQkVM
QUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAg
ICJ2bW92ZHF1ICAgICIgTUVNQUNDRVNTKDApICIsJSV5bW0wICAgICAgICBcbiIKICAgICAibGVh
ICAgICAgICAiIE1FTUxFQSgweDIwLDApICIsJTAgICAgICAgICAgXG4iCiAgICAgInZwYWRkdXNi
ICAgIiBNRU1BQ0NFU1MoMSkgIiwlJXltbTAsJSV5bW0wIFxuIgpAQCAtNDIxNSwxMiArNDMyNCwx
NCBAQCB2b2lkIEFSR0JBZGRSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1
aW50OCogc3JjX2FyZ2IxLAogCiAjaWZkZWYgSEFTX0FSR0JTVUJUUkFDVFJPV19TU0UyCiAvLyBT
dWJ0cmFjdCAyIHJvd3Mgb2YgQVJHQiBwaXhlbHMsIDQgcGl4ZWxzIGF0IGEgdGltZS4KLXZvaWQg
QVJHQlN1YnRyYWN0Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgq
IHNyY19hcmdiMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBp
bnQgd2lkdGgpIHsKK3ZvaWQgQVJHQlN1YnRyYWN0Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19h
cmdiMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAvLyA0IHBp
eGVsIGxvb3AuCiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAg
ICAgICAgIFxuIgogICAgICJsZWEgICAgICAgIiBNRU1MRUEoMHgxMCwwKSAiLCUwICAgICAgICAg
ICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDEpICIsJSV4bW0xICAgICAgICAgXG4i
CkBAIC00MjQzLDEyICs0MzU0LDE0IEBAIHZvaWQgQVJHQlN1YnRyYWN0Um93X1NTRTIoY29uc3Qg
dWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKIAogI2lmZGVmIEhBU19B
UkdCU1VCVFJBQ1RST1dfQVZYMgogLy8gU3VidHJhY3QgMiByb3dzIG9mIEFSR0IgcGl4ZWxzLCA4
IHBpeGVscyBhdCBhIHRpbWUuCi12b2lkIEFSR0JTdWJ0cmFjdFJvd19BVlgyKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjAsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7Cit2b2lkIEFSR0JTdWJ0cmFjdFJv
d19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFz
bSB2b2xhdGlsZSAoCiAgICAgLy8gNCBwaXhlbCBsb29wLgogICAgIExBQkVMQUxJR04KLSAgIjE6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJ2bW92ZHF1ICAg
ICIgTUVNQUNDRVNTKDApICIsJSV5bW0wICAgICAgICBcbiIKICAgICAibGVhICAgICAgICAiIE1F
TUxFQSgweDIwLDApICIsJTAgICAgICAgICAgXG4iCiAgICAgInZwc3VidXNiICAgIiBNRU1BQ0NF
U1MoMSkgIiwlJXltbTAsJSV5bW0wIFxuIgpAQCAtNDI1Niw3ICs0MzY5LDcgQEAgdm9pZCBBUkdC
U3VidHJhY3RSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3Jj
X2FyZ2IxLAogICAgICJ2bW92ZHF1ICAgICUleW1tMCwiIE1FTUFDQ0VTUygyKSAiICAgICAgICBc
biIKICAgICAibGVhICAgICAgICAiIE1FTUxFQSgweDIwLDIpICIsJTIgICAgICAgICAgXG4iCiAg
ICAgInN1YiAgICAgICAgJDB4OCwlMyAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJq
ZyAgICAgICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiamcgICAg
ICAgICAxYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgInZ6ZXJvdXBwZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICA6ICIrciIoc3JjX2FyZ2IwKSwg
IC8vICUwCiAgICAgIityIihzcmNfYXJnYjEpLCAgLy8gJTEKQEAgLTQyNzQsOCArNDM4NywxMSBA
QCB2b2lkIEFSR0JTdWJ0cmFjdFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYjEsCiAvLyAtMSAgMCAgMQogLy8gLTIgIDAgIDIKIC8vIC0xICAwICAx
Ci12b2lkIFNvYmVsWFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeTAsIGNvbnN0IHVpbnQ4KiBz
cmNfeTEsCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfeTIsIHVpbnQ4KiBk
c3Rfc29iZWx4LCBpbnQgd2lkdGgpIHsKK3ZvaWQgU29iZWxYUm93X1NTRTIoY29uc3QgdWludDgq
IHNyY195MCwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY195MSwKKyAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY195MiwKKyAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9zb2JlbHgsCisgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBh
c20gdm9sYXRpbGUgKAogICAgICJzdWIgICAgICAgJTAsJTEgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKICAgICAic3ViICAgICAgICUwLCUyICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCkBAIC00Mjg0LDcgKzQ0MDAsNyBAQCB2b2lkIFNvYmVsWFJvd19TU0UyKGNvbnN0IHVpbnQ4
KiBzcmNfeTAsIGNvbnN0IHVpbnQ4KiBzcmNfeTEsCiAKICAgICAvLyA4IHBpeGVsIGxvb3AuCiAg
ICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCiAgICAgIm1vdnEgICAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxuIgog
ICAgICJtb3ZxICAgICAgIiBNRU1BQ0NFU1MyKDB4MiwwKSAiLCUleG1tMSAgICBcbiIKICAgICAi
cHVucGNrbGJ3ICUleG1tNSwlJXhtbTAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC00MzI4LDgg
KzQ0NDQsMTAgQEAgdm9pZCBTb2JlbFhSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3kwLCBjb25z
dCB1aW50OCogc3JjX3kxLAogLy8gLTEgLTIgLTEKIC8vICAwICAwICAwCiAvLyAgMSAgMiAgMQot
dm9pZCBTb2JlbFlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3kwLCBjb25zdCB1aW50OCogc3Jj
X3kxLAotICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3NvYmVseSwgaW50IHdpZHRoKSB7
Cit2b2lkIFNvYmVsWVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeTAsCisgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfeTEsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3Rfc29iZWx5LAorICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0
aWxlICgKICAgICAic3ViICAgICAgICUwLCUxICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CiAgICAgInN1YiAgICAgICAlMCwlMiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAt
NDMzNyw3ICs0NDU1LDcgQEAgdm9pZCBTb2JlbFlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3kw
LCBjb25zdCB1aW50OCogc3JjX3kxLAogCiAgICAgLy8gOCBwaXhlbCBsb29wLgogICAgIExBQkVM
QUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAg
ICJtb3ZxICAgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTAgICAgICAgICBcbiIKICAgICBNRU1P
UFJFRyhtb3ZxLDB4MDAsMCwxLDEseG1tMSkgICAgICAgICAgICAgLy8gIG1vdnEgICAgICAoJTAs
JTEsMSksJSV4bW0xCiAgICAgInB1bnBja2xidyAlJXhtbTUsJSV4bW0wICAgICAgICAgICAgICAg
ICAgIFxuIgpAQCAtNDM4MSw4ICs0NDk5LDEwIEBAIHZvaWQgU29iZWxZUm93X1NTRTIoY29uc3Qg
dWludDgqIHNyY195MCwgY29uc3QgdWludDgqIHNyY195MSwKIC8vIFIgPSBTb2JlbAogLy8gRyA9
IFNvYmVsCiAvLyBCID0gU29iZWwKLXZvaWQgU29iZWxSb3dfU1NFMihjb25zdCB1aW50OCogc3Jj
X3NvYmVseCwgY29uc3QgdWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKK3ZvaWQgU29iZWxSb3dfU1NFMihjb25zdCB1aW50
OCogc3JjX3NvYmVseCwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3NvYmVs
eSwKKyAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInN1YiAgICAgICAlMCwlMSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJwY21wZXFiICAgJSV4bW01LCUleG1t
NSAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTQzOTAsNyArNDUxMCw3IEBAIHZvaWQgU29iZWxS
b3dfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgqIHNyY19zb2JlbHks
CiAKICAgICAvLyA4IHBpeGVsIGxvb3AuCiAgICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VT
UygwKSAiLCUleG1tMCAgICAgICAgIFxuIgogICAgIE1FTU9QUkVHKG1vdmRxdSwweDAwLDAsMSwx
LHhtbTEpICAgICAgICAgICAvLyAgbW92ZHF1ICAgICglMCwlMSwxKSwlJXhtbTEKICAgICAibGVh
ICAgICAgICIgTUVNTEVBKDB4MTAsMCkgIiwlMCAgICAgICAgICAgXG4iCkBAIC00NDI4LDggKzQ1
NDgsMTAgQEAgdm9pZCBTb2JlbFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25z
dCB1aW50OCogc3JjX3NvYmVseSwKIAogI2lmZGVmIEhBU19TT0JFTFRPUExBTkVST1dfU1NFMgog
Ly8gQWRkcyBTb2JlbCBYIGFuZCBTb2JlbCBZIGFuZCBzdG9yZXMgU29iZWwgaW50byBhIHBsYW5l
Lgotdm9pZCBTb2JlbFRvUGxhbmVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29u
c3QgdWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfeSwgaW50IHdpZHRoKSB7Cit2b2lkIFNvYmVsVG9QbGFuZVJvd19TU0UyKGNvbnN0IHVpbnQ4
KiBzcmNfc29iZWx4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAi
c3ViICAgICAgICUwLCUxICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgInBjbXBl
cWIgICAlJXhtbTUsJSV4bW01ICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNDQzNyw3ICs0NTU5
LDcgQEAgdm9pZCBTb2JlbFRvUGxhbmVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwg
Y29uc3QgdWludDgqIHNyY19zb2JlbHksCiAKICAgICAvLyA4IHBpeGVsIGxvb3AuCiAgICAgTEFC
RUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAg
ICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygwKSAiLCUleG1tMCAgICAgICAgIFxuIgogICAgIE1F
TU9QUkVHKG1vdmRxdSwweDAwLDAsMSwxLHhtbTEpICAgICAgICAgICAvLyAgbW92ZHF1ICAgICgl
MCwlMSwxKSwlJXhtbTEKICAgICAibGVhICAgICAgICIgTUVNTEVBKDB4MTAsMCkgIiwlMCAgICAg
ICAgICAgXG4iCkBAIC00NDYzLDE1ICs0NTg1LDE3IEBAIHZvaWQgU29iZWxUb1BsYW5lUm93X1NT
RTIoY29uc3QgdWludDgqIHNyY19zb2JlbHgsIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAogLy8g
UiA9IFNvYmVsIFgKIC8vIEcgPSBTb2JlbAogLy8gQiA9IFNvYmVsIFkKLXZvaWQgU29iZWxYWVJv
d19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3JjX3NvYmVseSwK
LSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7Cit2b2lk
IFNvYmVsWFlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwKKyAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAorICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2
b2xhdGlsZSAoCiAgICAgInN1YiAgICAgICAlMCwlMSAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgogICAgICJwY21wZXFiICAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgICBcbiIK
IAogICAgIC8vIDggcGl4ZWwgbG9vcC4KICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNT
KDApICIsJSV4bW0wICAgICAgICAgXG4iCiAgICAgTUVNT1BSRUcobW92ZHF1LDB4MDAsMCwxLDEs
eG1tMSkgICAgICAgICAgIC8vICBtb3ZkcXUgICAgKCUwLCUxLDEpLCUleG1tMQogICAgICJsZWEg
ICAgICAgIiBNRU1MRUEoMHgxMCwwKSAiLCUwICAgICAgICAgICBcbiIKQEAgLTQ1MTAsOCArNDYz
NCwxMCBAQCB2b2lkIFNvYmVsWFlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29u
c3QgdWludDgqIHNyY19zb2JlbHksCiAjaWZkZWYgSEFTX0NPTVBVVEVDVU1VTEFUSVZFU1VNUk9X
X1NTRTIKIC8vIENyZWF0ZXMgYSB0YWJsZSBvZiBjdW11bGF0aXZlIHN1bXMgd2hlcmUgZWFjaCB2
YWx1ZSBpcyBhIHN1bSBvZiBhbGwgdmFsdWVzCiAvLyBhYm92ZSBhbmQgdG8gdGhlIGxlZnQgb2Yg
dGhlIHZhbHVlLCBpbmNsdXNpdmUgb2YgdGhlIHZhbHVlLgotdm9pZCBDb21wdXRlQ3VtdWxhdGl2
ZVN1bVJvd19TU0UyKGNvbnN0IHVpbnQ4KiByb3csIGludDMyKiBjdW1zdW0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MzIqIHByZXZpb3VzX2N1bXN1bSwgaW50
IHdpZHRoKSB7Cit2b2lkIENvbXB1dGVDdW11bGF0aXZlU3VtUm93X1NTRTIoY29uc3QgdWludDgq
IHJvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMiogY3Vtc3VtLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDMyKiBwcmV2aW91c19j
dW1zdW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAg
IGFzbSB2b2xhdGlsZSAoCiAgICAgInB4b3IgICAgICAlJXhtbTAsJSV4bW0wICAgICAgICAgICAg
ICAgICAgIFxuIgogICAgICJweG9yICAgICAgJSV4bW0xLCUleG1tMSAgICAgICAgICAgICAgICAg
ICBcbiIKQEAgLTQ1MjAsOSArNDY0Niw5IEBAIHZvaWQgQ29tcHV0ZUN1bXVsYXRpdmVTdW1Sb3df
U1NFMihjb25zdCB1aW50OCogcm93LCBpbnQzMiogY3Vtc3VtLAogICAgICJ0ZXN0ICAgICAgJDB4
ZiwlMSAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAiam5lICAgICAgIDQ5ZiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAKLSAgLy8gNCBwaXhlbCBsb29wICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgLy8gNCBwaXhlbCBsb29wLgogICAgIExBQkVM
QUxJR04KLSAgIjQwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgIjQwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAg
ICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXhtbTIgICAgICAgICBcbiIKICAgICAibGVh
ICAgICAgICIgTUVNTEVBKDB4MTAsMCkgIiwlMCAgICAgICAgICAgXG4iCiAgICAgIm1vdmRxYSAg
ICAlJXhtbTIsJSV4bW00ICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNDU1NSwxMyArNDY4MSwx
MyBAQCB2b2lkIENvbXB1dGVDdW11bGF0aXZlU3VtUm93X1NTRTIoY29uc3QgdWludDgqIHJvdywg
aW50MzIqIGN1bXN1bSwKICAgICAic3ViICAgICAgICQweDQsJTMgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCiAgICAgImpnZSAgICAgICA0MGIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgogCi0gICI0OTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICI0OTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAg
ICAiYWRkICAgICAgICQweDMsJTMgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgImps
ICAgICAgICAxOWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogCi0gIC8vIDEgcGl4
ZWwgbG9vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgIC8vIDEgcGl4ZWwg
bG9vcC4KICAgICBMQUJFTEFMSUdOCi0gICIxMDogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICIxMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKICAgICAibW92ZCAgICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0yICAgICAg
ICAgXG4iCiAgICAgImxlYSAgICAgICAiIE1FTUxFQSgweDQsMCkgIiwlMCAgICAgICAgICAgIFxu
IgogICAgICJwdW5wY2tsYncgJSV4bW0xLCUleG1tMiAgICAgICAgICAgICAgICAgICBcbiIKQEAg
LTQ1NzUsNyArNDcwMSw3IEBAIHZvaWQgQ29tcHV0ZUN1bXVsYXRpdmVTdW1Sb3dfU1NFMihjb25z
dCB1aW50OCogcm93LCBpbnQzMiogY3Vtc3VtLAogICAgICJzdWIgICAgICAgJDB4MSwlMyAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAiamdlICAgICAgIDEwYiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCiAKLSAgIjE5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgIjE5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgogICA6ICIrciIocm93KSwgIC8vICUwCiAgICAgIityIihjdW1zdW0pLCAgLy8g
JTEKICAgICAiK3IiKHByZXZpb3VzX2N1bXN1bSksICAvLyAlMgpAQCAtNDU4OCw4ICs0NzE0LDEx
IEBAIHZvaWQgQ29tcHV0ZUN1bXVsYXRpdmVTdW1Sb3dfU1NFMihjb25zdCB1aW50OCogcm93LCBp
bnQzMiogY3Vtc3VtLAogI2VuZGlmICAvLyBIQVNfQ09NUFVURUNVTVVMQVRJVkVTVU1ST1dfU1NF
MgogCiAjaWZkZWYgSEFTX0NVTVVMQVRJVkVTVU1UT0FWRVJBR0VST1dfU1NFMgotdm9pZCBDdW11
bGF0aXZlU3VtVG9BdmVyYWdlUm93X1NTRTIoY29uc3QgaW50MzIqIHRvcGxlZnQsIGNvbnN0IGlu
dDMyKiBib3RsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoLCBpbnQgYXJlYSwgdWludDgqIGRzdCwKK3ZvaWQgQ3VtdWxhdGl2ZVN1bVRvQXZlcmFnZVJv
d19TU0UyKGNvbnN0IGludDMyKiB0b3BsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgaW50MzIqIGJvdGxlZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgYXJlYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY291bnQpIHsKICAg
YXNtIHZvbGF0aWxlICgKICAgICAibW92ZCAgICAgICU1LCUleG1tNSAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCkBAIC00NjEwLDcgKzQ3MzksNyBAQCB2b2lkIEN1bXVsYXRpdmVTdW1Ub0F2ZXJh
Z2VSb3dfU1NFMihjb25zdCBpbnQzMiogdG9wbGVmdCwgY29uc3QgaW50MzIqIGJvdGxlZnQsCiAg
ICAgImN2dHBzMmRxICAlJXhtbTUsJSV4bW01ICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJw
YWNrc3NkdyAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgICBcbiIKIAotICAvLyA0IHBp
eGVsIHNtYWxsIGxvb3AgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAvLyA0IHBpeGVs
IHNtYWxsIGxvb3AuCiAgICAgTEFCRUxBTElHTgogICAiNDogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwl
JXhtbTAgICAgICAgICBcbiIKQEAgLTQ3MjEsOCArNDg1MCwxMSBAQCB2b2lkIEN1bXVsYXRpdmVT
dW1Ub0F2ZXJhZ2VSb3dfU1NFMihjb25zdCBpbnQzMiogdG9wbGVmdCwgY29uc3QgaW50MzIqIGJv
dGxlZnQsCiAjaWZkZWYgSEFTX0FSR0JBRkZJTkVST1dfU1NFMgogLy8gQ29weSBBUkdCIHBpeGVs
cyBmcm9tIHNvdXJjZSBpbWFnZSB3aXRoIHNsb3BlIHRvIGEgcm93IG9mIGRlc3RpbmF0aW9uLgog
TElCWVVWX0FQSQotdm9pZCBBUkdCQWZmaW5lUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdi
LCBpbnQgc3JjX2FyZ2Jfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLCBjb25zdCBmbG9hdCogc3JjX2R1ZHYsIGludCB3aWR0aCkgewordm9pZCBBUkdCQWZm
aW5lUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19hcmdiX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0KiBzcmNfZHVkdiwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBpbnRwdHJfdCBzcmNfYXJn
Yl9zdHJpZGVfdGVtcCA9IHNyY19hcmdiX3N0cmlkZTsKICAgaW50cHRyX3QgdGVtcDsKICAgYXNt
IHZvbGF0aWxlICgKQEAgLTQ4MDYsOCArNDkzOCwxMCBAQCB2b2lkIEFSR0JBZmZpbmVSb3dfU1NF
Mihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfYXJnYl9zdHJpZGUsCiAKICNpZmRlZiBI
QVNfSU5URVJQT0xBVEVST1dfU1NTRTMKIC8vIEJpbGluZWFyIGZpbHRlciAxNngyIC0+IDE2eDEK
LXZvaWQgSW50ZXJwb2xhdGVSb3dfU1NTRTModWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBz
cmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwg
aW50IGRzdF93aWR0aCwKK3ZvaWQgSW50ZXJwb2xhdGVSb3dfU1NTRTModWludDgqIGRzdF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNvdXJjZV95X2ZyYWN0aW9uKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInN1YiAgICAgICAl
MSwlMCAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNDgyOSw3ICs0OTYzLDcgQEAg
dm9pZCBJbnRlcnBvbGF0ZVJvd19TU1NFMyh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNy
Y19wdHIsCiAKICAgICAvLyBHZW5lcmFsIHB1cnBvc2Ugcm93IGJsZW5kLgogICAgIExBQkVMQUxJ
R04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJt
b3ZkcXUgICAgIiBNRU1BQ0NFU1MoMSkgIiwlJXhtbTAgICAgICAgICBcbiIKICAgICBNRU1PUFJF
Ryhtb3ZkcXUsMHgwMCwxLDQsMSx4bW0yKQogICAgICJtb3ZkcWEgICAgICUleG1tMCwlJXhtbTEg
ICAgICAgICAgICAgICAgICBcbiIKQEAgLTQ4ODcsOCArNTAyMSwxMCBAQCB2b2lkIEludGVycG9s
YXRlUm93X1NTU0UzKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKIAogI2lm
ZGVmIEhBU19JTlRFUlBPTEFURVJPV19BVlgyCiAvLyBCaWxpbmVhciBmaWx0ZXIgMzJ4MiAtPiAz
MngxCi12b2lkIEludGVycG9sYXRlUm93X0FWWDIodWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4
KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LCBpbnQgZHN0X3dpZHRoLAordm9pZCBJbnRlcnBvbGF0ZVJvd19BVlgyKHVpbnQ4KiBkc3RfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNv
dXJjZV95X2ZyYWN0aW9uKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgImNtcCAgICAgICAkMHgw
LCUzICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNDkxMCw3ICs1MDQ2LDcgQEAgdm9p
ZCBJbnRlcnBvbGF0ZVJvd19BVlgyKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0
ciwKIAogICAgIC8vIEdlbmVyYWwgcHVycG9zZSByb3cgYmxlbmQuCiAgICAgTEFCRUxBTElHTgot
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAi
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgInZtb3Zk
cXUgICAgIiBNRU1BQ0NFU1MoMSkgIiwlJXltbTAgICAgICAgIFxuIgogICAgIE1FTU9QUkVHKHZt
b3ZkcXUsMHgwMCwxLDQsMSx5bW0yKQogICAgICJ2cHVucGNraGJ3ICUleW1tMiwlJXltbTAsJSV5
bW0xICAgICAgICAgICBcbiIKQEAgLTQ5NjMsMTIgKzUwOTksMTQgQEAgdm9pZCBJbnRlcnBvbGF0
ZVJvd19BVlgyKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKIAogI2lmZGVm
IEhBU19BUkdCU0hVRkZMRVJPV19TU1NFMwogLy8gRm9yIEJHUkFUb0FSR0IsIEFCR1JUb0FSR0Is
IFJHQkFUb0FSR0IsIGFuZCBBUkdCVG9SR0JBLgotdm9pZCBBUkdCU2h1ZmZsZVJvd19TU1NFMyhj
b25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLCBpbnQgd2lkdGgpIHsKK3ZvaWQgQVJHQlNo
dWZmbGVSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzaHVmZmxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7
CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgIm1vdmRxdSAgICAiIE1FTUFDQ0VTUygzKSAiLCUleG1t
NSAgICAgICAgIFxuIgogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3ZkcXUgICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXht
bTAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTMigweDEwLDApICIsJSV4
bW0xICAgXG4iCiAgICAgImxlYSAgICAgICAiIE1FTUxFQSgweDIwLDApICIsJTAgICAgICAgICAg
IFxuIgpAQCAtNDk5MSwxMiArNTEyOSwxNCBAQCB2b2lkIEFSR0JTaHVmZmxlUm93X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAogCiAjaWZkZWYgSEFTX0FSR0JT
SFVGRkxFUk9XX0FWWDIKIC8vIEZvciBCR1JBVG9BUkdCLCBBQkdSVG9BUkdCLCBSR0JBVG9BUkdC
LCBhbmQgQVJHQlRvUkdCQS4KLXZvaWQgQVJHQlNodWZmbGVSb3dfQVZYMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc2h1ZmZsZXIsIGludCB3aWR0aCkgewordm9pZCBBUkdCU2h1ZmZsZVJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNodWZmbGVy
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUg
KAogICAgICJ2YnJvYWRjYXN0ZjEyOCAiIE1FTUFDQ0VTUygzKSAiLCUleW1tNSAgICBcbiIKICAg
ICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKICAgICAidm1vdmRxdSAgICIgTUVNQUNDRVNTKDApICIsJSV5bW0wICAgICAgICAgXG4iCiAg
ICAgInZtb3ZkcXUgICAiIE1FTUFDQ0VTUzIoMHgyMCwwKSAiLCUleW1tMSAgIFxuIgogICAgICJs
ZWEgICAgICAgIiBNRU1MRUEoMHg0MCwwKSAiLCUwICAgICAgICAgICBcbiIKQEAgLTUwMjAsOCAr
NTE2MCwxMCBAQCB2b2lkIEFSR0JTaHVmZmxlUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdi
LCB1aW50OCogZHN0X2FyZ2IsCiAKICNpZmRlZiBIQVNfQVJHQlNIVUZGTEVST1dfU1NFMgogLy8g
Rm9yIEJHUkFUb0FSR0IsIEFCR1JUb0FSR0IsIFJHQkFUb0FSR0IsIGFuZCBBUkdCVG9SR0JBLgot
dm9pZCBBUkdCU2h1ZmZsZVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRz
dF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzaHVmZmxlciwg
aW50IHdpZHRoKSB7Cit2b2lkIEFSR0JTaHVmZmxlUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKSB7CiAgIHVpbnRwdHJfdCBwaXhlbF90ZW1wOwogICBhc20gdm9s
YXRpbGUgKAogICAgICJweG9yICAgICAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgICBc
biIKQEAgLTUwMzYsNyArNTE3OCw3IEBAIHZvaWQgQVJHQlNodWZmbGVSb3dfU1NFMihjb25zdCB1
aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAiamUgICAgICAgIDIxMDNmICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAKICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92emIgICAgICIgTUVN
QUNDRVNTKDQpICIsJTIgICAgICAgICAgICAgXG4iCiAgICAgTUVNT1BBUkcobW92emIsMHgwMCww
LDIsMSwyKSAiICAgICAgICAgICAgIFxuIiAgLy8gIG1vdnpiICAgICAoJTAsJTIsMSksJTIKICAg
ICAibW92ICAgICAgICViMiwiIE1FTUFDQ0VTUygxKSAiICAgICAgICAgICAgXG4iCkBAIC01MTQy
LDExICs1Mjg0LDEyIEBAIHZvaWQgQVJHQlNodWZmbGVSb3dfU1NFMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKIHZvaWQgSTQyMlRvWVVZMlJvd19TU0UyKGNvbnN0IHVp
bnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwK
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfZnJhbWUsIGludCB3aWR0aCkgewotIGFzbSB2b2xhdGls
ZSAoCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2ZyYW1lLAorICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGFzbSB2b2xhdGlsZSAoCiAgICAgInN1YiAg
ICAgICAlMSwlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgTEFCRUxBTElH
TgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAi
bW92cSAgICAgICIgTUVNQUNDRVNTKDEpICIsJSV4bW0yICAgICAgICAgICBcbiIKICAgICBNRU1P
UFJFRyhtb3ZxLDB4MDAsMSwyLDEseG1tMykgICAgICAgICAgICAgICAvLyAgbW92cSAgICAoJTEs
JTIsMSksJSV4bW0zCiAgICAgImxlYSAgICAgICAiIE1FTUxFQSgweDgsMSkgIiwlMSAgICAgICAg
ICAgICAgXG4iCkBAIC01MTc3LDExICs1MzIwLDEyIEBAIHZvaWQgSTQyMlRvWVVZMlJvd19TU0Uy
KGNvbnN0IHVpbnQ4KiBzcmNfeSwKIHZvaWQgSTQyMlRvVVlWWVJvd19TU0UyKGNvbnN0IHVpbnQ4
KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfZnJhbWUsIGludCB3aWR0aCkgewotIGFzbSB2b2xhdGlsZSAo
CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2ZyYW1lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGFzbSB2b2xhdGlsZSAoCiAgICAgInN1YiAgICAg
ICAgJTEsJTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgTEFCRUxBTElHTgot
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAibW92
cSAgICAgICIgTUVNQUNDRVNTKDEpICIsJSV4bW0yICAgICAgICAgICBcbiIKICAgICBNRU1PUFJF
Ryhtb3ZxLDB4MDAsMSwyLDEseG1tMykgICAgICAgICAgICAgICAvLyAgbW92cSAgICAoJTEsJTIs
MSksJSV4bW0zCiAgICAgImxlYSAgICAgICAiIE1FTUxFQSgweDgsMSkgIiwlMSAgICAgICAgICAg
ICAgXG4iCkBAIC01MjEwLDE0ICs1MzU0LDE1IEBAIHZvaWQgSTQyMlRvVVlWWVJvd19TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfeSwKIAogI2lmZGVmIEhBU19BUkdCUE9MWU5PTUlBTFJPV19TU0UyCiB2
b2lkIEFSR0JQb2x5bm9taWFsUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgZmxvYXQqIHBvbHks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0KiBwb2x5LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJweG9yICAgICAg
JSV4bW0zLCUleG1tMyAgICAgICAgICAgICAgICAgICBcbiIKIAogICAgIC8vIDIgcGl4ZWwgbG9v
cC4KICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKICAgICAibW92cSAgICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0wICAgICAgICAg
XG4iCiAgICAgImxlYSAgICAgICAiIE1FTUxFQSgweDgsMCkgIiwlMCAgICAgICAgICAgIFxuIgog
ICAgICJwdW5wY2tsYncgJSV4bW0zLCUleG1tMCAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTUy
NjYsNyArNTQxMSw4IEBAIHZvaWQgQVJHQlBvbHlub21pYWxSb3dfU1NFMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsCiAKICNpZmRlZiBIQVNfQVJHQlBPTFlOT01JQUxST1dfQVZYMgogdm9pZCBBUkdC
UG9seW5vbWlhbFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGNvbnN0IGZsb2F0KiBwb2x5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBmbG9hdCogcG9seSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAidmJyb2FkY2FzdGYxMjggIiBN
RU1BQ0NFU1MoMykgIiwlJXltbTQgICAgIFxuIgpAQCAtNTI3Niw3ICs1NDIyLDcgQEAgdm9pZCBB
UkdCUG9seW5vbWlhbFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKIAogICAgIC8vIDIg
cGl4ZWwgbG9vcC4KICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKICAgICAidnBtb3Z6eGJkICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXlt
bTAgICAgICAgXG4iICAvLyAyIEFSR0IgcGl4ZWxzCiAgICAgImxlYSAgICAgICAgICIgTUVNTEVB
KDB4OCwwKSAiLCUwICAgICAgICAgIFxuIgogICAgICJ2Y3Z0ZHEycHMgICAlJXltbTAsJSV5bW0w
ICAgICAgICAgICAgICAgICBcbiIgIC8vIFggOCBmbG9hdHMKQEAgLTUzMTAsMTIgKzU0NTYsMTMg
QEAgdm9pZCBIYWxmRmxvYXRSb3dfU1NFMihjb25zdCB1aW50MTYqIHNyYywgdWludDE2KiBkc3Qs
IGZsb2F0IHNjYWxlLCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAicHNodWZk
ICAgICAgJDB4MCwlMywlJXhtbTQgICAgICAgICAgICAgICAgXG4iCiAgICAgInB4b3IgICAgICAg
ICUleG1tNSwlJXhtbTUgICAgICAgICAgICAgICAgIFxuIgorICAgICJzdWIgICAgICAgICAlMCwl
MSAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKIAogICAgIC8vIDE2IHBpeGVsIGxvb3AuCiAg
ICAgTEFCRUxBTElHTgotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCiAgICAgIm1vdmRxdSAgICAgICIgTUVNQUNDRVNTKDApICIsJSV4bW0yICAgICAgIFxuIiAg
Ly8gOCBzaG9ydHMKLSAgICAibGVhICAgICAgICAgIiBNRU1MRUEoMHgxMCwwKSAiLCUwICAgICAg
ICAgXG4iCisgICAgImFkZCAgICAgICAgICQweDEwLCUwICAgICAgICAgICAgICAgICAgICAgIFxu
IgogICAgICJtb3ZkcWEgICAgICAlJXhtbTIsJSV4bW0zICAgICAgICAgICAgICAgICBcbiIKICAg
ICAicHVucGNrbHdkICAgJSV4bW01LCUleG1tMiAgICAgICAgICAgICAgICAgXG4iICAvLyA4IGlu
dHMgaW4geG1tMi8xCiAgICAgImN2dGRxMnBzICAgICUleG1tMiwlJXhtbTIgICAgICAgICAgICAg
ICAgIFxuIiAgLy8gOCBmbG9hdHMKQEAgLTUzMjYsOCArNTQ3Myw3IEBAIHZvaWQgSGFsZkZsb2F0
Um93X1NTRTIoY29uc3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50
IHdpZHRoKSB7CiAgICAgInBzcmxkICAgICAgICQweGQsJSV4bW0yICAgICAgICAgICAgICAgICAg
IFxuIgogICAgICJwc3JsZCAgICAgICAkMHhkLCUleG1tMyAgICAgICAgICAgICAgICAgICBcbiIK
ICAgICAicGFja3NzZHcgICAgJSV4bW0zLCUleG1tMiAgICAgICAgICAgICAgICAgXG4iCi0gICAg
Im1vdmRxdSAgICAgICUleG1tMiwiIE1FTUFDQ0VTUygxKSAiICAgICAgIFxuIgotICAgICJsZWEg
ICAgICAgICAiIE1FTUxFQSgweDEwLDEpICIsJTEgICAgICAgICBcbiIKKyAgICBNRU1PUE1FTSht
b3ZkcXUseG1tMiwtMHgxMCwwLDEsMSkKICAgICAic3ViICAgICAgICAgJDB4OCwlMiAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCiAgICAgImpnICAgICAgICAgIDFiICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgogICA6ICIrciIoc3JjKSwgICAgLy8gJTAKQEAgLTUzNDEsMTcgKzU0ODcs
MTcgQEAgdm9pZCBIYWxmRmxvYXRSb3dfU1NFMihjb25zdCB1aW50MTYqIHNyYywgdWludDE2KiBk
c3QsIGZsb2F0IHNjYWxlLCBpbnQgd2lkdGgpIHsKICNlbmRpZiAgLy8gSEFTX0hBTEZGTE9BVFJP
V19TU0UyCiAKICNpZmRlZiBIQVNfSEFMRkZMT0FUUk9XX0FWWDIKLS8vIFRPRE8oZmJhcmNoYXJk
KTogY29uc2lkZXIgdmFkZGR3IGluc3RlYWQgb2Ygdm11bHBzCiB2b2lkIEhhbGZGbG9hdFJvd19B
VlgyKGNvbnN0IHVpbnQxNiogc3JjLCB1aW50MTYqIGRzdCwgZmxvYXQgc2NhbGUsIGludCB3aWR0
aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJ2YnJvYWRjYXN0c3MgICUzLCAlJXltbTQgICAg
ICAgICAgICAgICAgICBcbiIKICAgICAidnB4b3IgICAgICAlJXltbTUsJSV5bW01LCUleW1tNSAg
ICAgICAgICAgXG4iCisgICAgInN1YiAgICAgICAgJTAsJTEgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgogCiAgICAgLy8gMTYgcGl4ZWwgbG9vcC4KICAgICBMQUJFTEFMSUdOCi0gICIxOiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAidm1vdmRxdSAgICAi
IE1FTUFDQ0VTUygwKSAiLCUleW1tMiAgICAgICAgXG4iICAvLyAxNiBzaG9ydHMKLSAgICAibGVh
ICAgICAgICAiIE1FTUxFQSgweDIwLDApICIsJTAgICAgICAgICAgXG4iCisgICAgImFkZCAgICAg
ICAgJDB4MjAsJTAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJ2cHVucGNraHdkICUl
eW1tNSwlJXltbTIsJSV5bW0zICAgICAgICAgICBcbiIgIC8vIG11dGF0ZXMKICAgICAidnB1bnBj
a2x3ZCAlJXltbTUsJSV5bW0yLCUleW1tMiAgICAgICAgICAgXG4iCiAgICAgInZjdnRkcTJwcyAg
JSV5bW0zLCUleW1tMyAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNTM2MSwxMCArNTUwNywxMCBA
QCB2b2lkIEhhbGZGbG9hdFJvd19BVlgyKGNvbnN0IHVpbnQxNiogc3JjLCB1aW50MTYqIGRzdCwg
ZmxvYXQgc2NhbGUsIGludCB3aWR0aCkgewogICAgICJ2cHNybGQgICAgICQweGQsJSV5bW0zLCUl
eW1tMyAgICAgICAgICAgICBcbiIKICAgICAidnBzcmxkICAgICAkMHhkLCUleW1tMiwlJXltbTIg
ICAgICAgICAgICAgXG4iCiAgICAgInZwYWNrc3NkdyAgJSV5bW0zLCAlJXltbTIsICUleW1tMiAg
ICAgICAgIFxuIiAgLy8gdW5tdXRhdGVzCi0gICAgInZtb3ZkcXUgICAgJSV5bW0yLCIgTUVNQUND
RVNTKDEpICIgICAgICAgIFxuIgotICAgICJsZWEgICAgICAgICIgTUVNTEVBKDB4MjAsMSkgIiwl
MSAgICAgICAgICBcbiIKKyAgICBNRU1PUE1FTSh2bW92ZHF1LHltbTIsLTB4MjAsMCwxLDEpCiAg
ICAgInN1YiAgICAgICAgJDB4MTAsJTIgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJq
ZyAgICAgICAgIDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKwogICAgICJ2emVy
b3VwcGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgOiAiK3IiKHNyYyks
ICAgIC8vICUwCiAgICAgIityIihkc3QpLCAgICAvLyAlMQpAQCAtNTM3OSwyNiArNTUyNSwyNSBA
QCB2b2lkIEhhbGZGbG9hdFJvd19BVlgyKGNvbnN0IHVpbnQxNiogc3JjLCB1aW50MTYqIGRzdCwg
ZmxvYXQgc2NhbGUsIGludCB3aWR0aCkgewogI2lmZGVmIEhBU19IQUxGRkxPQVRST1dfRjE2Qwog
dm9pZCBIYWxmRmxvYXRSb3dfRjE2Qyhjb25zdCB1aW50MTYqIHNyYywgdWludDE2KiBkc3QsIGZs
b2F0IHNjYWxlLCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKLSAgICJ2YnJvYWRjYXN0
c3MgICUzLCAlJXltbTQgICAgICAgICAgICAgICAgICBcbiIKKyAgICAidmJyb2FkY2FzdHNzICAl
MywgJSV5bW00ICAgICAgICAgICAgICAgICAgXG4iCisgICAgInN1YiAgICAgICAgJTAsJTEgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgogCiAgICAgLy8gMTYgcGl4ZWwgbG9vcC4KICAgICBM
QUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
ICAgICAidnBtb3Z6eHdkICAgIiBNRU1BQ0NFU1MoMCkgIiwlJXltbTIgICAgICAgXG4iICAvLyAx
NiBzaG9ydHMgLT4gMTYgaW50cwogICAgICJ2cG1vdnp4d2QgICAiIE1FTUFDQ0VTUzIoMHgxMCww
KSAiLCUleW1tMyBcbiIKLSAgICAibGVhICAgICAgICAgIiBNRU1MRUEoMHgyMCwwKSAiLCUwICAg
ICAgICAgXG4iCiAgICAgInZjdnRkcTJwcyAgICUleW1tMiwlJXltbTIgICAgICAgICAgICAgICAg
IFxuIgogICAgICJ2Y3Z0ZHEycHMgICAlJXltbTMsJSV5bW0zICAgICAgICAgICAgICAgICBcbiIK
ICAgICAidm11bHBzICAgICAgJSV5bW0yLCUleW1tNCwlJXltbTIgICAgICAgICAgXG4iCiAgICAg
InZtdWxwcyAgICAgICUleW1tMywlJXltbTQsJSV5bW0zICAgICAgICAgIFxuIgogICAgICJ2Y3Z0
cHMycGggICAkMywgJSV5bW0yLCAlJXhtbTIgICAgICAgICAgICBcbiIKICAgICAidmN2dHBzMnBo
ICAgJDMsICUleW1tMywgJSV4bW0zICAgICAgICAgICAgXG4iCi0gICAgInZtb3ZkcXUgICAgICUl
eG1tMiwiIE1FTUFDQ0VTUygxKSAiICAgICAgIFxuIgotICAgICJ2bW92ZHF1ICAgICAlJXhtbTMs
IiBNRU1BQ0NFU1MyKDB4MTAsMSkgIiBcbiIKLSAgICAibGVhICAgICAgICAgIiBNRU1MRUEoMHgy
MCwxKSAiLCUxICAgICAgICAgXG4iCisgICAgTUVNT1BNRU0odm1vdmRxdSx4bW0yLDB4MDAsMCwx
LDEpCisgICAgTUVNT1BNRU0odm1vdmRxdSx4bW0zLDB4MTAsMCwxLDEpCisgICAgImFkZCAgICAg
ICAgICQweDIwLCUwICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJzdWIgICAgICAgICAk
MHgxMCwlMiAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAiamcgICAgICAgICAgMWIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0KICAgICAidnplcm91cHBlciAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCiAgIDogIityIihzcmMpLCAgIC8vICUwCiAgICAgIity
Iihkc3QpLCAgIC8vICUxCkBAIC01NDEwLDE1ICs1NTU1LDQ1IEBAIHZvaWQgSGFsZkZsb2F0Um93
X0YxNkMoY29uc3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50IHdp
ZHRoKSB7CiB9CiAjZW5kaWYgIC8vIEhBU19IQUxGRkxPQVRST1dfRjE2QwogCisjaWZkZWYgSEFT
X0hBTEZGTE9BVFJPV19GMTZDCit2b2lkIEhhbGZGbG9hdDFSb3dfRjE2Qyhjb25zdCB1aW50MTYq
IHNyYywgdWludDE2KiBkc3QsIGZsb2F0LCBpbnQgd2lkdGgpIHsKKyAgYXNtIHZvbGF0aWxlICgK
KyAgICAic3ViICAgICAgICAlMCwlMSAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
Ly8gMTYgcGl4ZWwgbG9vcC4KKyAgICBMQUJFTEFMSUdOCisgICAgIjE6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICJ2cG1vdnp4d2QgICAiIE1FTUFDQ0VT
UygwKSAiLCUleW1tMiAgICAgICBcbiIgIC8vIDE2IHNob3J0cyAtPiAxNiBpbnRzCisgICAgInZw
bW92enh3ZCAgICIgTUVNQUNDRVNTMigweDEwLDApICIsJSV5bW0zIFxuIgorICAgICJ2Y3Z0ZHEy
cHMgICAlJXltbTIsJSV5bW0yICAgICAgICAgICAgICAgICBcbiIKKyAgICAidmN2dGRxMnBzICAg
JSV5bW0zLCUleW1tMyAgICAgICAgICAgICAgICAgXG4iCisgICAgInZjdnRwczJwaCAgICQzLCAl
JXltbTIsICUleG1tMiAgICAgICAgICAgIFxuIgorICAgICJ2Y3Z0cHMycGggICAkMywgJSV5bW0z
LCAlJXhtbTMgICAgICAgICAgICBcbiIKKyAgICBNRU1PUE1FTSh2bW92ZHF1LHhtbTIsMHgwMCww
LDEsMSkKKyAgICBNRU1PUE1FTSh2bW92ZHF1LHhtbTMsMHgxMCwwLDEsMSkKKyAgICAiYWRkICAg
ICAgICAgJDB4MjAsJTAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgInN1YiAgICAgICAg
ICQweDEwLCUyICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICJqZyAgICAgICAgICAxYiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAidnplcm91cHBlciAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgIDogIityIihzcmMpLCAgIC8vICUwCisgICAgIity
Iihkc3QpLCAgIC8vICUxCisgICAgIityIih3aWR0aCkgIC8vICUyCisgIDoKKyAgOiAibWVtb3J5
IiwgImNjIiwKKyAgICAieG1tMiIsICJ4bW0zIgorICApOworfQorI2VuZGlmICAvLyBIQVNfSEFM
RkZMT0FUUk9XX0YxNkMKKwogI2lmZGVmIEhBU19BUkdCQ09MT1JUQUJMRVJPV19YODYKIC8vIFRy
YW5mb3JtIEFSR0IgcGl4ZWxzIHdpdGggY29sb3IgdGFibGUuCi12b2lkIEFSR0JDb2xvclRhYmxl
Um93X1g4Nih1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiB0YWJsZV9hcmdiLAordm9pZCBB
UkdCQ29sb3JUYWJsZVJvd19YODYodWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHRhYmxlX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKICAgdWludHB0cl90IHBpeGVsX3RlbXA7CiAgIGFzbSB2b2xhdGls
ZSAoCiAgICAgLy8gMSBwaXhlbCBsb29wLgogICAgIExBQkVMQUxJR04KLSAgIjE6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIjE6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJtb3Z6YiAgICAgIiBNRU1BQ0NF
U1MoMCkgIiwlMSAgICAgICAgICAgICBcbiIKICAgICAibGVhICAgICAgICIgTUVNTEVBKDB4NCww
KSAiLCUwICAgICAgICAgICAgXG4iCiAgICAgTUVNT1BBUkcobW92emIsMHgwMCwzLDEsNCwxKSAi
ICAgICAgICAgICAgIFxuIiAgLy8gbW92emIgKCUzLCUxLDQpLCUxCkBAIC01NDQ5LDcgKzU2MjQs
NyBAQCB2b2lkIFJHQkNvbG9yVGFibGVSb3dfWDg2KHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWlu
dDgqIHRhYmxlX2FyZ2IsIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgIC8vIDEg
cGl4ZWwgbG9vcC4KICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKICAgICAibW92emIgICAgICIgTUVNQUNDRVNTKDApICIsJTEgICAg
ICAgICAgICAgXG4iCiAgICAgImxlYSAgICAgICAiIE1FTUxFQSgweDQsMCkgIiwlMCAgICAgICAg
ICAgIFxuIgogICAgIE1FTU9QQVJHKG1vdnpiLDB4MDAsMywxLDQsMSkgIiAgICAgICAgICAgICBc
biIgIC8vIG1vdnpiICglMywlMSw0KSwlMQpAQCAtNTQ3Miw5ICs1NjQ3LDExIEBAIHZvaWQgUkdC
Q29sb3JUYWJsZVJvd19YODYodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogdGFibGVfYXJn
YiwgaW50IHdpZHRoKSB7CiAKICNpZmRlZiBIQVNfQVJHQkxVTUFDT0xPUlRBQkxFUk9XX1NTU0Uz
CiAvLyBUcmFuZm9ybSBSR0IgcGl4ZWxzIHdpdGggbHVtYSB0YWJsZS4KLXZvaWQgQVJHQkx1bWFD
b2xvclRhYmxlUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdi
LAordm9pZCBBUkdCTHVtYUNvbG9yVGFibGVSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGx1bWEsIHVpbnQzMiBsdW1hY29lZmYpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBsdW1hLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyIGx1bWFjb2VmZikgewogICB1aW50
cHRyX3QgcGl4ZWxfdGVtcDsKICAgdWludHB0cl90IHRhYmxlX3RlbXA7CiAgIGFzbSB2b2xhdGls
ZSAoCkBAIC01NDg2LDcgKzU2NjMsNyBAQCB2b2lkIEFSR0JMdW1hQ29sb3JUYWJsZVJvd19TU1NF
Myhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKIAogICAgIC8vIDQgcGl4
ZWwgbG9vcC4KICAgICBMQUJFTEFMSUdOCi0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKICAgICAibW92ZHF1ICAgICIgTUVNQUNDRVNTKDIpICIsJSV4bW0wICAg
ICAgICAgXG4iCiAgICAgInBtYWRkdWJzdyAlJXhtbTMsJSV4bW0wICAgICAgICAgICAgICAgICAg
IFxuIgogICAgICJwaGFkZHcgICAgJSV4bW0wLCUleG1tMCAgICAgICAgICAgICAgICAgICBcbiIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3NvdXJjZS9yb3dfbWlwcy5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3dfbWlwcy5jYwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMjg1ZjBiNWFkYzJhNDRiOTVlZTI1NTgzNmYzOWU0ZTI2OWM1
MGVmMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uv
cm93X21pcHMuY2MKKysrIC9kZXYvbnVsbApAQCAtMSw3ODIgKzAsMCBAQAotLyoKLSAqICBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIExpYll1diBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVz
ZXJ2ZWQuCi0gKgotICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UKLSAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGlu
dGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0gKiAgaW4gdGhl
IGZpbGUgUEFURU5UUy4gQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0gKiAg
YmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRy
ZWUuCi0gKi8KLQotI2luY2x1ZGUgImxpYnl1di9yb3cuaCIKLQotI2lmZGVmIF9fY3BsdXNwbHVz
Ci1uYW1lc3BhY2UgbGlieXV2IHsKLWV4dGVybiAiQyIgewotI2VuZGlmCi0KLS8vIFRoZSBmb2xs
b3dpbmcgYXJlIGF2YWlsYWJsZSBvbiBNaXBzIHBsYXRmb3JtczoKLSNpZiAhZGVmaW5lZChMSUJZ
VVZfRElTQUJMRV9NSVBTKSAmJiBkZWZpbmVkKF9fbWlwc19fKSAmJiBcCi0gICAgKF9NSVBTX1NJ
TSA9PSBfTUlQU19TSU1fQUJJMzIpCi0KLSNpZmRlZiBIQVNfQ09QWVJPV19NSVBTCi12b2lkIENv
cHlSb3dfTUlQUyhjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgY291bnQpIHsKLSAg
X19hc21fXyBfX3ZvbGF0aWxlX18gKAotICAgICIuc2V0ICAgICAgbm9yZW9yZGVyICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICIuc2V0ICAgICAgbm9hdCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJzbHRpICAgICAgJGF0LCAlW2NvdW50XSwgOCAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJibmUgICAgICAgJGF0ICwkemVybywgJGxhc3Q4ICAgICAgICAg
ICAgICAgIFxuIgotICAgICJ4b3IgICAgICAgJHQ4LCAlW3NyY10sICVbZHN0XSAgICAgICAgICAg
ICAgIFxuIgotICAgICJhbmRpICAgICAgJHQ4LCAkdDgsIDB4MyAgICAgICAgICAgICAgICAgICAg
IFxuIgotCi0gICAgImJuZSAgICAgICAkdDgsICR6ZXJvLCB1bmFsaWduZWQgICAgICAgICAgICAg
XG4iCi0gICAgIm5lZ3UgICAgICAkYTMsICVbZHN0XSAgICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgLy8gbWFrZSBkc3Qvc3JjIGFsaWduZWQKLSAgICAiYW5kaSAgICAgICRhMywgJGEzLCAw
eDMgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYmVxICAgICAgICRhMywgJHplcm8sICRj
aGsxNncgICAgICAgICAgICAgICBcbiIKLSAgICAvLyB3b3JkLWFsaWduZWQgbm93IGNvdW50IGlz
IHRoZSByZW1pbmluZyBieXRlcyBjb3VudAotICAgICJzdWJ1ICAgICAlW2NvdW50XSwgJVtjb3Vu
dF0sICRhMyAgICAgICAgICAgIFxuIgotCi0gICAgImx3ciAgICAgICAkdDgsIDAoJVtzcmNdKSAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImFkZHUgICAgICAlW3NyY10sICVbc3JjXSwgJGEz
ICAgICAgICAgICAgICAgXG4iCi0gICAgInN3ciAgICAgICAkdDgsIDAoJVtkc3RdKSAgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgImFkZHUgICAgICAlW2RzdF0sICVbZHN0XSwgJGEzICAgICAg
ICAgICAgICAgXG4iCi0KLSAgICAvLyBOb3cgdGhlIGRzdC9zcmMgYXJlIG11dHVhbGx5IHdvcmQt
YWxpZ25lZCB3aXRoIHdvcmQtYWxpZ25lZCBhZGRyZXNzZXMKLSAgICAiJGNoazE2dzogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYW5kaSAgICAgICR0OCwgJVtj
b3VudF0sIDB4M2YgICAgICAgICAgICAgICBcbiIgIC8vIHdob2xlIDY0LUIgY2h1bmtzPwotICAg
IC8vIHQ4IGlzIHRoZSBieXRlIGNvdW50IGFmdGVyIDY0LWJ5dGUgY2h1bmtzCi0gICAgImJlcSAg
ICAgICAlW2NvdW50XSwgJHQ4LCBjaGs4dyAgICAgICAgICAgICAgXG4iCi0gICAgLy8gVGhlcmUg
d2lsbCBiZSBhdCBtb3N0IDEgMzItYnl0ZSBjaHVuayBhZnRlciBpdAotICAgICJzdWJ1ICAgICAg
JGEzLCAlW2NvdW50XSwgJHQ4ICAgICAgICAgICAgICAgIFxuIiAgLy8gdGhlIHJlbWluZGVyCi0g
ICAgLy8gSGVyZSBhMyBjb3VudHMgYnl0ZXMgaW4gMTZ3IGNodW5rcwotICAgICJhZGR1ICAgICAg
JGEzLCAlW2RzdF0sICRhMyAgICAgICAgICAgICAgICAgIFxuIgotICAgIC8vIE5vdyBhMyBpcyB0
aGUgZmluYWwgZHN0IGFmdGVyIDY0LWJ5dGUgY2h1bmtzCi0gICAgImFkZHUgICAgICAkdDAsICVb
ZHN0XSwgJVtjb3VudF0gICAgICAgICAgICAgXG4iCi0gICAgLy8gdDAgaXMgdGhlICJwYXN0IHRo
ZSBlbmQiIGFkZHJlc3MKLQotICAgIC8vIFdoZW4gaW4gdGhlIGxvb3Agd2UgZXhlcmNpc2UgInBy
ZWYgMzAseChhMSkiLCB0aGUgYTEreCBzaG91bGQgbm90IGJlIHBhc3QKLSAgICAvLyB0aGUgInQw
LTMyIiBhZGRyZXNzCi0gICAgLy8gVGhpcyBtZWFuczogZm9yIHg9MTI4IHRoZSBsYXN0ICJzYWZl
IiBhMSBhZGRyZXNzIGlzICJ0MC0xNjAiCi0gICAgLy8gQWx0ZXJuYXRpdmVseSwgZm9yIHg9NjQg
dGhlIGxhc3QgInNhZmUiIGExIGFkZHJlc3MgaXMgInQwLTk2IgotICAgIC8vIHdlIHdpbGwgdXNl
ICJwcmVmIDMwLDEyOChhMSkiLCBzbyAidDAtMTYwIiBpcyB0aGUgbGltaXQKLSAgICAic3VidSAg
ICAgICR0OSwgJHQwLCAxNjAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAvLyB0OSBpcyB0
aGUgImxhc3Qgc2FmZSBwcmVmIDMwLDEyOChhMSkiIGFkZHJlc3MKLSAgICAicHJlZiAgICAgIDAs
IDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGZpcnN0IGxpbmUgb2Ygc3Jj
Ci0gICAgInByZWYgICAgICAwLCAzMiglW3NyY10pICAgICAgICAgICAgICAgICAgICAgXG4iICAv
LyBzZWNvbmQgbGluZSBvZiBzcmMKLSAgICAicHJlZiAgICAgIDAsIDY0KCVbc3JjXSkgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAicHJlZiAgICAgIDMwLCAzMiglW2RzdF0pICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAvLyBJbiBjYXNlIHRoZSBhMSA+IHQ5IGRvbid0IHVzZSAicHJl
ZiAzMCIgYXQgYWxsCi0gICAgInNndHUgICAgICAkdjEsICVbZHN0XSwgJHQ5ICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgImJndHogICAgICAkdjEsICRsb29wMTZ3ICAgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgIm5vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgLy8gb3RoZXJ3aXNlLCBzdGFydCB3aXRoIHVzaW5nIHByZWYzMAotICAgICJwcmVm
ICAgICAgMzAsIDY0KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICIkbG9vcDE2
dzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHJlZiAgICAg
IDAsIDk2KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibHcgICAgICAgICR0
MCwgMCglW3NyY10pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYmd0eiAgICAgICR2MSwg
JHNraXBfcHJlZjMwXzk2ICAgICAgICAgICAgICBcbiIgIC8vIHNraXAKLSAgICAibHcgICAgICAg
ICR0MSwgNCglW3NyY10pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicHJlZiAgICAgIDMw
LCA5NiglW2RzdF0pICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGNvbnRpbnVlCi0gICAgIiRz
a2lwX3ByZWYzMF85NjogICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAg
ICAgICAkdDIsIDgoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAg
ICAkdDMsIDEyKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAgICAk
dDQsIDE2KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAgICAkdDUs
IDIwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAgICAkdDYsIDI0
KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAgICAkdDcsIDI4KCVb
c3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInByZWYgICAgICAwLCAxMjgoJVtzcmNd
KSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgLy8gIGJyaW5nIHRoZSBuZXh0IGxpbmVzIG9m
IHNyYywgYWRkciAxMjgKLSAgICAic3cgICAgICAgICR0MCwgMCglW2RzdF0pICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0MSwgNCglW2RzdF0pICAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAic3cgICAgICAgICR0MiwgOCglW2RzdF0pICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAic3cgICAgICAgICR0MywgMTIoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAic3cgICAgICAgICR0NCwgMTYoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAic3cgICAgICAgICR0NSwgMjAoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAic3cgICAgICAgICR0NiwgMjQoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAi
c3cgICAgICAgICR0NywgMjgoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibHcg
ICAgICAgICR0MCwgMzIoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYmd0eiAg
ICAgICR2MSwgJHNraXBfcHJlZjMwXzEyOCAgICAgICAgICAgICBcbiIgIC8vIHNraXAgcHJlZiAz
MCwxMjgoYTEpCi0gICAgImx3ICAgICAgICAkdDEsIDM2KCVbc3JjXSkgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgInByZWYgICAgICAzMCwgMTI4KCVbZHN0XSkgICAgICAgICAgICAgICAgICAg
XG4iICAvLyBzZXQgZGVzdCwgYWRkciAxMjgKLSAgICAiJHNraXBfcHJlZjMwXzEyODogICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibHcgICAgICAgICR0MiwgNDAoJVtzcmNdKSAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAibHcgICAgICAgICR0MywgNDQoJVtzcmNdKSAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAibHcgICAgICAgICR0NCwgNDgoJVtzcmNdKSAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAibHcgICAgICAgICR0NSwgNTIoJVtzcmNdKSAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAibHcgICAgICAgICR0NiwgNTYoJVtzcmNdKSAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAibHcgICAgICAgICR0NywgNjAoJVtzcmNdKSAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAicHJlZiAgICAgIDAsIDE2MCglW3NyY10pICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAvLyBicmluZyB0aGUgbmV4dCBsaW5lcyBvZiBzcmMsIGFkZHIgMTYwCi0gICAgInN3
ICAgICAgICAkdDAsIDMyKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN3ICAg
ICAgICAkdDEsIDM2KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN3ICAgICAg
ICAkdDIsIDQwKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN3ICAgICAgICAk
dDMsIDQ0KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN3ICAgICAgICAkdDQs
IDQ4KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN3ICAgICAgICAkdDUsIDUy
KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN3ICAgICAgICAkdDYsIDU2KCVb
ZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN3ICAgICAgICAkdDcsIDYwKCVbZHN0
XSkgICAgICAgICAgICAgICAgICAgXG4iCi0KLSAgICAiYWRkaXUgICAgICVbZHN0XSwgJVtkc3Rd
LCA2NCAgICAgICAgICAgICAgICBcbiIgIC8vIGFkZGluZyA2NCB0byBkZXN0Ci0gICAgInNndHUg
ICAgICAkdjEsICVbZHN0XSwgJHQ5ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImJuZSAgICAg
ICAlW2RzdF0sICRhMywgJGxvb3AxNncgICAgICAgICAgICAgXG4iCi0gICAgIiBhZGRpdSAgICAl
W3NyY10sICVbc3JjXSwgNjQgICAgICAgICAgICAgICAgXG4iICAvLyBhZGRpbmcgNjQgdG8gc3Jj
Ci0gICAgIm1vdmUgICAgICAlW2NvdW50XSwgJHQ4ICAgICAgICAgICAgICAgICAgICAgXG4iCi0K
LSAgICAvLyBIZXJlIHdlIGhhdmUgc3JjIGFuZCBkZXN0IHdvcmQtYWxpZ25lZCBidXQgbGVzcyB0
aGFuIDY0LWJ5dGVzIHRvIGdvCi0KLSAgICAiY2hrOHc6ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAicHJlZiAgICAgIDAsIDB4MCglW3NyY10pICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAiYW5kaSAgICAgICR0OCwgJVtjb3VudF0sIDB4MWYgICAgICAg
ICAgICAgICBcbiIgIC8vIDMyLWJ5dGUgY2h1bms/Ci0gICAgLy8gdGhlIHQ4IGlzIHRoZSByZW1p
bmRlciBjb3VudCBwYXN0IDMyLWJ5dGVzCi0gICAgImJlcSAgICAgICAlW2NvdW50XSwgJHQ4LCBj
aGsxdyAgICAgICAgICAgICAgXG4iCi0gICAgLy8gY291bnQ9dDgsbm8gMzItYnl0ZSBjaHVuawot
ICAgICIgbm9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0g
ICAgImx3ICAgICAgICAkdDAsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
Imx3ICAgICAgICAkdDEsIDQoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3
ICAgICAgICAkdDIsIDgoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAg
ICAgICAkdDMsIDEyKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAg
ICAkdDQsIDE2KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAgICAk
dDUsIDIwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAgICAkdDYs
IDI0KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAgICAkdDcsIDI4
KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImFkZGl1ICAgICAlW3NyY10sICVb
c3JjXSwgMzIgICAgICAgICAgICAgICAgXG4iCi0KLSAgICAic3cgICAgICAgICR0MCwgMCglW2Rz
dF0pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0MSwgNCglW2RzdF0p
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0MiwgOCglW2RzdF0pICAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0MywgMTIoJVtkc3RdKSAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0NCwgMTYoJVtkc3RdKSAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0NSwgMjAoJVtkc3RdKSAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0NiwgMjQoJVtkc3RdKSAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAic3cgICAgICAgICR0NywgMjgoJVtkc3RdKSAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAiYWRkaXUgICAgICVbZHN0XSwgJVtkc3RdLCAzMiAgICAgICAgICAgICAgICBc
biIKLQotICAgICJjaGsxdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJhbmRpICAgICAgJVtjb3VudF0sICR0OCwgMHgzICAgICAgICAgICAgICAgIFxuIgot
ICAgIC8vIG5vdyBjb3VudCBpcyB0aGUgcmVtaW5kZXIgcGFzdCAxdyBjaHVua3MKLSAgICAiYmVx
ICAgICAgICVbY291bnRdLCAkdDgsICRsYXN0OCAgICAgICAgICAgICBcbiIKLSAgICAiIHN1YnUg
ICAgICRhMywgJHQ4LCAlW2NvdW50XSAgICAgICAgICAgICAgICBcbiIKLSAgICAvLyBhMyBpcyBj
b3VudCBvZiBieXRlcyBpbiAxdyBjaHVua3MKLSAgICAiYWRkdSAgICAgICRhMywgJVtkc3RdLCAk
YTMgICAgICAgICAgICAgICAgICBcbiIKLSAgICAvLyBub3cgYTMgaXMgdGhlIGRzdCBhZGRyZXNz
IHBhc3QgdGhlIDF3IGNodW5rcwotICAgIC8vIGNvcHlpbmcgaW4gd29yZHMgKDQtYnl0ZSBjaHVu
a3MpCi0gICAgIiR3b3JkQ29weV9sb29wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgImx3ICAgICAgICAkdDMsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgLy8gdGhlIGZpcnN0IHQzIG1heSBiZSBlcXVhbCB0MCAuLi4gb3B0aW1pemU/Ci0gICAgImFk
ZGl1ICAgICAlW3NyY10sICVbc3JjXSw0ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImFkZGl1
ICAgICAlW2RzdF0sICVbZHN0XSw0ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImJuZSAgICAg
ICAlW2RzdF0sICRhMywkd29yZENvcHlfbG9vcCAgICAgICAgXG4iCi0gICAgIiBzdyAgICAgICAk
dDMsIC00KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgXG4iCi0KLSAgICAvLyBGb3IgdGhlIGxh
c3QgKDw4KSBieXRlcwotICAgICIkbGFzdDg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJibGV6ICAgICAgJVtjb3VudF0sIGxlYXZlICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICIgYWRkdSAgICAgJGEzLCAlW2RzdF0sICVbY291bnRdICAgICAgICAgICAg
IFxuIiAgLy8gYTMgLWxhc3QgZHN0IGFkZHJlc3MKLSAgICAiJGxhc3Q4bG9vcDogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGIgICAgICAgICR2MSwgMCglW3NyY10p
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYWRkaXUgICAgICVbc3JjXSwgJVtzcmNdLCAx
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYWRkaXUgICAgICVbZHN0XSwgJVtkc3RdLCAxICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAiYm5lICAgICAgICVbZHN0XSwgJGEzLCAkbGFzdDhsb29w
ICAgICAgICAgICBcbiIKLSAgICAiIHNiICAgICAgICR2MSwgLTEoJVtkc3RdKSAgICAgICAgICAg
ICAgICAgICBcbiIKLQotICAgICJsZWF2ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICIgIGogICAgICAgJHJhICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICIgIG5vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgotCi0gICAgLy8KLSAgICAvLyBVTkFMSUdORUQgY2FzZQotICAgIC8vCi0KLSAgICAidW5h
bGlnbmVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAvLyBnb3Qg
aGVyZSB3aXRoIGEzPSJuZWd1IGExIgotICAgICJhbmRpICAgICAgJGEzLCAkYTMsIDB4MyAgICAg
ICAgICAgICAgICAgICAgIFxuIiAgLy8gYTEgaXMgd29yZCBhbGlnbmVkPwotICAgICJiZXF6ICAg
ICAgJGEzLCAkdWFfY2hrMTZ3ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICIgc3VidSAgICAg
JVtjb3VudF0sICVbY291bnRdLCAkYTMgICAgICAgICAgIFxuIgotICAgIC8vIGJ5dGVzIGxlZnQg
YWZ0ZXIgaW5pdGlhbCBhMyBieXRlcwotICAgICJsd3IgICAgICAgJHYxLCAwKCVbc3JjXSkgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJsd2wgICAgICAgJHYxLCAzKCVbc3JjXSkgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJhZGR1ICAgICAgJVtzcmNdLCAlW3NyY10sICRhMyAgICAg
ICAgICAgICAgIFxuIiAgLy8gYTMgbWF5IGJlIDEsIDIgb3IgMwotICAgICJzd3IgICAgICAgJHYx
LCAwKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJhZGR1ICAgICAgJVtkc3Rd
LCAlW2RzdF0sICRhMyAgICAgICAgICAgICAgIFxuIgotICAgIC8vIGJlbG93IHRoZSBkc3Qgd2ls
bCBiZSB3b3JkIGFsaWduZWQgKE5PVEUxKQotICAgICIkdWFfY2hrMTZ3OiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJhbmRpICAgICAgJHQ4LCAlW2NvdW50XSwgMHgz
ZiAgICAgICAgICAgICAgIFxuIiAgLy8gd2hvbGUgNjQtQiBjaHVua3M/Ci0gICAgLy8gdDggaXMg
dGhlIGJ5dGUgY291bnQgYWZ0ZXIgNjQtYnl0ZSBjaHVua3MKLSAgICAiYmVxICAgICAgICVbY291
bnRdLCAkdDgsIHVhX2Noazh3ICAgICAgICAgICBcbiIKLSAgICAvLyBpZiBhMj09dDgsIG5vIDY0
LWJ5dGUgY2h1bmtzCi0gICAgLy8gVGhlcmUgd2lsbCBiZSBhdCBtb3N0IDEgMzItYnl0ZSBjaHVu
ayBhZnRlciBpdAotICAgICJzdWJ1ICAgICAgJGEzLCAlW2NvdW50XSwgJHQ4ICAgICAgICAgICAg
ICAgIFxuIiAgLy8gdGhlIHJlbWluZGVyCi0gICAgLy8gSGVyZSBhMyBjb3VudHMgYnl0ZXMgaW4g
MTZ3IGNodW5rcwotICAgICJhZGR1ICAgICAgJGEzLCAlW2RzdF0sICRhMyAgICAgICAgICAgICAg
ICAgIFxuIgotICAgIC8vIE5vdyBhMyBpcyB0aGUgZmluYWwgZHN0IGFmdGVyIDY0LWJ5dGUgY2h1
bmtzCi0gICAgImFkZHUgICAgICAkdDAsICVbZHN0XSwgJVtjb3VudF0gICAgICAgICAgICAgXG4i
ICAvLyB0MCAicGFzdCB0aGUgZW5kIgotICAgICJzdWJ1ICAgICAgJHQ5LCAkdDAsIDE2MCAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgIC8vIHQ5IGlzIHRoZSAibGFzdCBzYWZlIHByZWYgMzAs
MTI4KGExKSIgYWRkcmVzcwotICAgICJwcmVmICAgICAgMCwgMCglW3NyY10pICAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgLy8gZmlyc3QgbGluZSBvZiBzcmMKLSAgICAicHJlZiAgICAgIDAsIDMy
KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHNlY29uZCBsaW5lICBhZGRyIDMy
Ci0gICAgInByZWYgICAgICAwLCA2NCglW3NyY10pICAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgInByZWYgICAgICAzMCwgMzIoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
Ly8gc2FmZSwgYXMgd2UgaGF2ZSBhdCBsZWFzdCA2NCBieXRlcyBhaGVhZAotICAgIC8vIEluIGNh
c2UgdGhlIGExID4gdDkgZG9uJ3QgdXNlICJwcmVmIDMwIiBhdCBhbGwKLSAgICAic2d0dSAgICAg
ICR2MSwgJVtkc3RdLCAkdDkgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYmd0eiAgICAgICR2
MSwgJHVhX2xvb3AxNncgICAgICAgICAgICAgICAgICBcbiIKLSAgICAvLyBza2lwICJwcmVmIDMw
LDY0KGExKSIgZm9yIHRvbyBzaG9ydCBhcnJheXMKLSAgICAiIG5vcCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAvLyBvdGhlcndpc2UsIHN0YXJ0IHdpdGgg
dXNpbmcgcHJlZjMwCi0gICAgInByZWYgICAgICAzMCwgNjQoJVtkc3RdKSAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgIiR1YV9sb29wMTZ3OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgInByZWYgICAgICAwLCA5NiglW3NyY10pICAgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgImx3ciAgICAgICAkdDAsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgImx3bCAgICAgICAkdDAsIDMoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgImx3ciAgICAgICAkdDEsIDQoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
ImJndHogICAgICAkdjEsICR1YV9za2lwX3ByZWYzMF85NiAgICAgICAgICAgXG4iCi0gICAgIiBs
d2wgICAgICAkdDEsIDcoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInByZWYg
ICAgICAzMCwgOTYoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgLy8gY29udGlu
dWUgc2V0dGluZyB1cCB0aGUgZGVzdCwgYWRkciA5NgotICAgICIkdWFfc2tpcF9wcmVmMzBfOTY6
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsd3IgICAgICAgJHQyLCA4KCVbc3Jj
XSkgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsd2wgICAgICAgJHQyLCAxMSglW3NyY10p
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsd3IgICAgICAgJHQzLCAxMiglW3NyY10pICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJsd2wgICAgICAgJHQzLCAxNSglW3NyY10pICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJsd3IgICAgICAgJHQ0LCAxNiglW3NyY10pICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJsd2wgICAgICAgJHQ0LCAxOSglW3NyY10pICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJsd3IgICAgICAgJHQ1LCAyMCglW3NyY10pICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICJsd2wgICAgICAgJHQ1LCAyMyglW3NyY10pICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJsd3IgICAgICAgJHQ2LCAyNCglW3NyY10pICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJsd2wgICAgICAgJHQ2LCAyNyglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJsd3IgICAgICAgJHQ3LCAyOCglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJsd2wgICAgICAgJHQ3LCAzMSglW3NyY10pICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJw
cmVmICAgICAgMCwgMTI4KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgIFxuIgotICAgIC8vIGJy
aW5nIHRoZSBuZXh0IGxpbmVzIG9mIHNyYywgYWRkciAxMjgKLSAgICAic3cgICAgICAgICR0MCwg
MCglW2RzdF0pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0MSwgNCgl
W2RzdF0pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0MiwgOCglW2Rz
dF0pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0MywgMTIoJVtkc3Rd
KSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0NCwgMTYoJVtkc3RdKSAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0NSwgMjAoJVtkc3RdKSAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0NiwgMjQoJVtkc3RdKSAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0NywgMjgoJVtkc3RdKSAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAibHdyICAgICAgICR0MCwgMzIoJVtzcmNdKSAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAibHdsICAgICAgICR0MCwgMzUoJVtzcmNdKSAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAibHdyICAgICAgICR0MSwgMzYoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAiYmd0eiAgICAgICR2MSwgdWFfc2tpcF9wcmVmMzBfMTI4ICAgICAgICAgICBcbiIK
LSAgICAiIGx3bCAgICAgICR0MSwgMzkoJVtzcmNdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAicHJlZiAgICAgIDMwLCAxMjgoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAv
LyBjb250aW51ZSBzZXR0aW5nIHVwIHRoZSBkZXN0LCBhZGRyIDEyOAotICAgICJ1YV9za2lwX3By
ZWYzMF8xMjg6ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAgImx3ciAgICAgICAk
dDIsIDQwKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDIs
IDQzKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDMsIDQ0
KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDMsIDQ3KCVb
c3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDQsIDQ4KCVbc3Jj
XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDQsIDUxKCVbc3JjXSkg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDUsIDUyKCVbc3JjXSkgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDUsIDU1KCVbc3JjXSkgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDYsIDU2KCVbc3JjXSkgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDYsIDU5KCVbc3JjXSkgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDcsIDYwKCVbc3JjXSkgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgImx3bCAgICAgICAkdDcsIDYzKCVbc3JjXSkgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgInByZWYgICAgICAwLCAxNjAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgLy8gYnJpbmcgdGhlIG5leHQgbGluZXMgb2Ygc3JjLCBhZGRyIDE2MAotICAgICJzdyAg
ICAgICAgJHQwLCAzMiglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdyAgICAg
ICAgJHQxLCAzNiglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdyAgICAgICAg
JHQyLCA0MCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdyAgICAgICAgJHQz
LCA0NCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdyAgICAgICAgJHQ0LCA0
OCglW2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdyAgICAgICAgJHQ1LCA1Migl
W2RzdF0pICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdyAgICAgICAgJHQ2LCA1NiglW2Rz
dF0pICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdyAgICAgICAgJHQ3LCA2MCglW2RzdF0p
ICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAgImFkZGl1ICAgICAlW2RzdF0sJVtkc3RdLDY0
ICAgICAgICAgICAgICAgICAgXG4iICAvLyBhZGRpbmcgNjQgdG8gZGVzdAotICAgICJzZ3R1ICAg
ICAgJHYxLCVbZHN0XSwkdDkgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJibmUgICAgICAg
JVtkc3RdLCRhMywkdWFfbG9vcDE2dyAgICAgICAgICAgIFxuIgotICAgICIgYWRkaXUgICAgJVtz
cmNdLCVbc3JjXSw2NCAgICAgICAgICAgICAgICAgIFxuIiAgLy8gYWRkaW5nIDY0IHRvIHNyYwot
ICAgICJtb3ZlICAgICAgJVtjb3VudF0sJHQ4ICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0g
ICAgLy8gSGVyZSB3ZSBoYXZlIHNyYyBhbmQgZGVzdCB3b3JkLWFsaWduZWQgYnV0IGxlc3MgdGhh
biA2NC1ieXRlcyB0byBnbwotCi0gICAgInVhX2Noazh3OiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgInByZWYgICAgICAwLCAweDAoJVtzcmNdKSAgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgImFuZGkgICAgICAkdDgsICVbY291bnRdLCAweDFmICAgICAgICAg
ICAgICAgXG4iICAvLyAzMi1ieXRlIGNodW5rPwotICAgIC8vIHRoZSB0OCBpcyB0aGUgcmVtaW5k
ZXIgY291bnQKLSAgICAiYmVxICAgICAgICVbY291bnRdLCAkdDgsICR1YV9jaGsxdyAgICAgICAg
ICBcbiIKLSAgICAvLyB3aGVuIGNvdW50PT10OCwgbm8gMzItYnl0ZSBjaHVuawotCi0gICAgImx3
ciAgICAgICAkdDAsIDAoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3bCAg
ICAgICAkdDAsIDMoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAg
ICAkdDEsIDQoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAk
dDEsIDcoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDIs
IDgoJVtzcmNdKSAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDIsIDEx
KCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDMsIDEyKCVb
c3JjXSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDMsIDE1KCVbc3Jj
XSkgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDQsIDE2KCVbc3JjXSkg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDQsIDE5KCVbc3JjXSkgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDUsIDIwKCVbc3JjXSkgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDUsIDIzKCVbc3JjXSkgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAkdDYsIDI0KCVbc3JjXSkgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgImx3bCAgICAgICAkdDYsIDI3KCVbc3JjXSkgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgImx3ciAgICAgICAkdDcsIDI4KCVbc3JjXSkgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgImx3bCAgICAgICAkdDcsIDMxKCVbc3JjXSkgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgImFkZGl1ICAgICAlW3NyY10sICVbc3JjXSwgMzIgICAgICAgICAgICAgICAgXG4iCi0K
LSAgICAic3cgICAgICAgICR0MCwgMCglW2RzdF0pICAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAic3cgICAgICAgICR0MSwgNCglW2RzdF0pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAi
c3cgICAgICAgICR0MiwgOCglW2RzdF0pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cg
ICAgICAgICR0MywgMTIoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAg
ICAgICR0NCwgMTYoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAg
ICR0NSwgMjAoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0
NiwgMjQoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICR0Nywg
MjgoJVtkc3RdKSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYWRkaXUgICAgICVbZHN0XSwg
JVtkc3RdLCAzMiAgICAgICAgICAgICAgICBcbiIKLQotICAgICIkdWFfY2hrMXc6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJhbmRpICAgICAgJVtjb3VudF0sICR0
OCwgMHgzICAgICAgICAgICAgICAgIFxuIgotICAgIC8vIG5vdyBjb3VudCBpcyB0aGUgcmVtaW5k
ZXIgcGFzdCAxdyBjaHVua3MKLSAgICAiYmVxICAgICAgICVbY291bnRdLCAkdDgsIHVhX3NtYWxs
Q29weSAgICAgICBcbiIKLSAgICAic3VidSAgICAgICRhMywgJHQ4LCAlW2NvdW50XSAgICAgICAg
ICAgICAgICBcbiIKLSAgICAvLyBhMyBpcyBjb3VudCBvZiBieXRlcyBpbiAxdyBjaHVua3MKLSAg
ICAiYWRkdSAgICAgICRhMywgJVtkc3RdLCAkYTMgICAgICAgICAgICAgICAgICBcbiIKLSAgICAv
LyBub3cgYTMgaXMgdGhlIGRzdCBhZGRyZXNzIHBhc3QgdGhlIDF3IGNodW5rcwotCi0gICAgLy8g
Y29weWluZyBpbiB3b3JkcyAoNC1ieXRlIGNodW5rcykKLSAgICAiJHVhX3dvcmRDb3B5X2xvb3A6
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibHdyICAgICAgICR2MSwgMCglW3Ny
Y10pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibHdsICAgICAgICR2MSwgMyglW3NyY10p
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYWRkaXUgICAgICVbc3JjXSwgJVtzcmNdLCA0
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYWRkaXUgICAgICVbZHN0XSwgJVtkc3RdLCA0ICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAvLyBub3RlOiBkc3Q9YTEgaXMgd29yZCBhbGlnbmVkIGhl
cmUsIHNlZSBOT1RFMQotICAgICJibmUgICAgICAgJVtkc3RdLCAkYTMsICR1YV93b3JkQ29weV9s
b29wICAgIFxuIgotICAgICIgc3cgICAgICAgJHYxLC00KCVbZHN0XSkgICAgICAgICAgICAgICAg
ICAgIFxuIgotCi0gICAgLy8gTm93IGxlc3MgdGhhbiA0IGJ5dGVzICh2YWx1ZSBpbiBjb3VudCkg
bGVmdCB0byBjb3B5Ci0gICAgInVhX3NtYWxsQ29weTogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgImJlcXogICAgICAlW2NvdW50XSwgbGVhdmUgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgIiBhZGR1ICAgICAkYTMsICVbZHN0XSwgJVtjb3VudF0gICAgICAgICAgICAg
XG4iIC8vIGEzID0gbGFzdCBkc3QgYWRkcmVzcwotICAgICIkdWFfc21hbGxDb3B5X2xvb3A6ICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsYiAgICAgICAgJHYxLCAwKCVbc3JjXSkg
ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJhZGRpdSAgICAgJVtzcmNdLCAlW3NyY10sIDEg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJhZGRpdSAgICAgJVtkc3RdLCAlW2RzdF0sIDEgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJibmUgICAgICAgJVtkc3RdLCRhMywkdWFfc21hbGxDb3B5
X2xvb3AgICAgIFxuIgotICAgICIgc2IgICAgICAgJHYxLCAtMSglW2RzdF0pICAgICAgICAgICAg
ICAgICAgIFxuIgotCi0gICAgImogICAgICAgICAkcmEgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgIiBub3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgIi5zZXQgICAgICBhdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgIi5zZXQgICAgICByZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgICAgOiBbZHN0XSAiK3IiIChkc3QpLCBbc3JjXSAiK3IiIChzcmMpCi0gICAgICAgOiBb
Y291bnRdICJyIiAoY291bnQpCi0gICAgICAgOiAidDAiLCAidDEiLCAidDIiLCAidDMiLCAidDQi
LCAidDUiLCAidDYiLCAidDciLAotICAgICAgICJ0OCIsICJ0OSIsICJhMyIsICJ2MSIsICJhdCIK
LSAgKTsKLX0KLSNlbmRpZiAgLy8gSEFTX0NPUFlST1dfTUlQUwotCi0vLyBEU1BSMiBmdW5jdGlv
bnMKLSNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJMRV9NSVBTKSAmJiBkZWZpbmVkKF9fbWlwc19k
c3ApICYmIFwKLSAgICAoX19taXBzX2RzcF9yZXYgPj0gMikgJiYgXAotICAgIChfTUlQU19TSU0g
PT0gX01JUFNfU0lNX0FCSTMyKSAmJiAoX19taXBzX2lzYV9yZXYgPCA2KQotCi12b2lkIFNwbGl0
VVZSb3dfRFNQUjIoY29uc3QgdWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0
X3YsCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7Ci0gIF9fYXNtX18gX192b2xh
dGlsZV9fICgKLSAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgInNybCAgICAgICAgICAgICAkdDQsICVbd2lkdGhdLCA0ICAgICAgICAgICAg
ICBcbiIgIC8vIG11bHRpcGxpZXMgb2YgMTYKLSAgICAiYmxleiAgICAgICAgICAgICR0NCwgMmYg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICIgYW5kaSAgICAgICAgICAgJVt3aWR0aF0s
ICVbd2lkdGhdLCAweGYgICAgICAgXG4iICAvLyByZXNpZHVhbAotCi0gICIxOiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYWRkaXUgICAgICAg
ICAgICR0NCwgJHQ0LCAtMSAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsdyAgICAgICAgICAg
ICAgJHQwLCAwKCVbc3JjX3V2XSkgICAgICAgICAgICAgXG4iICAvLyBWMSB8IFUxIHwgVjAgfCBV
MAotICAgICJsdyAgICAgICAgICAgICAgJHQxLCA0KCVbc3JjX3V2XSkgICAgICAgICAgICAgXG4i
ICAvLyBWMyB8IFUzIHwgVjIgfCBVMgotICAgICJsdyAgICAgICAgICAgICAgJHQyLCA4KCVbc3Jj
X3V2XSkgICAgICAgICAgICAgXG4iICAvLyBWNSB8IFU1IHwgVjQgfCBVNAotICAgICJsdyAgICAg
ICAgICAgICAgJHQzLCAxMiglW3NyY191dl0pICAgICAgICAgICAgXG4iICAvLyBWNyB8IFU3IHwg
VjYgfCBVNgotICAgICJsdyAgICAgICAgICAgICAgJHQ1LCAxNiglW3NyY191dl0pICAgICAgICAg
ICAgXG4iICAvLyBWOSB8IFU5IHwgVjggfCBVOAotICAgICJsdyAgICAgICAgICAgICAgJHQ2LCAy
MCglW3NyY191dl0pICAgICAgICAgICAgXG4iICAvLyBWMTEgfCBVMTEgfCBWMTAgfCBVMTAKLSAg
ICAibHcgICAgICAgICAgICAgICR0NywgMjQoJVtzcmNfdXZdKSAgICAgICAgICAgIFxuIiAgLy8g
VjEzIHwgVTEzIHwgVjEyIHwgVTEyCi0gICAgImx3ICAgICAgICAgICAgICAkdDgsIDI4KCVbc3Jj
X3V2XSkgICAgICAgICAgICBcbiIgIC8vIFYxNSB8IFUxNSB8IFYxNCB8IFUxNAotICAgICJhZGRp
dSAgICAgICAgICAgJVtzcmNfdXZdLCAlW3NyY191dl0sIDMyICAgICAgXG4iCi0gICAgInByZWNy
cS5xYi5waCAgICAkdDksICR0MSwgJHQwICAgICAgICAgICAgICAgICBcbiIgIC8vIFYzIHwgVjIg
fCBWMSB8IFYwCi0gICAgInByZWNyLnFiLnBoICAgICAkdDAsICR0MSwgJHQwICAgICAgICAgICAg
ICAgICBcbiIgIC8vIFUzIHwgVTIgfCBVMSB8IFUwCi0gICAgInByZWNycS5xYi5waCAgICAkdDEs
ICR0MywgJHQyICAgICAgICAgICAgICAgICBcbiIgIC8vIFY3IHwgVjYgfCBWNSB8IFY0Ci0gICAg
InByZWNyLnFiLnBoICAgICAkdDIsICR0MywgJHQyICAgICAgICAgICAgICAgICBcbiIgIC8vIFU3
IHwgVTYgfCBVNSB8IFU0Ci0gICAgInByZWNycS5xYi5waCAgICAkdDMsICR0NiwgJHQ1ICAgICAg
ICAgICAgICAgICBcbiIgIC8vIFYxMSB8IFYxMCB8IFY5IHwgVjgKLSAgICAicHJlY3IucWIucGgg
ICAgICR0NSwgJHQ2LCAkdDUgICAgICAgICAgICAgICAgIFxuIiAgLy8gVTExIHwgVTEwIHwgVTkg
fCBVOAotICAgICJwcmVjcnEucWIucGggICAgJHQ2LCAkdDgsICR0NyAgICAgICAgICAgICAgICAg
XG4iICAvLyBWMTUgfCBWMTQgfCBWMTMgfCBWMTIKLSAgICAicHJlY3IucWIucGggICAgICR0Nywg
JHQ4LCAkdDcgICAgICAgICAgICAgICAgIFxuIiAgLy8gVTE1IHwgVTE0IHwgVTEzIHwgVTEyCi0g
ICAgInN3ICAgICAgICAgICAgICAkdDksIDAoJVtkc3Rfdl0pICAgICAgICAgICAgICBcbiIKLSAg
ICAic3cgICAgICAgICAgICAgICR0MCwgMCglW2RzdF91XSkgICAgICAgICAgICAgIFxuIgotICAg
ICJzdyAgICAgICAgICAgICAgJHQxLCA0KCVbZHN0X3ZdKSAgICAgICAgICAgICAgXG4iCi0gICAg
InN3ICAgICAgICAgICAgICAkdDIsIDQoJVtkc3RfdV0pICAgICAgICAgICAgICBcbiIKLSAgICAi
c3cgICAgICAgICAgICAgICR0MywgOCglW2RzdF92XSkgICAgICAgICAgICAgIFxuIgotICAgICJz
dyAgICAgICAgICAgICAgJHQ1LCA4KCVbZHN0X3VdKSAgICAgICAgICAgICAgXG4iCi0gICAgInN3
ICAgICAgICAgICAgICAkdDYsIDEyKCVbZHN0X3ZdKSAgICAgICAgICAgICBcbiIKLSAgICAic3cg
ICAgICAgICAgICAgICR0NywgMTIoJVtkc3RfdV0pICAgICAgICAgICAgIFxuIgotICAgICJhZGRp
dSAgICAgICAgICAgJVtkc3Rfdl0sICVbZHN0X3ZdLCAxNiAgICAgICAgXG4iCi0gICAgImJndHog
ICAgICAgICAgICAkdDQsIDFiICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiIGFkZGl1
ICAgICAgICAgICVbZHN0X3VdLCAlW2RzdF91XSwgMTYgICAgICAgIFxuIgotCi0gICAgImJlcXog
ICAgICAgICAgICAlW3dpZHRoXSwgM2YgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiIG5vcCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICIyOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibGJ1ICAg
ICAgICAgICAgICR0MCwgMCglW3NyY191dl0pICAgICAgICAgICAgIFxuIgotICAgICJsYnUgICAg
ICAgICAgICAgJHQxLCAxKCVbc3JjX3V2XSkgICAgICAgICAgICAgXG4iCi0gICAgImFkZGl1ICAg
ICAgICAgICAlW3NyY191dl0sICVbc3JjX3V2XSwgMiAgICAgICBcbiIKLSAgICAiYWRkaXUgICAg
ICAgICAgICVbd2lkdGhdLCAlW3dpZHRoXSwgLTEgICAgICAgIFxuIgotICAgICJzYiAgICAgICAg
ICAgICAgJHQwLCAwKCVbZHN0X3VdKSAgICAgICAgICAgICAgXG4iCi0gICAgInNiICAgICAgICAg
ICAgICAkdDEsIDAoJVtkc3Rfdl0pICAgICAgICAgICAgICBcbiIKLSAgICAiYWRkaXUgICAgICAg
ICAgICVbZHN0X3VdLCAlW2RzdF91XSwgMSAgICAgICAgIFxuIgotICAgICJiZ3R6ICAgICAgICAg
ICAgJVt3aWR0aF0sIDJiICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIiBhZGRpdSAgICAgICAg
ICAlW2RzdF92XSwgJVtkc3Rfdl0sIDEgICAgICAgICBcbiIKLQotICAiMzogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIi5zZXQgcG9wICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgOiBbc3JjX3V2XSAiK3Ii
IChzcmNfdXYpLAotICAgICAgIFt3aWR0aF0gIityIiAod2lkdGgpLAotICAgICAgIFtkc3RfdV0g
IityIiAoZHN0X3UpLAotICAgICAgIFtkc3Rfdl0gIityIiAoZHN0X3YpCi0gICAgIDoKLSAgICAg
OiAidDAiLCAidDEiLCAidDIiLCAidDMiLAotICAgICAidDQiLCAidDUiLCAidDYiLCAidDciLCAi
dDgiLCAidDkiCi0gICk7Ci19Ci0KLXZvaWQgTWlycm9yUm93X0RTUFIyKGNvbnN0IHVpbnQ4KiBz
cmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgewotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCi0g
ICAgIi5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIi5zZXQg
bm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0KLSAgICAic3JsICAgICAgICR0
NCwgJVt3aWR0aF0sIDQgICAgICAgICAgICBcbiIgIC8vIG11bHRpcGxpZXMgb2YgMTYKLSAgICAi
YW5kaSAgICAgICR0NSwgJVt3aWR0aF0sIDB4ZiAgICAgICAgICBcbiIKLSAgICAiYmxleiAgICAg
ICR0NCwgMmYgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiIGFkZHUgICAgICVbc3JjXSwg
JVtzcmNdLCAlW3dpZHRoXSAgICBcbiIgIC8vIHNyYyArPSB3aWR0aAotCi0gICAiMTogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImx3ICAgICAgICAkdDAsIC0x
NiglW3NyY10pICAgICAgICAgICAgXG4iICAvLyB8M3wyfDF8MHwKLSAgICAibHcgICAgICAgICR0
MSwgLTEyKCVbc3JjXSkgICAgICAgICAgICBcbiIgIC8vIHw3fDZ8NXw0fAotICAgICJsdyAgICAg
ICAgJHQyLCAtOCglW3NyY10pICAgICAgICAgICAgIFxuIiAgLy8gfDExfDEwfDl8OHwKLSAgICAi
bHcgICAgICAgICR0MywgLTQoJVtzcmNdKSAgICAgICAgICAgICBcbiIgIC8vIHwxNXwxNHwxM3wx
MnwKLSAgICAid3NiaCAgICAgICR0MCwgJHQwICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwy
fDN8MHwxfAotICAgICJ3c2JoICAgICAgJHQxLCAkdDEgICAgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gfDZ8N3w0fDV8Ci0gICAgIndzYmggICAgICAkdDIsICR0MiAgICAgICAgICAgICAgICAgICAg
XG4iICAvLyB8MTB8MTF8OHw5fAotICAgICJ3c2JoICAgICAgJHQzLCAkdDMgICAgICAgICAgICAg
ICAgICAgIFxuIiAgLy8gfDE0fDE1fDEyfDEzfAotICAgICJyb3RyICAgICAgJHQwLCAkdDAsIDE2
ICAgICAgICAgICAgICAgIFxuIiAgLy8gfDB8MXwyfDN8Ci0gICAgInJvdHIgICAgICAkdDEsICR0
MSwgMTYgICAgICAgICAgICAgICAgXG4iICAvLyB8NHw1fDZ8N3wKLSAgICAicm90ciAgICAgICR0
MiwgJHQyLCAxNiAgICAgICAgICAgICAgICBcbiIgIC8vIHw4fDl8MTB8MTF8Ci0gICAgInJvdHIg
ICAgICAkdDMsICR0MywgMTYgICAgICAgICAgICAgICAgXG4iICAvLyB8MTJ8MTN8MTR8MTV8Ci0g
ICAgImFkZGl1ICAgICAlW3NyY10sICVbc3JjXSwgLTE2ICAgICAgICAgXG4iCi0gICAgImFkZGl1
ICAgICAkdDQsICR0NCwgLTEgICAgICAgICAgICAgICAgXG4iCi0gICAgInN3ICAgICAgICAkdDMs
IDAoJVtkc3RdKSAgICAgICAgICAgICAgXG4iICAvLyB8MTV8MTR8MTN8MTJ8Ci0gICAgInN3ICAg
ICAgICAkdDIsIDQoJVtkc3RdKSAgICAgICAgICAgICAgXG4iICAvLyB8MTF8MTB8OXw4fAotICAg
ICJzdyAgICAgICAgJHQxLCA4KCVbZHN0XSkgICAgICAgICAgICAgIFxuIiAgLy8gfDd8Nnw1fDR8
Ci0gICAgInN3ICAgICAgICAkdDAsIDEyKCVbZHN0XSkgICAgICAgICAgICAgXG4iICAvLyB8M3wy
fDF8MHwKLSAgICAiYmd0eiAgICAgICR0NCwgMWIgICAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAiIGFkZGl1ICAgICVbZHN0XSwgJVtkc3RdLCAxNiAgICAgICAgICBcbiIKLSAgICAiYmVxeiAg
ICAgICR0NSwgM2YgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiIG5vcCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLQotICAgIjI6ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJsYnUgICAgICAgJHQwLCAtMSglW3NyY10pICAgICAg
ICAgICAgIFxuIgotICAgICJhZGRpdSAgICAgJHQ1LCAkdDUsIC0xICAgICAgICAgICAgICAgIFxu
IgotICAgICJhZGRpdSAgICAgJVtzcmNdLCAlW3NyY10sIC0xICAgICAgICAgIFxuIgotICAgICJz
YiAgICAgICAgJHQwLCAwKCVbZHN0XSkgICAgICAgICAgICAgIFxuIgotICAgICJiZ2V6ICAgICAg
JHQ1LCAyYiAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICIgYWRkaXUgICAgJVtkc3RdLCAl
W2RzdF0sIDEgICAgICAgICAgIFxuIgotCi0gICAiMzogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgIi5zZXQgcG9wICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgICA6IFtzcmNdICIrciIgKHNyYyksIFtkc3RdICIrciIgKGRzdCkKLSAgICAg
IDogW3dpZHRoXSAiciIgKHdpZHRoKQotICAgICAgOiAidDAiLCAidDEiLCAidDIiLCAidDMiLCAi
dDQiLCAidDUiCi0gICk7Ci19Ci0KLXZvaWQgTWlycm9yVVZSb3dfRFNQUjIoY29uc3QgdWludDgq
IHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsCi0gICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCkgewotICBpbnQgeDsKLSAgaW50IHk7Ci0gIF9fYXNtX18gX192b2xhdGls
ZV9fICgKLSAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgotCi0gICAgImFkZHUgICAgICAgICAgICAkdDQsICVbd2lkdGhdLCAlW3dpZHRoXSAgICAgIFxu
IgotICAgICJzcmwgICAgICAgICAgICAgJVt4XSwgJVt3aWR0aF0sIDQgICAgICAgICAgICBcbiIK
LSAgICAiYW5kaSAgICAgICAgICAgICVbeV0sICVbd2lkdGhdLCAweGYgICAgICAgICAgXG4iCi0g
ICAgImJsZXogICAgICAgICAgICAlW3hdLCAyZiAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICIgYWRkdSAgICAgICAgICAgJVtzcmNfdXZdLCAlW3NyY191dl0sICR0NCAgICBcbiIKLQotICAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAi
bHcgICAgICAgICAgICAgICR0MCwgLTMyKCVbc3JjX3V2XSkgICAgICAgICAgXG4iICAvLyB8M3wy
fDF8MHwKLSAgICAibHcgICAgICAgICAgICAgICR0MSwgLTI4KCVbc3JjX3V2XSkgICAgICAgICAg
XG4iICAvLyB8N3w2fDV8NHwKLSAgICAibHcgICAgICAgICAgICAgICR0MiwgLTI0KCVbc3JjX3V2
XSkgICAgICAgICAgXG4iICAvLyB8MTF8MTB8OXw4fAotICAgICJsdyAgICAgICAgICAgICAgJHQz
LCAtMjAoJVtzcmNfdXZdKSAgICAgICAgICBcbiIgIC8vIHwxNXwxNHwxM3wxMnwKLSAgICAibHcg
ICAgICAgICAgICAgICR0NCwgLTE2KCVbc3JjX3V2XSkgICAgICAgICAgXG4iICAvLyB8MTl8MTh8
MTd8MTZ8Ci0gICAgImx3ICAgICAgICAgICAgICAkdDYsIC0xMiglW3NyY191dl0pICAgICAgICAg
IFxuIiAgLy8gfDIzfDIyfDIxfDIwfAotICAgICJsdyAgICAgICAgICAgICAgJHQ3LCAtOCglW3Ny
Y191dl0pICAgICAgICAgICBcbiIgIC8vIHwyN3wyNnwyNXwyNHwKLSAgICAibHcgICAgICAgICAg
ICAgICR0OCwgLTQoJVtzcmNfdXZdKSAgICAgICAgICAgXG4iICAvLyB8MzF8MzB8Mjl8Mjh8Ci0K
LSAgICAicm90ciAgICAgICAgICAgICR0MCwgJHQwLCAxNiAgICAgICAgICAgICAgICAgXG4iICAv
LyB8MXwwfDN8MnwKLSAgICAicm90ciAgICAgICAgICAgICR0MSwgJHQxLCAxNiAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8NXw0fDd8NnwKLSAgICAicm90ciAgICAgICAgICAgICR0MiwgJHQyLCAx
NiAgICAgICAgICAgICAgICAgXG4iICAvLyB8OXw4fDExfDEwfAotICAgICJyb3RyICAgICAgICAg
ICAgJHQzLCAkdDMsIDE2ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwxM3wxMnwxNXwxNHwKLSAg
ICAicm90ciAgICAgICAgICAgICR0NCwgJHQ0LCAxNiAgICAgICAgICAgICAgICAgXG4iICAvLyB8
MTd8MTZ8MTl8MTh8Ci0gICAgInJvdHIgICAgICAgICAgICAkdDYsICR0NiwgMTYgICAgICAgICAg
ICAgICAgIFxuIiAgLy8gfDIxfDIwfDIzfDIyfAotICAgICJyb3RyICAgICAgICAgICAgJHQ3LCAk
dDcsIDE2ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwyNXwyNHwyN3wyNnwKLSAgICAicm90ciAg
ICAgICAgICAgICR0OCwgJHQ4LCAxNiAgICAgICAgICAgICAgICAgXG4iICAvLyB8Mjl8Mjh8MzF8
MzB8Ci0gICAgInByZWNyLnFiLnBoICAgICAkdDksICR0MCwgJHQxICAgICAgICAgICAgICAgIFxu
IiAgLy8gfDB8Mnw0fDZ8Ci0gICAgInByZWNycS5xYi5waCAgICAkdDUsICR0MCwgJHQxICAgICAg
ICAgICAgICAgIFxuIiAgLy8gfDF8M3w1fDd8Ci0gICAgInByZWNyLnFiLnBoICAgICAkdDAsICR0
MiwgJHQzICAgICAgICAgICAgICAgIFxuIiAgLy8gfDh8MTB8MTJ8MTR8Ci0gICAgInByZWNycS5x
Yi5waCAgICAkdDEsICR0MiwgJHQzICAgICAgICAgICAgICAgIFxuIiAgLy8gfDl8MTF8MTN8MTV8
Ci0gICAgInByZWNyLnFiLnBoICAgICAkdDIsICR0NCwgJHQ2ICAgICAgICAgICAgICAgIFxuIiAg
Ly8gfDE2fDE4fDIwfDIyfAotICAgICJwcmVjcnEucWIucGggICAgJHQzLCAkdDQsICR0NiAgICAg
ICAgICAgICAgICBcbiIgIC8vIHwxN3wxOXwyMXwyM3wKLSAgICAicHJlY3IucWIucGggICAgICR0
NCwgJHQ3LCAkdDggICAgICAgICAgICAgICAgXG4iICAvLyB8MjR8MjZ8Mjh8MzB8Ci0gICAgInBy
ZWNycS5xYi5waCAgICAkdDYsICR0NywgJHQ4ICAgICAgICAgICAgICAgIFxuIiAgLy8gfDI1fDI3
fDI5fDMxfAotICAgICJhZGRpdSAgICAgICAgICAgJVtzcmNfdXZdLCAlW3NyY191dl0sIC0zMiAg
ICBcbiIKLSAgICAiYWRkaXUgICAgICAgICAgICVbeF0sICVbeF0sIC0xICAgICAgICAgICAgICAg
XG4iCi0gICAgInN3ciAgICAgICAgICAgICAkdDQsIDAoJVtkc3RfdV0pICAgICAgICAgICAgIFxu
IgotICAgICJzd2wgICAgICAgICAgICAgJHQ0LCAzKCVbZHN0X3VdKSAgICAgICAgICAgICBcbiIg
IC8vIHwzMHwyOHwyNnwyNHwKLSAgICAic3dyICAgICAgICAgICAgICR0NiwgMCglW2RzdF92XSkg
ICAgICAgICAgICAgXG4iCi0gICAgInN3bCAgICAgICAgICAgICAkdDYsIDMoJVtkc3Rfdl0pICAg
ICAgICAgICAgIFxuIiAgLy8gfDMxfDI5fDI3fDI1fAotICAgICJzd3IgICAgICAgICAgICAgJHQy
LCA0KCVbZHN0X3VdKSAgICAgICAgICAgICBcbiIKLSAgICAic3dsICAgICAgICAgICAgICR0Miwg
NyglW2RzdF91XSkgICAgICAgICAgICAgXG4iICAvLyB8MjJ8MjB8MTh8MTZ8Ci0gICAgInN3ciAg
ICAgICAgICAgICAkdDMsIDQoJVtkc3Rfdl0pICAgICAgICAgICAgIFxuIgotICAgICJzd2wgICAg
ICAgICAgICAgJHQzLCA3KCVbZHN0X3ZdKSAgICAgICAgICAgICBcbiIgIC8vIHwyM3wyMXwxOXwx
N3wKLSAgICAic3dyICAgICAgICAgICAgICR0MCwgOCglW2RzdF91XSkgICAgICAgICAgICAgXG4i
Ci0gICAgInN3bCAgICAgICAgICAgICAkdDAsIDExKCVbZHN0X3VdKSAgICAgICAgICAgIFxuIiAg
Ly8gfDE0fDEyfDEwfDh8Ci0gICAgInN3ciAgICAgICAgICAgICAkdDEsIDgoJVtkc3Rfdl0pICAg
ICAgICAgICAgIFxuIgotICAgICJzd2wgICAgICAgICAgICAgJHQxLCAxMSglW2RzdF92XSkgICAg
ICAgICAgICBcbiIgIC8vIHwxNXwxM3wxMXw5fAotICAgICJzd3IgICAgICAgICAgICAgJHQ5LCAx
MiglW2RzdF91XSkgICAgICAgICAgICBcbiIKLSAgICAic3dsICAgICAgICAgICAgICR0OSwgMTUo
JVtkc3RfdV0pICAgICAgICAgICAgXG4iICAvLyB8Nnw0fDJ8MHwKLSAgICAic3dyICAgICAgICAg
ICAgICR0NSwgMTIoJVtkc3Rfdl0pICAgICAgICAgICAgXG4iCi0gICAgInN3bCAgICAgICAgICAg
ICAkdDUsIDE1KCVbZHN0X3ZdKSAgICAgICAgICAgIFxuIiAgLy8gfDd8NXwzfDF8Ci0gICAgImFk
ZGl1ICAgICAgICAgICAlW2RzdF92XSwgJVtkc3Rfdl0sIDE2ICAgICAgIFxuIgotICAgICJiZ3R6
ICAgICAgICAgICAgJVt4XSwgMWIgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiIGFkZGl1
ICAgICAgICAgICVbZHN0X3VdLCAlW2RzdF91XSwgMTYgICAgICAgXG4iCi0gICAgImJlcXogICAg
ICAgICAgICAlW3ldLCAzZiAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICIgbm9wICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYiAgICAgICAgICAg
ICAgIDJmICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIiBub3AgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAiMjogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsYnUgICAgICAgICAgICAg
JHQwLCAtMiglW3NyY191dl0pICAgICAgICAgICBcbiIKLSAgICAibGJ1ICAgICAgICAgICAgICR0
MSwgLTEoJVtzcmNfdXZdKSAgICAgICAgICAgXG4iCi0gICAgImFkZGl1ICAgICAgICAgICAlW3Ny
Y191dl0sICVbc3JjX3V2XSwgLTIgICAgIFxuIgotICAgICJhZGRpdSAgICAgICAgICAgJVt5XSwg
JVt5XSwgLTEgICAgICAgICAgICAgICBcbiIKLSAgICAic2IgICAgICAgICAgICAgICR0MCwgMCgl
W2RzdF91XSkgICAgICAgICAgICAgXG4iCi0gICAgInNiICAgICAgICAgICAgICAkdDEsIDAoJVtk
c3Rfdl0pICAgICAgICAgICAgIFxuIgotICAgICJhZGRpdSAgICAgICAgICAgJVtkc3RfdV0sICVb
ZHN0X3VdLCAxICAgICAgICBcbiIKLSAgICAiYmd0eiAgICAgICAgICAgICVbeV0sIDJiICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgIiBhZGRpdSAgICAgICAgICAlW2RzdF92XSwgJVtkc3Rf
dl0sIDEgICAgICAgIFxuIgotCi0gICAiMzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICIuc2V0IHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAgIDogW3NyY191dl0gIityIiAoc3JjX3V2KSwKLSAgICAgICAg
W2RzdF91XSAiK3IiIChkc3RfdSksCi0gICAgICAgIFtkc3Rfdl0gIityIiAoZHN0X3YpLAotICAg
ICAgICBbeF0gIj0mciIgKHgpLAotICAgICAgICBbeV0gIj0mciIgKHkpCi0gICAgICA6IFt3aWR0
aF0gInIiICh3aWR0aCkKLSAgICAgIDogInQwIiwgInQxIiwgInQyIiwgInQzIiwgInQ0IiwKLSAg
ICAgICJ0NSIsICJ0NyIsICJ0OCIsICJ0OSIKLSAgKTsKLX0KLQotLy8gQ29udmVydCAoNCBZIGFu
ZCAyIFZVKSBJNDIyIGFuZCBhcnJhbmdlIFJHQiB2YWx1ZXMgaW50bwotLy8gdDUgPSB8IDAgfCBC
MCB8IDAgfCBiMCB8Ci0vLyB0NCA9IHwgMCB8IEIxIHwgMCB8IGIxIHwKLS8vIHQ5ID0gfCAwIHwg
RzAgfCAwIHwgZzAgfAotLy8gdDggPSB8IDAgfCBHMSB8IDAgfCBnMSB8Ci0vLyB0MiA9IHwgMCB8
IFIwIHwgMCB8IHIwIHwKLS8vIHQxID0gfCAwIHwgUjEgfCAwIHwgcjEgfAotI2RlZmluZSBZVVZU
T1JHQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICJsdyAgICAgICAgICAgICAgICAkdDAsIDAoJVt5X2J1Zl0pICAg
ICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAibGh1ICAgICAgICAg
ICAgICAgJHQxLCAwKCVbdV9idWZdKSAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgImxodSAgICAgICAgICAgICAgICR0MiwgMCglW3ZfYnVmXSkgICAgICAgXG4i
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJwcmVjZXUucGgucWJyICAgICAk
dDEsICR0MSAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAicHJlY2V1LnBoLnFiciAgICAgJHQyLCAkdDIgICAgICAgICAgICAgICBcbiIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgInByZWNldS5waC5xYnJhICAgICR0MywgJHQw
ICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJw
cmVjZXUucGgucWJsYSAgICAkdDAsICR0MCAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAic3VidS5waCAgICAgICAgICAgJHQxLCAkdDEsICRzNSAg
ICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgInN1YnUucGgg
ICAgICAgICAgICR0MiwgJHQyLCAkczUgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICJzdWJ1LnBoICAgICAgICAgICAkdDMsICR0MywgJHM0ICAgICAgICAg
IFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAic3VidS5waCAgICAgICAg
ICAgJHQwLCAkdDAsICRzNCAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgIm11bC5waCAgICAgICAgICAgICR0MywgJHQzLCAkczAgICAgICAgICAgXG4iICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJtdWwucGggICAgICAgICAgICAkdDAs
ICR0MCwgJHMwICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAic2hsbC5waCAgICAgICAgICAgJHQ0LCAkdDEsIDB4NyAgICAgICAgICBcbiIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgInN1YnUucGggICAgICAgICAgICR0NCwgJHQ0LCAk
dDEgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJtdWwu
cGggICAgICAgICAgICAkdDYsICR0MSwgJHMxICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAibXVsLnBoICAgICAgICAgICAgJHQxLCAkdDIsICRzMiAgICAg
ICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgImFkZHFfcy5waCAg
ICAgICAgICR0NSwgJHQ0LCAkdDMgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICJhZGRxX3MucGggICAgICAgICAkdDQsICR0NCwgJHQwICAgICAgICAgIFxu
IiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAic2hyYS5waCAgICAgICAgICAg
JHQ1LCAkdDUsIDYgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgInNocmEucGggICAgICAgICAgICR0NCwgJHQ0LCA2ICAgICAgICAgICAgXG4iICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJhZGRpdSAgICAgICAgICAgICAlW3VfYnVm
XSwgMiAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAi
YWRkaXUgICAgICAgICAgICAgJVt2X2J1Zl0sIDIgICAgICAgICAgICBcbiIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgImFkZHUucGggICAgICAgICAgICR0NiwgJHQ2LCAkdDEg
ICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJtdWwucGgg
ICAgICAgICAgICAkdDEsICR0MiwgJHMzICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAiYWRkdS5waCAgICAgICAgICAgJHQ5LCAkdDYsICR0MyAgICAgICAg
ICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgImFkZHUucGggICAgICAg
ICAgICR0OCwgJHQ2LCAkdDAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICJzaHJhLnBoICAgICAgICAgICAkdDksICR0OSwgNiAgICAgICAgICAgIFxuIiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAic2hyYS5waCAgICAgICAgICAgJHQ4
LCAkdDgsIDYgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgImFkZHUucGggICAgICAgICAgICR0MiwgJHQxLCAkdDMgICAgICAgICAgXG4iICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJhZGR1LnBoICAgICAgICAgICAkdDEsICR0MSwg
JHQwICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAic2hy
YS5waCAgICAgICAgICAgJHQyLCAkdDIsIDYgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgInNocmEucGggICAgICAgICAgICR0MSwgJHQxLCA2ICAgICAg
ICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJzdWJ1LnBoICAg
ICAgICAgICAkdDUsICR0NSwgJHM1ICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAic3VidS5waCAgICAgICAgICAgJHQ0LCAkdDQsICRzNSAgICAgICAgICBc
biIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgInN1YnUucGggICAgICAgICAg
ICR0OSwgJHQ5LCAkczUgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICJzdWJ1LnBoICAgICAgICAgICAkdDgsICR0OCwgJHM1ICAgICAgICAgIFxuIiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAic3VidS5waCAgICAgICAgICAgJHQyLCAk
dDIsICRzNSAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
InN1YnUucGggICAgICAgICAgICR0MSwgJHQxLCAkczUgICAgICAgICAgXG4iICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICJzaGxsX3MucGggICAgICAgICAkdDUsICR0NSwgOCAg
ICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAic2hsbF9z
LnBoICAgICAgICAgJHQ0LCAkdDQsIDggICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgInNobGxfcy5waCAgICAgICAgICR0OSwgJHQ5LCA4ICAgICAgICAg
ICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJzaGxsX3MucGggICAg
ICAgICAkdDgsICR0OCwgOCAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAic2hsbF9zLnBoICAgICAgICAgJHQyLCAkdDIsIDggICAgICAgICAgICBcbiIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgInNobGxfcy5waCAgICAgICAgICR0
MSwgJHQxLCA4ICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICJzaHJhLnBoICAgICAgICAgICAkdDUsICR0NSwgOCAgICAgICAgICAgIFxuIiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAic2hyYS5waCAgICAgICAgICAgJHQ0LCAkdDQs
IDggICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgInNo
cmEucGggICAgICAgICAgICR0OSwgJHQ5LCA4ICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICJzaHJhLnBoICAgICAgICAgICAkdDgsICR0OCwgOCAgICAg
ICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAic2hyYS5waCAg
ICAgICAgICAgJHQyLCAkdDIsIDggICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgInNocmEucGggICAgICAgICAgICR0MSwgJHQxLCA4ICAgICAgICAgICAg
XG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICJhZGR1LnBoICAgICAgICAg
ICAkdDUsICR0NSwgJHM1ICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAiYWRkdS5waCAgICAgICAgICAgJHQ0LCAkdDQsICRzNSAgICAgICAgICBcbiIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgImFkZHUucGggICAgICAgICAgICR0OSwg
JHQ5LCAkczUgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICJhZGR1LnBoICAgICAgICAgICAkdDgsICR0OCwgJHM1ICAgICAgICAgIFxuIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAiYWRkdS5waCAgICAgICAgICAgJHQyLCAkdDIsICRz
NSAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgImFkZHUu
cGggICAgICAgICAgICR0MSwgJHQxLCAkczUgICAgICAgICAgXG4iCi0KLS8vIFRPRE8oZmJhcmNo
YXJkKTogYWNjZXB0IHl1diBjb252ZXJzaW9uIGNvbnN0YW50cy4KLXZvaWQgSTQyMlRvQVJHQlJv
d19EU1BSMihjb25zdCB1aW50OCogeV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHVfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2
X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogcmdiX2J1ZiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7Ci0gIF9fYXNtX18gX192b2xh
dGlsZV9fICgKLSAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAiLnNldCBub3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAiYmVxeiAgICAgICAgICAgICAgJVt3aWR0aF0sIDJmICAgICAgICAgICBcbiIKLSAgICAiIHJl
cGwucGggICAgICAgICAgJHMwLCA3NCAgICAgICAgICAgICAgICBcbiIgIC8vIHxZR3xZR3wgPSB8
NzR8NzR8Ci0gICAgInJlcGwucGggICAgICAgICAgICRzMSwgLTI1ICAgICAgICAgICAgICAgXG4i
ICAvLyB8VUd8VUd8ID0gfC0yNXwtMjV8Ci0gICAgInJlcGwucGggICAgICAgICAgICRzMiwgLTUy
ICAgICAgICAgICAgICAgXG4iICAvLyB8Vkd8Vkd8ID0gfC01MnwtNTJ8Ci0gICAgInJlcGwucGgg
ICAgICAgICAgICRzMywgMTAyICAgICAgICAgICAgICAgXG4iICAvLyB8VlJ8VlJ8ID0gfDEwMnwx
MDJ8Ci0gICAgInJlcGwucGggICAgICAgICAgICRzNCwgMTYgICAgICAgICAgICAgICAgXG4iICAv
LyB8MHwxNnwwfDE2fAotICAgICJyZXBsLnBoICAgICAgICAgICAkczUsIDEyOCAgICAgICAgICAg
ICAgIFxuIiAgLy8gfDEyOHwxMjh8IC8vIGNsaXBwaW5nCi0gICAgImx1aSAgICAgICAgICAgICAg
ICRzNiwgMHhmZjAwICAgICAgICAgICAgXG4iCi0gICAgIm9yaSAgICAgICAgICAgICAgICRzNiwg
MHhmZjAwICAgICAgICAgICAgXG4iICAvLyB8ZmZ8MDB8ZmZ8MDB8ZmZ8Ci0KLSAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgIFlVVlRPUkdCCi0v
LyBBcnJhbmdpbmcgaW50byBhcmdiIGZvcm1hdAotICAgICJwcmVjci5xYi5waCAgICAgICAkdDQs
ICR0OCwgJHQ0ICAgICAgICAgIFxuIiAgLy8gfEcxfGcxfEIxfGIxfAotICAgICJwcmVjci5xYi5w
aCAgICAgICAkdDUsICR0OSwgJHQ1ICAgICAgICAgIFxuIiAgLy8gfEcwfGcwfEIwfGIwfAotICAg
ICJhZGRpdSAgICAgICAgICAgICAlW3dpZHRoXSwgLTQgICAgICAgICAgIFxuIgotICAgICJwcmVj
cnEucWIucGggICAgICAkdDgsICR0NCwgJHQ1ICAgICAgICAgIFxuIiAgLy8gfEcxfEIxfEcwfEIw
fAotICAgICJwcmVjci5xYi5waCAgICAgICAkdDksICR0NCwgJHQ1ICAgICAgICAgIFxuIiAgLy8g
fGcxfGIxfGcwfGIwfAotICAgICJwcmVjci5xYi5waCAgICAgICAkdDIsICR0MSwgJHQyICAgICAg
ICAgIFxuIiAgLy8gfFIxfHIxfFIwfHIwfAotCi0gICAgImFkZGl1ICAgICAgICAgICAgICVbeV9i
dWZdLCA0ICAgICAgICAgICAgXG4iCi0gICAgInByZWNldS5waC5xYmxhICAgICR0MSwgJHQyICAg
ICAgICAgICAgICAgXG4iICAvLyB8MCB8UjF8MCB8UjB8Ci0gICAgInByZWNldS5waC5xYnJhICAg
ICR0MiwgJHQyICAgICAgICAgICAgICAgXG4iICAvLyB8MCB8cjF8MCB8cjB8Ci0gICAgIm9yICAg
ICAgICAgICAgICAgICR0MSwgJHQxLCAkczYgICAgICAgICAgXG4iICAvLyB8ZmZ8UjF8ZmZ8UjB8
Ci0gICAgIm9yICAgICAgICAgICAgICAgICR0MiwgJHQyLCAkczYgICAgICAgICAgXG4iICAvLyB8
ZmZ8cjF8ZmZ8cjB8Ci0gICAgInByZWNycS5waC53ICAgICAgICR0MCwgJHQyLCAkdDkgICAgICAg
ICAgXG4iICAvLyB8ZmZ8cjF8ZzF8YjF8Ci0gICAgInByZWNycS5waC53ICAgICAgICR0MywgJHQx
LCAkdDggICAgICAgICAgXG4iICAvLyB8ZmZ8UjF8RzF8QjF8Ci0gICAgInNsbCAgICAgICAgICAg
ICAgICR0OSwgJHQ5LCAxNiAgICAgICAgICAgXG4iCi0gICAgInNsbCAgICAgICAgICAgICAgICR0
OCwgJHQ4LCAxNiAgICAgICAgICAgXG4iCi0gICAgInBhY2tybC5waCAgICAgICAgICR0MiwgJHQy
LCAkdDkgICAgICAgICAgXG4iICAvLyB8ZmZ8cjB8ZzB8YjB8Ci0gICAgInBhY2tybC5waCAgICAg
ICAgICR0MSwgJHQxLCAkdDggICAgICAgICAgXG4iICAvLyB8ZmZ8UjB8RzB8QjB8Ci0vLyBTdG9y
ZSByZXN1bHRzLgotICAgICJzdyAgICAgICAgICAgICAgICAkdDIsIDAoJVtyZ2JfYnVmXSkgICAg
IFxuIgotICAgICJzdyAgICAgICAgICAgICAgICAkdDAsIDQoJVtyZ2JfYnVmXSkgICAgIFxuIgot
ICAgICJzdyAgICAgICAgICAgICAgICAkdDEsIDgoJVtyZ2JfYnVmXSkgICAgIFxuIgotICAgICJz
dyAgICAgICAgICAgICAgICAkdDMsIDEyKCVbcmdiX2J1Zl0pICAgIFxuIgotICAgICJibmV6ICAg
ICAgICAgICAgICAlW3dpZHRoXSwgMWIgICAgICAgICAgIFxuIgotICAgICIgYWRkaXUgICAgICAg
ICAgICAlW3JnYl9idWZdLCAxNiAgICAgICAgIFxuIgotICAgIjI6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICIuc2V0IHBvcCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICAgOlt5X2J1Zl0gIityIiAoeV9idWYpLAotICAgICAg
IFt1X2J1Zl0gIityIiAodV9idWYpLAotICAgICAgIFt2X2J1Zl0gIityIiAodl9idWYpLAotICAg
ICAgIFt3aWR0aF0gIityIiAod2lkdGgpLAotICAgICAgIFtyZ2JfYnVmXSAiK3IiIChyZ2JfYnVm
KQotICAgICAgOgotICAgICAgOiAidDAiLCAidDEiLCAgInQyIiwgInQzIiwgICJ0NCIsICJ0NSIs
Ci0gICAgICAidDYiLCAidDciLCAidDgiLCAidDkiLAotICAgICAgInMwIiwgInMxIiwgInMyIiwg
InMzIiwKLSAgICAgICJzNCIsICJzNSIsICJzNiIKLSAgKTsKLX0KLQotLy8gQmlsaW5lYXIgZmls
dGVyIDh4MiAtPiA4eDEKLXZvaWQgSW50ZXJwb2xhdGVSb3dfRFNQUjIodWludDgqIGRzdF9wdHIs
IGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwgaW50IGRzdF93aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNvdXJjZV95X2ZyYWN0aW9uKSB7Ci0gICAgaW50IHkwX2ZyYWN0aW9uID0gMjU2IC0gc291
cmNlX3lfZnJhY3Rpb247Ci0gICAgY29uc3QgdWludDgqIHNyY19wdHIxID0gc3JjX3B0ciArIHNy
Y19zdHJpZGU7Ci0KLSAgX19hc21fXyBfX3ZvbGF0aWxlX18gKAotICAgICAiLnNldCBwdXNoICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAiLnNldCBu
b3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAg
ICJyZXBsdi5waCAgICAgICAgICAkdDAsICVbeTBfZnJhY3Rpb25dICAgICAgICAgICAgICAgXG4i
Ci0gICAgICJyZXBsdi5waCAgICAgICAgICAkdDEsICVbc291cmNlX3lfZnJhY3Rpb25dICAgICAg
ICAgXG4iCi0KLSAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAgImx3ICAgICAgICAgICAgICAgICR0MiwgMCglW3NyY19wdHJd
KSAgICAgICAgICAgICAgICBcbiIKLSAgICAgImx3ICAgICAgICAgICAgICAgICR0MywgMCglW3Ny
Y19wdHIxXSkgICAgICAgICAgICAgICBcbiIKLSAgICAgImx3ICAgICAgICAgICAgICAgICR0NCwg
NCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBcbiIKLSAgICAgImx3ICAgICAgICAgICAgICAg
ICR0NSwgNCglW3NyY19wdHIxXSkgICAgICAgICAgICAgICBcbiIKLSAgICAgIm11bGV1X3MucGgu
cWJsICAgICR0NiwgJHQyLCAkdDAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgIm11bGV1
X3MucGgucWJyICAgICR0NywgJHQyLCAkdDAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAg
Im11bGV1X3MucGgucWJsICAgICR0OCwgJHQzLCAkdDEgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAgIm11bGV1X3MucGgucWJyICAgICR0OSwgJHQzLCAkdDEgICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgIm11bGV1X3MucGgucWJsICAgICR0MiwgJHQ0LCAkdDAgICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAgIm11bGV1X3MucGgucWJyICAgICR0MywgJHQ0LCAkdDAgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgIm11bGV1X3MucGgucWJsICAgICR0NCwgJHQ1LCAkdDEg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgIm11bGV1X3MucGgucWJyICAgICR0NSwgJHQ1
LCAkdDEgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgImFkZHEucGggICAgICAgICAgICR0
NiwgJHQ2LCAkdDggICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgImFkZHEucGggICAgICAg
ICAgICR0NywgJHQ3LCAkdDkgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgImFkZHEucGgg
ICAgICAgICAgICR0MiwgJHQyLCAkdDQgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgImFk
ZHEucGggICAgICAgICAgICR0MywgJHQzLCAkdDUgICAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAgInNocmEucGggICAgICAgICAgICR0NiwgJHQ2LCA4ICAgICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAgInNocmEucGggICAgICAgICAgICR0NywgJHQ3LCA4ICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAgInNocmEucGggICAgICAgICAgICR0MiwgJHQyLCA4ICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAgInNocmEucGggICAgICAgICAgICR0MywgJHQzLCA4ICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAgInByZWNyLnFiLnBoICAgICAgICR0NiwgJHQ2LCAk
dDcgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgInByZWNyLnFiLnBoICAgICAgICR0Miwg
JHQyLCAkdDMgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgImFkZGl1ICAgICAgICAgICAg
ICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDggICAgICAgICBcbiIKLSAgICAgImFkZGl1ICAgICAg
ICAgICAgICVbc3JjX3B0cjFdLCAlW3NyY19wdHIxXSwgOCAgICAgICBcbiIKLSAgICAgImFkZGl1
ICAgICAgICAgICAgICVbZHN0X3dpZHRoXSwgJVtkc3Rfd2lkdGhdLCAtOCAgICBcbiIKLSAgICAg
InN3ICAgICAgICAgICAgICAgICR0NiwgMCglW2RzdF9wdHJdKSAgICAgICAgICAgICAgICBcbiIK
LSAgICAgInN3ICAgICAgICAgICAgICAgICR0MiwgNCglW2RzdF9wdHJdKSAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgImJndHogICAgICAgICAgICAgICVbZHN0X3dpZHRoXSwgMWIgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAgIiBhZGRpdSAgICAgICAgICAgICVbZHN0X3B0cl0sICVbZHN0X3B0
cl0sIDggICAgICAgICBcbiIKLQotICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICA6IFtkc3RfcHRyXSAiK3IiIChkc3RfcHRyKSwK
LSAgICBbc3JjX3B0cjFdICIrciIgKHNyY19wdHIxKSwKLSAgICBbc3JjX3B0cl0gIityIiAoc3Jj
X3B0ciksCi0gICAgW2RzdF93aWR0aF0gIityIiAoZHN0X3dpZHRoKQotICA6IFtzb3VyY2VfeV9m
cmFjdGlvbl0gInIiIChzb3VyY2VfeV9mcmFjdGlvbiksCi0gICAgW3kwX2ZyYWN0aW9uXSAiciIg
KHkwX2ZyYWN0aW9uKSwKLSAgICBbc3JjX3N0cmlkZV0gInIiIChzcmNfc3RyaWRlKQotICA6ICJ0
MCIsICJ0MSIsICJ0MiIsICJ0MyIsICJ0NCIsICJ0NSIsCi0gICAgInQ2IiwgInQ3IiwgInQ4Iiwg
InQ5IgotICApOwotfQotI2VuZGlmICAvLyBfX21pcHNfZHNwX3JldiA+PSAyCi0KLSNlbmRpZiAg
Ly8gZGVmaW5lZChfX21pcHNfXykKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19ICAvLyBleHRlcm4g
IkMiCi19ICAvLyBuYW1lc3BhY2UgbGlieXV2Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3df
bXNhLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvc291cmNlL3Jvd19tc2EuY2MKaW5kZXggM2E1NWIwYjc1NTRhMmEwZTQ1MDZhNjMzZTcz
MjQyYzg3OTE4N2Y3NC4uZjc5ZGUxYzdiZDI5YjRhZWY3M2M4NTcxOWFjOGU4ZTY4NzBiNDc0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvc291cmNlL3Jvd19tc2EuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jvd19tc2EuY2MKQEAgLTgsNiAr
OCw4IEBACiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0
aGUgc291cmNlIHRyZWUuCiAgKi8KIAorI2luY2x1ZGUgPHN0cmluZy5oPgorCiAjaW5jbHVkZSAi
bGlieXV2L3Jvdy5oIgogCiAvLyBUaGlzIG1vZHVsZSBpcyBmb3IgR0NDIE1TQQpAQCAtMTksMTEg
KzIxLDI3NSBAQCBuYW1lc3BhY2UgbGlieXV2IHsKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKKyNk
ZWZpbmUgQUxQSEFfVkFMICgtMSkKKworLy8gRmlsbCBZVVYgLT4gUkdCIGNvbnZlcnNpb24gY29u
c3RhbnRzIGludG8gdmVjdG9ycworI2RlZmluZSBZVVZUT1JHQl9TRVRVUCh5dXZjb25zdCwgdWIs
IHZyLCB1ZywgdmcsIGJiLCBiZywgYnIsIHlnKSBcCisgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1YiA9IF9fbXNh
X2ZpbGxfdyh5dXZjb25zdC0+a1VWVG9CWzBdKTsgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IHZyID0gX19tc2FfZmlsbF93KHl1dmNvbnN0LT5rVVZUb1JbMV0pOyAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgdWcgPSBfX21zYV9maWxsX3coeXV2Y29uc3QtPmtVVlRvR1swXSk7ICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICB2ZyA9IF9fbXNhX2ZpbGxfdyh5dXZjb25zdC0+a1VWVG9H
WzFdKTsgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGJiID0gX19tc2FfZmlsbF93KHl1dmNv
bnN0LT5rVVZCaWFzQlswXSk7ICAgICAgICAgICAgICAgICAgICBcCisgICAgYmcgPSBfX21zYV9m
aWxsX3coeXV2Y29uc3QtPmtVVkJpYXNHWzBdKTsgICAgICAgICAgICAgICAgICAgIFwKKyAgICBi
ciA9IF9fbXNhX2ZpbGxfdyh5dXZjb25zdC0+a1VWQmlhc1JbMF0pOyAgICAgICAgICAgICAgICAg
ICAgXAorICAgIHlnID0gX19tc2FfZmlsbF93KHl1dmNvbnN0LT5rWVRvUmdiWzBdKTsgICAgICAg
ICAgICAgICAgICAgICBcCisgIH0KKworLy8gTG9hZCBZVVYgNDIyIHBpeGVsIGRhdGEKKyNkZWZp
bmUgUkVBRFlVVjQyMihwc3JjX3ksIHBzcmNfdSwgcHNyY192LCBvdXRfeSwgb3V0X3UsIG91dF92
KSAgXAorICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgdWludDY0IHlfbTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50MzIgdV9tLCB2X207ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHY0aTMyIHplcm9fbSA9
IHswfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeV9t
ID0gTEQocHNyY195KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICB1X20gPSBMVyhwc3JjX3UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIHZfbSA9IExXKHBzcmNfdik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgb3V0X3kgPSAodjE2dTgpX19tc2FfaW5zZXJ0
X2QoKHYyaTY0KXplcm9fbSwgMCwgKGludDY0KXlfbSk7IFwKKyAgICBvdXRfdSA9ICh2MTZ1OClf
X21zYV9pbnNlcnRfdyh6ZXJvX20sIDAsIChpbnQzMil1X20pOyAgICAgICAgXAorICAgIG91dF92
ID0gKHYxNnU4KV9fbXNhX2luc2VydF93KHplcm9fbSwgMCwgKGludDMyKXZfbSk7ICAgICAgICBc
CisgIH0KKworLy8gQ2xpcCBpbnB1dCB2ZWN0b3IgZWxlbWVudHMgYmV0d2VlbiAwIHRvIDI1NQor
I2RlZmluZSBDTElQXzBUTzI1NShpbjAsIGluMSwgaW4yLCBpbjMsIGluNCwgaW41KSBcCisgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2NGkz
MiBtYXhfbSA9IF9fbXNhX2xkaV93KDB4RkYpOyAgICAgICAgICAgICAgXAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW4wID0gX19tc2Ff
bWF4aV9zX3coaW4wLCAwKTsgICAgICAgICAgICAgICAgIFwKKyAgICBpbjEgPSBfX21zYV9tYXhp
X3NfdyhpbjEsIDApOyAgICAgICAgICAgICAgICAgXAorICAgIGluMiA9IF9fbXNhX21heGlfc193
KGluMiwgMCk7ICAgICAgICAgICAgICAgICBcCisgICAgaW4zID0gX19tc2FfbWF4aV9zX3coaW4z
LCAwKTsgICAgICAgICAgICAgICAgIFwKKyAgICBpbjQgPSBfX21zYV9tYXhpX3NfdyhpbjQsIDAp
OyAgICAgICAgICAgICAgICAgXAorICAgIGluNSA9IF9fbXNhX21heGlfc193KGluNSwgMCk7ICAg
ICAgICAgICAgICAgICBcCisgICAgaW4wID0gX19tc2FfbWluX3NfdyhtYXhfbSwgaW4wKTsgICAg
ICAgICAgICAgIFwKKyAgICBpbjEgPSBfX21zYV9taW5fc193KG1heF9tLCBpbjEpOyAgICAgICAg
ICAgICAgXAorICAgIGluMiA9IF9fbXNhX21pbl9zX3cobWF4X20sIGluMik7ICAgICAgICAgICAg
ICBcCisgICAgaW4zID0gX19tc2FfbWluX3NfdyhtYXhfbSwgaW4zKTsgICAgICAgICAgICAgIFwK
KyAgICBpbjQgPSBfX21zYV9taW5fc193KG1heF9tLCBpbjQpOyAgICAgICAgICAgICAgXAorICAg
IGluNSA9IF9fbXNhX21pbl9zX3cobWF4X20sIGluNSk7ICAgICAgICAgICAgICBcCisgIH0KKwor
Ly8gQ29udmVydCA4IHBpeGVscyBvZiBZVVYgNDIwIHRvIFJHQi4KKyNkZWZpbmUgWVVWVE9SR0Io
aW5feSwgaW5fdXYsIHVidnIsIHVndmcsIGJiLCBiZywgYnIsIHlnLCBvdXRfYiwgb3V0X2csIG91
dF9yKSBcCisgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHY4aTE2IHZlYzBfbSwgdmVjMV9t
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICB2NGkzMiByZWcwX20sIHJlZzFfbSwgcmVnMl9tLCByZWczX20sIHJlZzRfbTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdjRpMzIgcmVnNV9tLCByZWc2X20sIHJlZzdf
bTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHYx
Nmk4IHplcm9fbSA9IHswfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdmVjMF9tID0g
KHY4aTE2KV9fbXNhX2lsdnJfYigodjE2aTgpaW5feSwgKHYxNmk4KWluX3kpOyAgICAgICAgICAg
ICAgICAgICAgXAorICAgIHZlYzFfbSA9ICh2OGkxNilfX21zYV9pbHZyX2IoKHYxNmk4KXplcm9f
bSwgKHYxNmk4KWluX3V2KTsgICAgICAgICAgICAgICAgIFwKKyAgICByZWcwX20gPSAodjRpMzIp
X19tc2FfaWx2cl9oKCh2OGkxNil6ZXJvX20sICh2OGkxNil2ZWMwX20pOyAgICAgICAgICAgICAg
ICBcCisgICAgcmVnMV9tID0gKHY0aTMyKV9fbXNhX2lsdmxfaCgodjhpMTYpemVyb19tLCAodjhp
MTYpdmVjMF9tKTsgICAgICAgICAgICAgICAgXAorICAgIHJlZzJfbSA9ICh2NGkzMilfX21zYV9p
bHZyX2goKHY4aTE2KXplcm9fbSwgKHY4aTE2KXZlYzFfbSk7ICAgICAgICAgICAgICAgIFwKKyAg
ICByZWczX20gPSAodjRpMzIpX19tc2FfaWx2bF9oKCh2OGkxNil6ZXJvX20sICh2OGkxNil2ZWMx
X20pOyAgICAgICAgICAgICAgICBcCisgICAgcmVnMF9tICo9IHlnOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzFf
bSAqPSB5ZzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICByZWcyX20gKj0gdWJ2cjsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVnM19tICo9IHVi
dnI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIHJlZzBfbSA9IF9fbXNhX3NyYWlfdyhyZWcwX20sIDE2KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWcxX20gPSBfX21zYV9zcmFp
X3cocmVnMV9tLCAxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgcmVnNF9tID0gX19tc2FfZG90cF9zX3coKHY4aTE2KXZlYzFfbSwgKHY4aTE2KXVndmcp
OyAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzVfbSA9IF9fbXNhX2lsdmV2X3cocmVn
Ml9tLCByZWcyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBy
ZWc2X20gPSBfX21zYV9pbHZldl93KHJlZzNfbSwgcmVnM19tKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgcmVnN19tID0gX19tc2FfaWx2cl93KHJlZzRfbSwgcmVn
NF9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzJfbSA9
IF9fbXNhX2lsdm9kX3cocmVnMl9tLCByZWcyX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICByZWczX20gPSBfX21zYV9pbHZvZF93KHJlZzNfbSwgcmVnM19tKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVnNF9tID0gX19tc2Ff
aWx2bF93KHJlZzRfbSwgcmVnNF9tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIHJlZzVfbSA9IHJlZzBfbSAtIHJlZzVfbTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWc2X20gPSByZWcxX20gLSByZWc2
X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgcmVnMl9tID0gcmVnMF9tIC0gcmVnMl9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzNfbSA9IHJlZzFfbSAtIHJlZzNfbTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWc3
X20gPSByZWcwX20gLSByZWc3X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgcmVnNF9tID0gcmVnMV9tIC0gcmVnNF9tOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzVfbSArPSBi
YjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICByZWc2X20gKz0gYmI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVnN19tICs9IGJnOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIHJlZzRfbSArPSBiZzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWcyX20gKz0gYnI7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
cmVnM19tICs9IGJyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzVfbSA9IF9fbXNhX3NyYWlfdyhyZWc1X20sIDYp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWc2X20g
PSBfX21zYV9zcmFpX3cocmVnNl9tLCA2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgcmVnN19tID0gX19tc2Ffc3JhaV93KHJlZzdfbSwgNik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzRfbSA9IF9fbXNh
X3NyYWlfdyhyZWc0X20sIDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICByZWcyX20gPSBfX21zYV9zcmFpX3cocmVnMl9tLCA2KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVnM19tID0gX19tc2Ffc3JhaV93
KHJlZzNfbSwgNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIENMSVBfMFRPMjU1KHJlZzVfbSwgcmVnNl9tLCByZWc3X20sIHJlZzRfbSwgcmVnMl9tLCBy
ZWczX20pOyAgICAgICAgICAgICAgIFwKKyAgICBvdXRfYiA9IF9fbXNhX3Bja2V2X2goKHY4aTE2
KXJlZzZfbSwgKHY4aTE2KXJlZzVfbSk7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgb3V0
X2cgPSBfX21zYV9wY2tldl9oKCh2OGkxNilyZWc0X20sICh2OGkxNilyZWc3X20pOyAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIG91dF9yID0gX19tc2FfcGNrZXZfaCgodjhpMTYpcmVnM19t
LCAodjhpMTYpcmVnMl9tKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgfQorCisvLyBQYWNr
IGFuZCBTdG9yZSA4IEFSR0IgdmFsdWVzLgorI2RlZmluZSBTVE9SRUFSR0IoaW4wLCBpbjEsIGlu
MiwgaW4zLCBwZHN0X2FyZ2IpICAgICAgICAgICBcCisgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2OGkxNiB2ZWMwX20sIHZl
YzFfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHYxNnU4IGRzdDBf
bSwgZHN0MV9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdmVjMF9t
ID0gKHY4aTE2KV9fbXNhX2lsdmV2X2IoKHYxNmk4KWluMSwgKHYxNmk4KWluMCk7IFwKKyAgICB2
ZWMxX20gPSAodjhpMTYpX19tc2FfaWx2ZXZfYigodjE2aTgpaW4zLCAodjE2aTgpaW4yKTsgXAor
ICAgIGRzdDBfbSA9ICh2MTZ1OClfX21zYV9pbHZyX2godmVjMV9tLCB2ZWMwX20pOyAgICAgICAg
ICBcCisgICAgZHN0MV9tID0gKHYxNnU4KV9fbXNhX2lsdmxfaCh2ZWMxX20sIHZlYzBfbSk7ICAg
ICAgICAgIFwKKyAgICBTVF9VQjIoZHN0MF9tLCBkc3QxX20sIHBkc3RfYXJnYiwgMTYpOyAgICAg
ICAgICAgICAgICAgXAorICB9CisKKy8vIFRha2VzIEFSR0IgaW5wdXQgYW5kIGNhbGN1bGF0ZXMg
WS4KKyNkZWZpbmUgQVJHQlRPWShhcmdiMCwgYXJnYjEsIGFyZ2IyLCBhcmdiMywgY29uc3QwLCBj
b25zdDEsIGNvbnN0Miwgc2hpZnQsIFwKKyAgICAgICAgICAgICAgICB5X291dCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICB2MTZ1OCB2ZWMwX20sIHZlYzFfbSwgdmVjMl9tLCB2ZWMzX207ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2OHUxNiByZWcwX20sIHJlZzFfbTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICB2ZWMwX20gPSAodjE2dTgpX19tc2FfcGNrZXZfaCgodjhpMTYp
YXJnYjEsICh2OGkxNilhcmdiMCk7ICAgICAgICAgICAgIFwKKyAgICB2ZWMxX20gPSAodjE2dTgp
X19tc2FfcGNrZXZfaCgodjhpMTYpYXJnYjMsICh2OGkxNilhcmdiMik7ICAgICAgICAgICAgIFwK
KyAgICB2ZWMyX20gPSAodjE2dTgpX19tc2FfcGNrb2RfaCgodjhpMTYpYXJnYjEsICh2OGkxNilh
cmdiMCk7ICAgICAgICAgICAgIFwKKyAgICB2ZWMzX20gPSAodjE2dTgpX19tc2FfcGNrb2RfaCgo
djhpMTYpYXJnYjMsICh2OGkxNilhcmdiMik7ICAgICAgICAgICAgIFwKKyAgICByZWcwX20gPSBf
X21zYV9kb3RwX3VfaCh2ZWMwX20sIGNvbnN0MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICByZWcxX20gPSBfX21zYV9kb3RwX3VfaCh2ZWMxX20sIGNvbnN0MCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWcwX20gPSBfX21zYV9kcGFkZF91X2go
cmVnMF9tLCB2ZWMyX20sIGNvbnN0MSk7ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWcx
X20gPSBfX21zYV9kcGFkZF91X2gocmVnMV9tLCB2ZWMzX20sIGNvbnN0MSk7ICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICByZWcwX20gKz0gY29uc3QyOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWcxX20gKz0gY29uc3QyOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICByZWcwX20gPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilyZWcwX20sIHNoaWZ0KTsgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICByZWcxX20gPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkx
NilyZWcxX20sIHNoaWZ0KTsgICAgICAgICAgICAgICAgICAgIFwKKyAgICB5X291dCA9ICh2MTZ1
OClfX21zYV9wY2tldl9iKCh2MTZpOClyZWcxX20sICh2MTZpOClyZWcwX20pOyAgICAgICAgICAg
IFwKKyAgfQorCisvLyBMb2FkcyBjdXJyZW50IGFuZCBuZXh0IHJvdyBvZiBBUkdCIGlucHV0IGFu
ZCBhdmVyYWdlcyBpdCB0byBjYWxjdWxhdGUgVSBhbmQgVgorI2RlZmluZSBSRUFEX0FSR0Ioc19w
dHIsIHRfcHRyLCBhcmdiMCwgYXJnYjEsIGFyZ2IyLCBhcmdiMykgICAgICAgICAgICAgICBcCisg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICB2MTZ1OCBzcmMwX20sIHNyYzFfbSwgc3JjMl9tLCBzcmMz
X20sIHNyYzRfbSwgc3JjNV9tLCBzcmM2X20sIHNyYzdfbTsgXAorICAgIHYxNnU4IHZlYzBfbSwg
dmVjMV9tLCB2ZWMyX20sIHZlYzNfbSwgdmVjNF9tLCB2ZWM1X20sIHZlYzZfbSwgdmVjN19tOyBc
CisgICAgdjE2dTggdmVjOF9tLCB2ZWM5X207ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICB2OHUxNiByZWcwX20sIHJlZzFfbSwgcmVnMl9tLCBy
ZWczX20sIHJlZzRfbSwgcmVnNV9tLCByZWc2X20sIHJlZzdfbTsgXAorICAgIHY4dTE2IHJlZzhf
bSwgcmVnOV9tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzcmMwX20gPSAodjE2dTgpX19tc2FfbGRfYigo
djE2aTgqKXMsIDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHNyYzFfbSA9
ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMTYpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgc3JjMl9tID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAzMik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzcmMzX20gPSAodjE2dTgpX19tc2FfbGRf
YigodjE2aTgqKXMsIDQ4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHNyYzRf
bSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopdCwgMCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgc3JjNV9tID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0LCAxNik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzcmM2X20gPSAodjE2dTgpX19tc2Ff
bGRfYigodjE2aTgqKXQsIDMyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHNy
YzdfbSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopdCwgNDgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgdmVjMF9tID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpc3Jj
MF9tLCAodjE2aTgpc3JjNF9tKTsgICAgICAgICAgIFwKKyAgICB2ZWMxX20gPSAodjE2dTgpX19t
c2FfaWx2cl9iKCh2MTZpOClzcmMxX20sICh2MTZpOClzcmM1X20pOyAgICAgICAgICAgXAorICAg
IHZlYzJfbSA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYxNmk4KXNyYzJfbSwgKHYxNmk4KXNyYzZf
bSk7ICAgICAgICAgICBcCisgICAgdmVjM19tID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgp
c3JjM19tLCAodjE2aTgpc3JjN19tKTsgICAgICAgICAgIFwKKyAgICB2ZWM0X20gPSAodjE2dTgp
X19tc2FfaWx2bF9iKCh2MTZpOClzcmMwX20sICh2MTZpOClzcmM0X20pOyAgICAgICAgICAgXAor
ICAgIHZlYzVfbSA9ICh2MTZ1OClfX21zYV9pbHZsX2IoKHYxNmk4KXNyYzFfbSwgKHYxNmk4KXNy
YzVfbSk7ICAgICAgICAgICBcCisgICAgdmVjNl9tID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2
aTgpc3JjMl9tLCAodjE2aTgpc3JjNl9tKTsgICAgICAgICAgIFwKKyAgICB2ZWM3X20gPSAodjE2
dTgpX19tc2FfaWx2bF9iKCh2MTZpOClzcmMzX20sICh2MTZpOClzcmM3X20pOyAgICAgICAgICAg
XAorICAgIHJlZzBfbSA9IF9fbXNhX2hhZGRfdV9oKHZlYzBfbSwgdmVjMF9tKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVnMV9tID0gX19tc2FfaGFkZF91X2godmVjMV9t
LCB2ZWMxX20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWcyX20gPSBf
X21zYV9oYWRkX3VfaCh2ZWMyX20sIHZlYzJfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIHJlZzNfbSA9IF9fbXNhX2hhZGRfdV9oKHZlYzNfbSwgdmVjM19tKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVnNF9tID0gX19tc2FfaGFkZF91X2godmVj
NF9tLCB2ZWM0X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWc1X20g
PSBfX21zYV9oYWRkX3VfaCh2ZWM1X20sIHZlYzVfbSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIHJlZzZfbSA9IF9fbXNhX2hhZGRfdV9oKHZlYzZfbSwgdmVjNl9tKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVnN19tID0gX19tc2FfaGFkZF91X2go
dmVjN19tLCB2ZWM3X20pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWc4
X20gPSAodjh1MTYpX19tc2FfcGNrZXZfZCgodjJpNjQpcmVnNF9tLCAodjJpNjQpcmVnMF9tKTsg
ICAgICAgICAgXAorICAgIHJlZzlfbSA9ICh2OHUxNilfX21zYV9wY2tldl9kKCh2Mmk2NClyZWc1
X20sICh2Mmk2NClyZWcxX20pOyAgICAgICAgICBcCisgICAgcmVnOF9tICs9ICh2OHUxNilfX21z
YV9wY2tvZF9kKCh2Mmk2NClyZWc0X20sICh2Mmk2NClyZWcwX20pOyAgICAgICAgIFwKKyAgICBy
ZWc5X20gKz0gKHY4dTE2KV9fbXNhX3Bja29kX2QoKHYyaTY0KXJlZzVfbSwgKHYyaTY0KXJlZzFf
bSk7ICAgICAgICAgXAorICAgIHJlZzBfbSA9ICh2OHUxNilfX21zYV9wY2tldl9kKCh2Mmk2NCly
ZWc2X20sICh2Mmk2NClyZWcyX20pOyAgICAgICAgICBcCisgICAgcmVnMV9tID0gKHY4dTE2KV9f
bXNhX3Bja2V2X2QoKHYyaTY0KXJlZzdfbSwgKHYyaTY0KXJlZzNfbSk7ICAgICAgICAgIFwKKyAg
ICByZWcwX20gKz0gKHY4dTE2KV9fbXNhX3Bja29kX2QoKHYyaTY0KXJlZzZfbSwgKHYyaTY0KXJl
ZzJfbSk7ICAgICAgICAgXAorICAgIHJlZzFfbSArPSAodjh1MTYpX19tc2FfcGNrb2RfZCgodjJp
NjQpcmVnN19tLCAodjJpNjQpcmVnM19tKTsgICAgICAgICBcCisgICAgcmVnOF9tID0gKHY4dTE2
KV9fbXNhX3NyYWlfaCgodjhpMTYpcmVnOF9tLCAyKTsgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICByZWc5X20gPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilyZWc5X20sIDIpOyAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzBfbSA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4
aTE2KXJlZzBfbSwgMik7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVnMV9tID0gKHY4
dTE2KV9fbXNhX3NyYWlfaCgodjhpMTYpcmVnMV9tLCAyKTsgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBhcmdiMCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClyZWc5X20sICh2MTZp
OClyZWc4X20pOyAgICAgICAgICAgXAorICAgIGFyZ2IxID0gKHYxNnU4KV9fbXNhX3Bja2V2X2Io
KHYxNmk4KXJlZzFfbSwgKHYxNmk4KXJlZzBfbSk7ICAgICAgICAgICBcCisgICAgc3JjMF9tID0g
KHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCA2NCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBzcmMxX20gPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDgwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHNyYzJfbSA9ICh2MTZ1OClfX21zYV9sZF9i
KCh2MTZpOCopcywgOTYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc3JjM19t
ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAxMTIpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBzcmM0X20gPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXQsIDY0KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHNyYzVfbSA9ICh2MTZ1OClfX21zYV9s
ZF9iKCh2MTZpOCopdCwgODApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc3Jj
Nl9tID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0LCA5Nik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBzcmM3X20gPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXQsIDEx
Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHZlYzJfbSA9ICh2MTZ1OClfX21z
YV9pbHZyX2IoKHYxNmk4KXNyYzBfbSwgKHYxNmk4KXNyYzRfbSk7ICAgICAgICAgICBcCisgICAg
dmVjM19tID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpc3JjMV9tLCAodjE2aTgpc3JjNV9t
KTsgICAgICAgICAgIFwKKyAgICB2ZWM0X20gPSAodjE2dTgpX19tc2FfaWx2cl9iKCh2MTZpOClz
cmMyX20sICh2MTZpOClzcmM2X20pOyAgICAgICAgICAgXAorICAgIHZlYzVfbSA9ICh2MTZ1OClf
X21zYV9pbHZyX2IoKHYxNmk4KXNyYzNfbSwgKHYxNmk4KXNyYzdfbSk7ICAgICAgICAgICBcCisg
ICAgdmVjNl9tID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjMF9tLCAodjE2aTgpc3Jj
NF9tKTsgICAgICAgICAgIFwKKyAgICB2ZWM3X20gPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2MTZp
OClzcmMxX20sICh2MTZpOClzcmM1X20pOyAgICAgICAgICAgXAorICAgIHZlYzhfbSA9ICh2MTZ1
OClfX21zYV9pbHZsX2IoKHYxNmk4KXNyYzJfbSwgKHYxNmk4KXNyYzZfbSk7ICAgICAgICAgICBc
CisgICAgdmVjOV9tID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjM19tLCAodjE2aTgp
c3JjN19tKTsgICAgICAgICAgIFwKKyAgICByZWcwX20gPSBfX21zYV9oYWRkX3VfaCh2ZWMyX20s
IHZlYzJfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzFfbSA9IF9f
bXNhX2hhZGRfdV9oKHZlYzNfbSwgdmVjM19tKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgcmVnMl9tID0gX19tc2FfaGFkZF91X2godmVjNF9tLCB2ZWM0X20pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWczX20gPSBfX21zYV9oYWRkX3VfaCh2ZWM1
X20sIHZlYzVfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzRfbSA9
IF9fbXNhX2hhZGRfdV9oKHZlYzZfbSwgdmVjNl9tKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgcmVnNV9tID0gX19tc2FfaGFkZF91X2godmVjN19tLCB2ZWM3X20pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWc2X20gPSBfX21zYV9oYWRkX3VfaCh2
ZWM4X20sIHZlYzhfbSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzdf
bSA9IF9fbXNhX2hhZGRfdV9oKHZlYzlfbSwgdmVjOV9tKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgcmVnOF9tID0gKHY4dTE2KV9fbXNhX3Bja2V2X2QoKHYyaTY0KXJlZzRf
bSwgKHYyaTY0KXJlZzBfbSk7ICAgICAgICAgIFwKKyAgICByZWc5X20gPSAodjh1MTYpX19tc2Ff
cGNrZXZfZCgodjJpNjQpcmVnNV9tLCAodjJpNjQpcmVnMV9tKTsgICAgICAgICAgXAorICAgIHJl
ZzhfbSArPSAodjh1MTYpX19tc2FfcGNrb2RfZCgodjJpNjQpcmVnNF9tLCAodjJpNjQpcmVnMF9t
KTsgICAgICAgICBcCisgICAgcmVnOV9tICs9ICh2OHUxNilfX21zYV9wY2tvZF9kKCh2Mmk2NCly
ZWc1X20sICh2Mmk2NClyZWcxX20pOyAgICAgICAgIFwKKyAgICByZWcwX20gPSAodjh1MTYpX19t
c2FfcGNrZXZfZCgodjJpNjQpcmVnNl9tLCAodjJpNjQpcmVnMl9tKTsgICAgICAgICAgXAorICAg
IHJlZzFfbSA9ICh2OHUxNilfX21zYV9wY2tldl9kKCh2Mmk2NClyZWc3X20sICh2Mmk2NClyZWcz
X20pOyAgICAgICAgICBcCisgICAgcmVnMF9tICs9ICh2OHUxNilfX21zYV9wY2tvZF9kKCh2Mmk2
NClyZWc2X20sICh2Mmk2NClyZWcyX20pOyAgICAgICAgIFwKKyAgICByZWcxX20gKz0gKHY4dTE2
KV9fbXNhX3Bja29kX2QoKHYyaTY0KXJlZzdfbSwgKHYyaTY0KXJlZzNfbSk7ICAgICAgICAgXAor
ICAgIHJlZzhfbSA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXJlZzhfbSwgMik7ICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgcmVnOV9tID0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhp
MTYpcmVnOV9tLCAyKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWcwX20gPSAodjh1
MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilyZWcwX20sIDIpOyAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIHJlZzFfbSA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXJlZzFfbSwgMik7ICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgYXJnYjIgPSAodjE2dTgpX19tc2FfcGNrZXZfYigo
djE2aTgpcmVnOV9tLCAodjE2aTgpcmVnOF9tKTsgICAgICAgICAgIFwKKyAgICBhcmdiMyA9ICh2
MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClyZWcxX20sICh2MTZpOClyZWcwX20pOyAgICAgICAg
ICAgXAorICB9CisKKy8vIFRha2VzIEFSR0IgaW5wdXQgYW5kIGNhbGN1bGF0ZXMgVSBhbmQgVi4K
KyNkZWZpbmUgQVJHQlRPVVYoYXJnYjAsIGFyZ2IxLCBhcmdiMiwgYXJnYjMsIGNvbnN0MCwgY29u
c3QxLCBjb25zdDIsIGNvbnN0MywgXAorICAgICAgICAgICAgICAgICBzaGYwLCBzaGYxLCBzaGYy
LCBzaGYzLCB2X291dCwgdV9vdXQpICAgICAgICAgICAgICAgICAgICAgICBcCisgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICB2MTZ1OCB2ZWMwX20sIHZlYzFfbSwgdmVjMl9tLCB2ZWMzX20sIHZl
YzRfbSwgdmVjNV9tLCB2ZWM2X20sIHZlYzdfbTsgICAgXAorICAgIHY4dTE2IHJlZzBfbSwgcmVn
MV9tLCByZWcyX20sIHJlZzNfbTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB2ZWMwX20gPSAodjE2dTgpX19tc2FfdnNoZl9i
KHNoZjAsICh2MTZpOClhcmdiMSwgKHYxNmk4KWFyZ2IwKTsgICAgICAgICAgXAorICAgIHZlYzFf
bSA9ICh2MTZ1OClfX21zYV92c2hmX2Ioc2hmMCwgKHYxNmk4KWFyZ2IzLCAodjE2aTgpYXJnYjIp
OyAgICAgICAgICBcCisgICAgdmVjMl9tID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihzaGYxLCAodjE2
aTgpYXJnYjEsICh2MTZpOClhcmdiMCk7ICAgICAgICAgIFwKKyAgICB2ZWMzX20gPSAodjE2dTgp
X19tc2FfdnNoZl9iKHNoZjEsICh2MTZpOClhcmdiMywgKHYxNmk4KWFyZ2IyKTsgICAgICAgICAg
XAorICAgIHZlYzRfbSA9ICh2MTZ1OClfX21zYV92c2hmX2Ioc2hmMiwgKHYxNmk4KWFyZ2IxLCAo
djE2aTgpYXJnYjApOyAgICAgICAgICBcCisgICAgdmVjNV9tID0gKHYxNnU4KV9fbXNhX3ZzaGZf
YihzaGYyLCAodjE2aTgpYXJnYjMsICh2MTZpOClhcmdiMik7ICAgICAgICAgIFwKKyAgICB2ZWM2
X20gPSAodjE2dTgpX19tc2FfdnNoZl9iKHNoZjMsICh2MTZpOClhcmdiMSwgKHYxNmk4KWFyZ2Iw
KTsgICAgICAgICAgXAorICAgIHZlYzdfbSA9ICh2MTZ1OClfX21zYV92c2hmX2Ioc2hmMywgKHYx
Nmk4KWFyZ2IzLCAodjE2aTgpYXJnYjIpOyAgICAgICAgICBcCisgICAgcmVnMF9tID0gX19tc2Ff
ZG90cF91X2godmVjMF9tLCBjb25zdDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICByZWcxX20gPSBfX21zYV9kb3RwX3VfaCh2ZWMxX20sIGNvbnN0MSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzJfbSA9IF9fbXNhX2RvdHBfdV9oKHZl
YzRfbSwgY29uc3QxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmVn
M19tID0gX19tc2FfZG90cF91X2godmVjNV9tLCBjb25zdDEpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICByZWcwX20gKz0gY29uc3QzOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlZzFfbSArPSBjb25z
dDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgcmVnMl9tICs9IGNvbnN0MzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWczX20gKz0gY29uc3QzOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJl
ZzBfbSAtPSBfX21zYV9kb3RwX3VfaCh2ZWMyX20sIGNvbnN0MCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgcmVnMV9tIC09IF9fbXNhX2RvdHBfdV9oKHZlYzNfbSwgY29u
c3QwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICByZWcyX20gLT0gX19t
c2FfZG90cF91X2godmVjNl9tLCBjb25zdDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIHJlZzNfbSAtPSBfX21zYV9kb3RwX3VfaCh2ZWM3X20sIGNvbnN0Mik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdl9vdXQgPSAodjE2dTgpX19tc2FfcGNr
b2RfYigodjE2aTgpcmVnMV9tLCAodjE2aTgpcmVnMF9tKTsgICAgICAgICAgICAgIFwKKyAgICB1
X291dCA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClyZWczX20sICh2MTZpOClyZWcyX20p
OyAgICAgICAgICAgICAgXAorICB9CisKKy8vIExvYWQgSTQ0NCBwaXhlbCBkYXRhCisjZGVmaW5l
IFJFQURJNDQ0KHBzcmNfeSwgcHNyY191LCBwc3JjX3YsIG91dF95LCBvdXRfdSwgb3V0X3YpIFwK
KyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIHVpbnQ2NCB5X20sIHVfbSwgdl9tOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgdjJpNjQgemVyb19tID0gezB9OyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB5X20gPSBMRChwc3JjX3kpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVfbSA9IExEKHBzcmNfdSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdl9tID0gTEQocHNy
Y192KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBvdXRf
eSA9ICh2MTZ1OClfX21zYV9pbnNlcnRfZCh6ZXJvX20sIDAsIChpbnQ2NCl5X20pOyAgICAgXAor
ICAgIG91dF91ID0gKHYxNnU4KV9fbXNhX2luc2VydF9kKHplcm9fbSwgMCwgKGludDY0KXVfbSk7
ICAgICBcCisgICAgb3V0X3YgPSAodjE2dTgpX19tc2FfaW5zZXJ0X2QoemVyb19tLCAwLCAoaW50
NjQpdl9tKTsgICAgIFwKKyAgfQorCiB2b2lkIE1pcnJvclJvd19NU0EoY29uc3QgdWludDgqIHNy
YywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CiAgIGludCB4OwogICB2MTZ1OCBzcmMwLCBzcmMx
LCBzcmMyLCBzcmMzOwogICB2MTZ1OCBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzOwotICB2MTZpOCBz
aHVmZmxlciA9IHsgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywg
MiwgMSwgMCB9OworICB2MTZpOCBzaHVmZmxlciA9IHsxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5
LCA4LCA3LCA2LCA1LCA0LCAzLCAyLCAxLCAwfTsKICAgc3JjICs9IHdpZHRoIC0gNjQ7CiAKICAg
Zm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDY0KSB7CkBAIC00MCw3ICszMDYsNyBAQCB2b2lk
IEFSR0JNaXJyb3JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0
aCkgewogICBpbnQgeDsKICAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMiwgc3JjMzsKICAgdjE2dTgg
ZHN0MCwgZHN0MSwgZHN0MiwgZHN0MzsKLSAgdjE2aTggc2h1ZmZsZXIgPSB7IDEyLCAxMywgMTQs
IDE1LCA4LCA5LCAxMCwgMTEsIDQsIDUsIDYsIDcsIDAsIDEsIDIsIDMgfTsKKyAgdjE2aTggc2h1
ZmZsZXIgPSB7MTIsIDEzLCAxNCwgMTUsIDgsIDksIDEwLCAxMSwgNCwgNSwgNiwgNywgMCwgMSwg
MiwgM307CiAgIHNyYyArPSB3aWR0aCAqIDQgLSA2NDsKIAogICBmb3IgKHggPSAwOyB4IDwgd2lk
dGg7IHggKz0gMTYpIHsKQEAgLTEwMSwyMiArMzY3LDI5NiBAQCB2b2lkIEk0MjJUb1VZVllSb3df
TVNBKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgfQogfQogCit2b2lkIEk0MjJUb0FSR0JSb3dfTVNB
KGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAorICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3Jj
MjsKKyAgdjhpMTYgdmVjMCwgdmVjMSwgdmVjMjsKKyAgdjRpMzIgdmVjX3ViLCB2ZWNfdnIsIHZl
Y191ZywgdmVjX3ZnLCB2ZWNfYmIsIHZlY19iZywgdmVjX2JyLCB2ZWNfeWc7CisgIHY0aTMyIHZl
Y191YnZyLCB2ZWNfdWd2ZzsKKyAgdjE2dTggYWxwaGEgPSAodjE2dTgpX19tc2FfbGRpX2IoQUxQ
SEFfVkFMKTsKKworICBZVVZUT1JHQl9TRVRVUCh5dXZjb25zdGFudHMsIHZlY191YiwgdmVjX3Zy
LCB2ZWNfdWcsIHZlY192ZywgdmVjX2JiLCB2ZWNfYmcsCisgICAgICAgICAgICAgICAgIHZlY19i
ciwgdmVjX3lnKTsKKyAgdmVjX3VidnIgPSBfX21zYV9pbHZyX3codmVjX3ZyLCB2ZWNfdWIpOwor
ICB2ZWNfdWd2ZyA9ICh2NGkzMilfX21zYV9pbHZldl9oKCh2OGkxNil2ZWNfdmcsICh2OGkxNil2
ZWNfdWcpOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSA4KSB7CisgICAgUkVBRFlV
VjQyMihzcmNfeSwgc3JjX3UsIHNyY192LCBzcmMwLCBzcmMxLCBzcmMyKTsKKyAgICBzcmMxID0g
KHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpc3JjMiwgKHYxNmk4KXNyYzEpOworICAgIFlVVlRP
UkdCKHNyYzAsIHNyYzEsIHZlY191YnZyLCB2ZWNfdWd2ZywgdmVjX2JiLCB2ZWNfYmcsIHZlY19i
ciwgdmVjX3lnLAorICAgICAgICAgICAgIHZlYzAsIHZlYzEsIHZlYzIpOworICAgIFNUT1JFQVJH
Qih2ZWMwLCB2ZWMxLCB2ZWMyLCBhbHBoYSwgcmdiX2J1Zik7CisgICAgc3JjX3kgKz0gODsKKyAg
ICBzcmNfdSArPSA0OworICAgIHNyY192ICs9IDQ7CisgICAgcmdiX2J1ZiArPSAzMjsKKyAgfQor
fQorCit2b2lkIEk0MjJUb1JHQkFSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2Jf
YnVmLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5
dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBpbnQg
eDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMjsKKyAgdjhpMTYgdmVjMCwgdmVjMSwgdmVjMjsK
KyAgdjRpMzIgdmVjX3ViLCB2ZWNfdnIsIHZlY191ZywgdmVjX3ZnLCB2ZWNfYmIsIHZlY19iZywg
dmVjX2JyLCB2ZWNfeWc7CisgIHY0aTMyIHZlY191YnZyLCB2ZWNfdWd2ZzsKKyAgdjE2dTggYWxw
aGEgPSAodjE2dTgpX19tc2FfbGRpX2IoQUxQSEFfVkFMKTsKKworICBZVVZUT1JHQl9TRVRVUCh5
dXZjb25zdGFudHMsIHZlY191YiwgdmVjX3ZyLCB2ZWNfdWcsIHZlY192ZywgdmVjX2JiLCB2ZWNf
YmcsCisgICAgICAgICAgICAgICAgIHZlY19iciwgdmVjX3lnKTsKKyAgdmVjX3VidnIgPSBfX21z
YV9pbHZyX3codmVjX3ZyLCB2ZWNfdWIpOworICB2ZWNfdWd2ZyA9ICh2NGkzMilfX21zYV9pbHZl
dl9oKCh2OGkxNil2ZWNfdmcsICh2OGkxNil2ZWNfdWcpOworCisgIGZvciAoeCA9IDA7IHggPCB3
aWR0aDsgeCArPSA4KSB7CisgICAgUkVBRFlVVjQyMihzcmNfeSwgc3JjX3UsIHNyY192LCBzcmMw
LCBzcmMxLCBzcmMyKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpc3Jj
MiwgKHYxNmk4KXNyYzEpOworICAgIFlVVlRPUkdCKHNyYzAsIHNyYzEsIHZlY191YnZyLCB2ZWNf
dWd2ZywgdmVjX2JiLCB2ZWNfYmcsIHZlY19iciwgdmVjX3lnLAorICAgICAgICAgICAgIHZlYzAs
IHZlYzEsIHZlYzIpOworICAgIFNUT1JFQVJHQihhbHBoYSwgdmVjMCwgdmVjMSwgdmVjMiwgcmdi
X2J1Zik7CisgICAgc3JjX3kgKz0gODsKKyAgICBzcmNfdSArPSA0OworICAgIHNyY192ICs9IDQ7
CisgICAgcmdiX2J1ZiArPSAzMjsKKyAgfQorfQorCit2b2lkIEk0MjJBbHBoYVRvQVJHQlJvd19N
U0EoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIGlu
dDY0IGRhdGFfYTsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMiwgc3JjMzsKKyAgdjhpMTYgdmVj
MCwgdmVjMSwgdmVjMjsKKyAgdjRpMzIgdmVjX3ViLCB2ZWNfdnIsIHZlY191ZywgdmVjX3ZnLCB2
ZWNfYmIsIHZlY19iZywgdmVjX2JyLCB2ZWNfeWc7CisgIHY0aTMyIHZlY191YnZyLCB2ZWNfdWd2
ZzsKKyAgdjRpMzIgemVybyA9IHswfTsKKworICBZVVZUT1JHQl9TRVRVUCh5dXZjb25zdGFudHMs
IHZlY191YiwgdmVjX3ZyLCB2ZWNfdWcsIHZlY192ZywgdmVjX2JiLCB2ZWNfYmcsCisgICAgICAg
ICAgICAgICAgIHZlY19iciwgdmVjX3lnKTsKKyAgdmVjX3VidnIgPSBfX21zYV9pbHZyX3codmVj
X3ZyLCB2ZWNfdWIpOworICB2ZWNfdWd2ZyA9ICh2NGkzMilfX21zYV9pbHZldl9oKCh2OGkxNil2
ZWNfdmcsICh2OGkxNil2ZWNfdWcpOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSA4
KSB7CisgICAgZGF0YV9hID0gTEQoc3JjX2EpOworICAgIFJFQURZVVY0MjIoc3JjX3ksIHNyY191
LCBzcmNfdiwgc3JjMCwgc3JjMSwgc3JjMik7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9pbHZy
X2IoKHYxNmk4KXNyYzIsICh2MTZpOClzcmMxKTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNhX2lu
c2VydF9kKCh2Mmk2NCl6ZXJvLCAwLCBkYXRhX2EpOworICAgIFlVVlRPUkdCKHNyYzAsIHNyYzEs
IHZlY191YnZyLCB2ZWNfdWd2ZywgdmVjX2JiLCB2ZWNfYmcsIHZlY19iciwgdmVjX3lnLAorICAg
ICAgICAgICAgIHZlYzAsIHZlYzEsIHZlYzIpOworICAgIHNyYzMgPSAodjE2dTgpX19tc2FfaWx2
cl9iKCh2MTZpOClzcmMzLCAodjE2aTgpc3JjMyk7CisgICAgU1RPUkVBUkdCKHZlYzAsIHZlYzEs
IHZlYzIsIHNyYzMsIHJnYl9idWYpOworICAgIHNyY195ICs9IDg7CisgICAgc3JjX3UgKz0gNDsK
KyAgICBzcmNfdiArPSA0OworICAgIHNyY19hICs9IDg7CisgICAgcmdiX2J1ZiArPSAzMjsKKyAg
fQorfQorCit2b2lkIEk0MjJUb1JHQjI0Um93X01TQShjb25zdCB1aW50OCogc3JjX3ksCisgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogcmdiX2J1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25z
dGFudHMqIHl1dmNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgIGludDMyIHdpZHRo
KSB7CisgIGludCB4OworICBpbnQ2NCBkYXRhX3UsIGRhdGFfdjsKKyAgdjE2dTggc3JjMCwgc3Jj
MSwgc3JjMiwgc3JjMywgc3JjNCwgZHN0MCwgZHN0MSwgZHN0MjsKKyAgdjhpMTYgdmVjMCwgdmVj
MSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNTsKKyAgdjRpMzIgdmVjX3ViLCB2ZWNfdnIsIHZlY191
ZywgdmVjX3ZnLCB2ZWNfYmIsIHZlY19iZywgdmVjX2JyLCB2ZWNfeWc7CisgIHY0aTMyIHZlY191
YnZyLCB2ZWNfdWd2ZzsKKyAgdjE2dTggcmVnMCwgcmVnMSwgcmVnMiwgcmVnMzsKKyAgdjJpNjQg
emVybyA9IHswfTsKKyAgdjE2aTggc2h1ZmZsZXIwID0gezAsIDEsIDE2LCAyLCAzLCAxNywgNCwg
NSwgMTgsIDYsIDcsIDE5LCA4LCA5LCAyMCwgMTB9OworICB2MTZpOCBzaHVmZmxlcjEgPSB7MCwg
MjEsIDEsIDIsIDIyLCAzLCA0LCAyMywgNSwgNiwgMjQsIDcsIDgsIDI1LCA5LCAxMH07CisgIHYx
Nmk4IHNodWZmbGVyMiA9IHsyNiwgNiwgIDcsICAyNywgOCwgIDksICAyOCwgMTAsCisgICAgICAg
ICAgICAgICAgICAgICAxMSwgMjksIDEyLCAxMywgMzAsIDE0LCAxNSwgMzF9OworCisgIFlVVlRP
UkdCX1NFVFVQKHl1dmNvbnN0YW50cywgdmVjX3ViLCB2ZWNfdnIsIHZlY191ZywgdmVjX3ZnLCB2
ZWNfYmIsIHZlY19iZywKKyAgICAgICAgICAgICAgICAgdmVjX2JyLCB2ZWNfeWcpOworICB2ZWNf
dWJ2ciA9IF9fbXNhX2lsdnJfdyh2ZWNfdnIsIHZlY191Yik7CisgIHZlY191Z3ZnID0gKHY0aTMy
KV9fbXNhX2lsdmV2X2goKHY4aTE2KXZlY192ZywgKHY4aTE2KXZlY191Zyk7CisKKyAgZm9yICh4
ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDE2KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9i
KCh2MTZ1OCopc3JjX3ksIDApOworICAgIGRhdGFfdSA9IExEKHNyY191KTsKKyAgICBkYXRhX3Yg
PSBMRChzcmNfdik7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9pbnNlcnRfZCh6ZXJvLCAwLCBk
YXRhX3UpOworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfaW5zZXJ0X2QoemVybywgMCwgZGF0YV92
KTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpc3JjMiwgKHYxNmk4KXNy
YzEpOworICAgIHNyYzMgPSAodjE2dTgpX19tc2Ffc2xkaV9iKCh2MTZpOClzcmMwLCAodjE2aTgp
c3JjMCwgOCk7CisgICAgc3JjNCA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KXNyYzEsICh2
MTZpOClzcmMxLCA4KTsKKyAgICBZVVZUT1JHQihzcmMwLCBzcmMxLCB2ZWNfdWJ2ciwgdmVjX3Vn
dmcsIHZlY19iYiwgdmVjX2JnLCB2ZWNfYnIsIHZlY195ZywKKyAgICAgICAgICAgICB2ZWMwLCB2
ZWMxLCB2ZWMyKTsKKyAgICBZVVZUT1JHQihzcmMzLCBzcmM0LCB2ZWNfdWJ2ciwgdmVjX3Vndmcs
IHZlY19iYiwgdmVjX2JnLCB2ZWNfYnIsIHZlY195ZywKKyAgICAgICAgICAgICB2ZWMzLCB2ZWM0
LCB2ZWM1KTsKKyAgICByZWcwID0gKHYxNnU4KV9fbXNhX2lsdmV2X2IoKHYxNmk4KXZlYzEsICh2
MTZpOCl2ZWMwKTsKKyAgICByZWcyID0gKHYxNnU4KV9fbXNhX2lsdmV2X2IoKHYxNmk4KXZlYzQs
ICh2MTZpOCl2ZWMzKTsKKyAgICByZWczID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXZl
YzUsICh2MTZpOCl2ZWMyKTsKKyAgICByZWcxID0gKHYxNnU4KV9fbXNhX3NsZGlfYigodjE2aTgp
cmVnMiwgKHYxNmk4KXJlZzAsIDExKTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihz
aHVmZmxlcjAsICh2MTZpOClyZWczLCAodjE2aTgpcmVnMCk7CisgICAgZHN0MSA9ICh2MTZ1OClf
X21zYV92c2hmX2Ioc2h1ZmZsZXIxLCAodjE2aTgpcmVnMywgKHYxNmk4KXJlZzEpOworICAgIGRz
dDIgPSAodjE2dTgpX19tc2FfdnNoZl9iKHNodWZmbGVyMiwgKHYxNmk4KXJlZzMsICh2MTZpOCly
ZWcyKTsKKyAgICBTVF9VQjIoZHN0MCwgZHN0MSwgcmdiX2J1ZiwgMTYpOworICAgIFNUX1VCKGRz
dDIsIChyZ2JfYnVmICsgMzIpKTsKKyAgICBzcmNfeSArPSAxNjsKKyAgICBzcmNfdSArPSA4Owor
ICAgIHNyY192ICs9IDg7CisgICAgcmdiX2J1ZiArPSA0ODsKKyAgfQorfQorCisvLyBUT0RPKGZi
YXJjaGFyZCk6IENvbnNpZGVyIEFORCBpbnN0ZWFkIG9mIHNoaWZ0IHRvIGlzb2xhdGUgNSB1cHBl
ciBiaXRzIG9mIFIuCit2b2lkIEk0MjJUb1JHQjU2NVJvd19NU0EoY29uc3QgdWludDgqIHNyY195
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9yZ2I1NjUsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMiwgZHN0
MDsKKyAgdjhpMTYgdmVjMCwgdmVjMSwgdmVjMjsKKyAgdjRpMzIgdmVjX3ViLCB2ZWNfdnIsIHZl
Y191ZywgdmVjX3ZnLCB2ZWNfYmIsIHZlY19iZywgdmVjX2JyLCB2ZWNfeWc7CisgIHY0aTMyIHZl
Y191YnZyLCB2ZWNfdWd2ZzsKKworICBZVVZUT1JHQl9TRVRVUCh5dXZjb25zdGFudHMsIHZlY191
YiwgdmVjX3ZyLCB2ZWNfdWcsIHZlY192ZywgdmVjX2JiLCB2ZWNfYmcsCisgICAgICAgICAgICAg
ICAgIHZlY19iciwgdmVjX3lnKTsKKyAgdmVjX3VidnIgPSBfX21zYV9pbHZyX3codmVjX3ZyLCB2
ZWNfdWIpOworICB2ZWNfdWd2ZyA9ICh2NGkzMilfX21zYV9pbHZldl9oKCh2OGkxNil2ZWNfdmcs
ICh2OGkxNil2ZWNfdWcpOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSA4KSB7Cisg
ICAgUkVBRFlVVjQyMihzcmNfeSwgc3JjX3UsIHNyY192LCBzcmMwLCBzcmMxLCBzcmMyKTsKKyAg
ICBzcmMxID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpc3JjMiwgKHYxNmk4KXNyYzEpOwor
ICAgIFlVVlRPUkdCKHNyYzAsIHNyYzEsIHZlY191YnZyLCB2ZWNfdWd2ZywgdmVjX2JiLCB2ZWNf
YmcsIHZlY19iciwgdmVjX3lnLAorICAgICAgICAgICAgIHZlYzAsIHZlYzIsIHZlYzEpOworICAg
IHZlYzAgPSBfX21zYV9zcmFpX2godmVjMCwgMyk7CisgICAgdmVjMSA9IF9fbXNhX3NyYWlfaCh2
ZWMxLCAzKTsKKyAgICB2ZWMyID0gX19tc2Ffc3JhaV9oKHZlYzIsIDIpOworICAgIHZlYzEgPSBf
X21zYV9zbGxpX2godmVjMSwgMTEpOworICAgIHZlYzIgPSBfX21zYV9zbGxpX2godmVjMiwgNSk7
CisgICAgdmVjMCB8PSB2ZWMxOworICAgIGRzdDAgPSAodjE2dTgpKHZlYzIgfCB2ZWMwKTsKKyAg
ICBTVF9VQihkc3QwLCBkc3RfcmdiNTY1KTsKKyAgICBzcmNfeSArPSA4OworICAgIHNyY191ICs9
IDQ7CisgICAgc3JjX3YgKz0gNDsKKyAgICBkc3RfcmdiNTY1ICs9IDE2OworICB9Cit9CisKKy8v
IFRPRE8oZmJhcmNoYXJkKTogQ29uc2lkZXIgQU5EIGluc3RlYWQgb2Ygc2hpZnQgdG8gaXNvbGF0
ZSA0IHVwcGVyIGJpdHMgb2YgRy4KK3ZvaWQgSTQyMlRvQVJHQjQ0NDRSb3dfTVNBKGNvbnN0IHVp
bnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYjQ0NDQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4
IHNyYzAsIHNyYzEsIHNyYzIsIGRzdDA7CisgIHY4aTE2IHZlYzAsIHZlYzEsIHZlYzI7CisgIHY4
dTE2IHJlZzAsIHJlZzEsIHJlZzI7CisgIHY0aTMyIHZlY191YiwgdmVjX3ZyLCB2ZWNfdWcsIHZl
Y192ZywgdmVjX2JiLCB2ZWNfYmcsIHZlY19iciwgdmVjX3lnOworICB2NGkzMiB2ZWNfdWJ2ciwg
dmVjX3Vndmc7CisgIHY4dTE2IGNvbnN0XzB4RjAwMCA9ICh2OHUxNilfX21zYV9maWxsX2goMHhG
MDAwKTsKKworICBZVVZUT1JHQl9TRVRVUCh5dXZjb25zdGFudHMsIHZlY191YiwgdmVjX3ZyLCB2
ZWNfdWcsIHZlY192ZywgdmVjX2JiLCB2ZWNfYmcsCisgICAgICAgICAgICAgICAgIHZlY19iciwg
dmVjX3lnKTsKKyAgdmVjX3VidnIgPSBfX21zYV9pbHZyX3codmVjX3ZyLCB2ZWNfdWIpOworICB2
ZWNfdWd2ZyA9ICh2NGkzMilfX21zYV9pbHZldl9oKCh2OGkxNil2ZWNfdmcsICh2OGkxNil2ZWNf
dWcpOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSA4KSB7CisgICAgUkVBRFlVVjQy
MihzcmNfeSwgc3JjX3UsIHNyY192LCBzcmMwLCBzcmMxLCBzcmMyKTsKKyAgICBzcmMxID0gKHYx
NnU4KV9fbXNhX2lsdnJfYigodjE2aTgpc3JjMiwgKHYxNmk4KXNyYzEpOworICAgIFlVVlRPUkdC
KHNyYzAsIHNyYzEsIHZlY191YnZyLCB2ZWNfdWd2ZywgdmVjX2JiLCB2ZWNfYmcsIHZlY19iciwg
dmVjX3lnLAorICAgICAgICAgICAgIHZlYzAsIHZlYzEsIHZlYzIpOworICAgIHJlZzAgPSAodjh1
MTYpX19tc2Ffc3JhaV9oKHZlYzAsIDQpOworICAgIHJlZzEgPSAodjh1MTYpX19tc2Ffc3JhaV9o
KHZlYzEsIDQpOworICAgIHJlZzIgPSAodjh1MTYpX19tc2Ffc3JhaV9oKHZlYzIsIDQpOworICAg
IHJlZzEgPSAodjh1MTYpX19tc2Ffc2xsaV9oKCh2OGkxNilyZWcxLCA0KTsKKyAgICByZWcyID0g
KHY4dTE2KV9fbXNhX3NsbGlfaCgodjhpMTYpcmVnMiwgOCk7CisgICAgcmVnMSB8PSBjb25zdF8w
eEYwMDA7CisgICAgcmVnMCB8PSByZWcyOworICAgIGRzdDAgPSAodjE2dTgpKHJlZzEgfCByZWcw
KTsKKyAgICBTVF9VQihkc3QwLCBkc3RfYXJnYjQ0NDQpOworICAgIHNyY195ICs9IDg7CisgICAg
c3JjX3UgKz0gNDsKKyAgICBzcmNfdiArPSA0OworICAgIGRzdF9hcmdiNDQ0NCArPSAxNjsKKyAg
fQorfQorCit2b2lkIEk0MjJUb0FSR0IxNTU1Um93X01TQShjb25zdCB1aW50OCogc3JjX3ksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IxNTU1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBzcmMxLCBz
cmMyLCBkc3QwOworICB2OGkxNiB2ZWMwLCB2ZWMxLCB2ZWMyOworICB2OHUxNiByZWcwLCByZWcx
LCByZWcyOworICB2NGkzMiB2ZWNfdWIsIHZlY192ciwgdmVjX3VnLCB2ZWNfdmcsIHZlY19iYiwg
dmVjX2JnLCB2ZWNfYnIsIHZlY195ZzsKKyAgdjRpMzIgdmVjX3VidnIsIHZlY191Z3ZnOworICB2
OHUxNiBjb25zdF8weDgwMDAgPSAodjh1MTYpX19tc2FfZmlsbF9oKDB4ODAwMCk7CisKKyAgWVVW
VE9SR0JfU0VUVVAoeXV2Y29uc3RhbnRzLCB2ZWNfdWIsIHZlY192ciwgdmVjX3VnLCB2ZWNfdmcs
IHZlY19iYiwgdmVjX2JnLAorICAgICAgICAgICAgICAgICB2ZWNfYnIsIHZlY195Zyk7CisgIHZl
Y191YnZyID0gX19tc2FfaWx2cl93KHZlY192ciwgdmVjX3ViKTsKKyAgdmVjX3VndmcgPSAodjRp
MzIpX19tc2FfaWx2ZXZfaCgodjhpMTYpdmVjX3ZnLCAodjhpMTYpdmVjX3VnKTsKKworICBmb3Ig
KHggPSAwOyB4IDwgd2lkdGg7IHggKz0gOCkgeworICAgIFJFQURZVVY0MjIoc3JjX3ksIHNyY191
LCBzcmNfdiwgc3JjMCwgc3JjMSwgc3JjMik7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9pbHZy
X2IoKHYxNmk4KXNyYzIsICh2MTZpOClzcmMxKTsKKyAgICBZVVZUT1JHQihzcmMwLCBzcmMxLCB2
ZWNfdWJ2ciwgdmVjX3VndmcsIHZlY19iYiwgdmVjX2JnLCB2ZWNfYnIsIHZlY195ZywKKyAgICAg
ICAgICAgICB2ZWMwLCB2ZWMxLCB2ZWMyKTsKKyAgICByZWcwID0gKHY4dTE2KV9fbXNhX3NyYWlf
aCh2ZWMwLCAzKTsKKyAgICByZWcxID0gKHY4dTE2KV9fbXNhX3NyYWlfaCh2ZWMxLCAzKTsKKyAg
ICByZWcyID0gKHY4dTE2KV9fbXNhX3NyYWlfaCh2ZWMyLCAzKTsKKyAgICByZWcxID0gKHY4dTE2
KV9fbXNhX3NsbGlfaCgodjhpMTYpcmVnMSwgNSk7CisgICAgcmVnMiA9ICh2OHUxNilfX21zYV9z
bGxpX2goKHY4aTE2KXJlZzIsIDEwKTsKKyAgICByZWcxIHw9IGNvbnN0XzB4ODAwMDsKKyAgICBy
ZWcwIHw9IHJlZzI7CisgICAgZHN0MCA9ICh2MTZ1OCkocmVnMSB8IHJlZzApOworICAgIFNUX1VC
KGRzdDAsIGRzdF9hcmdiMTU1NSk7CisgICAgc3JjX3kgKz0gODsKKyAgICBzcmNfdSArPSA0Owor
ICAgIHNyY192ICs9IDQ7CisgICAgZHN0X2FyZ2IxNTU1ICs9IDE2OworICB9Cit9CisKIHZvaWQg
WVVZMlRvWVJvd19NU0EoY29uc3QgdWludDgqIHNyY195dXkyLCB1aW50OCogZHN0X3ksIGludCB3
aWR0aCkgewogICBpbnQgeDsKICAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgZHN0MCwg
ZHN0MTsKIAogICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMzIpIHsKICAgICBMRF9VQjQo
c3JjX3l1eTIsIDE2LCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBkc3QwID0gKHYxNnU4
KSBfX21zYV9wY2tldl9iKCh2MTZpOCkgc3JjMSwgKHYxNmk4KSBzcmMwKTsKLSAgICBkc3QxID0g
KHYxNnU4KSBfX21zYV9wY2tldl9iKCh2MTZpOCkgc3JjMywgKHYxNmk4KSBzcmMyKTsKKyAgICBk
c3QwID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXNyYzEsICh2MTZpOClzcmMwKTsKKyAg
ICBkc3QxID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXNyYzMsICh2MTZpOClzcmMyKTsK
ICAgICBTVF9VQjIoZHN0MCwgZHN0MSwgZHN0X3ksIDE2KTsKICAgICBzcmNfeXV5MiArPSA2NDsK
ICAgICBkc3RfeSArPSAzMjsKICAgfQogfQogCi12b2lkIFlVWTJUb1VWUm93X01TQShjb25zdCB1
aW50OCogc3JjX3l1eTIsIGludCBzcmNfc3RyaWRlX3l1eTIsCi0gICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2b2lkIFlVWTJUb1VW
Um93X01TQShjb25zdCB1aW50OCogc3JjX3l1eTIsCisgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZV95dXkyLAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfeXV5Ml9uZXh0ID0gc3JjX3l1eTIgKyBzcmNf
c3RyaWRlX3l1eTI7CiAgIGludCB4OwogICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBz
cmM0LCBzcmM1LCBzcmM2LCBzcmM3OwpAQCAtMTI1LDE0ICs2NjUsMTQgQEAgdm9pZCBZVVkyVG9V
VlJvd19NU0EoY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3JjX3N0cmlkZV95dXkyLAogICBm
b3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMzIpIHsKICAgICBMRF9VQjQoc3JjX3l1eTIsIDE2
LCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKICAgICBMRF9VQjQoc3JjX3l1eTJfbmV4dCwgMTYs
IHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcpOwotICAgIHNyYzAgPSAodjE2dTgpIF9fbXNhX3Bja29k
X2IoKHYxNmk4KSBzcmMxLCAodjE2aTgpIHNyYzApOwotICAgIHNyYzEgPSAodjE2dTgpIF9fbXNh
X3Bja29kX2IoKHYxNmk4KSBzcmMzLCAodjE2aTgpIHNyYzIpOwotICAgIHNyYzIgPSAodjE2dTgp
IF9fbXNhX3Bja29kX2IoKHYxNmk4KSBzcmM1LCAodjE2aTgpIHNyYzQpOwotICAgIHNyYzMgPSAo
djE2dTgpIF9fbXNhX3Bja29kX2IoKHYxNmk4KSBzcmM3LCAodjE2aTgpIHNyYzYpOworICAgIHNy
YzAgPSAodjE2dTgpX19tc2FfcGNrb2RfYigodjE2aTgpc3JjMSwgKHYxNmk4KXNyYzApOworICAg
IHNyYzEgPSAodjE2dTgpX19tc2FfcGNrb2RfYigodjE2aTgpc3JjMywgKHYxNmk4KXNyYzIpOwor
ICAgIHNyYzIgPSAodjE2dTgpX19tc2FfcGNrb2RfYigodjE2aTgpc3JjNSwgKHYxNmk4KXNyYzQp
OworICAgIHNyYzMgPSAodjE2dTgpX19tc2FfcGNrb2RfYigodjE2aTgpc3JjNywgKHYxNmk4KXNy
YzYpOwogICAgIHZlYzAgPSBfX21zYV9hdmVyX3VfYihzcmMwLCBzcmMyKTsKICAgICB2ZWMxID0g
X19tc2FfYXZlcl91X2Ioc3JjMSwgc3JjMyk7Ci0gICAgZHN0MCA9ICh2MTZ1OCkgX19tc2FfcGNr
ZXZfYigodjE2aTgpIHZlYzEsICh2MTZpOCkgdmVjMCk7Ci0gICAgZHN0MSA9ICh2MTZ1OCkgX19t
c2FfcGNrb2RfYigodjE2aTgpIHZlYzEsICh2MTZpOCkgdmVjMCk7CisgICAgZHN0MCA9ICh2MTZ1
OClfX21zYV9wY2tldl9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgZHN0MSA9ICh2
MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CiAgICAgU1RfVUIo
ZHN0MCwgZHN0X3UpOwogICAgIFNUX1VCKGRzdDEsIGRzdF92KTsKICAgICBzcmNfeXV5MiArPSA2
NDsKQEAgLTE0MiwxNyArNjgyLDE5IEBAIHZvaWQgWVVZMlRvVVZSb3dfTVNBKGNvbnN0IHVpbnQ4
KiBzcmNfeXV5MiwgaW50IHNyY19zdHJpZGVfeXV5MiwKICAgfQogfQogCi12b2lkIFlVWTJUb1VW
NDIyUm93X01TQShjb25zdCB1aW50OCogc3JjX3l1eTIsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRz
dF92LAordm9pZCBZVVkyVG9VVjQyMlJvd19NU0EoY29uc3QgdWludDgqIHNyY195dXkyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF92LAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAg
IGludCB4OwogICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBkc3QwLCBkc3QxOwogCiAg
IGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSAzMikgewogICAgIExEX1VCNChzcmNfeXV5Miwg
MTYsIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMpOwotICAgIHNyYzAgPSAodjE2dTgpIF9fbXNhX3Bj
a29kX2IoKHYxNmk4KSBzcmMxLCAodjE2aTgpIHNyYzApOwotICAgIHNyYzEgPSAodjE2dTgpIF9f
bXNhX3Bja29kX2IoKHYxNmk4KSBzcmMzLCAodjE2aTgpIHNyYzIpOwotICAgIGRzdDAgPSAodjE2
dTgpIF9fbXNhX3Bja2V2X2IoKHYxNmk4KSBzcmMxLCAodjE2aTgpIHNyYzApOwotICAgIGRzdDEg
PSAodjE2dTgpIF9fbXNhX3Bja29kX2IoKHYxNmk4KSBzcmMxLCAodjE2aTgpIHNyYzApOworICAg
IHNyYzAgPSAodjE2dTgpX19tc2FfcGNrb2RfYigodjE2aTgpc3JjMSwgKHYxNmk4KXNyYzApOwor
ICAgIHNyYzEgPSAodjE2dTgpX19tc2FfcGNrb2RfYigodjE2aTgpc3JjMywgKHYxNmk4KXNyYzIp
OworICAgIGRzdDAgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgpc3JjMSwgKHYxNmk4KXNy
YzApOworICAgIGRzdDEgPSAodjE2dTgpX19tc2FfcGNrb2RfYigodjE2aTgpc3JjMSwgKHYxNmk4
KXNyYzApOwogICAgIFNUX1VCKGRzdDAsIGRzdF91KTsKICAgICBTVF9VQihkc3QxLCBkc3Rfdik7
CiAgICAgc3JjX3l1eTIgKz0gNjQ7CkBAIC0xNjcsMTcgKzcwOSwyMCBAQCB2b2lkIFVZVllUb1lS
b3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsK
IAogICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMzIpIHsKICAgICBMRF9VQjQoc3JjX3V5
dnksIDE2LCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsKLSAgICBkc3QwID0gKHYxNnU4KSBfX21z
YV9wY2tvZF9iKCh2MTZpOCkgc3JjMSwgKHYxNmk4KSBzcmMwKTsKLSAgICBkc3QxID0gKHYxNnU4
KSBfX21zYV9wY2tvZF9iKCh2MTZpOCkgc3JjMywgKHYxNmk4KSBzcmMyKTsKKyAgICBkc3QwID0g
KHYxNnU4KV9fbXNhX3Bja29kX2IoKHYxNmk4KXNyYzEsICh2MTZpOClzcmMwKTsKKyAgICBkc3Qx
ID0gKHYxNnU4KV9fbXNhX3Bja29kX2IoKHYxNmk4KXNyYzMsICh2MTZpOClzcmMyKTsKICAgICBT
VF9VQjIoZHN0MCwgZHN0MSwgZHN0X3ksIDE2KTsKICAgICBzcmNfdXl2eSArPSA2NDsKICAgICBk
c3RfeSArPSAzMjsKICAgfQogfQogCi12b2lkIFVZVllUb1VWUm93X01TQShjb25zdCB1aW50OCog
c3JjX3V5dnksIGludCBzcmNfc3RyaWRlX3V5dnksCi0gICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Ci0gIGNvbnN0IHVpbnQ4ICpzcmNf
dXl2eV9uZXh0ID0gc3JjX3V5dnkgKyBzcmNfc3RyaWRlX3V5dnk7Cit2b2lkIFVZVllUb1VWUm93
X01TQShjb25zdCB1aW50OCogc3JjX3V5dnksCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZV91eXZ5LAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSB7CisgIGNvbnN0IHVpbnQ4KiBzcmNfdXl2eV9uZXh0ID0gc3JjX3V5dnkgKyBzcmNfc3Ry
aWRlX3V5dnk7CiAgIGludCB4OwogICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0
LCBzcmM1LCBzcmM2LCBzcmM3OwogICB2MTZ1OCB2ZWMwLCB2ZWMxLCBkc3QwLCBkc3QxOwpAQCAt
MTg1LDE0ICs3MzAsMTQgQEAgdm9pZCBVWVZZVG9VVlJvd19NU0EoY29uc3QgdWludDgqIHNyY191
eXZ5LCBpbnQgc3JjX3N0cmlkZV91eXZ5LAogICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0g
MzIpIHsKICAgICBMRF9VQjQoc3JjX3V5dnksIDE2LCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzKTsK
ICAgICBMRF9VQjQoc3JjX3V5dnlfbmV4dCwgMTYsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcpOwot
ICAgIHNyYzAgPSAodjE2dTgpIF9fbXNhX3Bja2V2X2IoKHYxNmk4KSBzcmMxLCAodjE2aTgpIHNy
YzApOwotICAgIHNyYzEgPSAodjE2dTgpIF9fbXNhX3Bja2V2X2IoKHYxNmk4KSBzcmMzLCAodjE2
aTgpIHNyYzIpOwotICAgIHNyYzIgPSAodjE2dTgpIF9fbXNhX3Bja2V2X2IoKHYxNmk4KSBzcmM1
LCAodjE2aTgpIHNyYzQpOwotICAgIHNyYzMgPSAodjE2dTgpIF9fbXNhX3Bja2V2X2IoKHYxNmk4
KSBzcmM3LCAodjE2aTgpIHNyYzYpOworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfcGNrZXZfYigo
djE2aTgpc3JjMSwgKHYxNmk4KXNyYzApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfcGNrZXZf
YigodjE2aTgpc3JjMywgKHYxNmk4KXNyYzIpOworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfcGNr
ZXZfYigodjE2aTgpc3JjNSwgKHYxNmk4KXNyYzQpOworICAgIHNyYzMgPSAodjE2dTgpX19tc2Ff
cGNrZXZfYigodjE2aTgpc3JjNywgKHYxNmk4KXNyYzYpOwogICAgIHZlYzAgPSBfX21zYV9hdmVy
X3VfYihzcmMwLCBzcmMyKTsKICAgICB2ZWMxID0gX19tc2FfYXZlcl91X2Ioc3JjMSwgc3JjMyk7
Ci0gICAgZHN0MCA9ICh2MTZ1OCkgX19tc2FfcGNrZXZfYigodjE2aTgpIHZlYzEsICh2MTZpOCkg
dmVjMCk7Ci0gICAgZHN0MSA9ICh2MTZ1OCkgX19tc2FfcGNrb2RfYigodjE2aTgpIHZlYzEsICh2
MTZpOCkgdmVjMCk7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOCl2ZWMx
LCAodjE2aTgpdmVjMCk7CisgICAgZHN0MSA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOCl2
ZWMxLCAodjE2aTgpdmVjMCk7CiAgICAgU1RfVUIoZHN0MCwgZHN0X3UpOwogICAgIFNUX1VCKGRz
dDEsIGRzdF92KTsKICAgICBzcmNfdXl2eSArPSA2NDsKQEAgLTIwMiwxNyArNzQ3LDE5IEBAIHZv
aWQgVVlWWVRvVVZSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgaW50IHNyY19zdHJpZGVf
dXl2eSwKICAgfQogfQogCi12b2lkIFVZVllUb1VWNDIyUm93X01TQShjb25zdCB1aW50OCogc3Jj
X3V5dnksIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAordm9pZCBVWVZZVG9VVjQyMlJvd19N
U0EoY29uc3QgdWludDgqIHNyY191eXZ5LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAogICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGludCB4OwogICB2MTZ1OCBzcmMwLCBzcmMx
LCBzcmMyLCBzcmMzLCBkc3QwLCBkc3QxOwogCiAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCAr
PSAzMikgewogICAgIExEX1VCNChzcmNfdXl2eSwgMTYsIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMp
OwotICAgIHNyYzAgPSAodjE2dTgpIF9fbXNhX3Bja2V2X2IoKHYxNmk4KSBzcmMxLCAodjE2aTgp
IHNyYzApOwotICAgIHNyYzEgPSAodjE2dTgpIF9fbXNhX3Bja2V2X2IoKHYxNmk4KSBzcmMzLCAo
djE2aTgpIHNyYzIpOwotICAgIGRzdDAgPSAodjE2dTgpIF9fbXNhX3Bja2V2X2IoKHYxNmk4KSBz
cmMxLCAodjE2aTgpIHNyYzApOwotICAgIGRzdDEgPSAodjE2dTgpIF9fbXNhX3Bja29kX2IoKHYx
Nmk4KSBzcmMxLCAodjE2aTgpIHNyYzApOworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfcGNrZXZf
YigodjE2aTgpc3JjMSwgKHYxNmk4KXNyYzApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfcGNr
ZXZfYigodjE2aTgpc3JjMywgKHYxNmk4KXNyYzIpOworICAgIGRzdDAgPSAodjE2dTgpX19tc2Ff
cGNrZXZfYigodjE2aTgpc3JjMSwgKHYxNmk4KXNyYzApOworICAgIGRzdDEgPSAodjE2dTgpX19t
c2FfcGNrb2RfYigodjE2aTgpc3JjMSwgKHYxNmk4KXNyYzApOwogICAgIFNUX1VCKGRzdDAsIGRz
dF91KTsKICAgICBTVF9VQihkc3QxLCBkc3Rfdik7CiAgICAgc3JjX3V5dnkgKz0gNjQ7CkBAIC0y
MjUsMjcgKzc3MiwyNyBAQCB2b2lkIEFSR0JUb1lSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjAsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CiAgIGludCB4OwogICB2MTZ1OCBzcmMwLCBz
cmMxLCBzcmMyLCBzcmMzLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCBkc3QwOwogICB2OHUxNiBy
ZWcwLCByZWcxLCByZWcyLCByZWczLCByZWc0LCByZWc1OwotICB2MTZpOCB6ZXJvID0geyAwIH07
Ci0gIHY4dTE2IGNvbnN0XzB4MTkgPSAodjh1MTYpIF9fbXNhX2xkaV9oKDB4MTkpOwotICB2OHUx
NiBjb25zdF8weDgxID0gKHY4dTE2KSBfX21zYV9sZGlfaCgweDgxKTsKLSAgdjh1MTYgY29uc3Rf
MHg0MiA9ICh2OHUxNikgX19tc2FfbGRpX2goMHg0Mik7Ci0gIHY4dTE2IGNvbnN0XzB4MTA4MCA9
ICh2OHUxNikgX19tc2FfZmlsbF9oKDB4MTA4MCk7CisgIHYxNmk4IHplcm8gPSB7MH07CisgIHY4
dTE2IGNvbnN0XzB4MTkgPSAodjh1MTYpX19tc2FfbGRpX2goMHgxOSk7CisgIHY4dTE2IGNvbnN0
XzB4ODEgPSAodjh1MTYpX19tc2FfbGRpX2goMHg4MSk7CisgIHY4dTE2IGNvbnN0XzB4NDIgPSAo
djh1MTYpX19tc2FfbGRpX2goMHg0Mik7CisgIHY4dTE2IGNvbnN0XzB4MTA4MCA9ICh2OHUxNilf
X21zYV9maWxsX2goMHgxMDgwKTsKIAogICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMTYp
IHsKLSAgICBzcmMwID0gKHYxNnU4KSBfX21zYV9sZF9iKCh2MTZ1OCopIHNyY19hcmdiMCwgMCk7
Ci0gICAgc3JjMSA9ICh2MTZ1OCkgX19tc2FfbGRfYigodjE2dTgqKSBzcmNfYXJnYjAsIDE2KTsK
LSAgICBzcmMyID0gKHYxNnU4KSBfX21zYV9sZF9iKCh2MTZ1OCopIHNyY19hcmdiMCwgMzIpOwot
ICAgIHNyYzMgPSAodjE2dTgpIF9fbXNhX2xkX2IoKHYxNnU4Kikgc3JjX2FyZ2IwLCA0OCk7Ci0g
ICAgdmVjMCA9ICh2MTZ1OCkgX19tc2FfcGNrZXZfYigodjE2aTgpIHNyYzEsICh2MTZpOCkgc3Jj
MCk7Ci0gICAgdmVjMSA9ICh2MTZ1OCkgX19tc2FfcGNrZXZfYigodjE2aTgpIHNyYzMsICh2MTZp
OCkgc3JjMik7Ci0gICAgdmVjMiA9ICh2MTZ1OCkgX19tc2FfcGNrb2RfYigodjE2aTgpIHNyYzEs
ICh2MTZpOCkgc3JjMCk7Ci0gICAgdmVjMyA9ICh2MTZ1OCkgX19tc2FfcGNrb2RfYigodjE2aTgp
IHNyYzMsICh2MTZpOCkgc3JjMik7Ci0gICAgcmVnMCA9ICh2OHUxNikgX19tc2FfaWx2ZXZfYih6
ZXJvLCAodjE2aTgpIHZlYzApOwotICAgIHJlZzEgPSAodjh1MTYpIF9fbXNhX2lsdmV2X2IoemVy
bywgKHYxNmk4KSB2ZWMxKTsKLSAgICByZWcyID0gKHY4dTE2KSBfX21zYV9pbHZldl9iKHplcm8s
ICh2MTZpOCkgdmVjMik7Ci0gICAgcmVnMyA9ICh2OHUxNikgX19tc2FfaWx2ZXZfYih6ZXJvLCAo
djE2aTgpIHZlYzMpOwotICAgIHJlZzQgPSAodjh1MTYpIF9fbXNhX2lsdm9kX2IoemVybywgKHYx
Nmk4KSB2ZWMwKTsKLSAgICByZWc1ID0gKHY4dTE2KSBfX21zYV9pbHZvZF9iKHplcm8sICh2MTZp
OCkgdmVjMSk7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZ1OCopc3JjX2FyZ2Iw
LCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDE2
KTsKKyAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDMyKTsK
KyAgICBzcmMzID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDQ4KTsKKyAg
ICB2ZWMwID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXNyYzEsICh2MTZpOClzcmMwKTsK
KyAgICB2ZWMxID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXNyYzMsICh2MTZpOClzcmMy
KTsKKyAgICB2ZWMyID0gKHYxNnU4KV9fbXNhX3Bja29kX2IoKHYxNmk4KXNyYzEsICh2MTZpOClz
cmMwKTsKKyAgICB2ZWMzID0gKHYxNnU4KV9fbXNhX3Bja29kX2IoKHYxNmk4KXNyYzMsICh2MTZp
OClzcmMyKTsKKyAgICByZWcwID0gKHY4dTE2KV9fbXNhX2lsdmV2X2IoemVybywgKHYxNmk4KXZl
YzApOworICAgIHJlZzEgPSAodjh1MTYpX19tc2FfaWx2ZXZfYih6ZXJvLCAodjE2aTgpdmVjMSk7
CisgICAgcmVnMiA9ICh2OHUxNilfX21zYV9pbHZldl9iKHplcm8sICh2MTZpOCl2ZWMyKTsKKyAg
ICByZWczID0gKHY4dTE2KV9fbXNhX2lsdmV2X2IoemVybywgKHYxNmk4KXZlYzMpOworICAgIHJl
ZzQgPSAodjh1MTYpX19tc2FfaWx2b2RfYih6ZXJvLCAodjE2aTgpdmVjMCk7CisgICAgcmVnNSA9
ICh2OHUxNilfX21zYV9pbHZvZF9iKHplcm8sICh2MTZpOCl2ZWMxKTsKICAgICByZWcwICo9IGNv
bnN0XzB4MTk7CiAgICAgcmVnMSAqPSBjb25zdF8weDE5OwogICAgIHJlZzIgKj0gY29uc3RfMHg4
MTsKQEAgLTI1OCw5MyArODA1LDk2IEBAIHZvaWQgQVJHQlRvWVJvd19NU0EoY29uc3QgdWludDgq
IHNyY19hcmdiMCwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKICAgICByZWcxICs9IHJlZzU7
CiAgICAgcmVnMCArPSBjb25zdF8weDEwODA7CiAgICAgcmVnMSArPSBjb25zdF8weDEwODA7Ci0g
ICAgcmVnMCA9ICh2OHUxNikgX19tc2Ffc3JhaV9oKCh2OGkxNikgcmVnMCwgOCk7Ci0gICAgcmVn
MSA9ICh2OHUxNikgX19tc2Ffc3JhaV9oKCh2OGkxNikgcmVnMSwgOCk7Ci0gICAgZHN0MCA9ICh2
MTZ1OCkgX19tc2FfcGNrZXZfYigodjE2aTgpIHJlZzEsICh2MTZpOCkgcmVnMCk7CisgICAgcmVn
MCA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXJlZzAsIDgpOworICAgIHJlZzEgPSAodjh1
MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilyZWcxLCA4KTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNh
X3Bja2V2X2IoKHYxNmk4KXJlZzEsICh2MTZpOClyZWcwKTsKICAgICBTVF9VQihkc3QwLCBkc3Rf
eSk7CiAgICAgc3JjX2FyZ2IwICs9IDY0OwogICAgIGRzdF95ICs9IDE2OwogICB9CiB9CiAKLXZv
aWQgQVJHQlRvVVZSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRl
X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rfdiwg
aW50IHdpZHRoKSB7Cit2b2lkIEFSR0JUb1VWUm93X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2Iw
LAorICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
diwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBpbnQgeDsKICAgY29uc3Qg
dWludDgqIHNyY19hcmdiMF9uZXh0ID0gc3JjX2FyZ2IwICsgc3JjX3N0cmlkZV9hcmdiOwogICB2
MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3OwogICB2
MTZ1OCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3LCB2ZWM4
LCB2ZWM5OwogICB2OHUxNiByZWcwLCByZWcxLCByZWcyLCByZWczLCByZWc0LCByZWc1LCByZWc2
LCByZWc3LCByZWc4LCByZWc5OwogICB2MTZ1OCBkc3QwLCBkc3QxOwotICB2OHUxNiBjb25zdF8w
eDcwID0gKHY4dTE2KSBfX21zYV9sZGlfaCgweDcwKTsKLSAgdjh1MTYgY29uc3RfMHg0QSA9ICh2
OHUxNikgX19tc2FfbGRpX2goMHg0QSk7Ci0gIHY4dTE2IGNvbnN0XzB4MjYgPSAodjh1MTYpIF9f
bXNhX2xkaV9oKDB4MjYpOwotICB2OHUxNiBjb25zdF8weDVFID0gKHY4dTE2KSBfX21zYV9sZGlf
aCgweDVFKTsKLSAgdjh1MTYgY29uc3RfMHgxMiA9ICh2OHUxNikgX19tc2FfbGRpX2goMHgxMik7
Ci0gIHY4dTE2IGNvbnN0XzB4ODA4MCA9ICh2OHUxNikgX19tc2FfZmlsbF9oKDB4ODA4MCk7Cisg
IHY4dTE2IGNvbnN0XzB4NzAgPSAodjh1MTYpX19tc2FfbGRpX2goMHg3MCk7CisgIHY4dTE2IGNv
bnN0XzB4NEEgPSAodjh1MTYpX19tc2FfbGRpX2goMHg0QSk7CisgIHY4dTE2IGNvbnN0XzB4MjYg
PSAodjh1MTYpX19tc2FfbGRpX2goMHgyNik7CisgIHY4dTE2IGNvbnN0XzB4NUUgPSAodjh1MTYp
X19tc2FfbGRpX2goMHg1RSk7CisgIHY4dTE2IGNvbnN0XzB4MTIgPSAodjh1MTYpX19tc2FfbGRp
X2goMHgxMik7CisgIHY4dTE2IGNvbnN0XzB4ODA4MCA9ICh2OHUxNilfX21zYV9maWxsX2goMHg4
MDgwKTsKIAogICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMzIpIHsKLSAgICBzcmMwID0g
KHYxNnU4KSBfX21zYV9sZF9iKCh2MTZ1OCopIHNyY19hcmdiMCwgMCk7Ci0gICAgc3JjMSA9ICh2
MTZ1OCkgX19tc2FfbGRfYigodjE2dTgqKSBzcmNfYXJnYjAsIDE2KTsKLSAgICBzcmMyID0gKHYx
NnU4KSBfX21zYV9sZF9iKCh2MTZ1OCopIHNyY19hcmdiMCwgMzIpOwotICAgIHNyYzMgPSAodjE2
dTgpIF9fbXNhX2xkX2IoKHYxNnU4Kikgc3JjX2FyZ2IwLCA0OCk7Ci0gICAgc3JjNCA9ICh2MTZ1
OCkgX19tc2FfbGRfYigodjE2dTgqKSBzcmNfYXJnYjAsIDY0KTsKLSAgICBzcmM1ID0gKHYxNnU4
KSBfX21zYV9sZF9iKCh2MTZ1OCopIHNyY19hcmdiMCwgODApOwotICAgIHNyYzYgPSAodjE2dTgp
IF9fbXNhX2xkX2IoKHYxNnU4Kikgc3JjX2FyZ2IwLCA5Nik7Ci0gICAgc3JjNyA9ICh2MTZ1OCkg
X19tc2FfbGRfYigodjE2dTgqKSBzcmNfYXJnYjAsIDExMik7Ci0gICAgdmVjMCA9ICh2MTZ1OCkg
X19tc2FfcGNrZXZfYigodjE2aTgpIHNyYzEsICh2MTZpOCkgc3JjMCk7Ci0gICAgdmVjMSA9ICh2
MTZ1OCkgX19tc2FfcGNrZXZfYigodjE2aTgpIHNyYzMsICh2MTZpOCkgc3JjMik7Ci0gICAgdmVj
MiA9ICh2MTZ1OCkgX19tc2FfcGNrZXZfYigodjE2aTgpIHNyYzUsICh2MTZpOCkgc3JjNCk7Ci0g
ICAgdmVjMyA9ICh2MTZ1OCkgX19tc2FfcGNrZXZfYigodjE2aTgpIHNyYzcsICh2MTZpOCkgc3Jj
Nik7Ci0gICAgdmVjNCA9ICh2MTZ1OCkgX19tc2FfcGNrb2RfYigodjE2aTgpIHNyYzEsICh2MTZp
OCkgc3JjMCk7Ci0gICAgdmVjNSA9ICh2MTZ1OCkgX19tc2FfcGNrb2RfYigodjE2aTgpIHNyYzMs
ICh2MTZpOCkgc3JjMik7Ci0gICAgdmVjNiA9ICh2MTZ1OCkgX19tc2FfcGNrb2RfYigodjE2aTgp
IHNyYzUsICh2MTZpOCkgc3JjNCk7Ci0gICAgdmVjNyA9ICh2MTZ1OCkgX19tc2FfcGNrb2RfYigo
djE2aTgpIHNyYzcsICh2MTZpOCkgc3JjNik7Ci0gICAgdmVjOCA9ICh2MTZ1OCkgX19tc2FfcGNr
ZXZfYigodjE2aTgpIHZlYzEsICh2MTZpOCkgdmVjMCk7Ci0gICAgdmVjOSA9ICh2MTZ1OCkgX19t
c2FfcGNrZXZfYigodjE2aTgpIHZlYzMsICh2MTZpOCkgdmVjMik7Ci0gICAgdmVjNCA9ICh2MTZ1
OCkgX19tc2FfcGNrZXZfYigodjE2aTgpIHZlYzUsICh2MTZpOCkgdmVjNCk7Ci0gICAgdmVjNSA9
ICh2MTZ1OCkgX19tc2FfcGNrZXZfYigodjE2aTgpIHZlYzcsICh2MTZpOCkgdmVjNik7Ci0gICAg
dmVjMCA9ICh2MTZ1OCkgX19tc2FfcGNrb2RfYigodjE2aTgpIHZlYzEsICh2MTZpOCkgdmVjMCk7
Ci0gICAgdmVjMSA9ICh2MTZ1OCkgX19tc2FfcGNrb2RfYigodjE2aTgpIHZlYzMsICh2MTZpOCkg
dmVjMik7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZ1OCopc3JjX2FyZ2IwLCAw
KTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDE2KTsK
KyAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDMyKTsKKyAg
ICBzcmMzID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDQ4KTsKKyAgICBz
cmM0ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDY0KTsKKyAgICBzcmM1
ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDgwKTsKKyAgICBzcmM2ID0g
KHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDk2KTsKKyAgICBzcmM3ID0gKHYx
NnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjAsIDExMik7CisgICAgdmVjMCA9ICh2MTZ1
OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3JjMCk7CisgICAgdmVjMSA9ICh2
MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmMzLCAodjE2aTgpc3JjMik7CisgICAgdmVjMiA9
ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmM1LCAodjE2aTgpc3JjNCk7CisgICAgdmVj
MyA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmM3LCAodjE2aTgpc3JjNik7CisgICAg
dmVjNCA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3JjMCk7Cisg
ICAgdmVjNSA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmMzLCAodjE2aTgpc3JjMik7
CisgICAgdmVjNiA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmM1LCAodjE2aTgpc3Jj
NCk7CisgICAgdmVjNyA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmM3LCAodjE2aTgp
c3JjNik7CisgICAgdmVjOCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOCl2ZWMxLCAodjE2
aTgpdmVjMCk7CisgICAgdmVjOSA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOCl2ZWMzLCAo
djE2aTgpdmVjMik7CisgICAgdmVjNCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOCl2ZWM1
LCAodjE2aTgpdmVjNCk7CisgICAgdmVjNSA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOCl2
ZWM3LCAodjE2aTgpdmVjNik7CisgICAgdmVjMCA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZp
OCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgdmVjMSA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2
MTZpOCl2ZWMzLCAodjE2aTgpdmVjMik7CiAgICAgcmVnMCA9IF9fbXNhX2hhZGRfdV9oKHZlYzgs
IHZlYzgpOwogICAgIHJlZzEgPSBfX21zYV9oYWRkX3VfaCh2ZWM5LCB2ZWM5KTsKICAgICByZWcy
ID0gX19tc2FfaGFkZF91X2godmVjNCwgdmVjNCk7CiAgICAgcmVnMyA9IF9fbXNhX2hhZGRfdV9o
KHZlYzUsIHZlYzUpOwogICAgIHJlZzQgPSBfX21zYV9oYWRkX3VfaCh2ZWMwLCB2ZWMwKTsKICAg
ICByZWc1ID0gX19tc2FfaGFkZF91X2godmVjMSwgdmVjMSk7Ci0gICAgc3JjMCA9ICh2MTZ1OCkg
X19tc2FfbGRfYigodjE2dTgqKSBzcmNfYXJnYjBfbmV4dCwgMCk7Ci0gICAgc3JjMSA9ICh2MTZ1
OCkgX19tc2FfbGRfYigodjE2dTgqKSBzcmNfYXJnYjBfbmV4dCwgMTYpOwotICAgIHNyYzIgPSAo
djE2dTgpIF9fbXNhX2xkX2IoKHYxNnU4Kikgc3JjX2FyZ2IwX25leHQsIDMyKTsKLSAgICBzcmMz
ID0gKHYxNnU4KSBfX21zYV9sZF9iKCh2MTZ1OCopIHNyY19hcmdiMF9uZXh0LCA0OCk7Ci0gICAg
c3JjNCA9ICh2MTZ1OCkgX19tc2FfbGRfYigodjE2dTgqKSBzcmNfYXJnYjBfbmV4dCwgNjQpOwot
ICAgIHNyYzUgPSAodjE2dTgpIF9fbXNhX2xkX2IoKHYxNnU4Kikgc3JjX2FyZ2IwX25leHQsIDgw
KTsKLSAgICBzcmM2ID0gKHYxNnU4KSBfX21zYV9sZF9iKCh2MTZ1OCopIHNyY19hcmdiMF9uZXh0
LCA5Nik7Ci0gICAgc3JjNyA9ICh2MTZ1OCkgX19tc2FfbGRfYigodjE2dTgqKSBzcmNfYXJnYjBf
bmV4dCwgMTEyKTsKLSAgICB2ZWMwID0gKHYxNnU4KSBfX21zYV9wY2tldl9iKCh2MTZpOCkgc3Jj
MSwgKHYxNmk4KSBzcmMwKTsKLSAgICB2ZWMxID0gKHYxNnU4KSBfX21zYV9wY2tldl9iKCh2MTZp
OCkgc3JjMywgKHYxNmk4KSBzcmMyKTsKLSAgICB2ZWMyID0gKHYxNnU4KSBfX21zYV9wY2tldl9i
KCh2MTZpOCkgc3JjNSwgKHYxNmk4KSBzcmM0KTsKLSAgICB2ZWMzID0gKHYxNnU4KSBfX21zYV9w
Y2tldl9iKCh2MTZpOCkgc3JjNywgKHYxNmk4KSBzcmM2KTsKLSAgICB2ZWM0ID0gKHYxNnU4KSBf
X21zYV9wY2tvZF9iKCh2MTZpOCkgc3JjMSwgKHYxNmk4KSBzcmMwKTsKLSAgICB2ZWM1ID0gKHYx
NnU4KSBfX21zYV9wY2tvZF9iKCh2MTZpOCkgc3JjMywgKHYxNmk4KSBzcmMyKTsKLSAgICB2ZWM2
ID0gKHYxNnU4KSBfX21zYV9wY2tvZF9iKCh2MTZpOCkgc3JjNSwgKHYxNmk4KSBzcmM0KTsKLSAg
ICB2ZWM3ID0gKHYxNnU4KSBfX21zYV9wY2tvZF9iKCh2MTZpOCkgc3JjNywgKHYxNmk4KSBzcmM2
KTsKLSAgICB2ZWM4ID0gKHYxNnU4KSBfX21zYV9wY2tldl9iKCh2MTZpOCkgdmVjMSwgKHYxNmk4
KSB2ZWMwKTsKLSAgICB2ZWM5ID0gKHYxNnU4KSBfX21zYV9wY2tldl9iKCh2MTZpOCkgdmVjMywg
KHYxNmk4KSB2ZWMyKTsKLSAgICB2ZWM0ID0gKHYxNnU4KSBfX21zYV9wY2tldl9iKCh2MTZpOCkg
dmVjNSwgKHYxNmk4KSB2ZWM0KTsKLSAgICB2ZWM1ID0gKHYxNnU4KSBfX21zYV9wY2tldl9iKCh2
MTZpOCkgdmVjNywgKHYxNmk4KSB2ZWM2KTsKLSAgICB2ZWMwID0gKHYxNnU4KSBfX21zYV9wY2tv
ZF9iKCh2MTZpOCkgdmVjMSwgKHYxNmk4KSB2ZWMwKTsKLSAgICB2ZWMxID0gKHYxNnU4KSBfX21z
YV9wY2tvZF9iKCh2MTZpOCkgdmVjMywgKHYxNmk4KSB2ZWMyKTsKKyAgICBzcmMwID0gKHYxNnU4
KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjBfbmV4dCwgMCk7CisgICAgc3JjMSA9ICh2MTZ1
OClfX21zYV9sZF9iKCh2MTZ1OCopc3JjX2FyZ2IwX25leHQsIDE2KTsKKyAgICBzcmMyID0gKHYx
NnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjBfbmV4dCwgMzIpOworICAgIHNyYzMgPSAo
djE2dTgpX19tc2FfbGRfYigodjE2dTgqKXNyY19hcmdiMF9uZXh0LCA0OCk7CisgICAgc3JjNCA9
ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZ1OCopc3JjX2FyZ2IwX25leHQsIDY0KTsKKyAgICBzcmM1
ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjBfbmV4dCwgODApOworICAgIHNy
YzYgPSAodjE2dTgpX19tc2FfbGRfYigodjE2dTgqKXNyY19hcmdiMF9uZXh0LCA5Nik7CisgICAg
c3JjNyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZ1OCopc3JjX2FyZ2IwX25leHQsIDExMik7Cisg
ICAgdmVjMCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3JjMCk7
CisgICAgdmVjMSA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmMzLCAodjE2aTgpc3Jj
Mik7CisgICAgdmVjMiA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmM1LCAodjE2aTgp
c3JjNCk7CisgICAgdmVjMyA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmM3LCAodjE2
aTgpc3JjNik7CisgICAgdmVjNCA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmMxLCAo
djE2aTgpc3JjMCk7CisgICAgdmVjNSA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmMz
LCAodjE2aTgpc3JjMik7CisgICAgdmVjNiA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClz
cmM1LCAodjE2aTgpc3JjNCk7CisgICAgdmVjNyA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZp
OClzcmM3LCAodjE2aTgpc3JjNik7CisgICAgdmVjOCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2
MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgdmVjOSA9ICh2MTZ1OClfX21zYV9wY2tldl9i
KCh2MTZpOCl2ZWMzLCAodjE2aTgpdmVjMik7CisgICAgdmVjNCA9ICh2MTZ1OClfX21zYV9wY2tl
dl9iKCh2MTZpOCl2ZWM1LCAodjE2aTgpdmVjNCk7CisgICAgdmVjNSA9ICh2MTZ1OClfX21zYV9w
Y2tldl9iKCh2MTZpOCl2ZWM3LCAodjE2aTgpdmVjNik7CisgICAgdmVjMCA9ICh2MTZ1OClfX21z
YV9wY2tvZF9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgdmVjMSA9ICh2MTZ1OClf
X21zYV9wY2tvZF9iKCh2MTZpOCl2ZWMzLCAodjE2aTgpdmVjMik7CiAgICAgcmVnMCArPSBfX21z
YV9oYWRkX3VfaCh2ZWM4LCB2ZWM4KTsKICAgICByZWcxICs9IF9fbXNhX2hhZGRfdV9oKHZlYzks
IHZlYzkpOwogICAgIHJlZzIgKz0gX19tc2FfaGFkZF91X2godmVjNCwgdmVjNCk7CiAgICAgcmVn
MyArPSBfX21zYV9oYWRkX3VfaCh2ZWM1LCB2ZWM1KTsKICAgICByZWc0ICs9IF9fbXNhX2hhZGRf
dV9oKHZlYzAsIHZlYzApOwogICAgIHJlZzUgKz0gX19tc2FfaGFkZF91X2godmVjMSwgdmVjMSk7
Ci0gICAgcmVnMCA9ICh2OHUxNikgX19tc2Ffc3JhaV9oKCh2OGkxNikgcmVnMCwgMik7Ci0gICAg
cmVnMSA9ICh2OHUxNikgX19tc2Ffc3JhaV9oKCh2OGkxNikgcmVnMSwgMik7Ci0gICAgcmVnMiA9
ICh2OHUxNikgX19tc2Ffc3JhaV9oKCh2OGkxNikgcmVnMiwgMik7Ci0gICAgcmVnMyA9ICh2OHUx
NikgX19tc2Ffc3JhaV9oKCh2OGkxNikgcmVnMywgMik7Ci0gICAgcmVnNCA9ICh2OHUxNikgX19t
c2Ffc3JhaV9oKCh2OGkxNikgcmVnNCwgMik7Ci0gICAgcmVnNSA9ICh2OHUxNikgX19tc2Ffc3Jh
aV9oKCh2OGkxNikgcmVnNSwgMik7CisgICAgcmVnMCA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4
aTE2KXJlZzAsIDIpOworICAgIHJlZzEgPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilyZWcx
LCAyKTsKKyAgICByZWcyID0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhpMTYpcmVnMiwgMik7Cisg
ICAgcmVnMyA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXJlZzMsIDIpOworICAgIHJlZzQg
PSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilyZWc0LCAyKTsKKyAgICByZWc1ID0gKHY4dTE2
KV9fbXNhX3NyYWlfaCgodjhpMTYpcmVnNSwgMik7CiAgICAgcmVnNiA9IHJlZzAgKiBjb25zdF8w
eDcwOwogICAgIHJlZzcgPSByZWcxICogY29uc3RfMHg3MDsKICAgICByZWc4ID0gcmVnMiAqIGNv
bnN0XzB4NEE7CkBAIC0zNjcsMTIgKzkxNywxMiBAQCB2b2lkIEFSR0JUb1VWUm93X01TQShjb25z
dCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICAgIHJlZzcgLT0gcmVn
OTsKICAgICByZWc0IC09IHJlZzI7CiAgICAgcmVnNSAtPSByZWczOwotICAgIHJlZzYgPSAodjh1
MTYpIF9fbXNhX3NyYWlfaCgodjhpMTYpIHJlZzYsIDgpOwotICAgIHJlZzcgPSAodjh1MTYpIF9f
bXNhX3NyYWlfaCgodjhpMTYpIHJlZzcsIDgpOwotICAgIHJlZzQgPSAodjh1MTYpIF9fbXNhX3Ny
YWlfaCgodjhpMTYpIHJlZzQsIDgpOwotICAgIHJlZzUgPSAodjh1MTYpIF9fbXNhX3NyYWlfaCgo
djhpMTYpIHJlZzUsIDgpOwotICAgIGRzdDAgPSAodjE2dTgpIF9fbXNhX3Bja2V2X2IoKHYxNmk4
KSByZWc3LCAodjE2aTgpIHJlZzYpOwotICAgIGRzdDEgPSAodjE2dTgpIF9fbXNhX3Bja2V2X2Io
KHYxNmk4KSByZWc1LCAodjE2aTgpIHJlZzQpOworICAgIHJlZzYgPSAodjh1MTYpX19tc2Ffc3Jh
aV9oKCh2OGkxNilyZWc2LCA4KTsKKyAgICByZWc3ID0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhp
MTYpcmVnNywgOCk7CisgICAgcmVnNCA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXJlZzQs
IDgpOworICAgIHJlZzUgPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilyZWc1LCA4KTsKKyAg
ICBkc3QwID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXJlZzcsICh2MTZpOClyZWc2KTsK
KyAgICBkc3QxID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXJlZzUsICh2MTZpOClyZWc0
KTsKICAgICBTVF9VQihkc3QwLCBkc3RfdSk7CiAgICAgU1RfVUIoZHN0MSwgZHN0X3YpOwogICAg
IHNyY19hcmdiMCArPSAxMjg7CkBAIC0zODIsNyArOTMyLDU0NCBAQCB2b2lkIEFSR0JUb1VWUm93
X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogICB9CiB9
CiAKLXZvaWQgQVJHQjQ0NDRUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQs
IHVpbnQ4KiBkc3RfYXJnYiwKK3ZvaWQgQVJHQlRvUkdCMjRSb3dfTVNBKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgdjE2dTgg
c3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgZHN0MCwgZHN0MSwgZHN0MjsKKyAgdjE2aTggc2h1ZmZs
ZXIwID0gezAsIDEsIDIsIDQsIDUsIDYsIDgsIDksIDEwLCAxMiwgMTMsIDE0LCAxNiwgMTcsIDE4
LCAyMH07CisgIHYxNmk4IHNodWZmbGVyMSA9IHs1LCAgNiwgIDgsICA5LCAgMTAsIDEyLCAxMywg
MTQsCisgICAgICAgICAgICAgICAgICAgICAxNiwgMTcsIDE4LCAyMCwgMjEsIDIyLCAyNCwgMjV9
OworICB2MTZpOCBzaHVmZmxlcjIgPSB7MTAsIDEyLCAxMywgMTQsIDE2LCAxNywgMTgsIDIwLAor
ICAgICAgICAgICAgICAgICAgICAgMjEsIDIyLCAyNCwgMjUsIDI2LCAyOCwgMjksIDMwfTsKKwor
ICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMTYpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9f
bXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYiwgMCk7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9s
ZF9iKCh2MTZpOCopc3JjX2FyZ2IsIDE2KTsKKyAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2Io
KHYxNmk4KilzcmNfYXJnYiwgMzIpOworICAgIHNyYzMgPSAodjE2dTgpX19tc2FfbGRfYigodjE2
aTgqKXNyY19hcmdiLCA0OCk7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV92c2hmX2Ioc2h1ZmZs
ZXIwLCAodjE2aTgpc3JjMSwgKHYxNmk4KXNyYzApOworICAgIGRzdDEgPSAodjE2dTgpX19tc2Ff
dnNoZl9iKHNodWZmbGVyMSwgKHYxNmk4KXNyYzIsICh2MTZpOClzcmMxKTsKKyAgICBkc3QyID0g
KHYxNnU4KV9fbXNhX3ZzaGZfYihzaHVmZmxlcjIsICh2MTZpOClzcmMzLCAodjE2aTgpc3JjMik7
CisgICAgU1RfVUIyKGRzdDAsIGRzdDEsIGRzdF9yZ2IsIDE2KTsKKyAgICBTVF9VQihkc3QyLCAo
ZHN0X3JnYiArIDMyKSk7CisgICAgc3JjX2FyZ2IgKz0gNjQ7CisgICAgZHN0X3JnYiArPSA0ODsK
KyAgfQorfQorCit2b2lkIEFSR0JUb1JBV1Jvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLCB1
aW50OCogZHN0X3JnYiwgaW50IHdpZHRoKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBzcmMx
LCBzcmMyLCBzcmMzLCBkc3QwLCBkc3QxLCBkc3QyOworICB2MTZpOCBzaHVmZmxlcjAgPSB7Miwg
MSwgMCwgNiwgNSwgNCwgMTAsIDksIDgsIDE0LCAxMywgMTIsIDE4LCAxNywgMTYsIDIyfTsKKyAg
djE2aTggc2h1ZmZsZXIxID0gezUsICA0LCAgMTAsIDksICA4LCAgMTQsIDEzLCAxMiwKKyAgICAg
ICAgICAgICAgICAgICAgIDE4LCAxNywgMTYsIDIyLCAyMSwgMjAsIDI2LCAyNX07CisgIHYxNmk4
IHNodWZmbGVyMiA9IHs4LCAgMTQsIDEzLCAxMiwgMTgsIDE3LCAxNiwgMjIsCisgICAgICAgICAg
ICAgICAgICAgICAyMSwgMjAsIDI2LCAyNSwgMjQsIDMwLCAyOSwgMjh9OworCisgIGZvciAoeCA9
IDA7IHggPCB3aWR0aDsgeCArPSAxNikgeworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigo
djE2aTgqKXNyY19hcmdiLCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4
KilzcmNfYXJnYiwgMTYpOworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNy
Y19hcmdiLCAzMik7CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2Fy
Z2IsIDQ4KTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihzaHVmZmxlcjAsICh2MTZp
OClzcmMxLCAodjE2aTgpc3JjMCk7CisgICAgZHN0MSA9ICh2MTZ1OClfX21zYV92c2hmX2Ioc2h1
ZmZsZXIxLCAodjE2aTgpc3JjMiwgKHYxNmk4KXNyYzEpOworICAgIGRzdDIgPSAodjE2dTgpX19t
c2FfdnNoZl9iKHNodWZmbGVyMiwgKHYxNmk4KXNyYzMsICh2MTZpOClzcmMyKTsKKyAgICBTVF9V
QjIoZHN0MCwgZHN0MSwgZHN0X3JnYiwgMTYpOworICAgIFNUX1VCKGRzdDIsIChkc3RfcmdiICsg
MzIpKTsKKyAgICBzcmNfYXJnYiArPSA2NDsKKyAgICBkc3RfcmdiICs9IDQ4OworICB9Cit9CisK
K3ZvaWQgQVJHQlRvUkdCNTY1Um93X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBk
c3RfcmdiLCBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4IHNyYzAsIHNyYzEsIGRzdDA7
CisgIHYxNnU4IHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzc7
CisgIHYxNmk4IHplcm8gPSB7MH07CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDgp
IHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYiwgMCk7Cisg
ICAgc3JjMSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IsIDE2KTsKKyAgICB2
ZWMwID0gKHYxNnU4KV9fbXNhX3NyYWlfYigodjE2aTgpc3JjMCwgMyk7CisgICAgdmVjMSA9ICh2
MTZ1OClfX21zYV9zbGxpX2IoKHYxNmk4KXNyYzAsIDMpOworICAgIHZlYzIgPSAodjE2dTgpX19t
c2Ffc3JhaV9iKCh2MTZpOClzcmMwLCA1KTsKKyAgICB2ZWM0ID0gKHYxNnU4KV9fbXNhX3NyYWlf
YigodjE2aTgpc3JjMSwgMyk7CisgICAgdmVjNSA9ICh2MTZ1OClfX21zYV9zbGxpX2IoKHYxNmk4
KXNyYzEsIDMpOworICAgIHZlYzYgPSAodjE2dTgpX19tc2Ffc3JhaV9iKCh2MTZpOClzcmMxLCA1
KTsKKyAgICB2ZWMxID0gKHYxNnU4KV9fbXNhX3NsZGlfYih6ZXJvLCAodjE2aTgpdmVjMSwgMSk7
CisgICAgdmVjMiA9ICh2MTZ1OClfX21zYV9zbGRpX2IoemVybywgKHYxNmk4KXZlYzIsIDEpOwor
ICAgIHZlYzUgPSAodjE2dTgpX19tc2Ffc2xkaV9iKHplcm8sICh2MTZpOCl2ZWM1LCAxKTsKKyAg
ICB2ZWM2ID0gKHYxNnU4KV9fbXNhX3NsZGlfYih6ZXJvLCAodjE2aTgpdmVjNiwgMSk7CisgICAg
dmVjMyA9ICh2MTZ1OClfX21zYV9zbGRpX2IoemVybywgKHYxNmk4KXNyYzAsIDIpOworICAgIHZl
YzcgPSAodjE2dTgpX19tc2Ffc2xkaV9iKHplcm8sICh2MTZpOClzcmMxLCAyKTsKKyAgICB2ZWMw
ID0gX19tc2FfYmluc2xpX2IodmVjMCwgdmVjMSwgMik7CisgICAgdmVjMSA9IF9fbXNhX2JpbnNs
aV9iKHZlYzIsIHZlYzMsIDQpOworICAgIHZlYzQgPSBfX21zYV9iaW5zbGlfYih2ZWM0LCB2ZWM1
LCAyKTsKKyAgICB2ZWM1ID0gX19tc2FfYmluc2xpX2IodmVjNiwgdmVjNywgNCk7CisgICAgdmVj
MCA9ICh2MTZ1OClfX21zYV9pbHZldl9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAg
dmVjNCA9ICh2MTZ1OClfX21zYV9pbHZldl9iKCh2MTZpOCl2ZWM1LCAodjE2aTgpdmVjNCk7Cisg
ICAgZHN0MCA9ICh2MTZ1OClfX21zYV9wY2tldl9oKCh2OGkxNil2ZWM0LCAodjhpMTYpdmVjMCk7
CisgICAgU1RfVUIoZHN0MCwgZHN0X3JnYik7CisgICAgc3JjX2FyZ2IgKz0gMzI7CisgICAgZHN0
X3JnYiArPSAxNjsKKyAgfQorfQorCit2b2lkIEFSR0JUb0FSR0IxNTU1Um93X01TQShjb25zdCB1
aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpIHsKKyAgaW50IHg7Cisg
IHYxNnU4IHNyYzAsIHNyYzEsIGRzdDA7CisgIHYxNnU4IHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMs
IHZlYzQsIHZlYzUsIHZlYzYsIHZlYzcsIHZlYzgsIHZlYzk7CisgIHYxNmk4IHplcm8gPSB7MH07
CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDgpIHsKKyAgICBzcmMwID0gKHYxNnU4
KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYiwgMCk7CisgICAgc3JjMSA9ICh2MTZ1OClfX21z
YV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IsIDE2KTsKKyAgICB2ZWMwID0gKHYxNnU4KV9fbXNhX3Ny
YWlfYigodjE2aTgpc3JjMCwgMyk7CisgICAgdmVjMSA9ICh2MTZ1OClfX21zYV9zbGxpX2IoKHYx
Nmk4KXNyYzAsIDIpOworICAgIHZlYzIgPSAodjE2dTgpX19tc2Ffc3JhaV9iKCh2MTZpOCl2ZWMw
LCAzKTsKKyAgICB2ZWMxID0gKHYxNnU4KV9fbXNhX3NsZGlfYih6ZXJvLCAodjE2aTgpdmVjMSwg
MSk7CisgICAgdmVjMiA9ICh2MTZ1OClfX21zYV9zbGRpX2IoemVybywgKHYxNmk4KXZlYzIsIDEp
OworICAgIHZlYzMgPSAodjE2dTgpX19tc2Ffc3JhaV9iKCh2MTZpOClzcmMwLCAxKTsKKyAgICB2
ZWM1ID0gKHYxNnU4KV9fbXNhX3NyYWlfYigodjE2aTgpc3JjMSwgMyk7CisgICAgdmVjNiA9ICh2
MTZ1OClfX21zYV9zbGxpX2IoKHYxNmk4KXNyYzEsIDIpOworICAgIHZlYzcgPSAodjE2dTgpX19t
c2Ffc3JhaV9iKCh2MTZpOCl2ZWM1LCAzKTsKKyAgICB2ZWM2ID0gKHYxNnU4KV9fbXNhX3NsZGlf
Yih6ZXJvLCAodjE2aTgpdmVjNiwgMSk7CisgICAgdmVjNyA9ICh2MTZ1OClfX21zYV9zbGRpX2Io
emVybywgKHYxNmk4KXZlYzcsIDEpOworICAgIHZlYzggPSAodjE2dTgpX19tc2Ffc3JhaV9iKCh2
MTZpOClzcmMxLCAxKTsKKyAgICB2ZWMzID0gKHYxNnU4KV9fbXNhX3NsZGlfYih6ZXJvLCAodjE2
aTgpdmVjMywgMik7CisgICAgdmVjOCA9ICh2MTZ1OClfX21zYV9zbGRpX2IoemVybywgKHYxNmk4
KXZlYzgsIDIpOworICAgIHZlYzQgPSAodjE2dTgpX19tc2Ffc2xkaV9iKHplcm8sICh2MTZpOClz
cmMwLCAzKTsKKyAgICB2ZWM5ID0gKHYxNnU4KV9fbXNhX3NsZGlfYih6ZXJvLCAodjE2aTgpc3Jj
MSwgMyk7CisgICAgdmVjMCA9IF9fbXNhX2JpbnNsaV9iKHZlYzAsIHZlYzEsIDIpOworICAgIHZl
YzUgPSBfX21zYV9iaW5zbGlfYih2ZWM1LCB2ZWM2LCAyKTsKKyAgICB2ZWMxID0gX19tc2FfYmlu
c2xpX2IodmVjMiwgdmVjMywgNSk7CisgICAgdmVjNiA9IF9fbXNhX2JpbnNsaV9iKHZlYzcsIHZl
YzgsIDUpOworICAgIHZlYzEgPSBfX21zYV9iaW5zbGlfYih2ZWMxLCB2ZWM0LCAwKTsKKyAgICB2
ZWM2ID0gX19tc2FfYmluc2xpX2IodmVjNiwgdmVjOSwgMCk7CisgICAgdmVjMCA9ICh2MTZ1OClf
X21zYV9pbHZldl9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgdmVjMSA9ICh2MTZ1
OClfX21zYV9pbHZldl9iKCh2MTZpOCl2ZWM2LCAodjE2aTgpdmVjNSk7CisgICAgZHN0MCA9ICh2
MTZ1OClfX21zYV9wY2tldl9oKCh2OGkxNil2ZWMxLCAodjhpMTYpdmVjMCk7CisgICAgU1RfVUIo
ZHN0MCwgZHN0X3JnYik7CisgICAgc3JjX2FyZ2IgKz0gMzI7CisgICAgZHN0X3JnYiArPSAxNjsK
KyAgfQorfQorCit2b2lkIEFSR0JUb0FSR0I0NDQ0Um93X01TQShjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4IHNyYzAs
IHNyYzE7CisgIHYxNnU4IHZlYzAsIHZlYzE7CisgIHYxNnU4IGRzdDA7CisgIHYxNmk4IHplcm8g
PSB7MH07CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDgpIHsKKyAgICBzcmMwID0g
KHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYiwgMCk7CisgICAgc3JjMSA9ICh2MTZ1
OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IsIDE2KTsKKyAgICB2ZWMwID0gKHYxNnU4KV9f
bXNhX3NyYWlfYigodjE2aTgpc3JjMCwgNCk7CisgICAgdmVjMSA9ICh2MTZ1OClfX21zYV9zcmFp
X2IoKHYxNmk4KXNyYzEsIDQpOworICAgIHNyYzAgPSAodjE2dTgpX19tc2Ffc2xkaV9iKHplcm8s
ICh2MTZpOClzcmMwLCAxKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX3NsZGlfYih6ZXJvLCAo
djE2aTgpc3JjMSwgMSk7CisgICAgdmVjMCA9IF9fbXNhX2JpbnNsaV9iKHZlYzAsIHNyYzAsIDMp
OworICAgIHZlYzEgPSBfX21zYV9iaW5zbGlfYih2ZWMxLCBzcmMxLCAzKTsKKyAgICBkc3QwID0g
KHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXZlYzEsICh2MTZpOCl2ZWMwKTsKKyAgICBTVF9V
Qihkc3QwLCBkc3RfcmdiKTsKKyAgICBzcmNfYXJnYiArPSAzMjsKKyAgICBkc3RfcmdiICs9IDE2
OworICB9Cit9CisKK3ZvaWQgQVJHQlRvVVY0NDRSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludDMyIHdp
ZHRoKSB7CisgIGludDMyIHg7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHJlZzAs
IHJlZzEsIHJlZzIsIHJlZzMsIGRzdDAsIGRzdDE7CisgIHY4dTE2IHZlYzAsIHZlYzEsIHZlYzIs
IHZlYzMsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzc7CisgIHY4dTE2IHZlYzgsIHZlYzksIHZlYzEw
LCB2ZWMxMTsKKyAgdjh1MTYgY29uc3RfMTEyID0gKHY4dTE2KV9fbXNhX2xkaV9oKDExMik7Cisg
IHY4dTE2IGNvbnN0Xzc0ID0gKHY4dTE2KV9fbXNhX2xkaV9oKDc0KTsKKyAgdjh1MTYgY29uc3Rf
MzggPSAodjh1MTYpX19tc2FfbGRpX2goMzgpOworICB2OHUxNiBjb25zdF85NCA9ICh2OHUxNilf
X21zYV9sZGlfaCg5NCk7CisgIHY4dTE2IGNvbnN0XzE4ID0gKHY4dTE2KV9fbXNhX2xkaV9oKDE4
KTsKKyAgdjh1MTYgY29uc3RfMzI4OTYgPSAodjh1MTYpX19tc2FfZmlsbF9oKDMyODk2KTsKKyAg
djE2aTggemVybyA9IHswfTsKKworICBmb3IgKHggPSB3aWR0aDsgeCA+IDA7IHggLT0gMTYpIHsK
KyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYiwgMCk7CisgICAg
c3JjMSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IsIDE2KTsKKyAgICBzcmMy
ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYiwgMzIpOworICAgIHNyYzMgPSAo
djE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19hcmdiLCA0OCk7CisgICAgcmVnMCA9ICh2MTZ1
OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3JjMCk7CisgICAgcmVnMSA9ICh2
MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmMzLCAodjE2aTgpc3JjMik7CisgICAgcmVnMiA9
ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3JjMCk7CisgICAgcmVn
MyA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmMzLCAodjE2aTgpc3JjMik7CisgICAg
c3JjMCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClyZWcxLCAodjE2aTgpcmVnMCk7Cisg
ICAgc3JjMSA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClyZWczLCAodjE2aTgpcmVnMik7
CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClyZWcxLCAodjE2aTgpcmVn
MCk7CisgICAgdmVjMCA9ICh2OHUxNilfX21zYV9pbHZyX2IoemVybywgKHYxNmk4KXNyYzApOwor
ICAgIHZlYzEgPSAodjh1MTYpX19tc2FfaWx2bF9iKHplcm8sICh2MTZpOClzcmMwKTsKKyAgICB2
ZWMyID0gKHY4dTE2KV9fbXNhX2lsdnJfYih6ZXJvLCAodjE2aTgpc3JjMSk7CisgICAgdmVjMyA9
ICh2OHUxNilfX21zYV9pbHZsX2IoemVybywgKHYxNmk4KXNyYzEpOworICAgIHZlYzQgPSAodjh1
MTYpX19tc2FfaWx2cl9iKHplcm8sICh2MTZpOClzcmMyKTsKKyAgICB2ZWM1ID0gKHY4dTE2KV9f
bXNhX2lsdmxfYih6ZXJvLCAodjE2aTgpc3JjMik7CisgICAgdmVjMTAgPSB2ZWMwICogY29uc3Rf
MTg7CisgICAgdmVjMTEgPSB2ZWMxICogY29uc3RfMTg7CisgICAgdmVjOCA9IHZlYzIgKiBjb25z
dF85NDsKKyAgICB2ZWM5ID0gdmVjMyAqIGNvbnN0Xzk0OworICAgIHZlYzYgPSB2ZWM0ICogY29u
c3RfMTEyOworICAgIHZlYzcgPSB2ZWM1ICogY29uc3RfMTEyOworICAgIHZlYzAgKj0gY29uc3Rf
MTEyOworICAgIHZlYzEgKj0gY29uc3RfMTEyOworICAgIHZlYzIgKj0gY29uc3RfNzQ7CisgICAg
dmVjMyAqPSBjb25zdF83NDsKKyAgICB2ZWM0ICo9IGNvbnN0XzM4OworICAgIHZlYzUgKj0gY29u
c3RfMzg7CisgICAgdmVjOCArPSB2ZWMxMDsKKyAgICB2ZWM5ICs9IHZlYzExOworICAgIHZlYzYg
Kz0gY29uc3RfMzI4OTY7CisgICAgdmVjNyArPSBjb25zdF8zMjg5NjsKKyAgICB2ZWMwICs9IGNv
bnN0XzMyODk2OworICAgIHZlYzEgKz0gY29uc3RfMzI4OTY7CisgICAgdmVjMiArPSB2ZWM0Owor
ICAgIHZlYzMgKz0gdmVjNTsKKyAgICB2ZWMwIC09IHZlYzI7CisgICAgdmVjMSAtPSB2ZWMzOwor
ICAgIHZlYzYgLT0gdmVjODsKKyAgICB2ZWM3IC09IHZlYzk7CisgICAgdmVjMCA9ICh2OHUxNilf
X21zYV9zcmFpX2goKHY4aTE2KXZlYzAsIDgpOworICAgIHZlYzEgPSAodjh1MTYpX19tc2Ffc3Jh
aV9oKCh2OGkxNil2ZWMxLCA4KTsKKyAgICB2ZWM2ID0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhp
MTYpdmVjNiwgOCk7CisgICAgdmVjNyA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXZlYzcs
IDgpOworICAgIGRzdDAgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgpdmVjMSwgKHYxNmk4
KXZlYzApOworICAgIGRzdDEgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgpdmVjNywgKHYx
Nmk4KXZlYzYpOworICAgIFNUX1VCKGRzdDAsIGRzdF91KTsKKyAgICBTVF9VQihkc3QxLCBkc3Rf
dik7CisgICAgc3JjX2FyZ2IgKz0gNjQ7CisgICAgZHN0X3UgKz0gMTY7CisgICAgZHN0X3YgKz0g
MTY7CisgIH0KK30KKwordm9pZCBBUkdCTXVsdGlwbHlSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBzcmMxLCBk
c3QwOworICB2OHUxNiB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzOworICB2NHUzMiByZWcwLCByZWcx
LCByZWcyLCByZWczOworICB2OGkxNiB6ZXJvID0gezB9OworCisgIGZvciAoeCA9IDA7IHggPCB3
aWR0aDsgeCArPSA0KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3Jj
X2FyZ2IwLCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfYXJn
YjEsIDApOworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfaWx2cl9iKCh2MTZpOClzcmMwLCAodjE2
aTgpc3JjMCk7CisgICAgdmVjMSA9ICh2OHUxNilfX21zYV9pbHZsX2IoKHYxNmk4KXNyYzAsICh2
MTZpOClzcmMwKTsKKyAgICB2ZWMyID0gKHY4dTE2KV9fbXNhX2lsdnJfYigodjE2aTgpemVybywg
KHYxNmk4KXNyYzEpOworICAgIHZlYzMgPSAodjh1MTYpX19tc2FfaWx2bF9iKCh2MTZpOCl6ZXJv
LCAodjE2aTgpc3JjMSk7CisgICAgcmVnMCA9ICh2NHUzMilfX21zYV9pbHZyX2goemVybywgKHY4
aTE2KXZlYzApOworICAgIHJlZzEgPSAodjR1MzIpX19tc2FfaWx2bF9oKHplcm8sICh2OGkxNil2
ZWMwKTsKKyAgICByZWcyID0gKHY0dTMyKV9fbXNhX2lsdnJfaCh6ZXJvLCAodjhpMTYpdmVjMSk7
CisgICAgcmVnMyA9ICh2NHUzMilfX21zYV9pbHZsX2goemVybywgKHY4aTE2KXZlYzEpOworICAg
IHJlZzAgKj0gKHY0dTMyKV9fbXNhX2lsdnJfaCh6ZXJvLCAodjhpMTYpdmVjMik7CisgICAgcmVn
MSAqPSAodjR1MzIpX19tc2FfaWx2bF9oKHplcm8sICh2OGkxNil2ZWMyKTsKKyAgICByZWcyICo9
ICh2NHUzMilfX21zYV9pbHZyX2goemVybywgKHY4aTE2KXZlYzMpOworICAgIHJlZzMgKj0gKHY0
dTMyKV9fbXNhX2lsdmxfaCh6ZXJvLCAodjhpMTYpdmVjMyk7CisgICAgcmVnMCA9ICh2NHUzMilf
X21zYV9zcmFpX3coKHY0aTMyKXJlZzAsIDE2KTsKKyAgICByZWcxID0gKHY0dTMyKV9fbXNhX3Ny
YWlfdygodjRpMzIpcmVnMSwgMTYpOworICAgIHJlZzIgPSAodjR1MzIpX19tc2Ffc3JhaV93KCh2
NGkzMilyZWcyLCAxNik7CisgICAgcmVnMyA9ICh2NHUzMilfX21zYV9zcmFpX3coKHY0aTMyKXJl
ZzMsIDE2KTsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX3Bja2V2X2goKHY4aTE2KXJlZzEsICh2
OGkxNilyZWcwKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNhX3Bja2V2X2goKHY4aTE2KXJlZzMs
ICh2OGkxNilyZWcyKTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXZl
YzEsICh2MTZpOCl2ZWMwKTsKKyAgICBTVF9VQihkc3QwLCBkc3RfYXJnYik7CisgICAgc3JjX2Fy
Z2IwICs9IDE2OworICAgIHNyY19hcmdiMSArPSAxNjsKKyAgICBkc3RfYXJnYiArPSAxNjsKKyAg
fQorfQorCit2b2lkIEFSR0JBZGRSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7Cisg
IGludCB4OworICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBkc3QwLCBkc3QxOworCisg
IGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSA4KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21z
YV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IwLCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xk
X2IoKHYxNmk4KilzcmNfYXJnYjAsIDE2KTsKKyAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2Io
KHYxNmk4KilzcmNfYXJnYjEsIDApOworICAgIHNyYzMgPSAodjE2dTgpX19tc2FfbGRfYigodjE2
aTgqKXNyY19hcmdiMSwgMTYpOworICAgIGRzdDAgPSBfX21zYV9hZGRzX3VfYihzcmMwLCBzcmMy
KTsKKyAgICBkc3QxID0gX19tc2FfYWRkc191X2Ioc3JjMSwgc3JjMyk7CisgICAgU1RfVUIyKGRz
dDAsIGRzdDEsIGRzdF9hcmdiLCAxNik7CisgICAgc3JjX2FyZ2IwICs9IDMyOworICAgIHNyY19h
cmdiMSArPSAzMjsKKyAgICBkc3RfYXJnYiArPSAzMjsKKyAgfQorfQorCit2b2lkIEFSR0JTdWJ0
cmFjdFJvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAg
aW50IHg7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIGRzdDAsIGRzdDE7CisKKyAg
Zm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDgpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNh
X2xkX2IoKHYxNmk4KilzcmNfYXJnYjAsIDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRf
YigodjE2aTgqKXNyY19hcmdiMCwgMTYpOworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfbGRfYigo
djE2aTgqKXNyY19hcmdiMSwgMCk7CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZp
OCopc3JjX2FyZ2IxLCAxNik7CisgICAgZHN0MCA9IF9fbXNhX3N1YnNfdV9iKHNyYzAsIHNyYzIp
OworICAgIGRzdDEgPSBfX21zYV9zdWJzX3VfYihzcmMxLCBzcmMzKTsKKyAgICBTVF9VQjIoZHN0
MCwgZHN0MSwgZHN0X2FyZ2IsIDE2KTsKKyAgICBzcmNfYXJnYjAgKz0gMzI7CisgICAgc3JjX2Fy
Z2IxICs9IDMyOworICAgIGRzdF9hcmdiICs9IDMyOworICB9Cit9CisKK3ZvaWQgQVJHQkF0dGVu
dWF0ZVJvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3
aWR0aCkgeworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgZHN0MCwgZHN0MTsKKyAgdjh1
MTYgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNywgdmVjOCwg
dmVjOTsKKyAgdjR1MzIgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMywgcmVnNCwgcmVnNSwgcmVnNiwg
cmVnNzsKKyAgdjhpMTYgemVybyA9IHswfTsKKyAgdjE2dTggbWFzayA9IHswLCAwLCAwLCAyNTUs
IDAsIDAsIDAsIDI1NSwgMCwgMCwgMCwgMjU1LCAwLCAwLCAwLCAyNTV9OworCisgIGZvciAoeCA9
IDA7IHggPCB3aWR0aDsgeCArPSA4KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2
MTZpOCopc3JjX2FyZ2IsIDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgq
KXNyY19hcmdiLCAxNik7CisgICAgdmVjMCA9ICh2OHUxNilfX21zYV9pbHZyX2IoKHYxNmk4KXNy
YzAsICh2MTZpOClzcmMwKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNhX2lsdmxfYigodjE2aTgp
c3JjMCwgKHYxNmk4KXNyYzApOworICAgIHZlYzIgPSAodjh1MTYpX19tc2FfaWx2cl9iKCh2MTZp
OClzcmMxLCAodjE2aTgpc3JjMSk7CisgICAgdmVjMyA9ICh2OHUxNilfX21zYV9pbHZsX2IoKHYx
Nmk4KXNyYzEsICh2MTZpOClzcmMxKTsKKyAgICB2ZWM0ID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCh2
ZWMwWzNdKTsKKyAgICB2ZWM1ID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCh2ZWMwWzddKTsKKyAgICB2
ZWM2ID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCh2ZWMxWzNdKTsKKyAgICB2ZWM3ID0gKHY4dTE2KV9f
bXNhX2ZpbGxfaCh2ZWMxWzddKTsKKyAgICB2ZWM0ID0gKHY4dTE2KV9fbXNhX3Bja2V2X2QoKHYy
aTY0KXZlYzUsICh2Mmk2NCl2ZWM0KTsKKyAgICB2ZWM1ID0gKHY4dTE2KV9fbXNhX3Bja2V2X2Qo
KHYyaTY0KXZlYzcsICh2Mmk2NCl2ZWM2KTsKKyAgICB2ZWM2ID0gKHY4dTE2KV9fbXNhX2ZpbGxf
aCh2ZWMyWzNdKTsKKyAgICB2ZWM3ID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCh2ZWMyWzddKTsKKyAg
ICB2ZWM4ID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCh2ZWMzWzNdKTsKKyAgICB2ZWM5ID0gKHY4dTE2
KV9fbXNhX2ZpbGxfaCh2ZWMzWzddKTsKKyAgICB2ZWM2ID0gKHY4dTE2KV9fbXNhX3Bja2V2X2Qo
KHYyaTY0KXZlYzcsICh2Mmk2NCl2ZWM2KTsKKyAgICB2ZWM3ID0gKHY4dTE2KV9fbXNhX3Bja2V2
X2QoKHYyaTY0KXZlYzksICh2Mmk2NCl2ZWM4KTsKKyAgICByZWcwID0gKHY0dTMyKV9fbXNhX2ls
dnJfaCh6ZXJvLCAodjhpMTYpdmVjNCk7CisgICAgcmVnMSA9ICh2NHUzMilfX21zYV9pbHZsX2go
emVybywgKHY4aTE2KXZlYzQpOworICAgIHJlZzIgPSAodjR1MzIpX19tc2FfaWx2cl9oKHplcm8s
ICh2OGkxNil2ZWM1KTsKKyAgICByZWczID0gKHY0dTMyKV9fbXNhX2lsdmxfaCh6ZXJvLCAodjhp
MTYpdmVjNSk7CisgICAgcmVnNCA9ICh2NHUzMilfX21zYV9pbHZyX2goemVybywgKHY4aTE2KXZl
YzYpOworICAgIHJlZzUgPSAodjR1MzIpX19tc2FfaWx2bF9oKHplcm8sICh2OGkxNil2ZWM2KTsK
KyAgICByZWc2ID0gKHY0dTMyKV9fbXNhX2lsdnJfaCh6ZXJvLCAodjhpMTYpdmVjNyk7CisgICAg
cmVnNyA9ICh2NHUzMilfX21zYV9pbHZsX2goemVybywgKHY4aTE2KXZlYzcpOworICAgIHJlZzAg
Kj0gKHY0dTMyKV9fbXNhX2lsdnJfaCh6ZXJvLCAodjhpMTYpdmVjMCk7CisgICAgcmVnMSAqPSAo
djR1MzIpX19tc2FfaWx2bF9oKHplcm8sICh2OGkxNil2ZWMwKTsKKyAgICByZWcyICo9ICh2NHUz
MilfX21zYV9pbHZyX2goemVybywgKHY4aTE2KXZlYzEpOworICAgIHJlZzMgKj0gKHY0dTMyKV9f
bXNhX2lsdmxfaCh6ZXJvLCAodjhpMTYpdmVjMSk7CisgICAgcmVnNCAqPSAodjR1MzIpX19tc2Ff
aWx2cl9oKHplcm8sICh2OGkxNil2ZWMyKTsKKyAgICByZWc1ICo9ICh2NHUzMilfX21zYV9pbHZs
X2goemVybywgKHY4aTE2KXZlYzIpOworICAgIHJlZzYgKj0gKHY0dTMyKV9fbXNhX2lsdnJfaCh6
ZXJvLCAodjhpMTYpdmVjMyk7CisgICAgcmVnNyAqPSAodjR1MzIpX19tc2FfaWx2bF9oKHplcm8s
ICh2OGkxNil2ZWMzKTsKKyAgICByZWcwID0gKHY0dTMyKV9fbXNhX3NyYWlfdygodjRpMzIpcmVn
MCwgMjQpOworICAgIHJlZzEgPSAodjR1MzIpX19tc2Ffc3JhaV93KCh2NGkzMilyZWcxLCAyNCk7
CisgICAgcmVnMiA9ICh2NHUzMilfX21zYV9zcmFpX3coKHY0aTMyKXJlZzIsIDI0KTsKKyAgICBy
ZWczID0gKHY0dTMyKV9fbXNhX3NyYWlfdygodjRpMzIpcmVnMywgMjQpOworICAgIHJlZzQgPSAo
djR1MzIpX19tc2Ffc3JhaV93KCh2NGkzMilyZWc0LCAyNCk7CisgICAgcmVnNSA9ICh2NHUzMilf
X21zYV9zcmFpX3coKHY0aTMyKXJlZzUsIDI0KTsKKyAgICByZWc2ID0gKHY0dTMyKV9fbXNhX3Ny
YWlfdygodjRpMzIpcmVnNiwgMjQpOworICAgIHJlZzcgPSAodjR1MzIpX19tc2Ffc3JhaV93KCh2
NGkzMilyZWc3LCAyNCk7CisgICAgdmVjMCA9ICh2OHUxNilfX21zYV9wY2tldl9oKCh2OGkxNily
ZWcxLCAodjhpMTYpcmVnMCk7CisgICAgdmVjMSA9ICh2OHUxNilfX21zYV9wY2tldl9oKCh2OGkx
NilyZWczLCAodjhpMTYpcmVnMik7CisgICAgdmVjMiA9ICh2OHUxNilfX21zYV9wY2tldl9oKCh2
OGkxNilyZWc1LCAodjhpMTYpcmVnNCk7CisgICAgdmVjMyA9ICh2OHUxNilfX21zYV9wY2tldl9o
KCh2OGkxNilyZWc3LCAodjhpMTYpcmVnNik7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV9wY2tl
dl9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgZHN0MSA9ICh2MTZ1OClfX21zYV9w
Y2tldl9iKCh2MTZpOCl2ZWMzLCAodjE2aTgpdmVjMik7CisgICAgZHN0MCA9IF9fbXNhX2Jtbnpf
dihkc3QwLCBzcmMwLCBtYXNrKTsKKyAgICBkc3QxID0gX19tc2FfYm1uel92KGRzdDEsIHNyYzEs
IG1hc2spOworICAgIFNUX1VCMihkc3QwLCBkc3QxLCBkc3RfYXJnYiwgMTYpOworICAgIHNyY19h
cmdiICs9IDMyOworICAgIGRzdF9hcmdiICs9IDMyOworICB9Cit9CisKK3ZvaWQgQVJHQlRvUkdC
NTY1RGl0aGVyUm93X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9yZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyIGRpdGhlcjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBzcmMxLCBkc3QwLCB2ZWMwLCB2ZWMx
OworICB2OGkxNiB2ZWNfZDA7CisgIHY4aTE2IHJlZzAsIHJlZzEsIHJlZzI7CisgIHYxNmk4IHpl
cm8gPSB7MH07CisgIHY4aTE2IG1heCA9IF9fbXNhX2xkaV9oKDB4RkYpOworCisgIHZlY19kMCA9
ICh2OGkxNilfX21zYV9maWxsX3coZGl0aGVyNCk7CisgIHZlY19kMCA9ICh2OGkxNilfX21zYV9p
bHZyX2IoemVybywgKHYxNmk4KXZlY19kMCk7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4
ICs9IDgpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYiwg
MCk7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IsIDE2KTsK
KyAgICB2ZWMwID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXNyYzEsICh2MTZpOClzcmMw
KTsKKyAgICB2ZWMxID0gKHYxNnU4KV9fbXNhX3Bja29kX2IoKHYxNmk4KXNyYzEsICh2MTZpOClz
cmMwKTsKKyAgICByZWcwID0gKHY4aTE2KV9fbXNhX2lsdmV2X2IoemVybywgKHYxNmk4KXZlYzAp
OworICAgIHJlZzEgPSAodjhpMTYpX19tc2FfaWx2ZXZfYih6ZXJvLCAodjE2aTgpdmVjMSk7Cisg
ICAgcmVnMiA9ICh2OGkxNilfX21zYV9pbHZvZF9iKHplcm8sICh2MTZpOCl2ZWMwKTsKKyAgICBy
ZWcwICs9IHZlY19kMDsKKyAgICByZWcxICs9IHZlY19kMDsKKyAgICByZWcyICs9IHZlY19kMDsK
KyAgICByZWcwID0gX19tc2FfbWF4aV9zX2goKHY4aTE2KXJlZzAsIDApOworICAgIHJlZzEgPSBf
X21zYV9tYXhpX3NfaCgodjhpMTYpcmVnMSwgMCk7CisgICAgcmVnMiA9IF9fbXNhX21heGlfc19o
KCh2OGkxNilyZWcyLCAwKTsKKyAgICByZWcwID0gX19tc2FfbWluX3NfaCgodjhpMTYpbWF4LCAo
djhpMTYpcmVnMCk7CisgICAgcmVnMSA9IF9fbXNhX21pbl9zX2goKHY4aTE2KW1heCwgKHY4aTE2
KXJlZzEpOworICAgIHJlZzIgPSBfX21zYV9taW5fc19oKCh2OGkxNiltYXgsICh2OGkxNilyZWcy
KTsKKyAgICByZWcwID0gX19tc2Ffc3JhaV9oKHJlZzAsIDMpOworICAgIHJlZzIgPSBfX21zYV9z
cmFpX2gocmVnMiwgMyk7CisgICAgcmVnMSA9IF9fbXNhX3NyYWlfaChyZWcxLCAyKTsKKyAgICBy
ZWcyID0gX19tc2Ffc2xsaV9oKHJlZzIsIDExKTsKKyAgICByZWcxID0gX19tc2Ffc2xsaV9oKHJl
ZzEsIDUpOworICAgIHJlZzAgfD0gcmVnMTsKKyAgICBkc3QwID0gKHYxNnU4KShyZWcwIHwgcmVn
Mik7CisgICAgU1RfVUIoZHN0MCwgZHN0X3JnYik7CisgICAgc3JjX2FyZ2IgKz0gMzI7CisgICAg
ZHN0X3JnYiArPSAxNjsKKyAgfQorfQorCit2b2lkIEFSR0JTaHVmZmxlUm93X01TQShjb25zdCB1
aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsCisgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4IHNyYzAsIHNy
YzEsIGRzdDAsIGRzdDE7CisgIHYxNmk4IHZlYzA7CisgIHYxNmk4IHNodWZmbGVyX3ZlYyA9IHsw
LCAwLCAwLCAwLCA0LCA0LCA0LCA0LCA4LCA4LCA4LCA4LCAxMiwgMTIsIDEyLCAxMn07CisgIGlu
dDMyIHZhbCA9IExXKChpbnQzMiopc2h1ZmZsZXIpOworCisgIHZlYzAgPSAodjE2aTgpX19tc2Ff
ZmlsbF93KHZhbCk7CisgIHNodWZmbGVyX3ZlYyArPSB2ZWMwOworCisgIGZvciAoeCA9IDA7IHgg
PCB3aWR0aDsgeCArPSA4KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZ1OCop
c3JjX2FyZ2IsIDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRfYigodjE2dTgqKXNyY19h
cmdiLCAxNik7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV92c2hmX2Ioc2h1ZmZsZXJfdmVjLCAo
djE2aTgpc3JjMCwgKHYxNmk4KXNyYzApOworICAgIGRzdDEgPSAodjE2dTgpX19tc2FfdnNoZl9i
KHNodWZmbGVyX3ZlYywgKHYxNmk4KXNyYzEsICh2MTZpOClzcmMxKTsKKyAgICBTVF9VQjIoZHN0
MCwgZHN0MSwgZHN0X2FyZ2IsIDE2KTsKKyAgICBzcmNfYXJnYiArPSAzMjsKKyAgICBkc3RfYXJn
YiArPSAzMjsKKyAgfQorfQorCit2b2lkIEFSR0JTaGFkZVJvd19NU0EoY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyIHZh
bHVlKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBkc3QwOworICB2OHUxNiB2ZWMwLCB2ZWMx
OworICB2NHUzMiByZWcwLCByZWcxLCByZWcyLCByZWczLCByZ2JhX3NjYWxlOworICB2OGkxNiB6
ZXJvID0gezB9OworCisgIHJnYmFfc2NhbGVbMF0gPSB2YWx1ZTsKKyAgcmdiYV9zY2FsZSA9ICh2
NHUzMilfX21zYV9pbHZyX2IoKHYxNmk4KXJnYmFfc2NhbGUsICh2MTZpOClyZ2JhX3NjYWxlKTsK
KyAgcmdiYV9zY2FsZSA9ICh2NHUzMilfX21zYV9pbHZyX2goemVybywgKHY4aTE2KXJnYmFfc2Nh
bGUpOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSA0KSB7CisgICAgc3JjMCA9ICh2
MTZ1OClfX21zYV9sZF9iKCh2MTZ1OCopc3JjX2FyZ2IsIDApOworICAgIHZlYzAgPSAodjh1MTYp
X19tc2FfaWx2cl9iKCh2MTZpOClzcmMwLCAodjE2aTgpc3JjMCk7CisgICAgdmVjMSA9ICh2OHUx
NilfX21zYV9pbHZsX2IoKHYxNmk4KXNyYzAsICh2MTZpOClzcmMwKTsKKyAgICByZWcwID0gKHY0
dTMyKV9fbXNhX2lsdnJfaCh6ZXJvLCAodjhpMTYpdmVjMCk7CisgICAgcmVnMSA9ICh2NHUzMilf
X21zYV9pbHZsX2goemVybywgKHY4aTE2KXZlYzApOworICAgIHJlZzIgPSAodjR1MzIpX19tc2Ff
aWx2cl9oKHplcm8sICh2OGkxNil2ZWMxKTsKKyAgICByZWczID0gKHY0dTMyKV9fbXNhX2lsdmxf
aCh6ZXJvLCAodjhpMTYpdmVjMSk7CisgICAgcmVnMCAqPSByZ2JhX3NjYWxlOworICAgIHJlZzEg
Kj0gcmdiYV9zY2FsZTsKKyAgICByZWcyICo9IHJnYmFfc2NhbGU7CisgICAgcmVnMyAqPSByZ2Jh
X3NjYWxlOworICAgIHJlZzAgPSAodjR1MzIpX19tc2Ffc3JhaV93KCh2NGkzMilyZWcwLCAyNCk7
CisgICAgcmVnMSA9ICh2NHUzMilfX21zYV9zcmFpX3coKHY0aTMyKXJlZzEsIDI0KTsKKyAgICBy
ZWcyID0gKHY0dTMyKV9fbXNhX3NyYWlfdygodjRpMzIpcmVnMiwgMjQpOworICAgIHJlZzMgPSAo
djR1MzIpX19tc2Ffc3JhaV93KCh2NGkzMilyZWczLCAyNCk7CisgICAgdmVjMCA9ICh2OHUxNilf
X21zYV9wY2tldl9oKCh2OGkxNilyZWcxLCAodjhpMTYpcmVnMCk7CisgICAgdmVjMSA9ICh2OHUx
NilfX21zYV9wY2tldl9oKCh2OGkxNilyZWczLCAodjhpMTYpcmVnMik7CisgICAgZHN0MCA9ICh2
MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgU1RfVUIo
ZHN0MCwgZHN0X2FyZ2IpOworICAgIHNyY19hcmdiICs9IDE2OworICAgIGRzdF9hcmdiICs9IDE2
OworICB9Cit9CisKK3ZvaWQgQVJHQkdyYXlSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwg
dWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4IHNyYzAsIHNy
YzEsIHZlYzAsIHZlYzEsIGRzdDAsIGRzdDE7CisgIHY4dTE2IHJlZzA7CisgIHYxNnU4IGNvbnN0
XzB4MjYgPSAodjE2dTgpX19tc2FfbGRpX2goMHgyNik7CisgIHYxNnU4IGNvbnN0XzB4NEIwRiA9
ICh2MTZ1OClfX21zYV9maWxsX2goMHg0QjBGKTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7
IHggKz0gOCkgeworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2dTgqKXNyY19hcmdi
LCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYiwgMTYp
OworICAgIHZlYzAgPSAodjE2dTgpX19tc2FfcGNrZXZfaCgodjhpMTYpc3JjMSwgKHY4aTE2KXNy
YzApOworICAgIHZlYzEgPSAodjE2dTgpX19tc2FfcGNrb2RfaCgodjhpMTYpc3JjMSwgKHY4aTE2
KXNyYzApOworICAgIHJlZzAgPSBfX21zYV9kb3RwX3VfaCh2ZWMwLCBjb25zdF8weDRCMEYpOwor
ICAgIHJlZzAgPSBfX21zYV9kcGFkZF91X2gocmVnMCwgdmVjMSwgY29uc3RfMHgyNik7CisgICAg
cmVnMCA9ICh2OHUxNilfX21zYV9zcmFyaV9oKCh2OGkxNilyZWcwLCA3KTsKKyAgICB2ZWMwID0g
KHYxNnU4KV9fbXNhX2lsdmV2X2IoKHYxNmk4KXJlZzAsICh2MTZpOClyZWcwKTsKKyAgICB2ZWMx
ID0gKHYxNnU4KV9fbXNhX2lsdm9kX2IoKHYxNmk4KXZlYzEsICh2MTZpOCl2ZWMwKTsKKyAgICBk
c3QwID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpdmVjMSwgKHYxNmk4KXZlYzApOworICAg
IGRzdDEgPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7Cisg
ICAgU1RfVUIyKGRzdDAsIGRzdDEsIGRzdF9hcmdiLCAxNik7CisgICAgc3JjX2FyZ2IgKz0gMzI7
CisgICAgZHN0X2FyZ2IgKz0gMzI7CisgIH0KK30KKwordm9pZCBBUkdCU2VwaWFSb3dfTVNBKHVp
bnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBzcmMx
LCBkc3QwLCBkc3QxLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1OworICB2OHUx
NiByZWcwLCByZWcxLCByZWcyOworICB2MTZ1OCBjb25zdF8weDQ0MTEgPSAodjE2dTgpX19tc2Ff
ZmlsbF9oKDB4NDQxMSk7CisgIHYxNnU4IGNvbnN0XzB4MjMgPSAodjE2dTgpX19tc2FfbGRpX2go
MHgyMyk7CisgIHYxNnU4IGNvbnN0XzB4NTgxNiA9ICh2MTZ1OClfX21zYV9maWxsX2goMHg1ODE2
KTsKKyAgdjE2dTggY29uc3RfMHgyRCA9ICh2MTZ1OClfX21zYV9sZGlfaCgweDJEKTsKKyAgdjE2
dTggY29uc3RfMHg2MjE4ID0gKHYxNnU4KV9fbXNhX2ZpbGxfaCgweDYyMTgpOworICB2MTZ1OCBj
b25zdF8weDMyID0gKHYxNnU4KV9fbXNhX2xkaV9oKDB4MzIpOworICB2OHUxNiBjb25zdF8weEZG
ID0gKHY4dTE2KV9fbXNhX2xkaV9oKDB4RkYpOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsg
eCArPSA4KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZ1OCopZHN0X2FyZ2Is
IDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRfYigodjE2dTgqKWRzdF9hcmdiLCAxNik7
CisgICAgdmVjMCA9ICh2MTZ1OClfX21zYV9wY2tldl9oKCh2OGkxNilzcmMxLCAodjhpMTYpc3Jj
MCk7CisgICAgdmVjMSA9ICh2MTZ1OClfX21zYV9wY2tvZF9oKCh2OGkxNilzcmMxLCAodjhpMTYp
c3JjMCk7CisgICAgdmVjMyA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOCl2ZWMxLCAodjE2
aTgpdmVjMSk7CisgICAgcmVnMCA9ICh2OHUxNilfX21zYV9kb3RwX3VfaCh2ZWMwLCBjb25zdF8w
eDQ0MTEpOworICAgIHJlZzEgPSAodjh1MTYpX19tc2FfZG90cF91X2godmVjMCwgY29uc3RfMHg1
ODE2KTsKKyAgICByZWcyID0gKHY4dTE2KV9fbXNhX2RvdHBfdV9oKHZlYzAsIGNvbnN0XzB4NjIx
OCk7CisgICAgcmVnMCA9ICh2OHUxNilfX21zYV9kcGFkZF91X2gocmVnMCwgdmVjMSwgY29uc3Rf
MHgyMyk7CisgICAgcmVnMSA9ICh2OHUxNilfX21zYV9kcGFkZF91X2gocmVnMSwgdmVjMSwgY29u
c3RfMHgyRCk7CisgICAgcmVnMiA9ICh2OHUxNilfX21zYV9kcGFkZF91X2gocmVnMiwgdmVjMSwg
Y29uc3RfMHgzMik7CisgICAgcmVnMCA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXJlZzAs
IDcpOworICAgIHJlZzEgPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilyZWcxLCA3KTsKKyAg
ICByZWcyID0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhpMTYpcmVnMiwgNyk7CisgICAgcmVnMSA9
ICh2OHUxNilfX21zYV9taW5fdV9oKCh2OHUxNilyZWcxLCBjb25zdF8weEZGKTsKKyAgICByZWcy
ID0gKHY4dTE2KV9fbXNhX21pbl91X2goKHY4dTE2KXJlZzIsIGNvbnN0XzB4RkYpOworICAgIHZl
YzAgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgpcmVnMCwgKHYxNmk4KXJlZzApOworICAg
IHZlYzEgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgpcmVnMSwgKHYxNmk4KXJlZzEpOwor
ICAgIHZlYzIgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgpcmVnMiwgKHYxNmk4KXJlZzIp
OworICAgIHZlYzQgPSAodjE2dTgpX19tc2FfaWx2cl9iKCh2MTZpOCl2ZWMyLCAodjE2aTgpdmVj
MCk7CisgICAgdmVjNSA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYxNmk4KXZlYzMsICh2MTZpOCl2
ZWMxKTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpdmVjNSwgKHYxNmk4
KXZlYzQpOworICAgIGRzdDEgPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2MTZpOCl2ZWM1LCAodjE2
aTgpdmVjNCk7CisgICAgU1RfVUIyKGRzdDAsIGRzdDEsIGRzdF9hcmdiLCAxNik7CisgICAgZHN0
X2FyZ2IgKz0gMzI7CisgIH0KK30KKwordm9pZCBBUkdCNDQ0NFRvQVJHQlJvd19NU0EoY29uc3Qg
dWludDgqIHNyY19hcmdiNDQ0NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBpbnQg
eDsKICAgdjE2dTggc3JjMCwgc3JjMTsKQEAgLTM5MCwyNiArMTQ3NywxNDk4IEBAIHZvaWQgQVJH
QjQ0NDRUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsIHVpbnQ4KiBkc3Rf
YXJnYiwKICAgdjE2dTggZHN0MCwgZHN0MSwgZHN0MiwgZHN0MzsKIAogICBmb3IgKHggPSAwOyB4
IDwgd2lkdGg7IHggKz0gMTYpIHsKLSAgICBzcmMwID0gKHYxNnU4KSBfX21zYV9sZF9iKCh2MTZ1
OCopIHNyY19hcmdiNDQ0NCwgMCk7Ci0gICAgc3JjMSA9ICh2MTZ1OCkgX19tc2FfbGRfYigodjE2
dTgqKSBzcmNfYXJnYjQ0NDQsIDE2KTsKLSAgICB2ZWMwID0gKHY4dTE2KSBfX21zYV9hbmRpX2Io
c3JjMCwgMHgwRik7Ci0gICAgdmVjMSA9ICh2OHUxNikgX19tc2FfYW5kaV9iKHNyYzEsIDB4MEYp
OwotICAgIHZlYzIgPSAodjh1MTYpIF9fbXNhX2FuZGlfYihzcmMwLCAweEYwKTsKLSAgICB2ZWMz
ID0gKHY4dTE2KSBfX21zYV9hbmRpX2Ioc3JjMSwgMHhGMCk7Ci0gICAgdmVjMCB8PSAodjh1MTYp
IF9fbXNhX3NsbGlfYigodjE2aTgpIHZlYzAsIDQpOwotICAgIHZlYzEgfD0gKHY4dTE2KSBfX21z
YV9zbGxpX2IoKHYxNmk4KSB2ZWMxLCA0KTsKLSAgICB2ZWMyIHw9ICh2OHUxNikgX19tc2Ffc3Js
aV9iKCh2MTZpOCkgdmVjMiwgNCk7Ci0gICAgdmVjMyB8PSAodjh1MTYpIF9fbXNhX3NybGlfYigo
djE2aTgpIHZlYzMsIDQpOwotICAgIGRzdDAgPSAodjE2dTgpIF9fbXNhX2lsdnJfYigodjE2aTgp
IHZlYzIsICh2MTZpOCkgdmVjMCk7Ci0gICAgZHN0MSA9ICh2MTZ1OCkgX19tc2FfaWx2bF9iKCh2
MTZpOCkgdmVjMiwgKHYxNmk4KSB2ZWMwKTsKLSAgICBkc3QyID0gKHYxNnU4KSBfX21zYV9pbHZy
X2IoKHYxNmk4KSB2ZWMzLCAodjE2aTgpIHZlYzEpOwotICAgIGRzdDMgPSAodjE2dTgpIF9fbXNh
X2lsdmxfYigodjE2aTgpIHZlYzMsICh2MTZpOCkgdmVjMSk7CisgICAgc3JjMCA9ICh2MTZ1OClf
X21zYV9sZF9iKCh2MTZ1OCopc3JjX2FyZ2I0NDQ0LCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9f
bXNhX2xkX2IoKHYxNnU4KilzcmNfYXJnYjQ0NDQsIDE2KTsKKyAgICB2ZWMwID0gKHY4dTE2KV9f
bXNhX2FuZGlfYihzcmMwLCAweDBGKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNhX2FuZGlfYihz
cmMxLCAweDBGKTsKKyAgICB2ZWMyID0gKHY4dTE2KV9fbXNhX2FuZGlfYihzcmMwLCAweEYwKTsK
KyAgICB2ZWMzID0gKHY4dTE2KV9fbXNhX2FuZGlfYihzcmMxLCAweEYwKTsKKyAgICB2ZWMwIHw9
ICh2OHUxNilfX21zYV9zbGxpX2IoKHYxNmk4KXZlYzAsIDQpOworICAgIHZlYzEgfD0gKHY4dTE2
KV9fbXNhX3NsbGlfYigodjE2aTgpdmVjMSwgNCk7CisgICAgdmVjMiB8PSAodjh1MTYpX19tc2Ff
c3JsaV9iKCh2MTZpOCl2ZWMyLCA0KTsKKyAgICB2ZWMzIHw9ICh2OHUxNilfX21zYV9zcmxpX2Io
KHYxNmk4KXZlYzMsIDQpOworICAgIGRzdDAgPSAodjE2dTgpX19tc2FfaWx2cl9iKCh2MTZpOCl2
ZWMyLCAodjE2aTgpdmVjMCk7CisgICAgZHN0MSA9ICh2MTZ1OClfX21zYV9pbHZsX2IoKHYxNmk4
KXZlYzIsICh2MTZpOCl2ZWMwKTsKKyAgICBkc3QyID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2
aTgpdmVjMywgKHYxNmk4KXZlYzEpOworICAgIGRzdDMgPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2
MTZpOCl2ZWMzLCAodjE2aTgpdmVjMSk7CiAgICAgU1RfVUI0KGRzdDAsIGRzdDEsIGRzdDIsIGRz
dDMsIGRzdF9hcmdiLCAxNik7CiAgICAgc3JjX2FyZ2I0NDQ0ICs9IDMyOwogICAgIGRzdF9hcmdi
ICs9IDY0OwogICB9CiB9CiAKK3ZvaWQgQVJHQjE1NTVUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjE1NTUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7Cisg
IHY4dTE2IHNyYzAsIHNyYzE7CisgIHY4dTE2IHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQs
IHZlYzU7CisgIHYxNnU4IHJlZzAsIHJlZzEsIHJlZzIsIHJlZzMsIHJlZzQsIHJlZzUsIHJlZzY7
CisgIHYxNnU4IGRzdDAsIGRzdDEsIGRzdDIsIGRzdDM7CisgIHY4dTE2IGNvbnN0XzB4MUYgPSAo
djh1MTYpX19tc2FfbGRpX2goMHgxRik7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9
IDE2KSB7CisgICAgc3JjMCA9ICh2OHUxNilfX21zYV9sZF9oKCh2OHUxNiopc3JjX2FyZ2IxNTU1
LCAwKTsKKyAgICBzcmMxID0gKHY4dTE2KV9fbXNhX2xkX2goKHY4dTE2KilzcmNfYXJnYjE1NTUs
IDE2KTsKKyAgICB2ZWMwID0gc3JjMCAmIGNvbnN0XzB4MUY7CisgICAgdmVjMSA9IHNyYzEgJiBj
b25zdF8weDFGOworICAgIHNyYzAgPSAodjh1MTYpX19tc2Ffc3JsaV9oKCh2OGkxNilzcmMwLCA1
KTsKKyAgICBzcmMxID0gKHY4dTE2KV9fbXNhX3NybGlfaCgodjhpMTYpc3JjMSwgNSk7CisgICAg
dmVjMiA9IHNyYzAgJiBjb25zdF8weDFGOworICAgIHZlYzMgPSBzcmMxICYgY29uc3RfMHgxRjsK
KyAgICBzcmMwID0gKHY4dTE2KV9fbXNhX3NybGlfaCgodjhpMTYpc3JjMCwgNSk7CisgICAgc3Jj
MSA9ICh2OHUxNilfX21zYV9zcmxpX2goKHY4aTE2KXNyYzEsIDUpOworICAgIHZlYzQgPSBzcmMw
ICYgY29uc3RfMHgxRjsKKyAgICB2ZWM1ID0gc3JjMSAmIGNvbnN0XzB4MUY7CisgICAgc3JjMCA9
ICh2OHUxNilfX21zYV9zcmxpX2goKHY4aTE2KXNyYzAsIDUpOworICAgIHNyYzEgPSAodjh1MTYp
X19tc2Ffc3JsaV9oKCh2OGkxNilzcmMxLCA1KTsKKyAgICByZWcwID0gKHYxNnU4KV9fbXNhX3Bj
a2V2X2IoKHYxNmk4KXZlYzEsICh2MTZpOCl2ZWMwKTsKKyAgICByZWcxID0gKHYxNnU4KV9fbXNh
X3Bja2V2X2IoKHYxNmk4KXZlYzMsICh2MTZpOCl2ZWMyKTsKKyAgICByZWcyID0gKHYxNnU4KV9f
bXNhX3Bja2V2X2IoKHYxNmk4KXZlYzUsICh2MTZpOCl2ZWM0KTsKKyAgICByZWczID0gKHYxNnU4
KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXNyYzEsICh2MTZpOClzcmMwKTsKKyAgICByZWc0ID0gKHYx
NnU4KV9fbXNhX3NsbGlfYigodjE2aTgpcmVnMCwgMyk7CisgICAgcmVnNSA9ICh2MTZ1OClfX21z
YV9zbGxpX2IoKHYxNmk4KXJlZzEsIDMpOworICAgIHJlZzYgPSAodjE2dTgpX19tc2Ffc2xsaV9i
KCh2MTZpOClyZWcyLCAzKTsKKyAgICByZWc0IHw9ICh2MTZ1OClfX21zYV9zcmFpX2IoKHYxNmk4
KXJlZzAsIDIpOworICAgIHJlZzUgfD0gKHYxNnU4KV9fbXNhX3NyYWlfYigodjE2aTgpcmVnMSwg
Mik7CisgICAgcmVnNiB8PSAodjE2dTgpX19tc2Ffc3JhaV9iKCh2MTZpOClyZWcyLCAyKTsKKyAg
ICByZWczID0gLXJlZzM7CisgICAgcmVnMCA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYxNmk4KXJl
ZzYsICh2MTZpOClyZWc0KTsKKyAgICByZWcxID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2aTgp
cmVnNiwgKHYxNmk4KXJlZzQpOworICAgIHJlZzIgPSAodjE2dTgpX19tc2FfaWx2cl9iKCh2MTZp
OClyZWczLCAodjE2aTgpcmVnNSk7CisgICAgcmVnMyA9ICh2MTZ1OClfX21zYV9pbHZsX2IoKHYx
Nmk4KXJlZzMsICh2MTZpOClyZWc1KTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX2lsdnJfYigo
djE2aTgpcmVnMiwgKHYxNmk4KXJlZzApOworICAgIGRzdDEgPSAodjE2dTgpX19tc2FfaWx2bF9i
KCh2MTZpOClyZWcyLCAodjE2aTgpcmVnMCk7CisgICAgZHN0MiA9ICh2MTZ1OClfX21zYV9pbHZy
X2IoKHYxNmk4KXJlZzMsICh2MTZpOClyZWcxKTsKKyAgICBkc3QzID0gKHYxNnU4KV9fbXNhX2ls
dmxfYigodjE2aTgpcmVnMywgKHYxNmk4KXJlZzEpOworICAgIFNUX1VCNChkc3QwLCBkc3QxLCBk
c3QyLCBkc3QzLCBkc3RfYXJnYiwgMTYpOworICAgIHNyY19hcmdiMTU1NSArPSAzMjsKKyAgICBk
c3RfYXJnYiArPSA2NDsKKyAgfQorfQorCit2b2lkIFJHQjU2NVRvQVJHQlJvd19NU0EoY29uc3Qg
dWludDgqIHNyY19yZ2I1NjUsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7CisgIGludCB4
OworICB2OHUxNiBzcmMwLCBzcmMxLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1
OworICB2OHUxNiByZWcwLCByZWcxLCByZWcyLCByZWczLCByZWc0LCByZWc1OworICB2MTZ1OCBy
ZXMwLCByZXMxLCByZXMyLCByZXMzLCBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzOworICB2MTZ1OCBh
bHBoYSA9ICh2MTZ1OClfX21zYV9sZGlfYihBTFBIQV9WQUwpOworICB2OHUxNiBjb25zdF8weDFG
ID0gKHY4dTE2KV9fbXNhX2xkaV9oKDB4MUYpOworICB2OHUxNiBjb25zdF8weDdFMCA9ICh2OHUx
NilfX21zYV9maWxsX2goMHg3RTApOworICB2OHUxNiBjb25zdF8weEY4MDAgPSAodjh1MTYpX19t
c2FfZmlsbF9oKDB4RjgwMCk7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDE2KSB7
CisgICAgc3JjMCA9ICh2OHUxNilfX21zYV9sZF9oKCh2OHUxNiopc3JjX3JnYjU2NSwgMCk7Cisg
ICAgc3JjMSA9ICh2OHUxNilfX21zYV9sZF9oKCh2OHUxNiopc3JjX3JnYjU2NSwgMTYpOworICAg
IHZlYzAgPSBzcmMwICYgY29uc3RfMHgxRjsKKyAgICB2ZWMxID0gc3JjMCAmIGNvbnN0XzB4N0Uw
OworICAgIHZlYzIgPSBzcmMwICYgY29uc3RfMHhGODAwOworICAgIHZlYzMgPSBzcmMxICYgY29u
c3RfMHgxRjsKKyAgICB2ZWM0ID0gc3JjMSAmIGNvbnN0XzB4N0UwOworICAgIHZlYzUgPSBzcmMx
ICYgY29uc3RfMHhGODAwOworICAgIHJlZzAgPSAodjh1MTYpX19tc2Ffc2xsaV9oKCh2OGkxNil2
ZWMwLCAzKTsKKyAgICByZWcxID0gKHY4dTE2KV9fbXNhX3NybGlfaCgodjhpMTYpdmVjMSwgMyk7
CisgICAgcmVnMiA9ICh2OHUxNilfX21zYV9zcmxpX2goKHY4aTE2KXZlYzIsIDgpOworICAgIHJl
ZzMgPSAodjh1MTYpX19tc2Ffc2xsaV9oKCh2OGkxNil2ZWMzLCAzKTsKKyAgICByZWc0ID0gKHY4
dTE2KV9fbXNhX3NybGlfaCgodjhpMTYpdmVjNCwgMyk7CisgICAgcmVnNSA9ICh2OHUxNilfX21z
YV9zcmxpX2goKHY4aTE2KXZlYzUsIDgpOworICAgIHJlZzAgfD0gKHY4dTE2KV9fbXNhX3NybGlf
aCgodjhpMTYpdmVjMCwgMik7CisgICAgcmVnMSB8PSAodjh1MTYpX19tc2Ffc3JsaV9oKCh2OGkx
Nil2ZWMxLCA5KTsKKyAgICByZWcyIHw9ICh2OHUxNilfX21zYV9zcmxpX2goKHY4aTE2KXZlYzIs
IDEzKTsKKyAgICByZWczIHw9ICh2OHUxNilfX21zYV9zcmxpX2goKHY4aTE2KXZlYzMsIDIpOwor
ICAgIHJlZzQgfD0gKHY4dTE2KV9fbXNhX3NybGlfaCgodjhpMTYpdmVjNCwgOSk7CisgICAgcmVn
NSB8PSAodjh1MTYpX19tc2Ffc3JsaV9oKCh2OGkxNil2ZWM1LCAxMyk7CisgICAgcmVzMCA9ICh2
MTZ1OClfX21zYV9pbHZldl9iKCh2MTZpOClyZWcyLCAodjE2aTgpcmVnMCk7CisgICAgcmVzMSA9
ICh2MTZ1OClfX21zYV9pbHZldl9iKCh2MTZpOClhbHBoYSwgKHYxNmk4KXJlZzEpOworICAgIHJl
czIgPSAodjE2dTgpX19tc2FfaWx2ZXZfYigodjE2aTgpcmVnNSwgKHYxNmk4KXJlZzMpOworICAg
IHJlczMgPSAodjE2dTgpX19tc2FfaWx2ZXZfYigodjE2aTgpYWxwaGEsICh2MTZpOClyZWc0KTsK
KyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpcmVzMSwgKHYxNmk4KXJlczAp
OworICAgIGRzdDEgPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2MTZpOClyZXMxLCAodjE2aTgpcmVz
MCk7CisgICAgZHN0MiA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYxNmk4KXJlczMsICh2MTZpOCly
ZXMyKTsKKyAgICBkc3QzID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2aTgpcmVzMywgKHYxNmk4
KXJlczIpOworICAgIFNUX1VCNChkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCBkc3RfYXJnYiwgMTYp
OworICAgIHNyY19yZ2I1NjUgKz0gMzI7CisgICAgZHN0X2FyZ2IgKz0gNjQ7CisgIH0KK30KKwor
dm9pZCBSR0IyNFRvQVJHQlJvd19NU0EoY29uc3QgdWludDgqIHNyY19yZ2IyNCwgdWludDgqIGRz
dF9hcmdiLCBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHNyYzI7
CisgIHYxNnU4IHZlYzAsIHZlYzEsIHZlYzI7CisgIHYxNnU4IGRzdDAsIGRzdDEsIGRzdDIsIGRz
dDM7CisgIHYxNnU4IGFscGhhID0gKHYxNnU4KV9fbXNhX2xkaV9iKEFMUEhBX1ZBTCk7CisgIHYx
Nmk4IHNodWZmbGVyID0gezAsIDEsIDIsIDE2LCAzLCA0LCA1LCAxNywgNiwgNywgOCwgMTgsIDks
IDEwLCAxMSwgMTl9OworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSAxNikgeworICAg
IHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19yZ2IyNCwgMCk7CisgICAgc3Jj
MSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX3JnYjI0LCAxNik7CisgICAgc3JjMiA9
ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX3JnYjI0LCAzMik7CisgICAgdmVjMCA9ICh2
MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KXNyYzEsICh2MTZpOClzcmMwLCAxMik7CisgICAgdmVj
MSA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KXNyYzIsICh2MTZpOClzcmMxLCA4KTsKKyAg
ICB2ZWMyID0gKHYxNnU4KV9fbXNhX3NsZGlfYigodjE2aTgpc3JjMiwgKHYxNmk4KXNyYzIsIDQp
OworICAgIGRzdDAgPSAodjE2dTgpX19tc2FfdnNoZl9iKHNodWZmbGVyLCAodjE2aTgpYWxwaGEs
ICh2MTZpOClzcmMwKTsKKyAgICBkc3QxID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihzaHVmZmxlciwg
KHYxNmk4KWFscGhhLCAodjE2aTgpdmVjMCk7CisgICAgZHN0MiA9ICh2MTZ1OClfX21zYV92c2hm
X2Ioc2h1ZmZsZXIsICh2MTZpOClhbHBoYSwgKHYxNmk4KXZlYzEpOworICAgIGRzdDMgPSAodjE2
dTgpX19tc2FfdnNoZl9iKHNodWZmbGVyLCAodjE2aTgpYWxwaGEsICh2MTZpOCl2ZWMyKTsKKyAg
ICBTVF9VQjQoZHN0MCwgZHN0MSwgZHN0MiwgZHN0MywgZHN0X2FyZ2IsIDE2KTsKKyAgICBzcmNf
cmdiMjQgKz0gNDg7CisgICAgZHN0X2FyZ2IgKz0gNjQ7CisgIH0KK30KKwordm9pZCBSQVdUb0FS
R0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0
aCkgeworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMjsKKyAgdjE2dTggdmVjMCwg
dmVjMSwgdmVjMjsKKyAgdjE2dTggZHN0MCwgZHN0MSwgZHN0MiwgZHN0MzsKKyAgdjE2dTggYWxw
aGEgPSAodjE2dTgpX19tc2FfbGRpX2IoQUxQSEFfVkFMKTsKKyAgdjE2aTggbWFzayA9IHsyLCAx
LCAwLCAxNiwgNSwgNCwgMywgMTcsIDgsIDcsIDYsIDE4LCAxMSwgMTAsIDksIDE5fTsKKworICBm
b3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMTYpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNh
X2xkX2IoKHYxNmk4KilzcmNfcmF3LCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2Io
KHYxNmk4KilzcmNfcmF3LCAxNik7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZp
OCopc3JjX3JhdywgMzIpOworICAgIHZlYzAgPSAodjE2dTgpX19tc2Ffc2xkaV9iKCh2MTZpOClz
cmMxLCAodjE2aTgpc3JjMCwgMTIpOworICAgIHZlYzEgPSAodjE2dTgpX19tc2Ffc2xkaV9iKCh2
MTZpOClzcmMyLCAodjE2aTgpc3JjMSwgOCk7CisgICAgdmVjMiA9ICh2MTZ1OClfX21zYV9zbGRp
X2IoKHYxNmk4KXNyYzIsICh2MTZpOClzcmMyLCA0KTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNh
X3ZzaGZfYihtYXNrLCAodjE2aTgpYWxwaGEsICh2MTZpOClzcmMwKTsKKyAgICBkc3QxID0gKHYx
NnU4KV9fbXNhX3ZzaGZfYihtYXNrLCAodjE2aTgpYWxwaGEsICh2MTZpOCl2ZWMwKTsKKyAgICBk
c3QyID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihtYXNrLCAodjE2aTgpYWxwaGEsICh2MTZpOCl2ZWMx
KTsKKyAgICBkc3QzID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihtYXNrLCAodjE2aTgpYWxwaGEsICh2
MTZpOCl2ZWMyKTsKKyAgICBTVF9VQjQoZHN0MCwgZHN0MSwgZHN0MiwgZHN0MywgZHN0X2FyZ2Is
IDE2KTsKKyAgICBzcmNfcmF3ICs9IDQ4OworICAgIGRzdF9hcmdiICs9IDY0OworICB9Cit9CisK
K3ZvaWQgQVJHQjE1NTVUb1lSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIHVpbnQ4
KiBkc3RfeSwgaW50IHdpZHRoKSB7CisgIGludCB4OworICB2OHUxNiBzcmMwLCBzcmMxLCB2ZWMw
LCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1OworICB2OHUxNiByZWcwLCByZWcxLCByZWcy
LCByZWczLCByZWc0LCByZWc1OworICB2MTZ1OCBkc3QwOworICB2OHUxNiBjb25zdF8weDE5ID0g
KHY4dTE2KV9fbXNhX2xkaV9oKDB4MTkpOworICB2OHUxNiBjb25zdF8weDgxID0gKHY4dTE2KV9f
bXNhX2xkaV9oKDB4ODEpOworICB2OHUxNiBjb25zdF8weDQyID0gKHY4dTE2KV9fbXNhX2xkaV9o
KDB4NDIpOworICB2OHUxNiBjb25zdF8weDFGID0gKHY4dTE2KV9fbXNhX2xkaV9oKDB4MUYpOwor
ICB2OHUxNiBjb25zdF8weDEwODAgPSAodjh1MTYpX19tc2FfZmlsbF9oKDB4MTA4MCk7CisKKyAg
Zm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDE2KSB7CisgICAgc3JjMCA9ICh2OHUxNilfX21z
YV9sZF9iKCh2OGkxNiopc3JjX2FyZ2IxNTU1LCAwKTsKKyAgICBzcmMxID0gKHY4dTE2KV9fbXNh
X2xkX2IoKHY4aTE2KilzcmNfYXJnYjE1NTUsIDE2KTsKKyAgICB2ZWMwID0gc3JjMCAmIGNvbnN0
XzB4MUY7CisgICAgdmVjMSA9IHNyYzEgJiBjb25zdF8weDFGOworICAgIHNyYzAgPSAodjh1MTYp
X19tc2Ffc3JhaV9oKCh2OGkxNilzcmMwLCA1KTsKKyAgICBzcmMxID0gKHY4dTE2KV9fbXNhX3Ny
YWlfaCgodjhpMTYpc3JjMSwgNSk7CisgICAgdmVjMiA9IHNyYzAgJiBjb25zdF8weDFGOworICAg
IHZlYzMgPSBzcmMxICYgY29uc3RfMHgxRjsKKyAgICBzcmMwID0gKHY4dTE2KV9fbXNhX3NyYWlf
aCgodjhpMTYpc3JjMCwgNSk7CisgICAgc3JjMSA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2
KXNyYzEsIDUpOworICAgIHZlYzQgPSBzcmMwICYgY29uc3RfMHgxRjsKKyAgICB2ZWM1ID0gc3Jj
MSAmIGNvbnN0XzB4MUY7CisgICAgcmVnMCA9ICh2OHUxNilfX21zYV9zbGxpX2goKHY4aTE2KXZl
YzAsIDMpOworICAgIHJlZzEgPSAodjh1MTYpX19tc2Ffc2xsaV9oKCh2OGkxNil2ZWMxLCAzKTsK
KyAgICByZWcwIHw9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXZlYzAsIDIpOworICAgIHJl
ZzEgfD0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhpMTYpdmVjMSwgMik7CisgICAgcmVnMiA9ICh2
OHUxNilfX21zYV9zbGxpX2goKHY4aTE2KXZlYzIsIDMpOworICAgIHJlZzMgPSAodjh1MTYpX19t
c2Ffc2xsaV9oKCh2OGkxNil2ZWMzLCAzKTsKKyAgICByZWcyIHw9ICh2OHUxNilfX21zYV9zcmFp
X2goKHY4aTE2KXZlYzIsIDIpOworICAgIHJlZzMgfD0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhp
MTYpdmVjMywgMik7CisgICAgcmVnNCA9ICh2OHUxNilfX21zYV9zbGxpX2goKHY4aTE2KXZlYzQs
IDMpOworICAgIHJlZzUgPSAodjh1MTYpX19tc2Ffc2xsaV9oKCh2OGkxNil2ZWM1LCAzKTsKKyAg
ICByZWc0IHw9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXZlYzQsIDIpOworICAgIHJlZzUg
fD0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhpMTYpdmVjNSwgMik7CisgICAgcmVnMCAqPSBjb25z
dF8weDE5OworICAgIHJlZzEgKj0gY29uc3RfMHgxOTsKKyAgICByZWcyICo9IGNvbnN0XzB4ODE7
CisgICAgcmVnMyAqPSBjb25zdF8weDgxOworICAgIHJlZzQgKj0gY29uc3RfMHg0MjsKKyAgICBy
ZWc1ICo9IGNvbnN0XzB4NDI7CisgICAgcmVnMCArPSByZWcyOworICAgIHJlZzEgKz0gcmVnMzsK
KyAgICByZWcwICs9IHJlZzQ7CisgICAgcmVnMSArPSByZWc1OworICAgIHJlZzAgKz0gY29uc3Rf
MHgxMDgwOworICAgIHJlZzEgKz0gY29uc3RfMHgxMDgwOworICAgIHJlZzAgPSAodjh1MTYpX19t
c2Ffc3JhaV9oKCh2OGkxNilyZWcwLCA4KTsKKyAgICByZWcxID0gKHY4dTE2KV9fbXNhX3NyYWlf
aCgodjhpMTYpcmVnMSwgOCk7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZp
OClyZWcxLCAodjE2aTgpcmVnMCk7CisgICAgU1RfVUIoZHN0MCwgZHN0X3kpOworICAgIHNyY19h
cmdiMTU1NSArPSAzMjsKKyAgICBkc3RfeSArPSAxNjsKKyAgfQorfQorCit2b2lkIFJHQjU2NVRv
WVJvd19NU0EoY29uc3QgdWludDgqIHNyY19yZ2I1NjUsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRo
KSB7CisgIGludCB4OworICB2OHUxNiBzcmMwLCBzcmMxLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMz
LCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3OworICB2OHUxNiByZWcwLCByZWcxLCByZWcyLCByZWcz
LCByZWc0LCByZWc1OworICB2NHUzMiByZXMwLCByZXMxLCByZXMyLCByZXMzOworICB2MTZ1OCBk
c3QwOworICB2NHUzMiBjb25zdF8weDgxMDAxOSA9ICh2NHUzMilfX21zYV9maWxsX3coMHg4MTAw
MTkpOworICB2NHUzMiBjb25zdF8weDAxMDA0MiA9ICh2NHUzMilfX21zYV9maWxsX3coMHgwMTAw
NDIpOworICB2OGkxNiBjb25zdF8weDEwODAgPSBfX21zYV9maWxsX2goMHgxMDgwKTsKKyAgdjh1
MTYgY29uc3RfMHgxRiA9ICh2OHUxNilfX21zYV9sZGlfaCgweDFGKTsKKyAgdjh1MTYgY29uc3Rf
MHg3RTAgPSAodjh1MTYpX19tc2FfZmlsbF9oKDB4N0UwKTsKKyAgdjh1MTYgY29uc3RfMHhGODAw
ID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCgweEY4MDApOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0
aDsgeCArPSAxNikgeworICAgIHNyYzAgPSAodjh1MTYpX19tc2FfbGRfYigodjhpMTYqKXNyY19y
Z2I1NjUsIDApOworICAgIHNyYzEgPSAodjh1MTYpX19tc2FfbGRfYigodjhpMTYqKXNyY19yZ2I1
NjUsIDE2KTsKKyAgICB2ZWMwID0gc3JjMCAmIGNvbnN0XzB4MUY7CisgICAgdmVjMSA9IHNyYzAg
JiBjb25zdF8weDdFMDsKKyAgICB2ZWMyID0gc3JjMCAmIGNvbnN0XzB4RjgwMDsKKyAgICB2ZWMz
ID0gc3JjMSAmIGNvbnN0XzB4MUY7CisgICAgdmVjNCA9IHNyYzEgJiBjb25zdF8weDdFMDsKKyAg
ICB2ZWM1ID0gc3JjMSAmIGNvbnN0XzB4RjgwMDsKKyAgICByZWcwID0gKHY4dTE2KV9fbXNhX3Ns
bGlfaCgodjhpMTYpdmVjMCwgMyk7CisgICAgcmVnMSA9ICh2OHUxNilfX21zYV9zcmxpX2goKHY4
aTE2KXZlYzEsIDMpOworICAgIHJlZzIgPSAodjh1MTYpX19tc2Ffc3JsaV9oKCh2OGkxNil2ZWMy
LCA4KTsKKyAgICByZWczID0gKHY4dTE2KV9fbXNhX3NsbGlfaCgodjhpMTYpdmVjMywgMyk7Cisg
ICAgcmVnNCA9ICh2OHUxNilfX21zYV9zcmxpX2goKHY4aTE2KXZlYzQsIDMpOworICAgIHJlZzUg
PSAodjh1MTYpX19tc2Ffc3JsaV9oKCh2OGkxNil2ZWM1LCA4KTsKKyAgICByZWcwIHw9ICh2OHUx
NilfX21zYV9zcmxpX2goKHY4aTE2KXZlYzAsIDIpOworICAgIHJlZzEgfD0gKHY4dTE2KV9fbXNh
X3NybGlfaCgodjhpMTYpdmVjMSwgOSk7CisgICAgcmVnMiB8PSAodjh1MTYpX19tc2Ffc3JsaV9o
KCh2OGkxNil2ZWMyLCAxMyk7CisgICAgcmVnMyB8PSAodjh1MTYpX19tc2Ffc3JsaV9oKCh2OGkx
Nil2ZWMzLCAyKTsKKyAgICByZWc0IHw9ICh2OHUxNilfX21zYV9zcmxpX2goKHY4aTE2KXZlYzQs
IDkpOworICAgIHJlZzUgfD0gKHY4dTE2KV9fbXNhX3NybGlfaCgodjhpMTYpdmVjNSwgMTMpOwor
ICAgIHZlYzAgPSAodjh1MTYpX19tc2FfaWx2cl9oKCh2OGkxNilyZWcxLCAodjhpMTYpcmVnMCk7
CisgICAgdmVjMSA9ICh2OHUxNilfX21zYV9pbHZsX2goKHY4aTE2KXJlZzEsICh2OGkxNilyZWcw
KTsKKyAgICB2ZWMyID0gKHY4dTE2KV9fbXNhX2lsdnJfaCgodjhpMTYpcmVnNCwgKHY4aTE2KXJl
ZzMpOworICAgIHZlYzMgPSAodjh1MTYpX19tc2FfaWx2bF9oKCh2OGkxNilyZWc0LCAodjhpMTYp
cmVnMyk7CisgICAgdmVjNCA9ICh2OHUxNilfX21zYV9pbHZyX2goY29uc3RfMHgxMDgwLCAodjhp
MTYpcmVnMik7CisgICAgdmVjNSA9ICh2OHUxNilfX21zYV9pbHZsX2goY29uc3RfMHgxMDgwLCAo
djhpMTYpcmVnMik7CisgICAgdmVjNiA9ICh2OHUxNilfX21zYV9pbHZyX2goY29uc3RfMHgxMDgw
LCAodjhpMTYpcmVnNSk7CisgICAgdmVjNyA9ICh2OHUxNilfX21zYV9pbHZsX2goY29uc3RfMHgx
MDgwLCAodjhpMTYpcmVnNSk7CisgICAgcmVzMCA9IF9fbXNhX2RvdHBfdV93KHZlYzAsICh2OHUx
Niljb25zdF8weDgxMDAxOSk7CisgICAgcmVzMSA9IF9fbXNhX2RvdHBfdV93KHZlYzEsICh2OHUx
Niljb25zdF8weDgxMDAxOSk7CisgICAgcmVzMiA9IF9fbXNhX2RvdHBfdV93KHZlYzIsICh2OHUx
Niljb25zdF8weDgxMDAxOSk7CisgICAgcmVzMyA9IF9fbXNhX2RvdHBfdV93KHZlYzMsICh2OHUx
Niljb25zdF8weDgxMDAxOSk7CisgICAgcmVzMCA9IF9fbXNhX2RwYWRkX3VfdyhyZXMwLCB2ZWM0
LCAodjh1MTYpY29uc3RfMHgwMTAwNDIpOworICAgIHJlczEgPSBfX21zYV9kcGFkZF91X3cocmVz
MSwgdmVjNSwgKHY4dTE2KWNvbnN0XzB4MDEwMDQyKTsKKyAgICByZXMyID0gX19tc2FfZHBhZGRf
dV93KHJlczIsIHZlYzYsICh2OHUxNiljb25zdF8weDAxMDA0Mik7CisgICAgcmVzMyA9IF9fbXNh
X2RwYWRkX3VfdyhyZXMzLCB2ZWM3LCAodjh1MTYpY29uc3RfMHgwMTAwNDIpOworICAgIHJlczAg
PSAodjR1MzIpX19tc2Ffc3JhaV93KCh2NGkzMilyZXMwLCA4KTsKKyAgICByZXMxID0gKHY0dTMy
KV9fbXNhX3NyYWlfdygodjRpMzIpcmVzMSwgOCk7CisgICAgcmVzMiA9ICh2NHUzMilfX21zYV9z
cmFpX3coKHY0aTMyKXJlczIsIDgpOworICAgIHJlczMgPSAodjR1MzIpX19tc2Ffc3JhaV93KCh2
NGkzMilyZXMzLCA4KTsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX3Bja2V2X2goKHY4aTE2KXJl
czEsICh2OGkxNilyZXMwKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNhX3Bja2V2X2goKHY4aTE2
KXJlczMsICh2OGkxNilyZXMyKTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYx
Nmk4KXZlYzEsICh2MTZpOCl2ZWMwKTsKKyAgICBTVF9VQihkc3QwLCBkc3RfeSk7CisgICAgc3Jj
X3JnYjU2NSArPSAzMjsKKyAgICBkc3RfeSArPSAxNjsKKyAgfQorfQorCit2b2lkIFJHQjI0VG9Z
Um93X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2IwLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkg
eworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMiwgcmVnMCwgcmVnMSwgcmVnMiwg
cmVnMywgZHN0MDsKKyAgdjh1MTYgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMzsKKyAgdjh1MTYgY29u
c3RfMHg4MTE5ID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCgweDgxMTkpOworICB2OHUxNiBjb25zdF8w
eDQyID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCgweDQyKTsKKyAgdjh1MTYgY29uc3RfMHgxMDgwID0g
KHY4dTE2KV9fbXNhX2ZpbGxfaCgweDEwODApOworICB2MTZpOCBtYXNrMCA9IHswLCAxLCAyLCAz
LCAzLCA0LCA1LCA2LCA2LCA3LCA4LCA5LCA5LCAxMCwgMTEsIDEyfTsKKyAgdjE2aTggbWFzazEg
PSB7MTIsIDEzLCAxNCwgMTUsIDE1LCAxNiwgMTcsIDE4LAorICAgICAgICAgICAgICAgICAxOCwg
MTksIDIwLCAyMSwgMjEsIDIyLCAyMywgMjR9OworICB2MTZpOCBtYXNrMiA9IHs4LCA5LCAxMCwg
MTEsIDExLCAxMiwgMTMsIDE0LCAxNCwgMTUsIDE2LCAxNywgMTcsIDE4LCAxOSwgMjB9OworICB2
MTZpOCBtYXNrMyA9IHs0LCA1LCA2LCA3LCA3LCA4LCA5LCAxMCwgMTAsIDExLCAxMiwgMTMsIDEz
LCAxNCwgMTUsIDE2fTsKKyAgdjE2aTggemVybyA9IHswfTsKKworICBmb3IgKHggPSAwOyB4IDwg
d2lkdGg7IHggKz0gMTYpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kilz
cmNfYXJnYjAsIDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19h
cmdiMCwgMTYpOworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19hcmdi
MCwgMzIpOworICAgIHJlZzAgPSAodjE2dTgpX19tc2FfdnNoZl9iKG1hc2swLCB6ZXJvLCAodjE2
aTgpc3JjMCk7CisgICAgcmVnMSA9ICh2MTZ1OClfX21zYV92c2hmX2IobWFzazEsICh2MTZpOClz
cmMxLCAodjE2aTgpc3JjMCk7CisgICAgcmVnMiA9ICh2MTZ1OClfX21zYV92c2hmX2IobWFzazIs
ICh2MTZpOClzcmMyLCAodjE2aTgpc3JjMSk7CisgICAgcmVnMyA9ICh2MTZ1OClfX21zYV92c2hm
X2IobWFzazMsIHplcm8sICh2MTZpOClzcmMyKTsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX3Bj
a2V2X2goKHY4aTE2KXJlZzEsICh2OGkxNilyZWcwKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNh
X3Bja2V2X2goKHY4aTE2KXJlZzMsICh2OGkxNilyZWcyKTsKKyAgICB2ZWMyID0gKHY4dTE2KV9f
bXNhX3Bja29kX2goKHY4aTE2KXJlZzEsICh2OGkxNilyZWcwKTsKKyAgICB2ZWMzID0gKHY4dTE2
KV9fbXNhX3Bja29kX2goKHY4aTE2KXJlZzMsICh2OGkxNilyZWcyKTsKKyAgICB2ZWMwID0gX19t
c2FfZG90cF91X2goKHYxNnU4KXZlYzAsICh2MTZ1OCljb25zdF8weDgxMTkpOworICAgIHZlYzEg
PSBfX21zYV9kb3RwX3VfaCgodjE2dTgpdmVjMSwgKHYxNnU4KWNvbnN0XzB4ODExOSk7CisgICAg
dmVjMCA9IF9fbXNhX2RwYWRkX3VfaCh2ZWMwLCAodjE2dTgpdmVjMiwgKHYxNnU4KWNvbnN0XzB4
NDIpOworICAgIHZlYzEgPSBfX21zYV9kcGFkZF91X2godmVjMSwgKHYxNnU4KXZlYzMsICh2MTZ1
OCljb25zdF8weDQyKTsKKyAgICB2ZWMwICs9IGNvbnN0XzB4MTA4MDsKKyAgICB2ZWMxICs9IGNv
bnN0XzB4MTA4MDsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhpMTYpdmVjMCwg
OCk7CisgICAgdmVjMSA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXZlYzEsIDgpOworICAg
IGRzdDAgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgpdmVjMSwgKHYxNmk4KXZlYzApOwor
ICAgIFNUX1VCKGRzdDAsIGRzdF95KTsKKyAgICBzcmNfYXJnYjAgKz0gNDg7CisgICAgZHN0X3kg
Kz0gMTY7CisgIH0KK30KKwordm9pZCBSQVdUb1lSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjAsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBz
cmMxLCBzcmMyLCByZWcwLCByZWcxLCByZWcyLCByZWczLCBkc3QwOworICB2OHUxNiB2ZWMwLCB2
ZWMxLCB2ZWMyLCB2ZWMzOworICB2OHUxNiBjb25zdF8weDgxNDIgPSAodjh1MTYpX19tc2FfZmls
bF9oKDB4ODE0Mik7CisgIHY4dTE2IGNvbnN0XzB4MTkgPSAodjh1MTYpX19tc2FfZmlsbF9oKDB4
MTkpOworICB2OHUxNiBjb25zdF8weDEwODAgPSAodjh1MTYpX19tc2FfZmlsbF9oKDB4MTA4MCk7
CisgIHYxNmk4IG1hc2swID0gezAsIDEsIDIsIDMsIDMsIDQsIDUsIDYsIDYsIDcsIDgsIDksIDks
IDEwLCAxMSwgMTJ9OworICB2MTZpOCBtYXNrMSA9IHsxMiwgMTMsIDE0LCAxNSwgMTUsIDE2LCAx
NywgMTgsCisgICAgICAgICAgICAgICAgIDE4LCAxOSwgMjAsIDIxLCAyMSwgMjIsIDIzLCAyNH07
CisgIHYxNmk4IG1hc2syID0gezgsIDksIDEwLCAxMSwgMTEsIDEyLCAxMywgMTQsIDE0LCAxNSwg
MTYsIDE3LCAxNywgMTgsIDE5LCAyMH07CisgIHYxNmk4IG1hc2szID0gezQsIDUsIDYsIDcsIDcs
IDgsIDksIDEwLCAxMCwgMTEsIDEyLCAxMywgMTMsIDE0LCAxNSwgMTZ9OworICB2MTZpOCB6ZXJv
ID0gezB9OworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSAxNikgeworICAgIHNyYzAg
PSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19hcmdiMCwgMCk7CisgICAgc3JjMSA9ICh2
MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IwLCAxNik7CisgICAgc3JjMiA9ICh2MTZ1
OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IwLCAzMik7CisgICAgcmVnMCA9ICh2MTZ1OClf
X21zYV92c2hmX2IobWFzazAsIHplcm8sICh2MTZpOClzcmMwKTsKKyAgICByZWcxID0gKHYxNnU4
KV9fbXNhX3ZzaGZfYihtYXNrMSwgKHYxNmk4KXNyYzEsICh2MTZpOClzcmMwKTsKKyAgICByZWcy
ID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihtYXNrMiwgKHYxNmk4KXNyYzIsICh2MTZpOClzcmMxKTsK
KyAgICByZWczID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihtYXNrMywgemVybywgKHYxNmk4KXNyYzIp
OworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfcGNrZXZfaCgodjhpMTYpcmVnMSwgKHY4aTE2KXJl
ZzApOworICAgIHZlYzEgPSAodjh1MTYpX19tc2FfcGNrZXZfaCgodjhpMTYpcmVnMywgKHY4aTE2
KXJlZzIpOworICAgIHZlYzIgPSAodjh1MTYpX19tc2FfcGNrb2RfaCgodjhpMTYpcmVnMSwgKHY4
aTE2KXJlZzApOworICAgIHZlYzMgPSAodjh1MTYpX19tc2FfcGNrb2RfaCgodjhpMTYpcmVnMywg
KHY4aTE2KXJlZzIpOworICAgIHZlYzAgPSBfX21zYV9kb3RwX3VfaCgodjE2dTgpdmVjMCwgKHYx
NnU4KWNvbnN0XzB4ODE0Mik7CisgICAgdmVjMSA9IF9fbXNhX2RvdHBfdV9oKCh2MTZ1OCl2ZWMx
LCAodjE2dTgpY29uc3RfMHg4MTQyKTsKKyAgICB2ZWMwID0gX19tc2FfZHBhZGRfdV9oKHZlYzAs
ICh2MTZ1OCl2ZWMyLCAodjE2dTgpY29uc3RfMHgxOSk7CisgICAgdmVjMSA9IF9fbXNhX2RwYWRk
X3VfaCh2ZWMxLCAodjE2dTgpdmVjMywgKHYxNnU4KWNvbnN0XzB4MTkpOworICAgIHZlYzAgKz0g
Y29uc3RfMHgxMDgwOworICAgIHZlYzEgKz0gY29uc3RfMHgxMDgwOworICAgIHZlYzAgPSAodjh1
MTYpX19tc2Ffc3JhaV9oKCh2OGkxNil2ZWMwLCA4KTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNh
X3NyYWlfaCgodjhpMTYpdmVjMSwgOCk7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV9wY2tldl9i
KCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgU1RfVUIoZHN0MCwgZHN0X3kpOworICAg
IHNyY19hcmdiMCArPSA0ODsKKyAgICBkc3RfeSArPSAxNjsKKyAgfQorfQorCit2b2lkIEFSR0Ix
NTU1VG9VVlJvd19NU0EoY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiMTU1NSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92
LAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgY29u
c3QgdWludDE2KiBzID0gKGNvbnN0IHVpbnQxNiopc3JjX2FyZ2IxNTU1OworICBjb25zdCB1aW50
MTYqIHQgPSAoY29uc3QgdWludDE2Kikoc3JjX2FyZ2IxNTU1ICsgc3JjX3N0cmlkZV9hcmdiMTU1
NSk7CisgIGludDY0X3QgcmVzMCwgcmVzMTsKKyAgdjh1MTYgc3JjMCwgc3JjMSwgc3JjMiwgc3Jj
MywgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMzsKKyAgdjh1MTYgdmVjMCwgdmVjMSwgdmVjMiwgdmVj
MywgdmVjNCwgdmVjNSwgdmVjNjsKKyAgdjE2dTggZHN0MDsKKyAgdjh1MTYgY29uc3RfMHg3MCA9
ICh2OHUxNilfX21zYV9sZGlfaCgweDcwKTsKKyAgdjh1MTYgY29uc3RfMHg0QSA9ICh2OHUxNilf
X21zYV9sZGlfaCgweDRBKTsKKyAgdjh1MTYgY29uc3RfMHgyNiA9ICh2OHUxNilfX21zYV9sZGlf
aCgweDI2KTsKKyAgdjh1MTYgY29uc3RfMHg1RSA9ICh2OHUxNilfX21zYV9sZGlfaCgweDVFKTsK
KyAgdjh1MTYgY29uc3RfMHgxMiA9ICh2OHUxNilfX21zYV9sZGlfaCgweDEyKTsKKyAgdjh1MTYg
Y29uc3RfMHg4MDgwID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCgweDgwODApOworICB2OHUxNiBjb25z
dF8weDFGID0gKHY4dTE2KV9fbXNhX2xkaV9oKDB4MUYpOworCisgIGZvciAoeCA9IDA7IHggPCB3
aWR0aDsgeCArPSAxNikgeworICAgIHNyYzAgPSAodjh1MTYpX19tc2FfbGRfYigodjhpMTYqKXMs
IDApOworICAgIHNyYzEgPSAodjh1MTYpX19tc2FfbGRfYigodjhpMTYqKXMsIDE2KTsKKyAgICBz
cmMyID0gKHY4dTE2KV9fbXNhX2xkX2IoKHY4aTE2Kil0LCAwKTsKKyAgICBzcmMzID0gKHY4dTE2
KV9fbXNhX2xkX2IoKHY4aTE2Kil0LCAxNik7CisgICAgdmVjMCA9IHNyYzAgJiBjb25zdF8weDFG
OworICAgIHZlYzEgPSBzcmMxICYgY29uc3RfMHgxRjsKKyAgICB2ZWMwICs9IHNyYzIgJiBjb25z
dF8weDFGOworICAgIHZlYzEgKz0gc3JjMyAmIGNvbnN0XzB4MUY7CisgICAgdmVjMCA9ICh2OHUx
NilfX21zYV9wY2tldl9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgc3JjMCA9ICh2
OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXNyYzAsIDUpOworICAgIHNyYzEgPSAodjh1MTYpX19t
c2Ffc3JhaV9oKCh2OGkxNilzcmMxLCA1KTsKKyAgICBzcmMyID0gKHY4dTE2KV9fbXNhX3NyYWlf
aCgodjhpMTYpc3JjMiwgNSk7CisgICAgc3JjMyA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2
KXNyYzMsIDUpOworICAgIHZlYzIgPSBzcmMwICYgY29uc3RfMHgxRjsKKyAgICB2ZWMzID0gc3Jj
MSAmIGNvbnN0XzB4MUY7CisgICAgdmVjMiArPSBzcmMyICYgY29uc3RfMHgxRjsKKyAgICB2ZWMz
ICs9IHNyYzMgJiBjb25zdF8weDFGOworICAgIHZlYzIgPSAodjh1MTYpX19tc2FfcGNrZXZfYigo
djE2aTgpdmVjMywgKHYxNmk4KXZlYzIpOworICAgIHNyYzAgPSAodjh1MTYpX19tc2Ffc3JhaV9o
KCh2OGkxNilzcmMwLCA1KTsKKyAgICBzcmMxID0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhpMTYp
c3JjMSwgNSk7CisgICAgc3JjMiA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXNyYzIsIDUp
OworICAgIHNyYzMgPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilzcmMzLCA1KTsKKyAgICB2
ZWM0ID0gc3JjMCAmIGNvbnN0XzB4MUY7CisgICAgdmVjNSA9IHNyYzEgJiBjb25zdF8weDFGOwor
ICAgIHZlYzQgKz0gc3JjMiAmIGNvbnN0XzB4MUY7CisgICAgdmVjNSArPSBzcmMzICYgY29uc3Rf
MHgxRjsKKyAgICB2ZWM0ID0gKHY4dTE2KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXZlYzUsICh2MTZp
OCl2ZWM0KTsKKyAgICB2ZWMwID0gX19tc2FfaGFkZF91X2goKHYxNnU4KXZlYzAsICh2MTZ1OCl2
ZWMwKTsKKyAgICB2ZWMyID0gX19tc2FfaGFkZF91X2goKHYxNnU4KXZlYzIsICh2MTZ1OCl2ZWMy
KTsKKyAgICB2ZWM0ID0gX19tc2FfaGFkZF91X2goKHYxNnU4KXZlYzQsICh2MTZ1OCl2ZWM0KTsK
KyAgICB2ZWM2ID0gKHY4dTE2KV9fbXNhX3NsbGlfaCgodjhpMTYpdmVjMCwgMSk7CisgICAgdmVj
NiB8PSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNil2ZWMwLCA2KTsKKyAgICB2ZWMwID0gKHY4
dTE2KV9fbXNhX3NsbGlfaCgodjhpMTYpdmVjMiwgMSk7CisgICAgdmVjMCB8PSAodjh1MTYpX19t
c2Ffc3JhaV9oKCh2OGkxNil2ZWMyLCA2KTsKKyAgICB2ZWMyID0gKHY4dTE2KV9fbXNhX3NsbGlf
aCgodjhpMTYpdmVjNCwgMSk7CisgICAgdmVjMiB8PSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkx
Nil2ZWM0LCA2KTsKKyAgICByZWcwID0gdmVjNiAqIGNvbnN0XzB4NzA7CisgICAgcmVnMSA9IHZl
YzAgKiBjb25zdF8weDRBOworICAgIHJlZzIgPSB2ZWMyICogY29uc3RfMHg3MDsKKyAgICByZWcz
ID0gdmVjMCAqIGNvbnN0XzB4NUU7CisgICAgcmVnMCArPSBjb25zdF8weDgwODA7CisgICAgcmVn
MSArPSB2ZWMyICogY29uc3RfMHgyNjsKKyAgICByZWcyICs9IGNvbnN0XzB4ODA4MDsKKyAgICBy
ZWczICs9IHZlYzYgKiBjb25zdF8weDEyOworICAgIHJlZzAgLT0gcmVnMTsKKyAgICByZWcyIC09
IHJlZzM7CisgICAgcmVnMCA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXJlZzAsIDgpOwor
ICAgIHJlZzIgPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilyZWcyLCA4KTsKKyAgICBkc3Qw
ID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXJlZzIsICh2MTZpOClyZWcwKTsKKyAgICBy
ZXMwID0gX19tc2FfY29weV91X2QoKHYyaTY0KWRzdDAsIDApOworICAgIHJlczEgPSBfX21zYV9j
b3B5X3VfZCgodjJpNjQpZHN0MCwgMSk7CisgICAgU0QocmVzMCwgZHN0X3UpOworICAgIFNEKHJl
czEsIGRzdF92KTsKKyAgICBzICs9IDE2OworICAgIHQgKz0gMTY7CisgICAgZHN0X3UgKz0gODsK
KyAgICBkc3RfdiArPSA4OworICB9Cit9CisKK3ZvaWQgUkdCNTY1VG9VVlJvd19NU0EoY29uc3Qg
dWludDgqIHNyY19yZ2I1NjUsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCkgeworICBpbnQgeDsKKyAgY29uc3QgdWludDE2KiBzID0gKGNvbnN0IHVpbnQxNiopc3Jj
X3JnYjU2NTsKKyAgY29uc3QgdWludDE2KiB0ID0gKGNvbnN0IHVpbnQxNiopKHNyY19yZ2I1NjUg
KyBzcmNfc3RyaWRlX3JnYjU2NSk7CisgIGludDY0X3QgcmVzMCwgcmVzMTsKKyAgdjh1MTYgc3Jj
MCwgc3JjMSwgc3JjMiwgc3JjMywgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMzsKKyAgdjh1MTYgdmVj
MCwgdmVjMSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNTsKKyAgdjE2dTggZHN0MDsKKyAgdjh1MTYg
Y29uc3RfMHg3MCA9ICh2OHUxNilfX21zYV9sZGlfaCgweDcwKTsKKyAgdjh1MTYgY29uc3RfMHg0
QSA9ICh2OHUxNilfX21zYV9sZGlfaCgweDRBKTsKKyAgdjh1MTYgY29uc3RfMHgyNiA9ICh2OHUx
NilfX21zYV9sZGlfaCgweDI2KTsKKyAgdjh1MTYgY29uc3RfMHg1RSA9ICh2OHUxNilfX21zYV9s
ZGlfaCgweDVFKTsKKyAgdjh1MTYgY29uc3RfMHgxMiA9ICh2OHUxNilfX21zYV9sZGlfaCgweDEy
KTsKKyAgdjh1MTYgY29uc3RfMzI4OTYgPSAodjh1MTYpX19tc2FfZmlsbF9oKDB4ODA4MCk7Cisg
IHY4dTE2IGNvbnN0XzB4MUYgPSAodjh1MTYpX19tc2FfbGRpX2goMHgxRik7CisgIHY4dTE2IGNv
bnN0XzB4M0YgPSAodjh1MTYpX19tc2FfZmlsbF9oKDB4M0YpOworCisgIGZvciAoeCA9IDA7IHgg
PCB3aWR0aDsgeCArPSAxNikgeworICAgIHNyYzAgPSAodjh1MTYpX19tc2FfbGRfYigodjhpMTYq
KXMsIDApOworICAgIHNyYzEgPSAodjh1MTYpX19tc2FfbGRfYigodjhpMTYqKXMsIDE2KTsKKyAg
ICBzcmMyID0gKHY4dTE2KV9fbXNhX2xkX2IoKHY4aTE2Kil0LCAwKTsKKyAgICBzcmMzID0gKHY4
dTE2KV9fbXNhX2xkX2IoKHY4aTE2Kil0LCAxNik7CisgICAgdmVjMCA9IHNyYzAgJiBjb25zdF8w
eDFGOworICAgIHZlYzEgPSBzcmMxICYgY29uc3RfMHgxRjsKKyAgICB2ZWMwICs9IHNyYzIgJiBj
b25zdF8weDFGOworICAgIHZlYzEgKz0gc3JjMyAmIGNvbnN0XzB4MUY7CisgICAgdmVjMCA9ICh2
OHUxNilfX21zYV9wY2tldl9iKCh2MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgc3JjMCA9
ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXNyYzAsIDUpOworICAgIHNyYzEgPSAodjh1MTYp
X19tc2Ffc3JhaV9oKCh2OGkxNilzcmMxLCA1KTsKKyAgICBzcmMyID0gKHY4dTE2KV9fbXNhX3Ny
YWlfaCgodjhpMTYpc3JjMiwgNSk7CisgICAgc3JjMyA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4
aTE2KXNyYzMsIDUpOworICAgIHZlYzIgPSBzcmMwICYgY29uc3RfMHgzRjsKKyAgICB2ZWMzID0g
c3JjMSAmIGNvbnN0XzB4M0Y7CisgICAgdmVjMiArPSBzcmMyICYgY29uc3RfMHgzRjsKKyAgICB2
ZWMzICs9IHNyYzMgJiBjb25zdF8weDNGOworICAgIHZlYzEgPSAodjh1MTYpX19tc2FfcGNrZXZf
YigodjE2aTgpdmVjMywgKHYxNmk4KXZlYzIpOworICAgIHNyYzAgPSAodjh1MTYpX19tc2Ffc3Jh
aV9oKCh2OGkxNilzcmMwLCA2KTsKKyAgICBzcmMxID0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhp
MTYpc3JjMSwgNik7CisgICAgc3JjMiA9ICh2OHUxNilfX21zYV9zcmFpX2goKHY4aTE2KXNyYzIs
IDYpOworICAgIHNyYzMgPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNilzcmMzLCA2KTsKKyAg
ICB2ZWM0ID0gc3JjMCAmIGNvbnN0XzB4MUY7CisgICAgdmVjNSA9IHNyYzEgJiBjb25zdF8weDFG
OworICAgIHZlYzQgKz0gc3JjMiAmIGNvbnN0XzB4MUY7CisgICAgdmVjNSArPSBzcmMzICYgY29u
c3RfMHgxRjsKKyAgICB2ZWMyID0gKHY4dTE2KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXZlYzUsICh2
MTZpOCl2ZWM0KTsKKyAgICB2ZWMwID0gX19tc2FfaGFkZF91X2goKHYxNnU4KXZlYzAsICh2MTZ1
OCl2ZWMwKTsKKyAgICB2ZWMxID0gX19tc2FfaGFkZF91X2goKHYxNnU4KXZlYzEsICh2MTZ1OCl2
ZWMxKTsKKyAgICB2ZWMyID0gX19tc2FfaGFkZF91X2goKHYxNnU4KXZlYzIsICh2MTZ1OCl2ZWMy
KTsKKyAgICB2ZWMzID0gKHY4dTE2KV9fbXNhX3NsbGlfaCgodjhpMTYpdmVjMCwgMSk7CisgICAg
dmVjMyB8PSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2OGkxNil2ZWMwLCA2KTsKKyAgICB2ZWM0ID0g
KHY4dTE2KV9fbXNhX3NsbGlfaCgodjhpMTYpdmVjMiwgMSk7CisgICAgdmVjNCB8PSAodjh1MTYp
X19tc2Ffc3JhaV9oKCh2OGkxNil2ZWMyLCA2KTsKKyAgICByZWcwID0gdmVjMyAqIGNvbnN0XzB4
NzA7CisgICAgcmVnMSA9IHZlYzEgKiBjb25zdF8weDRBOworICAgIHJlZzIgPSB2ZWM0ICogY29u
c3RfMHg3MDsKKyAgICByZWczID0gdmVjMSAqIGNvbnN0XzB4NUU7CisgICAgcmVnMCArPSBjb25z
dF8zMjg5NjsKKyAgICByZWcxICs9IHZlYzQgKiBjb25zdF8weDI2OworICAgIHJlZzIgKz0gY29u
c3RfMzI4OTY7CisgICAgcmVnMyArPSB2ZWMzICogY29uc3RfMHgxMjsKKyAgICByZWcwIC09IHJl
ZzE7CisgICAgcmVnMiAtPSByZWczOworICAgIHJlZzAgPSAodjh1MTYpX19tc2Ffc3JhaV9oKCh2
OGkxNilyZWcwLCA4KTsKKyAgICByZWcyID0gKHY4dTE2KV9fbXNhX3NyYWlfaCgodjhpMTYpcmVn
MiwgOCk7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClyZWcyLCAodjE2
aTgpcmVnMCk7CisgICAgcmVzMCA9IF9fbXNhX2NvcHlfdV9kKCh2Mmk2NClkc3QwLCAwKTsKKyAg
ICByZXMxID0gX19tc2FfY29weV91X2QoKHYyaTY0KWRzdDAsIDEpOworICAgIFNEKHJlczAsIGRz
dF91KTsKKyAgICBTRChyZXMxLCBkc3Rfdik7CisgICAgcyArPSAxNjsKKyAgICB0ICs9IDE2Owor
ICAgIGRzdF91ICs9IDg7CisgICAgZHN0X3YgKz0gODsKKyAgfQorfQorCit2b2lkIFJHQjI0VG9V
VlJvd19NU0EoY29uc3QgdWludDgqIHNyY19yZ2IwLAorICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3JnYiwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgY29uc3QgdWludDgqIHMgPSBzcmNfcmdiMDsKKyAg
Y29uc3QgdWludDgqIHQgPSBzcmNfcmdiMCArIHNyY19zdHJpZGVfcmdiOworICBpbnQ2NCByZXMw
LCByZXMxOworICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2
LCBzcmM3OworICB2MTZ1OCBpbnAwLCBpbnAxLCBpbnAyLCBpbnAzLCBpbnA0LCBpbnA1OworICB2
OHUxNiB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3OworICB2
OGkxNiByZWcwLCByZWcxLCByZWcyLCByZWczOworICB2MTZ1OCBkc3QwOworICB2OHUxNiBjb25z
dF8weDcwID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCgweDcwKTsKKyAgdjh1MTYgY29uc3RfMHg0QSA9
ICh2OHUxNilfX21zYV9maWxsX2goMHg0QSk7CisgIHY4dTE2IGNvbnN0XzB4MjYgPSAodjh1MTYp
X19tc2FfZmlsbF9oKDB4MjYpOworICB2OHUxNiBjb25zdF8weDVFID0gKHY4dTE2KV9fbXNhX2Zp
bGxfaCgweDVFKTsKKyAgdjh1MTYgY29uc3RfMHgxMiA9ICh2OHUxNilfX21zYV9maWxsX2goMHgx
Mik7CisgIHY4dTE2IGNvbnN0XzB4ODA4MCA9ICh2OHUxNilfX21zYV9maWxsX2goMHg4MDgwKTsK
KyAgdjE2aTggbWFzayA9IHswLCAxLCAyLCAxNiwgMywgNCwgNSwgMTcsIDYsIDcsIDgsIDE4LCA5
LCAxMCwgMTEsIDE5fTsKKyAgdjE2aTggemVybyA9IHswfTsKKworICBmb3IgKHggPSAwOyB4IDwg
d2lkdGg7IHggKz0gMTYpIHsKKyAgICBpbnAwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kilz
LCAwKTsKKyAgICBpbnAxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAxNik7CisgICAg
aW5wMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMzIpOworICAgIGlucDMgPSAodjE2
dTgpX19tc2FfbGRfYigodjE2aTgqKXQsIDApOworICAgIGlucDQgPSAodjE2dTgpX19tc2FfbGRf
YigodjE2aTgqKXQsIDE2KTsKKyAgICBpbnA1ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0
LCAzMik7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KWlucDEsICh2MTZp
OClpbnAwLCAxMik7CisgICAgc3JjNSA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KWlucDQs
ICh2MTZpOClpbnAzLCAxMik7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4
KWlucDIsICh2MTZpOClpbnAxLCA4KTsKKyAgICBzcmM2ID0gKHYxNnU4KV9fbXNhX3NsZGlfYigo
djE2aTgpaW5wNSwgKHYxNmk4KWlucDQsIDgpOworICAgIHNyYzMgPSAodjE2dTgpX19tc2Ffc2xk
aV9iKCh2MTZpOClpbnAyLCAodjE2aTgpaW5wMiwgNCk7CisgICAgc3JjNyA9ICh2MTZ1OClfX21z
YV9zbGRpX2IoKHYxNmk4KWlucDUsICh2MTZpOClpbnA1LCA0KTsKKyAgICBzcmMwID0gKHYxNnU4
KV9fbXNhX3ZzaGZfYihtYXNrLCAodjE2aTgpemVybywgKHYxNmk4KWlucDApOworICAgIHNyYzEg
PSAodjE2dTgpX19tc2FfdnNoZl9iKG1hc2ssICh2MTZpOCl6ZXJvLCAodjE2aTgpc3JjMSk7Cisg
ICAgc3JjMiA9ICh2MTZ1OClfX21zYV92c2hmX2IobWFzaywgKHYxNmk4KXplcm8sICh2MTZpOClz
cmMyKTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihtYXNrLCAodjE2aTgpemVybywg
KHYxNmk4KXNyYzMpOworICAgIHNyYzQgPSAodjE2dTgpX19tc2FfdnNoZl9iKG1hc2ssICh2MTZp
OCl6ZXJvLCAodjE2aTgpaW5wMyk7CisgICAgc3JjNSA9ICh2MTZ1OClfX21zYV92c2hmX2IobWFz
aywgKHYxNmk4KXplcm8sICh2MTZpOClzcmM1KTsKKyAgICBzcmM2ID0gKHYxNnU4KV9fbXNhX3Zz
aGZfYihtYXNrLCAodjE2aTgpemVybywgKHYxNmk4KXNyYzYpOworICAgIHNyYzcgPSAodjE2dTgp
X19tc2FfdnNoZl9iKG1hc2ssICh2MTZpOCl6ZXJvLCAodjE2aTgpc3JjNyk7CisgICAgdmVjMCA9
ICh2OHUxNilfX21zYV9pbHZyX2IoKHYxNmk4KXNyYzQsICh2MTZpOClzcmMwKTsKKyAgICB2ZWMx
ID0gKHY4dTE2KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjNCwgKHYxNmk4KXNyYzApOworICAgIHZl
YzIgPSAodjh1MTYpX19tc2FfaWx2cl9iKCh2MTZpOClzcmM1LCAodjE2aTgpc3JjMSk7CisgICAg
dmVjMyA9ICh2OHUxNilfX21zYV9pbHZsX2IoKHYxNmk4KXNyYzUsICh2MTZpOClzcmMxKTsKKyAg
ICB2ZWM0ID0gKHY4dTE2KV9fbXNhX2lsdnJfYigodjE2aTgpc3JjNiwgKHYxNmk4KXNyYzIpOwor
ICAgIHZlYzUgPSAodjh1MTYpX19tc2FfaWx2bF9iKCh2MTZpOClzcmM2LCAodjE2aTgpc3JjMik7
CisgICAgdmVjNiA9ICh2OHUxNilfX21zYV9pbHZyX2IoKHYxNmk4KXNyYzcsICh2MTZpOClzcmMz
KTsKKyAgICB2ZWM3ID0gKHY4dTE2KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjNywgKHYxNmk4KXNy
YzMpOworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfaGFkZF91X2goKHYxNnU4KXZlYzAsICh2MTZ1
OCl2ZWMwKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNhX2hhZGRfdV9oKCh2MTZ1OCl2ZWMxLCAo
djE2dTgpdmVjMSk7CisgICAgdmVjMiA9ICh2OHUxNilfX21zYV9oYWRkX3VfaCgodjE2dTgpdmVj
MiwgKHYxNnU4KXZlYzIpOworICAgIHZlYzMgPSAodjh1MTYpX19tc2FfaGFkZF91X2goKHYxNnU4
KXZlYzMsICh2MTZ1OCl2ZWMzKTsKKyAgICB2ZWM0ID0gKHY4dTE2KV9fbXNhX2hhZGRfdV9oKCh2
MTZ1OCl2ZWM0LCAodjE2dTgpdmVjNCk7CisgICAgdmVjNSA9ICh2OHUxNilfX21zYV9oYWRkX3Vf
aCgodjE2dTgpdmVjNSwgKHYxNnU4KXZlYzUpOworICAgIHZlYzYgPSAodjh1MTYpX19tc2FfaGFk
ZF91X2goKHYxNnU4KXZlYzYsICh2MTZ1OCl2ZWM2KTsKKyAgICB2ZWM3ID0gKHY4dTE2KV9fbXNh
X2hhZGRfdV9oKCh2MTZ1OCl2ZWM3LCAodjE2dTgpdmVjNyk7CisgICAgcmVnMCA9ICh2OGkxNilf
X21zYV9wY2tldl9kKCh2Mmk2NCl2ZWMxLCAodjJpNjQpdmVjMCk7CisgICAgcmVnMSA9ICh2OGkx
NilfX21zYV9wY2tldl9kKCh2Mmk2NCl2ZWMzLCAodjJpNjQpdmVjMik7CisgICAgcmVnMiA9ICh2
OGkxNilfX21zYV9wY2tldl9kKCh2Mmk2NCl2ZWM1LCAodjJpNjQpdmVjNCk7CisgICAgcmVnMyA9
ICh2OGkxNilfX21zYV9wY2tldl9kKCh2Mmk2NCl2ZWM3LCAodjJpNjQpdmVjNik7CisgICAgcmVn
MCArPSAodjhpMTYpX19tc2FfcGNrb2RfZCgodjJpNjQpdmVjMSwgKHYyaTY0KXZlYzApOworICAg
IHJlZzEgKz0gKHY4aTE2KV9fbXNhX3Bja29kX2QoKHYyaTY0KXZlYzMsICh2Mmk2NCl2ZWMyKTsK
KyAgICByZWcyICs9ICh2OGkxNilfX21zYV9wY2tvZF9kKCh2Mmk2NCl2ZWM1LCAodjJpNjQpdmVj
NCk7CisgICAgcmVnMyArPSAodjhpMTYpX19tc2FfcGNrb2RfZCgodjJpNjQpdmVjNywgKHYyaTY0
KXZlYzYpOworICAgIHJlZzAgPSBfX21zYV9zcmFpX2goKHY4aTE2KXJlZzAsIDIpOworICAgIHJl
ZzEgPSBfX21zYV9zcmFpX2goKHY4aTE2KXJlZzEsIDIpOworICAgIHJlZzIgPSBfX21zYV9zcmFp
X2goKHY4aTE2KXJlZzIsIDIpOworICAgIHJlZzMgPSBfX21zYV9zcmFpX2goKHY4aTE2KXJlZzMs
IDIpOworICAgIHZlYzQgPSAodjh1MTYpX19tc2FfcGNrZXZfaChyZWcxLCByZWcwKTsKKyAgICB2
ZWM1ID0gKHY4dTE2KV9fbXNhX3Bja2V2X2gocmVnMywgcmVnMik7CisgICAgdmVjNiA9ICh2OHUx
NilfX21zYV9wY2tvZF9oKHJlZzEsIHJlZzApOworICAgIHZlYzcgPSAodjh1MTYpX19tc2FfcGNr
b2RfaChyZWczLCByZWcyKTsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX3Bja2V2X2goKHY4aTE2
KXZlYzUsICh2OGkxNil2ZWM0KTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNhX3Bja2V2X2goKHY4
aTE2KXZlYzcsICh2OGkxNil2ZWM2KTsKKyAgICB2ZWMyID0gKHY4dTE2KV9fbXNhX3Bja29kX2go
KHY4aTE2KXZlYzUsICh2OGkxNil2ZWM0KTsKKyAgICB2ZWMzID0gdmVjMCAqIGNvbnN0XzB4NzA7
CisgICAgdmVjNCA9IHZlYzEgKiBjb25zdF8weDRBOworICAgIHZlYzUgPSB2ZWMyICogY29uc3Rf
MHgyNjsKKyAgICB2ZWMyICo9IGNvbnN0XzB4NzA7CisgICAgdmVjMSAqPSBjb25zdF8weDVFOwor
ICAgIHZlYzAgKj0gY29uc3RfMHgxMjsKKyAgICByZWcwID0gX19tc2Ffc3Vidl9oKCh2OGkxNil2
ZWMzLCAodjhpMTYpdmVjNCk7CisgICAgcmVnMSA9IF9fbXNhX3N1YnZfaCgodjhpMTYpY29uc3Rf
MHg4MDgwLCAodjhpMTYpdmVjNSk7CisgICAgcmVnMiA9IF9fbXNhX3N1YnZfaCgodjhpMTYpdmVj
MiwgKHY4aTE2KXZlYzEpOworICAgIHJlZzMgPSBfX21zYV9zdWJ2X2goKHY4aTE2KWNvbnN0XzB4
ODA4MCwgKHY4aTE2KXZlYzApOworICAgIHJlZzAgKz0gcmVnMTsKKyAgICByZWcyICs9IHJlZzM7
CisgICAgcmVnMCA9IF9fbXNhX3NyYWlfaChyZWcwLCA4KTsKKyAgICByZWcyID0gX19tc2Ffc3Jh
aV9oKHJlZzIsIDgpOworICAgIGRzdDAgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgpcmVn
MiwgKHYxNmk4KXJlZzApOworICAgIHJlczAgPSBfX21zYV9jb3B5X3VfZCgodjJpNjQpZHN0MCwg
MCk7CisgICAgcmVzMSA9IF9fbXNhX2NvcHlfdV9kKCh2Mmk2NClkc3QwLCAxKTsKKyAgICBTRChy
ZXMwLCBkc3RfdSk7CisgICAgU0QocmVzMSwgZHN0X3YpOworICAgIHQgKz0gNDg7CisgICAgcyAr
PSA0ODsKKyAgICBkc3RfdSArPSA4OworICAgIGRzdF92ICs9IDg7CisgIH0KK30KKwordm9pZCBS
QVdUb1VWUm93X01TQShjb25zdCB1aW50OCogc3JjX3JnYjAsCisgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3JnYiwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgeworICBpbnQgeDsKKyAgY29uc3QgdWludDgqIHMgPSBzcmNfcmdiMDsKKyAgY29u
c3QgdWludDgqIHQgPSBzcmNfcmdiMCArIHNyY19zdHJpZGVfcmdiOworICBpbnQ2NCByZXMwLCBy
ZXMxOworICB2MTZ1OCBpbnAwLCBpbnAxLCBpbnAyLCBpbnAzLCBpbnA0LCBpbnA1OworICB2MTZ1
OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3OworICB2OHUx
NiB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3OworICB2OGkx
NiByZWcwLCByZWcxLCByZWcyLCByZWczOworICB2MTZ1OCBkc3QwOworICB2OHUxNiBjb25zdF8w
eDcwID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCgweDcwKTsKKyAgdjh1MTYgY29uc3RfMHg0QSA9ICh2
OHUxNilfX21zYV9maWxsX2goMHg0QSk7CisgIHY4dTE2IGNvbnN0XzB4MjYgPSAodjh1MTYpX19t
c2FfZmlsbF9oKDB4MjYpOworICB2OHUxNiBjb25zdF8weDVFID0gKHY4dTE2KV9fbXNhX2ZpbGxf
aCgweDVFKTsKKyAgdjh1MTYgY29uc3RfMHgxMiA9ICh2OHUxNilfX21zYV9maWxsX2goMHgxMik7
CisgIHY4dTE2IGNvbnN0XzB4ODA4MCA9ICh2OHUxNilfX21zYV9maWxsX2goMHg4MDgwKTsKKyAg
djE2aTggbWFzayA9IHswLCAxLCAyLCAxNiwgMywgNCwgNSwgMTcsIDYsIDcsIDgsIDE4LCA5LCAx
MCwgMTEsIDE5fTsKKyAgdjE2aTggemVybyA9IHswfTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lk
dGg7IHggKz0gMTYpIHsKKyAgICBpbnAwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAw
KTsKKyAgICBpbnAxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAxNik7CisgICAgaW5w
MiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMzIpOworICAgIGlucDMgPSAodjE2dTgp
X19tc2FfbGRfYigodjE2aTgqKXQsIDApOworICAgIGlucDQgPSAodjE2dTgpX19tc2FfbGRfYigo
djE2aTgqKXQsIDE2KTsKKyAgICBpbnA1ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0LCAz
Mik7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KWlucDEsICh2MTZpOClp
bnAwLCAxMik7CisgICAgc3JjNSA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KWlucDQsICh2
MTZpOClpbnAzLCAxMik7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KWlu
cDIsICh2MTZpOClpbnAxLCA4KTsKKyAgICBzcmM2ID0gKHYxNnU4KV9fbXNhX3NsZGlfYigodjE2
aTgpaW5wNSwgKHYxNmk4KWlucDQsIDgpOworICAgIHNyYzMgPSAodjE2dTgpX19tc2Ffc2xkaV9i
KCh2MTZpOClpbnAyLCAodjE2aTgpaW5wMiwgNCk7CisgICAgc3JjNyA9ICh2MTZ1OClfX21zYV9z
bGRpX2IoKHYxNmk4KWlucDUsICh2MTZpOClpbnA1LCA0KTsKKyAgICBzcmMwID0gKHYxNnU4KV9f
bXNhX3ZzaGZfYihtYXNrLCAodjE2aTgpemVybywgKHYxNmk4KWlucDApOworICAgIHNyYzEgPSAo
djE2dTgpX19tc2FfdnNoZl9iKG1hc2ssICh2MTZpOCl6ZXJvLCAodjE2aTgpc3JjMSk7CisgICAg
c3JjMiA9ICh2MTZ1OClfX21zYV92c2hmX2IobWFzaywgKHYxNmk4KXplcm8sICh2MTZpOClzcmMy
KTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihtYXNrLCAodjE2aTgpemVybywgKHYx
Nmk4KXNyYzMpOworICAgIHNyYzQgPSAodjE2dTgpX19tc2FfdnNoZl9iKG1hc2ssICh2MTZpOCl6
ZXJvLCAodjE2aTgpaW5wMyk7CisgICAgc3JjNSA9ICh2MTZ1OClfX21zYV92c2hmX2IobWFzaywg
KHYxNmk4KXplcm8sICh2MTZpOClzcmM1KTsKKyAgICBzcmM2ID0gKHYxNnU4KV9fbXNhX3ZzaGZf
YihtYXNrLCAodjE2aTgpemVybywgKHYxNmk4KXNyYzYpOworICAgIHNyYzcgPSAodjE2dTgpX19t
c2FfdnNoZl9iKG1hc2ssICh2MTZpOCl6ZXJvLCAodjE2aTgpc3JjNyk7CisgICAgdmVjMCA9ICh2
OHUxNilfX21zYV9pbHZyX2IoKHYxNmk4KXNyYzQsICh2MTZpOClzcmMwKTsKKyAgICB2ZWMxID0g
KHY4dTE2KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjNCwgKHYxNmk4KXNyYzApOworICAgIHZlYzIg
PSAodjh1MTYpX19tc2FfaWx2cl9iKCh2MTZpOClzcmM1LCAodjE2aTgpc3JjMSk7CisgICAgdmVj
MyA9ICh2OHUxNilfX21zYV9pbHZsX2IoKHYxNmk4KXNyYzUsICh2MTZpOClzcmMxKTsKKyAgICB2
ZWM0ID0gKHY4dTE2KV9fbXNhX2lsdnJfYigodjE2aTgpc3JjNiwgKHYxNmk4KXNyYzIpOworICAg
IHZlYzUgPSAodjh1MTYpX19tc2FfaWx2bF9iKCh2MTZpOClzcmM2LCAodjE2aTgpc3JjMik7Cisg
ICAgdmVjNiA9ICh2OHUxNilfX21zYV9pbHZyX2IoKHYxNmk4KXNyYzcsICh2MTZpOClzcmMzKTsK
KyAgICB2ZWM3ID0gKHY4dTE2KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjNywgKHYxNmk4KXNyYzMp
OworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfaGFkZF91X2goKHYxNnU4KXZlYzAsICh2MTZ1OCl2
ZWMwKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNhX2hhZGRfdV9oKCh2MTZ1OCl2ZWMxLCAodjE2
dTgpdmVjMSk7CisgICAgdmVjMiA9ICh2OHUxNilfX21zYV9oYWRkX3VfaCgodjE2dTgpdmVjMiwg
KHYxNnU4KXZlYzIpOworICAgIHZlYzMgPSAodjh1MTYpX19tc2FfaGFkZF91X2goKHYxNnU4KXZl
YzMsICh2MTZ1OCl2ZWMzKTsKKyAgICB2ZWM0ID0gKHY4dTE2KV9fbXNhX2hhZGRfdV9oKCh2MTZ1
OCl2ZWM0LCAodjE2dTgpdmVjNCk7CisgICAgdmVjNSA9ICh2OHUxNilfX21zYV9oYWRkX3VfaCgo
djE2dTgpdmVjNSwgKHYxNnU4KXZlYzUpOworICAgIHZlYzYgPSAodjh1MTYpX19tc2FfaGFkZF91
X2goKHYxNnU4KXZlYzYsICh2MTZ1OCl2ZWM2KTsKKyAgICB2ZWM3ID0gKHY4dTE2KV9fbXNhX2hh
ZGRfdV9oKCh2MTZ1OCl2ZWM3LCAodjE2dTgpdmVjNyk7CisgICAgcmVnMCA9ICh2OGkxNilfX21z
YV9wY2tldl9kKCh2Mmk2NCl2ZWMxLCAodjJpNjQpdmVjMCk7CisgICAgcmVnMSA9ICh2OGkxNilf
X21zYV9wY2tldl9kKCh2Mmk2NCl2ZWMzLCAodjJpNjQpdmVjMik7CisgICAgcmVnMiA9ICh2OGkx
NilfX21zYV9wY2tldl9kKCh2Mmk2NCl2ZWM1LCAodjJpNjQpdmVjNCk7CisgICAgcmVnMyA9ICh2
OGkxNilfX21zYV9wY2tldl9kKCh2Mmk2NCl2ZWM3LCAodjJpNjQpdmVjNik7CisgICAgcmVnMCAr
PSAodjhpMTYpX19tc2FfcGNrb2RfZCgodjJpNjQpdmVjMSwgKHYyaTY0KXZlYzApOworICAgIHJl
ZzEgKz0gKHY4aTE2KV9fbXNhX3Bja29kX2QoKHYyaTY0KXZlYzMsICh2Mmk2NCl2ZWMyKTsKKyAg
ICByZWcyICs9ICh2OGkxNilfX21zYV9wY2tvZF9kKCh2Mmk2NCl2ZWM1LCAodjJpNjQpdmVjNCk7
CisgICAgcmVnMyArPSAodjhpMTYpX19tc2FfcGNrb2RfZCgodjJpNjQpdmVjNywgKHYyaTY0KXZl
YzYpOworICAgIHJlZzAgPSBfX21zYV9zcmFpX2gocmVnMCwgMik7CisgICAgcmVnMSA9IF9fbXNh
X3NyYWlfaChyZWcxLCAyKTsKKyAgICByZWcyID0gX19tc2Ffc3JhaV9oKHJlZzIsIDIpOworICAg
IHJlZzMgPSBfX21zYV9zcmFpX2gocmVnMywgMik7CisgICAgdmVjNCA9ICh2OHUxNilfX21zYV9w
Y2tldl9oKCh2OGkxNilyZWcxLCAodjhpMTYpcmVnMCk7CisgICAgdmVjNSA9ICh2OHUxNilfX21z
YV9wY2tldl9oKCh2OGkxNilyZWczLCAodjhpMTYpcmVnMik7CisgICAgdmVjNiA9ICh2OHUxNilf
X21zYV9wY2tvZF9oKCh2OGkxNilyZWcxLCAodjhpMTYpcmVnMCk7CisgICAgdmVjNyA9ICh2OHUx
NilfX21zYV9wY2tvZF9oKCh2OGkxNilyZWczLCAodjhpMTYpcmVnMik7CisgICAgdmVjMCA9ICh2
OHUxNilfX21zYV9wY2tvZF9oKCh2OGkxNil2ZWM1LCAodjhpMTYpdmVjNCk7CisgICAgdmVjMSA9
ICh2OHUxNilfX21zYV9wY2tldl9oKCh2OGkxNil2ZWM3LCAodjhpMTYpdmVjNik7CisgICAgdmVj
MiA9ICh2OHUxNilfX21zYV9wY2tldl9oKCh2OGkxNil2ZWM1LCAodjhpMTYpdmVjNCk7CisgICAg
dmVjMyA9IHZlYzAgKiBjb25zdF8weDcwOworICAgIHZlYzQgPSB2ZWMxICogY29uc3RfMHg0QTsK
KyAgICB2ZWM1ID0gdmVjMiAqIGNvbnN0XzB4MjY7CisgICAgdmVjMiAqPSBjb25zdF8weDcwOwor
ICAgIHZlYzEgKj0gY29uc3RfMHg1RTsKKyAgICB2ZWMwICo9IGNvbnN0XzB4MTI7CisgICAgcmVn
MCA9IF9fbXNhX3N1YnZfaCgodjhpMTYpdmVjMywgKHY4aTE2KXZlYzQpOworICAgIHJlZzEgPSBf
X21zYV9zdWJ2X2goKHY4aTE2KWNvbnN0XzB4ODA4MCwgKHY4aTE2KXZlYzUpOworICAgIHJlZzIg
PSBfX21zYV9zdWJ2X2goKHY4aTE2KXZlYzIsICh2OGkxNil2ZWMxKTsKKyAgICByZWczID0gX19t
c2Ffc3Vidl9oKCh2OGkxNiljb25zdF8weDgwODAsICh2OGkxNil2ZWMwKTsKKyAgICByZWcwICs9
IHJlZzE7CisgICAgcmVnMiArPSByZWczOworICAgIHJlZzAgPSBfX21zYV9zcmFpX2gocmVnMCwg
OCk7CisgICAgcmVnMiA9IF9fbXNhX3NyYWlfaChyZWcyLCA4KTsKKyAgICBkc3QwID0gKHYxNnU4
KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXJlZzIsICh2MTZpOClyZWcwKTsKKyAgICByZXMwID0gX19t
c2FfY29weV91X2QoKHYyaTY0KWRzdDAsIDApOworICAgIHJlczEgPSBfX21zYV9jb3B5X3VfZCgo
djJpNjQpZHN0MCwgMSk7CisgICAgU0QocmVzMCwgZHN0X3UpOworICAgIFNEKHJlczEsIGRzdF92
KTsKKyAgICB0ICs9IDQ4OworICAgIHMgKz0gNDg7CisgICAgZHN0X3UgKz0gODsKKyAgICBkc3Rf
diArPSA4OworICB9Cit9CisKK3ZvaWQgTlYxMlRvQVJHQlJvd19NU0EoY29uc3QgdWludDgqIHNy
Y195LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3V2LAorICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogcmdiX2J1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHVpbnQ2NCB2YWwwLCB2YWwxOworICB2
MTZ1OCBzcmMwLCBzcmMxLCByZXMwLCByZXMxLCBkc3QwLCBkc3QxOworICB2OGkxNiB2ZWMwLCB2
ZWMxLCB2ZWMyOworICB2NGkzMiB2ZWNfdWIsIHZlY192ciwgdmVjX3VnLCB2ZWNfdmcsIHZlY19i
YiwgdmVjX2JnLCB2ZWNfYnIsIHZlY195ZzsKKyAgdjRpMzIgdmVjX3VidnIsIHZlY191Z3ZnOwor
ICB2MTZ1OCB6ZXJvID0gezB9OworICB2MTZ1OCBhbHBoYSA9ICh2MTZ1OClfX21zYV9sZGlfYihB
TFBIQV9WQUwpOworCisgIFlVVlRPUkdCX1NFVFVQKHl1dmNvbnN0YW50cywgdmVjX3ViLCB2ZWNf
dnIsIHZlY191ZywgdmVjX3ZnLCB2ZWNfYmIsIHZlY19iZywKKyAgICAgICAgICAgICAgICAgdmVj
X2JyLCB2ZWNfeWcpOworICB2ZWNfdWJ2ciA9IF9fbXNhX2lsdnJfdyh2ZWNfdnIsIHZlY191Yik7
CisgIHZlY191Z3ZnID0gKHY0aTMyKV9fbXNhX2lsdmV2X2goKHY4aTE2KXZlY192ZywgKHY4aTE2
KXZlY191Zyk7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDgpIHsKKyAgICB2YWww
ID0gTEQoc3JjX3kpOworICAgIHZhbDEgPSBMRChzcmNfdXYpOworICAgIHNyYzAgPSAodjE2dTgp
X19tc2FfaW5zZXJ0X2QoKHYyaTY0KXplcm8sIDAsIHZhbDApOworICAgIHNyYzEgPSAodjE2dTgp
X19tc2FfaW5zZXJ0X2QoKHYyaTY0KXplcm8sIDAsIHZhbDEpOworICAgIFlVVlRPUkdCKHNyYzAs
IHNyYzEsIHZlY191YnZyLCB2ZWNfdWd2ZywgdmVjX2JiLCB2ZWNfYmcsIHZlY19iciwgdmVjX3ln
LAorICAgICAgICAgICAgIHZlYzAsIHZlYzEsIHZlYzIpOworICAgIHJlczAgPSAodjE2dTgpX19t
c2FfaWx2ZXZfYigodjE2aTgpdmVjMiwgKHYxNmk4KXZlYzApOworICAgIHJlczEgPSAodjE2dTgp
X19tc2FfaWx2ZXZfYigodjE2aTgpYWxwaGEsICh2MTZpOCl2ZWMxKTsKKyAgICBkc3QwID0gKHYx
NnU4KV9fbXNhX2lsdnJfYigodjE2aTgpcmVzMSwgKHYxNmk4KXJlczApOworICAgIGRzdDEgPSAo
djE2dTgpX19tc2FfaWx2bF9iKCh2MTZpOClyZXMxLCAodjE2aTgpcmVzMCk7CisgICAgU1RfVUIy
KGRzdDAsIGRzdDEsIHJnYl9idWYsIDE2KTsKKyAgICBzcmNfeSArPSA4OworICAgIHNyY191diAr
PSA4OworICAgIHJnYl9idWYgKz0gMzI7CisgIH0KK30KKwordm9pZCBOVjEyVG9SR0I1NjVSb3df
TVNBKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3V2LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNv
bnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7
CisgIHVpbnQ2NCB2YWwwLCB2YWwxOworICB2MTZ1OCBzcmMwLCBzcmMxLCBkc3QwOworICB2OGkx
NiB2ZWMwLCB2ZWMxLCB2ZWMyOworICB2NGkzMiB2ZWNfdWIsIHZlY192ciwgdmVjX3VnLCB2ZWNf
dmcsIHZlY19iYiwgdmVjX2JnLCB2ZWNfYnIsIHZlY195ZzsKKyAgdjRpMzIgdmVjX3VidnIsIHZl
Y191Z3ZnOworICB2MTZ1OCB6ZXJvID0gezB9OworCisgIFlVVlRPUkdCX1NFVFVQKHl1dmNvbnN0
YW50cywgdmVjX3ViLCB2ZWNfdnIsIHZlY191ZywgdmVjX3ZnLCB2ZWNfYmIsIHZlY19iZywKKyAg
ICAgICAgICAgICAgICAgdmVjX2JyLCB2ZWNfeWcpOworICB2ZWNfdWJ2ciA9IF9fbXNhX2lsdnJf
dyh2ZWNfdnIsIHZlY191Yik7CisgIHZlY191Z3ZnID0gKHY0aTMyKV9fbXNhX2lsdmV2X2goKHY4
aTE2KXZlY192ZywgKHY4aTE2KXZlY191Zyk7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4
ICs9IDgpIHsKKyAgICB2YWwwID0gTEQoc3JjX3kpOworICAgIHZhbDEgPSBMRChzcmNfdXYpOwor
ICAgIHNyYzAgPSAodjE2dTgpX19tc2FfaW5zZXJ0X2QoKHYyaTY0KXplcm8sIDAsIHZhbDApOwor
ICAgIHNyYzEgPSAodjE2dTgpX19tc2FfaW5zZXJ0X2QoKHYyaTY0KXplcm8sIDAsIHZhbDEpOwor
ICAgIFlVVlRPUkdCKHNyYzAsIHNyYzEsIHZlY191YnZyLCB2ZWNfdWd2ZywgdmVjX2JiLCB2ZWNf
YmcsIHZlY19iciwgdmVjX3lnLAorICAgICAgICAgICAgIHZlYzAsIHZlYzEsIHZlYzIpOworICAg
IHZlYzAgPSB2ZWMwID4+IDM7CisgICAgdmVjMSA9ICh2ZWMxID4+IDIpIDw8IDU7CisgICAgdmVj
MiA9ICh2ZWMyID4+IDMpIDw8IDExOworICAgIGRzdDAgPSAodjE2dTgpKHZlYzAgfCB2ZWMxIHwg
dmVjMik7CisgICAgU1RfVUIoZHN0MCwgcmdiX2J1Zik7CisgICAgc3JjX3kgKz0gODsKKyAgICBz
cmNfdXYgKz0gODsKKyAgICByZ2JfYnVmICs9IDE2OworICB9Cit9CisKK3ZvaWQgTlYyMVRvQVJH
QlJvd19NU0EoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3Z1LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogcmdiX2J1ZiwK
KyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29u
c3RhbnRzLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7Cisg
IHVpbnQ2NCB2YWwwLCB2YWwxOworICB2MTZ1OCBzcmMwLCBzcmMxLCByZXMwLCByZXMxLCBkc3Qw
LCBkc3QxOworICB2OGkxNiB2ZWMwLCB2ZWMxLCB2ZWMyOworICB2NGkzMiB2ZWNfdWIsIHZlY192
ciwgdmVjX3VnLCB2ZWNfdmcsIHZlY19iYiwgdmVjX2JnLCB2ZWNfYnIsIHZlY195ZzsKKyAgdjRp
MzIgdmVjX3VidnIsIHZlY191Z3ZnOworICB2MTZ1OCBhbHBoYSA9ICh2MTZ1OClfX21zYV9sZGlf
YihBTFBIQV9WQUwpOworICB2MTZ1OCB6ZXJvID0gezB9OworICB2MTZpOCBzaHVmZmxlciA9IHsx
LCAwLCAzLCAyLCA1LCA0LCA3LCA2LCA5LCA4LCAxMSwgMTAsIDEzLCAxMiwgMTUsIDE0fTsKKwor
ICBZVVZUT1JHQl9TRVRVUCh5dXZjb25zdGFudHMsIHZlY191YiwgdmVjX3ZyLCB2ZWNfdWcsIHZl
Y192ZywgdmVjX2JiLCB2ZWNfYmcsCisgICAgICAgICAgICAgICAgIHZlY19iciwgdmVjX3lnKTsK
KyAgdmVjX3VidnIgPSBfX21zYV9pbHZyX3codmVjX3ZyLCB2ZWNfdWIpOworICB2ZWNfdWd2ZyA9
ICh2NGkzMilfX21zYV9pbHZldl9oKCh2OGkxNil2ZWNfdmcsICh2OGkxNil2ZWNfdWcpOworCisg
IGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSA4KSB7CisgICAgdmFsMCA9IExEKHNyY195KTsK
KyAgICB2YWwxID0gTEQoc3JjX3Z1KTsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2luc2VydF9k
KCh2Mmk2NCl6ZXJvLCAwLCB2YWwwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2luc2VydF9k
KCh2Mmk2NCl6ZXJvLCAwLCB2YWwxKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihz
aHVmZmxlciwgKHYxNmk4KXNyYzEsICh2MTZpOClzcmMxKTsKKyAgICBZVVZUT1JHQihzcmMwLCBz
cmMxLCB2ZWNfdWJ2ciwgdmVjX3VndmcsIHZlY19iYiwgdmVjX2JnLCB2ZWNfYnIsIHZlY195ZywK
KyAgICAgICAgICAgICB2ZWMwLCB2ZWMxLCB2ZWMyKTsKKyAgICByZXMwID0gKHYxNnU4KV9fbXNh
X2lsdmV2X2IoKHYxNmk4KXZlYzIsICh2MTZpOCl2ZWMwKTsKKyAgICByZXMxID0gKHYxNnU4KV9f
bXNhX2lsdmV2X2IoKHYxNmk4KWFscGhhLCAodjE2aTgpdmVjMSk7CisgICAgZHN0MCA9ICh2MTZ1
OClfX21zYV9pbHZyX2IoKHYxNmk4KXJlczEsICh2MTZpOClyZXMwKTsKKyAgICBkc3QxID0gKHYx
NnU4KV9fbXNhX2lsdmxfYigodjE2aTgpcmVzMSwgKHYxNmk4KXJlczApOworICAgIFNUX1VCMihk
c3QwLCBkc3QxLCByZ2JfYnVmLCAxNik7CisgICAgc3JjX3kgKz0gODsKKyAgICBzcmNfdnUgKz0g
ODsKKyAgICByZ2JfYnVmICs9IDMyOworICB9Cit9CisKK3ZvaWQgU29iZWxSb3dfTVNBKGNvbnN0
IHVpbnQ4KiBzcmNfc29iZWx4LAorICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19z
b2JlbHksCisgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHZlYzAsIGRz
dDAsIGRzdDEsIGRzdDIsIGRzdDM7CisgIHYxNmk4IG1hc2swID0gezAsIDAsIDAsIDE2LCAxLCAx
LCAxLCAxNiwgMiwgMiwgMiwgMTYsIDMsIDMsIDMsIDE2fTsKKyAgdjE2aTggY29uc3RfMHg0ID0g
X19tc2FfbGRpX2IoMHg0KTsKKyAgdjE2aTggbWFzazEgPSBtYXNrMCArIGNvbnN0XzB4NDsKKyAg
djE2aTggbWFzazIgPSBtYXNrMSArIGNvbnN0XzB4NDsKKyAgdjE2aTggbWFzazMgPSBtYXNrMiAr
IGNvbnN0XzB4NDsKKyAgdjE2dTggYWxwaGEgPSAodjE2dTgpX19tc2FfbGRpX2IoQUxQSEFfVkFM
KTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMTYpIHsKKyAgICBzcmMwID0gKHYx
NnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfc29iZWx4LCAwKTsKKyAgICBzcmMxID0gKHYxNnU4
KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfc29iZWx5LCAwKTsKKyAgICB2ZWMwID0gX19tc2FfYWRk
c191X2Ioc3JjMCwgc3JjMSk7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV92c2hmX2IobWFzazAs
ICh2MTZpOClhbHBoYSwgKHYxNmk4KXZlYzApOworICAgIGRzdDEgPSAodjE2dTgpX19tc2FfdnNo
Zl9iKG1hc2sxLCAodjE2aTgpYWxwaGEsICh2MTZpOCl2ZWMwKTsKKyAgICBkc3QyID0gKHYxNnU4
KV9fbXNhX3ZzaGZfYihtYXNrMiwgKHYxNmk4KWFscGhhLCAodjE2aTgpdmVjMCk7CisgICAgZHN0
MyA9ICh2MTZ1OClfX21zYV92c2hmX2IobWFzazMsICh2MTZpOClhbHBoYSwgKHYxNmk4KXZlYzAp
OworICAgIFNUX1VCNChkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCBkc3RfYXJnYiwgMTYpOworICAg
IHNyY19zb2JlbHggKz0gMTY7CisgICAgc3JjX3NvYmVseSArPSAxNjsKKyAgICBkc3RfYXJnYiAr
PSA2NDsKKyAgfQorfQorCit2b2lkIFNvYmVsVG9QbGFuZVJvd19NU0EoY29uc3QgdWludDgqIHNy
Y19zb2JlbHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19zb2Jl
bHksCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwg
c3JjMiwgc3JjMywgZHN0MCwgZHN0MTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0g
MzIpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfc29iZWx4LCAw
KTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfc29iZWx4LCAxNik7
CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX3NvYmVseSwgMCk7Cisg
ICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX3NvYmVseSwgMTYpOworICAg
IGRzdDAgPSBfX21zYV9hZGRzX3VfYihzcmMwLCBzcmMyKTsKKyAgICBkc3QxID0gX19tc2FfYWRk
c191X2Ioc3JjMSwgc3JjMyk7CisgICAgU1RfVUIyKGRzdDAsIGRzdDEsIGRzdF95LCAxNik7Cisg
ICAgc3JjX3NvYmVseCArPSAzMjsKKyAgICBzcmNfc29iZWx5ICs9IDMyOworICAgIGRzdF95ICs9
IDMyOworICB9Cit9CisKK3ZvaWQgU29iZWxYWVJvd19NU0EoY29uc3QgdWludDgqIHNyY19zb2Jl
bHgsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAorICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCkgeworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgdmVjMCwgdmVjMSwgdmVjMjsK
KyAgdjE2dTggcmVnMCwgcmVnMSwgZHN0MCwgZHN0MSwgZHN0MiwgZHN0MzsKKyAgdjE2dTggYWxw
aGEgPSAodjE2dTgpX19tc2FfbGRpX2IoQUxQSEFfVkFMKTsKKworICBmb3IgKHggPSAwOyB4IDwg
d2lkdGg7IHggKz0gMTYpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kilz
cmNfc29iZWx4LCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNf
c29iZWx5LCAwKTsKKyAgICB2ZWMwID0gX19tc2FfYWRkc191X2Ioc3JjMCwgc3JjMSk7CisgICAg
dmVjMSA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYxNmk4KXNyYzAsICh2MTZpOClzcmMxKTsKKyAg
ICB2ZWMyID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjMCwgKHYxNmk4KXNyYzEpOwor
ICAgIHJlZzAgPSAodjE2dTgpX19tc2FfaWx2cl9iKCh2MTZpOClhbHBoYSwgKHYxNmk4KXZlYzAp
OworICAgIHJlZzEgPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2MTZpOClhbHBoYSwgKHYxNmk4KXZl
YzApOworICAgIGRzdDAgPSAodjE2dTgpX19tc2FfaWx2cl9iKCh2MTZpOClyZWcwLCAodjE2aTgp
dmVjMSk7CisgICAgZHN0MSA9ICh2MTZ1OClfX21zYV9pbHZsX2IoKHYxNmk4KXJlZzAsICh2MTZp
OCl2ZWMxKTsKKyAgICBkc3QyID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpcmVnMSwgKHYx
Nmk4KXZlYzIpOworICAgIGRzdDMgPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2MTZpOClyZWcxLCAo
djE2aTgpdmVjMik7CisgICAgU1RfVUI0KGRzdDAsIGRzdDEsIGRzdDIsIGRzdDMsIGRzdF9hcmdi
LCAxNik7CisgICAgc3JjX3NvYmVseCArPSAxNjsKKyAgICBzcmNfc29iZWx5ICs9IDE2OworICAg
IGRzdF9hcmdiICs9IDY0OworICB9Cit9CisKK3ZvaWQgQVJHQlRvWUpSb3dfTVNBKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYjAsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CisgIGludCB4OworICB2
MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBkc3QwOworICB2MTZ1OCBjb25zdF8weDRCMEYg
PSAodjE2dTgpX19tc2FfZmlsbF9oKDB4NEIwRik7CisgIHYxNnU4IGNvbnN0XzB4MjYgPSAodjE2
dTgpX19tc2FfZmlsbF9oKDB4MjYpOworICB2OHUxNiBjb25zdF8weDQwID0gKHY4dTE2KV9fbXNh
X2ZpbGxfaCgweDQwKTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMTYpIHsKKyAg
ICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYjAsIDApOworICAgIHNy
YzEgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19hcmdiMCwgMTYpOworICAgIHNyYzIg
PSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19hcmdiMCwgMzIpOworICAgIHNyYzMgPSAo
djE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19hcmdiMCwgNDgpOworICAgIEFSR0JUT1koc3Jj
MCwgc3JjMSwgc3JjMiwgc3JjMywgY29uc3RfMHg0QjBGLCBjb25zdF8weDI2LCBjb25zdF8weDQw
LCA3LAorICAgICAgICAgICAgZHN0MCk7CisgICAgU1RfVUIoZHN0MCwgZHN0X3kpOworICAgIHNy
Y19hcmdiMCArPSA2NDsKKyAgICBkc3RfeSArPSAxNjsKKyAgfQorfQorCit2b2lkIEJHUkFUb1lS
b3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7
CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBkc3QwOworICB2MTZ1
OCBjb25zdF8weDQyMDAgPSAodjE2dTgpX19tc2FfZmlsbF9oKDB4NDIwMCk7CisgIHYxNnU4IGNv
bnN0XzB4MTk4MSA9ICh2MTZ1OClfX21zYV9maWxsX2goMHgxOTgxKTsKKyAgdjh1MTYgY29uc3Rf
MHgxMDgwID0gKHY4dTE2KV9fbXNhX2ZpbGxfaCgweDEwODApOworCisgIGZvciAoeCA9IDA7IHgg
PCB3aWR0aDsgeCArPSAxNikgeworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgq
KXNyY19hcmdiMCwgMCk7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3Jj
X2FyZ2IwLCAxNik7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2Fy
Z2IwLCAzMik7CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2Iw
LCA0OCk7CisgICAgQVJHQlRPWShzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBjb25zdF8weDQyMDAs
IGNvbnN0XzB4MTk4MSwgY29uc3RfMHgxMDgwLCA4LAorICAgICAgICAgICAgZHN0MCk7CisgICAg
U1RfVUIoZHN0MCwgZHN0X3kpOworICAgIHNyY19hcmdiMCArPSA2NDsKKyAgICBkc3RfeSArPSAx
NjsKKyAgfQorfQorCit2b2lkIEFCR1JUb1lSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAs
IHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBzcmMx
LCBzcmMyLCBzcmMzLCBkc3QwOworICB2MTZ1OCBjb25zdF8weDgxNDIgPSAodjE2dTgpX19tc2Ff
ZmlsbF9oKDB4ODE0Mik7CisgIHYxNnU4IGNvbnN0XzB4MTkgPSAodjE2dTgpX19tc2FfZmlsbF9o
KDB4MTkpOworICB2OHUxNiBjb25zdF8weDEwODAgPSAodjh1MTYpX19tc2FfZmlsbF9oKDB4MTA4
MCk7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDE2KSB7CisgICAgc3JjMCA9ICh2
MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IwLCAwKTsKKyAgICBzcmMxID0gKHYxNnU4
KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYjAsIDE2KTsKKyAgICBzcmMyID0gKHYxNnU4KV9f
bXNhX2xkX2IoKHYxNmk4KilzcmNfYXJnYjAsIDMyKTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNh
X2xkX2IoKHYxNmk4KilzcmNfYXJnYjAsIDQ4KTsKKyAgICBBUkdCVE9ZKHNyYzAsIHNyYzEsIHNy
YzIsIHNyYzMsIGNvbnN0XzB4ODE0MiwgY29uc3RfMHgxOSwgY29uc3RfMHgxMDgwLCA4LAorICAg
ICAgICAgICAgZHN0MCk7CisgICAgU1RfVUIoZHN0MCwgZHN0X3kpOworICAgIHNyY19hcmdiMCAr
PSA2NDsKKyAgICBkc3RfeSArPSAxNjsKKyAgfQorfQorCit2b2lkIFJHQkFUb1lSb3dfTVNBKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjAsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CisgIGludCB4
OworICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBkc3QwOworICB2MTZ1OCBjb25zdF8w
eDE5MDAgPSAodjE2dTgpX19tc2FfZmlsbF9oKDB4MTkwMCk7CisgIHYxNnU4IGNvbnN0XzB4NDI4
MSA9ICh2MTZ1OClfX21zYV9maWxsX2goMHg0MjgxKTsKKyAgdjh1MTYgY29uc3RfMHgxMDgwID0g
KHY4dTE2KV9fbXNhX2ZpbGxfaCgweDEwODApOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsg
eCArPSAxNikgeworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19hcmdi
MCwgMCk7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IwLCAx
Nik7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IwLCAzMik7
CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IwLCA0OCk7Cisg
ICAgQVJHQlRPWShzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBjb25zdF8weDE5MDAsIGNvbnN0XzB4
NDI4MSwgY29uc3RfMHgxMDgwLCA4LAorICAgICAgICAgICAgZHN0MCk7CisgICAgU1RfVUIoZHN0
MCwgZHN0X3kpOworICAgIHNyY19hcmdiMCArPSA2NDsKKyAgICBkc3RfeSArPSAxNjsKKyAgfQor
fQorCit2b2lkIEFSR0JUb1VWSlJvd19NU0EoY29uc3QgdWludDgqIHNyY19yZ2IwLAorICAgICAg
ICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBpbnQgeDsKKyAgY29uc3QgdWludDgq
IHMgPSBzcmNfcmdiMDsKKyAgY29uc3QgdWludDgqIHQgPSBzcmNfcmdiMCArIHNyY19zdHJpZGVf
cmdiOworICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBz
cmM3OworICB2MTZ1OCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzOworICB2MTZ1OCBkc3QwLCBkc3Qx
OworICB2MTZpOCBzaHVmZmxlcjAgPSB7MCwgMSwgNCwgNSwgOCwgOSwgMTIsIDEzLCAxNiwgMTcs
IDIwLCAyMSwgMjQsIDI1LCAyOCwgMjl9OworICB2MTZpOCBzaHVmZmxlcjEgPSB7MiwgIDMsICA2
LCAgNywgIDEwLCAxMSwgMTQsIDE1LAorICAgICAgICAgICAgICAgICAgICAgMTgsIDE5LCAyMiwg
MjMsIDI2LCAyNywgMzAsIDMxfTsKKyAgdjE2aTggc2h1ZmZsZXIyID0gezAsIDMsIDQsIDcsIDgs
IDExLCAxMiwgMTUsIDE2LCAxOSwgMjAsIDIzLCAyNCwgMjcsIDI4LCAzMX07CisgIHYxNmk4IHNo
dWZmbGVyMyA9IHsxLCAyLCA1LCA2LCA5LCAxMCwgMTMsIDE0LCAxNywgMTgsIDIxLCAyMiwgMjUs
IDI2LCAyOSwgMzB9OworICB2MTZ1OCBjb25zdF8weDdGID0gKHYxNnU4KV9fbXNhX2ZpbGxfaCgw
eDdGKTsKKyAgdjE2dTggY29uc3RfMHg2QjE0ID0gKHYxNnU4KV9fbXNhX2ZpbGxfaCgweDZCMTQp
OworICB2MTZ1OCBjb25zdF8weDJCNTQgPSAodjE2dTgpX19tc2FfZmlsbF9oKDB4MkI1NCk7Cisg
IHY4dTE2IGNvbnN0XzB4ODA4MCA9ICh2OHUxNilfX21zYV9maWxsX2goMHg4MDgwKTsKKworICBm
b3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMzIpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNh
X2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4
KilzLCAxNik7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgMzIpOwor
ICAgIHNyYzMgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDQ4KTsKKyAgICBzcmM0ID0g
KHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0LCAwKTsKKyAgICBzcmM1ID0gKHYxNnU4KV9fbXNh
X2xkX2IoKHYxNmk4Kil0LCAxNik7CisgICAgc3JjNiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZp
OCopdCwgMzIpOworICAgIHNyYzcgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXQsIDQ4KTsK
KyAgICBzcmMwID0gX19tc2FfYXZlcl91X2Ioc3JjMCwgc3JjNCk7CisgICAgc3JjMSA9IF9fbXNh
X2F2ZXJfdV9iKHNyYzEsIHNyYzUpOworICAgIHNyYzIgPSBfX21zYV9hdmVyX3VfYihzcmMyLCBz
cmM2KTsKKyAgICBzcmMzID0gX19tc2FfYXZlcl91X2Ioc3JjMywgc3JjNyk7CisgICAgc3JjNCA9
ICh2MTZ1OClfX21zYV9wY2tldl93KCh2NGkzMilzcmMxLCAodjRpMzIpc3JjMCk7CisgICAgc3Jj
NSA9ICh2MTZ1OClfX21zYV9wY2tldl93KCh2NGkzMilzcmMzLCAodjRpMzIpc3JjMik7CisgICAg
c3JjNiA9ICh2MTZ1OClfX21zYV9wY2tvZF93KCh2NGkzMilzcmMxLCAodjRpMzIpc3JjMCk7Cisg
ICAgc3JjNyA9ICh2MTZ1OClfX21zYV9wY2tvZF93KCh2NGkzMilzcmMzLCAodjRpMzIpc3JjMik7
CisgICAgdmVjMCA9IF9fbXNhX2F2ZXJfdV9iKHNyYzQsIHNyYzYpOworICAgIHZlYzEgPSBfX21z
YV9hdmVyX3VfYihzcmM1LCBzcmM3KTsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYx
Nmk4KilzLCA2NCk7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgODAp
OworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDk2KTsKKyAgICBzcmMz
ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAxMTIpOworICAgIHNyYzQgPSAodjE2dTgp
X19tc2FfbGRfYigodjE2aTgqKXQsIDY0KTsKKyAgICBzcmM1ID0gKHYxNnU4KV9fbXNhX2xkX2Io
KHYxNmk4Kil0LCA4MCk7CisgICAgc3JjNiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopdCwg
OTYpOworICAgIHNyYzcgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXQsIDExMik7CisgICAg
c3JjMCA9IF9fbXNhX2F2ZXJfdV9iKHNyYzAsIHNyYzQpOworICAgIHNyYzEgPSBfX21zYV9hdmVy
X3VfYihzcmMxLCBzcmM1KTsKKyAgICBzcmMyID0gX19tc2FfYXZlcl91X2Ioc3JjMiwgc3JjNik7
CisgICAgc3JjMyA9IF9fbXNhX2F2ZXJfdV9iKHNyYzMsIHNyYzcpOworICAgIHNyYzQgPSAodjE2
dTgpX19tc2FfcGNrZXZfdygodjRpMzIpc3JjMSwgKHY0aTMyKXNyYzApOworICAgIHNyYzUgPSAo
djE2dTgpX19tc2FfcGNrZXZfdygodjRpMzIpc3JjMywgKHY0aTMyKXNyYzIpOworICAgIHNyYzYg
PSAodjE2dTgpX19tc2FfcGNrb2RfdygodjRpMzIpc3JjMSwgKHY0aTMyKXNyYzApOworICAgIHNy
YzcgPSAodjE2dTgpX19tc2FfcGNrb2RfdygodjRpMzIpc3JjMywgKHY0aTMyKXNyYzIpOworICAg
IHZlYzIgPSBfX21zYV9hdmVyX3VfYihzcmM0LCBzcmM2KTsKKyAgICB2ZWMzID0gX19tc2FfYXZl
cl91X2Ioc3JjNSwgc3JjNyk7CisgICAgQVJHQlRPVVYodmVjMCwgdmVjMSwgdmVjMiwgdmVjMywg
Y29uc3RfMHg2QjE0LCBjb25zdF8weDdGLCBjb25zdF8weDJCNTQsCisgICAgICAgICAgICAgY29u
c3RfMHg4MDgwLCBzaHVmZmxlcjEsIHNodWZmbGVyMCwgc2h1ZmZsZXIyLCBzaHVmZmxlcjMsIGRz
dDAsCisgICAgICAgICAgICAgZHN0MSk7CisgICAgU1RfVUIoZHN0MCwgZHN0X3YpOworICAgIFNU
X1VCKGRzdDEsIGRzdF91KTsKKyAgICBzICs9IDEyODsKKyAgICB0ICs9IDEyODsKKyAgICBkc3Rf
diArPSAxNjsKKyAgICBkc3RfdSArPSAxNjsKKyAgfQorfQorCit2b2lkIEJHUkFUb1VWUm93X01T
QShjb25zdCB1aW50OCogc3JjX3JnYjAsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZV9yZ2IsCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKKyAgaW50IHg7CisgIGNvbnN0IHVpbnQ4KiBzID0gc3JjX3JnYjA7CisgIGNvbnN0IHVpbnQ4
KiB0ID0gc3JjX3JnYjAgKyBzcmNfc3RyaWRlX3JnYjsKKyAgdjE2dTggZHN0MCwgZHN0MSwgdmVj
MCwgdmVjMSwgdmVjMiwgdmVjMzsKKyAgdjE2aTggc2h1ZmZsZXIwID0gezAsIDEsIDQsIDUsIDgs
IDksIDEyLCAxMywgMTYsIDE3LCAyMCwgMjEsIDI0LCAyNSwgMjgsIDI5fTsKKyAgdjE2aTggc2h1
ZmZsZXIxID0gezIsICAzLCAgNiwgIDcsICAxMCwgMTEsIDE0LCAxNSwKKyAgICAgICAgICAgICAg
ICAgICAgIDE4LCAxOSwgMjIsIDIzLCAyNiwgMjcsIDMwLCAzMX07CisgIHYxNmk4IHNodWZmbGVy
MiA9IHswLCAzLCA0LCA3LCA4LCAxMSwgMTIsIDE1LCAxNiwgMTksIDIwLCAyMywgMjQsIDI3LCAy
OCwgMzF9OworICB2MTZpOCBzaHVmZmxlcjMgPSB7MiwgMSwgNiwgNSwgMTAsIDksIDE0LCAxMywg
MTgsIDE3LCAyMiwgMjEsIDI2LCAyNSwgMzAsIDI5fTsKKyAgdjE2dTggY29uc3RfMHgxMjVFID0g
KHYxNnU4KV9fbXNhX2ZpbGxfaCgweDEyNUUpOworICB2MTZ1OCBjb25zdF8weDcwMDAgPSAodjE2
dTgpX19tc2FfZmlsbF9oKDB4NzAwMCk7CisgIHYxNnU4IGNvbnN0XzB4MjY0QSA9ICh2MTZ1OClf
X21zYV9maWxsX2goMHgyNjRBKTsKKyAgdjh1MTYgY29uc3RfMHg4MDgwID0gKHY4dTE2KV9fbXNh
X2ZpbGxfaCgweDgwODApOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSAzMikgewor
ICAgIFJFQURfQVJHQihzLCB0LCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKKyAgICBBUkdCVE9V
Vih2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCBjb25zdF8weDEyNUUsIGNvbnN0XzB4NzAwMCwgY29u
c3RfMHgyNjRBLAorICAgICAgICAgICAgIGNvbnN0XzB4ODA4MCwgc2h1ZmZsZXIwLCBzaHVmZmxl
cjEsIHNodWZmbGVyMiwgc2h1ZmZsZXIzLCBkc3QwLAorICAgICAgICAgICAgIGRzdDEpOworICAg
IFNUX1VCKGRzdDAsIGRzdF92KTsKKyAgICBTVF9VQihkc3QxLCBkc3RfdSk7CisgICAgcyArPSAx
Mjg7CisgICAgdCArPSAxMjg7CisgICAgZHN0X3YgKz0gMTY7CisgICAgZHN0X3UgKz0gMTY7Cisg
IH0KK30KKwordm9pZCBBQkdSVG9VVlJvd19NU0EoY29uc3QgdWludDgqIHNyY19yZ2IwLAorICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGludCB4OworICBjb25zdCB1aW50OCog
cyA9IHNyY19yZ2IwOworICBjb25zdCB1aW50OCogdCA9IHNyY19yZ2IwICsgc3JjX3N0cmlkZV9y
Z2I7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzM7CisgIHYxNnU4IGRzdDAsIGRzdDE7
CisgIHYxNmk4IHNodWZmbGVyMCA9IHswLCAxLCA0LCA1LCA4LCA5LCAxMiwgMTMsIDE2LCAxNywg
MjAsIDIxLCAyNCwgMjUsIDI4LCAyOX07CisgIHYxNmk4IHNodWZmbGVyMSA9IHsyLCAgMywgIDYs
ICA3LCAgMTAsIDExLCAxNCwgMTUsCisgICAgICAgICAgICAgICAgICAgICAxOCwgMTksIDIyLCAy
MywgMjYsIDI3LCAzMCwgMzF9OworICB2MTZpOCBzaHVmZmxlcjIgPSB7MCwgMywgNCwgNywgOCwg
MTEsIDEyLCAxNSwgMTYsIDE5LCAyMCwgMjMsIDI0LCAyNywgMjgsIDMxfTsKKyAgdjE2aTggc2h1
ZmZsZXIzID0gezEsIDIsIDUsIDYsIDksIDEwLCAxMywgMTQsIDE3LCAxOCwgMjEsIDIyLCAyNSwg
MjYsIDI5LCAzMH07CisgIHYxNnU4IGNvbnN0XzB4NEEyNiA9ICh2MTZ1OClfX21zYV9maWxsX2go
MHg0QTI2KTsKKyAgdjE2dTggY29uc3RfMHgwMDcwID0gKHYxNnU4KV9fbXNhX2ZpbGxfaCgweDAw
NzApOworICB2MTZ1OCBjb25zdF8weDEyNUUgPSAodjE2dTgpX19tc2FfZmlsbF9oKDB4MTI1RSk7
CisgIHY4dTE2IGNvbnN0XzB4ODA4MCA9ICh2OHUxNilfX21zYV9maWxsX2goMHg4MDgwKTsKKwor
ICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMzIpIHsKKyAgICBSRUFEX0FSR0IocywgdCwg
c3JjMCwgc3JjMSwgc3JjMiwgc3JjMyk7CisgICAgQVJHQlRPVVYoc3JjMCwgc3JjMSwgc3JjMiwg
c3JjMywgY29uc3RfMHg0QTI2LCBjb25zdF8weDAwNzAsIGNvbnN0XzB4MTI1RSwKKyAgICAgICAg
ICAgICBjb25zdF8weDgwODAsIHNodWZmbGVyMSwgc2h1ZmZsZXIwLCBzaHVmZmxlcjIsIHNodWZm
bGVyMywgZHN0MCwKKyAgICAgICAgICAgICBkc3QxKTsKKyAgICBTVF9VQihkc3QwLCBkc3RfdSk7
CisgICAgU1RfVUIoZHN0MSwgZHN0X3YpOworICAgIHMgKz0gMTI4OworICAgIHQgKz0gMTI4Owor
ICAgIGRzdF91ICs9IDE2OworICAgIGRzdF92ICs9IDE2OworICB9Cit9CisKK3ZvaWQgUkdCQVRv
VVZSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfcmdiMCwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3JnYiwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgeworICBpbnQgeDsKKyAgY29uc3QgdWludDgqIHMgPSBzcmNfcmdiMDsKKyAgY29u
c3QgdWludDgqIHQgPSBzcmNfcmdiMCArIHNyY19zdHJpZGVfcmdiOworICB2MTZ1OCBkc3QwLCBk
c3QxLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzOworICB2MTZpOCBzaHVmZmxlcjAgPSB7MCwgMSwg
NCwgNSwgOCwgOSwgMTIsIDEzLCAxNiwgMTcsIDIwLCAyMSwgMjQsIDI1LCAyOCwgMjl9OworICB2
MTZpOCBzaHVmZmxlcjEgPSB7MiwgIDMsICA2LCAgNywgIDEwLCAxMSwgMTQsIDE1LAorICAgICAg
ICAgICAgICAgICAgICAgMTgsIDE5LCAyMiwgMjMsIDI2LCAyNywgMzAsIDMxfTsKKyAgdjE2aTgg
c2h1ZmZsZXIyID0gezAsIDMsIDQsIDcsIDgsIDExLCAxMiwgMTUsIDE2LCAxOSwgMjAsIDIzLCAy
NCwgMjcsIDI4LCAzMX07CisgIHYxNmk4IHNodWZmbGVyMyA9IHsyLCAxLCA2LCA1LCAxMCwgOSwg
MTQsIDEzLCAxOCwgMTcsIDIyLCAyMSwgMjYsIDI1LCAzMCwgMjl9OworICB2MTZ1OCBjb25zdF8w
eDEyNUUgPSAodjE2dTgpX19tc2FfZmlsbF9oKDB4MjY0QSk7CisgIHYxNnU4IGNvbnN0XzB4NzAw
MCA9ICh2MTZ1OClfX21zYV9maWxsX2goMHg3MDAwKTsKKyAgdjE2dTggY29uc3RfMHgyNjRBID0g
KHYxNnU4KV9fbXNhX2ZpbGxfaCgweDEyNUUpOworICB2OHUxNiBjb25zdF8weDgwODAgPSAodjh1
MTYpX19tc2FfZmlsbF9oKDB4ODA4MCk7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9
IDMyKSB7CisgICAgUkVBRF9BUkdCKHMsIHQsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMpOworICAg
IEFSR0JUT1VWKHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIGNvbnN0XzB4MTI1RSwgY29uc3RfMHg3
MDAwLCBjb25zdF8weDI2NEEsCisgICAgICAgICAgICAgY29uc3RfMHg4MDgwLCBzaHVmZmxlcjAs
IHNodWZmbGVyMSwgc2h1ZmZsZXIyLCBzaHVmZmxlcjMsIGRzdDAsCisgICAgICAgICAgICAgZHN0
MSk7CisgICAgU1RfVUIoZHN0MCwgZHN0X3UpOworICAgIFNUX1VCKGRzdDEsIGRzdF92KTsKKyAg
ICBzICs9IDEyODsKKyAgICB0ICs9IDEyODsKKyAgICBkc3RfdSArPSAxNjsKKyAgICBkc3RfdiAr
PSAxNjsKKyAgfQorfQorCit2b2lkIEk0NDRUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNf
eSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiByZ2JfYnVmLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2
Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCkgeworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMiwgZHN0MCwgZHN0MTsKKyAg
djh1MTYgdmVjMCwgdmVjMSwgdmVjMjsKKyAgdjRpMzIgcmVnMCwgcmVnMSwgcmVnMiwgcmVnMywg
cmVnNCwgcmVnNSwgcmVnNiwgcmVnNywgcmVnOCwgcmVnOTsKKyAgdjRpMzIgdmVjX3ViLCB2ZWNf
dnIsIHZlY191ZywgdmVjX3ZnLCB2ZWNfYmIsIHZlY19iZywgdmVjX2JyLCB2ZWNfeWc7CisgIHYx
NnU4IGFscGhhID0gKHYxNnU4KV9fbXNhX2xkaV9iKEFMUEhBX1ZBTCk7CisgIHY4aTE2IHplcm8g
PSB7MH07CisKKyAgWVVWVE9SR0JfU0VUVVAoeXV2Y29uc3RhbnRzLCB2ZWNfdWIsIHZlY192ciwg
dmVjX3VnLCB2ZWNfdmcsIHZlY19iYiwgdmVjX2JnLAorICAgICAgICAgICAgICAgICB2ZWNfYnIs
IHZlY195Zyk7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDgpIHsKKyAgICBSRUFE
STQ0NChzcmNfeSwgc3JjX3UsIHNyY192LCBzcmMwLCBzcmMxLCBzcmMyKTsKKyAgICB2ZWMwID0g
KHY4dTE2KV9fbXNhX2lsdnJfYigodjE2aTgpc3JjMCwgKHYxNmk4KXNyYzApOworICAgIHJlZzAg
PSAodjRpMzIpX19tc2FfaWx2cl9oKCh2OGkxNil6ZXJvLCAodjhpMTYpdmVjMCk7CisgICAgcmVn
MSA9ICh2NGkzMilfX21zYV9pbHZsX2goKHY4aTE2KXplcm8sICh2OGkxNil2ZWMwKTsKKyAgICBy
ZWcwICo9IHZlY195ZzsKKyAgICByZWcxICo9IHZlY195ZzsKKyAgICByZWcwID0gX19tc2Ffc3Jh
aV93KHJlZzAsIDE2KTsKKyAgICByZWcxID0gX19tc2Ffc3JhaV93KHJlZzEsIDE2KTsKKyAgICBy
ZWc0ID0gcmVnMCArIHZlY19icjsKKyAgICByZWc1ID0gcmVnMSArIHZlY19icjsKKyAgICByZWcy
ID0gcmVnMCArIHZlY19iZzsKKyAgICByZWczID0gcmVnMSArIHZlY19iZzsKKyAgICByZWcwICs9
IHZlY19iYjsKKyAgICByZWcxICs9IHZlY19iYjsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX2ls
dnJfYigodjE2aTgpemVybywgKHYxNmk4KXNyYzEpOworICAgIHZlYzEgPSAodjh1MTYpX19tc2Ff
aWx2cl9iKCh2MTZpOCl6ZXJvLCAodjE2aTgpc3JjMik7CisgICAgcmVnNiA9ICh2NGkzMilfX21z
YV9pbHZyX2goKHY4aTE2KXplcm8sICh2OGkxNil2ZWMwKTsKKyAgICByZWc3ID0gKHY0aTMyKV9f
bXNhX2lsdmxfaCgodjhpMTYpemVybywgKHY4aTE2KXZlYzApOworICAgIHJlZzggPSAodjRpMzIp
X19tc2FfaWx2cl9oKCh2OGkxNil6ZXJvLCAodjhpMTYpdmVjMSk7CisgICAgcmVnOSA9ICh2NGkz
MilfX21zYV9pbHZsX2goKHY4aTE2KXplcm8sICh2OGkxNil2ZWMxKTsKKyAgICByZWcwIC09IHJl
ZzYgKiB2ZWNfdWI7CisgICAgcmVnMSAtPSByZWc3ICogdmVjX3ViOworICAgIHJlZzIgLT0gcmVn
NiAqIHZlY191ZzsKKyAgICByZWczIC09IHJlZzcgKiB2ZWNfdWc7CisgICAgcmVnNCAtPSByZWc4
ICogdmVjX3ZyOworICAgIHJlZzUgLT0gcmVnOSAqIHZlY192cjsKKyAgICByZWcyIC09IHJlZzgg
KiB2ZWNfdmc7CisgICAgcmVnMyAtPSByZWc5ICogdmVjX3ZnOworICAgIHJlZzAgPSBfX21zYV9z
cmFpX3cocmVnMCwgNik7CisgICAgcmVnMSA9IF9fbXNhX3NyYWlfdyhyZWcxLCA2KTsKKyAgICBy
ZWcyID0gX19tc2Ffc3JhaV93KHJlZzIsIDYpOworICAgIHJlZzMgPSBfX21zYV9zcmFpX3cocmVn
MywgNik7CisgICAgcmVnNCA9IF9fbXNhX3NyYWlfdyhyZWc0LCA2KTsKKyAgICByZWc1ID0gX19t
c2Ffc3JhaV93KHJlZzUsIDYpOworICAgIENMSVBfMFRPMjU1KHJlZzAsIHJlZzEsIHJlZzIsIHJl
ZzMsIHJlZzQsIHJlZzUpOworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfcGNrZXZfaCgodjhpMTYp
cmVnMSwgKHY4aTE2KXJlZzApOworICAgIHZlYzEgPSAodjh1MTYpX19tc2FfcGNrZXZfaCgodjhp
MTYpcmVnMywgKHY4aTE2KXJlZzIpOworICAgIHZlYzIgPSAodjh1MTYpX19tc2FfcGNrZXZfaCgo
djhpMTYpcmVnNSwgKHY4aTE2KXJlZzQpOworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfaWx2ZXZf
YigodjE2aTgpdmVjMSwgKHYxNmk4KXZlYzApOworICAgIHZlYzEgPSAodjh1MTYpX19tc2FfaWx2
ZXZfYigodjE2aTgpYWxwaGEsICh2MTZpOCl2ZWMyKTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNh
X2lsdnJfaCgodjhpMTYpdmVjMSwgKHY4aTE2KXZlYzApOworICAgIGRzdDEgPSAodjE2dTgpX19t
c2FfaWx2bF9oKCh2OGkxNil2ZWMxLCAodjhpMTYpdmVjMCk7CisgICAgU1RfVUIyKGRzdDAsIGRz
dDEsIHJnYl9idWYsIDE2KTsKKyAgICBzcmNfeSArPSA4OworICAgIHNyY191ICs9IDg7CisgICAg
c3JjX3YgKz0gODsKKyAgICByZ2JfYnVmICs9IDMyOworICB9Cit9CisKK3ZvaWQgSTQwMFRvQVJH
QlJvd19NU0EoY29uc3QgdWludDgqIHNyY195LCB1aW50OCogcmdiX2J1ZiwgaW50IHdpZHRoKSB7
CisgIGludCB4OworICB2MTZ1OCBzcmMwLCByZXMwLCByZXMxLCByZXMyLCByZXMzLCByZXM0LCBk
c3QwLCBkc3QxLCBkc3QyLCBkc3QzOworICB2OGkxNiB2ZWMwLCB2ZWMxOworICB2NGkzMiByZWcw
LCByZWcxLCByZWcyLCByZWczOworICB2NGkzMiB2ZWNfeWcgPSBfX21zYV9maWxsX3coMHg0QTM1
KTsKKyAgdjhpMTYgdmVjX3lnYiA9IF9fbXNhX2ZpbGxfaCgweEZCNzgpOworICB2MTZ1OCBhbHBo
YSA9ICh2MTZ1OClfX21zYV9sZGlfYihBTFBIQV9WQUwpOworICB2OGkxNiBtYXggPSBfX21zYV9s
ZGlfaCgweEZGKTsKKyAgdjhpMTYgemVybyA9IHswfTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lk
dGg7IHggKz0gMTYpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNf
eSwgMCk7CisgICAgdmVjMCA9ICh2OGkxNilfX21zYV9pbHZyX2IoKHYxNmk4KXNyYzAsICh2MTZp
OClzcmMwKTsKKyAgICB2ZWMxID0gKHY4aTE2KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjMCwgKHYx
Nmk4KXNyYzApOworICAgIHJlZzAgPSAodjRpMzIpX19tc2FfaWx2cl9oKHplcm8sIHZlYzApOwor
ICAgIHJlZzEgPSAodjRpMzIpX19tc2FfaWx2bF9oKHplcm8sIHZlYzApOworICAgIHJlZzIgPSAo
djRpMzIpX19tc2FfaWx2cl9oKHplcm8sIHZlYzEpOworICAgIHJlZzMgPSAodjRpMzIpX19tc2Ff
aWx2bF9oKHplcm8sIHZlYzEpOworICAgIHJlZzAgKj0gdmVjX3lnOworICAgIHJlZzEgKj0gdmVj
X3lnOworICAgIHJlZzIgKj0gdmVjX3lnOworICAgIHJlZzMgKj0gdmVjX3lnOworICAgIHJlZzAg
PSBfX21zYV9zcmFpX3cocmVnMCwgMTYpOworICAgIHJlZzEgPSBfX21zYV9zcmFpX3cocmVnMSwg
MTYpOworICAgIHJlZzIgPSBfX21zYV9zcmFpX3cocmVnMiwgMTYpOworICAgIHJlZzMgPSBfX21z
YV9zcmFpX3cocmVnMywgMTYpOworICAgIHZlYzAgPSAodjhpMTYpX19tc2FfcGNrZXZfaCgodjhp
MTYpcmVnMSwgKHY4aTE2KXJlZzApOworICAgIHZlYzEgPSAodjhpMTYpX19tc2FfcGNrZXZfaCgo
djhpMTYpcmVnMywgKHY4aTE2KXJlZzIpOworICAgIHZlYzAgKz0gdmVjX3lnYjsKKyAgICB2ZWMx
ICs9IHZlY195Z2I7CisgICAgdmVjMCA9IF9fbXNhX3NyYWlfaCh2ZWMwLCA2KTsKKyAgICB2ZWMx
ID0gX19tc2Ffc3JhaV9oKHZlYzEsIDYpOworICAgIHZlYzAgPSBfX21zYV9tYXhpX3NfaCh2ZWMw
LCAwKTsKKyAgICB2ZWMxID0gX19tc2FfbWF4aV9zX2godmVjMSwgMCk7CisgICAgdmVjMCA9IF9f
bXNhX21pbl9zX2gobWF4LCB2ZWMwKTsKKyAgICB2ZWMxID0gX19tc2FfbWluX3NfaChtYXgsIHZl
YzEpOworICAgIHJlczAgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgpdmVjMSwgKHYxNmk4
KXZlYzApOworICAgIHJlczEgPSAodjE2dTgpX19tc2FfaWx2cl9iKCh2MTZpOClyZXMwLCAodjE2
aTgpcmVzMCk7CisgICAgcmVzMiA9ICh2MTZ1OClfX21zYV9pbHZsX2IoKHYxNmk4KXJlczAsICh2
MTZpOClyZXMwKTsKKyAgICByZXMzID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpYWxwaGEs
ICh2MTZpOClyZXMwKTsKKyAgICByZXM0ID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2aTgpYWxw
aGEsICh2MTZpOClyZXMwKTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgp
cmVzMywgKHYxNmk4KXJlczEpOworICAgIGRzdDEgPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2MTZp
OClyZXMzLCAodjE2aTgpcmVzMSk7CisgICAgZHN0MiA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYx
Nmk4KXJlczQsICh2MTZpOClyZXMyKTsKKyAgICBkc3QzID0gKHYxNnU4KV9fbXNhX2lsdmxfYigo
djE2aTgpcmVzNCwgKHYxNmk4KXJlczIpOworICAgIFNUX1VCNChkc3QwLCBkc3QxLCBkc3QyLCBk
c3QzLCByZ2JfYnVmLCAxNik7CisgICAgc3JjX3kgKz0gMTY7CisgICAgcmdiX2J1ZiArPSA2NDsK
KyAgfQorfQorCit2b2lkIEo0MDBUb0FSR0JSb3dfTVNBKGNvbnN0IHVpbnQ4KiBzcmNfeSwgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4IHNyYzAsIHZlYzAs
IHZlYzEsIHZlYzIsIHZlYzMsIGRzdDAsIGRzdDEsIGRzdDIsIGRzdDM7CisgIHYxNnU4IGFscGhh
ID0gKHYxNnU4KV9fbXNhX2xkaV9iKEFMUEhBX1ZBTCk7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdp
ZHRoOyB4ICs9IDE2KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3Jj
X3ksIDApOworICAgIHZlYzAgPSAodjE2dTgpX19tc2FfaWx2cl9iKCh2MTZpOClzcmMwLCAodjE2
aTgpc3JjMCk7CisgICAgdmVjMSA9ICh2MTZ1OClfX21zYV9pbHZsX2IoKHYxNmk4KXNyYzAsICh2
MTZpOClzcmMwKTsKKyAgICB2ZWMyID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgpYWxwaGEs
ICh2MTZpOClzcmMwKTsKKyAgICB2ZWMzID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2aTgpYWxw
aGEsICh2MTZpOClzcmMwKTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX2lsdnJfYigodjE2aTgp
dmVjMiwgKHYxNmk4KXZlYzApOworICAgIGRzdDEgPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2MTZp
OCl2ZWMyLCAodjE2aTgpdmVjMCk7CisgICAgZHN0MiA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYx
Nmk4KXZlYzMsICh2MTZpOCl2ZWMxKTsKKyAgICBkc3QzID0gKHYxNnU4KV9fbXNhX2lsdmxfYigo
djE2aTgpdmVjMywgKHYxNmk4KXZlYzEpOworICAgIFNUX1VCNChkc3QwLCBkc3QxLCBkc3QyLCBk
c3QzLCBkc3RfYXJnYiwgMTYpOworICAgIHNyY195ICs9IDE2OworICAgIGRzdF9hcmdiICs9IDY0
OworICB9Cit9CisKK3ZvaWQgWVVZMlRvQVJHQlJvd19NU0EoY29uc3QgdWludDgqIHNyY195dXky
LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogcmdiX2J1ZiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4IHNyYzAsIHNy
YzEsIHNyYzI7CisgIHY4aTE2IHZlYzAsIHZlYzEsIHZlYzI7CisgIHY0aTMyIHZlY191YiwgdmVj
X3ZyLCB2ZWNfdWcsIHZlY192ZywgdmVjX2JiLCB2ZWNfYmcsIHZlY19iciwgdmVjX3lnOworICB2
NGkzMiB2ZWNfdWJ2ciwgdmVjX3Vndmc7CisgIHYxNnU4IGFscGhhID0gKHYxNnU4KV9fbXNhX2xk
aV9iKEFMUEhBX1ZBTCk7CisKKyAgWVVWVE9SR0JfU0VUVVAoeXV2Y29uc3RhbnRzLCB2ZWNfdWIs
IHZlY192ciwgdmVjX3VnLCB2ZWNfdmcsIHZlY19iYiwgdmVjX2JnLAorICAgICAgICAgICAgICAg
ICB2ZWNfYnIsIHZlY195Zyk7CisgIHZlY191YnZyID0gX19tc2FfaWx2cl93KHZlY192ciwgdmVj
X3ViKTsKKyAgdmVjX3VndmcgPSAodjRpMzIpX19tc2FfaWx2ZXZfaCgodjhpMTYpdmVjX3ZnLCAo
djhpMTYpdmVjX3VnKTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gOCkgeworICAg
IHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY195dXkyLCAwKTsKKyAgICBzcmMx
ID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4KXNyYzAsICh2MTZpOClzcmMwKTsKKyAgICBz
cmMyID0gKHYxNnU4KV9fbXNhX3Bja29kX2IoKHYxNmk4KXNyYzAsICh2MTZpOClzcmMwKTsKKyAg
ICBZVVZUT1JHQihzcmMxLCBzcmMyLCB2ZWNfdWJ2ciwgdmVjX3VndmcsIHZlY19iYiwgdmVjX2Jn
LCB2ZWNfYnIsIHZlY195ZywKKyAgICAgICAgICAgICB2ZWMwLCB2ZWMxLCB2ZWMyKTsKKyAgICBT
VE9SRUFSR0IodmVjMCwgdmVjMSwgdmVjMiwgYWxwaGEsIHJnYl9idWYpOworICAgIHNyY195dXky
ICs9IDE2OworICAgIHJnYl9idWYgKz0gMzI7CisgIH0KK30KKwordm9pZCBVWVZZVG9BUkdCUm93
X01TQShjb25zdCB1aW50OCogc3JjX3V5dnksCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiByZ2JfYnVmLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3Rh
bnRzKiB5dXZjb25zdGFudHMsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewor
ICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMjsKKyAgdjhpMTYgdmVjMCwgdmVjMSwg
dmVjMjsKKyAgdjRpMzIgdmVjX3ViLCB2ZWNfdnIsIHZlY191ZywgdmVjX3ZnLCB2ZWNfYmIsIHZl
Y19iZywgdmVjX2JyLCB2ZWNfeWc7CisgIHY0aTMyIHZlY191YnZyLCB2ZWNfdWd2ZzsKKyAgdjE2
dTggYWxwaGEgPSAodjE2dTgpX19tc2FfbGRpX2IoQUxQSEFfVkFMKTsKKworICBZVVZUT1JHQl9T
RVRVUCh5dXZjb25zdGFudHMsIHZlY191YiwgdmVjX3ZyLCB2ZWNfdWcsIHZlY192ZywgdmVjX2Ji
LCB2ZWNfYmcsCisgICAgICAgICAgICAgICAgIHZlY19iciwgdmVjX3lnKTsKKyAgdmVjX3VidnIg
PSBfX21zYV9pbHZyX3codmVjX3ZyLCB2ZWNfdWIpOworICB2ZWNfdWd2ZyA9ICh2NGkzMilfX21z
YV9pbHZldl9oKCh2OGkxNil2ZWNfdmcsICh2OGkxNil2ZWNfdWcpOworCisgIGZvciAoeCA9IDA7
IHggPCB3aWR0aDsgeCArPSA4KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZp
OCopc3JjX3V5dnksIDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfcGNrb2RfYigodjE2aTgp
c3JjMCwgKHYxNmk4KXNyYzApOworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2
aTgpc3JjMCwgKHYxNmk4KXNyYzApOworICAgIFlVVlRPUkdCKHNyYzEsIHNyYzIsIHZlY191YnZy
LCB2ZWNfdWd2ZywgdmVjX2JiLCB2ZWNfYmcsIHZlY19iciwgdmVjX3lnLAorICAgICAgICAgICAg
IHZlYzAsIHZlYzEsIHZlYzIpOworICAgIFNUT1JFQVJHQih2ZWMwLCB2ZWMxLCB2ZWMyLCBhbHBo
YSwgcmdiX2J1Zik7CisgICAgc3JjX3V5dnkgKz0gMTY7CisgICAgcmdiX2J1ZiArPSAzMjsKKyAg
fQorfQorCit2b2lkIEludGVycG9sYXRlUm93X01TQSh1aW50OCogZHN0X3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMiBzb3VyY2VfeV9mcmFjdGlvbikg
eworICBpbnQzMiB5MV9mcmFjdGlvbiA9IHNvdXJjZV95X2ZyYWN0aW9uOworICBpbnQzMiB5MF9m
cmFjdGlvbiA9IDI1NiAtIHkxX2ZyYWN0aW9uOworICB1aW50MTYgeV9mcmFjdGlvbnM7CisgIGNv
bnN0IHVpbnQ4KiBzID0gc3JjX3B0cjsKKyAgY29uc3QgdWludDgqIHQgPSBzcmNfcHRyICsgc3Jj
X3N0cmlkZTsKKyAgaW50IHg7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIGRzdDAs
IGRzdDE7CisgIHY4dTE2IHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHlfZnJhYzsKKworICBpZiAo
MCA9PSB5MV9mcmFjdGlvbikgeworICAgIG1lbWNweShkc3RfcHRyLCBzcmNfcHRyLCB3aWR0aCk7
CisgICAgcmV0dXJuOworICB9CisKKyAgaWYgKDEyOCA9PSB5MV9mcmFjdGlvbikgeworICAgIGZv
ciAoeCA9IDA7IHggPCB3aWR0aDsgeCArPSAzMikgeworICAgICAgc3JjMCA9ICh2MTZ1OClfX21z
YV9sZF9iKCh2MTZpOCopcywgMCk7CisgICAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYx
Nmk4KilzLCAxNik7CisgICAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0LCAw
KTsKKyAgICAgIHNyYzMgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXQsIDE2KTsKKyAgICAg
IGRzdDAgPSBfX21zYV9hdmVyX3VfYihzcmMwLCBzcmMyKTsKKyAgICAgIGRzdDEgPSBfX21zYV9h
dmVyX3VfYihzcmMxLCBzcmMzKTsKKyAgICAgIFNUX1VCMihkc3QwLCBkc3QxLCBkc3RfcHRyLCAx
Nik7CisgICAgICBzICs9IDMyOworICAgICAgdCArPSAzMjsKKyAgICAgIGRzdF9wdHIgKz0gMzI7
CisgICAgfQorICAgIHJldHVybjsKKyAgfQorCisgIHlfZnJhY3Rpb25zID0gKHVpbnQxNikoeTBf
ZnJhY3Rpb24gKyAoeTFfZnJhY3Rpb24gPDwgOCkpOworICB5X2ZyYWMgPSAodjh1MTYpX19tc2Ff
ZmlsbF9oKHlfZnJhY3Rpb25zKTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gMzIp
IHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzcmMx
ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAxNik7CisgICAgc3JjMiA9ICh2MTZ1OClf
X21zYV9sZF9iKCh2MTZpOCopdCwgMCk7CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2
MTZpOCopdCwgMTYpOworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfaWx2cl9iKCh2MTZpOClzcmMy
LCAodjE2aTgpc3JjMCk7CisgICAgdmVjMSA9ICh2OHUxNilfX21zYV9pbHZsX2IoKHYxNmk4KXNy
YzIsICh2MTZpOClzcmMwKTsKKyAgICB2ZWMyID0gKHY4dTE2KV9fbXNhX2lsdnJfYigodjE2aTgp
c3JjMywgKHYxNmk4KXNyYzEpOworICAgIHZlYzMgPSAodjh1MTYpX19tc2FfaWx2bF9iKCh2MTZp
OClzcmMzLCAodjE2aTgpc3JjMSk7CisgICAgdmVjMCA9ICh2OHUxNilfX21zYV9kb3RwX3VfaCgo
djE2dTgpdmVjMCwgKHYxNnU4KXlfZnJhYyk7CisgICAgdmVjMSA9ICh2OHUxNilfX21zYV9kb3Rw
X3VfaCgodjE2dTgpdmVjMSwgKHYxNnU4KXlfZnJhYyk7CisgICAgdmVjMiA9ICh2OHUxNilfX21z
YV9kb3RwX3VfaCgodjE2dTgpdmVjMiwgKHYxNnU4KXlfZnJhYyk7CisgICAgdmVjMyA9ICh2OHUx
NilfX21zYV9kb3RwX3VfaCgodjE2dTgpdmVjMywgKHYxNnU4KXlfZnJhYyk7CisgICAgdmVjMCA9
ICh2OHUxNilfX21zYV9zcmFyaV9oKCh2OGkxNil2ZWMwLCA4KTsKKyAgICB2ZWMxID0gKHY4dTE2
KV9fbXNhX3NyYXJpX2goKHY4aTE2KXZlYzEsIDgpOworICAgIHZlYzIgPSAodjh1MTYpX19tc2Ff
c3JhcmlfaCgodjhpMTYpdmVjMiwgOCk7CisgICAgdmVjMyA9ICh2OHUxNilfX21zYV9zcmFyaV9o
KCh2OGkxNil2ZWMzLCA4KTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYxNmk4
KXZlYzEsICh2MTZpOCl2ZWMwKTsKKyAgICBkc3QxID0gKHYxNnU4KV9fbXNhX3Bja2V2X2IoKHYx
Nmk4KXZlYzMsICh2MTZpOCl2ZWMyKTsKKyAgICBTVF9VQjIoZHN0MCwgZHN0MSwgZHN0X3B0ciwg
MTYpOworICAgIHMgKz0gMzI7CisgICAgdCArPSAzMjsKKyAgICBkc3RfcHRyICs9IDMyOworICB9
Cit9CisKK3ZvaWQgQVJHQlNldFJvd19NU0EodWludDgqIGRzdF9hcmdiLCB1aW50MzIgdjMyLCBp
bnQgd2lkdGgpIHsKKyAgaW50IHg7CisgIHYxNnU4IGRzdDAgPSAodjE2dTgpX19tc2FfZmlsbF93
KHYzMik7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDQpIHsKKyAgICBTVF9VQihk
c3QwLCBkc3RfYXJnYik7CisgICAgZHN0X2FyZ2IgKz0gMTY7CisgIH0KK30KKwordm9pZCBSQVdU
b1JHQjI0Um93X01TQShjb25zdCB1aW50OCogc3JjX3JhdywgdWludDgqIGRzdF9yZ2IyNCwgaW50
IHdpZHRoKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0
LCBkc3QwLCBkc3QxLCBkc3QyOworICB2MTZpOCBzaHVmZmxlcjAgPSB7MiwgMSwgMCwgNSwgNCwg
MywgOCwgNywgNiwgMTEsIDEwLCA5LCAxNCwgMTMsIDEyLCAxN307CisgIHYxNmk4IHNodWZmbGVy
MSA9IHs4LCAgNywgIDEyLCAxMSwgMTAsIDE1LCAxNCwgMTMsCisgICAgICAgICAgICAgICAgICAg
ICAxOCwgMTcsIDE2LCAyMSwgMjAsIDE5LCAyNCwgMjN9OworICB2MTZpOCBzaHVmZmxlcjIgPSB7
MTQsIDE5LCAxOCwgMTcsIDIyLCAyMSwgMjAsIDI1LAorICAgICAgICAgICAgICAgICAgICAgMjQs
IDIzLCAyOCwgMjcsIDI2LCAzMSwgMzAsIDI5fTsKKworICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7
IHggKz0gMTYpIHsKKyAgICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfcmF3
LCAwKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfcmF3LCAxNik7
CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX3JhdywgMzIpOworICAg
IHNyYzMgPSAodjE2dTgpX19tc2Ffc2xkaV9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3JjMCwgOCk7
CisgICAgc3JjNCA9ICh2MTZ1OClfX21zYV9zbGRpX2IoKHYxNmk4KXNyYzIsICh2MTZpOClzcmMx
LCA4KTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihzaHVmZmxlcjAsICh2MTZpOClz
cmMxLCAodjE2aTgpc3JjMCk7CisgICAgZHN0MSA9ICh2MTZ1OClfX21zYV92c2hmX2Ioc2h1ZmZs
ZXIxLCAodjE2aTgpc3JjNCwgKHYxNmk4KXNyYzMpOworICAgIGRzdDIgPSAodjE2dTgpX19tc2Ff
dnNoZl9iKHNodWZmbGVyMiwgKHYxNmk4KXNyYzIsICh2MTZpOClzcmMxKTsKKyAgICBTVF9VQjIo
ZHN0MCwgZHN0MSwgZHN0X3JnYjI0LCAxNik7CisgICAgU1RfVUIoZHN0MiwgKGRzdF9yZ2IyNCAr
IDMyKSk7CisgICAgc3JjX3JhdyArPSA0ODsKKyAgICBkc3RfcmdiMjQgKz0gNDg7CisgIH0KK30K
Kwordm9pZCBNZXJnZVVWUm93X01TQShjb25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91diwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIGludCB4OworICB2MTZ1
OCBzcmMwLCBzcmMxLCBkc3QwLCBkc3QxOworCisgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCAr
PSAxNikgeworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY191LCAwKTsK
KyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfdiwgMCk7CisgICAgZHN0
MCA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYxNmk4KXNyYzEsICh2MTZpOClzcmMwKTsKKyAgICBk
c3QxID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjMSwgKHYxNmk4KXNyYzApOworICAg
IFNUX1VCMihkc3QwLCBkc3QxLCBkc3RfdXYsIDE2KTsKKyAgICBzcmNfdSArPSAxNjsKKyAgICBz
cmNfdiArPSAxNjsKKyAgICBkc3RfdXYgKz0gMzI7CisgIH0KK30KKwogI2lmZGVmIF9fY3BsdXNw
bHVzCiB9ICAvLyBleHRlcm4gIkMiCiB9ICAvLyBuYW1lc3BhY2UgbGlieXV2CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9z
b3VyY2Uvcm93X25lb24uY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93X25lb24uY2MKaW5kZXggZGMwODFmYTMwNzQ3ZGJh
ODFmY2QxMzNlNWI0ZjQ0Y2I5MmMyMDYyOS4uYmVkMTRlMDc1ZjI2OTFmZmJlOWE1NGMyMzlhNTg2
Y2U2MWUzNzhkMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jvd19uZW9uLmNjCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9yb3dfbmVv
bi5jYwpAQCAtMjIsMTggKzIyLDE4IEBAIGV4dGVybiAiQyIgewogICAgICFkZWZpbmVkKF9fYWFy
Y2g2NF9fKQogCiAvLyBSZWFkIDggWSwgNCBVIGFuZCA0IFYgZnJvbSA0MjIKLSNkZWZpbmUgUkVB
RFlVVjQyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgTUVNQUNDRVNTKDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2bGQxLjggICAgIHtk
MH0sIFslMF0hICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyNkZWZpbmUgUkVBRFlVVjQyMiBcCisgIE1FTUFDQ0VTUygwKSAgICAgXAorICAidmxk
MS44ICAgICB7ZDB9LCBbJTBdISAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCiAgICAgTUVNQUNDRVNTKDEpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICJ2bGQxLjMyICAg
IHtkMlswXX0sIFslMV0hICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKICAgICBNRU1BQ0NFU1MoMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgInZsZDEuMzIgICAge2QyWzFd
fSwgWyUyXSEgICAgICAgICAgICAgICAgIFxuIgogCiAvLyBSZWFkIDggWSwgOCBVIGFuZCA4IFYg
ZnJvbSA0NDQKLSNkZWZpbmUgUkVBRFlVVjQ0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgTUVNQUNDRVNTKDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICJ2bGQxLjggICAgIHtkMH0sIFslMF0hICAgICAgICAgICAgICAgICAgICBcbiIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgUkVBRFlVVjQ0NCBcCisgIE1FTUFD
Q0VTUygwKSAgICAgXAorICAidmxkMS44ICAgICB7ZDB9LCBbJTBdISAgICAgICAgICAgICAgICAg
ICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgTUVNQUNDRVNTKDEpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgICJ2bGQxLjggICAgIHtkMn0sIFslMV0hICAgICAgICAgICAgICAgICAgICBcbiIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBNRU1BQ0NFU1MoMikgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBA
IC00MiwxNSArNDIsMTUgQEAgZXh0ZXJuICJDIiB7CiAgICAgInZyc2hybi51MTYgZDIsIHExLCAj
MSAgICAgICAgICAgICAgICAgICAgIFxuIgogCiAvLyBSZWFkIDggWSwgYW5kIHNldCA0IFUgYW5k
IDQgViB0byAxMjgKLSNkZWZpbmUgUkVBRFlVVjQwMCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgTUVNQUNDRVNTKDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICJ2bGQxLjggICAgIHtkMH0sIFslMF0hICAgICAgICAgICAgICAgICAgICBcbiIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidm1vdi51OCAgICBkMiwgIzEyOCAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisjZGVmaW5lIFJFQURZVVY0MDAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICBNRU1BQ0NFU1MoMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgInZsZDEuOCAgICAge2QwfSwgWyUwXSEgICAgICAgICAgICAgICAg
ICAgIFxuIiBcCisgICJ2bW92LnU4ICAgIGQyLCAjMTI4ICAgICAgICAgICAgICAgICAgICAgICBc
biIKIAogLy8gUmVhZCA4IFkgYW5kIDQgVVYgZnJvbSBOVjEyCi0jZGVmaW5lIFJFQUROVjEyICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIE1FTUFDQ0VTUygwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidmxkMS44ICAgICB7ZDB9LCBbJTBd
ISAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisj
ZGVmaW5lIFJFQUROVjEyIFwKKyAgTUVNQUNDRVNTKDApICAgXAorICAidmxkMS44ICAgICB7ZDB9
LCBbJTBdISAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgTUVNQUNDRVNTKDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICJ2bGQxLjggICAgIHtkMn0sIFslMV0h
ICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICAidm1vdi51OCAgICBkMywgZDIgICAgICAgICAgICAgICAgICAgICAgICAgXG4iLyogc3BsaXQg
b2RkL2V2ZW4gdXYgYXBhcnQgKi9cCkBAIC01OCw5ICs1OCw5IEBAIGV4dGVybiAiQyIgewogICAg
ICJ2dHJuLnUzMiAgIGQyLCBkMyAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKIAogLy8gUmVh
ZCA4IFkgYW5kIDQgVlUgZnJvbSBOVjIxCi0jZGVmaW5lIFJFQUROVjIxICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIE1F
TUFDQ0VTUygwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAidmxkMS44ICAgICB7ZDB9LCBbJTBdISAgICAgICAgICAg
ICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFJFQURO
VjIxIFwKKyAgTUVNQUNDRVNTKDApICAgXAorICAidmxkMS44ICAgICB7ZDB9LCBbJTBdISAgICAg
ICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgTUVN
QUNDRVNTKDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgICJ2bGQxLjggICAgIHtkMn0sIFslMV0hICAgICAgICAgICAg
ICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAidm1vdi51OCAg
ICBkMywgZDIgICAgICAgICAgICAgICAgICAgICAgICAgXG4iLyogc3BsaXQgb2RkL2V2ZW4gdXYg
YXBhcnQgKi9cCkBAIC02OCwyNSArNjgsMjUgQEAgZXh0ZXJuICJDIiB7CiAgICAgInZ0cm4udTMy
ICAgZDIsIGQzICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogCiAvLyBSZWFkIDggWVVZMgot
I2RlZmluZSBSRUFEWVVZMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBNRU1BQ0NFU1MoMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInZs
ZDIuOCAgICAge2QwLCBkMn0sIFslMF0hICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICJ2bW92LnU4ICAgIGQzLCBkMiAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidnV6cC51OCAg
ICBkMiwgZDMgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgInZ0cm4udTMyICAgZDIsIGQzICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgorI2RlZmluZSBSRUFEWVVZMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgTUVNQUNDRVNTKDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJ2
bGQyLjggICAgIHtkMCwgZDJ9LCBbJTBdISAgICAgICAgICAgICAgICBcbiIgXAorICAidm1vdi51
OCAgICBkMywgZDIgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIFwKKyAgInZ1enAudTggICAg
ZDIsIGQzICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiBcCisgICJ2dHJuLnUzMiAgIGQyLCBk
MyAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKIAogLy8gUmVhZCA4IFVZVlkKLSNkZWZpbmUg
UkVBRFVZVlkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgTUVNQUNDRVNTKDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2bGQyLjggICAg
IHtkMiwgZDN9LCBbJTBdISAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAidm1vdi51OCAgICBkMCwgZDMgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInZtb3YudTggICAgZDMsIGQy
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICJ2dXpwLnU4ICAgIGQyLCBkMyAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidnRybi51MzIgICBkMiwgZDMgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0KLSNkZWZpbmUgWVVWVE9SR0JfU0VUVVAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgTUVN
QUNDRVNTKFtrVVZUb1JCXSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICJ2bGQxLjggICAgIHtkMjR9LCBbJVtrVVZUb1JCXV0gICAg
ICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgUkVBRFVZ
VlkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIE1FTUFDQ0VTUygwKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAidmxkMi44ICAgICB7ZDIsIGQzfSwg
WyUwXSEgICAgICAgICAgICAgICAgXG4iIFwKKyAgInZtb3YudTggICAgZDAsIGQzICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIiBcCisgICJ2bW92LnU4ICAgIGQzLCBkMiAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIgXAorICAidnV6cC51OCAgICBkMiwgZDMgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iIFwKKyAgInZ0cm4udTMyICAgZDIsIGQzICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgorCisjZGVmaW5lIFlVVlRPUkdCX1NFVFVQIFwKKyAgTUVNQUNDRVNTKFtrVVZUb1JCXSkg
XAorICAidmxkMS44ICAgICB7ZDI0fSwgWyVba1VWVG9SQl1dICAgICAgICAgICAgXG4iICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgTUVNQUNDRVNTKFtrVVZUb0ddKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICJ2
bGQxLjggICAgIHtkMjV9LCBbJVtrVVZUb0ddXSAgICAgICAgICAgICBcbiIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgICBNRU1BQ0NFU1MoW2tVVkJpYXNCR1JdKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC05OCwzMiArOTgs
MzIgQEAgZXh0ZXJuICJDIiB7CiAgICAgTUVNQUNDRVNTKFtrWVRvUmdiXSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICJ2bGQxLjMy
ICAgIHtkMzBbXSwgZDMxW119LCBbJVtrWVRvUmdiXV0gICAgIFxuIgogCi0jZGVmaW5lIFlVVlRP
UkdCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICJ2bXVsbC51OCAgIHE4LCBkMiwgZDI0ICAgICAgICAgICAgICAgICAg
ICBcbiIgLyogdS92IEIvUiBjb21wb25lbnQgICAgICAqL1wKLSAgICAidm11bGwudTggICBxOSwg
ZDIsIGQyNSAgICAgICAgICAgICAgICAgICAgXG4iIC8qIHUvdiBHIGNvbXBvbmVudCAgICAgICAg
Ki9cCi0gICAgInZtb3ZsLnU4ICAgcTAsIGQwICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAv
KiBZICAgICAgICAgICAgICAgICAgICAgICovXAotICAgICJ2bW92bC5zMTYgIHExMCwgZDEgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAidm1vdmwuczE2ICBxMCwgZDAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgInZtdWwuczMyICAgcTEwLCBxMTAsIHExNSAgICAg
ICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2bXVs
LnMzMiAgIHEwLCBxMCwgcTE1ICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAidnFzaHJ1bi5zMzIgZDAsIHEwLCAjMTYgICAgICAgICAgICAg
ICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInZxc2hydW4uczMy
IGQxLCBxMTAsICMxNiAgICAgICAgICAgICAgICAgIFxuIiAvKiBZICAgICAgICAgICAgICAgICAg
ICAgICovXAotICAgICJ2YWRkLnMxNiAgIGQxOCwgZDE5ICAgICAgICAgICAgICAgICAgICAgICBc
biIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidnNobGwudTE2ICBxMSwgZDE2
LCAjMTYgICAgICAgICAgICAgICAgICAgXG4iIC8qIFJlcGxpY2F0ZSB1ICogVUIgICAgICAgKi9c
Ci0gICAgInZzaGxsLnUxNiAgcTEwLCBkMTcsICMxNiAgICAgICAgICAgICAgICAgIFxuIiAvKiBS
ZXBsaWNhdGUgdiAqIFZSICAgICAgICovXAotICAgICJ2c2hsbC51MTYgIHEzLCBkMTgsICMxNiAg
ICAgICAgICAgICAgICAgICBcbiIgLyogUmVwbGljYXRlICh2KlZHICsgdSpVRykqL1wKLSAgICAi
dmFkZHcudTE2ICBxMSwgcTEsIGQxNiAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgInZhZGR3LnUxNiAgcTEwLCBxMTAsIGQxNyAgICAgICAg
ICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2YWRkdy51
MTYgIHEzLCBxMywgZDE4ICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAidnFhZGQuczE2ICBxOCwgcTAsIHExMyAgICAgICAgICAgICAgICAg
ICAgXG4iIC8qIEIgKi8gICAgICAgICAgICAgICAgICAgICBcCi0gICAgInZxYWRkLnMxNiAgcTks
IHEwLCBxMTQgICAgICAgICAgICAgICAgICAgIFxuIiAvKiBSICovICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICJ2cWFkZC5zMTYgIHEwLCBxMCwgcTQgICAgICAgICAgICAgICAgICAgICBcbiIg
LyogRyAqLyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidnFhZGQuczE2ICBxOCwgcTgsIHEx
ICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIEIgKi8gICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgInZxYWRkLnMxNiAgcTksIHE5LCBxMTAgICAgICAgICAgICAgICAgICAgIFxuIiAvKiBSICov
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2cXN1Yi5zMTYgIHEwLCBxMCwgcTMgICAgICAg
ICAgICAgICAgICAgICBcbiIgLyogRyAqLyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidnFz
aHJ1bi5zMTYgZDIwLCBxOCwgIzYgICAgICAgICAgICAgICAgICAgXG4iIC8qIEIgKi8gICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgInZxc2hydW4uczE2IGQyMiwgcTksICM2ICAgICAgICAgICAg
ICAgICAgIFxuIiAvKiBSICovICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2cXNocnVuLnMx
NiBkMjEsIHEwLCAjNiAgICAgICAgICAgICAgICAgICBcbiIgLyogRyAqLworI2RlZmluZSBZVVZU
T1JHQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAidm11bGwudTggICBxOCwgZDIsIGQyNCAgICAgICAgICAgICAgICAgICAg
XG4iIC8qIHUvdiBCL1IgY29tcG9uZW50ICAgICAgKi8gXAorICAidm11bGwudTggICBxOSwgZDIs
IGQyNSAgICAgICAgICAgICAgICAgICAgXG4iIC8qIHUvdiBHIGNvbXBvbmVudCAgICAgICAgKi8g
XAorICAidm1vdmwudTggICBxMCwgZDAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIFkg
ICAgICAgICAgICAgICAgICAgICAgKi8gXAorICAidm1vdmwuczE2ICBxMTAsIGQxICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAidm1v
dmwuczE2ICBxMCwgZDAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAidm11bC5zMzIgICBxMTAsIHExMCwgcTE1ICAgICAgICAgICAg
ICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAidm11bC5zMzIgICBx
MCwgcTAsIHExNSAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAidnFzaHJ1bi5zMzIgZDAsIHEwLCAjMTYgICAgICAgICAgICAgICAgICAgXG4i
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAidnFzaHJ1bi5zMzIgZDEsIHExMCwg
IzE2ICAgICAgICAgICAgICAgICAgXG4iIC8qIFkgICAgICAgICAgICAgICAgICAgICAgKi8gXAor
ICAidmFkZC5zMTYgICBkMTgsIGQxOSAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAidnNobGwudTE2ICBxMSwgZDE2LCAjMTYgICAgICAg
ICAgICAgICAgICAgXG4iIC8qIFJlcGxpY2F0ZSB1ICogVUIgICAgICAgKi8gXAorICAidnNobGwu
dTE2ICBxMTAsIGQxNywgIzE2ICAgICAgICAgICAgICAgICAgXG4iIC8qIFJlcGxpY2F0ZSB2ICog
VlIgICAgICAgKi8gXAorICAidnNobGwudTE2ICBxMywgZDE4LCAjMTYgICAgICAgICAgICAgICAg
ICAgXG4iIC8qIFJlcGxpY2F0ZSAodipWRyArIHUqVUcpKi8gXAorICAidmFkZHcudTE2ICBxMSwg
cTEsIGQxNiAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAidmFkZHcudTE2ICBxMTAsIHExMCwgZDE3ICAgICAgICAgICAgICAgICAgXG4iICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAidmFkZHcudTE2ICBxMywgcTMsIGQxOCAg
ICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAi
dnFhZGQuczE2ICBxOCwgcTAsIHExMyAgICAgICAgICAgICAgICAgICAgXG4iIC8qIEIgKi8gICAg
ICAgICAgICAgICAgICAgICAgXAorICAidnFhZGQuczE2ICBxOSwgcTAsIHExNCAgICAgICAgICAg
ICAgICAgICAgXG4iIC8qIFIgKi8gICAgICAgICAgICAgICAgICAgICAgXAorICAidnFhZGQuczE2
ICBxMCwgcTAsIHE0ICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIEcgKi8gICAgICAgICAgICAg
ICAgICAgICAgXAorICAidnFhZGQuczE2ICBxOCwgcTgsIHExICAgICAgICAgICAgICAgICAgICAg
XG4iIC8qIEIgKi8gICAgICAgICAgICAgICAgICAgICAgXAorICAidnFhZGQuczE2ICBxOSwgcTks
IHExMCAgICAgICAgICAgICAgICAgICAgXG4iIC8qIFIgKi8gICAgICAgICAgICAgICAgICAgICAg
XAorICAidnFzdWIuczE2ICBxMCwgcTAsIHEzICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIEcg
Ki8gICAgICAgICAgICAgICAgICAgICAgXAorICAidnFzaHJ1bi5zMTYgZDIwLCBxOCwgIzYgICAg
ICAgICAgICAgICAgICAgXG4iIC8qIEIgKi8gICAgICAgICAgICAgICAgICAgICAgXAorICAidnFz
aHJ1bi5zMTYgZDIyLCBxOSwgIzYgICAgICAgICAgICAgICAgICAgXG4iIC8qIFIgKi8gICAgICAg
ICAgICAgICAgICAgICAgXAorICAidnFzaHJ1bi5zMTYgZDIxLCBxMCwgIzYgICAgICAgICAgICAg
ICAgICAgXG4iIC8qIEcgKi8KIAogdm9pZCBJNDQ0VG9BUkdCUm93X05FT04oY29uc3QgdWludDgq
IHNyY195LAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LApAQCAt
Mjc3LDEyICsyNzcsMTIgQEAgdm9pZCBJNDIyVG9SR0IyNFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBz
cmNfeSwKICAgKTsKIH0KIAotI2RlZmluZSBBUkdCVE9SR0I1NjUgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidnNobGwudTgg
ICAgcTAsIGQyMiwgIzggICAgICAgICAgICAgICAgICAgXG4iICAvKiBSICAgICAgICAgICAgICAg
ICAgICAqLyBcCi0gICAgInZzaGxsLnU4ICAgIHE4LCBkMjEsICM4ICAgICAgICAgICAgICAgICAg
IFxuIiAgLyogRyAgICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJ2c2hsbC51OCAgICBxOSwg
ZDIwLCAjOCAgICAgICAgICAgICAgICAgICBcbiIgIC8qIEIgICAgICAgICAgICAgICAgICAgICov
IFwKLSAgICAidnNyaS4xNiAgICAgcTAsIHE4LCAjNSAgICAgICAgICAgICAgICAgICAgXG4iICAv
KiBSRyAgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgInZzcmkuMTYgICAgIHEwLCBxOSwgIzEx
ICAgICAgICAgICAgICAgICAgIFxuIiAgLyogUkdCICAgICAgICAgICAgICAgICAgKi8KKyNkZWZp
bmUgQVJHQlRPUkdCNTY1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICJ2c2hsbC51OCAgICBxMCwgZDIyLCAjOCAgICAgICAgICAgICAg
ICAgICBcbiIgLyogUiAgICAgICAgICAgICAgICAgICAgKi8gXAorICAidnNobGwudTggICAgcTgs
IGQyMSwgIzggICAgICAgICAgICAgICAgICAgXG4iIC8qIEcgICAgICAgICAgICAgICAgICAgICov
IFwKKyAgInZzaGxsLnU4ICAgIHE5LCBkMjAsICM4ICAgICAgICAgICAgICAgICAgIFxuIiAvKiBC
ICAgICAgICAgICAgICAgICAgICAqLyBcCisgICJ2c3JpLjE2ICAgICBxMCwgcTgsICM1ICAgICAg
ICAgICAgICAgICAgICBcbiIgLyogUkcgICAgICAgICAgICAgICAgICAgKi8gXAorICAidnNyaS4x
NiAgICAgcTAsIHE5LCAjMTEgICAgICAgICAgICAgICAgICAgXG4iIC8qIFJHQiAgICAgICAgICAg
ICAgICAgICovCiAKIHZvaWQgSTQyMlRvUkdCNTY1Um93X05FT04oY29uc3QgdWludDgqIHNyY195
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCkBAIC0zMTQs
MTQgKzMxNCwxNCBAQCB2b2lkIEk0MjJUb1JHQjU2NVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
eSwKICAgKTsKIH0KIAotI2RlZmluZSBBUkdCVE9BUkdCMTU1NSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidnNobGwudTggICAg
cTAsIGQyMywgIzggICAgICAgICAgICAgICAgICAgXG4iICAvKiBBICAgICAgICAgICAgICAgICAg
ICAqLyBcCi0gICAgInZzaGxsLnU4ICAgIHE4LCBkMjIsICM4ICAgICAgICAgICAgICAgICAgIFxu
IiAgLyogUiAgICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJ2c2hsbC51OCAgICBxOSwgZDIx
LCAjOCAgICAgICAgICAgICAgICAgICBcbiIgIC8qIEcgICAgICAgICAgICAgICAgICAgICovIFwK
LSAgICAidnNobGwudTggICAgcTEwLCBkMjAsICM4ICAgICAgICAgICAgICAgICAgXG4iICAvKiBC
ICAgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgInZzcmkuMTYgICAgIHEwLCBxOCwgIzEgICAg
ICAgICAgICAgICAgICAgIFxuIiAgLyogQVIgICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJ2
c3JpLjE2ICAgICBxMCwgcTksICM2ICAgICAgICAgICAgICAgICAgICBcbiIgIC8qIEFSRyAgICAg
ICAgICAgICAgICAgICovIFwKLSAgICAidnNyaS4xNiAgICAgcTAsIHExMCwgIzExICAgICAgICAg
ICAgICAgICAgXG4iICAvKiBBUkdCICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBBUkdCVE9B
UkdCMTU1NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgInZzaGxsLnU4ICAgIHEwLCBkMjMsICM4ICAgICAgICAgICAgICAgICAgIFxuIiAv
KiBBICAgICAgICAgICAgICAgICAgICAqLyBcCisgICJ2c2hsbC51OCAgICBxOCwgZDIyLCAjOCAg
ICAgICAgICAgICAgICAgICBcbiIgLyogUiAgICAgICAgICAgICAgICAgICAgKi8gXAorICAidnNo
bGwudTggICAgcTksIGQyMSwgIzggICAgICAgICAgICAgICAgICAgXG4iIC8qIEcgICAgICAgICAg
ICAgICAgICAgICovIFwKKyAgInZzaGxsLnU4ICAgIHExMCwgZDIwLCAjOCAgICAgICAgICAgICAg
ICAgIFxuIiAvKiBCICAgICAgICAgICAgICAgICAgICAqLyBcCisgICJ2c3JpLjE2ICAgICBxMCwg
cTgsICMxICAgICAgICAgICAgICAgICAgICBcbiIgLyogQVIgICAgICAgICAgICAgICAgICAgKi8g
XAorICAidnNyaS4xNiAgICAgcTAsIHE5LCAjNiAgICAgICAgICAgICAgICAgICAgXG4iIC8qIEFS
RyAgICAgICAgICAgICAgICAgICovIFwKKyAgInZzcmkuMTYgICAgIHEwLCBxMTAsICMxMSAgICAg
ICAgICAgICAgICAgIFxuIiAvKiBBUkdCICAgICAgICAgICAgICAgICAqLwogCiB2b2lkIEk0MjJU
b0FSR0IxNTU1Um93X05FT04oY29uc3QgdWludDgqIHNyY195LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKQEAgLTM1NCwxNCArMzU0LDE0IEBAIHZvaWQg
STQyMlRvQVJHQjE1NTVSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3ksCiAgICk7CiB9CiAKLSNk
ZWZpbmUgQVJHQlRPQVJHQjQ0NDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgInZzaHIudTggICAgZDIwLCBkMjAsICM0ICAgICAg
ICAgICAgICAgICAgIFxuIiAgLyogQiAgICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJ2Ymlj
LjMyICAgIGQyMSwgZDIxLCBkNCAgICAgICAgICAgICAgICAgICBcbiIgIC8qIEcgICAgICAgICAg
ICAgICAgICAgICovIFwKLSAgICAidnNoci51OCAgICBkMjIsIGQyMiwgIzQgICAgICAgICAgICAg
ICAgICAgXG4iICAvKiBSICAgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgInZiaWMuMzIgICAg
ZDIzLCBkMjMsIGQ0ICAgICAgICAgICAgICAgICAgIFxuIiAgLyogQSAgICAgICAgICAgICAgICAg
ICAgKi8gXAotICAgICJ2b3JyICAgICAgIGQwLCBkMjAsIGQyMSAgICAgICAgICAgICAgICAgICBc
biIgIC8qIEJHICAgICAgICAgICAgICAgICAgICovIFwKLSAgICAidm9yciAgICAgICBkMSwgZDIy
LCBkMjMgICAgICAgICAgICAgICAgICAgXG4iICAvKiBSQSAgICAgICAgICAgICAgICAgICAqLyBc
Ci0gICAgInZ6aXAudTggICAgZDAsIGQxICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyog
QkdSQSAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgQVJHQlRPQVJHQjQ0NDQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJ2c2hyLnU4
ICAgIGQyMCwgZDIwLCAjNCAgICAgICAgICAgICAgICAgICBcbiIgLyogQiAgICAgICAgICAgICAg
ICAgICAgKi8gXAorICAidmJpYy4zMiAgICBkMjEsIGQyMSwgZDQgICAgICAgICAgICAgICAgICAg
XG4iIC8qIEcgICAgICAgICAgICAgICAgICAgICovIFwKKyAgInZzaHIudTggICAgZDIyLCBkMjIs
ICM0ICAgICAgICAgICAgICAgICAgIFxuIiAvKiBSICAgICAgICAgICAgICAgICAgICAqLyBcCisg
ICJ2YmljLjMyICAgIGQyMywgZDIzLCBkNCAgICAgICAgICAgICAgICAgICBcbiIgLyogQSAgICAg
ICAgICAgICAgICAgICAgKi8gXAorICAidm9yciAgICAgICBkMCwgZDIwLCBkMjEgICAgICAgICAg
ICAgICAgICAgXG4iIC8qIEJHICAgICAgICAgICAgICAgICAgICovIFwKKyAgInZvcnIgICAgICAg
ZDEsIGQyMiwgZDIzICAgICAgICAgICAgICAgICAgIFxuIiAvKiBSQSAgICAgICAgICAgICAgICAg
ICAqLyBcCisgICJ2emlwLnU4ICAgIGQwLCBkMSAgICAgICAgICAgICAgICAgICAgICAgICBcbiIg
LyogQkdSQSAgICAgICAgICAgICAgICAgKi8KIAogdm9pZCBJNDIyVG9BUkdCNDQ0NFJvd19ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3UsCkBAIC0zOTUsOSArMzk1LDcgQEAgdm9pZCBJNDIyVG9BUkdCNDQ0NFJvd19O
RU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgKTsKIH0KIAotdm9pZCBJNDAwVG9BUkdCUm93X05F
T04oY29uc3QgdWludDgqIHNyY195LAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7Cit2b2lkIEk0MDBU
b0FSR0JSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3ksIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdp
ZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgWVVWVE9SR0JfU0VUVVAKICAgICAidm1vdi51
OCAgICBkMjMsICMyNTUgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC00MjAsOSArNDE4LDcg
QEAgdm9pZCBJNDAwVG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNyY195LAogICApOwogfQog
Ci12b2lkIEo0MDBUb0FSR0JSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3ksCi0gICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpIHsKK3ZvaWQgSjQwMFRvQVJHQlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwg
dWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAidm1v
di51OCAgICBkMjMsICMyNTUgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICIxOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNTc5LDcgKzU3NSw5IEBA
IHZvaWQgVVlWWVRvQVJHQlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKIH0KIAogLy8g
UmVhZHMgMTYgcGFpcnMgb2YgVVYgYW5kIHdyaXRlIGV2ZW4gdmFsdWVzIHRvIGRzdF91IGFuZCBv
ZGQgdG8gZHN0X3YuCi12b2lkIFNwbGl0VVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3V2LCB1
aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwKK3ZvaWQgU3BsaXRVVlJvd19ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfdXYsCisgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCiAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCkBAIC02MDEsNyArNTk5LDkgQEAgdm9pZCBTcGxpdFVWUm93X05F
T04oY29uc3QgdWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsCiB9CiAK
IC8vIFJlYWRzIDE2IFUncyBhbmQgVidzIGFuZCB3cml0ZXMgb3V0IDE2IHBhaXJzIG9mIFVWLgot
dm9pZCBNZXJnZVVWUm93X05FT04oY29uc3QgdWludDgqIHNyY191LCBjb25zdCB1aW50OCogc3Jj
X3YsIHVpbnQ4KiBkc3RfdXYsCit2b2lkIE1lcmdlVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3Jj
X3UsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3V2LAogICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
KSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgpAQCAtNjk4LDcgKzY5OCw5IEBAIHZvaWQgTWlycm9yUm93X05FT04o
Y29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CiAgICk7CiB9CiAKLXZv
aWQgTWlycm9yVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3V2LCB1aW50OCogZHN0X3UsIHVp
bnQ4KiBkc3RfdiwKK3ZvaWQgTWlycm9yVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3V2LAor
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3YsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFz
bSB2b2xhdGlsZSAoCiAgICAgLy8gU3RhcnQgYXQgZW5kIG9mIHNvdXJjZSByb3cuCkBAIC04MDUs
MTcgKzgwNywxNyBAQCB2b2lkIFJBV1RvUkdCMjRSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3Jh
dywgdWludDgqIGRzdF9yZ2IyNCwgaW50IHdpZHRoKSB7CiAgICk7CiB9CiAKLSNkZWZpbmUgUkdC
NTY1VE9BUkdCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgInZzaHJuLnUxNiAgZDYsIHEwLCAjNSAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgLyogRyB4eEdHR0dHRyAgICAgICAgICAgKi8gXAotICAgICJ2dXpwLnU4ICAgIGQw
LCBkMSAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8qIGQwIHh4eEJCQkJCIFJSUlJSeHh4
ICovIFwKLSAgICAidnNobC51OCAgICBkNiwgZDYsICMyICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvKiBHIEdHR0dHRzAwIHVwcGVyIDYgICAqLyBcCi0gICAgInZzaHIudTggICAgZDEsIGQxLCAj
MyAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyogUiAwMDBSUlJSUiBsb3dlciA1ICAgKi8gXAot
ICAgICJ2c2hsLnU4ICAgIHEwLCBxMCwgIzMgICAgICAgICAgICAgICAgICAgICBcbiIgIC8qIEIs
UiBCQkJCQjAwMCB1cHBlciA1ICovIFwKLSAgICAidnNoci51OCAgICBxMiwgcTAsICM1ICAgICAg
ICAgICAgICAgICAgICAgXG4iICAvKiBCLFIgMDAwMDBCQkIgbG93ZXIgMyAqLyBcCi0gICAgInZv
cnIudTggICAgZDAsIGQwLCBkNCAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyogQiAgICAgICAg
ICAgICAgICAgICAgKi8gXAotICAgICJ2c2hyLnU4ICAgIGQ0LCBkNiwgIzYgICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8qIEcgMDAwMDAwR0cgbG93ZXIgMiAgICovIFwKLSAgICAidm9yci51OCAg
ICBkMiwgZDEsIGQ1ICAgICAgICAgICAgICAgICAgICAgXG4iICAvKiBSICAgICAgICAgICAgICAg
ICAgICAqLyBcCi0gICAgInZvcnIudTggICAgZDEsIGQ0LCBkNiAgICAgICAgICAgICAgICAgICAg
IFxuIiAgLyogRyAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgUkdCNTY1VE9BUkdCICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICJ2c2hybi51MTYgIGQ2LCBxMCwgIzUgICAgICAgICAgICAgICAgICAgICBcbiIgLyogRyB4eEdH
R0dHRyAgICAgICAgICAgKi8gXAorICAidnV6cC51OCAgICBkMCwgZDEgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iIC8qIGQwIHh4eEJCQkJCIFJSUlJSeHh4ICovIFwKKyAgInZzaGwudTggICAg
ZDYsIGQ2LCAjMiAgICAgICAgICAgICAgICAgICAgIFxuIiAvKiBHIEdHR0dHRzAwIHVwcGVyIDYg
ICAqLyBcCisgICJ2c2hyLnU4ICAgIGQxLCBkMSwgIzMgICAgICAgICAgICAgICAgICAgICBcbiIg
LyogUiAwMDBSUlJSUiBsb3dlciA1ICAgKi8gXAorICAidnNobC51OCAgICBxMCwgcTAsICMzICAg
ICAgICAgICAgICAgICAgICAgXG4iIC8qIEIsUiBCQkJCQjAwMCB1cHBlciA1ICovIFwKKyAgInZz
aHIudTggICAgcTIsIHEwLCAjNSAgICAgICAgICAgICAgICAgICAgIFxuIiAvKiBCLFIgMDAwMDBC
QkIgbG93ZXIgMyAqLyBcCisgICJ2b3JyLnU4ICAgIGQwLCBkMCwgZDQgICAgICAgICAgICAgICAg
ICAgICBcbiIgLyogQiAgICAgICAgICAgICAgICAgICAgKi8gXAorICAidnNoci51OCAgICBkNCwg
ZDYsICM2ICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIEcgMDAwMDAwR0cgbG93ZXIgMiAgICov
IFwKKyAgInZvcnIudTggICAgZDIsIGQxLCBkNSAgICAgICAgICAgICAgICAgICAgIFxuIiAvKiBS
ICAgICAgICAgICAgICAgICAgICAqLyBcCisgICJ2b3JyLnU4ICAgIGQxLCBkNCwgZDYgICAgICAg
ICAgICAgICAgICAgICBcbiIgLyogRyAgICAgICAgICAgICAgICAgICAgKi8KIAogdm9pZCBSR0I1
NjVUb0FSR0JSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwgdWludDgqIGRzdF9hcmdi
LCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKQEAgLTgzNiwzNCArODM4LDM1IEBAIHZv
aWQgUkdCNTY1VG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNyY19yZ2I1NjUsIHVpbnQ4KiBk
c3RfYXJnYiwgaW50IHdpZHRoKSB7CiAgICk7CiB9CiAKLSNkZWZpbmUgQVJHQjE1NTVUT0FSR0Ig
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgInZzaHJuLnUxNiAgZDcsIHEwLCAjOCAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyog
QSBBcnJycnJ4eCAgICAgICAgICAgKi8gXAotICAgICJ2c2hyLnU4ICAgIGQ2LCBkNywgIzIgICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8qIFIgeHh4UlJSUlIgICAgICAgICAgICovIFwKLSAgICAi
dnNocm4udTE2ICBkNSwgcTAsICM1ICAgICAgICAgICAgICAgICAgICAgXG4iICAvKiBHIHh4eEdH
R0dHICAgICAgICAgICAqLyBcCi0gICAgInZtb3ZuLnUxNiAgZDQsIHEwICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgLyogQiB4eHhCQkJCQiAgICAgICAgICAgKi8gXAotICAgICJ2c2hyLnU4
ICAgIGQ3LCBkNywgIzcgICAgICAgICAgICAgICAgICAgICBcbiIgIC8qIEEgMDAwMDAwMEEgICAg
ICAgICAgICovIFwKLSAgICAidm5lZy5zOCAgICBkNywgZDcgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iICAvKiBBIEFBQUFBQUFBIHVwcGVyIDggICAqLyBcCi0gICAgInZzaGwudTggICAgZDYs
IGQ2LCAjMyAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyogUiBSUlJSUjAwMCB1cHBlciA1ICAg
Ki8gXAotICAgICJ2c2hyLnU4ICAgIHExLCBxMywgIzUgICAgICAgICAgICAgICAgICAgICBcbiIg
IC8qIFIsQSAwMDAwMFJSUiBsb3dlciAzICovIFwKLSAgICAidnNobC51OCAgICBxMCwgcTIsICMz
ICAgICAgICAgICAgICAgICAgICAgXG4iICAvKiBCLEcgQkJCQkIwMDAgdXBwZXIgNSAqLyBcCi0g
ICAgInZzaHIudTggICAgcTIsIHEwLCAjNSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyogQixH
IDAwMDAwQkJCIGxvd2VyIDMgKi8gXAotICAgICJ2b3JyLnU4ICAgIHExLCBxMSwgcTMgICAgICAg
ICAgICAgICAgICAgICBcbiIgIC8qIFIsQSAgICAgICAgICAgICAgICAgICovIFwKLSAgICAidm9y
ci51OCAgICBxMCwgcTAsIHEyICAgICAgICAgICAgICAgICAgICAgXG4iICAvKiBCLEcgICAgICAg
ICAgICAgICAgICAqLyBcCisjZGVmaW5lIEFSR0IxNTU1VE9BUkdCICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAidnNocm4udTE2ICBkNywg
cTAsICM4ICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIEEgQXJycnJyeHggICAgICAgICAgICov
IFwKKyAgInZzaHIudTggICAgZDYsIGQ3LCAjMiAgICAgICAgICAgICAgICAgICAgIFxuIiAvKiBS
IHh4eFJSUlJSICAgICAgICAgICAqLyBcCisgICJ2c2hybi51MTYgIGQ1LCBxMCwgIzUgICAgICAg
ICAgICAgICAgICAgICBcbiIgLyogRyB4eHhHR0dHRyAgICAgICAgICAgKi8gXAorICAidm1vdm4u
dTE2ICBkNCwgcTAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIEIgeHh4QkJCQkIgICAg
ICAgICAgICovIFwKKyAgInZzaHIudTggICAgZDcsIGQ3LCAjNyAgICAgICAgICAgICAgICAgICAg
IFxuIiAvKiBBIDAwMDAwMDBBICAgICAgICAgICAqLyBcCisgICJ2bmVnLnM4ICAgIGQ3LCBkNyAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIgLyogQSBBQUFBQUFBQSB1cHBlciA4ICAgKi8gXAor
ICAidnNobC51OCAgICBkNiwgZDYsICMzICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIFIgUlJS
UlIwMDAgdXBwZXIgNSAgICovIFwKKyAgInZzaHIudTggICAgcTEsIHEzLCAjNSAgICAgICAgICAg
ICAgICAgICAgIFxuIiAvKiBSLEEgMDAwMDBSUlIgbG93ZXIgMyAqLyBcCisgICJ2c2hsLnU4ICAg
IHEwLCBxMiwgIzMgICAgICAgICAgICAgICAgICAgICBcbiIgLyogQixHIEJCQkJCMDAwIHVwcGVy
IDUgKi8gXAorICAidnNoci51OCAgICBxMiwgcTAsICM1ICAgICAgICAgICAgICAgICAgICAgXG4i
IC8qIEIsRyAwMDAwMEJCQiBsb3dlciAzICovIFwKKyAgInZvcnIudTggICAgcTEsIHExLCBxMyAg
ICAgICAgICAgICAgICAgICAgIFxuIiAvKiBSLEEgICAgICAgICAgICAgICAgICAqLyBcCisgICJ2
b3JyLnU4ICAgIHEwLCBxMCwgcTIgICAgICAgICAgICAgICAgICAgICBcbiIgLyogQixHICAgICAg
ICAgICAgICAgICAgKi8KIAogLy8gUkdCNTU1VE9BUkdCIGlzIHNhbWUgYXMgQVJHQjE1NTVUT0FS
R0IgYnV0IGlnbm9yZXMgYWxwaGEuCi0jZGVmaW5lIFJHQjU1NVRPQVJHQiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2c2hy
bi51MTYgIGQ2LCBxMCwgIzUgICAgICAgICAgICAgICAgICAgICBcbiIgIC8qIEcgeHh4R0dHR0cg
ICAgICAgICAgICovIFwKLSAgICAidnV6cC51OCAgICBkMCwgZDEgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iICAvKiBkMCB4eHhCQkJCQiB4UlJSUlJ4eCAqLyBcCi0gICAgInZzaGwudTggICAg
ZDYsIGQ2LCAjMyAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyogRyBHR0dHRzAwMCB1cHBlciA1
ICAgKi8gXAotICAgICJ2c2hyLnU4ICAgIGQxLCBkMSwgIzIgICAgICAgICAgICAgICAgICAgICBc
biIgIC8qIFIgMDB4UlJSUlIgbG93ZXIgNSAgICovIFwKLSAgICAidnNobC51OCAgICBxMCwgcTAs
ICMzICAgICAgICAgICAgICAgICAgICAgXG4iICAvKiBCLFIgQkJCQkIwMDAgdXBwZXIgNSAqLyBc
Ci0gICAgInZzaHIudTggICAgcTIsIHEwLCAjNSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyog
QixSIDAwMDAwQkJCIGxvd2VyIDMgKi8gXAotICAgICJ2b3JyLnU4ICAgIGQwLCBkMCwgZDQgICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8qIEIgICAgICAgICAgICAgICAgICAgICovIFwKLSAgICAi
dnNoci51OCAgICBkNCwgZDYsICM1ICAgICAgICAgICAgICAgICAgICAgXG4iICAvKiBHIDAwMDAw
R0dHIGxvd2VyIDMgICAqLyBcCi0gICAgInZvcnIudTggICAgZDIsIGQxLCBkNSAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgLyogUiAgICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJ2b3JyLnU4
ICAgIGQxLCBkNCwgZDYgICAgICAgICAgICAgICAgICAgICBcbiIgIC8qIEcgICAgICAgICAgICAg
ICAgICAgICovCi0KLXZvaWQgQVJHQjE1NTVUb0FSR0JSb3dfTkVPTihjb25zdCB1aW50OCogc3Jj
X2FyZ2IxNTU1LCB1aW50OCogZHN0X2FyZ2IsCisjZGVmaW5lIFJHQjU1NVRPQVJHQiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAidnNo
cm4udTE2ICBkNiwgcTAsICM1ICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIEcgeHh4R0dHR0cg
ICAgICAgICAgICovIFwKKyAgInZ1enAudTggICAgZDAsIGQxICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIiAvKiBkMCB4eHhCQkJCQiB4UlJSUlJ4eCAqLyBcCisgICJ2c2hsLnU4ICAgIGQ2LCBk
NiwgIzMgICAgICAgICAgICAgICAgICAgICBcbiIgLyogRyBHR0dHRzAwMCB1cHBlciA1ICAgKi8g
XAorICAidnNoci51OCAgICBkMSwgZDEsICMyICAgICAgICAgICAgICAgICAgICAgXG4iIC8qIFIg
MDB4UlJSUlIgbG93ZXIgNSAgICovIFwKKyAgInZzaGwudTggICAgcTAsIHEwLCAjMyAgICAgICAg
ICAgICAgICAgICAgIFxuIiAvKiBCLFIgQkJCQkIwMDAgdXBwZXIgNSAqLyBcCisgICJ2c2hyLnU4
ICAgIHEyLCBxMCwgIzUgICAgICAgICAgICAgICAgICAgICBcbiIgLyogQixSIDAwMDAwQkJCIGxv
d2VyIDMgKi8gXAorICAidm9yci51OCAgICBkMCwgZDAsIGQ0ICAgICAgICAgICAgICAgICAgICAg
XG4iIC8qIEIgICAgICAgICAgICAgICAgICAgICovIFwKKyAgInZzaHIudTggICAgZDQsIGQ2LCAj
NSAgICAgICAgICAgICAgICAgICAgIFxuIiAvKiBHIDAwMDAwR0dHIGxvd2VyIDMgICAqLyBcCisg
ICJ2b3JyLnU4ICAgIGQyLCBkMSwgZDUgICAgICAgICAgICAgICAgICAgICBcbiIgLyogUiAgICAg
ICAgICAgICAgICAgICAgKi8gXAorICAidm9yci51OCAgICBkMSwgZDQsIGQ2ICAgICAgICAgICAg
ICAgICAgICAgXG4iIC8qIEcgICAgICAgICAgICAgICAgICAgICovCisKK3ZvaWQgQVJHQjE1NTVU
b0FSR0JSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAidm1vdi51OCAgICBkMywgIzI1
NSAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBBbHBoYQpAQCAtODgzLDE3ICs4ODYsMTgg
QEAgdm9pZCBBUkdCMTU1NVRvQVJHQlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUs
IHVpbnQ4KiBkc3RfYXJnYiwKICAgKTsKIH0KIAotI2RlZmluZSBBUkdCNDQ0NFRPQVJHQiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAidnV6cC51OCAgICBkMCwgZDEgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvKiBkMCBC
RywgZDEgUkEgICAgICAgICAqLyBcCi0gICAgInZzaGwudTggICAgcTIsIHEwLCAjNCAgICAgICAg
ICAgICAgICAgICAgIFxuIiAgLyogQixSIEJCQkIwMDAwICAgICAgICAgKi8gXAotICAgICJ2c2hy
LnU4ICAgIHExLCBxMCwgIzQgICAgICAgICAgICAgICAgICAgICBcbiIgIC8qIEcsQSAwMDAwR0dH
RyAgICAgICAgICovIFwKLSAgICAidnNoci51OCAgICBxMCwgcTIsICM0ICAgICAgICAgICAgICAg
ICAgICAgXG4iICAvKiBCLFIgMDAwMEJCQkIgICAgICAgICAqLyBcCi0gICAgInZvcnIudTggICAg
cTAsIHEwLCBxMiAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyogQixSIEJCQkJCQkJCICAgICAg
ICAgKi8gXAotICAgICJ2c2hsLnU4ICAgIHEyLCBxMSwgIzQgICAgICAgICAgICAgICAgICAgICBc
biIgIC8qIEcsQSBHR0dHMDAwMCAgICAgICAgICovIFwKLSAgICAidm9yci51OCAgICBxMSwgcTEs
IHEyICAgICAgICAgICAgICAgICAgICAgXG4iICAvKiBHLEEgR0dHR0dHR0cgICAgICAgICAqLyBc
Ci0gICAgInZzd3AudTggICAgZDEsIGQyICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLyog
QixSLEcsQSAtPiBCLEcsUixBICAgKi8KKyNkZWZpbmUgQVJHQjQ0NDRUT0FSR0IgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJ2dXpwLnU4
ICAgIGQwLCBkMSAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgLyogZDAgQkcsIGQxIFJBICAg
ICAgICAgKi8gXAorICAidnNobC51OCAgICBxMiwgcTAsICM0ICAgICAgICAgICAgICAgICAgICAg
XG4iIC8qIEIsUiBCQkJCMDAwMCAgICAgICAgICovIFwKKyAgInZzaHIudTggICAgcTEsIHEwLCAj
NCAgICAgICAgICAgICAgICAgICAgIFxuIiAvKiBHLEEgMDAwMEdHR0cgICAgICAgICAqLyBcCisg
ICJ2c2hyLnU4ICAgIHEwLCBxMiwgIzQgICAgICAgICAgICAgICAgICAgICBcbiIgLyogQixSIDAw
MDBCQkJCICAgICAgICAgKi8gXAorICAidm9yci51OCAgICBxMCwgcTAsIHEyICAgICAgICAgICAg
ICAgICAgICAgXG4iIC8qIEIsUiBCQkJCQkJCQiAgICAgICAgICovIFwKKyAgInZzaGwudTggICAg
cTIsIHExLCAjNCAgICAgICAgICAgICAgICAgICAgIFxuIiAvKiBHLEEgR0dHRzAwMDAgICAgICAg
ICAqLyBcCisgICJ2b3JyLnU4ICAgIHExLCBxMSwgcTIgICAgICAgICAgICAgICAgICAgICBcbiIg
LyogRyxBIEdHR0dHR0dHICAgICAgICAgKi8gXAorICAidnN3cC51OCAgICBkMSwgZDIgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iIC8qIEIsUixHLEEgLT4gQixHLFIsQSAgICovCiAKLXZvaWQg
QVJHQjQ0NDRUb0FSR0JSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCB1aW50OCog
ZHN0X2FyZ2IsCit2b2lkIEFSR0I0NDQ0VG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNyY19h
cmdiNDQ0NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAo
CiAgICAgInZtb3YudTggICAgZDMsICMyNTUgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
QWxwaGEKQEAgLTk4Miw3ICs5ODYsOSBAQCB2b2lkIFVZVllUb1lSb3dfTkVPTihjb25zdCB1aW50
OCogc3JjX3V5dnksIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CiAgICk7CiB9CiAKLXZvaWQg
WVVZMlRvVVY0MjJSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3l1eTIsIHVpbnQ4KiBkc3RfdSwg
dWludDgqIGRzdF92LAordm9pZCBZVVkyVG9VVjQyMlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
eXV5MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAogICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAiMTogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTEwMDMsNyArMTAwOSw5IEBAIHZvaWQgWVVZMlRv
VVY0MjJSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3l1eTIsIHVpbnQ4KiBkc3RfdSwgdWludDgq
IGRzdF92LAogICApOwogfQogCi12b2lkIFVZVllUb1VWNDIyUm93X05FT04oY29uc3QgdWludDgq
IHNyY191eXZ5LCB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwKK3ZvaWQgVVlWWVRvVVY0MjJS
b3dfTkVPTihjb25zdCB1aW50OCogc3JjX3V5dnksCisgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0xMDI0
LDggKzEwMzIsMTEgQEAgdm9pZCBVWVZZVG9VVjQyMlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
dXl2eSwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsCiAgICk7CiB9CiAKLXZvaWQgWVVZMlRv
VVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3l1eTIsIGludCBzdHJpZGVfeXV5MiwKLSAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7
Cit2b2lkIFlVWTJUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY195dXkyLAorICAgICAgICAg
ICAgICAgICAgICAgIGludCBzdHJpZGVfeXV5MiwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJhZGQgICAg
ICAgICUxLCAlMCwgJTEgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHN0cmlkZSArIHNyY195
dXkyCiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpA
QCAtMTA1MSw4ICsxMDYyLDExIEBAIHZvaWQgWVVZMlRvVVZSb3dfTkVPTihjb25zdCB1aW50OCog
c3JjX3l1eTIsIGludCBzdHJpZGVfeXV5MiwKICAgKTsKIH0KIAotdm9pZCBVWVZZVG9VVlJvd19O
RU9OKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgaW50IHN0cmlkZV91eXZ5LAotICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKK3ZvaWQg
VVlWWVRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3V5dnksCisgICAgICAgICAgICAgICAg
ICAgICAgaW50IHN0cmlkZV91eXZ5LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgImFkZCAgICAgICAgJTEs
ICUwLCAlMSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gc3RyaWRlICsgc3JjX3V5dnkKICAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0xMDc5
LDggKzEwOTMsMTAgQEAgdm9pZCBVWVZZVG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfdXl2
eSwgaW50IHN0cmlkZV91eXZ5LAogfQogCiAvLyBGb3IgQkdSQVRvQVJHQiwgQUJHUlRvQVJHQiwg
UkdCQVRvQVJHQiwgYW5kIEFSR0JUb1JHQkEuCi12b2lkIEFSR0JTaHVmZmxlUm93X05FT04oY29u
c3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLCBpbnQgd2lkdGgpIHsKK3ZvaWQgQVJHQlNodWZm
bGVSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzaHVmZmxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNt
IHZvbGF0aWxlICgKICAgICBNRU1BQ0NFU1MoMykKICAgICAidmxkMS44ICAgICB7cTJ9LCBbJTNd
ICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBzaHVmZmxlcgpAQCAtMTEwNCw3ICsxMTIwLDgg
QEAgdm9pZCBBUkdCU2h1ZmZsZVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgq
IGRzdF9hcmdiLAogdm9pZCBJNDIyVG9ZVVkyUm93X05FT04oY29uc3QgdWludDgqIHNyY195LAog
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAogICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAotICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF95dXkyLCBpbnQgd2lkdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfeXV5MiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBh
c20gdm9sYXRpbGUgKAogICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKICAgICBNRU1BQ0NFU1MoMCkKQEAgLTExMzAsNyArMTE0Nyw4IEBAIHZvaWQgSTQy
MlRvWVVZMlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwKIHZvaWQgSTQyMlRvVVlWWVJvd19O
RU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfdSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXl2eSwgaW50IHdpZHRoKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3V5dnksCisgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgIjE6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgTUVNQUNDRVNTKDApCkBAIC0x
MTcxLDggKzExODksMTAgQEAgdm9pZCBBUkdCVG9SR0I1NjVSb3dfTkVPTihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiNTY1LCBpbnQgd2lkdGgpIHsKICAgKTsKIH0KIAotdm9p
ZCBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4
KiBkc3RfcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzIg
ZGl0aGVyNCwgaW50IHdpZHRoKSB7Cit2b2lkIEFSR0JUb1JHQjU2NURpdGhlclJvd19ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9yZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQz
MiBkaXRoZXI0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsK
ICAgYXNtIHZvbGF0aWxlICgKICAgICAidmR1cC4zMiAgICBkMiwgJTIgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyBkaXRoZXI0CiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgpAQCAtMTE5NCw3ICsxMjE0LDggQEAgdm9pZCBBUkdCVG9SR0I1
NjVEaXRoZXJSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLAog
ICApOwogfQogCi12b2lkIEFSR0JUb0FSR0IxNTU1Um93X05FT04oY29uc3QgdWludDgqIHNyY19h
cmdiLCB1aW50OCogZHN0X2FyZ2IxNTU1LAordm9pZCBBUkdCVG9BUkdCMTU1NVJvd19ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IxNTU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewog
ICBhc20gdm9sYXRpbGUgKAogICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKQEAgLTEyMTMsNyArMTIzNCw4IEBAIHZvaWQgQVJHQlRvQVJHQjE1NTVSb3df
TkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYjE1NTUsCiAgICk7CiB9
CiAKLXZvaWQgQVJHQlRvQVJHQjQ0NDRSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVp
bnQ4KiBkc3RfYXJnYjQ0NDQsCit2b2lkIEFSR0JUb0FSR0I0NDQ0Um93X05FT04oY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YjQ0NDQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2
b2xhdGlsZSAoCiAgICAgInZtb3YudTggICAgZDQsICMweDBmICAgICAgICAgICAgICAgICAgICAg
IFxuIiAgLy8gYml0cyB0byBjbGVhciB3aXRoIHZiaWMuCkBAIC0xMzAyLDcgKzEzMjQsOSBAQCB2
b2lkIEFSR0JUb1lKUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ks
IGludCB3aWR0aCkgewogfQogCiAvLyA4eDEgcGl4ZWxzLgotdm9pZCBBUkdCVG9VVjQ0NFJvd19O
RU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsCit2
b2lkIEFSR0JUb1VWNDQ0Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFz
bSB2b2xhdGlsZSAoCiAgICAgInZtb3YudTggICAgZDI0LCAjMTEyICAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgLy8gVUIgLyBWUiAwLjg3NSBjb2VmZmljaWVudApAQCAtMTM0MywyMSArMTM2Nywz
MCBAQCB2b2lkIEFSR0JUb1VWNDQ0Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50
OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwKIH0KIAogLy8gMTZ4MiBwaXhlbHMgLT4gOHgxLiAgd2lk
dGggaXMgbnVtYmVyIG9mIGFyZ2IgcGl4ZWxzLiBlLmcuIDE2LgotI2RlZmluZSBSR0JUT1VWKFFC
LCBRRywgUVIpIFwKLSAgICAidm11bC5zMTYgICBxOCwgIiAjUUIgIiwgcTEwICAgICAgICAgICAg
ICAgXG4iICAvKiBCICAgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgInZtbHMuczE2ICAgcTgs
ICIgI1FHICIsIHExMSAgICAgICAgICAgICAgIFxuIiAgLyogRyAgICAgICAgICAgICAgICAgICAg
Ki8gXAotICAgICJ2bWxzLnMxNiAgIHE4LCAiICNRUiAiLCBxMTIgICAgICAgICAgICAgICBcbiIg
IC8qIFIgICAgICAgICAgICAgICAgICAgICovIFwKLSAgICAidmFkZC51MTYgICBxOCwgcTgsIHEx
NSAgICAgICAgICAgICAgICAgICAgXG4iICAvKiArMTI4IC0+IHVuc2lnbmVkICAgICAqLyBcCi0g
ICAgInZtdWwuczE2ICAgcTksICIgI1FSICIsIHExMCAgICAgICAgICAgICAgIFxuIiAgLyogUiAg
ICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJ2bWxzLnMxNiAgIHE5LCAiICNRRyAiLCBxMTQg
ICAgICAgICAgICAgICBcbiIgIC8qIEcgICAgICAgICAgICAgICAgICAgICovIFwKLSAgICAidm1s
cy5zMTYgICBxOSwgIiAjUUIgIiwgcTEzICAgICAgICAgICAgICAgXG4iICAvKiBCICAgICAgICAg
ICAgICAgICAgICAqLyBcCi0gICAgInZhZGQudTE2ICAgcTksIHE5LCBxMTUgICAgICAgICAgICAg
ICAgICAgIFxuIiAgLyogKzEyOCAtPiB1bnNpZ25lZCAgICAgKi8gXAotICAgICJ2cXNocm4udTE2
ICBkMCwgcTgsICM4ICAgICAgICAgICAgICAgICAgICBcbiIgIC8qIDE2IGJpdCB0byA4IGJpdCBV
ICAgICovIFwKLSAgICAidnFzaHJuLnUxNiAgZDEsIHE5LCAjOCAgICAgICAgICAgICAgICAgICAg
XG4iICAvKiAxNiBiaXQgdG8gOCBiaXQgViAgICAqLworI2RlZmluZSBSR0JUT1VWKFFCLCBRRywg
UVIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
InZtdWwuczE2ICAgcTgsICIgI1FCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICIsIHExMCAgICAgICAgICAgICAgIFxuIiAvKiBCICAgICAg
ICAgICAgICAgICAgICAqLyAgICAgICAgICAgICAgICAgICAgICAgXAorICAidm1scy5zMTYgICBx
OCwgIiAjUUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgIiwgcTExICAgICAgICAgICAgICAgXG4iIC8qIEcgICAgICAgICAgICAgICAgICAg
ICovICAgICAgICAgICAgICAgICAgICAgICBcCisgICJ2bWxzLnMxNiAgIHE4LCAiICNRUiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAiLCBx
MTIgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgIC8qIFIgICAgICAgICAg
ICAgICAgICAgICovIFwKKyAgInZhZGQudTE2ICAgcTgsIHE4LCBxMTUgICAgICAgICAgICAgICAg
ICAgIFxuIiAvKiArMTI4IC0+IHVuc2lnbmVkICAgICAqLyBcCisgICJ2bXVsLnMxNiAgIHE5LCAi
ICNRUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAiLCBxMTAgICAgICAgICAgICAgICBcbiIgLyogUiAgICAgICAgICAgICAgICAgICAgKi8g
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgInZtbHMuczE2ICAgcTksICIgI1FHICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICIsIHExNCAg
ICAgICAgICAgICAgIFxuIiAvKiBHICAgICAgICAgICAgICAgICAgICAqLyAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAidm1scy5zMTYgICBxOSwgIiAjUUIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIiwgcTEzICAgICAgICAgICAgICAg
XG4iICAgICAgICAgICAgICAgICAgICAgICAvKiBCICAgICAgICAgICAgICAgICAgICAqLyBcCisg
ICJ2YWRkLnUxNiAgIHE5LCBxOSwgcTE1ICAgICAgICAgICAgICAgICAgICBcbiIgLyogKzEyOCAt
PiB1bnNpZ25lZCAgICAgKi8gXAorICAidnFzaHJuLnUxNiAgZDAsIHE4LCAjOCAgICAgICAgICAg
ICAgICAgICAgXG4iIC8qIDE2IGJpdCB0byA4IGJpdCBVICAgICovIFwKKyAgInZxc2hybi51MTYg
IGQxLCBxOSwgIzggICAgICAgICAgICAgICAgICAgIFxuIiAvKiAxNiBiaXQgdG8gOCBiaXQgViAg
ICAqLwogCiAvLyBUT0RPKGZiYXJjaGFyZCk6IENvbnNpZGVyIHZoYWRkIHZlcnRpY2FsLCB0aGVu
IHZwYWRkbCBob3Jpem9udGFsLCBhdm9pZCBzaHIuCi12b2lkIEFSR0JUb1VWUm93X05FT04oY29u
c3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKK3ZvaWQgQVJH
QlRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJhZGQgICAgICAgICUx
LCAlMCwgJTEgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHNyY19zdHJpZGUgKyBzcmNfYXJn
YgogICAgICJ2bW92LnMxNiAgIHExMCwgIzExMiAvIDIgICAgICAgICAgICAgICAgICBcbiIgIC8v
IFVCIC8gVlIgMC44NzUgY29lZmZpY2llbnQKQEAgLTE0MDUsOCArMTQzOCwxMSBAQCB2b2lkIEFS
R0JUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdi
LAogfQogCiAvLyBUT0RPKGZiYXJjaGFyZCk6IFN1YnNhbXBsZSBtYXRjaCBDIGNvZGUuCi12b2lk
IEFSR0JUb1VWSlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVf
YXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3Ys
IGludCB3aWR0aCkgewordm9pZCBBUkdCVG9VVkpSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2Fy
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZv
bGF0aWxlICgKICAgICAiYWRkICAgICAgICAlMSwgJTAsICUxICAgICAgICAgICAgICAgICAgICAg
XG4iICAvLyBzcmNfc3RyaWRlICsgc3JjX2FyZ2IKICAgICAidm1vdi5zMTYgICBxMTAsICMxMjcg
LyAyICAgICAgICAgICAgICAgICAgXG4iICAvLyBVQiAvIFZSIDAuNTAwIGNvZWZmaWNpZW50CkBA
IC0xNDUzLDggKzE0ODksMTEgQEAgdm9pZCBBUkdCVG9VVkpSb3dfTkVPTihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICk7CiB9CiAKLXZvaWQgQkdSQVRvVVZS
b3dfTkVPTihjb25zdCB1aW50OCogc3JjX2JncmEsIGludCBzcmNfc3RyaWRlX2JncmEsCi0gICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkg
ewordm9pZCBCR1JBVG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwKKyAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9iZ3JhLAorICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgImFk
ZCAgICAgICAgJTEsICUwLCAlMSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gc3JjX3N0cmlk
ZSArIHNyY19iZ3JhCiAgICAgInZtb3YuczE2ICAgcTEwLCAjMTEyIC8gMiAgICAgICAgICAgICAg
ICAgIFxuIiAgLy8gVUIgLyBWUiAwLjg3NSBjb2VmZmljaWVudApAQCAtMTUwMSw4ICsxNTQwLDEx
IEBAIHZvaWQgQkdSQVRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2JncmEsIGludCBzcmNf
c3RyaWRlX2JncmEsCiAgICk7CiB9CiAKLXZvaWQgQUJHUlRvVVZSb3dfTkVPTihjb25zdCB1aW50
OCogc3JjX2FiZ3IsIGludCBzcmNfc3RyaWRlX2FiZ3IsCi0gICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgewordm9pZCBBQkdSVG9VVlJv
d19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYWJnciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZV9hYmdyLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgImFkZCAgICAgICAgJTEsICUwLCAl
MSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gc3JjX3N0cmlkZSArIHNyY19hYmdyCiAgICAg
InZtb3YuczE2ICAgcTEwLCAjMTEyIC8gMiAgICAgICAgICAgICAgICAgIFxuIiAgLy8gVUIgLyBW
UiAwLjg3NSBjb2VmZmljaWVudApAQCAtMTU0OSw4ICsxNTkxLDExIEBAIHZvaWQgQUJHUlRvVVZS
b3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FiZ3IsIGludCBzcmNfc3RyaWRlX2FiZ3IsCiAgICk7
CiB9CiAKLXZvaWQgUkdCQVRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3JnYmEsIGludCBz
cmNfc3RyaWRlX3JnYmEsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50
OCogZHN0X3YsIGludCB3aWR0aCkgewordm9pZCBSR0JBVG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfcmdiYSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9yZ2JhLAor
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFz
bSB2b2xhdGlsZSAoCiAgICAgImFkZCAgICAgICAgJTEsICUwLCAlMSAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgLy8gc3JjX3N0cmlkZSArIHNyY19yZ2JhCiAgICAgInZtb3YuczE2ICAgcTEwLCAj
MTEyIC8gMiAgICAgICAgICAgICAgICAgIFxuIiAgLy8gVUIgLyBWUiAwLjg3NSBjb2VmZmljaWVu
dApAQCAtMTU5Nyw4ICsxNjQyLDExIEBAIHZvaWQgUkdCQVRvVVZSb3dfTkVPTihjb25zdCB1aW50
OCogc3JjX3JnYmEsIGludCBzcmNfc3RyaWRlX3JnYmEsCiAgICk7CiB9CiAKLXZvaWQgUkdCMjRU
b1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19yZ2IyNCwgaW50IHNyY19zdHJpZGVfcmdiMjQs
Ci0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQg
d2lkdGgpIHsKK3ZvaWQgUkdCMjRUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19yZ2IyNCwK
KyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfcmdiMjQsCisgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0
aWxlICgKICAgICAiYWRkICAgICAgICAlMSwgJTAsICUxICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvLyBzcmNfc3RyaWRlICsgc3JjX3JnYjI0CiAgICAgInZtb3YuczE2ICAgcTEwLCAjMTEyIC8g
MiAgICAgICAgICAgICAgICAgIFxuIiAgLy8gVUIgLyBWUiAwLjg3NSBjb2VmZmljaWVudApAQCAt
MTY0NSw4ICsxNjkzLDExIEBAIHZvaWQgUkdCMjRUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNy
Y19yZ2IyNCwgaW50IHNyY19zdHJpZGVfcmdiMjQsCiAgICk7CiB9CiAKLXZvaWQgUkFXVG9VVlJv
d19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCBpbnQgc3JjX3N0cmlkZV9yYXcsCi0gICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2
b2lkIFJBV1RvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3JhdywKKyAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3JhdywKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJhZGQgICAgICAgICUx
LCAlMCwgJTEgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHNyY19zdHJpZGUgKyBzcmNfcmF3
CiAgICAgInZtb3YuczE2ICAgcTEwLCAjMTEyIC8gMiAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
VUIgLyBWUiAwLjg3NSBjb2VmZmljaWVudApAQCAtMTY5NCw4ICsxNzQ1LDExIEBAIHZvaWQgUkFX
VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCBpbnQgc3JjX3N0cmlkZV9yYXcsCiB9
CiAKIC8vIDE2eDIgcGl4ZWxzIC0+IDh4MS4gIHdpZHRoIGlzIG51bWJlciBvZiBhcmdiIHBpeGVs
cy4gZS5nLiAxNi4KLXZvaWQgUkdCNTY1VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmdi
NTY1LCBpbnQgc3JjX3N0cmlkZV9yZ2I1NjUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2b2lkIFJHQjU2NVRvVVZSb3df
TkVPTihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfc3RyaWRlX3JnYjU2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJhZGQgICAgICAg
ICUxLCAlMCwgJTEgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHNyY19zdHJpZGUgKyBzcmNf
YXJnYgogICAgICJ2bW92LnMxNiAgIHExMCwgIzExMiAvIDIgICAgICAgICAgICAgICAgICBcbiIg
IC8vIFVCIC8gVlIgMC44NzUgY29lZmZpY2llbnQKQEAgLTE3NjMsOCArMTgxNywxMSBAQCB2b2lk
IFJHQjU2NVRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwgaW50IHNyY19zdHJp
ZGVfcmdiNTY1LAogfQogCiAvLyAxNngyIHBpeGVscyAtPiA4eDEuICB3aWR0aCBpcyBudW1iZXIg
b2YgYXJnYiBwaXhlbHMuIGUuZy4gMTYuCi12b2lkIEFSR0IxNTU1VG9VVlJvd19ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAotICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgewor
dm9pZCBBUkdCMTU1NVRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiMTU1NSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewog
ICBhc20gdm9sYXRpbGUgKAogICAgICJhZGQgICAgICAgICUxLCAlMCwgJTEgICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIHNyY19zdHJpZGUgKyBzcmNfYXJnYgogICAgICJ2bW92LnMxNiAgIHEx
MCwgIzExMiAvIDIgICAgICAgICAgICAgICAgICBcbiIgIC8vIFVCIC8gVlIgMC44NzUgY29lZmZp
Y2llbnQKQEAgLTE4MzIsOCArMTg4OSwxMSBAQCB2b2lkIEFSR0IxNTU1VG9VVlJvd19ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAogfQogCiAv
LyAxNngyIHBpeGVscyAtPiA4eDEuICB3aWR0aCBpcyBudW1iZXIgb2YgYXJnYiBwaXhlbHMuIGUu
Zy4gMTYuCi12b2lkIEFSR0I0NDQ0VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0
NDQsIGludCBzcmNfc3RyaWRlX2FyZ2I0NDQ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2b2lkIEFSR0I0NDQ0VG9V
VlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2I0NDQ0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAo
CiAgICAgImFkZCAgICAgICAgJTEsICUwLCAlMSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
c3JjX3N0cmlkZSArIHNyY19hcmdiCiAgICAgInZtb3YuczE2ICAgcTEwLCAjMTEyIC8gMiAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gVUIgLyBWUiAwLjg3NSBjb2VmZmljaWVudApAQCAtMjExMyw4
ICsyMTczLDEwIEBAIHZvaWQgUkFXVG9ZUm93X05FT04oY29uc3QgdWludDgqIHNyY19yYXcsIHVp
bnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CiAKIC8vIEJpbGluZWFyIGZpbHRlciAxNngyIC0+IDE2
eDEKIHZvaWQgSW50ZXJwb2xhdGVSb3dfTkVPTih1aW50OCogZHN0X3B0ciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHNvdXJjZV95X2Zy
YWN0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc291cmNlX3lfZnJhY3Rpb24pIHsKICAgaW50IHkxX2ZyYWN0aW9uID0gc291cmNlX3lf
ZnJhY3Rpb247CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgImNtcCAgICAgICAgJTQsICMwICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtMjE3OCw4ICsyMjQwLDEwIEBAIHZvaWQgSW50ZXJw
b2xhdGVSb3dfTkVPTih1aW50OCogZHN0X3B0ciwKIH0KIAogLy8gZHIgKiAoMjU2IC0gc2EpIC8g
MjU2ICsgc3IgPSBkciAtIGRyICogc2EgLyAyNTYgKyBzcgotdm9pZCBBUkdCQmxlbmRSb3dfTkVP
Tihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBBUkdC
QmxlbmRSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20g
dm9sYXRpbGUgKAogICAgICJzdWJzICAgICAgICUzLCAjOCAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKICAgICAiYmx0ICAgICAgICA4OWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CkBAIC0yMjY5LDggKzIzMzMsMTEgQEAgdm9pZCBBUkdCQXR0ZW51YXRlUm93X05FT04oY29uc3Qg
dWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewogCiAvLyBRdWFu
dGl6ZSA4IEFSR0IgcGl4ZWxzICgzMiBieXRlcykuCiAvLyBkc3QgPSAoZHN0ICogc2NhbGUgPj4g
MTYpICogaW50ZXJ2YWxfc2l6ZSArIGludGVydmFsX29mZnNldDsKLXZvaWQgQVJHQlF1YW50aXpl
Um93X05FT04odWludDgqIGRzdF9hcmdiLCBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9zaXplLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxfb2Zmc2V0LCBpbnQgd2lkdGgp
IHsKK3ZvaWQgQVJHQlF1YW50aXplUm93X05FT04odWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc2NhbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBpbnRlcnZhbF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxf
b2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZv
bGF0aWxlICgKICAgICAidmR1cC51MTYgICBxOCwgJTIgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCiAgICAgInZzaHIudTE2ICAgcTgsIHE4LCAjMSAgICAgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gc2NhbGUgPj49IDEKQEAgLTIzMTIsNyArMjM3OSw5IEBAIHZvaWQgQVJHQlF1YW50aXplUm93
X05FT04odWludDgqIGRzdF9hcmdiLCBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9zaXplLAogLy8g
U2hhZGUgOCBwaXhlbHMgYXQgYSB0aW1lIGJ5IHNwZWNpZmllZCB2YWx1ZS4KIC8vIE5PVEUgdnFy
ZG11bGguczE2IHExMCwgcTEwLCBkMFswXSBtdXN0IHVzZSBhIHNjYWxlciByZWdpc3RlciBmcm9t
IDAgdG8gOC4KIC8vIFJvdW5kaW5nIGluIHZxcmRtdWxoIGRvZXMgKzEgdG8gaGlnaCBpZiBoaWdo
IGJpdCBvZiBsb3cgczE2IGlzIHNldC4KLXZvaWQgQVJHQlNoYWRlUm93X05FT04oY29uc3QgdWlu
dDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCwKK3ZvaWQgQVJHQlNoYWRl
Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDMyIHZhbHVlKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAg
InZkdXAudTMyICAgcTAsICUzICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gZHVwbGlj
YXRlIHNjYWxlIHZhbHVlLgpAQCAtMjQyMSw4ICsyNDkwLDEwIEBAIHZvaWQgQVJHQlNlcGlhUm93
X05FT04odWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKIC8vIFRyYW5mb3JtIDggQVJHQiBw
aXhlbHMgKDMyIGJ5dGVzKSB3aXRoIGNvbG9yIG1hdHJpeC4KIC8vIFRPRE8oZmJhcmNoYXJkKTog
V2FzIHNhbWUgYXMgU2VwaWEgZXhjZXB0IG1hdHJpeCBpcyBwcm92aWRlZC4gIFRoaXMgZnVuY3Rp
b24KIC8vIG5lZWRzIHRvIHNhdHVyYXRlLiAgQ29uc2lkZXIgZG9pbmcgYSBub24tc2F0dXJhdGlu
ZyB2ZXJzaW9uLgotdm9pZCBBUkdCQ29sb3JNYXRyaXhSb3dfTkVPTihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgaW50OCogbWF0cml4X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBBUkdCQ29sb3JNYXRyaXhS
b3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
aW50OCogbWF0cml4X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgIE1FTUFDQ0VTUygzKQogICAgICJ2bGQxLjggICAg
IHtxMn0sIFslM10gICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGxvYWQgMyBBUkdCIHZlY3Rv
cnMuCkBAIC0yNDgyLDggKzI1NTMsMTAgQEAgdm9pZCBBUkdCQ29sb3JNYXRyaXhSb3dfTkVPTihj
b25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKIH0KIAogLy8gTXVsdGlwbHkg
MiByb3dzIG9mIEFSR0IgcGl4ZWxzIHRvZ2V0aGVyLCA4IHBpeGVscyBhdCBhIHRpbWUuCi12b2lk
IEFSR0JNdWx0aXBseVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwg
aW50IHdpZHRoKSB7Cit2b2lkIEFSR0JNdWx0aXBseVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgLy8gOCBw
aXhlbCBsb29wLgogICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKQEAgLTI1MTQsOCArMjU4NywxMCBAQCB2b2lkIEFSR0JNdWx0aXBseVJvd19ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCiB9CiAKIC8vIEFk
ZCAyIHJvd3Mgb2YgQVJHQiBwaXhlbHMgdG9nZXRoZXIsIDggcGl4ZWxzIGF0IGEgdGltZS4KLXZv
aWQgQVJHQkFkZFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYjEsCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0
aCkgewordm9pZCBBUkdCQWRkUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsK
ICAgYXNtIHZvbGF0aWxlICgKICAgICAvLyA4IHBpeGVsIGxvb3AuCiAgICIxOiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtMjU0MCw4ICsyNjE1LDEwIEBA
IHZvaWQgQVJHQkFkZFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjEsCiB9CiAKIC8vIFN1YnRyYWN0IDIgcm93cyBvZiBBUkdCIHBpeGVscywgOCBw
aXhlbHMgYXQgYSB0aW1lLgotdm9pZCBBUkdCU3VidHJhY3RSb3dfTkVPTihjb25zdCB1aW50OCog
c3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBBUkdCU3VidHJhY3RSb3df
TkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20g
dm9sYXRpbGUgKAogICAgIC8vIDggcGl4ZWwgbG9vcC4KICAgIjE6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0yNTcwLDggKzI2NDcsMTAgQEAgdm9pZCBB
UkdCU3VidHJhY3RSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCog
c3JjX2FyZ2IxLAogLy8gUiA9IFNvYmVsCiAvLyBHID0gU29iZWwKIC8vIEIgPSBTb2JlbAotdm9p
ZCBTb2JlbFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3Jj
X3NvYmVseSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRo
KSB7Cit2b2lkIFNvYmVsUm93X05FT04oY29uc3QgdWludDgqIHNyY19zb2JlbHgsCisgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19zb2JlbHksCisgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20g
dm9sYXRpbGUgKAogICAgICJ2bW92LnU4ICAgIGQzLCAjMjU1ICAgICAgICAgICAgICAgICAgICAg
ICBcbiIgIC8vIGFscGhhCiAgICAgLy8gOCBwaXhlbCBsb29wLgpAQCAtMjU5Nyw4ICsyNjc2LDEw
IEBAIHZvaWQgU29iZWxSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWlu
dDgqIHNyY19zb2JlbHksCiB9CiAKIC8vIEFkZHMgU29iZWwgWCBhbmQgU29iZWwgWSBhbmQgc3Rv
cmVzIFNvYmVsIGludG8gcGxhbmUuCi12b2lkIFNvYmVsVG9QbGFuZVJvd19ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKK3ZvaWQgU29iZWxUb1BsYW5l
Um93X05FT04oY29uc3QgdWludDgqIHNyY19zb2JlbHgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBh
c20gdm9sYXRpbGUgKAogICAgIC8vIDE2IHBpeGVsIGxvb3AuCiAgICIxOiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtMjYyNSw4ICsyNzA2LDEwIEBAIHZv
aWQgU29iZWxUb1BsYW5lUm93X05FT04oY29uc3QgdWludDgqIHNyY19zb2JlbHgsIGNvbnN0IHVp
bnQ4KiBzcmNfc29iZWx5LAogLy8gUiA9IFNvYmVsIFgKIC8vIEcgPSBTb2JlbAogLy8gQiA9IFNv
YmVsIFkKLXZvaWQgU29iZWxYWVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25z
dCB1aW50OCogc3JjX3NvYmVseSwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwgaW50IHdpZHRoKSB7Cit2b2lkIFNvYmVsWFlSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3Nv
YmVseCwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAorICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInZtb3YudTggICAgZDMsICMyNTUg
ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gYWxwaGEKICAgICAvLyA4IHBpeGVsIGxvb3Au
CkBAIC0yNjUzLDggKzI3MzYsMTEgQEAgdm9pZCBTb2JlbFhZUm93X05FT04oY29uc3QgdWludDgq
IHNyY19zb2JlbHgsIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAogLy8gLTEgIDAgIDEKIC8vIC0y
ICAwICAyCiAvLyAtMSAgMCAgMQotdm9pZCBTb2JlbFhSb3dfTkVPTihjb25zdCB1aW50OCogc3Jj
X3kwLCBjb25zdCB1aW50OCogc3JjX3kxLAotICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3kyLCB1aW50OCogZHN0X3NvYmVseCwgaW50IHdpZHRoKSB7Cit2b2lkIFNvYmVsWFJv
d19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeTAsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfeTEsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfeTIsCisg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rfc29iZWx4LAorICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgIjE6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgTUVNQUNDRVNTKDApCkBAIC0yNjk2LDgg
KzI3ODIsMTAgQEAgdm9pZCBTb2JlbFhSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3kwLCBjb25z
dCB1aW50OCogc3JjX3kxLAogLy8gLTEgLTIgLTEKIC8vICAwICAwICAwCiAvLyAgMSAgMiAgMQot
dm9pZCBTb2JlbFlSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3kwLCBjb25zdCB1aW50OCogc3Jj
X3kxLAotICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3NvYmVseSwgaW50IHdpZHRoKSB7
Cit2b2lkIFNvYmVsWVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeTAsCisgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfeTEsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3Rfc29iZWx5LAorICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0
aWxlICgKICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CiAgICAgTUVNQUNDRVNTKDApCkBAIC0yNzMzLDcgKzI4MjEsNjMgQEAgdm9pZCBTb2JlbFlSb3df
TkVPTihjb25zdCB1aW50OCogc3JjX3kwLCBjb25zdCB1aW50OCogc3JjX3kxLAogICA6ICJjYyIs
ICJtZW1vcnkiLCAicTAiLCAicTEiICAvLyBDbG9iYmVyIExpc3QKICAgKTsKIH0KLSNlbmRpZiAg
Ly8gZGVmaW5lZChfX0FSTV9ORU9OX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorCit2b2lk
IEhhbGZGbG9hdDFSb3dfTkVPTihjb25zdCB1aW50MTYqIHNyYywgdWludDE2KiBkc3QsIGZsb2F0
LCBpbnQgd2lkdGgpIHsKKyAgYXNtIHZvbGF0aWxlICgKKyAgICAidmR1cC4zMiAgICBxMCwgJTMg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgIjE6ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgTUVNQUNDRVNTKDApCisgICAgInZsZDEuOCAg
ICAge3ExfSwgWyUwXSEgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gbG9hZCA4IHNob3J0cwor
ICAgICJzdWJzICAgICAgICUyLCAlMiwgIzggICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIDgg
cGl4ZWxzIHBlciBsb29wCisgICAgInZtb3ZsLnUxNiAgcTIsIGQyICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIiAgLy8gOCBpbnQncworICAgICJ2bW92bC51MTYgIHEzLCBkMyAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAidmN2dC5mMzIudTMyICBxMiwgcTIgICAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyA4IGZsb2F0cworICAgICJ2Y3Z0LmYzMi51MzIgIHEzLCBxMyAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAidm11bC5mMzIgICBxMiwgcTIsIHEwICAgICAgICAg
ICAgICAgICAgICAgXG4iICAvLyBhZGp1c3QgZXhwb25lbnQKKyAgICAidm11bC5mMzIgICBxMywg
cTMsIHEwICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgInZxc2hybi51MzIgZDIsIHEyLCAj
MTMgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gaXNvbGF0ZSBoYWxmZmxvYXQKKyAgICAidnFz
aHJuLnUzMiBkMywgcTMsICMxMyAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgTUVNQUNDRVNT
KDEpCisgICAgInZzdDEuOCAgICAge3ExfSwgWyUxXSEgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICJiZ3QgICAgICAgIDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgOiAi
K3IiKHNyYyksICAgIC8vICUwCisgICAgIityIihkc3QpLCAgICAvLyAlMQorICAgICIrciIod2lk
dGgpICAgLy8gJTIKKyAgOiAiciIoMS45MjU5Mjk5NDQ0ZS0zNGYpICAgIC8vICUzCisgIDogImNj
IiwgIm1lbW9yeSIsICJxMCIsICJxMSIsICJxMiIsICJxMyIKKyAgKTsKK30KKworLy8gVE9ETyhm
YmFyY2hhcmQpOiBtdWx0aXBseSBieSBlbGVtZW50Lgordm9pZCBIYWxmRmxvYXRSb3dfTkVPTihj
b25zdCB1aW50MTYqIHNyYywgdWludDE2KiBkc3QsIGZsb2F0IHNjYWxlLCBpbnQgd2lkdGgpIHsK
KyAgYXNtIHZvbGF0aWxlICgKKyAgICAidmR1cC4zMiAgICBxMCwgJTMgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisKKyAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgTUVNQUNDRVNTKDApCisgICAgInZsZDEuOCAgICAge3ExfSwgWyUwXSEg
ICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gbG9hZCA4IHNob3J0cworICAgICJzdWJzICAgICAg
ICUyLCAlMiwgIzggICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIDggcGl4ZWxzIHBlciBsb29w
CisgICAgInZtb3ZsLnUxNiAgcTIsIGQyICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
OCBpbnQncworICAgICJ2bW92bC51MTYgIHEzLCBkMyAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKKyAgICAidmN2dC5mMzIudTMyICBxMiwgcTIgICAgICAgICAgICAgICAgICAgICAgXG4iICAv
LyA4IGZsb2F0cworICAgICJ2Y3Z0LmYzMi51MzIgIHEzLCBxMyAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAidm11bC5mMzIgICBxMiwgcTIsIHEwICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvLyBhZGp1c3QgZXhwb25lbnQKKyAgICAidm11bC5mMzIgICBxMywgcTMsIHEwICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgInZxc2hybi51MzIgZDIsIHEyLCAjMTMgICAgICAgICAgICAg
ICAgICAgIFxuIiAgLy8gaXNvbGF0ZSBoYWxmZmxvYXQKKyAgICAidnFzaHJuLnUzMiBkMywgcTMs
ICMxMyAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgTUVNQUNDRVNTKDEpCisgICAgInZzdDEu
OCAgICAge3ExfSwgWyUxXSEgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICJiZ3QgICAgICAg
IDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgOiAiK3IiKHNyYyksICAgIC8v
ICUwCisgICAgIityIihkc3QpLCAgICAvLyAlMQorICAgICIrciIod2lkdGgpICAgLy8gJTIKKyAg
OiAiciIoc2NhbGUgKiAxLjkyNTkyOTk0NDRlLTM0ZikgICAgLy8gJTMKKyAgOiAiY2MiLCAibWVt
b3J5IiwgInEwIiwgInExIiwgInEyIiwgInEzIgorICApOworfQorCisjZW5kaWYgIC8vICFkZWZp
bmVkKExJQllVVl9ESVNBQkxFX05FT04pICYmIGRlZmluZWQoX19BUk1fTkVPTl9fKS4uCiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwogfSAgLy8gZXh0ZXJuICJDIgpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Jvd19u
ZW9uNjQuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di9zb3VyY2Uvcm93X25lb242NC5jYwppbmRleCAzZDEyMjY4MGVjNTVhYzdhZGI1NTBl
ZmY1N2MxNGE1Mzk0OGFjMTA1Li5lYmQ2ODVlNDQ5ODQ2YjNiZDY4Y2EyNjdhZjNjODEyZGFlMjU5
NTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93X25lb242NC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93X25lb242NC5j
YwpAQCAtMTksMTggKzE5LDE4IEBAIGV4dGVybiAiQyIgewogI2lmICFkZWZpbmVkKExJQllVVl9E
SVNBQkxFX05FT04pICYmIGRlZmluZWQoX19hYXJjaDY0X18pCiAKIC8vIFJlYWQgOCBZLCA0IFUg
YW5kIDQgViBmcm9tIDQyMgotI2RlZmluZSBSRUFEWVVWNDIyICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBNRU1BQ0NFU1Mo
MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgImxkMSAgICAgICAge3YwLjhifSwgWyUwXSwgIzggICAgICAgICAgICAg
IFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBSRUFEWVVWNDIyIFwK
KyAgTUVNQUNDRVNTKDApICAgICBcCisgICJsZDEgICAgICAgIHt2MC44Yn0sIFslMF0sICM4ICAg
ICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBNRU1BQ0NF
U1MoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgImxkMSAgICAgICAge3YxLnN9WzBdLCBbJTFdLCAjNCAgICAgICAg
ICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIE1FTUFDQ0VTUygyKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICAibGQxICAgICAgICB7djEuc31bMV0sIFslMl0sICM0ICAgICAgICAgICAgXG4i
CiAKIC8vIFJlYWQgOCBZLCA4IFUgYW5kIDggViBmcm9tIDQ0NAotI2RlZmluZSBSRUFEWVVWNDQ0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBNRU1BQ0NFU1MoMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgImxkMSAgICAgICAge3YwLjhifSwg
WyUwXSwgIzggICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
I2RlZmluZSBSRUFEWVVWNDQ0IFwKKyAgTUVNQUNDRVNTKDApICAgICBcCisgICJsZDEgICAgICAg
IHt2MC44Yn0sIFslMF0sICM4ICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKICAgICBNRU1BQ0NFU1MoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgImxkMSAgICAgICAge3YxLmR9
WzBdLCBbJTFdLCAjOCAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIE1FTUFDQ0VTUygyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTM5LDE1ICszOSwxNSBAQCBleHRlcm4gIkMi
IHsKICAgICAicnNocm4gICAgICB2MS44YiwgdjEuOGgsICMxICAgICAgICAgICAgICAgXG4iCiAK
IC8vIFJlYWQgOCBZLCBhbmQgc2V0IDQgVSBhbmQgNCBWIHRvIDEyOAotI2RlZmluZSBSRUFEWVVW
NDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBNRU1BQ0NFU1MoMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgImxkMSAgICAgICAge3YwLjhi
fSwgWyUwXSwgIzggICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICJtb3ZpICAgICAgIHYxLjhiICwgIzEyOCAgICAgICAgICAgICAgICAgICBcbiIKKyNk
ZWZpbmUgUkVBRFlVVjQwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIE1FTUFD
Q0VTUygwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAibGQxICAgICAg
ICB7djAuOGJ9LCBbJTBdLCAjOCAgICAgICAgICAgICAgXG4iIFwKKyAgIm1vdmkgICAgICAgdjEu
OGIgLCAjMTI4ICAgICAgICAgICAgICAgICAgIFxuIgogCiAvLyBSZWFkIDggWSBhbmQgNCBVViBm
cm9tIE5WMTIKLSNkZWZpbmUgUkVBRE5WMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgTUVNQUNDRVNTKDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICJsZDEgICAgICAgIHt2MC44Yn0sIFslMF0sICM4ICAgICAgICAgICAgICBcbiIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgUkVBRE5WMTIgXAorICBNRU1BQ0NF
U1MoMCkgICBcCisgICJsZDEgICAgICAgIHt2MC44Yn0sIFslMF0sICM4ICAgICAgICAgICAgICBc
biIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBNRU1BQ0NFU1MoMSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgImxkMSAgICAgICAge3YyLjhifSwgWyUxXSwgIzggICAgICAgICAgICAgIFxuIiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICJ1enAxICAgICAgIHYxLjhiLCB2Mi44Yiwg
djIuOGIgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTU1
LDkgKzU1LDkgQEAgZXh0ZXJuICJDIiB7CiAgICAgImlucyAgICAgICAgdjEuc1sxXSwgdjMuc1sw
XSAgICAgICAgICAgICAgIFxuIgogCiAvLyBSZWFkIDggWSBhbmQgNCBWVSBmcm9tIE5WMjEKLSNk
ZWZpbmUgUkVBRE5WMjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgTUVNQUNDRVNTKDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJsZDEg
ICAgICAgIHt2MC44Yn0sIFslMF0sICM4ICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyNkZWZpbmUgUkVBRE5WMjEgXAorICBNRU1BQ0NFU1MoMCkgICBcCisg
ICJsZDEgICAgICAgIHt2MC44Yn0sIFslMF0sICM4ICAgICAgICAgICAgICBcbiIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICBNRU1BQ0NFU1MoMSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgImxkMSAg
ICAgICAge3YyLjhifSwgWyUxXSwgIzggICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICAgICJ1enAxICAgICAgIHYzLjhiLCB2Mi44YiwgdjIuOGIgICAgICAg
ICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTY1LDU3ICs2NSw2NSBA
QCBleHRlcm4gIkMiIHsKICAgICAiaW5zICAgICAgICB2MS5zWzFdLCB2My5zWzBdICAgICAgICAg
ICAgICAgXG4iCiAKIC8vIFJlYWQgOCBZVVkyCi0jZGVmaW5lIFJFQURZVVkyICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IE1FTUFDQ0VTUygwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAibGQyICAgICAgICB7djAuOGIsIHYxLjhifSwgWyUw
XSwgIzE2ICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInV6cDIg
ICAgICAgdjMuOGIsIHYxLjhiLCB2MS44YiAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICJ1enAxICAgICAgIHYxLjhiLCB2MS44YiwgdjEuOGIgICAgICAg
ICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiaW5zICAgICAgICB2
MS5zWzFdLCB2My5zWzBdICAgICAgICAgICAgICAgXG4iCisjZGVmaW5lIFJFQURZVVkyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBNRU1BQ0NFU1MoMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgImxkMiAgICAgICAge3YwLjhiLCB2MS44Yn0sIFsl
MF0sICMxNiAgICAgIFxuIiBcCisgICJ1enAyICAgICAgIHYzLjhiLCB2MS44YiwgdjEuOGIgICAg
ICAgICAgICBcbiIgXAorICAidXpwMSAgICAgICB2MS44YiwgdjEuOGIsIHYxLjhiICAgICAgICAg
ICAgXG4iIFwKKyAgImlucyAgICAgICAgdjEuc1sxXSwgdjMuc1swXSAgICAgICAgICAgICAgIFxu
IgogCiAvLyBSZWFkIDggVVlWWQotI2RlZmluZSBSRUFEVVlWWSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBNRU1BQ0NF
U1MoMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgImxkMiAgICAgICAge3YyLjhiLCB2My44Yn0sIFslMF0sICMxNiAg
ICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJvcnIgICAgICAgIHYw
LjhiLCB2My44YiwgdjMuOGIgICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAidXpwMSAgICAgICB2MS44YiwgdjIuOGIsIHYyLjhiICAgICAgICAgICAgXG4i
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInV6cDIgICAgICAgdjMuOGIsIHYy
LjhiLCB2Mi44YiAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICJpbnMgICAgICAgIHYxLnNbMV0sIHYzLnNbMF0gICAgICAgICAgICAgICBcbiIKLQotI2Rl
ZmluZSBZVVZUT1JHQl9TRVRVUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAibGQxciAgICAgICB7djI0LjhofSwgWyVba1VWQmlh
c0JHUl1dLCAjMiAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgImxkMXIg
ICAgICAge3YyNS44aH0sIFslW2tVVkJpYXNCR1JdXSwgIzIgIFxuIiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICJsZDFyICAgICAgIHt2MjYuOGh9LCBbJVtrVVZCaWFzQkdSXV0g
ICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAibGQxciAgICAgICB7
djMxLjRzfSwgWyVba1lUb1JnYl1dICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgImxkMiAgICAgICAge3YyNy44aCwgdjI4LjhofSwgWyVba1VWVG9SQl1dIFxu
IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJsZDIgICAgICAgIHt2MjkuOGgs
IHYzMC44aH0sIFslW2tVVlRvR11dICBcbiIKLQotI2RlZmluZSBZVVZUT1JHQih2UiwgdkcsIHZC
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAidXh0bCAgICAgICB2MC44aCwgdjAuOGIgICAgICAgICAgICAgICAgICAgXG4iIC8qIEV4dHJh
Y3QgWSAgICAqLyAgICAgICAgICBcCi0gICAgInNobGwgICAgICAgdjIuOGgsIHYxLjhiLCAjOCAg
ICAgICAgICAgICAgIFxuIiAvKiBSZXBsaWNhdGUgVVYgKi8gICAgICAgICAgXAotICAgICJ1c2hs
bDIgICAgIHYzLjRzLCB2MC44aCwgIzAgICAgICAgICAgICAgICBcbiIgLyogWSAqLyAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAidXNobGwgICAgICB2MC40cywgdjAuNGgsICMwICAgICAgICAg
ICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIm11bCAgICAgICAg
djMuNHMsIHYzLjRzLCB2MzEuNHMgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICJtdWwgICAgICAgIHYwLjRzLCB2MC40cywgdjMxLjRzICAgICAgICAgICBc
biIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAic3FzaHJ1biAgICB2MC40aCwg
djAuNHMsICMxNiAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgInNxc2hydW4yICAgdjAuOGgsIHYzLjRzLCAjMTYgICAgICAgICAgICAgIFxuIiAvKiBZ
ICovICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ1YWRkdyAgICAgIHYxLjhoLCB2Mi44aCwg
djEuOGIgICAgICAgICAgICBcbiIgLyogUmVwbGljYXRlIFVWICovICAgICAgICAgIFwKLSAgICAi
bW92ICAgICAgICB2Mi5kWzBdLCB2MS5kWzFdICAgICAgICAgICAgICAgXG4iIC8qIEV4dHJhY3Qg
ViAqLyAgICAgICAgICAgICBcCi0gICAgInV4dGwgICAgICAgdjIuOGgsIHYyLjhiICAgICAgICAg
ICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ1eHRsICAg
ICAgIHYxLjhoLCB2MS44YiAgICAgICAgICAgICAgICAgICBcbiIgLyogRXh0cmFjdCBVICovICAg
ICAgICAgICAgIFwKLSAgICAibXVsICAgICAgICB2My44aCwgdjEuOGgsIHYyNy44aCAgICAgICAg
ICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIm11bCAgICAgICAgdjUu
OGgsIHYxLjhoLCB2MjkuOGggICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICJtdWwgICAgICAgIHY2LjhoLCB2Mi44aCwgdjMwLjhoICAgICAgICAgICBcbiIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAibXVsICAgICAgICB2Ny44aCwgdjIu
OGgsIHYyOC44aCAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgInNxYWRkICAgICAgdjYuOGgsIHY2LjhoLCB2NS44aCAgICAgICAgICAgIFxuIiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICJzcWFkZCAgICAgICIgI3ZCICIuOGgsIHYyNC44
aCwgdjAuOGggICAgICBcbiIgLyogQiAqLyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAic3Fh
ZGQgICAgICAiICN2RyAiLjhoLCB2MjUuOGgsIHYwLjhoICAgICAgXG4iIC8qIEcgKi8gICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgInNxYWRkICAgICAgIiAjdlIgIi44aCwgdjI2LjhoLCB2MC44
aCAgICAgIFxuIiAvKiBSICovICAgICAgICAgICAgICAgICAgICAgXAotICAgICJzcWFkZCAgICAg
ICIgI3ZCICIuOGgsICIgI3ZCICIuOGgsIHYzLjhoICBcbiIgLyogQiAqLyAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAic3FzdWIgICAgICAiICN2RyAiLjhoLCAiICN2RyAiLjhoLCB2Ni44aCAg
XG4iIC8qIEcgKi8gICAgICAgICAgICAgICAgICAgICBcCi0gICAgInNxYWRkICAgICAgIiAjdlIg
Ii44aCwgIiAjdlIgIi44aCwgdjcuOGggIFxuIiAvKiBSICovICAgICAgICAgICAgICAgICAgICAg
XAotICAgICJzcXNocnVuICAgICIgI3ZCICIuOGIsICIgI3ZCICIuOGgsICM2ICAgICBcbiIgLyog
QiAqLyAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAic3FzaHJ1biAgICAiICN2RyAiLjhiLCAi
ICN2RyAiLjhoLCAjNiAgICAgXG4iIC8qIEcgKi8gICAgICAgICAgICAgICAgICAgICBcCi0gICAg
InNxc2hydW4gICAgIiAjdlIgIi44YiwgIiAjdlIgIi44aCwgIzYgICAgIFxuIiAvKiBSICovICAg
ICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBSRUFEVVlWWSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgTUVNQUNDRVNTKDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICJsZDIgICAgICAgIHt2Mi44YiwgdjMuOGJ9LCBbJTBdLCAjMTYgICAgICBc
biIgXAorICAib3JyICAgICAgICB2MC44YiwgdjMuOGIsIHYzLjhiICAgICAgICAgICAgXG4iIFwK
KyAgInV6cDEgICAgICAgdjEuOGIsIHYyLjhiLCB2Mi44YiAgICAgICAgICAgIFxuIiBcCisgICJ1
enAyICAgICAgIHYzLjhiLCB2Mi44YiwgdjIuOGIgICAgICAgICAgICBcbiIgXAorICAiaW5zICAg
ICAgICB2MS5zWzFdLCB2My5zWzBdICAgICAgICAgICAgICAgXG4iCisKKyNkZWZpbmUgWVVWVE9S
R0JfU0VUVVAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJsZDFyICAgICAgIHt2MjQu
OGh9LCBbJVtrVVZCaWFzQkdSXV0sICMyICBcbiIgXAorICAibGQxciAgICAgICB7djI1LjhofSwg
WyVba1VWQmlhc0JHUl1dLCAjMiAgXG4iIFwKKyAgImxkMXIgICAgICAge3YyNi44aH0sIFslW2tV
VkJpYXNCR1JdXSAgICAgIFxuIiBcCisgICJsZDFyICAgICAgIHt2MzEuNHN9LCBbJVtrWVRvUmdi
XV0gICAgICAgICBcbiIgXAorICAibGQyICAgICAgICB7djI3LjhoLCB2MjguOGh9LCBbJVtrVVZU
b1JCXV0gXG4iIFwKKyAgImxkMiAgICAgICAge3YyOS44aCwgdjMwLjhofSwgWyVba1VWVG9HXV0g
IFxuIgorCisjZGVmaW5lIFlVVlRPUkdCKHZSLCB2RywgdkIpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgInV4dGwgICAgICAgdjAuOGgsIHYwLjhiICAgICAgICAg
ICAgICAgICAgIFxuIiAvKiBFeHRyYWN0IFkgICAgKi8gXAorICAic2hsbCAgICAgICB2Mi44aCwg
djEuOGIsICM4ICAgICAgICAgICAgICAgXG4iIC8qIFJlcGxpY2F0ZSBVViAqLyBcCisgICJ1c2hs
bDIgICAgIHYzLjRzLCB2MC44aCwgIzAgICAgICAgICAgICAgICBcbiIgLyogWSAqLyAgICAgICAg
ICAgIFwKKyAgInVzaGxsICAgICAgdjAuNHMsIHYwLjRoLCAjMCAgICAgICAgICAgICAgIFxuIiAg
ICAgICAgICAgICAgICAgICAgXAorICAibXVsICAgICAgICB2My40cywgdjMuNHMsIHYzMS40cyAg
ICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICBcCisgICJtdWwgICAgICAgIHYwLjRzLCB2
MC40cywgdjMxLjRzICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAgIFwKKyAgInNxc2hy
dW4gICAgdjAuNGgsIHYwLjRzLCAjMTYgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICAgICAg
ICAgXAorICAic3FzaHJ1bjIgICB2MC44aCwgdjMuNHMsICMxNiAgICAgICAgICAgICAgXG4iIC8q
IFkgKi8gICAgICAgICAgICBcCisgICJ1YWRkdyAgICAgIHYxLjhoLCB2Mi44aCwgdjEuOGIgICAg
ICAgICAgICBcbiIgLyogUmVwbGljYXRlIFVWICovIFwKKyAgIm1vdiAgICAgICAgdjIuZFswXSwg
djEuZFsxXSAgICAgICAgICAgICAgIFxuIiAvKiBFeHRyYWN0IFYgKi8gICAgXAorICAidXh0bCAg
ICAgICB2Mi44aCwgdjIuOGIgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAg
ICBcCisgICJ1eHRsICAgICAgIHYxLjhoLCB2MS44YiAgICAgICAgICAgICAgICAgICBcbiIgLyog
RXh0cmFjdCBVICovICAgIFwKKyAgIm11bCAgICAgICAgdjMuOGgsIHYxLjhoLCB2MjcuOGggICAg
ICAgICAgIFxuIiAgICAgICAgICAgICAgICAgICAgXAorICAibXVsICAgICAgICB2NS44aCwgdjEu
OGgsIHYyOS44aCAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICBcCisgICJtdWwgICAg
ICAgIHY2LjhoLCB2Mi44aCwgdjMwLjhoICAgICAgICAgICBcbiIgICAgICAgICAgICAgICAgICAg
IFwKKyAgIm11bCAgICAgICAgdjcuOGgsIHYyLjhoLCB2MjguOGggICAgICAgICAgIFxuIiAgICAg
ICAgICAgICAgICAgICAgXAorICAic3FhZGQgICAgICB2Ni44aCwgdjYuOGgsIHY1LjhoICAgICAg
ICAgICAgXG4iICAgICAgICAgICAgICAgICAgICBcCisgICJzcWFkZCAgICAgICIgI3ZCICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIi44aCwgdjI0
LjhoLCB2MC44aCAgICAgIFxuIiAvKiBCICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAic3FhZGQgICAgICAiICN2RyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICIuOGgsIHYyNS44aCwgdjAuOGggICAgICBcbiIgLyogRyAqLyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgInNxYWRkICAgICAgIiAjdlIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAiLjhoLCB2MjYu
OGgsIHYwLjhoICAgICAgXG4iIC8qIFIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICJzcWFkZCAgICAgICIgI3ZCICIuOGgsICIgI3ZCICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgIi44aCwgdjMuOGggIFxuIiAvKiBCICovICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAic3FzdWIgICAgICAiICN2RyAiLjhoLCAi
ICN2RyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICIuOGgsIHY2Ljho
ICBcbiIgLyogRyAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgInNxYWRkICAgICAgIiAjdlIgIi44aCwgIiAjdlIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAiLjhoLCB2Ny44aCAgXG4iIC8qIFIgKi8gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJzcXNocnVuICAgICIgI3ZCICIuOGIsICIg
I3ZCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIi44aCwgIzYgICAg
IFxuIiAvKiBCICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAic3FzaHJ1biAgICAiICN2RyAiLjhiLCAiICN2RyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICIuOGgsICM2ICAgICBcbiIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLyogRyAqLyAgICAgICAgICAgIFwKKyAgInNxc2hydW4gICAgIiAjdlIgIi44YiwgIiAj
dlIgIi44aCwgIzYgICAgIFxuIiAvKiBSICovCiAKIHZvaWQgSTQ0NFRvQVJHQlJvd19ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfdSwKQEAgLTI2OSwxMiArMjc3LDEyIEBAIHZvaWQgSTQyMlRvUkdCMjRSb3dfTkVPTihjb25z
dCB1aW50OCogc3JjX3ksCiAgICk7CiB9CiAKLSNkZWZpbmUgQVJHQlRPUkdCNTY1ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
InNobGwgICAgICAgdjAuOGgsICB2MjIuOGIsICM4ICAgICAgICAgICAgIFxuIiAgLyogUiAgICAg
ICAgICAgICAgICAgICAgKi8gXAotICAgICJzaGxsICAgICAgIHYyMS44aCwgdjIxLjhiLCAjOCAg
ICAgICAgICAgICBcbiIgIC8qIEcgICAgICAgICAgICAgICAgICAgICovIFwKLSAgICAic2hsbCAg
ICAgICB2MjAuOGgsIHYyMC44YiwgIzggICAgICAgICAgICAgXG4iICAvKiBCICAgICAgICAgICAg
ICAgICAgICAqLyBcCi0gICAgInNyaSAgICAgICAgdjAuOGgsICB2MjEuOGgsICM1ICAgICAgICAg
ICAgIFxuIiAgLyogUkcgICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJzcmkgICAgICAgIHYw
LjhoLCAgdjIwLjhoLCAjMTEgICAgICAgICAgICBcbiIgIC8qIFJHQiAgICAgICAgICAgICAgICAg
ICovCisjZGVmaW5lIEFSR0JUT1JHQjU2NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAic2hsbCAgICAgICB2MC44aCwgIHYyMi44Yiwg
IzggICAgICAgICAgICAgXG4iIC8qIFIgICAgICAgICAgICAgICAgICAgICovIFwKKyAgInNobGwg
ICAgICAgdjIxLjhoLCB2MjEuOGIsICM4ICAgICAgICAgICAgIFxuIiAvKiBHICAgICAgICAgICAg
ICAgICAgICAqLyBcCisgICJzaGxsICAgICAgIHYyMC44aCwgdjIwLjhiLCAjOCAgICAgICAgICAg
ICBcbiIgLyogQiAgICAgICAgICAgICAgICAgICAgKi8gXAorICAic3JpICAgICAgICB2MC44aCwg
IHYyMS44aCwgIzUgICAgICAgICAgICAgXG4iIC8qIFJHICAgICAgICAgICAgICAgICAgICovIFwK
KyAgInNyaSAgICAgICAgdjAuOGgsICB2MjAuOGgsICMxMSAgICAgICAgICAgIFxuIiAvKiBSR0Ig
ICAgICAgICAgICAgICAgICAqLwogCiB2b2lkIEk0MjJUb1JHQjU2NVJvd19ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191
LApAQCAtMzA2LDE0ICszMTQsMTQgQEAgdm9pZCBJNDIyVG9SR0I1NjVSb3dfTkVPTihjb25zdCB1
aW50OCogc3JjX3ksCiAgICk7CiB9CiAKLSNkZWZpbmUgQVJHQlRPQVJHQjE1NTUgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInNo
bGwgICAgICAgdjAuOGgsICB2MjMuOGIsICM4ICAgICAgICAgICAgIFxuIiAgLyogQSAgICAgICAg
ICAgICAgICAgICAgKi8gXAotICAgICJzaGxsICAgICAgIHYyMi44aCwgdjIyLjhiLCAjOCAgICAg
ICAgICAgICBcbiIgIC8qIFIgICAgICAgICAgICAgICAgICAgICovIFwKLSAgICAic2hsbCAgICAg
ICB2MjEuOGgsIHYyMS44YiwgIzggICAgICAgICAgICAgXG4iICAvKiBHICAgICAgICAgICAgICAg
ICAgICAqLyBcCi0gICAgInNobGwgICAgICAgdjIwLjhoLCB2MjAuOGIsICM4ICAgICAgICAgICAg
IFxuIiAgLyogQiAgICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJzcmkgICAgICAgIHYwLjho
LCAgdjIyLjhoLCAjMSAgICAgICAgICAgICBcbiIgIC8qIEFSICAgICAgICAgICAgICAgICAgICov
IFwKLSAgICAic3JpICAgICAgICB2MC44aCwgIHYyMS44aCwgIzYgICAgICAgICAgICAgXG4iICAv
KiBBUkcgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgInNyaSAgICAgICAgdjAuOGgsICB2MjAu
OGgsICMxMSAgICAgICAgICAgIFxuIiAgLyogQVJHQiAgICAgICAgICAgICAgICAgKi8KKyNkZWZp
bmUgQVJHQlRPQVJHQjE1NTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICJzaGxsICAgICAgIHYwLjhoLCAgdjIzLjhiLCAjOCAgICAgICAg
ICAgICBcbiIgLyogQSAgICAgICAgICAgICAgICAgICAgKi8gXAorICAic2hsbCAgICAgICB2MjIu
OGgsIHYyMi44YiwgIzggICAgICAgICAgICAgXG4iIC8qIFIgICAgICAgICAgICAgICAgICAgICov
IFwKKyAgInNobGwgICAgICAgdjIxLjhoLCB2MjEuOGIsICM4ICAgICAgICAgICAgIFxuIiAvKiBH
ICAgICAgICAgICAgICAgICAgICAqLyBcCisgICJzaGxsICAgICAgIHYyMC44aCwgdjIwLjhiLCAj
OCAgICAgICAgICAgICBcbiIgLyogQiAgICAgICAgICAgICAgICAgICAgKi8gXAorICAic3JpICAg
ICAgICB2MC44aCwgIHYyMi44aCwgIzEgICAgICAgICAgICAgXG4iIC8qIEFSICAgICAgICAgICAg
ICAgICAgICovIFwKKyAgInNyaSAgICAgICAgdjAuOGgsICB2MjEuOGgsICM2ICAgICAgICAgICAg
IFxuIiAvKiBBUkcgICAgICAgICAgICAgICAgICAqLyBcCisgICJzcmkgICAgICAgIHYwLjhoLCAg
djIwLjhoLCAjMTEgICAgICAgICAgICBcbiIgLyogQVJHQiAgICAgICAgICAgICAgICAgKi8KIAog
dm9pZCBJNDIyVG9BUkdCMTU1NVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCkBAIC0zNDYsMTUgKzM1NCwx
NSBAQCB2b2lkIEk0MjJUb0FSR0IxNTU1Um93X05FT04oY29uc3QgdWludDgqIHNyY195LAogICAp
OwogfQogCi0jZGVmaW5lIEFSR0JUT0FSR0I0NDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC8qIElucHV0IHYyMC44Yjw9Qiwg
djIxLjhiPD1HLCB2MjIuOGI8PVIsIHYyMy44Yjw9QSwgdjQuOGI8PTB4MGYgICAgICAgICovIFwK
LSAgICAidXNociAgICAgICB2MjAuOGIsIHYyMC44YiwgIzQgICAgICAgICAgICAgXG4iICAvKiBC
ICAgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgImJpYyAgICAgICAgdjIxLjhiLCB2MjEuOGIs
IHY0LjhiICAgICAgICAgIFxuIiAgLyogRyAgICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJ1
c2hyICAgICAgIHYyMi44YiwgdjIyLjhiLCAjNCAgICAgICAgICAgICBcbiIgIC8qIFIgICAgICAg
ICAgICAgICAgICAgICovIFwKLSAgICAiYmljICAgICAgICB2MjMuOGIsIHYyMy44YiwgdjQuOGIg
ICAgICAgICAgXG4iICAvKiBBICAgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgIm9yciAgICAg
ICAgdjAuOGIsICB2MjAuOGIsIHYyMS44YiAgICAgICAgIFxuIiAgLyogQkcgICAgICAgICAgICAg
ICAgICAgKi8gXAotICAgICJvcnIgICAgICAgIHYxLjhiLCAgdjIyLjhiLCB2MjMuOGIgICAgICAg
ICBcbiIgIC8qIFJBICAgICAgICAgICAgICAgICAgICovIFwKLSAgICAiemlwMSAgICAgICB2MC4x
NmIsIHYwLjE2YiwgdjEuMTZiICAgICAgICAgXG4iICAvKiBCR1JBICAgICAgICAgICAgICAgICAq
LworI2RlZmluZSBBUkdCVE9BUkdCNDQ0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgIC8qIElucHV0IHYyMC44Yjw9QiwgdjIxLjhiPD1H
LCB2MjIuOGI8PVIsIHYyMy44Yjw9QSwgdjQuOGI8PTB4MGYgICAgICAgICovIFwKKyAgInVzaHIg
ICAgICAgdjIwLjhiLCB2MjAuOGIsICM0ICAgICAgICAgICAgIFxuIiAvKiBCICAgICAgICAgICAg
ICAgICAgICAqLyAgXAorICAiYmljICAgICAgICB2MjEuOGIsIHYyMS44YiwgdjQuOGIgICAgICAg
ICAgXG4iIC8qIEcgICAgICAgICAgICAgICAgICAgICovICBcCisgICJ1c2hyICAgICAgIHYyMi44
YiwgdjIyLjhiLCAjNCAgICAgICAgICAgICBcbiIgLyogUiAgICAgICAgICAgICAgICAgICAgKi8g
IFwKKyAgImJpYyAgICAgICAgdjIzLjhiLCB2MjMuOGIsIHY0LjhiICAgICAgICAgIFxuIiAvKiBB
ICAgICAgICAgICAgICAgICAgICAqLyAgXAorICAib3JyICAgICAgICB2MC44YiwgIHYyMC44Yiwg
djIxLjhiICAgICAgICAgXG4iIC8qIEJHICAgICAgICAgICAgICAgICAgICovICBcCisgICJvcnIg
ICAgICAgIHYxLjhiLCAgdjIyLjhiLCB2MjMuOGIgICAgICAgICBcbiIgLyogUkEgICAgICAgICAg
ICAgICAgICAgKi8gIFwKKyAgInppcDEgICAgICAgdjAuMTZiLCB2MC4xNmIsIHYxLjE2YiAgICAg
ICAgIFxuIiAvKiBCR1JBICAgICAgICAgICAgICAgICAqLwogCiB2b2lkIEk0MjJUb0FSR0I0NDQ0
Um93X05FT04oY29uc3QgdWludDgqIHNyY195LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdSwKQEAgLTM4OCw5ICszOTYsNyBAQCB2b2lkIEk0MjJUb0FSR0I0
NDQ0Um93X05FT04oY29uc3QgdWludDgqIHNyY195LAogICApOwogfQogCi12b2lkIEk0MDBUb0FS
R0JSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3ksCi0gICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKK3Zv
aWQgSTQwMFRvQVJHQlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwgdWludDgqIGRzdF9hcmdi
LCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICBZVVZUT1JHQl9TRVRVUAogICAg
ICJtb3ZpICAgICAgIHYyMy44YiwgIzI1NSAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTQxMyw5
ICs0MTksNyBAQCB2b2lkIEk0MDBUb0FSR0JSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3ksCiAg
ICk7CiB9CiAKLXZvaWQgSjQwMFRvQVJHQlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCkgewordm9pZCBKNDAwVG9BUkdCUm93X05FT04oY29uc3QgdWludDgq
IHNyY195LCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAog
ICAgICJtb3ZpICAgICAgIHYyMy44YiwgIzI1NSAgICAgICAgICAgICAgICAgICBcbiIKICAgIjE6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC01NzIsNyAr
NTc2LDkgQEAgdm9pZCBVWVZZVG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNyY191eXZ5LAog
fQogCiAvLyBSZWFkcyAxNiBwYWlycyBvZiBVViBhbmQgd3JpdGUgZXZlbiB2YWx1ZXMgdG8gZHN0
X3UgYW5kIG9kZCB0byBkc3Rfdi4KLXZvaWQgU3BsaXRVVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBz
cmNfdXYsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAordm9pZCBTcGxpdFVWUm93X05FT04o
Y29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwK
KyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAiMTogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTU5NCw3ICs2MDAsOSBAQCB2b2lkIFNwbGl0
VVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3V2LCB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rf
diwKIH0KIAogLy8gUmVhZHMgMTYgVSdzIGFuZCBWJ3MgYW5kIHdyaXRlcyBvdXQgMTYgcGFpcnMg
b2YgVVYuCi12b2lkIE1lcmdlVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3UsIGNvbnN0IHVp
bnQ4KiBzcmNfdiwgdWludDgqIGRzdF91diwKK3ZvaWQgTWVyZ2VVVlJvd19ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdXYsCiAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgIjE6ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC02ODgsNyArNjk2LDkgQEAgdm9pZCBNaXJyb3JS
b3dfTkVPTihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpIHsKICAgKTsK
IH0KIAotdm9pZCBNaXJyb3JVVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfdXYsIHVpbnQ4KiBk
c3RfdSwgdWludDgqIGRzdF92LAordm9pZCBNaXJyb3JVVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBz
cmNfdXYsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAvLyBTdGFydCBhdCBlbmQgb2Ygc291cmNlIHJvdy4K
QEAgLTc5NCwxOCArODA0LDE4IEBAIHZvaWQgUkFXVG9SR0IyNFJvd19ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfcmF3LCB1aW50OCogZHN0X3JnYjI0LCBpbnQgd2lkdGgpIHsKICAgKTsKIH0KIAotI2Rl
ZmluZSBSR0I1NjVUT0FSR0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAic2hybiAgICAgICB2Ni44YiwgdjAuOGgsICM1ICAg
ICAgICAgICAgICAgXG4iICAvKiBHIHh4R0dHR0dHICAgICAgICAgICAqLyBcCi0gICAgInNobCAg
ICAgICAgdjYuOGIsIHY2LjhiLCAjMiAgICAgICAgICAgICAgIFxuIiAgLyogRyBHR0dHR0cwMCB1
cHBlciA2ICAgKi8gXAotICAgICJ1c2hyICAgICAgIHY0LjhiLCB2Ni44YiwgIzYgICAgICAgICAg
ICAgICBcbiIgIC8qIEcgMDAwMDAwR0cgbG93ZXIgMiAgICovIFwKLSAgICAib3JyICAgICAgICB2
MS44YiwgdjQuOGIsIHY2LjhiICAgICAgICAgICAgXG4iICAvKiBHICAgICAgICAgICAgICAgICAg
ICAqLyBcCi0gICAgInh0biAgICAgICAgdjIuOGIsIHYwLjhoICAgICAgICAgICAgICAgICAgIFxu
IiAgLyogQiB4eHhCQkJCQiAgICAgICAgICAgKi8gXAotICAgICJ1c2hyICAgICAgIHYwLjhoLCB2
MC44aCwgIzExICAgICAgICAgICAgICBcbiIgIC8qIFIgMDAwUlJSUlIgICAgICAgICAgICovIFwK
LSAgICAieHRuMiAgICAgICB2Mi4xNmIsdjAuOGggICAgICAgICAgICAgICAgICAgXG4iICAvKiBS
IGluIHVwcGVyIHBhcnQgICAgICAqLyBcCi0gICAgInNobCAgICAgICAgdjIuMTZiLCB2Mi4xNmIs
ICMzICAgICAgICAgICAgIFxuIiAgLyogUixCIEJCQkJCMDAwIHVwcGVyIDUgKi8gXAotICAgICJ1
c2hyICAgICAgIHYwLjE2YiwgdjIuMTZiLCAjNSAgICAgICAgICAgICBcbiIgIC8qIFIsQiAwMDAw
MEJCQiBsb3dlciAzICovIFwKLSAgICAib3JyICAgICAgICB2MC4xNmIsIHYwLjE2YiwgdjIuMTZi
ICAgICAgICAgXG4iICAvKiBSLEIgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgImR1cCAgICAg
ICAgdjIuMkQsIHYwLkRbMV0gICAgICAgICAgICAgICAgIFxuIiAgLyogUiAgICAgICAgICAgICAg
ICAgICAgKi8KKyNkZWZpbmUgUkdCNTY1VE9BUkdCICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJzaHJuICAgICAgIHY2LjhiLCB2MC44
aCwgIzUgICAgICAgICAgICAgICBcbiIgLyogRyB4eEdHR0dHRyAgICAgICAgICAgKi8gXAorICAi
c2hsICAgICAgICB2Ni44YiwgdjYuOGIsICMyICAgICAgICAgICAgICAgXG4iIC8qIEcgR0dHR0dH
MDAgdXBwZXIgNiAgICovIFwKKyAgInVzaHIgICAgICAgdjQuOGIsIHY2LjhiLCAjNiAgICAgICAg
ICAgICAgIFxuIiAvKiBHIDAwMDAwMEdHIGxvd2VyIDIgICAqLyBcCisgICJvcnIgICAgICAgIHYx
LjhiLCB2NC44YiwgdjYuOGIgICAgICAgICAgICBcbiIgLyogRyAgICAgICAgICAgICAgICAgICAg
Ki8gXAorICAieHRuICAgICAgICB2Mi44YiwgdjAuOGggICAgICAgICAgICAgICAgICAgXG4iIC8q
IEIgeHh4QkJCQkIgICAgICAgICAgICovIFwKKyAgInVzaHIgICAgICAgdjAuOGgsIHYwLjhoLCAj
MTEgICAgICAgICAgICAgIFxuIiAvKiBSIDAwMFJSUlJSICAgICAgICAgICAqLyBcCisgICJ4dG4y
ICAgICAgIHYyLjE2Yix2MC44aCAgICAgICAgICAgICAgICAgICBcbiIgLyogUiBpbiB1cHBlciBw
YXJ0ICAgICAgKi8gXAorICAic2hsICAgICAgICB2Mi4xNmIsIHYyLjE2YiwgIzMgICAgICAgICAg
ICAgXG4iIC8qIFIsQiBCQkJCQjAwMCB1cHBlciA1ICovIFwKKyAgInVzaHIgICAgICAgdjAuMTZi
LCB2Mi4xNmIsICM1ICAgICAgICAgICAgIFxuIiAvKiBSLEIgMDAwMDBCQkIgbG93ZXIgMyAqLyBc
CisgICJvcnIgICAgICAgIHYwLjE2YiwgdjAuMTZiLCB2Mi4xNmIgICAgICAgICBcbiIgLyogUixC
ICAgICAgICAgICAgICAgICAgKi8gXAorICAiZHVwICAgICAgICB2Mi4yRCwgdjAuRFsxXSAgICAg
ICAgICAgICAgICAgXG4iIC8qIFIgICAgICAgICAgICAgICAgICAgICovCiAKIHZvaWQgUkdCNTY1
VG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNyY19yZ2I1NjUsIHVpbnQ4KiBkc3RfYXJnYiwg
aW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCkBAIC04MjYsNDQgKzgzNiw0NSBAQCB2b2lk
IFJHQjU2NVRvQVJHQlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCB1aW50OCogZHN0
X2FyZ2IsIGludCB3aWR0aCkgewogICApOwogfQogCi0jZGVmaW5lIEFSR0IxNTU1VE9BUkdCICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICJ1c2hyICAgICAgIHYyLjhoLCB2MC44aCwgIzEwICAgICAgICAgICAgICBcbiIgIC8qIFIg
eHh4UlJSUlIgICAgICAgICAgICovIFwKLSAgICAic2hsICAgICAgICB2Mi44aCwgdjIuOGgsICMz
ICAgICAgICAgICAgICAgXG4iICAvKiBSIFJSUlJSMDAwIHVwcGVyIDUgICAqLyBcCi0gICAgInh0
biAgICAgICAgdjMuOGIsIHYyLjhoICAgICAgICAgICAgICAgICAgIFxuIiAgLyogUlJSUlIwMDAg
QUFBQUFBQUEgICAgKi8gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAic3NociAgICAg
ICB2Mi44aCwgdjAuOGgsICMxNSAgICAgICAgICAgICAgXG4iICAvKiBBIEFBQUFBQUFBICAgICAg
ICAgICAqLyBcCi0gICAgInh0bjIgICAgICAgdjMuMTZiLCB2Mi44aCAgICAgICAgICAgICAgICAg
IFxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAieHRuICAgICAgICB2Mi44YiwgdjAuOGggICAgICAgICAgICAgICAgICAgXG4iICAv
KiBCIHh4eEJCQkJCICAgICAgICAgICAqLyBcCi0gICAgInNocm4yICAgICAgdjIuMTZiLHYwLjho
LCAjNSAgICAgICAgICAgICAgIFxuIiAgLyogRyB4eHhHR0dHRyAgICAgICAgICAgKi8gXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAidXNociAgICAgICB2MS4xNmIsIHYzLjE2YiwgIzUg
ICAgICAgICAgICAgXG4iICAvKiBSLEEgMDAwMDBSUlIgbG93ZXIgMyAqLyBcCi0gICAgInNobCAg
ICAgICAgdjAuMTZiLCB2Mi4xNmIsICMzICAgICAgICAgICAgIFxuIiAgLyogQixHIEJCQkJCMDAw
IHVwcGVyIDUgKi8gXAotICAgICJ1c2hyICAgICAgIHYyLjE2YiwgdjAuMTZiLCAjNSAgICAgICAg
ICAgICBcbiIgIC8qIEIsRyAwMDAwMEJCQiBsb3dlciAzICovIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgIm9yciAgICAgICAgdjAuMTZiLCB2MC4xNmIsIHYyLjE2YiAgICAgICAgIFxu
IiAgLyogQixHICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJvcnIgICAgICAgIHYyLjE2Yiwg
djEuMTZiLCB2My4xNmIgICAgICAgICBcbiIgIC8qIFIsQSAgICAgICAgICAgICAgICAgICovIFwK
LSAgICAiZHVwICAgICAgICB2MS4yRCwgdjAuRFsxXSAgICAgICAgICAgICAgICAgXG4iICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgImR1cCAgICAgICAgdjMuMkQsIHYyLkRbMV0g
ICAgICAgICAgICAgICAgIFxuIgorI2RlZmluZSBBUkdCMTU1NVRPQVJHQiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgInVzaHIgICAgICAg
djIuOGgsIHYwLjhoLCAjMTAgICAgICAgICAgICAgIFxuIiAvKiBSIHh4eFJSUlJSICAgICAgICAg
ICAqLyBcCisgICJzaGwgICAgICAgIHYyLjhoLCB2Mi44aCwgIzMgICAgICAgICAgICAgICBcbiIg
LyogUiBSUlJSUjAwMCB1cHBlciA1ICAgKi8gXAorICAieHRuICAgICAgICB2My44YiwgdjIuOGgg
ICAgICAgICAgICAgICAgICAgXG4iIC8qIFJSUlJSMDAwIEFBQUFBQUFBICAgICovIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICJzc2hyICAgICAgIHYyLjhoLCB2MC44aCwgIzE1ICAgICAgICAg
ICAgICBcbiIgLyogQSBBQUFBQUFBQSAgICAgICAgICAgKi8gXAorICAieHRuMiAgICAgICB2My4x
NmIsIHYyLjhoICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICJ4dG4gICAgICAgIHYyLjhiLCB2MC44aCAgICAg
ICAgICAgICAgICAgICBcbiIgLyogQiB4eHhCQkJCQiAgICAgICAgICAgKi8gXAorICAic2hybjIg
ICAgICB2Mi4xNmIsdjAuOGgsICM1ICAgICAgICAgICAgICAgXG4iIC8qIEcgeHh4R0dHR0cgICAg
ICAgICAgICovIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJ1c2hyICAgICAgIHYxLjE2Yiwg
djMuMTZiLCAjNSAgICAgICAgICAgICBcbiIgLyogUixBIDAwMDAwUlJSIGxvd2VyIDMgKi8gXAor
ICAic2hsICAgICAgICB2MC4xNmIsIHYyLjE2YiwgIzMgICAgICAgICAgICAgXG4iIC8qIEIsRyBC
QkJCQjAwMCB1cHBlciA1ICovIFwKKyAgInVzaHIgICAgICAgdjIuMTZiLCB2MC4xNmIsICM1ICAg
ICAgICAgICAgIFxuIiAvKiBCLEcgMDAwMDBCQkIgbG93ZXIgMyAqLyBcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAib3JyICAgICAgICB2MC4xNmIsIHYwLjE2YiwgdjIuMTZiICAgICAgICAgXG4i
IC8qIEIsRyAgICAgICAgICAgICAgICAgICovIFwKKyAgIm9yciAgICAgICAgdjIuMTZiLCB2MS4x
NmIsIHYzLjE2YiAgICAgICAgIFxuIiAvKiBSLEEgICAgICAgICAgICAgICAgICAqLyBcCisgICJk
dXAgICAgICAgIHYxLjJELCB2MC5EWzFdICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAiZHVwICAgICAgICB2My4yRCwgdjIuRFsxXSAgICAgICAgICAg
ICAgICAgXG4iCiAKIC8vIFJHQjU1NVRPQVJHQiBpcyBzYW1lIGFzIEFSR0IxNTU1VE9BUkdCIGJ1
dCBpZ25vcmVzIGFscGhhLgotI2RlZmluZSBSR0I1NTVUT0FSR0IgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAidXNociAgICAg
ICB2Mi44aCwgdjAuOGgsICMxMCAgICAgICAgICAgICAgXG4iICAvKiBSIHh4eFJSUlJSICAgICAg
ICAgICAqLyBcCi0gICAgInNobCAgICAgICAgdjIuOGgsIHYyLjhoLCAjMyAgICAgICAgICAgICAg
IFxuIiAgLyogUiBSUlJSUjAwMCB1cHBlciA1ICAgKi8gXAotICAgICJ4dG4gICAgICAgIHYzLjhi
LCB2Mi44aCAgICAgICAgICAgICAgICAgICBcbiIgIC8qIFJSUlJSMDAwICAgICAgICAgICAgICov
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInh0biAgICAgICAgdjIuOGIsIHYwLjho
ICAgICAgICAgICAgICAgICAgIFxuIiAgLyogQiB4eHhCQkJCQiAgICAgICAgICAgKi8gXAotICAg
ICJzaHJuMiAgICAgIHYyLjE2Yix2MC44aCwgIzUgICAgICAgICAgICAgICBcbiIgIC8qIEcgeHh4
R0dHR0cgICAgICAgICAgICovIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInVzaHIg
ICAgICAgdjEuMTZiLCB2My4xNmIsICM1ICAgICAgICAgICAgIFxuIiAgLyogUiAgIDAwMDAwUlJS
IGxvd2VyIDMgKi8gXAotICAgICJzaGwgICAgICAgIHYwLjE2YiwgdjIuMTZiLCAjMyAgICAgICAg
ICAgICBcbiIgIC8qIEIsRyBCQkJCQjAwMCB1cHBlciA1ICovIFwKLSAgICAidXNociAgICAgICB2
Mi4xNmIsIHYwLjE2YiwgIzUgICAgICAgICAgICAgXG4iICAvKiBCLEcgMDAwMDBCQkIgbG93ZXIg
MyAqLyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJvcnIgICAgICAgIHYwLjE2Yiwg
djAuMTZiLCB2Mi4xNmIgICAgICAgICBcbiIgIC8qIEIsRyAgICAgICAgICAgICAgICAgICovIFwK
LSAgICAib3JyICAgICAgICB2Mi4xNmIsIHYxLjE2YiwgdjMuMTZiICAgICAgICAgXG4iICAvKiBS
ICAgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgImR1cCAgICAgICAgdjEuMkQsIHYwLkRbMV0g
ICAgICAgICAgICAgICAgIFxuIiAgLyogRyAqLyAgICAgICAgICAgICAgICAgICAgXAotCi12b2lk
IEFSR0IxNTU1VG9BUkdCUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwgdWludDgq
IGRzdF9hcmdiLAorI2RlZmluZSBSR0I1NTVUT0FSR0IgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgInVzaHIgICAgICAgdjIuOGgsIHYw
LjhoLCAjMTAgICAgICAgICAgICAgIFxuIiAvKiBSIHh4eFJSUlJSICAgICAgICAgICAqLyBcCisg
ICJzaGwgICAgICAgIHYyLjhoLCB2Mi44aCwgIzMgICAgICAgICAgICAgICBcbiIgLyogUiBSUlJS
UjAwMCB1cHBlciA1ICAgKi8gXAorICAieHRuICAgICAgICB2My44YiwgdjIuOGggICAgICAgICAg
ICAgICAgICAgXG4iIC8qIFJSUlJSMDAwICAgICAgICAgICAgICovIFwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICJ4dG4gICAgICAgIHYyLjhiLCB2MC44aCAgICAgICAgICAgICAgICAgICBcbiIg
LyogQiB4eHhCQkJCQiAgICAgICAgICAgKi8gXAorICAic2hybjIgICAgICB2Mi4xNmIsdjAuOGgs
ICM1ICAgICAgICAgICAgICAgXG4iIC8qIEcgeHh4R0dHR0cgICAgICAgICAgICovIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICJ1c2hyICAgICAgIHYxLjE2YiwgdjMuMTZiLCAjNSAgICAgICAg
ICAgICBcbiIgLyogUiAgIDAwMDAwUlJSIGxvd2VyIDMgKi8gXAorICAic2hsICAgICAgICB2MC4x
NmIsIHYyLjE2YiwgIzMgICAgICAgICAgICAgXG4iIC8qIEIsRyBCQkJCQjAwMCB1cHBlciA1ICov
IFwKKyAgInVzaHIgICAgICAgdjIuMTZiLCB2MC4xNmIsICM1ICAgICAgICAgICAgIFxuIiAvKiBC
LEcgMDAwMDBCQkIgbG93ZXIgMyAqLyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAib3JyICAg
ICAgICB2MC4xNmIsIHYwLjE2YiwgdjIuMTZiICAgICAgICAgXG4iIC8qIEIsRyAgICAgICAgICAg
ICAgICAgICovIFwKKyAgIm9yciAgICAgICAgdjIuMTZiLCB2MS4xNmIsIHYzLjE2YiAgICAgICAg
IFxuIiAvKiBSICAgICAgICAgICAgICAgICAgICAqLyBcCisgICJkdXAgICAgICAgIHYxLjJELCB2
MC5EWzFdICAgICAgICAgICAgICAgICBcbiIgLyogRyAqLworCit2b2lkIEFSR0IxNTU1VG9BUkdC
Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgIm1vdmkgICAgICAgdjMuOGIsICMyNTUg
ICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gQWxwaGEKQEAgLTg4MywxOSArODk0LDIwIEBAIHZv
aWQgQVJHQjE1NTVUb0FSR0JSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LCB1aW50
OCogZHN0X2FyZ2IsCiAgICk7CiB9CiAKLSNkZWZpbmUgQVJHQjQ0NDRUT0FSR0IgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgInNo
cm4gICAgICAgdjEuOGIsICB2MC44aCwgIzggICAgICAgICAgICAgIFxuIiAgLyogdjEobCkgQVIg
ICAgICAgICAgICAgKi8gXAotICAgICJ4dG4yICAgICAgIHYxLjE2YiwgdjAuOGggICAgICAgICAg
ICAgICAgICBcbiIgIC8qIHYxKGgpIEdCICAgICAgICAgICAgICovIFwKLSAgICAic2hsICAgICAg
ICB2Mi4xNmIsIHYxLjE2YiwgIzQgICAgICAgICAgICAgXG4iICAvKiBCLFIgQkJCQjAwMDAgICAg
ICAgICAqLyBcCi0gICAgInVzaHIgICAgICAgdjMuMTZiLCB2MS4xNmIsICM0ICAgICAgICAgICAg
IFxuIiAgLyogRyxBIDAwMDBHR0dHICAgICAgICAgKi8gXAotICAgICJ1c2hyICAgICAgIHYwLjE2
YiwgdjIuMTZiLCAjNCAgICAgICAgICAgICBcbiIgIC8qIEIsUiAwMDAwQkJCQiAgICAgICAgICov
IFwKLSAgICAic2hsICAgICAgICB2MS4xNmIsIHYzLjE2YiwgIzQgICAgICAgICAgICAgXG4iICAv
KiBHLEEgR0dHRzAwMDAgICAgICAgICAqLyBcCi0gICAgIm9yciAgICAgICAgdjIuMTZiLCB2MC4x
NmIsIHYyLjE2YiAgICAgICAgIFxuIiAgLyogQixSIEJCQkJCQkJCICAgICAgICAgKi8gXAotICAg
ICJvcnIgICAgICAgIHYzLjE2YiwgdjEuMTZiLCB2My4xNmIgICAgICAgICBcbiIgIC8qIEcsQSBH
R0dHR0dHRyAgICAgICAgICovIFwKLSAgICAiZHVwICAgICAgICB2MC4yRCwgdjIuRFsxXSAgICAg
ICAgICAgICAgICAgXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgImR1cCAg
ICAgICAgdjEuMkQsIHYzLkRbMV0gICAgICAgICAgICAgICAgIFxuIgorI2RlZmluZSBBUkdCNDQ0
NFRPQVJHQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgInNocm4gICAgICAgdjEuOGIsICB2MC44aCwgIzggICAgICAgICAgICAgIFxuIiAv
KiB2MShsKSBBUiAgICAgICAgICAgICAqLyBcCisgICJ4dG4yICAgICAgIHYxLjE2YiwgdjAuOGgg
ICAgICAgICAgICAgICAgICBcbiIgLyogdjEoaCkgR0IgICAgICAgICAgICAgKi8gXAorICAic2hs
ICAgICAgICB2Mi4xNmIsIHYxLjE2YiwgIzQgICAgICAgICAgICAgXG4iIC8qIEIsUiBCQkJCMDAw
MCAgICAgICAgICovIFwKKyAgInVzaHIgICAgICAgdjMuMTZiLCB2MS4xNmIsICM0ICAgICAgICAg
ICAgIFxuIiAvKiBHLEEgMDAwMEdHR0cgICAgICAgICAqLyBcCisgICJ1c2hyICAgICAgIHYwLjE2
YiwgdjIuMTZiLCAjNCAgICAgICAgICAgICBcbiIgLyogQixSIDAwMDBCQkJCICAgICAgICAgKi8g
XAorICAic2hsICAgICAgICB2MS4xNmIsIHYzLjE2YiwgIzQgICAgICAgICAgICAgXG4iIC8qIEcs
QSBHR0dHMDAwMCAgICAgICAgICovIFwKKyAgIm9yciAgICAgICAgdjIuMTZiLCB2MC4xNmIsIHYy
LjE2YiAgICAgICAgIFxuIiAvKiBCLFIgQkJCQkJCQkIgICAgICAgICAqLyBcCisgICJvcnIgICAg
ICAgIHYzLjE2YiwgdjEuMTZiLCB2My4xNmIgICAgICAgICBcbiIgLyogRyxBIEdHR0dHR0dHICAg
ICAgICAgKi8gXAorICAiZHVwICAgICAgICB2MC4yRCwgdjIuRFsxXSAgICAgICAgICAgICAgICAg
XG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgImR1cCAgICAgICAgdjEuMkQsIHYz
LkRbMV0gICAgICAgICAgICAgICAgIFxuIgogCi12b2lkIEFSR0I0NDQ0VG9BUkdCUm93X05FT04o
Y29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwgdWludDgqIGRzdF9hcmdiLAordm9pZCBBUkdCNDQ0
NFRvQVJHQlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAiMTogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTk4NCw3ICs5OTYsOSBAQCB2b2lkIFVZ
VllUb1lSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3V5dnksIHVpbnQ4KiBkc3RfeSwgaW50IHdp
ZHRoKSB7CiAgICk7CiB9CiAKLXZvaWQgWVVZMlRvVVY0MjJSb3dfTkVPTihjb25zdCB1aW50OCog
c3JjX3l1eTIsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAordm9pZCBZVVkyVG9VVjQyMlJv
d19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAogICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAi
MTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTEwMDUs
NyArMTAxOSw5IEBAIHZvaWQgWVVZMlRvVVY0MjJSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3l1
eTIsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAogICApOwogfQogCi12b2lkIFVZVllUb1VW
NDIyUm93X05FT04oY29uc3QgdWludDgqIHNyY191eXZ5LCB1aW50OCogZHN0X3UsIHVpbnQ4KiBk
c3RfdiwKK3ZvaWQgVVlWWVRvVVY0MjJSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3V5dnksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfdiwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKICAgYXNtIHZvbGF0aWxlICgKICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCkBAIC0xMDI2LDggKzEwNDIsMTEgQEAgdm9pZCBVWVZZVG9VVjQyMlJv
d19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3Ys
CiAgICk7CiB9CiAKLXZvaWQgWVVZMlRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3l1eTIs
IGludCBzdHJpZGVfeXV5MiwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVp
bnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2b2lkIFlVWTJUb1VWUm93X05FT04oY29uc3QgdWlu
dDgqIHNyY195dXkyLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGVfeXV5MiwKKyAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBjb25z
dCB1aW50OCogc3JjX3l1eTJiID0gc3JjX3l1eTIgKyBzdHJpZGVfeXV5MjsKICAgYXNtIHZvbGF0
aWxlICgKICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CkBAIC0xMDU0LDggKzEwNzMsMTEgQEAgdm9pZCBZVVkyVG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfeXV5MiwgaW50IHN0cmlkZV95dXkyLAogICApOwogfQogCi12b2lkIFVZVllUb1VWUm93
X05FT04oY29uc3QgdWludDgqIHNyY191eXZ5LCBpbnQgc3RyaWRlX3V5dnksCi0gICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgewordm9p
ZCBVWVZZVG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKKyAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3RyaWRlX3V5dnksCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpIHsKICAgY29uc3QgdWludDgqIHNyY191eXZ5YiA9IHNyY191eXZ5
ICsgc3RyaWRlX3V5dnk7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICIxOiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtMTA4Myw4ICsxMTA1LDEwIEBAIHZvaWQg
VVlWWVRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3V5dnksIGludCBzdHJpZGVfdXl2eSwK
IH0KIAogLy8gRm9yIEJHUkFUb0FSR0IsIEFCR1JUb0FSR0IsIFJHQkFUb0FSR0IsIGFuZCBBUkdC
VG9SR0JBLgotdm9pZCBBUkdCU2h1ZmZsZVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwg
dWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
aHVmZmxlciwgaW50IHdpZHRoKSB7Cit2b2lkIEFSR0JTaHVmZmxlUm93X05FT04oY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgTUVN
QUNDRVNTKDMpCiAgICAgImxkMSAgICAgICAge3YyLjE2Yn0sIFslM10gICAgICAgICAgICAgICAg
IFxuIiAgLy8gc2h1ZmZsZXIKQEAgLTExMDcsNyArMTEzMSw4IEBAIHZvaWQgQVJHQlNodWZmbGVS
b3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKIHZvaWQgSTQy
MlRvWVVZMlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfeSwKICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfdiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeXV5MiwgaW50
IHdpZHRoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3l1eTIsCisgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgIjE6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgTUVNQUND
RVNTKDApCkBAIC0xMTM0LDcgKzExNTksOCBAQCB2b2lkIEk0MjJUb1lVWTJSb3dfTkVPTihjb25z
dCB1aW50OCogc3JjX3ksCiB2b2lkIEk0MjJUb1VZVllSb3dfTkVPTihjb25zdCB1aW50OCogc3Jj
X3ksCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCi0gICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3V5dnksIGludCB3aWR0aCkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91eXZ5LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7
CiAgIGFzbSB2b2xhdGlsZSAoCiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgogICAgIE1FTUFDQ0VTUygwKQpAQCAtMTE3Niw4ICsxMjAyLDEwIEBAIHZv
aWQgQVJHQlRvUkdCNTY1Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X3JnYjU2NSwgaW50IHdpZHRoKSB7CiAgICk7CiB9CiAKLXZvaWQgQVJHQlRvUkdCNTY1RGl0aGVy
Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyIGRpdGhlcjQsIGludCB3aWR0aCkg
ewordm9pZCBBUkdCVG9SR0I1NjVEaXRoZXJSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzIgZGl0aGVyNCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAg
ICAgImR1cCAgICAgICAgdjEuNHMsICV3MiAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gZGl0
aGVyNAogICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
QEAgLTExOTksNyArMTIyNyw4IEBAIHZvaWQgQVJHQlRvUkdCNTY1RGl0aGVyUm93X05FT04oY29u
c3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwKICAgKTsKIH0KIAotdm9pZCBBUkdC
VG9BUkdCMTU1NVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdi
MTU1NSwKK3ZvaWQgQVJHQlRvQVJHQjE1NTVSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiMTU1NSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0xMjE4
LDcgKzEyNDcsOCBAQCB2b2lkIEFSR0JUb0FSR0IxNTU1Um93X05FT04oY29uc3QgdWludDgqIHNy
Y19hcmdiLCB1aW50OCogZHN0X2FyZ2IxNTU1LAogICApOwogfQogCi12b2lkIEFSR0JUb0FSR0I0
NDQ0Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2I0NDQ0LAor
dm9pZCBBUkdCVG9BUkdCNDQ0NFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2I0NDQ0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJtb3Zp
ICAgICAgIHY0LjE2YiwgIzB4MGYgICAgICAgICAgICAgICAgICBcbiIgIC8vIGJpdHMgdG8gY2xl
YXIgd2l0aCB2YmljLgpAQCAtMTMwNiw3ICsxMzM2LDkgQEAgdm9pZCBBUkdCVG9ZSlJvd19ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKIH0KIAog
Ly8gOHgxIHBpeGVscy4KLXZvaWQgQVJHQlRvVVY0NDRSb3dfTkVPTihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAordm9pZCBBUkdCVG9VVjQ0NFJvd19O
RU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAogICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJt
b3ZpICAgICAgIHYyNC44YiwgIzExMiAgICAgICAgICAgICAgICAgICBcbiIgIC8vIFVCIC8gVlIg
MC44NzUgY29lZmZpY2llbnQKQEAgLTEzNDcsMzIgKzEzNzksNDEgQEAgdm9pZCBBUkdCVG9VVjQ0
NFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF91LCB1aW50OCogZHN0
X3YsCiAgICk7CiB9CiAKLSNkZWZpbmUgUkdCVE9VVl9TRVRVUF9SRUcgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIm1vdmkgICAgICAg
djIwLjhoLCAjNTYsIGxzbCAjMCAgXG4iICAvKiBVQi9WUiBjb2VmZmljaWVudCAoMC44NzUpIC8g
MiAqLyAgXAotICAgICJtb3ZpICAgICAgIHYyMS44aCwgIzM3LCBsc2wgIzAgIFxuIiAgLyogVUcg
Y29lZmZpY2llbnQgKC0wLjU3ODEpIC8gMiAgKi8gIFwKLSAgICAibW92aSAgICAgICB2MjIuOGgs
ICMxOSwgbHNsICMwICBcbiIgIC8qIFVSIGNvZWZmaWNpZW50ICgtMC4yOTY5KSAvIDIgICovICBc
Ci0gICAgIm1vdmkgICAgICAgdjIzLjhoLCAjOSwgIGxzbCAjMCAgXG4iICAvKiBWQiBjb2VmZmlj
aWVudCAoLTAuMTQwNikgLyAyICAqLyAgXAotICAgICJtb3ZpICAgICAgIHYyNC44aCwgIzQ3LCBs
c2wgIzAgIFxuIiAgLyogVkcgY29lZmZpY2llbnQgKC0wLjczNDQpIC8gMiAgKi8gIFwKLSAgICAi
bW92aSAgICAgICB2MjUuMTZiLCAjMHg4MCAgICAgICBcbiIgIC8qIDEyOC41ICgweDgwODAgaW4g
MTYtYml0KSAgICAgICovCisjZGVmaW5lIFJHQlRPVVZfU0VUVVBfUkVHICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJtb3ZpICAgICAgIHYyMC44
aCwgIzU2LCBsc2wgIzAgIFxuIiAvKiBVQi9WUiBjb2VmZmljaWVudCAoMC44NzUpIC8gMiAqLyBc
CisgICJtb3ZpICAgICAgIHYyMS44aCwgIzM3LCBsc2wgIzAgIFxuIiAvKiBVRyBjb2VmZmljaWVu
dCAoLTAuNTc4MSkgLyAyICAqLyBcCisgICJtb3ZpICAgICAgIHYyMi44aCwgIzE5LCBsc2wgIzAg
IFxuIiAvKiBVUiBjb2VmZmljaWVudCAoLTAuMjk2OSkgLyAyICAqLyBcCisgICJtb3ZpICAgICAg
IHYyMy44aCwgIzksICBsc2wgIzAgIFxuIiAvKiBWQiBjb2VmZmljaWVudCAoLTAuMTQwNikgLyAy
ICAqLyBcCisgICJtb3ZpICAgICAgIHYyNC44aCwgIzQ3LCBsc2wgIzAgIFxuIiAvKiBWRyBjb2Vm
ZmljaWVudCAoLTAuNzM0NCkgLyAyICAqLyBcCisgICJtb3ZpICAgICAgIHYyNS4xNmIsICMweDgw
ICAgICAgIFxuIiAvKiAxMjguNSAoMHg4MDgwIGluIDE2LWJpdCkgICAgICAqLwogCiAvLyAxNngy
IHBpeGVscyAtPiA4eDEuICB3aWR0aCBpcyBudW1iZXIgb2YgYXJnYiBwaXhlbHMuIGUuZy4gMTYu
Ci0jZGVmaW5lIFJHQlRPVVYoUUIsIFFHLCBRUikgXAotICAgICJtdWwgICAgICAgIHYzLjhoLCAi
ICNRQiAiLHYyMC44aCAgICAgICAgICBcbiIgIC8qIEIgICAgICAgICAgICAgICAgICAgICovIFwK
LSAgICAibXVsICAgICAgICB2NC44aCwgIiAjUVIgIix2MjAuOGggICAgICAgICAgXG4iICAvKiBS
ICAgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgIm1scyAgICAgICAgdjMuOGgsICIgI1FHICIs
djIxLjhoICAgICAgICAgIFxuIiAgLyogRyAgICAgICAgICAgICAgICAgICAgKi8gXAotICAgICJt
bHMgICAgICAgIHY0LjhoLCAiICNRRyAiLHYyNC44aCAgICAgICAgICBcbiIgIC8qIEcgICAgICAg
ICAgICAgICAgICAgICovIFwKLSAgICAibWxzICAgICAgICB2My44aCwgIiAjUVIgIix2MjIuOGgg
ICAgICAgICAgXG4iICAvKiBSICAgICAgICAgICAgICAgICAgICAqLyBcCi0gICAgIm1scyAgICAg
ICAgdjQuOGgsICIgI1FCICIsdjIzLjhoICAgICAgICAgIFxuIiAgLyogQiAgICAgICAgICAgICAg
ICAgICAgKi8gXAotICAgICJhZGQgICAgICAgIHYzLjhoLCB2My44aCwgdjI1LjhoICAgICAgICAg
ICBcbiIgIC8qICsxMjggLT4gdW5zaWduZWQgICAgICovIFwKLSAgICAiYWRkICAgICAgICB2NC44
aCwgdjQuOGgsIHYyNS44aCAgICAgICAgICAgXG4iICAvKiArMTI4IC0+IHVuc2lnbmVkICAgICAq
LyBcCi0gICAgInVxc2hybiAgICAgdjAuOGIsIHYzLjhoLCAjOCAgICAgICAgICAgICAgIFxuIiAg
LyogMTYgYml0IHRvIDggYml0IFUgICAgKi8gXAotICAgICJ1cXNocm4gICAgIHYxLjhiLCB2NC44
aCwgIzggICAgICAgICAgICAgICBcbiIgIC8qIDE2IGJpdCB0byA4IGJpdCBWICAgICovCisjZGVm
aW5lIFJHQlRPVVYoUUIsIFFHLCBRUikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAibXVsICAgICAgICB2My44aCwgIiAjUUIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIix2MjAuOGggICAgICAg
ICAgXG4iIC8qIEIgICAgICAgICAgICAgICAgICAgICovICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICJtdWwgICAgICAgIHY0LjhoLCAiICNRUiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAiLHYyMC44aCAgICAgICAgICBcbiIgLyogUiAg
ICAgICAgICAgICAgICAgICAgKi8gICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIm1scyAg
ICAgICAgdjMuOGgsICIgI1FHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICIsdjIxLjhoICAgICAgICAgIFxuIiAvKiBHICAgICAgICAgICAgICAg
ICAgICAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAibWxzICAgICAgICB2NC44aCwg
IiAjUUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgIix2MjQuOGggICAgICAgICAgXG4iIC8qIEcgICAgICAgICAgICAgICAgICAgICovICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICJtbHMgICAgICAgIHYzLjhoLCAiICNRUiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAiLHYyMi44aCAg
ICAgICAgICBcbiIgLyogUiAgICAgICAgICAgICAgICAgICAgKi8gICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgIm1scyAgICAgICAgdjQuOGgsICIgI1FCICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICIsdjIzLjhoICAgICAgICAgIFxuIiAg
ICAgICAgICAgICAgICAgICAgICAgICAgLyogQiAgICAgICAgICAgICAgICAgICAgKi8gXAorICAi
YWRkICAgICAgICB2My44aCwgdjMuOGgsIHYyNS44aCAgICAgICAgICAgXG4iIC8qICsxMjggLT4g
dW5zaWduZWQgICAgICovIFwKKyAgImFkZCAgICAgICAgdjQuOGgsIHY0LjhoLCB2MjUuOGggICAg
ICAgICAgIFxuIiAvKiArMTI4IC0+IHVuc2lnbmVkICAgICAqLyBcCisgICJ1cXNocm4gICAgIHYw
LjhiLCB2My44aCwgIzggICAgICAgICAgICAgICBcbiIgLyogMTYgYml0IHRvIDggYml0IFUgICAg
Ki8gXAorICAidXFzaHJuICAgICB2MS44YiwgdjQuOGgsICM4ICAgICAgICAgICAgICAgXG4iIC8q
IDE2IGJpdCB0byA4IGJpdCBWICAgICovCiAKIC8vIFRPRE8oZmJhcmNoYXJkKTogQ29uc2lkZXIg
dmhhZGQgdmVydGljYWwsIHRoZW4gdnBhZGRsIGhvcml6b250YWwsIGF2b2lkIHNoci4KIC8vIFRP
RE8oZmJhcmNoYXJkKTogY29uc2lkZXIgcHRyZGlmZl90IGZvciBhbGwgc3RyaWRlcy4KIAotdm9p
ZCBBUkdCVG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVf
YXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rfdiwg
aW50IHdpZHRoKSB7Cit2b2lkIEFSR0JUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgY29uc3QgdWludDgq
IHNyY19hcmdiXzEgPSBzcmNfYXJnYiArIHNyY19zdHJpZGVfYXJnYjsKICAgYXNtIHZvbGF0aWxl
ICgKICAgICBSR0JUT1VWX1NFVFVQX1JFRwpAQCAtMTQxMiw4ICsxNDUzLDExIEBAIHZvaWQgQVJH
QlRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRlX2FyZ2Is
CiB9CiAKIC8vIFRPRE8oZmJhcmNoYXJkKTogU3Vic2FtcGxlIG1hdGNoIEMgY29kZS4KLXZvaWQg
QVJHQlRvVVZKUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rfdiwg
aW50IHdpZHRoKSB7Cit2b2lkIEFSR0JUb1VWSlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBjb25zdCB1
aW50OCogc3JjX2FyZ2JfMSA9IHNyY19hcmdiICsgc3JjX3N0cmlkZV9hcmdiOwogICBhc20gdm9s
YXRpbGUgKAogICAgICJtb3ZpICAgICAgIHYyMC44aCwgIzYzLCBsc2wgIzAgICAgICAgICAgICBc
biIgIC8vIFVCL1ZSIGNvZWZmICgwLjUwMCkgLyAyCkBAIC0xNDU2LDggKzE1MDAsMTEgQEAgdm9p
ZCBBUkdCVG9VVkpSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfc3RyaWRl
X2FyZ2IsCiAgICk7CiB9CiAKLXZvaWQgQkdSQVRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3Jj
X2JncmEsIGludCBzcmNfc3RyaWRlX2JncmEsCi0gICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgewordm9pZCBCR1JBVG9VVlJvd19ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfYmdyYSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZV9iZ3JhLAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSB7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfYmdyYV8xID0gc3JjX2JncmEgKyBzcmNfc3RyaWRl
X2JncmE7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgUkdCVE9VVl9TRVRVUF9SRUcKQEAgLTE0OTUs
OCArMTU0MiwxMSBAQCB2b2lkIEJHUkFUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19iZ3Jh
LCBpbnQgc3JjX3N0cmlkZV9iZ3JhLAogICApOwogfQogCi12b2lkIEFCR1JUb1VWUm93X05FT04o
Y29uc3QgdWludDgqIHNyY19hYmdyLCBpbnQgc3JjX3N0cmlkZV9hYmdyLAotICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKK3ZvaWQg
QUJHUlRvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FiZ3IsCisgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19zdHJpZGVfYWJnciwKKyAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgewogICBjb25zdCB1aW50OCogc3JjX2FiZ3JfMSA9IHNyY19h
YmdyICsgc3JjX3N0cmlkZV9hYmdyOwogICBhc20gdm9sYXRpbGUgKAogICAgIFJHQlRPVVZfU0VU
VVBfUkVHCkBAIC0xNTM0LDggKzE1ODQsMTEgQEAgdm9pZCBBQkdSVG9VVlJvd19ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfYWJnciwgaW50IHNyY19zdHJpZGVfYWJnciwKICAgKTsKIH0KIAotdm9pZCBS
R0JBVG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmdiYSwgaW50IHNyY19zdHJpZGVfcmdi
YSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50
IHdpZHRoKSB7Cit2b2lkIFJHQkFUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19yZ2JhLAor
ICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3JnYmEsCisgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
diwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgY29uc3QgdWludDgqIHNy
Y19yZ2JhXzEgPSBzcmNfcmdiYSArIHNyY19zdHJpZGVfcmdiYTsKICAgYXNtIHZvbGF0aWxlICgK
ICAgICBSR0JUT1VWX1NFVFVQX1JFRwpAQCAtMTU3Myw4ICsxNjI2LDExIEBAIHZvaWQgUkdCQVRv
VVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3JnYmEsIGludCBzcmNfc3RyaWRlX3JnYmEsCiAg
ICk7CiB9CiAKLXZvaWQgUkdCMjRUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19yZ2IyNCwg
aW50IHNyY19zdHJpZGVfcmdiMjQsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKK3ZvaWQgUkdCMjRUb1VWUm93X05FT04oY29u
c3QgdWludDgqIHNyY19yZ2IyNCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGVfcmdiMjQsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpIHsKICAgY29uc3QgdWludDgqIHNyY19yZ2IyNF8xID0gc3JjX3JnYjI0ICsgc3JjX3N0
cmlkZV9yZ2IyNDsKICAgYXNtIHZvbGF0aWxlICgKICAgICBSR0JUT1VWX1NFVFVQX1JFRwpAQCAt
MTYxMiw4ICsxNjY4LDExIEBAIHZvaWQgUkdCMjRUb1VWUm93X05FT04oY29uc3QgdWludDgqIHNy
Y19yZ2IyNCwgaW50IHNyY19zdHJpZGVfcmdiMjQsCiAgICk7CiB9CiAKLXZvaWQgUkFXVG9VVlJv
d19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCBpbnQgc3JjX3N0cmlkZV9yYXcsCi0gICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2
b2lkIFJBV1RvVVZSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3JhdywKKyAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfc3RyaWRlX3JhdywKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCkgewogICBjb25zdCB1aW50OCogc3JjX3Jhd18xID0gc3JjX3JhdyAr
IHNyY19zdHJpZGVfcmF3OwogICBhc20gdm9sYXRpbGUgKAogICAgIFJHQlRPVVZfU0VUVVBfUkVH
CkBAIC0xNjUyLDggKzE3MTEsMTEgQEAgdm9pZCBSQVdUb1VWUm93X05FT04oY29uc3QgdWludDgq
IHNyY19yYXcsIGludCBzcmNfc3RyaWRlX3JhdywKIH0KIAogLy8gMTZ4MiBwaXhlbHMgLT4gOHgx
LiAgd2lkdGggaXMgbnVtYmVyIG9mIGFyZ2IgcGl4ZWxzLiBlLmcuIDE2Lgotdm9pZCBSR0I1NjVU
b1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19yZ2I1NjUsIGludCBzcmNfc3RyaWRlX3JnYjU2
NSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBp
bnQgd2lkdGgpIHsKK3ZvaWQgUkdCNTY1VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmdi
NTY1LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfcmdiNTY1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAg
IGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1XzEgPSBzcmNfcmdiNTY1ICsgc3JjX3N0cmlkZV9yZ2I1
NjU7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgIm1vdmkgICAgICAgdjIyLjhoLCAjNTYsIGxzbCAj
MCAgICAgICAgICAgIFxuIiAgLy8gVUIgLyBWUiBjb2VmZiAoMC44NzUpIC8gMgpAQCAtMTcyNiw4
ICsxNzg4LDExIEBAIHZvaWQgUkdCNTY1VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmdi
NTY1LCBpbnQgc3JjX3N0cmlkZV9yZ2I1NjUsCiB9CiAKIC8vIDE2eDIgcGl4ZWxzIC0+IDh4MS4g
IHdpZHRoIGlzIG51bWJlciBvZiBhcmdiIHBpeGVscy4gZS5nLiAxNi4KLXZvaWQgQVJHQjE1NTVU
b1VWUm93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiMTU1NSwgaW50IHNyY19zdHJpZGVfYXJn
YjE1NTUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3Rf
diwgaW50IHdpZHRoKSB7Cit2b2lkIEFSR0IxNTU1VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYjE1NTUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2Fy
Z2IxNTU1LAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTVfMSA9IHNyY19hcmdi
MTU1NSArIHNyY19zdHJpZGVfYXJnYjE1NTU7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgUkdCVE9V
Vl9TRVRVUF9SRUcKQEAgLTE3OTUsOCArMTg2MCwxMSBAQCB2b2lkIEFSR0IxNTU1VG9VVlJvd19O
RU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIGludCBzcmNfc3RyaWRlX2FyZ2IxNTU1LAog
fQogCiAvLyAxNngyIHBpeGVscyAtPiA4eDEuICB3aWR0aCBpcyBudW1iZXIgb2YgYXJnYiBwaXhl
bHMuIGUuZy4gMTYuCi12b2lkIEFSR0I0NDQ0VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjQ0NDQsIGludCBzcmNfc3RyaWRlX2FyZ2I0NDQ0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Cit2b2lkIEFSR0I0
NDQ0VG9VVlJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2I0NDQ0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYjQ0NDRfMSA9IHNyY19hcmdiNDQ0NCArIHNyY19zdHJpZGVfYXJnYjQ0NDQ7
CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgUkdCVE9VVl9TRVRVUF9SRUcKQEAgLTIwNzgsOCArMjE0
NiwxMCBAQCB2b2lkIFJBV1RvWVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcmF3LCB1aW50OCog
ZHN0X3ksIGludCB3aWR0aCkgewogCiAvLyBCaWxpbmVhciBmaWx0ZXIgMTZ4MiAtPiAxNngxCiB2
b2lkIEludGVycG9sYXRlUm93X05FT04odWludDgqIGRzdF9wdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBzb3VyY2VfeV9mcmFjdGlv
bikgeworICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHNvdXJjZV95X2ZyYWN0aW9uKSB7CiAgIGludCB5MV9mcmFjdGlvbiA9IHNvdXJjZV95X2ZyYWN0
aW9uOwogICBpbnQgeTBfZnJhY3Rpb24gPSAyNTYgLSB5MV9mcmFjdGlvbjsKICAgY29uc3QgdWlu
dDgqIHNyY19wdHIxID0gc3JjX3B0ciArIHNyY19zdHJpZGU7CkBAIC0yMTQ0LDggKzIyMTQsMTAg
QEAgdm9pZCBJbnRlcnBvbGF0ZVJvd19ORU9OKHVpbnQ4KiBkc3RfcHRyLAogfQogCiAvLyBkciAq
ICgyNTYgLSBzYSkgLyAyNTYgKyBzciA9IGRyIC0gZHIgKiBzYSAvIDI1NiArIHNyCi12b2lkIEFS
R0JCbGVuZFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYjEsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRo
KSB7Cit2b2lkIEFSR0JCbGVuZFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInN1YnMgICAgICAgJXczLCAldzMsICM4ICAg
ICAgICAgICAgICAgICAgIFxuIgogICAgICJiLmx0ICAgICAgIDg5ZiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKQEAgLTIyNDAsOCArMjMxMiwxMSBAQCB2b2lkIEFSR0JBdHRlbnVhdGVS
b3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRo
KSB7CiAKIC8vIFF1YW50aXplIDggQVJHQiBwaXhlbHMgKDMyIGJ5dGVzKS4KIC8vIGRzdCA9IChk
c3QgKiBzY2FsZSA+PiAxNikgKiBpbnRlcnZhbF9zaXplICsgaW50ZXJ2YWxfb2Zmc2V0Owotdm9p
ZCBBUkdCUXVhbnRpemVSb3dfTkVPTih1aW50OCogZHN0X2FyZ2IsIGludCBzY2FsZSwgaW50IGlu
dGVydmFsX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnRlcnZhbF9vZmZz
ZXQsIGludCB3aWR0aCkgewordm9pZCBBUkdCUXVhbnRpemVSb3dfTkVPTih1aW50OCogZHN0X2Fy
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzY2FsZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGludGVydmFsX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBpbnRlcnZhbF9vZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJkdXAgICAgICAgIHY0LjhoLCAldzIgICAgICAg
ICAgICAgICAgICAgICBcbiIKICAgICAidXNociAgICAgICB2NC44aCwgdjQuOGgsICMxICAgICAg
ICAgICAgICAgXG4iICAvLyBzY2FsZSA+Pj0gMQpAQCAtMjI4Myw3ICsyMzU4LDkgQEAgdm9pZCBB
UkdCUXVhbnRpemVSb3dfTkVPTih1aW50OCogZHN0X2FyZ2IsIGludCBzY2FsZSwgaW50IGludGVy
dmFsX3NpemUsCiAvLyBTaGFkZSA4IHBpeGVscyBhdCBhIHRpbWUgYnkgc3BlY2lmaWVkIHZhbHVl
LgogLy8gTk9URSB2cXJkbXVsaC5zMTYgcTEwLCBxMTAsIGQwWzBdIG11c3QgdXNlIGEgc2NhbGVy
IHJlZ2lzdGVyIGZyb20gMCB0byA4LgogLy8gUm91bmRpbmcgaW4gdnFyZG11bGggZG9lcyArMSB0
byBoaWdoIGlmIGhpZ2ggYml0IG9mIGxvdyBzMTYgaXMgc2V0Lgotdm9pZCBBUkdCU2hhZGVSb3df
TkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoLAor
dm9pZCBBUkdCU2hhZGVSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50MzIgdmFsdWUpIHsKICAgYXNtIHZv
bGF0aWxlICgKICAgICAiZHVwICAgICAgICB2MC40cywgJXczICAgICAgICAgICAgICAgICAgICAg
XG4iICAvLyBkdXBsaWNhdGUgc2NhbGUgdmFsdWUuCkBAIC0yMzkzLDggKzI0NzAsMTAgQEAgdm9p
ZCBBUkdCU2VwaWFSb3dfTkVPTih1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewogLy8gVHJh
bmZvcm0gOCBBUkdCIHBpeGVscyAoMzIgYnl0ZXMpIHdpdGggY29sb3IgbWF0cml4LgogLy8gVE9E
TyhmYmFyY2hhcmQpOiBXYXMgc2FtZSBhcyBTZXBpYSBleGNlcHQgbWF0cml4IGlzIHByb3ZpZGVk
LiAgVGhpcyBmdW5jdGlvbgogLy8gbmVlZHMgdG8gc2F0dXJhdGUuICBDb25zaWRlciBkb2luZyBh
IG5vbi1zYXR1cmF0aW5nIHZlcnNpb24uCi12b2lkIEFSR0JDb2xvck1hdHJpeFJvd19ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBpbnQ4KiBtYXRyaXhfYXJnYiwgaW50IHdpZHRoKSB7Cit2b2lkIEFS
R0JDb2xvck1hdHJpeFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBpbnQ4KiBtYXRyaXhfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgTUVNQUNDRVNTKDMpCiAg
ICAgImxkMSAgICAgICAge3YyLjE2Yn0sIFslM10gICAgICAgICAgICAgICAgIFxuIiAgLy8gbG9h
ZCAzIEFSR0IgdmVjdG9ycy4KQEAgLTI0NTUsOCArMjUzNCwxMCBAQCB2b2lkIEFSR0JDb2xvck1h
dHJpeFJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAogCiAv
LyBUT0RPKGZiYXJjaGFyZCk6IGZpeCB2cXNocnVuIGluIEFSR0JNdWx0aXBseVJvd19ORU9OIGFu
ZCByZWVuYWJsZS4KIC8vIE11bHRpcGx5IDIgcm93cyBvZiBBUkdCIHBpeGVscyB0b2dldGhlciwg
OCBwaXhlbHMgYXQgYSB0aW1lLgotdm9pZCBBUkdCTXVsdGlwbHlSb3dfTkVPTihjb25zdCB1aW50
OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBBUkdCTXVsdGlwbHlS
b3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBh
c20gdm9sYXRpbGUgKAogICAgIC8vIDggcGl4ZWwgbG9vcC4KICAgIjE6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0yNDg3LDggKzI1NjgsMTAgQEAgdm9p
ZCBBUkdCTXVsdGlwbHlSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50
OCogc3JjX2FyZ2IxLAogfQogCiAvLyBBZGQgMiByb3dzIG9mIEFSR0IgcGl4ZWxzIHRvZ2V0aGVy
LCA4IHBpeGVscyBhdCBhIHRpbWUuCi12b2lkIEFSR0JBZGRSb3dfTkVPTihjb25zdCB1aW50OCog
c3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKK3ZvaWQgQVJHQkFkZFJvd19ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgLy8gOCBwaXhl
bCBsb29wLgogICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKQEAgLTI1MTUsOCArMjU5OCwxMCBAQCB2b2lkIEFSR0JBZGRSb3dfTkVPTihjb25zdCB1aW50
OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAogfQogCiAvLyBTdWJ0cmFjdCAy
IHJvd3Mgb2YgQVJHQiBwaXhlbHMsIDggcGl4ZWxzIGF0IGEgdGltZS4KLXZvaWQgQVJHQlN1YnRy
YWN0Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdi
MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgp
IHsKK3ZvaWQgQVJHQlN1YnRyYWN0Um93X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiMSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAvLyA4IHBpeGVsIGxvb3Au
CiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAt
MjU0Nyw4ICsyNjMyLDEwIEBAIHZvaWQgQVJHQlN1YnRyYWN0Um93X05FT04oY29uc3QgdWludDgq
IHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKIC8vIFIgPSBTb2JlbAogLy8gRyA9
IFNvYmVsCiAvLyBCID0gU29iZWwKLXZvaWQgU29iZWxSb3dfTkVPTihjb25zdCB1aW50OCogc3Jj
X3NvYmVseCwgY29uc3QgdWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBTb2JlbFJvd19ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfc29iZWx4LAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfc29i
ZWx5LAorICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAibW92aSAgICAgICB2My44
YiwgIzI1NSAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBhbHBoYQogICAgIC8vIDggcGl4ZWwg
bG9vcC4KQEAgLTI1NzQsOCArMjY2MSwxMCBAQCB2b2lkIFNvYmVsUm93X05FT04oY29uc3QgdWlu
dDgqIHNyY19zb2JlbHgsIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAogfQogCiAvLyBBZGRzIFNv
YmVsIFggYW5kIFNvYmVsIFkgYW5kIHN0b3JlcyBTb2JlbCBpbnRvIHBsYW5lLgotdm9pZCBTb2Jl
bFRvUGxhbmVSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgqIHNy
Y19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IHdp
ZHRoKSB7Cit2b2lkIFNvYmVsVG9QbGFuZVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAvLyAxNiBwaXhlbCBs
b29wLgogICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
QEAgLTI2MDIsOCArMjY5MSwxMCBAQCB2b2lkIFNvYmVsVG9QbGFuZVJvd19ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKIC8vIFIgPSBTb2JlbCBY
CiAvLyBHID0gU29iZWwKIC8vIEIgPSBTb2JlbCBZCi12b2lkIFNvYmVsWFlSb3dfTkVPTihjb25z
dCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewordm9pZCBTb2JlbFhZUm93
X05FT04oY29uc3QgdWludDgqIHNyY19zb2JlbHgsCisgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAog
ICAgICJtb3ZpICAgICAgIHYzLjhiLCAjMjU1ICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGFs
cGhhCiAgICAgLy8gOCBwaXhlbCBsb29wLgpAQCAtMjYzMCw4ICsyNzIxLDExIEBAIHZvaWQgU29i
ZWxYWVJvd19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3JjX3Nv
YmVseSwKIC8vIC0xICAwICAxCiAvLyAtMiAgMCAgMgogLy8gLTEgIDAgIDEKLXZvaWQgU29iZWxY
Um93X05FT04oY29uc3QgdWludDgqIHNyY195MCwgY29uc3QgdWludDgqIHNyY195MSwKLSAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY195MiwgdWludDgqIGRzdF9zb2JlbHgsIGlu
dCB3aWR0aCkgewordm9pZCBTb2JlbFhSb3dfTkVPTihjb25zdCB1aW50OCogc3JjX3kwLAorICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3kxLAorICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX3kyLAorICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3Nv
YmVseCwKKyAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAo
CiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAg
IE1FTUFDQ0VTUygwKQpAQCAtMjY3Myw4ICsyNzY3LDEwIEBAIHZvaWQgU29iZWxYUm93X05FT04o
Y29uc3QgdWludDgqIHNyY195MCwgY29uc3QgdWludDgqIHNyY195MSwKIC8vIC0xIC0yIC0xCiAv
LyAgMCAgMCAgMAogLy8gIDEgIDIgIDEKLXZvaWQgU29iZWxZUm93X05FT04oY29uc3QgdWludDgq
IHNyY195MCwgY29uc3QgdWludDgqIHNyY195MSwKLSAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9zb2JlbHksIGludCB3aWR0aCkgewordm9pZCBTb2JlbFlSb3dfTkVPTihjb25zdCB1aW50
OCogc3JjX3kwLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3kxLAorICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICIxOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIE1FTUFDQ0VTUygwKQpAQCAtMjcxMSw2ICsy
ODA3LDMwIEBAIHZvaWQgU29iZWxZUm93X05FT04oY29uc3QgdWludDgqIHNyY195MCwgY29uc3Qg
dWludDgqIHNyY195MSwKICAgKTsKIH0KIAorLy8gQ2F2ZWF0IC0gcm91bmRzIGZsb2F0IHRvIGhh
bGYgZmxvYXQgd2hlcmVhcyBzY2FsaW5nIHZlcnNpb24gdHJ1bmNhdGVzLgordm9pZCBIYWxmRmxv
YXQxUm93X05FT04oY29uc3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCwgaW50IHdp
ZHRoKSB7CisgIGFzbSB2b2xhdGlsZSAoCisgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgIE1FTUFDQ0VTUygwKQorICAgICJsZDEgICAgICAgIHt2
MS4xNmJ9LCBbJTBdLCAjMTYgICAgICAgICAgICBcbiIgIC8vIGxvYWQgOCBzaG9ydHMKKyAgICAi
c3VicyAgICAgICAldzIsICV3MiwgIzggICAgICAgICAgICAgICAgICAgXG4iICAvLyA4IHBpeGVs
cyBwZXIgbG9vcAorICAgICJ1eHRsICAgICAgIHYyLjRzLCB2MS40aCAgICAgICAgICAgICAgICAg
ICBcbiIgIC8vIDggaW50J3MKKyAgICAidXh0bDIgICAgICB2My40cywgdjEuOGggICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgInNjdnRmICAgICAgdjIuNHMsIHYyLjRzICAgICAgICAgICAgICAg
ICAgIFxuIiAgLy8gOCBmbG9hdHMKKyAgICAic2N2dGYgICAgICB2My40cywgdjMuNHMgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgImZjdnRuICAgICAgdjEuNGgsIHYyLjRzICAgICAgICAgICAg
ICAgICAgIFxuIiAgLy8gOCBoYWxmIGZsb2F0cworICAgICJmY3Z0bjIgICAgIHYxLjhoLCB2My40
cyAgICAgICAgICAgICAgICAgICBcbiIKKyAgIE1FTUFDQ0VTUygxKQorICAgICJzdDEgICAgICAg
IHt2MS4xNmJ9LCBbJTFdLCAjMTYgICAgICAgICAgICBcbiIgIC8vIHN0b3JlIDggc2hvcnRzCisg
ICAgImIuZ3QgICAgICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICA6ICIr
ciIoc3JjKSwgICAgLy8gJTAKKyAgICAiK3IiKGRzdCksICAgIC8vICUxCisgICAgIityIih3aWR0
aCkgICAvLyAlMgorICA6CisgIDogImNjIiwgIm1lbW9yeSIsICJ2MSIsICJ2MiIsICJ2MyIKKyAg
KTsKK30KKwogdm9pZCBIYWxmRmxvYXRSb3dfTkVPTihjb25zdCB1aW50MTYqIHNyYywgdWludDE2
KiBkc3QsIGZsb2F0IHNjYWxlLCBpbnQgd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgIjE6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0yNzE4LDIx
ICsyODM4LDIxIEBAIHZvaWQgSGFsZkZsb2F0Um93X05FT04oY29uc3QgdWludDE2KiBzcmMsIHVp
bnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50IHdpZHRoKSB7CiAgICAgImxkMSAgICAgICAge3Yx
LjE2Yn0sIFslMF0sICMxNiAgICAgICAgICAgIFxuIiAgLy8gbG9hZCA4IHNob3J0cwogICAgICJz
dWJzICAgICAgICV3MiwgJXcyLCAjOCAgICAgICAgICAgICAgICAgICBcbiIgIC8vIDggcGl4ZWxz
IHBlciBsb29wCiAgICAgInV4dGwgICAgICAgdjIuNHMsIHYxLjRoICAgICAgICAgICAgICAgICAg
IFxuIiAgLy8gOCBpbnQncwotICAgICJ1eHRsMiAgICAgIHYxLjRzLCB2MS44aCAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAidXh0bDIgICAgICB2My40cywgdjEuOGggICAgICAgICAgICAgICAg
ICAgXG4iCiAgICAgInNjdnRmICAgICAgdjIuNHMsIHYyLjRzICAgICAgICAgICAgICAgICAgIFxu
IiAgLy8gOCBmbG9hdHMKLSAgICAic2N2dGYgICAgICB2MS40cywgdjEuNHMgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgInNjdnRmICAgICAgdjMuNHMsIHYzLjRzICAgICAgICAgICAgICAgICAg
IFxuIgogICAgICJmbXVsICAgICAgIHYyLjRzLCB2Mi40cywgJTMuc1swXSAgICAgICAgICBcbiIg
IC8vIGFkanVzdCBleHBvbmVudAotICAgICJmbXVsICAgICAgIHYxLjRzLCB2MS40cywgJTMuc1sw
XSAgICAgICAgICBcbiIKLSAgICAidXFzaHJuICAgICB2NC40aCwgdjIuNHMsICMxMyAgICAgICAg
ICAgICAgXG4iICAvLyBpc29sYXRlIGhhbGZmbG9hdAotICAgICJ1cXNocm4yICAgIHY0LjhoLCB2
MS40cywgIzEzICAgICAgICAgICAgICBcbiIKKyAgICAiZm11bCAgICAgICB2My40cywgdjMuNHMs
ICUzLnNbMF0gICAgICAgICAgXG4iCisgICAgInVxc2hybiAgICAgdjEuNGgsIHYyLjRzLCAjMTMg
ICAgICAgICAgICAgIFxuIiAgLy8gaXNvbGF0ZSBoYWxmZmxvYXQKKyAgICAidXFzaHJuMiAgICB2
MS44aCwgdjMuNHMsICMxMyAgICAgICAgICAgICAgXG4iCiAgICBNRU1BQ0NFU1MoMSkKLSAgICAi
c3QxICAgICAgICB7djQuMTZifSwgWyUxXSwgIzE2ICAgICAgICAgICAgXG4iICAvLyBzdG9yZSA4
IHNob3J0cworICAgICJzdDEgICAgICAgIHt2MS4xNmJ9LCBbJTFdLCAjMTYgICAgICAgICAgICBc
biIgIC8vIHN0b3JlIDggc2hvcnRzCiAgICAgImIuZ3QgICAgICAgMWIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgogICA6ICIrciIoc3JjKSwgICAgLy8gJTAKICAgICAiK3IiKGRzdCks
ICAgIC8vICUxCiAgICAgIityIih3aWR0aCkgICAvLyAlMgogICA6ICJ3IihzY2FsZSAqIDEuOTI1
OTI5OTQ0NGUtMzRmKSAgICAvLyAlMwotICA6ICJjYyIsICJtZW1vcnkiLCAidjEiLCAidjIiLCAi
djQiCisgIDogImNjIiwgIm1lbW9yeSIsICJ2MSIsICJ2MiIsICJ2MyIKICAgKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvc291cmNlL3Jvd193aW4uY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93X3dpbi5jYwppbmRleCBlY2JlZTMwNDI2
YWQwODJhMjAzOTczNDU1MDA4MmZlMzZkNzg2MDk2Li4yMDJmMmI4ZDQ2ODc4NDVmYWZlNDcwN2Q1
OGZmYmI1NzFhMGY1MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93X3dpbi5jYworKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvcm93
X3dpbi5jYwpAQCAtMjgsNjEgKzI4LDYwIEBAIGV4dGVybiAiQyIgewogI2lmIGRlZmluZWQoX01f
WDY0KQogCiAvLyBSZWFkIDQgVVYgZnJvbSA0MjIsIHVwc2FtcGxlIHRvIDggVVYuCi0jZGVmaW5l
IFJFQURZVVY0MjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIHhtbTAgPSBfbW1fY3Z0c2kzMl9zaTEyOCgqKHVpbnQzMiop
dV9idWYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB4bW0xID0gX21t
X2N2dHNpMzJfc2kxMjgoKih1aW50MzIqKSh1X2J1ZiArIG9mZnNldCkpOyAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgeG1tMCA9IF9tbV91bnBhY2tsb19lcGk4KHhtbTAsIHhtbTEpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHhtbTAgPSBfbW1fdW5wYWNr
bG9fZXBpMTYoeG1tMCwgeG1tMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICB1X2J1ZiArPSA0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgeG1tNCA9IF9tbV9sb2FkbF9lcGk2NCgo
X19tMTI4aSopeV9idWYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IHhtbTQgPSBfbW1fdW5wYWNrbG9fZXBpOCh4bW00LCB4bW00KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICB5X2J1ZiArPSA4OworI2RlZmluZSBSRUFEWVVWNDIy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHhtbTAgPSBfbW1fY3Z0
c2kzMl9zaTEyOCgqKHVpbnQzMiopdV9idWYpOyAgICAgICAgICAgIFwKKyAgeG1tMSA9IF9tbV9j
dnRzaTMyX3NpMTI4KCoodWludDMyKikodV9idWYgKyBvZmZzZXQpKTsgXAorICB4bW0wID0gX21t
X3VucGFja2xvX2VwaTgoeG1tMCwgeG1tMSk7ICAgICAgICAgICAgICAgICBcCisgIHhtbTAgPSBf
bW1fdW5wYWNrbG9fZXBpMTYoeG1tMCwgeG1tMCk7ICAgICAgICAgICAgICAgIFwKKyAgdV9idWYg
Kz0gNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB4bW00
ID0gX21tX2xvYWRsX2VwaTY0KChfX20xMjhpKil5X2J1Zik7ICAgICAgICAgICAgICBcCisgIHht
bTQgPSBfbW1fdW5wYWNrbG9fZXBpOCh4bW00LCB4bW00KTsgICAgICAgICAgICAgICAgIFwKKyAg
eV9idWYgKz0gODsKIAogLy8gUmVhZCA0IFVWIGZyb20gNDIyLCB1cHNhbXBsZSB0byA4IFVWLiAg
V2l0aCA4IEFscGhhLgotI2RlZmluZSBSRUFEWVVWQTQyMiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB4bW0wID0gX21tX2N2
dHNpMzJfc2kxMjgoKih1aW50MzIqKXVfYnVmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgeG1tMSA9IF9tbV9jdnRzaTMyX3NpMTI4KCoodWludDMyKikodV9idWYgKyBv
ZmZzZXQpKTsgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHhtbTAgPSBfbW1fdW5wYWNrbG9f
ZXBpOCh4bW0wLCB4bW0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB4bW0wID0gX21tX3VucGFja2xvX2VwaTE2KHhtbTAsIHhtbTApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdV9idWYgKz0gNDsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHht
bTQgPSBfbW1fbG9hZGxfZXBpNjQoKF9fbTEyOGkqKXlfYnVmKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICB4bW00ID0gX21tX3VucGFja2xvX2VwaTgoeG1tNCwgeG1t
NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgeV9idWYgKz0g
ODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHhtbTUgPSBfbW1fbG9hZGxfZXBpNjQoKF9fbTEyOGkqKWFfYnVmKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBhX2J1ZiArPSA4OworI2Rl
ZmluZSBSRUFEWVVWQTQyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
IHhtbTAgPSBfbW1fY3Z0c2kzMl9zaTEyOCgqKHVpbnQzMiopdV9idWYpOyAgICAgICAgICAgIFwK
KyAgeG1tMSA9IF9tbV9jdnRzaTMyX3NpMTI4KCoodWludDMyKikodV9idWYgKyBvZmZzZXQpKTsg
XAorICB4bW0wID0gX21tX3VucGFja2xvX2VwaTgoeG1tMCwgeG1tMSk7ICAgICAgICAgICAgICAg
ICBcCisgIHhtbTAgPSBfbW1fdW5wYWNrbG9fZXBpMTYoeG1tMCwgeG1tMCk7ICAgICAgICAgICAg
ICAgIFwKKyAgdV9idWYgKz0gNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICB4bW00ID0gX21tX2xvYWRsX2VwaTY0KChfX20xMjhpKil5X2J1Zik7ICAgICAg
ICAgICAgICBcCisgIHhtbTQgPSBfbW1fdW5wYWNrbG9fZXBpOCh4bW00LCB4bW00KTsgICAgICAg
ICAgICAgICAgIFwKKyAgeV9idWYgKz0gODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICB4bW01ID0gX21tX2xvYWRsX2VwaTY0KChfX20xMjhpKilhX2J1Zik7
ICAgICAgICAgICAgICBcCisgIGFfYnVmICs9IDg7CiAKIC8vIENvbnZlcnQgOCBwaXhlbHM6IDgg
VVYgYW5kIDggWS4KLSNkZWZpbmUgWVVWVE9SR0IoeXV2Y29uc3RhbnRzKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgeG1tMSA9IF9tbV9sb2Fk
dV9zaTEyOCgmeG1tMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIHhtbTIgPSBfbW1fbG9hZHVfc2kxMjgoJnhtbTApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB4bW0wID0gX21tX21hZGR1YnNfZXBp
MTYoeG1tMCwgKihfX20xMjhpKil5dXZjb25zdGFudHMtPmtVVlRvQik7ICAgICAgICAgICBcCi0g
ICAgeG1tMSA9IF9tbV9tYWRkdWJzX2VwaTE2KHhtbTEsICooX19tMTI4aSopeXV2Y29uc3RhbnRz
LT5rVVZUb0cpOyAgICAgICAgICAgXAotICAgIHhtbTIgPSBfbW1fbWFkZHVic19lcGkxNih4bW0y
LCAqKF9fbTEyOGkqKXl1dmNvbnN0YW50cy0+a1VWVG9SKTsgICAgICAgICAgIFwKLSAgICB4bW0w
ID0gX21tX3N1Yl9lcGkxNigqKF9fbTEyOGkqKXl1dmNvbnN0YW50cy0+a1VWQmlhc0IsIHhtbTAp
OyAgICAgICAgICAgICBcCi0gICAgeG1tMSA9IF9tbV9zdWJfZXBpMTYoKihfX20xMjhpKil5dXZj
b25zdGFudHMtPmtVVkJpYXNHLCB4bW0xKTsgICAgICAgICAgICAgXAotICAgIHhtbTIgPSBfbW1f
c3ViX2VwaTE2KCooX19tMTI4aSopeXV2Y29uc3RhbnRzLT5rVVZCaWFzUiwgeG1tMik7ICAgICAg
ICAgICAgIFwKLSAgICB4bW00ID0gX21tX211bGhpX2VwdTE2KHhtbTQsICooX19tMTI4aSopeXV2
Y29uc3RhbnRzLT5rWVRvUmdiKTsgICAgICAgICAgICBcCi0gICAgeG1tMCA9IF9tbV9hZGRzX2Vw
aTE2KHhtbTAsIHhtbTQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIHhtbTEgPSBfbW1fYWRkc19lcGkxNih4bW0xLCB4bW00KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB4bW0yID0gX21tX2FkZHNfZXBpMTYoeG1t
MiwgeG1tNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
eG1tMCA9IF9tbV9zcmFpX2VwaTE2KHhtbTAsIDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIHhtbTEgPSBfbW1fc3JhaV9lcGkxNih4bW0xLCA2KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB4bW0yID0g
X21tX3NyYWlfZXBpMTYoeG1tMiwgNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgeG1tMCA9IF9tbV9wYWNrdXNfZXBpMTYoeG1tMCwgeG1tMCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHhtbTEgPSBfbW1fcGFj
a3VzX2VwaTE2KHhtbTEsIHhtbTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICB4bW0yID0gX21tX3BhY2t1c19lcGkxNih4bW0yLCB4bW0yKTsKKyNkZWZpbmUg
WVVWVE9SR0IoeXV2Y29uc3RhbnRzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgIHhtbTEgPSBfbW1fbG9hZHVfc2kxMjgoJnhtbTApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICB4bW0yID0gX21tX2xvYWR1X3NpMTI4KCZ4bW0wKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgeG1tMCA9IF9tbV9tYWRkdWJzX2VwaTE2
KHhtbTAsICooX19tMTI4aSopeXV2Y29uc3RhbnRzLT5rVVZUb0IpOyBcCisgIHhtbTEgPSBfbW1f
bWFkZHVic19lcGkxNih4bW0xLCAqKF9fbTEyOGkqKXl1dmNvbnN0YW50cy0+a1VWVG9HKTsgXAor
ICB4bW0yID0gX21tX21hZGR1YnNfZXBpMTYoeG1tMiwgKihfX20xMjhpKil5dXZjb25zdGFudHMt
PmtVVlRvUik7IFwKKyAgeG1tMCA9IF9tbV9zdWJfZXBpMTYoKihfX20xMjhpKil5dXZjb25zdGFu
dHMtPmtVVkJpYXNCLCB4bW0wKTsgICBcCisgIHhtbTEgPSBfbW1fc3ViX2VwaTE2KCooX19tMTI4
aSopeXV2Y29uc3RhbnRzLT5rVVZCaWFzRywgeG1tMSk7ICAgXAorICB4bW0yID0gX21tX3N1Yl9l
cGkxNigqKF9fbTEyOGkqKXl1dmNvbnN0YW50cy0+a1VWQmlhc1IsIHhtbTIpOyAgIFwKKyAgeG1t
NCA9IF9tbV9tdWxoaV9lcHUxNih4bW00LCAqKF9fbTEyOGkqKXl1dmNvbnN0YW50cy0+a1lUb1Jn
Yik7ICBcCisgIHhtbTAgPSBfbW1fYWRkc19lcGkxNih4bW0wLCB4bW00KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICB4bW0xID0gX21tX2FkZHNfZXBpMTYoeG1tMSwgeG1tNCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgeG1tMiA9IF9tbV9hZGRzX2VwaTE2
KHhtbTIsIHhtbTQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHhtbTAgPSBf
bW1fc3JhaV9lcGkxNih4bW0wLCA2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICB4bW0xID0gX21tX3NyYWlfZXBpMTYoeG1tMSwgNik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgeG1tMiA9IF9tbV9zcmFpX2VwaTE2KHhtbTIsIDYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHhtbTAgPSBfbW1fcGFja3VzX2VwaTE2KHht
bTAsIHhtbTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB4bW0xID0gX21tX3Bh
Y2t1c19lcGkxNih4bW0xLCB4bW0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
eG1tMiA9IF9tbV9wYWNrdXNfZXBpMTYoeG1tMiwgeG1tMik7CiAKIC8vIFN0b3JlIDggQVJHQiB2
YWx1ZXMuCi0jZGVmaW5lIFNUT1JFQVJHQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHhtbTAgPSBfbW1fdW5wYWNrbG9f
ZXBpOCh4bW0wLCB4bW0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB4bW0yID0gX21tX3VucGFja2xvX2VwaTgoeG1tMiwgeG1tNSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgeG1tMSA9IF9tbV9sb2FkdV9zaTEyOCgmeG1t
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHht
bTAgPSBfbW1fdW5wYWNrbG9fZXBpMTYoeG1tMCwgeG1tMik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICB4bW0xID0gX21tX3VucGFja2hpX2VwaTE2KHhtbTEsIHht
bTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX21tX3N0b3Jl
dV9zaTEyOCgoX19tMTI4aSAqKWRzdF9hcmdiLCB4bW0wKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9tbV9zdG9yZXVfc2kxMjgoKF9fbTEyOGkgKikoZHN0X2FyZ2IgKyAx
NiksIHhtbTEpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBkc3RfYXJnYiArPSAzMjsK
LQorI2RlZmluZSBTVE9SRUFSR0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgIHhtbTAgPSBfbW1fdW5wYWNrbG9fZXBpOCh4bW0wLCB4bW0xKTsgICAgICAgICAgICAgIFwK
KyAgeG1tMiA9IF9tbV91bnBhY2tsb19lcGk4KHhtbTIsIHhtbTUpOyAgICAgICAgICAgICAgXAor
ICB4bW0xID0gX21tX2xvYWR1X3NpMTI4KCZ4bW0wKTsgICAgICAgICAgICAgICAgICAgICBcCisg
IHhtbTAgPSBfbW1fdW5wYWNrbG9fZXBpMTYoeG1tMCwgeG1tMik7ICAgICAgICAgICAgIFwKKyAg
eG1tMSA9IF9tbV91bnBhY2toaV9lcGkxNih4bW0xLCB4bW0yKTsgICAgICAgICAgICAgXAorICBf
bW1fc3RvcmV1X3NpMTI4KChfX20xMjhpKilkc3RfYXJnYiwgeG1tMCk7ICAgICAgICBcCisgIF9t
bV9zdG9yZXVfc2kxMjgoKF9fbTEyOGkqKShkc3RfYXJnYiArIDE2KSwgeG1tMSk7IFwKKyAgZHN0
X2FyZ2IgKz0gMzI7CiAKICNpZiBkZWZpbmVkKEhBU19JNDIyVE9BUkdCUk9XX1NTU0UzKQogdm9p
ZCBJNDIyVG9BUkdCUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKQEAgLTEyNywxNzUgKzEy
NiwxNDMgQEAgdm9pZCBJNDIyQWxwaGFUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVm
LAogI2lmZGVmIEhBU19BUkdCVE9ZUk9XX1NTU0UzCiAKIC8vIENvbnN0YW50cyBmb3IgQVJHQi4K
LXN0YXRpYyBjb25zdCB2ZWM4IGtBUkdCVG9ZID0gewotICAxMywgNjUsIDMzLCAwLCAxMywgNjUs
IDMzLCAwLCAxMywgNjUsIDMzLCAwLCAxMywgNjUsIDMzLCAwCi19Oworc3RhdGljIGNvbnN0IHZl
Yzgga0FSR0JUb1kgPSB7MTMsIDY1LCAzMywgMCwgMTMsIDY1LCAzMywgMCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEzLCA2NSwgMzMsIDAsIDEzLCA2NSwgMzMsIDB9OwogCiAvLyBK
UGVnIGZ1bGwgcmFuZ2UuCi1zdGF0aWMgY29uc3QgdmVjOCBrQVJHQlRvWUogPSB7Ci0gIDE1LCA3
NSwgMzgsIDAsIDE1LCA3NSwgMzgsIDAsIDE1LCA3NSwgMzgsIDAsIDE1LCA3NSwgMzgsIDAKLX07
CitzdGF0aWMgY29uc3QgdmVjOCBrQVJHQlRvWUogPSB7MTUsIDc1LCAzOCwgMCwgMTUsIDc1LCAz
OCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNSwgNzUsIDM4LCAwLCAxNSwg
NzUsIDM4LCAwfTsKIAotc3RhdGljIGNvbnN0IHZlYzgga0FSR0JUb1UgPSB7Ci0gIDExMiwgLTc0
LCAtMzgsIDAsIDExMiwgLTc0LCAtMzgsIDAsIDExMiwgLTc0LCAtMzgsIDAsIDExMiwgLTc0LCAt
MzgsIDAKLX07CitzdGF0aWMgY29uc3QgdmVjOCBrQVJHQlRvVSA9IHsxMTIsIC03NCwgLTM4LCAw
LCAxMTIsIC03NCwgLTM4LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEyLCAt
NzQsIC0zOCwgMCwgMTEyLCAtNzQsIC0zOCwgMH07CiAKLXN0YXRpYyBjb25zdCB2ZWM4IGtBUkdC
VG9VSiA9IHsKLSAgMTI3LCAtODQsIC00MywgMCwgMTI3LCAtODQsIC00MywgMCwgMTI3LCAtODQs
IC00MywgMCwgMTI3LCAtODQsIC00MywgMAotfTsKK3N0YXRpYyBjb25zdCB2ZWM4IGtBUkdCVG9V
SiA9IHsxMjcsIC04NCwgLTQzLCAwLCAxMjcsIC04NCwgLTQzLCAwLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEyNywgLTg0LCAtNDMsIDAsIDEyNywgLTg0LCAtNDMsIDB9OwogCiBz
dGF0aWMgY29uc3QgdmVjOCBrQVJHQlRvViA9IHsKLSAgLTE4LCAtOTQsIDExMiwgMCwgLTE4LCAt
OTQsIDExMiwgMCwgLTE4LCAtOTQsIDExMiwgMCwgLTE4LCAtOTQsIDExMiwgMCwKKyAgICAtMTgs
IC05NCwgMTEyLCAwLCAtMTgsIC05NCwgMTEyLCAwLCAtMTgsIC05NCwgMTEyLCAwLCAtMTgsIC05
NCwgMTEyLCAwLAogfTsKIAotc3RhdGljIGNvbnN0IHZlYzgga0FSR0JUb1ZKID0gewotICAtMjAs
IC0xMDcsIDEyNywgMCwgLTIwLCAtMTA3LCAxMjcsIDAsIC0yMCwgLTEwNywgMTI3LCAwLCAtMjAs
IC0xMDcsIDEyNywgMAotfTsKK3N0YXRpYyBjb25zdCB2ZWM4IGtBUkdCVG9WSiA9IHstMjAsIC0x
MDcsIDEyNywgMCwgLTIwLCAtMTA3LCAxMjcsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLTIwLCAtMTA3LCAxMjcsIDAsIC0yMCwgLTEwNywgMTI3LCAwfTsKIAogLy8gdnBzaHVm
YiBmb3IgdnBoYWRkdyArIHZwYWNrdXN3YiBwYWNrZWQgdG8gc2hvcnRzLgogc3RhdGljIGNvbnN0
IGx2ZWM4IGtTaHVmQVJHQlRvVVZfQVZYID0gewotICAwLCAxLCA4LCA5LCAyLCAzLCAxMCwgMTEs
IDQsIDUsIDEyLCAxMywgNiwgNywgMTQsIDE1LAotICAwLCAxLCA4LCA5LCAyLCAzLCAxMCwgMTEs
IDQsIDUsIDEyLCAxMywgNiwgNywgMTQsIDE1Ci19OworICAgIDAsIDEsIDgsIDksIDIsIDMsIDEw
LCAxMSwgNCwgNSwgMTIsIDEzLCA2LCA3LCAxNCwgMTUsCisgICAgMCwgMSwgOCwgOSwgMiwgMywg
MTAsIDExLCA0LCA1LCAxMiwgMTMsIDYsIDcsIDE0LCAxNX07CiAKIC8vIENvbnN0YW50cyBmb3Ig
QkdSQS4KLXN0YXRpYyBjb25zdCB2ZWM4IGtCR1JBVG9ZID0gewotICAwLCAzMywgNjUsIDEzLCAw
LCAzMywgNjUsIDEzLCAwLCAzMywgNjUsIDEzLCAwLCAzMywgNjUsIDEzCi19Oworc3RhdGljIGNv
bnN0IHZlYzgga0JHUkFUb1kgPSB7MCwgMzMsIDY1LCAxMywgMCwgMzMsIDY1LCAxMywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDMzLCA2NSwgMTMsIDAsIDMzLCA2NSwgMTN9Owog
Ci1zdGF0aWMgY29uc3QgdmVjOCBrQkdSQVRvVSA9IHsKLSAgMCwgLTM4LCAtNzQsIDExMiwgMCwg
LTM4LCAtNzQsIDExMiwgMCwgLTM4LCAtNzQsIDExMiwgMCwgLTM4LCAtNzQsIDExMgotfTsKK3N0
YXRpYyBjb25zdCB2ZWM4IGtCR1JBVG9VID0gezAsIC0zOCwgLTc0LCAxMTIsIDAsIC0zOCwgLTc0
LCAxMTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAtMzgsIC03NCwgMTEyLCAw
LCAtMzgsIC03NCwgMTEyfTsKIAotc3RhdGljIGNvbnN0IHZlYzgga0JHUkFUb1YgPSB7Ci0gIDAs
IDExMiwgLTk0LCAtMTgsIDAsIDExMiwgLTk0LCAtMTgsIDAsIDExMiwgLTk0LCAtMTgsIDAsIDEx
MiwgLTk0LCAtMTgKLX07CitzdGF0aWMgY29uc3QgdmVjOCBrQkdSQVRvViA9IHswLCAxMTIsIC05
NCwgLTE4LCAwLCAxMTIsIC05NCwgLTE4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MCwgMTEyLCAtOTQsIC0xOCwgMCwgMTEyLCAtOTQsIC0xOH07CiAKIC8vIENvbnN0YW50cyBmb3Ig
QUJHUi4KLXN0YXRpYyBjb25zdCB2ZWM4IGtBQkdSVG9ZID0gewotICAzMywgNjUsIDEzLCAwLCAz
MywgNjUsIDEzLCAwLCAzMywgNjUsIDEzLCAwLCAzMywgNjUsIDEzLCAwCi19Oworc3RhdGljIGNv
bnN0IHZlYzgga0FCR1JUb1kgPSB7MzMsIDY1LCAxMywgMCwgMzMsIDY1LCAxMywgMCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDMzLCA2NSwgMTMsIDAsIDMzLCA2NSwgMTMsIDB9Owog
Ci1zdGF0aWMgY29uc3QgdmVjOCBrQUJHUlRvVSA9IHsKLSAgLTM4LCAtNzQsIDExMiwgMCwgLTM4
LCAtNzQsIDExMiwgMCwgLTM4LCAtNzQsIDExMiwgMCwgLTM4LCAtNzQsIDExMiwgMAotfTsKK3N0
YXRpYyBjb25zdCB2ZWM4IGtBQkdSVG9VID0gey0zOCwgLTc0LCAxMTIsIDAsIC0zOCwgLTc0LCAx
MTIsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMzgsIC03NCwgMTEyLCAwLCAt
MzgsIC03NCwgMTEyLCAwfTsKIAotc3RhdGljIGNvbnN0IHZlYzgga0FCR1JUb1YgPSB7Ci0gIDEx
MiwgLTk0LCAtMTgsIDAsIDExMiwgLTk0LCAtMTgsIDAsIDExMiwgLTk0LCAtMTgsIDAsIDExMiwg
LTk0LCAtMTgsIDAKLX07CitzdGF0aWMgY29uc3QgdmVjOCBrQUJHUlRvViA9IHsxMTIsIC05NCwg
LTE4LCAwLCAxMTIsIC05NCwgLTE4LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MTEyLCAtOTQsIC0xOCwgMCwgMTEyLCAtOTQsIC0xOCwgMH07CiAKIC8vIENvbnN0YW50cyBmb3Ig
UkdCQS4KLXN0YXRpYyBjb25zdCB2ZWM4IGtSR0JBVG9ZID0gewotICAwLCAxMywgNjUsIDMzLCAw
LCAxMywgNjUsIDMzLCAwLCAxMywgNjUsIDMzLCAwLCAxMywgNjUsIDMzCi19Oworc3RhdGljIGNv
bnN0IHZlYzgga1JHQkFUb1kgPSB7MCwgMTMsIDY1LCAzMywgMCwgMTMsIDY1LCAzMywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDEzLCA2NSwgMzMsIDAsIDEzLCA2NSwgMzN9Owog
Ci1zdGF0aWMgY29uc3QgdmVjOCBrUkdCQVRvVSA9IHsKLSAgMCwgMTEyLCAtNzQsIC0zOCwgMCwg
MTEyLCAtNzQsIC0zOCwgMCwgMTEyLCAtNzQsIC0zOCwgMCwgMTEyLCAtNzQsIC0zOAotfTsKK3N0
YXRpYyBjb25zdCB2ZWM4IGtSR0JBVG9VID0gezAsIDExMiwgLTc0LCAtMzgsIDAsIDExMiwgLTc0
LCAtMzgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAxMTIsIC03NCwgLTM4LCAw
LCAxMTIsIC03NCwgLTM4fTsKIAotc3RhdGljIGNvbnN0IHZlYzgga1JHQkFUb1YgPSB7Ci0gIDAs
IC0xOCwgLTk0LCAxMTIsIDAsIC0xOCwgLTk0LCAxMTIsIDAsIC0xOCwgLTk0LCAxMTIsIDAsIC0x
OCwgLTk0LCAxMTIKLX07CitzdGF0aWMgY29uc3QgdmVjOCBrUkdCQVRvViA9IHswLCAtMTgsIC05
NCwgMTEyLCAwLCAtMTgsIC05NCwgMTEyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MCwgLTE4LCAtOTQsIDExMiwgMCwgLTE4LCAtOTQsIDExMn07CiAKLXN0YXRpYyBjb25zdCB1dmVj
OCBrQWRkWTE2ID0gewotICAxNnUsIDE2dSwgMTZ1LCAxNnUsIDE2dSwgMTZ1LCAxNnUsIDE2dSwg
MTZ1LCAxNnUsIDE2dSwgMTZ1LCAxNnUsIDE2dSwgMTZ1LCAxNnUKLX07CitzdGF0aWMgY29uc3Qg
dXZlYzgga0FkZFkxNiA9IHsxNnUsIDE2dSwgMTZ1LCAxNnUsIDE2dSwgMTZ1LCAxNnUsIDE2dSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2dSwgMTZ1LCAxNnUsIDE2dSwgMTZ1LCAx
NnUsIDE2dSwgMTZ1fTsKIAogLy8gNyBiaXQgZml4ZWQgcG9pbnQgMC41Lgotc3RhdGljIGNvbnN0
IHZlYzE2IGtBZGRZSjY0ID0gewotICA2NCwgNjQsIDY0LCA2NCwgNjQsIDY0LCA2NCwgNjQKLX07
CitzdGF0aWMgY29uc3QgdmVjMTYga0FkZFlKNjQgPSB7NjQsIDY0LCA2NCwgNjQsIDY0LCA2NCwg
NjQsIDY0fTsKIAotc3RhdGljIGNvbnN0IHV2ZWM4IGtBZGRVVjEyOCA9IHsKLSAgMTI4dSwgMTI4
dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwKLSAgMTI4dSwgMTI4dSwgMTI4
dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dQotfTsKK3N0YXRpYyBjb25zdCB1dmVjOCBr
QWRkVVYxMjggPSB7MTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4
dSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTI4dSwgMTI4dSwgMTI4dSwgMTI4
dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dX07CiAKLXN0YXRpYyBjb25zdCB1dmVjMTYga0FkZFVW
SjEyOCA9IHsKLSAgMHg4MDgwdSwgMHg4MDgwdSwgMHg4MDgwdSwgMHg4MDgwdSwgMHg4MDgwdSwg
MHg4MDgwdSwgMHg4MDgwdSwgMHg4MDgwdQotfTsKK3N0YXRpYyBjb25zdCB1dmVjMTYga0FkZFVW
SjEyOCA9IHsweDgwODB1LCAweDgwODB1LCAweDgwODB1LCAweDgwODB1LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDB4ODA4MHUsIDB4ODA4MHUsIDB4ODA4MHUsIDB4ODA4MHV9
OwogCiAvLyBTaHVmZmxlIHRhYmxlIGZvciBjb252ZXJ0aW5nIFJHQjI0IHRvIEFSR0IuCiBzdGF0
aWMgY29uc3QgdXZlYzgga1NodWZmbGVNYXNrUkdCMjRUb0FSR0IgPSB7Ci0gIDB1LCAxdSwgMnUs
IDEydSwgM3UsIDR1LCA1dSwgMTN1LCA2dSwgN3UsIDh1LCAxNHUsIDl1LCAxMHUsIDExdSwgMTV1
Ci19OworICAgIDB1LCAxdSwgMnUsIDEydSwgM3UsIDR1LCA1dSwgMTN1LCA2dSwgN3UsIDh1LCAx
NHUsIDl1LCAxMHUsIDExdSwgMTV1fTsKIAogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgY29udmVydGlu
ZyBSQVcgdG8gQVJHQi4KLXN0YXRpYyBjb25zdCB1dmVjOCBrU2h1ZmZsZU1hc2tSQVdUb0FSR0Ig
PSB7Ci0gIDJ1LCAxdSwgMHUsIDEydSwgNXUsIDR1LCAzdSwgMTN1LCA4dSwgN3UsIDZ1LCAxNHUs
IDExdSwgMTB1LCA5dSwgMTV1Ci19Oworc3RhdGljIGNvbnN0IHV2ZWM4IGtTaHVmZmxlTWFza1JB
V1RvQVJHQiA9IHsydSwgMXUsIDB1LCAxMnUsIDV1LCAgNHUsICAzdSwgMTN1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4dSwgN3UsIDZ1LCAxNHUsIDExdSwg
MTB1LCA5dSwgMTV1fTsKIAogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgY29udmVydGluZyBSQVcgdG8g
UkdCMjQuICBGaXJzdCA4Lgogc3RhdGljIGNvbnN0IHV2ZWM4IGtTaHVmZmxlTWFza1JBV1RvUkdC
MjRfMCA9IHsKLSAgMnUsIDF1LCAwdSwgNXUsIDR1LCAzdSwgOHUsIDd1LAotICAxMjh1LCAxMjh1
LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1LCAxMjh1Ci19OworICAgIDJ1LCAgIDF1LCAg
IDB1LCAgIDV1LCAgIDR1LCAgIDN1LCAgIDh1LCAgIDd1LAorICAgIDEyOHUsIDEyOHUsIDEyOHUs
IDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHV9OwogCiAvLyBTaHVmZmxlIHRhYmxlIGZvciBj
b252ZXJ0aW5nIFJBVyB0byBSR0IyNC4gIE1pZGRsZSA4Lgogc3RhdGljIGNvbnN0IHV2ZWM4IGtT
aHVmZmxlTWFza1JBV1RvUkdCMjRfMSA9IHsKLSAgMnUsIDd1LCA2dSwgNXUsIDEwdSwgOXUsIDh1
LCAxM3UsCi0gIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUK
LX07CisgICAgMnUsICAgN3UsICAgNnUsICAgNXUsICAgMTB1LCAgOXUsICAgOHUsICAgMTN1LAor
ICAgIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHV9OwogCiAv
LyBTaHVmZmxlIHRhYmxlIGZvciBjb252ZXJ0aW5nIFJBVyB0byBSR0IyNC4gIExhc3QgOC4KIHN0
YXRpYyBjb25zdCB1dmVjOCBrU2h1ZmZsZU1hc2tSQVdUb1JHQjI0XzIgPSB7Ci0gIDh1LCA3dSwg
MTJ1LCAxMXUsIDEwdSwgMTV1LCAxNHUsIDEzdSwKLSAgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwg
MTI4dSwgMTI4dSwgMTI4dSwgMTI4dQotfTsKKyAgICA4dSwgICA3dSwgICAxMnUsICAxMXUsICAx
MHUsICAxNXUsICAxNHUsICAxM3UsCisgICAgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwgMTI4dSwg
MTI4dSwgMTI4dSwgMTI4dX07CiAKIC8vIFNodWZmbGUgdGFibGUgZm9yIGNvbnZlcnRpbmcgQVJH
QiB0byBSR0IyNC4KIHN0YXRpYyBjb25zdCB1dmVjOCBrU2h1ZmZsZU1hc2tBUkdCVG9SR0IyNCA9
IHsKLSAgMHUsIDF1LCAydSwgNHUsIDV1LCA2dSwgOHUsIDl1LCAxMHUsIDEydSwgMTN1LCAxNHUs
IDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUKLX07CisgICAgMHUsIDF1LCAydSwgNHUsIDV1LCA2dSwg
OHUsIDl1LCAxMHUsIDEydSwgMTN1LCAxNHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHV9OwogCiAv
LyBTaHVmZmxlIHRhYmxlIGZvciBjb252ZXJ0aW5nIEFSR0IgdG8gUkFXLgogc3RhdGljIGNvbnN0
IHV2ZWM4IGtTaHVmZmxlTWFza0FSR0JUb1JBVyA9IHsKLSAgMnUsIDF1LCAwdSwgNnUsIDV1LCA0
dSwgMTB1LCA5dSwgOHUsIDE0dSwgMTN1LCAxMnUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUKLX07
CisgICAgMnUsIDF1LCAwdSwgNnUsIDV1LCA0dSwgMTB1LCA5dSwgOHUsIDE0dSwgMTN1LCAxMnUs
IDEyOHUsIDEyOHUsIDEyOHUsIDEyOHV9OwogCiAvLyBTaHVmZmxlIHRhYmxlIGZvciBjb252ZXJ0
aW5nIEFSR0JUb1JHQjI0IGZvciBJNDIyVG9SR0IyNC4gIEZpcnN0IDggKyBuZXh0IDQKIHN0YXRp
YyBjb25zdCB1dmVjOCBrU2h1ZmZsZU1hc2tBUkdCVG9SR0IyNF8wID0gewotICAwdSwgMXUsIDJ1
LCA0dSwgNXUsIDZ1LCA4dSwgOXUsIDEyOHUsIDEyOHUsIDEyOHUsIDEyOHUsIDEwdSwgMTJ1LCAx
M3UsIDE0dQotfTsKKyAgICAwdSwgMXUsIDJ1LCA0dSwgNXUsIDZ1LCA4dSwgOXUsIDEyOHUsIDEy
OHUsIDEyOHUsIDEyOHUsIDEwdSwgMTJ1LCAxM3UsIDE0dX07CiAKIC8vIFlVWTIgc2h1ZiAxNiBZ
IHRvIDMyIFkuCi1zdGF0aWMgY29uc3QgbHZlYzgga1NodWZmbGVZVVkyWSA9IHsKLSAgMCwgMCwg
MiwgMiwgNCwgNCwgNiwgNiwgOCwgOCwgMTAsIDEwLCAxMiwgMTIsIDE0LCAxNCwKLSAgMCwgMCwg
MiwgMiwgNCwgNCwgNiwgNiwgOCwgOCwgMTAsIDEwLCAxMiwgMTIsIDE0LCAxNAotfTsKK3N0YXRp
YyBjb25zdCBsdmVjOCBrU2h1ZmZsZVlVWTJZID0gezAsICAwLCAgMiwgIDIsICA0LCAgNCwgIDYs
ICA2LCAgOCwgIDgsIDEwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAs
IDEyLCAxMiwgMTQsIDE0LCAwLCAgMCwgIDIsICAyLCAgNCwgNCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDYsICA2LCAgOCwgIDgsICAxMCwgMTAsIDEyLCAxMiwgMTQsIDE0
fTsKIAogLy8gWVVZMiBzaHVmIDggVVYgdG8gMTYgVVYuCi1zdGF0aWMgY29uc3QgbHZlYzgga1No
dWZmbGVZVVkyVVYgPSB7Ci0gIDEsIDMsIDEsIDMsIDUsIDcsIDUsIDcsIDksIDExLCA5LCAxMSwg
MTMsIDE1LCAxMywgMTUsCi0gIDEsIDMsIDEsIDMsIDUsIDcsIDUsIDcsIDksIDExLCA5LCAxMSwg
MTMsIDE1LCAxMywgMTUKLX07CitzdGF0aWMgY29uc3QgbHZlYzgga1NodWZmbGVZVVkyVVYgPSB7
MSwgIDMsICAxLCAgMywgIDUsICA3LCAgNSwgIDcsICA5LCAgMTEsIDksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMTEsIDEzLCAxNSwgMTMsIDE1LCAxLCAgMywgIDEsICAz
LCAgNSwgIDcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSwgIDcsICA5
LCAgMTEsIDksICAxMSwgMTMsIDE1LCAxMywgMTV9OwogCiAvLyBVWVZZIHNodWYgMTYgWSB0byAz
MiBZLgotc3RhdGljIGNvbnN0IGx2ZWM4IGtTaHVmZmxlVVlWWVkgPSB7Ci0gIDEsIDEsIDMsIDMs
IDUsIDUsIDcsIDcsIDksIDksIDExLCAxMSwgMTMsIDEzLCAxNSwgMTUsCi0gIDEsIDEsIDMsIDMs
IDUsIDUsIDcsIDcsIDksIDksIDExLCAxMSwgMTMsIDEzLCAxNSwgMTUKLX07CitzdGF0aWMgY29u
c3QgbHZlYzgga1NodWZmbGVVWVZZWSA9IHsxLCAgMSwgIDMsICAzLCAgNSwgIDUsICA3LCAgNywg
IDksICA5LCAxMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExLCAxMywg
MTMsIDE1LCAxNSwgMSwgIDEsICAzLCAgMywgIDUsIDUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA3LCAgNywgIDksICA5LCAgMTEsIDExLCAxMywgMTMsIDE1LCAxNX07CiAK
IC8vIFVZVlkgc2h1ZiA4IFVWIHRvIDE2IFVWLgotc3RhdGljIGNvbnN0IGx2ZWM4IGtTaHVmZmxl
VVlWWVVWID0gewotICAwLCAyLCAwLCAyLCA0LCA2LCA0LCA2LCA4LCAxMCwgOCwgMTAsIDEyLCAx
NCwgMTIsIDE0LAotICAwLCAyLCAwLCAyLCA0LCA2LCA0LCA2LCA4LCAxMCwgOCwgMTAsIDEyLCAx
NCwgMTIsIDE0Ci19Oworc3RhdGljIGNvbnN0IGx2ZWM4IGtTaHVmZmxlVVlWWVVWID0gezAsICAy
LCAgMCwgIDIsICA0LCAgNiwgIDQsICA2LCAgOCwgIDEwLCA4LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEwLCAxMiwgMTQsIDEyLCAxNCwgMCwgIDIsICAwLCAgMiwgIDQs
ICA2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsICA2LCAgOCwgIDEw
LCA4LCAgMTAsIDEyLCAxNCwgMTIsIDE0fTsKIAogLy8gTlYyMSBzaHVmIDggVlUgdG8gMTYgVVYu
CiBzdGF0aWMgY29uc3QgbHZlYzgga1NodWZmbGVOVjIxID0gewotICAxLCAwLCAxLCAwLCAzLCAy
LCAzLCAyLCA1LCA0LCA1LCA0LCA3LCA2LCA3LCA2LAotICAxLCAwLCAxLCAwLCAzLCAyLCAzLCAy
LCA1LCA0LCA1LCA0LCA3LCA2LCA3LCA2LAorICAgIDEsIDAsIDEsIDAsIDMsIDIsIDMsIDIsIDUs
IDQsIDUsIDQsIDcsIDYsIDcsIDYsCisgICAgMSwgMCwgMSwgMCwgMywgMiwgMywgMiwgNSwgNCwg
NSwgNCwgNywgNiwgNywgNiwKIH07CiAKIC8vIER1cGxpY2F0ZXMgZ3JheSB2YWx1ZSAzIHRpbWVz
IGFuZCBmaWxscyBpbiBhbHBoYSBvcGFxdWUuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBKNDAw
VG9BUkdCUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195LCB1aW50OCogZHN0X2FyZ2IsIGludCB3
aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBKNDAwVG9BUkdCUm93X1NTRTIoY29uc3Qg
dWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRd
ICAgICAgICAvLyBzcmNfeQotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAgICAgIC8v
IGRzdF9hcmdiCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gICAgICAgLy8gd2lkdGgK
LSAgICBwY21wZXFiICAgIHhtbTUsIHhtbTUgICAgICAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4
ZmYwMDAwMDAKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfeQorICAgIG1v
diAgICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdF9hcmdiCisgICAgbW92ICAgICAgICBlY3gs
IFtlc3AgKyAxMl0gIC8vIHdpZHRoCisgICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAvLyBnZW5l
cmF0ZSBtYXNrIDB4ZmYwMDAwMDAKICAgICBwc2xsZCAgICAgIHhtbTUsIDI0CiAKICAgY29udmVy
dGxvb3A6CkBAIC0zMTgsMTMgKzI4NSwxNCBAQCB2b2lkIEo0MDBUb0FSR0JSb3dfU1NFMihjb25z
dCB1aW50OCogc3JjX3ksIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7CiAKICNpZmRlZiBI
QVNfSjQwMFRPQVJHQlJPV19BVlgyCiAvLyBEdXBsaWNhdGVzIGdyYXkgdmFsdWUgMyB0aW1lcyBh
bmQgZmlsbHMgaW4gYWxwaGEgb3BhcXVlLgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgSjQwMFRv
QVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeSwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lk
dGgpIHsKLSAgX19hc20gewotICAgIG1vdiAgICAgICAgIGVheCwgW2VzcCArIDRdICAgICAgICAv
LyBzcmNfeQotICAgIG1vdiAgICAgICAgIGVkeCwgW2VzcCArIDhdICAgICAgICAvLyBkc3RfYXJn
YgotICAgIG1vdiAgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgICAgICAvLyB3aWR0aAotICAgIHZw
Y21wZXFiICAgIHltbTUsIHltbTUsIHltbTUgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMDAw
MDAKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgSjQwMFRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4
KiBzcmNfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgeworICBfX2FzbSB7CisgICAgbW92ICAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8v
IHNyY195CisgICAgbW92ICAgICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdF9hcmdiCisgICAg
bW92ICAgICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyB3aWR0aAorICAgIHZwY21wZXFiICAgIHlt
bTUsIHltbTUsIHltbTUgIC8vIGdlbmVyYXRlIG1hc2sgMHhmZjAwMDAwMAogICAgIHZwc2xsZCAg
ICAgIHltbTUsIHltbTUsIDI0CiAKICAgY29udmVydGxvb3A6CkBAIC0zNDgsMTMgKzMxNiwxNCBA
QCB2b2lkIEo0MDBUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3ksIHVpbnQ4KiBkc3Rf
YXJnYiwgaW50IHdpZHRoKSB7CiB9CiAjZW5kaWYgIC8vIEhBU19KNDAwVE9BUkdCUk9XX0FWWDIK
IAotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgUkdCMjRUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWlu
dDgqIHNyY19yZ2IyNCwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMo
bmFrZWQpIHZvaWQgUkdCMjRUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19yZ2IyNCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8vIHNyY19y
Z2IyNAotICAgIG1vdiAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRzdF9hcmdiCisgICAgbW92
ICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfcmdiMjQKKyAgICBtb3YgICAgICAgZWR4LCBb
ZXNwICsgOF0gIC8vIGRzdF9hcmdiCiAgICAgbW92ICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8g
d2lkdGgKLSAgICBwY21wZXFiICAgeG1tNSwgeG1tNSAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4
ZmYwMDAwMDAKKyAgICBwY21wZXFiICAgeG1tNSwgeG1tNSAgLy8gZ2VuZXJhdGUgbWFzayAweGZm
MDAwMDAwCiAgICAgcHNsbGQgICAgIHhtbTUsIDI0CiAgICAgbW92ZHFhICAgIHhtbTQsIHhtbXdv
cmQgcHRyIGtTaHVmZmxlTWFza1JHQjI0VG9BUkdCCiAKQEAgLTM2NCwxNyArMzMzLDE3IEBAIHZv
aWQgUkdCMjRUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19yZ2IyNCwgdWludDgqIGRz
dF9hcmdiLCBpbnQgd2lkdGgpIHsKICAgICBtb3ZkcXUgICAgeG1tMywgW2VheCArIDMyXQogICAg
IGxlYSAgICAgICBlYXgsIFtlYXggKyA0OF0KICAgICBtb3ZkcWEgICAgeG1tMiwgeG1tMwotICAg
IHBhbGlnbnIgICB4bW0yLCB4bW0xLCA4ICAgIC8vIHhtbTIgPSB7IHhtbTNbMDozXSB4bW0xWzg6
MTVdfQorICAgIHBhbGlnbnIgICB4bW0yLCB4bW0xLCA4ICAvLyB4bW0yID0geyB4bW0zWzA6M10g
eG1tMVs4OjE1XX0KICAgICBwc2h1ZmIgICAgeG1tMiwgeG1tNAogICAgIHBvciAgICAgICB4bW0y
LCB4bW01Ci0gICAgcGFsaWduciAgIHhtbTEsIHhtbTAsIDEyICAgLy8geG1tMSA9IHsgeG1tM1sw
OjddIHhtbTBbMTI6MTVdfQorICAgIHBhbGlnbnIgICB4bW0xLCB4bW0wLCAxMiAgLy8geG1tMSA9
IHsgeG1tM1swOjddIHhtbTBbMTI6MTVdfQogICAgIHBzaHVmYiAgICB4bW0wLCB4bW00CiAgICAg
bW92ZHF1ICAgIFtlZHggKyAzMl0sIHhtbTIKICAgICBwb3IgICAgICAgeG1tMCwgeG1tNQogICAg
IHBzaHVmYiAgICB4bW0xLCB4bW00CiAgICAgbW92ZHF1ICAgIFtlZHhdLCB4bW0wCiAgICAgcG9y
ICAgICAgIHhtbTEsIHhtbTUKLSAgICBwYWxpZ25yICAgeG1tMywgeG1tMywgNCAgICAvLyB4bW0z
ID0geyB4bW0zWzQ6MTVdfQorICAgIHBhbGlnbnIgICB4bW0zLCB4bW0zLCA0ICAvLyB4bW0zID0g
eyB4bW0zWzQ6MTVdfQogICAgIHBzaHVmYiAgICB4bW0zLCB4bW00CiAgICAgbW92ZHF1ICAgIFtl
ZHggKyAxNl0sIHhtbTEKICAgICBwb3IgICAgICAgeG1tMywgeG1tNQpAQCAtMzg2LDE0ICszNTUs
MTQgQEAgdm9pZCBSR0IyNFRvQVJHQlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3JnYjI0LCB1
aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgewogICB9CiB9CiAKLV9fZGVjbHNwZWMobmFrZWQp
Ci12b2lkIFJBV1RvQVJHQlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3JhdywgdWludDgqIGRz
dF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVj
KG5ha2VkKSB2b2lkIFJBV1RvQVJHQlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3JhdywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewog
ICBfX2FzbSB7Ci0gICAgbW92ICAgICAgIGVheCwgW2VzcCArIDRdICAgLy8gc3JjX3JhdwotICAg
IG1vdiAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRzdF9hcmdiCisgICAgbW92ICAgICAgIGVh
eCwgW2VzcCArIDRdICAvLyBzcmNfcmF3CisgICAgbW92ICAgICAgIGVkeCwgW2VzcCArIDhdICAv
LyBkc3RfYXJnYgogICAgIG1vdiAgICAgICBlY3gsIFtlc3AgKyAxMl0gIC8vIHdpZHRoCi0gICAg
cGNtcGVxYiAgIHhtbTUsIHhtbTUgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweGZmMDAwMDAwCisg
ICAgcGNtcGVxYiAgIHhtbTUsIHhtbTUgIC8vIGdlbmVyYXRlIG1hc2sgMHhmZjAwMDAwMAogICAg
IHBzbGxkICAgICB4bW01LCAyNAogICAgIG1vdmRxYSAgICB4bW00LCB4bW13b3JkIHB0ciBrU2h1
ZmZsZU1hc2tSQVdUb0FSR0IKIApAQCAtNDAzLDE3ICszNzIsMTcgQEAgdm9pZCBSQVdUb0FSR0JS
b3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19yYXcsIHVpbnQ4KiBkc3RfYXJnYiwKICAgICBtb3Zk
cXUgICAgeG1tMywgW2VheCArIDMyXQogICAgIGxlYSAgICAgICBlYXgsIFtlYXggKyA0OF0KICAg
ICBtb3ZkcWEgICAgeG1tMiwgeG1tMwotICAgIHBhbGlnbnIgICB4bW0yLCB4bW0xLCA4ICAgIC8v
IHhtbTIgPSB7IHhtbTNbMDozXSB4bW0xWzg6MTVdfQorICAgIHBhbGlnbnIgICB4bW0yLCB4bW0x
LCA4ICAvLyB4bW0yID0geyB4bW0zWzA6M10geG1tMVs4OjE1XX0KICAgICBwc2h1ZmIgICAgeG1t
MiwgeG1tNAogICAgIHBvciAgICAgICB4bW0yLCB4bW01Ci0gICAgcGFsaWduciAgIHhtbTEsIHht
bTAsIDEyICAgLy8geG1tMSA9IHsgeG1tM1swOjddIHhtbTBbMTI6MTVdfQorICAgIHBhbGlnbnIg
ICB4bW0xLCB4bW0wLCAxMiAgLy8geG1tMSA9IHsgeG1tM1swOjddIHhtbTBbMTI6MTVdfQogICAg
IHBzaHVmYiAgICB4bW0wLCB4bW00CiAgICAgbW92ZHF1ICAgIFtlZHggKyAzMl0sIHhtbTIKICAg
ICBwb3IgICAgICAgeG1tMCwgeG1tNQogICAgIHBzaHVmYiAgICB4bW0xLCB4bW00CiAgICAgbW92
ZHF1ICAgIFtlZHhdLCB4bW0wCiAgICAgcG9yICAgICAgIHhtbTEsIHhtbTUKLSAgICBwYWxpZ25y
ICAgeG1tMywgeG1tMywgNCAgICAvLyB4bW0zID0geyB4bW0zWzQ6MTVdfQorICAgIHBhbGlnbnIg
ICB4bW0zLCB4bW0zLCA0ICAvLyB4bW0zID0geyB4bW0zWzQ6MTVdfQogICAgIHBzaHVmYiAgICB4
bW0zLCB4bW00CiAgICAgbW92ZHF1ICAgIFtlZHggKyAxNl0sIHhtbTEKICAgICBwb3IgICAgICAg
eG1tMywgeG1tNQpAQCAtNDI1LDExICszOTQsMTIgQEAgdm9pZCBSQVdUb0FSR0JSb3dfU1NTRTMo
Y29uc3QgdWludDgqIHNyY19yYXcsIHVpbnQ4KiBkc3RfYXJnYiwKICAgfQogfQogCi1fX2RlY2xz
cGVjKG5ha2VkKQotdm9pZCBSQVdUb1JHQjI0Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcmF3
LCB1aW50OCogZHN0X3JnYjI0LCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQg
UkFXVG9SR0IyNFJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3JhdywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYjI0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7
Ci0gICAgbW92ICAgICAgIGVheCwgW2VzcCArIDRdICAgLy8gc3JjX3JhdwotICAgIG1vdiAgICAg
ICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRzdF9yZ2IyNAorICAgIG1vdiAgICAgICBlYXgsIFtlc3Ag
KyA0XSAgLy8gc3JjX3JhdworICAgIG1vdiAgICAgICBlZHgsIFtlc3AgKyA4XSAgLy8gZHN0X3Jn
YjI0CiAgICAgbW92ICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8gd2lkdGgKICAgICBtb3ZkcWEg
ICAgeG1tMywgeG1td29yZCBwdHIga1NodWZmbGVNYXNrUkFXVG9SR0IyNF8wCiAgICAgbW92ZHFh
ICAgIHhtbTQsIHhtbXdvcmQgcHRyIGtTaHVmZmxlTWFza1JBV1RvUkdCMjRfMQpAQCAtNDYwLDkg
KzQzMCw5IEBAIHZvaWQgUkFXVG9SR0IyNFJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3Jhdywg
dWludDgqIGRzdF9yZ2IyNCwgaW50IHdpZHRoKSB7CiAvLyB2ICogKDI1NiArIDgpCiAvLyBHIHNo
aWZ0IG9mIDUgaXMgaW5jb3Jwb3JhdGVkLCBzbyBzaGlmdCBpcyA1ICsgOCBhbmQgNSArIDMKIC8v
IDIwIGluc3RydWN0aW9ucy4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFJHQjU2NVRvQVJHQlJv
d19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBS
R0I1NjVUb0FSR0JSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19h
c20gewogICAgIG1vdiAgICAgICBlYXgsIDB4MDEwODAxMDggIC8vIGdlbmVyYXRlIG11bHRpcGxp
ZXIgdG8gcmVwZWF0IDUgYml0cwogICAgIG1vdmQgICAgICB4bW01LCBlYXgKQEAgLTQ3MCwzMyAr
NDQwLDMzIEBAIHZvaWQgUkdCNTY1VG9BUkdCUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19yZ2I1
NjUsIHVpbnQ4KiBkc3RfYXJnYiwKICAgICBtb3YgICAgICAgZWF4LCAweDIwODAyMDgwICAvLyBt
dWx0aXBsaWVyIHNoaWZ0IGJ5IDUgYW5kIHRoZW4gcmVwZWF0IDYgYml0cwogICAgIG1vdmQgICAg
ICB4bW02LCBlYXgKICAgICBwc2h1ZmQgICAgeG1tNiwgeG1tNiwgMAotICAgIHBjbXBlcWIgICB4
bW0zLCB4bW0zICAgICAgIC8vIGdlbmVyYXRlIG1hc2sgMHhmODAwZjgwMCBmb3IgUmVkCisgICAg
cGNtcGVxYiAgIHhtbTMsIHhtbTMgIC8vIGdlbmVyYXRlIG1hc2sgMHhmODAwZjgwMCBmb3IgUmVk
CiAgICAgcHNsbHcgICAgIHhtbTMsIDExCi0gICAgcGNtcGVxYiAgIHhtbTQsIHhtbTQgICAgICAg
Ly8gZ2VuZXJhdGUgbWFzayAweDA3ZTAwN2UwIGZvciBHcmVlbgorICAgIHBjbXBlcWIgICB4bW00
LCB4bW00ICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDdlMDA3ZTAgZm9yIEdyZWVuCiAgICAgcHNsbHcg
ICAgIHhtbTQsIDEwCiAgICAgcHNybHcgICAgIHhtbTQsIDUKLSAgICBwY21wZXFiICAgeG1tNywg
eG1tNyAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMGZmMDAgZm9yIEFscGhhCisgICAgcGNt
cGVxYiAgIHhtbTcsIHhtbTcgIC8vIGdlbmVyYXRlIG1hc2sgMHhmZjAwZmYwMCBmb3IgQWxwaGEK
ICAgICBwc2xsdyAgICAgeG1tNywgOAogCi0gICAgbW92ICAgICAgIGVheCwgW2VzcCArIDRdICAg
Ly8gc3JjX3JnYjU2NQotICAgIG1vdiAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRzdF9hcmdi
CisgICAgbW92ICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfcmdiNTY1CisgICAgbW92ICAg
ICAgIGVkeCwgW2VzcCArIDhdICAvLyBkc3RfYXJnYgogICAgIG1vdiAgICAgICBlY3gsIFtlc3Ag
KyAxMl0gIC8vIHdpZHRoCiAgICAgc3ViICAgICAgIGVkeCwgZWF4CiAgICAgc3ViICAgICAgIGVk
eCwgZWF4CiAKICBjb252ZXJ0bG9vcDoKLSAgICBtb3ZkcXUgICAgeG1tMCwgW2VheF0gICAvLyBm
ZXRjaCA4IHBpeGVscyBvZiBiZ3I1NjUKKyAgICBtb3ZkcXUgICAgeG1tMCwgW2VheF0gIC8vIGZl
dGNoIDggcGl4ZWxzIG9mIGJncjU2NQogICAgIG1vdmRxYSAgICB4bW0xLCB4bW0wCiAgICAgbW92
ZHFhICAgIHhtbTIsIHhtbTAKLSAgICBwYW5kICAgICAgeG1tMSwgeG1tMyAgICAvLyBSIGluIHVw
cGVyIDUgYml0cwotICAgIHBzbGx3ICAgICB4bW0yLCAxMSAgICAgIC8vIEIgaW4gdXBwZXIgNSBi
aXRzCi0gICAgcG11bGh1dyAgIHhtbTEsIHhtbTUgICAgLy8gKiAoMjU2ICsgOCkKLSAgICBwbXVs
aHV3ICAgeG1tMiwgeG1tNSAgICAvLyAqICgyNTYgKyA4KQorICAgIHBhbmQgICAgICB4bW0xLCB4
bW0zICAvLyBSIGluIHVwcGVyIDUgYml0cworICAgIHBzbGx3ICAgICB4bW0yLCAxMSAgLy8gQiBp
biB1cHBlciA1IGJpdHMKKyAgICBwbXVsaHV3ICAgeG1tMSwgeG1tNSAgLy8gKiAoMjU2ICsgOCkK
KyAgICBwbXVsaHV3ICAgeG1tMiwgeG1tNSAgLy8gKiAoMjU2ICsgOCkKICAgICBwc2xsdyAgICAg
eG1tMSwgOAotICAgIHBvciAgICAgICB4bW0xLCB4bW0yICAgIC8vIFJCCi0gICAgcGFuZCAgICAg
IHhtbTAsIHhtbTQgICAgLy8gRyBpbiBtaWRkbGUgNiBiaXRzCi0gICAgcG11bGh1dyAgIHhtbTAs
IHhtbTYgICAgLy8gPDwgNSAqICgyNTYgKyA0KQotICAgIHBvciAgICAgICB4bW0wLCB4bW03ICAg
IC8vIEFHCisgICAgcG9yICAgICAgIHhtbTEsIHhtbTIgIC8vIFJCCisgICAgcGFuZCAgICAgIHht
bTAsIHhtbTQgIC8vIEcgaW4gbWlkZGxlIDYgYml0cworICAgIHBtdWxodXcgICB4bW0wLCB4bW02
ICAvLyA8PCA1ICogKDI1NiArIDQpCisgICAgcG9yICAgICAgIHhtbTAsIHhtbTcgIC8vIEFHCiAg
ICAgbW92ZHFhICAgIHhtbTIsIHhtbTEKICAgICBwdW5wY2tsYncgeG1tMSwgeG1tMAogICAgIHB1
bnBja2hidyB4bW0yLCB4bW0wCkBAIC01MTYsOSArNDg2LDkgQEAgdm9pZCBSR0I1NjVUb0FSR0JS
b3dfU1NFMihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwgdWludDgqIGRzdF9hcmdiLAogLy8gdiAq
IDI1NiArIHYgKiA4CiAvLyB2ICogKDI1NiArIDgpCiAvLyBHIHNoaWZ0IG9mIDUgaXMgaW5jb3Jw
b3JhdGVkLCBzbyBzaGlmdCBpcyA1ICsgOCBhbmQgNSArIDMKLV9fZGVjbHNwZWMobmFrZWQpCi12
b2lkIFJHQjU2NVRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcmdiNTY1LCB1aW50OCog
ZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNs
c3BlYyhuYWtlZCkgdm9pZCBSR0I1NjVUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3Jn
YjU2NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIG1vdiAgICAgICAgZWF4LCAweDAxMDgwMTA4ICAv
LyBnZW5lcmF0ZSBtdWx0aXBsaWVyIHRvIHJlcGVhdCA1IGJpdHMKICAgICB2bW92ZCAgICAgIHht
bTUsIGVheApAQCAtNTI2LDMyICs0OTYsMzIgQEAgdm9pZCBSR0I1NjVUb0FSR0JSb3dfQVZYMihj
b25zdCB1aW50OCogc3JjX3JnYjU2NSwgdWludDgqIGRzdF9hcmdiLAogICAgIG1vdiAgICAgICAg
ZWF4LCAweDIwODAyMDgwICAvLyBtdWx0aXBsaWVyIHNoaWZ0IGJ5IDUgYW5kIHRoZW4gcmVwZWF0
IDYgYml0cwogICAgIHZtb3ZkICAgICAgeG1tNiwgZWF4CiAgICAgdmJyb2FkY2FzdHNzIHltbTYs
IHhtbTYKLSAgICB2cGNtcGVxYiAgIHltbTMsIHltbTMsIHltbTMgICAgICAgLy8gZ2VuZXJhdGUg
bWFzayAweGY4MDBmODAwIGZvciBSZWQKKyAgICB2cGNtcGVxYiAgIHltbTMsIHltbTMsIHltbTMg
IC8vIGdlbmVyYXRlIG1hc2sgMHhmODAwZjgwMCBmb3IgUmVkCiAgICAgdnBzbGx3ICAgICB5bW0z
LCB5bW0zLCAxMQotICAgIHZwY21wZXFiICAgeW1tNCwgeW1tNCwgeW1tNCAgICAgICAvLyBnZW5l
cmF0ZSBtYXNrIDB4MDdlMDA3ZTAgZm9yIEdyZWVuCisgICAgdnBjbXBlcWIgICB5bW00LCB5bW00
LCB5bW00ICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDdlMDA3ZTAgZm9yIEdyZWVuCiAgICAgdnBzbGx3
ICAgICB5bW00LCB5bW00LCAxMAogICAgIHZwc3JsdyAgICAgeW1tNCwgeW1tNCwgNQotICAgIHZw
Y21wZXFiICAgeW1tNywgeW1tNywgeW1tNyAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMGZm
MDAgZm9yIEFscGhhCisgICAgdnBjbXBlcWIgICB5bW03LCB5bW03LCB5bW03ICAvLyBnZW5lcmF0
ZSBtYXNrIDB4ZmYwMGZmMDAgZm9yIEFscGhhCiAgICAgdnBzbGx3ICAgICB5bW03LCB5bW03LCA4
CiAKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgLy8gc3JjX3JnYjU2NQotICAgIG1v
diAgICAgICAgZWR4LCBbZXNwICsgOF0gICAvLyBkc3RfYXJnYgorICAgIG1vdiAgICAgICAgZWF4
LCBbZXNwICsgNF0gIC8vIHNyY19yZ2I1NjUKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhd
ICAvLyBkc3RfYXJnYgogICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyB3aWR0aAog
ICAgIHN1YiAgICAgICAgZWR4LCBlYXgKICAgICBzdWIgICAgICAgIGVkeCwgZWF4CiAKICBjb252
ZXJ0bG9vcDoKLSAgICB2bW92ZHF1ICAgIHltbTAsIFtlYXhdICAgLy8gZmV0Y2ggMTYgcGl4ZWxz
IG9mIGJncjU2NQotICAgIHZwYW5kICAgICAgeW1tMSwgeW1tMCwgeW1tMyAgICAvLyBSIGluIHVw
cGVyIDUgYml0cwotICAgIHZwc2xsdyAgICAgeW1tMiwgeW1tMCwgMTEgICAgICAvLyBCIGluIHVw
cGVyIDUgYml0cwotICAgIHZwbXVsaHV3ICAgeW1tMSwgeW1tMSwgeW1tNSAgICAvLyAqICgyNTYg
KyA4KQotICAgIHZwbXVsaHV3ICAgeW1tMiwgeW1tMiwgeW1tNSAgICAvLyAqICgyNTYgKyA4KQor
ICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0gIC8vIGZldGNoIDE2IHBpeGVscyBvZiBiZ3I1NjUK
KyAgICB2cGFuZCAgICAgIHltbTEsIHltbTAsIHltbTMgIC8vIFIgaW4gdXBwZXIgNSBiaXRzCisg
ICAgdnBzbGx3ICAgICB5bW0yLCB5bW0wLCAxMSAgLy8gQiBpbiB1cHBlciA1IGJpdHMKKyAgICB2
cG11bGh1dyAgIHltbTEsIHltbTEsIHltbTUgIC8vICogKDI1NiArIDgpCisgICAgdnBtdWxodXcg
ICB5bW0yLCB5bW0yLCB5bW01ICAvLyAqICgyNTYgKyA4KQogICAgIHZwc2xsdyAgICAgeW1tMSwg
eW1tMSwgOAotICAgIHZwb3IgICAgICAgeW1tMSwgeW1tMSwgeW1tMiAgICAvLyBSQgotICAgIHZw
YW5kICAgICAgeW1tMCwgeW1tMCwgeW1tNCAgICAvLyBHIGluIG1pZGRsZSA2IGJpdHMKLSAgICB2
cG11bGh1dyAgIHltbTAsIHltbTAsIHltbTYgICAgLy8gPDwgNSAqICgyNTYgKyA0KQotICAgIHZw
b3IgICAgICAgeW1tMCwgeW1tMCwgeW1tNyAgICAvLyBBRwotICAgIHZwZXJtcSAgICAgeW1tMCwg
eW1tMCwgMHhkOCAgICAvLyBtdXRhdGUgZm9yIHVucGFjaworICAgIHZwb3IgICAgICAgeW1tMSwg
eW1tMSwgeW1tMiAgLy8gUkIKKyAgICB2cGFuZCAgICAgIHltbTAsIHltbTAsIHltbTQgIC8vIEcg
aW4gbWlkZGxlIDYgYml0cworICAgIHZwbXVsaHV3ICAgeW1tMCwgeW1tMCwgeW1tNiAgLy8gPDwg
NSAqICgyNTYgKyA0KQorICAgIHZwb3IgICAgICAgeW1tMCwgeW1tMCwgeW1tNyAgLy8gQUcKKyAg
ICB2cGVybXEgICAgIHltbTAsIHltbTAsIDB4ZDggIC8vIG11dGF0ZSBmb3IgdW5wYWNrCiAgICAg
dnBlcm1xICAgICB5bW0xLCB5bW0xLCAweGQ4CiAgICAgdnB1bnBja2hidyB5bW0yLCB5bW0xLCB5
bW0wCiAgICAgdnB1bnBja2xidyB5bW0xLCB5bW0xLCB5bW0wCkBAIC01NjcsOSArNTM3LDkgQEAg
dm9pZCBSR0I1NjVUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3JnYjU2NSwgdWludDgq
IGRzdF9hcmdiLAogI2VuZGlmICAvLyBIQVNfUkdCNTY1VE9BUkdCUk9XX0FWWDIKIAogI2lmZGVm
IEhBU19BUkdCMTU1NVRPQVJHQlJPV19BVlgyCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdC
MTU1NVRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIHVpbnQ4KiBkc3Rf
YXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKK19fZGVjbHNw
ZWMobmFrZWQpIHZvaWQgQVJHQjE1NTVUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2Fy
Z2IxNTU1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIG1vdiAgICAgICAgZWF4LCAweDAxMDgw
MTA4ICAvLyBnZW5lcmF0ZSBtdWx0aXBsaWVyIHRvIHJlcGVhdCA1IGJpdHMKICAgICB2bW92ZCAg
ICAgIHhtbTUsIGVheApAQCAtNTc3LDMzICs1NDcsMzMgQEAgdm9pZCBBUkdCMTU1NVRvQVJHQlJv
d19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIHVpbnQ4KiBkc3RfYXJnYiwKICAgICBt
b3YgICAgICAgIGVheCwgMHg0MjAwNDIwMCAgLy8gbXVsdGlwbGllciBzaGlmdCBieSA2IGFuZCB0
aGVuIHJlcGVhdCA1IGJpdHMKICAgICB2bW92ZCAgICAgIHhtbTYsIGVheAogICAgIHZicm9hZGNh
c3RzcyB5bW02LCB4bW02Ci0gICAgdnBjbXBlcWIgICB5bW0zLCB5bW0zLCB5bW0zIC8vIGdlbmVy
YXRlIG1hc2sgMHhmODAwZjgwMCBmb3IgUmVkCisgICAgdnBjbXBlcWIgICB5bW0zLCB5bW0zLCB5
bW0zICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZjgwMGY4MDAgZm9yIFJlZAogICAgIHZwc2xsdyAgICAg
eW1tMywgeW1tMywgMTEKLSAgICB2cHNybHcgICAgIHltbTQsIHltbTMsIDYgICAgLy8gZ2VuZXJh
dGUgbWFzayAweDAzZTAwM2UwIGZvciBHcmVlbgotICAgIHZwY21wZXFiICAgeW1tNywgeW1tNywg
eW1tNyAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMGZmMDAgZm9yIEFscGhhCisgICAgdnBzcmx3ICAg
ICB5bW00LCB5bW0zLCA2ICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDNlMDAzZTAgZm9yIEdyZWVuCisg
ICAgdnBjbXBlcWIgICB5bW03LCB5bW03LCB5bW03ICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMGZm
MDAgZm9yIEFscGhhCiAgICAgdnBzbGx3ICAgICB5bW03LCB5bW03LCA4CiAKLSAgICBtb3YgICAg
ICAgIGVheCwgIFtlc3AgKyA0XSAgIC8vIHNyY19hcmdiMTU1NQotICAgIG1vdiAgICAgICAgZWR4
LCAgW2VzcCArIDhdICAgLy8gZHN0X2FyZ2IKKyAgICBtb3YgICAgICAgIGVheCwgIFtlc3AgKyA0
XSAgLy8gc3JjX2FyZ2IxNTU1CisgICAgbW92ICAgICAgICBlZHgsICBbZXNwICsgOF0gIC8vIGRz
dF9hcmdiCiAgICAgbW92ICAgICAgICBlY3gsICBbZXNwICsgMTJdICAvLyB3aWR0aAogICAgIHN1
YiAgICAgICAgZWR4LCAgZWF4CiAgICAgc3ViICAgICAgICBlZHgsICBlYXgKIAogIGNvbnZlcnRs
b29wOgotICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0gICAgICAgICAvLyBmZXRjaCAxNiBwaXhl
bHMgb2YgMTU1NQotICAgIHZwc2xsdyAgICAgeW1tMSwgeW1tMCwgMSAgICAgICAvLyBSIGluIHVw
cGVyIDUgYml0cwotICAgIHZwc2xsdyAgICAgeW1tMiwgeW1tMCwgMTEgICAgICAvLyBCIGluIHVw
cGVyIDUgYml0cworICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0gIC8vIGZldGNoIDE2IHBpeGVs
cyBvZiAxNTU1CisgICAgdnBzbGx3ICAgICB5bW0xLCB5bW0wLCAxICAvLyBSIGluIHVwcGVyIDUg
Yml0cworICAgIHZwc2xsdyAgICAgeW1tMiwgeW1tMCwgMTEgIC8vIEIgaW4gdXBwZXIgNSBiaXRz
CiAgICAgdnBhbmQgICAgICB5bW0xLCB5bW0xLCB5bW0zCi0gICAgdnBtdWxodXcgICB5bW0yLCB5
bW0yLCB5bW01ICAgIC8vICogKDI1NiArIDgpCi0gICAgdnBtdWxodXcgICB5bW0xLCB5bW0xLCB5
bW01ICAgIC8vICogKDI1NiArIDgpCisgICAgdnBtdWxodXcgICB5bW0yLCB5bW0yLCB5bW01ICAv
LyAqICgyNTYgKyA4KQorICAgIHZwbXVsaHV3ICAgeW1tMSwgeW1tMSwgeW1tNSAgLy8gKiAoMjU2
ICsgOCkKICAgICB2cHNsbHcgICAgIHltbTEsIHltbTEsIDgKLSAgICB2cG9yICAgICAgIHltbTEs
IHltbTEsIHltbTIgICAgLy8gUkIKLSAgICB2cHNyYXcgICAgIHltbTIsIHltbTAsIDggICAgICAg
Ly8gQQotICAgIHZwYW5kICAgICAgeW1tMCwgeW1tMCwgeW1tNCAgICAvLyBHIGluIG1pZGRsZSA1
IGJpdHMKLSAgICB2cG11bGh1dyAgIHltbTAsIHltbTAsIHltbTYgICAgLy8gPDwgNiAqICgyNTYg
KyA4KQorICAgIHZwb3IgICAgICAgeW1tMSwgeW1tMSwgeW1tMiAgLy8gUkIKKyAgICB2cHNyYXcg
ICAgIHltbTIsIHltbTAsIDggIC8vIEEKKyAgICB2cGFuZCAgICAgIHltbTAsIHltbTAsIHltbTQg
IC8vIEcgaW4gbWlkZGxlIDUgYml0cworICAgIHZwbXVsaHV3ICAgeW1tMCwgeW1tMCwgeW1tNiAg
Ly8gPDwgNiAqICgyNTYgKyA4KQogICAgIHZwYW5kICAgICAgeW1tMiwgeW1tMiwgeW1tNwotICAg
IHZwb3IgICAgICAgeW1tMCwgeW1tMCwgeW1tMiAgICAvLyBBRwotICAgIHZwZXJtcSAgICAgeW1t
MCwgeW1tMCwgMHhkOCAgICAvLyBtdXRhdGUgZm9yIHVucGFjaworICAgIHZwb3IgICAgICAgeW1t
MCwgeW1tMCwgeW1tMiAgLy8gQUcKKyAgICB2cGVybXEgICAgIHltbTAsIHltbTAsIDB4ZDggIC8v
IG11dGF0ZSBmb3IgdW5wYWNrCiAgICAgdnBlcm1xICAgICB5bW0xLCB5bW0xLCAweGQ4CiAgICAg
dnB1bnBja2hidyB5bW0yLCB5bW0xLCB5bW0wCiAgICAgdnB1bnBja2xidyB5bW0xLCB5bW0xLCB5
bW0wCkBAIC02MTksMjkgKzU4OSwyOSBAQCB2b2lkIEFSR0IxNTU1VG9BUkdCUm93X0FWWDIoY29u
c3QgdWludDgqIHNyY19hcmdiMTU1NSwgdWludDgqIGRzdF9hcmdiLAogI2VuZGlmICAvLyBIQVNf
QVJHQjE1NTVUT0FSR0JST1dfQVZYMgogCiAjaWZkZWYgSEFTX0FSR0I0NDQ0VE9BUkdCUk9XX0FW
WDIKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0I0NDQ0VG9BUkdCUm93X0FWWDIoY29uc3Qg
dWludDgqIHNyY19hcmdiNDQ0NCwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCNDQ0NFRv
QVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2Fz
bSB7CiAgICAgbW92ICAgICAgIGVheCwgIDB4MGYwZjBmMGYgIC8vIGdlbmVyYXRlIG1hc2sgMHgw
ZjBmMGYwZgogICAgIHZtb3ZkICAgICB4bW00LCBlYXgKICAgICB2YnJvYWRjYXN0c3MgeW1tNCwg
eG1tNAotICAgIHZwc2xsZCAgICB5bW01LCB5bW00LCA0ICAgICAvLyAweGYwZjBmMGYwIGZvciBo
aWdoIG5pYmJsZXMKLSAgICBtb3YgICAgICAgZWF4LCAgW2VzcCArIDRdICAgLy8gc3JjX2FyZ2I0
NDQ0Ci0gICAgbW92ICAgICAgIGVkeCwgIFtlc3AgKyA4XSAgIC8vIGRzdF9hcmdiCisgICAgdnBz
bGxkICAgIHltbTUsIHltbTQsIDQgIC8vIDB4ZjBmMGYwZjAgZm9yIGhpZ2ggbmliYmxlcworICAg
IG1vdiAgICAgICBlYXgsICBbZXNwICsgNF0gIC8vIHNyY19hcmdiNDQ0NAorICAgIG1vdiAgICAg
ICBlZHgsICBbZXNwICsgOF0gIC8vIGRzdF9hcmdiCiAgICAgbW92ICAgICAgIGVjeCwgIFtlc3Ag
KyAxMl0gIC8vIHdpZHRoCiAgICAgc3ViICAgICAgIGVkeCwgIGVheAogICAgIHN1YiAgICAgICBl
ZHgsICBlYXgKIAogIGNvbnZlcnRsb29wOgotICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0gICAg
ICAgICAvLyBmZXRjaCAxNiBwaXhlbHMgb2YgYmdyYTQ0NDQKLSAgICB2cGFuZCAgICAgIHltbTIs
IHltbTAsIHltbTUgICAgLy8gbWFzayBoaWdoIG5pYmJsZXMKLSAgICB2cGFuZCAgICAgIHltbTAs
IHltbTAsIHltbTQgICAgLy8gbWFzayBsb3cgbmliYmxlcworICAgIHZtb3ZkcXUgICAgeW1tMCwg
W2VheF0gIC8vIGZldGNoIDE2IHBpeGVscyBvZiBiZ3JhNDQ0NAorICAgIHZwYW5kICAgICAgeW1t
MiwgeW1tMCwgeW1tNSAgLy8gbWFzayBoaWdoIG5pYmJsZXMKKyAgICB2cGFuZCAgICAgIHltbTAs
IHltbTAsIHltbTQgIC8vIG1hc2sgbG93IG5pYmJsZXMKICAgICB2cHNybHcgICAgIHltbTMsIHlt
bTIsIDQKICAgICB2cHNsbHcgICAgIHltbTEsIHltbTAsIDQKICAgICB2cG9yICAgICAgIHltbTIs
IHltbTIsIHltbTMKICAgICB2cG9yICAgICAgIHltbTAsIHltbTAsIHltbTEKLSAgICB2cGVybXEg
ICAgIHltbTAsIHltbTAsIDB4ZDggICAgLy8gbXV0YXRlIGZvciB1bnBhY2sKKyAgICB2cGVybXEg
ICAgIHltbTAsIHltbTAsIDB4ZDggIC8vIG11dGF0ZSBmb3IgdW5wYWNrCiAgICAgdnBlcm1xICAg
ICB5bW0yLCB5bW0yLCAweGQ4CiAgICAgdnB1bnBja2hidyB5bW0xLCB5bW0wLCB5bW0yCiAgICAg
dnB1bnBja2xidyB5bW0wLCB5bW0wLCB5bW0yCkBAIC02NTcsOSArNjI3LDkgQEAgdm9pZCBBUkdC
NDQ0NFRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjQ0NDQsIHVpbnQ4KiBkc3Rf
YXJnYiwKICNlbmRpZiAgLy8gSEFTX0FSR0I0NDQ0VE9BUkdCUk9XX0FWWDIKIAogLy8gMjQgaW5z
dHJ1Y3Rpb25zCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCMTU1NVRvQVJHQlJvd19TU0Uy
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJH
QjE1NTVUb0FSR0JSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IxNTU1LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsK
ICAgX19hc20gewogICAgIG1vdiAgICAgICBlYXgsIDB4MDEwODAxMDggIC8vIGdlbmVyYXRlIG11
bHRpcGxpZXIgdG8gcmVwZWF0IDUgYml0cwogICAgIG1vdmQgICAgICB4bW01LCBlYXgKQEAgLTY2
NywzNiArNjM3LDM2IEBAIHZvaWQgQVJHQjE1NTVUb0FSR0JSb3dfU1NFMihjb25zdCB1aW50OCog
c3JjX2FyZ2IxNTU1LCB1aW50OCogZHN0X2FyZ2IsCiAgICAgbW92ICAgICAgIGVheCwgMHg0MjAw
NDIwMCAgLy8gbXVsdGlwbGllciBzaGlmdCBieSA2IGFuZCB0aGVuIHJlcGVhdCA1IGJpdHMKICAg
ICBtb3ZkICAgICAgeG1tNiwgZWF4CiAgICAgcHNodWZkICAgIHhtbTYsIHhtbTYsIDAKLSAgICBw
Y21wZXFiICAgeG1tMywgeG1tMyAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZjgwMGY4MDAgZm9y
IFJlZAorICAgIHBjbXBlcWIgICB4bW0zLCB4bW0zICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZjgwMGY4
MDAgZm9yIFJlZAogICAgIHBzbGx3ICAgICB4bW0zLCAxMQotICAgIG1vdmRxYSAgICB4bW00LCB4
bW0zICAgICAgIC8vIGdlbmVyYXRlIG1hc2sgMHgwM2UwMDNlMCBmb3IgR3JlZW4KKyAgICBtb3Zk
cWEgICAgeG1tNCwgeG1tMyAgLy8gZ2VuZXJhdGUgbWFzayAweDAzZTAwM2UwIGZvciBHcmVlbgog
ICAgIHBzcmx3ICAgICB4bW00LCA2Ci0gICAgcGNtcGVxYiAgIHhtbTcsIHhtbTcgICAgICAgLy8g
Z2VuZXJhdGUgbWFzayAweGZmMDBmZjAwIGZvciBBbHBoYQorICAgIHBjbXBlcWIgICB4bW03LCB4
bW03ICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMGZmMDAgZm9yIEFscGhhCiAgICAgcHNsbHcgICAg
IHhtbTcsIDgKIAotICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8vIHNyY19hcmdiMTU1
NQotICAgIG1vdiAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRzdF9hcmdiCisgICAgbW92ICAg
ICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfYXJnYjE1NTUKKyAgICBtb3YgICAgICAgZWR4LCBb
ZXNwICsgOF0gIC8vIGRzdF9hcmdiCiAgICAgbW92ICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8g
d2lkdGgKICAgICBzdWIgICAgICAgZWR4LCBlYXgKICAgICBzdWIgICAgICAgZWR4LCBlYXgKIAog
IGNvbnZlcnRsb29wOgotICAgIG1vdmRxdSAgICB4bW0wLCBbZWF4XSAgIC8vIGZldGNoIDggcGl4
ZWxzIG9mIDE1NTUKKyAgICBtb3ZkcXUgICAgeG1tMCwgW2VheF0gIC8vIGZldGNoIDggcGl4ZWxz
IG9mIDE1NTUKICAgICBtb3ZkcWEgICAgeG1tMSwgeG1tMAogICAgIG1vdmRxYSAgICB4bW0yLCB4
bW0wCi0gICAgcHNsbHcgICAgIHhtbTEsIDEgICAgICAgLy8gUiBpbiB1cHBlciA1IGJpdHMKLSAg
ICBwc2xsdyAgICAgeG1tMiwgMTEgICAgICAvLyBCIGluIHVwcGVyIDUgYml0cworICAgIHBzbGx3
ICAgICB4bW0xLCAxICAvLyBSIGluIHVwcGVyIDUgYml0cworICAgIHBzbGx3ICAgICB4bW0yLCAx
MSAgLy8gQiBpbiB1cHBlciA1IGJpdHMKICAgICBwYW5kICAgICAgeG1tMSwgeG1tMwotICAgIHBt
dWxodXcgICB4bW0yLCB4bW01ICAgIC8vICogKDI1NiArIDgpCi0gICAgcG11bGh1dyAgIHhtbTEs
IHhtbTUgICAgLy8gKiAoMjU2ICsgOCkKKyAgICBwbXVsaHV3ICAgeG1tMiwgeG1tNSAgLy8gKiAo
MjU2ICsgOCkKKyAgICBwbXVsaHV3ICAgeG1tMSwgeG1tNSAgLy8gKiAoMjU2ICsgOCkKICAgICBw
c2xsdyAgICAgeG1tMSwgOAotICAgIHBvciAgICAgICB4bW0xLCB4bW0yICAgIC8vIFJCCisgICAg
cG9yICAgICAgIHhtbTEsIHhtbTIgIC8vIFJCCiAgICAgbW92ZHFhICAgIHhtbTIsIHhtbTAKLSAg
ICBwYW5kICAgICAgeG1tMCwgeG1tNCAgICAvLyBHIGluIG1pZGRsZSA1IGJpdHMKLSAgICBwc3Jh
dyAgICAgeG1tMiwgOCAgICAgICAvLyBBCi0gICAgcG11bGh1dyAgIHhtbTAsIHhtbTYgICAgLy8g
PDwgNiAqICgyNTYgKyA4KQorICAgIHBhbmQgICAgICB4bW0wLCB4bW00ICAvLyBHIGluIG1pZGRs
ZSA1IGJpdHMKKyAgICBwc3JhdyAgICAgeG1tMiwgOCAgLy8gQQorICAgIHBtdWxodXcgICB4bW0w
LCB4bW02ICAvLyA8PCA2ICogKDI1NiArIDgpCiAgICAgcGFuZCAgICAgIHhtbTIsIHhtbTcKLSAg
ICBwb3IgICAgICAgeG1tMCwgeG1tMiAgICAvLyBBRworICAgIHBvciAgICAgICB4bW0wLCB4bW0y
ICAvLyBBRwogICAgIG1vdmRxYSAgICB4bW0yLCB4bW0xCiAgICAgcHVucGNrbGJ3IHhtbTEsIHht
bTAKICAgICBwdW5wY2toYncgeG1tMiwgeG1tMApAQCAtNzEwLDI2ICs2ODAsMjYgQEAgdm9pZCBB
UkdCMTU1NVRvQVJHQlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjE1NTUsIHVpbnQ4KiBk
c3RfYXJnYiwKIH0KIAogLy8gMTggaW5zdHJ1Y3Rpb25zLgotX19kZWNsc3BlYyhuYWtlZCkKLXZv
aWQgQVJHQjQ0NDRUb0FSR0JSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2I0NDQ0LCB1aW50
OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7Citf
X2RlY2xzcGVjKG5ha2VkKSB2b2lkIEFSR0I0NDQ0VG9BUkdCUm93X1NTRTIoY29uc3QgdWludDgq
IHNyY19hcmdiNDQ0NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBtb3YgICAgICAgZWF4LCAw
eDBmMGYwZjBmICAvLyBnZW5lcmF0ZSBtYXNrIDB4MGYwZjBmMGYKICAgICBtb3ZkICAgICAgeG1t
NCwgZWF4CiAgICAgcHNodWZkICAgIHhtbTQsIHhtbTQsIDAKLSAgICBtb3ZkcWEgICAgeG1tNSwg
eG1tNCAgICAgICAvLyAweGYwZjBmMGYwIGZvciBoaWdoIG5pYmJsZXMKKyAgICBtb3ZkcWEgICAg
eG1tNSwgeG1tNCAgLy8gMHhmMGYwZjBmMCBmb3IgaGlnaCBuaWJibGVzCiAgICAgcHNsbGQgICAg
IHhtbTUsIDQKLSAgICBtb3YgICAgICAgZWF4LCBbZXNwICsgNF0gICAvLyBzcmNfYXJnYjQ0NDQK
LSAgICBtb3YgICAgICAgZWR4LCBbZXNwICsgOF0gICAvLyBkc3RfYXJnYgorICAgIG1vdiAgICAg
ICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX2FyZ2I0NDQ0CisgICAgbW92ICAgICAgIGVkeCwgW2Vz
cCArIDhdICAvLyBkc3RfYXJnYgogICAgIG1vdiAgICAgICBlY3gsIFtlc3AgKyAxMl0gIC8vIHdp
ZHRoCiAgICAgc3ViICAgICAgIGVkeCwgZWF4CiAgICAgc3ViICAgICAgIGVkeCwgZWF4CiAKICBj
b252ZXJ0bG9vcDoKLSAgICBtb3ZkcXUgICAgeG1tMCwgW2VheF0gICAvLyBmZXRjaCA4IHBpeGVs
cyBvZiBiZ3JhNDQ0NAorICAgIG1vdmRxdSAgICB4bW0wLCBbZWF4XSAgLy8gZmV0Y2ggOCBwaXhl
bHMgb2YgYmdyYTQ0NDQKICAgICBtb3ZkcWEgICAgeG1tMiwgeG1tMAotICAgIHBhbmQgICAgICB4
bW0wLCB4bW00ICAgIC8vIG1hc2sgbG93IG5pYmJsZXMKLSAgICBwYW5kICAgICAgeG1tMiwgeG1t
NSAgICAvLyBtYXNrIGhpZ2ggbmliYmxlcworICAgIHBhbmQgICAgICB4bW0wLCB4bW00ICAvLyBt
YXNrIGxvdyBuaWJibGVzCisgICAgcGFuZCAgICAgIHhtbTIsIHhtbTUgIC8vIG1hc2sgaGlnaCBu
aWJibGVzCiAgICAgbW92ZHFhICAgIHhtbTEsIHhtbTAKICAgICBtb3ZkcWEgICAgeG1tMywgeG1t
MgogICAgIHBzbGx3ICAgICB4bW0xLCA0CkBAIC03NDgsMzcgKzcxOCwzOCBAQCB2b2lkIEFSR0I0
NDQ0VG9BUkdCUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiNDQ0NCwgdWludDgqIGRzdF9h
cmdiLAogICB9CiB9CiAKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0JUb1JHQjI0Um93X1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCkgewor
X19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCVG9SR0IyNFJvd19TU1NFMyhjb25zdCB1aW50OCog
c3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyA0XSAg
IC8vIHNyY19hcmdiCi0gICAgbW92ICAgICAgIGVkeCwgW2VzcCArIDhdICAgLy8gZHN0X3JnYgor
ICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX2FyZ2IKKyAgICBtb3YgICAgICAg
ZWR4LCBbZXNwICsgOF0gIC8vIGRzdF9yZ2IKICAgICBtb3YgICAgICAgZWN4LCBbZXNwICsgMTJd
ICAvLyB3aWR0aAogICAgIG1vdmRxYSAgICB4bW02LCB4bW13b3JkIHB0ciBrU2h1ZmZsZU1hc2tB
UkdCVG9SR0IyNAogCiAgY29udmVydGxvb3A6Ci0gICAgbW92ZHF1ICAgIHhtbTAsIFtlYXhdICAg
Ly8gZmV0Y2ggMTYgcGl4ZWxzIG9mIGFyZ2IKKyAgICBtb3ZkcXUgICAgeG1tMCwgW2VheF0gIC8v
IGZldGNoIDE2IHBpeGVscyBvZiBhcmdiCiAgICAgbW92ZHF1ICAgIHhtbTEsIFtlYXggKyAxNl0K
ICAgICBtb3ZkcXUgICAgeG1tMiwgW2VheCArIDMyXQogICAgIG1vdmRxdSAgICB4bW0zLCBbZWF4
ICsgNDhdCiAgICAgbGVhICAgICAgIGVheCwgW2VheCArIDY0XQotICAgIHBzaHVmYiAgICB4bW0w
LCB4bW02ICAgIC8vIHBhY2sgMTYgYnl0ZXMgb2YgQVJHQiB0byAxMiBieXRlcyBvZiBSR0IKKyAg
ICBwc2h1ZmIgICAgeG1tMCwgeG1tNiAgLy8gcGFjayAxNiBieXRlcyBvZiBBUkdCIHRvIDEyIGJ5
dGVzIG9mIFJHQgogICAgIHBzaHVmYiAgICB4bW0xLCB4bW02CiAgICAgcHNodWZiICAgIHhtbTIs
IHhtbTYKICAgICBwc2h1ZmIgICAgeG1tMywgeG1tNgotICAgIG1vdmRxYSAgICB4bW00LCB4bW0x
ICAgLy8gNCBieXRlcyBmcm9tIDEgZm9yIDAKLSAgICBwc3JsZHEgICAgeG1tMSwgNCAgICAgIC8v
IDggYnl0ZXMgZnJvbSAxCi0gICAgcHNsbGRxICAgIHhtbTQsIDEyICAgICAvLyA0IGJ5dGVzIGZy
b20gMSBmb3IgMAotICAgIG1vdmRxYSAgICB4bW01LCB4bW0yICAgLy8gOCBieXRlcyBmcm9tIDIg
Zm9yIDEKLSAgICBwb3IgICAgICAgeG1tMCwgeG1tNCAgIC8vIDQgYnl0ZXMgZnJvbSAxIGZvciAw
Ci0gICAgcHNsbGRxICAgIHhtbTUsIDggICAgICAvLyA4IGJ5dGVzIGZyb20gMiBmb3IgMQorICAg
IG1vdmRxYSAgICB4bW00LCB4bW0xICAvLyA0IGJ5dGVzIGZyb20gMSBmb3IgMAorICAgIHBzcmxk
cSAgICB4bW0xLCA0ICAvLyA4IGJ5dGVzIGZyb20gMQorICAgIHBzbGxkcSAgICB4bW00LCAxMiAg
Ly8gNCBieXRlcyBmcm9tIDEgZm9yIDAKKyAgICBtb3ZkcWEgICAgeG1tNSwgeG1tMiAgLy8gOCBi
eXRlcyBmcm9tIDIgZm9yIDEKKyAgICBwb3IgICAgICAgeG1tMCwgeG1tNCAgLy8gNCBieXRlcyBm
cm9tIDEgZm9yIDAKKyAgICBwc2xsZHEgICAgeG1tNSwgOCAgLy8gOCBieXRlcyBmcm9tIDIgZm9y
IDEKICAgICBtb3ZkcXUgICAgW2VkeF0sIHhtbTAgIC8vIHN0b3JlIDAKLSAgICBwb3IgICAgICAg
eG1tMSwgeG1tNSAgIC8vIDggYnl0ZXMgZnJvbSAyIGZvciAxCi0gICAgcHNybGRxICAgIHhtbTIs
IDggICAgICAvLyA0IGJ5dGVzIGZyb20gMgotICAgIHBzbGxkcSAgICB4bW0zLCA0ICAgICAgLy8g
MTIgYnl0ZXMgZnJvbSAzIGZvciAyCi0gICAgcG9yICAgICAgIHhtbTIsIHhtbTMgICAvLyAxMiBi
eXRlcyBmcm9tIDMgZm9yIDIKLSAgICBtb3ZkcXUgICAgW2VkeCArIDE2XSwgeG1tMSAgIC8vIHN0
b3JlIDEKLSAgICBtb3ZkcXUgICAgW2VkeCArIDMyXSwgeG1tMiAgIC8vIHN0b3JlIDIKKyAgICBw
b3IgICAgICAgeG1tMSwgeG1tNSAgLy8gOCBieXRlcyBmcm9tIDIgZm9yIDEKKyAgICBwc3JsZHEg
ICAgeG1tMiwgOCAgLy8gNCBieXRlcyBmcm9tIDIKKyAgICBwc2xsZHEgICAgeG1tMywgNCAgLy8g
MTIgYnl0ZXMgZnJvbSAzIGZvciAyCisgICAgcG9yICAgICAgIHhtbTIsIHhtbTMgIC8vIDEyIGJ5
dGVzIGZyb20gMyBmb3IgMgorICAgIG1vdmRxdSAgICBbZWR4ICsgMTZdLCB4bW0xICAvLyBzdG9y
ZSAxCisgICAgbW92ZHF1ICAgIFtlZHggKyAzMl0sIHhtbTIgIC8vIHN0b3JlIDIKICAgICBsZWEg
ICAgICAgZWR4LCBbZWR4ICsgNDhdCiAgICAgc3ViICAgICAgIGVjeCwgMTYKICAgICBqZyAgICAg
ICAgY29udmVydGxvb3AKQEAgLTc4NiwzNyArNzU3LDM4IEBAIHZvaWQgQVJHQlRvUkdCMjRSb3df
U1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwgaW50IHdpZHRoKSB7
CiAgIH0KIH0KIAotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQVJHQlRvUkFXUm93X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCkgeworX19kZWNs
c3BlYyhuYWtlZCkgdm9pZCBBUkdCVG9SQVdSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9y
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKICAgX19hc20gewotICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8vIHNyY19hcmdi
Ci0gICAgbW92ICAgICAgIGVkeCwgW2VzcCArIDhdICAgLy8gZHN0X3JnYgorICAgIG1vdiAgICAg
ICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX2FyZ2IKKyAgICBtb3YgICAgICAgZWR4LCBbZXNwICsg
OF0gIC8vIGRzdF9yZ2IKICAgICBtb3YgICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyB3aWR0aAog
ICAgIG1vdmRxYSAgICB4bW02LCB4bW13b3JkIHB0ciBrU2h1ZmZsZU1hc2tBUkdCVG9SQVcKIAog
IGNvbnZlcnRsb29wOgotICAgIG1vdmRxdSAgICB4bW0wLCBbZWF4XSAgIC8vIGZldGNoIDE2IHBp
eGVscyBvZiBhcmdiCisgICAgbW92ZHF1ICAgIHhtbTAsIFtlYXhdICAvLyBmZXRjaCAxNiBwaXhl
bHMgb2YgYXJnYgogICAgIG1vdmRxdSAgICB4bW0xLCBbZWF4ICsgMTZdCiAgICAgbW92ZHF1ICAg
IHhtbTIsIFtlYXggKyAzMl0KICAgICBtb3ZkcXUgICAgeG1tMywgW2VheCArIDQ4XQogICAgIGxl
YSAgICAgICBlYXgsIFtlYXggKyA2NF0KLSAgICBwc2h1ZmIgICAgeG1tMCwgeG1tNiAgICAvLyBw
YWNrIDE2IGJ5dGVzIG9mIEFSR0IgdG8gMTIgYnl0ZXMgb2YgUkdCCisgICAgcHNodWZiICAgIHht
bTAsIHhtbTYgIC8vIHBhY2sgMTYgYnl0ZXMgb2YgQVJHQiB0byAxMiBieXRlcyBvZiBSR0IKICAg
ICBwc2h1ZmIgICAgeG1tMSwgeG1tNgogICAgIHBzaHVmYiAgICB4bW0yLCB4bW02CiAgICAgcHNo
dWZiICAgIHhtbTMsIHhtbTYKLSAgICBtb3ZkcWEgICAgeG1tNCwgeG1tMSAgIC8vIDQgYnl0ZXMg
ZnJvbSAxIGZvciAwCi0gICAgcHNybGRxICAgIHhtbTEsIDQgICAgICAvLyA4IGJ5dGVzIGZyb20g
MQotICAgIHBzbGxkcSAgICB4bW00LCAxMiAgICAgLy8gNCBieXRlcyBmcm9tIDEgZm9yIDAKLSAg
ICBtb3ZkcWEgICAgeG1tNSwgeG1tMiAgIC8vIDggYnl0ZXMgZnJvbSAyIGZvciAxCi0gICAgcG9y
ICAgICAgIHhtbTAsIHhtbTQgICAvLyA0IGJ5dGVzIGZyb20gMSBmb3IgMAotICAgIHBzbGxkcSAg
ICB4bW01LCA4ICAgICAgLy8gOCBieXRlcyBmcm9tIDIgZm9yIDEKKyAgICBtb3ZkcWEgICAgeG1t
NCwgeG1tMSAgLy8gNCBieXRlcyBmcm9tIDEgZm9yIDAKKyAgICBwc3JsZHEgICAgeG1tMSwgNCAg
Ly8gOCBieXRlcyBmcm9tIDEKKyAgICBwc2xsZHEgICAgeG1tNCwgMTIgIC8vIDQgYnl0ZXMgZnJv
bSAxIGZvciAwCisgICAgbW92ZHFhICAgIHhtbTUsIHhtbTIgIC8vIDggYnl0ZXMgZnJvbSAyIGZv
ciAxCisgICAgcG9yICAgICAgIHhtbTAsIHhtbTQgIC8vIDQgYnl0ZXMgZnJvbSAxIGZvciAwCisg
ICAgcHNsbGRxICAgIHhtbTUsIDggIC8vIDggYnl0ZXMgZnJvbSAyIGZvciAxCiAgICAgbW92ZHF1
ICAgIFtlZHhdLCB4bW0wICAvLyBzdG9yZSAwCi0gICAgcG9yICAgICAgIHhtbTEsIHhtbTUgICAv
LyA4IGJ5dGVzIGZyb20gMiBmb3IgMQotICAgIHBzcmxkcSAgICB4bW0yLCA4ICAgICAgLy8gNCBi
eXRlcyBmcm9tIDIKLSAgICBwc2xsZHEgICAgeG1tMywgNCAgICAgIC8vIDEyIGJ5dGVzIGZyb20g
MyBmb3IgMgotICAgIHBvciAgICAgICB4bW0yLCB4bW0zICAgLy8gMTIgYnl0ZXMgZnJvbSAzIGZv
ciAyCi0gICAgbW92ZHF1ICAgIFtlZHggKyAxNl0sIHhtbTEgICAvLyBzdG9yZSAxCi0gICAgbW92
ZHF1ICAgIFtlZHggKyAzMl0sIHhtbTIgICAvLyBzdG9yZSAyCisgICAgcG9yICAgICAgIHhtbTEs
IHhtbTUgIC8vIDggYnl0ZXMgZnJvbSAyIGZvciAxCisgICAgcHNybGRxICAgIHhtbTIsIDggIC8v
IDQgYnl0ZXMgZnJvbSAyCisgICAgcHNsbGRxICAgIHhtbTMsIDQgIC8vIDEyIGJ5dGVzIGZyb20g
MyBmb3IgMgorICAgIHBvciAgICAgICB4bW0yLCB4bW0zICAvLyAxMiBieXRlcyBmcm9tIDMgZm9y
IDIKKyAgICBtb3ZkcXUgICAgW2VkeCArIDE2XSwgeG1tMSAgLy8gc3RvcmUgMQorICAgIG1vdmRx
dSAgICBbZWR4ICsgMzJdLCB4bW0yICAvLyBzdG9yZSAyCiAgICAgbGVhICAgICAgIGVkeCwgW2Vk
eCArIDQ4XQogICAgIHN1YiAgICAgICBlY3gsIDE2CiAgICAgamcgICAgICAgIGNvbnZlcnRsb29w
CkBAIC04MjQsMzMgKzc5NiwzNCBAQCB2b2lkIEFSR0JUb1JBV1Jvd19TU1NFMyhjb25zdCB1aW50
OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpIHsKICAgfQogfQogCi1fX2Rl
Y2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCVG9SR0I1NjVSb3dfU1NFMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZv
aWQgQVJHQlRvUkdCNTY1Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9f
YXNtIHsKLSAgICBtb3YgICAgICAgZWF4LCBbZXNwICsgNF0gICAvLyBzcmNfYXJnYgotICAgIG1v
diAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRzdF9yZ2IKKyAgICBtb3YgICAgICAgZWF4LCBb
ZXNwICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgIGVkeCwgW2VzcCArIDhdICAvLyBk
c3RfcmdiCiAgICAgbW92ICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8gd2lkdGgKLSAgICBwY21w
ZXFiICAgeG1tMywgeG1tMyAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDAwMDAwMWYKKyAgICBw
Y21wZXFiICAgeG1tMywgeG1tMyAgLy8gZ2VuZXJhdGUgbWFzayAweDAwMDAwMDFmCiAgICAgcHNy
bGQgICAgIHhtbTMsIDI3Ci0gICAgcGNtcGVxYiAgIHhtbTQsIHhtbTQgICAgICAgLy8gZ2VuZXJh
dGUgbWFzayAweDAwMDAwN2UwCisgICAgcGNtcGVxYiAgIHhtbTQsIHhtbTQgIC8vIGdlbmVyYXRl
IG1hc2sgMHgwMDAwMDdlMAogICAgIHBzcmxkICAgICB4bW00LCAyNgogICAgIHBzbGxkICAgICB4
bW00LCA1Ci0gICAgcGNtcGVxYiAgIHhtbTUsIHhtbTUgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAw
eGZmZmZmODAwCisgICAgcGNtcGVxYiAgIHhtbTUsIHhtbTUgIC8vIGdlbmVyYXRlIG1hc2sgMHhm
ZmZmZjgwMAogICAgIHBzbGxkICAgICB4bW01LCAxMQogCiAgY29udmVydGxvb3A6Ci0gICAgbW92
ZHF1ICAgIHhtbTAsIFtlYXhdICAgLy8gZmV0Y2ggNCBwaXhlbHMgb2YgYXJnYgotICAgIG1vdmRx
YSAgICB4bW0xLCB4bW0wICAgIC8vIEIKLSAgICBtb3ZkcWEgICAgeG1tMiwgeG1tMCAgICAvLyBH
Ci0gICAgcHNsbGQgICAgIHhtbTAsIDggICAgICAgLy8gUgotICAgIHBzcmxkICAgICB4bW0xLCAz
ICAgICAgIC8vIEIKLSAgICBwc3JsZCAgICAgeG1tMiwgNSAgICAgICAvLyBHCi0gICAgcHNyYWQg
ICAgIHhtbTAsIDE2ICAgICAgLy8gUgotICAgIHBhbmQgICAgICB4bW0xLCB4bW0zICAgIC8vIEIK
LSAgICBwYW5kICAgICAgeG1tMiwgeG1tNCAgICAvLyBHCi0gICAgcGFuZCAgICAgIHhtbTAsIHht
bTUgICAgLy8gUgotICAgIHBvciAgICAgICB4bW0xLCB4bW0yICAgIC8vIEJHCi0gICAgcG9yICAg
ICAgIHhtbTAsIHhtbTEgICAgLy8gQkdSCisgICAgbW92ZHF1ICAgIHhtbTAsIFtlYXhdICAvLyBm
ZXRjaCA0IHBpeGVscyBvZiBhcmdiCisgICAgbW92ZHFhICAgIHhtbTEsIHhtbTAgIC8vIEIKKyAg
ICBtb3ZkcWEgICAgeG1tMiwgeG1tMCAgLy8gRworICAgIHBzbGxkICAgICB4bW0wLCA4ICAvLyBS
CisgICAgcHNybGQgICAgIHhtbTEsIDMgIC8vIEIKKyAgICBwc3JsZCAgICAgeG1tMiwgNSAgLy8g
RworICAgIHBzcmFkICAgICB4bW0wLCAxNiAgLy8gUgorICAgIHBhbmQgICAgICB4bW0xLCB4bW0z
ICAvLyBCCisgICAgcGFuZCAgICAgIHhtbTIsIHhtbTQgIC8vIEcKKyAgICBwYW5kICAgICAgeG1t
MCwgeG1tNSAgLy8gUgorICAgIHBvciAgICAgICB4bW0xLCB4bW0yICAvLyBCRworICAgIHBvciAg
ICAgICB4bW0wLCB4bW0xICAvLyBCR1IKICAgICBwYWNrc3NkdyAgeG1tMCwgeG1tMAogICAgIGxl
YSAgICAgICBlYXgsIFtlYXggKyAxNl0KICAgICBtb3ZxICAgICAgcXdvcmQgcHRyIFtlZHhdLCB4
bW0wICAvLyBzdG9yZSA0IHBpeGVscyBvZiBSR0I1NjUKQEAgLTg2MSw0MSArODM0LDQyIEBAIHZv
aWQgQVJHQlRvUkdCNTY1Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X3JnYiwgaW50IHdpZHRoKSB7CiAgIH0KIH0KIAotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQVJH
QlRvUkdCNTY1RGl0aGVyUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X3JnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyIGRpdGhl
cjQsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCVG9SR0I1NjVEaXRo
ZXJSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzIgZGl0aGVy
NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CiAgIF9fYXNtIHsKIAotICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8v
IHNyY19hcmdiCi0gICAgbW92ICAgICAgIGVkeCwgW2VzcCArIDhdICAgLy8gZHN0X3JnYgotICAg
IG1vdmQgICAgICB4bW02LCBbZXNwICsgMTJdIC8vIGRpdGhlcjQKKyAgICBtb3YgICAgICAgZWF4
LCBbZXNwICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgIGVkeCwgW2VzcCArIDhdICAv
LyBkc3RfcmdiCisgICAgbW92ZCAgICAgIHhtbTYsIFtlc3AgKyAxMl0gIC8vIGRpdGhlcjQKICAg
ICBtb3YgICAgICAgZWN4LCBbZXNwICsgMTZdICAvLyB3aWR0aAotICAgIHB1bnBja2xidyB4bW02
LCB4bW02ICAgICAgIC8vIG1ha2UgZGl0aGVyIDE2IGJ5dGVzCisgICAgcHVucGNrbGJ3IHhtbTYs
IHhtbTYgIC8vIG1ha2UgZGl0aGVyIDE2IGJ5dGVzCiAgICAgbW92ZHFhICAgIHhtbTcsIHhtbTYK
ICAgICBwdW5wY2tsd2QgeG1tNiwgeG1tNgogICAgIHB1bnBja2h3ZCB4bW03LCB4bW03Ci0gICAg
cGNtcGVxYiAgIHhtbTMsIHhtbTMgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweDAwMDAwMDFmCisg
ICAgcGNtcGVxYiAgIHhtbTMsIHhtbTMgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMDAwMDAxZgogICAg
IHBzcmxkICAgICB4bW0zLCAyNwotICAgIHBjbXBlcWIgICB4bW00LCB4bW00ICAgICAgIC8vIGdl
bmVyYXRlIG1hc2sgMHgwMDAwMDdlMAorICAgIHBjbXBlcWIgICB4bW00LCB4bW00ICAvLyBnZW5l
cmF0ZSBtYXNrIDB4MDAwMDA3ZTAKICAgICBwc3JsZCAgICAgeG1tNCwgMjYKICAgICBwc2xsZCAg
ICAgeG1tNCwgNQotICAgIHBjbXBlcWIgICB4bW01LCB4bW01ICAgICAgIC8vIGdlbmVyYXRlIG1h
c2sgMHhmZmZmZjgwMAorICAgIHBjbXBlcWIgICB4bW01LCB4bW01ICAvLyBnZW5lcmF0ZSBtYXNr
IDB4ZmZmZmY4MDAKICAgICBwc2xsZCAgICAgeG1tNSwgMTEKIAogIGNvbnZlcnRsb29wOgotICAg
IG1vdmRxdSAgICB4bW0wLCBbZWF4XSAgIC8vIGZldGNoIDQgcGl4ZWxzIG9mIGFyZ2IKLSAgICBw
YWRkdXNiICAgeG1tMCwgeG1tNiAgICAvLyBhZGQgZGl0aGVyCi0gICAgbW92ZHFhICAgIHhtbTEs
IHhtbTAgICAgLy8gQgotICAgIG1vdmRxYSAgICB4bW0yLCB4bW0wICAgIC8vIEcKLSAgICBwc2xs
ZCAgICAgeG1tMCwgOCAgICAgICAvLyBSCi0gICAgcHNybGQgICAgIHhtbTEsIDMgICAgICAgLy8g
QgotICAgIHBzcmxkICAgICB4bW0yLCA1ICAgICAgIC8vIEcKLSAgICBwc3JhZCAgICAgeG1tMCwg
MTYgICAgICAvLyBSCi0gICAgcGFuZCAgICAgIHhtbTEsIHhtbTMgICAgLy8gQgotICAgIHBhbmQg
ICAgICB4bW0yLCB4bW00ICAgIC8vIEcKLSAgICBwYW5kICAgICAgeG1tMCwgeG1tNSAgICAvLyBS
Ci0gICAgcG9yICAgICAgIHhtbTEsIHhtbTIgICAgLy8gQkcKLSAgICBwb3IgICAgICAgeG1tMCwg
eG1tMSAgICAvLyBCR1IKKyAgICBtb3ZkcXUgICAgeG1tMCwgW2VheF0gIC8vIGZldGNoIDQgcGl4
ZWxzIG9mIGFyZ2IKKyAgICBwYWRkdXNiICAgeG1tMCwgeG1tNiAgLy8gYWRkIGRpdGhlcgorICAg
IG1vdmRxYSAgICB4bW0xLCB4bW0wICAvLyBCCisgICAgbW92ZHFhICAgIHhtbTIsIHhtbTAgIC8v
IEcKKyAgICBwc2xsZCAgICAgeG1tMCwgOCAgLy8gUgorICAgIHBzcmxkICAgICB4bW0xLCAzICAv
LyBCCisgICAgcHNybGQgICAgIHhtbTIsIDUgIC8vIEcKKyAgICBwc3JhZCAgICAgeG1tMCwgMTYg
IC8vIFIKKyAgICBwYW5kICAgICAgeG1tMSwgeG1tMyAgLy8gQgorICAgIHBhbmQgICAgICB4bW0y
LCB4bW00ICAvLyBHCisgICAgcGFuZCAgICAgIHhtbTAsIHhtbTUgIC8vIFIKKyAgICBwb3IgICAg
ICAgeG1tMSwgeG1tMiAgLy8gQkcKKyAgICBwb3IgICAgICAgeG1tMCwgeG1tMSAgLy8gQkdSCiAg
ICAgcGFja3NzZHcgIHhtbTAsIHhtbTAKICAgICBsZWEgICAgICAgZWF4LCBbZWF4ICsgMTZdCiAg
ICAgbW92cSAgICAgIHF3b3JkIHB0ciBbZWR4XSwgeG1tMCAgLy8gc3RvcmUgNCBwaXhlbHMgb2Yg
UkdCNTY1CkBAIC05MDcsMzkgKzg4MSw0MCBAQCB2b2lkIEFSR0JUb1JHQjU2NURpdGhlclJvd19T
U0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsCiB9CiAKICNpZmRlZiBI
QVNfQVJHQlRPUkdCNTY1RElUSEVSUk9XX0FWWDIKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFS
R0JUb1JHQjU2NURpdGhlclJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRz
dF9yZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMiBkaXRo
ZXI0LCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQlRvUkdCNTY1RGl0
aGVyUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyIGRpdGhl
cjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgewogICBfX2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgICAg
IC8vIHNyY19hcmdiCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgICAgIC8vIGRzdF9y
Z2IKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfYXJnYgorICAgIG1vdiAg
ICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdF9yZ2IKICAgICB2YnJvYWRjYXN0c3MgeG1tNiwg
W2VzcCArIDEyXSAgLy8gZGl0aGVyNAotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAg
ICAvLyB3aWR0aAotICAgIHZwdW5wY2tsYncgeG1tNiwgeG1tNiwgeG1tNiAgICAvLyBtYWtlIGRp
dGhlciAzMiBieXRlcworICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAvLyB3aWR0aAor
ICAgIHZwdW5wY2tsYncgeG1tNiwgeG1tNiwgeG1tNiAgLy8gbWFrZSBkaXRoZXIgMzIgYnl0ZXMK
ICAgICB2cGVybXEgICAgIHltbTYsIHltbTYsIDB4ZDgKICAgICB2cHVucGNrbHdkIHltbTYsIHlt
bTYsIHltbTYKLSAgICB2cGNtcGVxYiAgIHltbTMsIHltbTMsIHltbTMgICAgLy8gZ2VuZXJhdGUg
bWFzayAweDAwMDAwMDFmCisgICAgdnBjbXBlcWIgICB5bW0zLCB5bW0zLCB5bW0zICAvLyBnZW5l
cmF0ZSBtYXNrIDB4MDAwMDAwMWYKICAgICB2cHNybGQgICAgIHltbTMsIHltbTMsIDI3Ci0gICAg
dnBjbXBlcWIgICB5bW00LCB5bW00LCB5bW00ICAgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMDAwMDdl
MAorICAgIHZwY21wZXFiICAgeW1tNCwgeW1tNCwgeW1tNCAgLy8gZ2VuZXJhdGUgbWFzayAweDAw
MDAwN2UwCiAgICAgdnBzcmxkICAgICB5bW00LCB5bW00LCAyNgogICAgIHZwc2xsZCAgICAgeW1t
NCwgeW1tNCwgNQotICAgIHZwc2xsZCAgICAgeW1tNSwgeW1tMywgMTEgICAgICAvLyBnZW5lcmF0
ZSBtYXNrIDB4MDAwMGY4MDAKKyAgICB2cHNsbGQgICAgIHltbTUsIHltbTMsIDExICAvLyBnZW5l
cmF0ZSBtYXNrIDB4MDAwMGY4MDAKIAogIGNvbnZlcnRsb29wOgotICAgIHZtb3ZkcXUgICAgeW1t
MCwgW2VheF0gICAgICAgICAvLyBmZXRjaCA4IHBpeGVscyBvZiBhcmdiCi0gICAgdnBhZGR1c2Ig
ICB5bW0wLCB5bW0wLCB5bW02ICAgIC8vIGFkZCBkaXRoZXIKLSAgICB2cHNybGQgICAgIHltbTIs
IHltbTAsIDUgICAgICAgLy8gRwotICAgIHZwc3JsZCAgICAgeW1tMSwgeW1tMCwgMyAgICAgICAv
LyBCCi0gICAgdnBzcmxkICAgICB5bW0wLCB5bW0wLCA4ICAgICAgIC8vIFIKLSAgICB2cGFuZCAg
ICAgIHltbTIsIHltbTIsIHltbTQgICAgLy8gRwotICAgIHZwYW5kICAgICAgeW1tMSwgeW1tMSwg
eW1tMyAgICAvLyBCCi0gICAgdnBhbmQgICAgICB5bW0wLCB5bW0wLCB5bW01ICAgIC8vIFIKLSAg
ICB2cG9yICAgICAgIHltbTEsIHltbTEsIHltbTIgICAgLy8gQkcKLSAgICB2cG9yICAgICAgIHlt
bTAsIHltbTAsIHltbTEgICAgLy8gQkdSCisgICAgdm1vdmRxdSAgICB5bW0wLCBbZWF4XSAgLy8g
ZmV0Y2ggOCBwaXhlbHMgb2YgYXJnYgorICAgIHZwYWRkdXNiICAgeW1tMCwgeW1tMCwgeW1tNiAg
Ly8gYWRkIGRpdGhlcgorICAgIHZwc3JsZCAgICAgeW1tMiwgeW1tMCwgNSAgLy8gRworICAgIHZw
c3JsZCAgICAgeW1tMSwgeW1tMCwgMyAgLy8gQgorICAgIHZwc3JsZCAgICAgeW1tMCwgeW1tMCwg
OCAgLy8gUgorICAgIHZwYW5kICAgICAgeW1tMiwgeW1tMiwgeW1tNCAgLy8gRworICAgIHZwYW5k
ICAgICAgeW1tMSwgeW1tMSwgeW1tMyAgLy8gQgorICAgIHZwYW5kICAgICAgeW1tMCwgeW1tMCwg
eW1tNSAgLy8gUgorICAgIHZwb3IgICAgICAgeW1tMSwgeW1tMSwgeW1tMiAgLy8gQkcKKyAgICB2
cG9yICAgICAgIHltbTAsIHltbTAsIHltbTEgIC8vIEJHUgogICAgIHZwYWNrdXNkdyAgeW1tMCwg
eW1tMCwgeW1tMAogICAgIHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhkOAogICAgIGxlYSAgICAg
ICAgZWF4LCBbZWF4ICsgMzJdCi0gICAgdm1vdmRxdSAgICBbZWR4XSwgeG1tMCAgICAgICAgIC8v
IHN0b3JlIDggcGl4ZWxzIG9mIFJHQjU2NQorICAgIHZtb3ZkcXUgICAgW2VkeF0sIHhtbTAgIC8v
IHN0b3JlIDggcGl4ZWxzIG9mIFJHQjU2NQogICAgIGxlYSAgICAgICAgZWR4LCBbZWR4ICsgMTZd
CiAgICAgc3ViICAgICAgICBlY3gsIDgKICAgICBqZyAgICAgICAgIGNvbnZlcnRsb29wCkBAIC05
NTAsMzcgKzkyNSwzOCBAQCB2b2lkIEFSR0JUb1JHQjU2NURpdGhlclJvd19BVlgyKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsCiAjZW5kaWYgIC8vIEhBU19BUkdCVE9SR0I1
NjVESVRIRVJST1dfQVZYMgogCiAvLyBUT0RPKGZiYXJjaGFyZCk6IEltcHJvdmUgc2lnbiBleHRl
bnNpb24vcGFja2luZy4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0JUb0FSR0IxNTU1Um93
X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwgaW50IHdpZHRoKSB7
CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEFSR0JUb0FSR0IxNTU1Um93X1NTRTIoY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7Ci0gICAgbW92ICAgICAgIGVheCwgW2Vz
cCArIDRdICAgLy8gc3JjX2FyZ2IKLSAgICBtb3YgICAgICAgZWR4LCBbZXNwICsgOF0gICAvLyBk
c3RfcmdiCisgICAgbW92ICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfYXJnYgorICAgIG1v
diAgICAgICBlZHgsIFtlc3AgKyA4XSAgLy8gZHN0X3JnYgogICAgIG1vdiAgICAgICBlY3gsIFtl
c3AgKyAxMl0gIC8vIHdpZHRoCi0gICAgcGNtcGVxYiAgIHhtbTQsIHhtbTQgICAgICAgLy8gZ2Vu
ZXJhdGUgbWFzayAweDAwMDAwMDFmCisgICAgcGNtcGVxYiAgIHhtbTQsIHhtbTQgIC8vIGdlbmVy
YXRlIG1hc2sgMHgwMDAwMDAxZgogICAgIHBzcmxkICAgICB4bW00LCAyNwotICAgIG1vdmRxYSAg
ICB4bW01LCB4bW00ICAgICAgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMDAwMDNlMAorICAgIG1vdmRx
YSAgICB4bW01LCB4bW00ICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDAwMDAzZTAKICAgICBwc2xsZCAg
ICAgeG1tNSwgNQotICAgIG1vdmRxYSAgICB4bW02LCB4bW00ICAgICAgIC8vIGdlbmVyYXRlIG1h
c2sgMHgwMDAwN2MwMAorICAgIG1vdmRxYSAgICB4bW02LCB4bW00ICAvLyBnZW5lcmF0ZSBtYXNr
IDB4MDAwMDdjMDAKICAgICBwc2xsZCAgICAgeG1tNiwgMTAKLSAgICBwY21wZXFiICAgeG1tNywg
eG1tNyAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmZmZjgwMDAKKyAgICBwY21wZXFiICAgeG1t
NywgeG1tNyAgLy8gZ2VuZXJhdGUgbWFzayAweGZmZmY4MDAwCiAgICAgcHNsbGQgICAgIHhtbTcs
IDE1CiAKICBjb252ZXJ0bG9vcDoKLSAgICBtb3ZkcXUgICAgeG1tMCwgW2VheF0gICAvLyBmZXRj
aCA0IHBpeGVscyBvZiBhcmdiCi0gICAgbW92ZHFhICAgIHhtbTEsIHhtbTAgICAgLy8gQgotICAg
IG1vdmRxYSAgICB4bW0yLCB4bW0wICAgIC8vIEcKLSAgICBtb3ZkcWEgICAgeG1tMywgeG1tMCAg
ICAvLyBSCi0gICAgcHNyYWQgICAgIHhtbTAsIDE2ICAgICAgLy8gQQotICAgIHBzcmxkICAgICB4
bW0xLCAzICAgICAgIC8vIEIKLSAgICBwc3JsZCAgICAgeG1tMiwgNiAgICAgICAvLyBHCi0gICAg
cHNybGQgICAgIHhtbTMsIDkgICAgICAgLy8gUgotICAgIHBhbmQgICAgICB4bW0wLCB4bW03ICAg
IC8vIEEKLSAgICBwYW5kICAgICAgeG1tMSwgeG1tNCAgICAvLyBCCi0gICAgcGFuZCAgICAgIHht
bTIsIHhtbTUgICAgLy8gRwotICAgIHBhbmQgICAgICB4bW0zLCB4bW02ICAgIC8vIFIKLSAgICBw
b3IgICAgICAgeG1tMCwgeG1tMSAgICAvLyBCQQotICAgIHBvciAgICAgICB4bW0yLCB4bW0zICAg
IC8vIEdSCi0gICAgcG9yICAgICAgIHhtbTAsIHhtbTIgICAgLy8gQkdSQQorICAgIG1vdmRxdSAg
ICB4bW0wLCBbZWF4XSAgLy8gZmV0Y2ggNCBwaXhlbHMgb2YgYXJnYgorICAgIG1vdmRxYSAgICB4
bW0xLCB4bW0wICAvLyBCCisgICAgbW92ZHFhICAgIHhtbTIsIHhtbTAgIC8vIEcKKyAgICBtb3Zk
cWEgICAgeG1tMywgeG1tMCAgLy8gUgorICAgIHBzcmFkICAgICB4bW0wLCAxNiAgLy8gQQorICAg
IHBzcmxkICAgICB4bW0xLCAzICAvLyBCCisgICAgcHNybGQgICAgIHhtbTIsIDYgIC8vIEcKKyAg
ICBwc3JsZCAgICAgeG1tMywgOSAgLy8gUgorICAgIHBhbmQgICAgICB4bW0wLCB4bW03ICAvLyBB
CisgICAgcGFuZCAgICAgIHhtbTEsIHhtbTQgIC8vIEIKKyAgICBwYW5kICAgICAgeG1tMiwgeG1t
NSAgLy8gRworICAgIHBhbmQgICAgICB4bW0zLCB4bW02ICAvLyBSCisgICAgcG9yICAgICAgIHht
bTAsIHhtbTEgIC8vIEJBCisgICAgcG9yICAgICAgIHhtbTIsIHhtbTMgIC8vIEdSCisgICAgcG9y
ICAgICAgIHhtbTAsIHhtbTIgIC8vIEJHUkEKICAgICBwYWNrc3NkdyAgeG1tMCwgeG1tMAogICAg
IGxlYSAgICAgICBlYXgsIFtlYXggKyAxNl0KICAgICBtb3ZxICAgICAgcXdvcmQgcHRyIFtlZHhd
LCB4bW0wICAvLyBzdG9yZSA0IHBpeGVscyBvZiBBUkdCMTU1NQpAQCAtOTkxLDIyICs5NjcsMjMg
QEAgdm9pZCBBUkdCVG9BUkdCMTU1NVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWlu
dDgqIGRzdF9yZ2IsIGludCB3aWR0aCkgewogICB9CiB9CiAKLV9fZGVjbHNwZWMobmFrZWQpCi12
b2lkIEFSR0JUb0FSR0I0NDQ0Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCog
ZHN0X3JnYiwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEFSR0JUb0FSR0I0
NDQ0Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7Ci0g
ICAgbW92ICAgICAgIGVheCwgW2VzcCArIDRdICAgLy8gc3JjX2FyZ2IKLSAgICBtb3YgICAgICAg
ZWR4LCBbZXNwICsgOF0gICAvLyBkc3RfcmdiCisgICAgbW92ICAgICAgIGVheCwgW2VzcCArIDRd
ICAvLyBzcmNfYXJnYgorICAgIG1vdiAgICAgICBlZHgsIFtlc3AgKyA4XSAgLy8gZHN0X3JnYgog
ICAgIG1vdiAgICAgICBlY3gsIFtlc3AgKyAxMl0gIC8vIHdpZHRoCi0gICAgcGNtcGVxYiAgIHht
bTQsIHhtbTQgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweGYwMDBmMDAwCisgICAgcGNtcGVxYiAg
IHhtbTQsIHhtbTQgIC8vIGdlbmVyYXRlIG1hc2sgMHhmMDAwZjAwMAogICAgIHBzbGx3ICAgICB4
bW00LCAxMgotICAgIG1vdmRxYSAgICB4bW0zLCB4bW00ICAgICAgIC8vIGdlbmVyYXRlIG1hc2sg
MHgwMGYwMDBmMAorICAgIG1vdmRxYSAgICB4bW0zLCB4bW00ICAvLyBnZW5lcmF0ZSBtYXNrIDB4
MDBmMDAwZjAKICAgICBwc3JsdyAgICAgeG1tMywgOAogCiAgY29udmVydGxvb3A6Ci0gICAgbW92
ZHF1ICAgIHhtbTAsIFtlYXhdICAgLy8gZmV0Y2ggNCBwaXhlbHMgb2YgYXJnYgorICAgIG1vdmRx
dSAgICB4bW0wLCBbZWF4XSAgLy8gZmV0Y2ggNCBwaXhlbHMgb2YgYXJnYgogICAgIG1vdmRxYSAg
ICB4bW0xLCB4bW0wCi0gICAgcGFuZCAgICAgIHhtbTAsIHhtbTMgICAgLy8gbG93IG5pYmJsZQot
ICAgIHBhbmQgICAgICB4bW0xLCB4bW00ICAgIC8vIGhpZ2ggbmliYmxlCisgICAgcGFuZCAgICAg
IHhtbTAsIHhtbTMgIC8vIGxvdyBuaWJibGUKKyAgICBwYW5kICAgICAgeG1tMSwgeG1tNCAgLy8g
aGlnaCBuaWJibGUKICAgICBwc3JsZCAgICAgeG1tMCwgNAogICAgIHBzcmxkICAgICB4bW0xLCA4
CiAgICAgcG9yICAgICAgIHhtbTAsIHhtbTEKQEAgLTEwMjEsMzMgKzk5OCwzNCBAQCB2b2lkIEFS
R0JUb0FSR0I0NDQ0Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3Jn
YiwgaW50IHdpZHRoKSB7CiB9CiAKICNpZmRlZiBIQVNfQVJHQlRPUkdCNTY1Uk9XX0FWWDIKLV9f
ZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0JUb1JHQjU2NVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkg
dm9pZCBBUkdCVG9SR0I1NjVSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAg
X19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAgICAvLyBzcmNfYXJnYgot
ICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAgICAvLyBkc3RfcmdiCi0gICAgbW92ICAg
ICAgICBlY3gsIFtlc3AgKyAxMl0gICAgIC8vIHdpZHRoCi0gICAgdnBjbXBlcWIgICB5bW0zLCB5
bW0zLCB5bW0zICAgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMDAwMDAxZgorICAgIG1vdiAgICAgICAg
ZWF4LCBbZXNwICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4
XSAgLy8gZHN0X3JnYgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyB3aWR0aAor
ICAgIHZwY21wZXFiICAgeW1tMywgeW1tMywgeW1tMyAgLy8gZ2VuZXJhdGUgbWFzayAweDAwMDAw
MDFmCiAgICAgdnBzcmxkICAgICB5bW0zLCB5bW0zLCAyNwotICAgIHZwY21wZXFiICAgeW1tNCwg
eW1tNCwgeW1tNCAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDAwMDA3ZTAKKyAgICB2cGNtcGVxYiAg
IHltbTQsIHltbTQsIHltbTQgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMDAwMDdlMAogICAgIHZwc3Js
ZCAgICAgeW1tNCwgeW1tNCwgMjYKICAgICB2cHNsbGQgICAgIHltbTQsIHltbTQsIDUKLSAgICB2
cHNsbGQgICAgIHltbTUsIHltbTMsIDExICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweDAwMDBmODAw
CisgICAgdnBzbGxkICAgICB5bW01LCB5bW0zLCAxMSAgLy8gZ2VuZXJhdGUgbWFzayAweDAwMDBm
ODAwCiAKICBjb252ZXJ0bG9vcDoKLSAgICB2bW92ZHF1ICAgIHltbTAsIFtlYXhdICAgICAgICAg
Ly8gZmV0Y2ggOCBwaXhlbHMgb2YgYXJnYgotICAgIHZwc3JsZCAgICAgeW1tMiwgeW1tMCwgNSAg
ICAgICAvLyBHCi0gICAgdnBzcmxkICAgICB5bW0xLCB5bW0wLCAzICAgICAgIC8vIEIKLSAgICB2
cHNybGQgICAgIHltbTAsIHltbTAsIDggICAgICAgLy8gUgotICAgIHZwYW5kICAgICAgeW1tMiwg
eW1tMiwgeW1tNCAgICAvLyBHCi0gICAgdnBhbmQgICAgICB5bW0xLCB5bW0xLCB5bW0zICAgIC8v
IEIKLSAgICB2cGFuZCAgICAgIHltbTAsIHltbTAsIHltbTUgICAgLy8gUgotICAgIHZwb3IgICAg
ICAgeW1tMSwgeW1tMSwgeW1tMiAgICAvLyBCRwotICAgIHZwb3IgICAgICAgeW1tMCwgeW1tMCwg
eW1tMSAgICAvLyBCR1IKKyAgICB2bW92ZHF1ICAgIHltbTAsIFtlYXhdICAvLyBmZXRjaCA4IHBp
eGVscyBvZiBhcmdiCisgICAgdnBzcmxkICAgICB5bW0yLCB5bW0wLCA1ICAvLyBHCisgICAgdnBz
cmxkICAgICB5bW0xLCB5bW0wLCAzICAvLyBCCisgICAgdnBzcmxkICAgICB5bW0wLCB5bW0wLCA4
ICAvLyBSCisgICAgdnBhbmQgICAgICB5bW0yLCB5bW0yLCB5bW00ICAvLyBHCisgICAgdnBhbmQg
ICAgICB5bW0xLCB5bW0xLCB5bW0zICAvLyBCCisgICAgdnBhbmQgICAgICB5bW0wLCB5bW0wLCB5
bW01ICAvLyBSCisgICAgdnBvciAgICAgICB5bW0xLCB5bW0xLCB5bW0yICAvLyBCRworICAgIHZw
b3IgICAgICAgeW1tMCwgeW1tMCwgeW1tMSAgLy8gQkdSCiAgICAgdnBhY2t1c2R3ICB5bW0wLCB5
bW0wLCB5bW0wCiAgICAgdnBlcm1xICAgICB5bW0wLCB5bW0wLCAweGQ4CiAgICAgbGVhICAgICAg
ICBlYXgsIFtlYXggKyAzMl0KLSAgICB2bW92ZHF1ICAgIFtlZHhdLCB4bW0wICAgICAgICAgLy8g
c3RvcmUgOCBwaXhlbHMgb2YgUkdCNTY1CisgICAgdm1vdmRxdSAgICBbZWR4XSwgeG1tMCAgLy8g
c3RvcmUgOCBwaXhlbHMgb2YgUkdCNTY1CiAgICAgbGVhICAgICAgICBlZHgsIFtlZHggKyAxNl0K
ICAgICBzdWIgICAgICAgIGVjeCwgOAogICAgIGpnICAgICAgICAgY29udmVydGxvb3AKQEAgLTEw
NTgsMzYgKzEwMzYsMzcgQEAgdm9pZCBBUkdCVG9SR0I1NjVSb3dfQVZYMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpIHsKICNlbmRpZiAgLy8gSEFTX0FS
R0JUT1JHQjU2NVJPV19BVlgyCiAKICNpZmRlZiBIQVNfQVJHQlRPQVJHQjE1NTVST1dfQVZYMgot
X19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQVJHQlRvQVJHQjE1NTVSb3dfQVZYMihjb25zdCB1aW50
OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFr
ZWQpIHZvaWQgQVJHQlRvQVJHQjE1NTVSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9y
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgICAgLy8g
c3JjX2FyZ2IKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAgICAgLy8gZHN0X3JnYgot
ICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAgICAvLyB3aWR0aAorICAgIG1vdiAgICAg
ICAgZWF4LCBbZXNwICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgICBlZHgsIFtlc3Ag
KyA4XSAgLy8gZHN0X3JnYgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyB3aWR0
aAogICAgIHZwY21wZXFiICAgeW1tNCwgeW1tNCwgeW1tNAotICAgIHZwc3JsZCAgICAgeW1tNCwg
eW1tNCwgMjcgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDAwMDAwMWYKLSAgICB2cHNsbGQgICAg
IHltbTUsIHltbTQsIDUgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweDAwMDAwM2UwCi0gICAgdnBz
bGxkICAgICB5bW02LCB5bW00LCAxMCAgICAgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMDAwN2MwMAot
ICAgIHZwY21wZXFiICAgeW1tNywgeW1tNywgeW1tNyAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmZm
ZjgwMDAKKyAgICB2cHNybGQgICAgIHltbTQsIHltbTQsIDI3ICAvLyBnZW5lcmF0ZSBtYXNrIDB4
MDAwMDAwMWYKKyAgICB2cHNsbGQgICAgIHltbTUsIHltbTQsIDUgIC8vIGdlbmVyYXRlIG1hc2sg
MHgwMDAwMDNlMAorICAgIHZwc2xsZCAgICAgeW1tNiwgeW1tNCwgMTAgIC8vIGdlbmVyYXRlIG1h
c2sgMHgwMDAwN2MwMAorICAgIHZwY21wZXFiICAgeW1tNywgeW1tNywgeW1tNyAgLy8gZ2VuZXJh
dGUgbWFzayAweGZmZmY4MDAwCiAgICAgdnBzbGxkICAgICB5bW03LCB5bW03LCAxNQogCiAgY29u
dmVydGxvb3A6Ci0gICAgdm1vdmRxdSAgICB5bW0wLCBbZWF4XSAgICAgICAgIC8vIGZldGNoIDgg
cGl4ZWxzIG9mIGFyZ2IKLSAgICB2cHNybGQgICAgIHltbTMsIHltbTAsIDkgICAgICAgLy8gUgot
ICAgIHZwc3JsZCAgICAgeW1tMiwgeW1tMCwgNiAgICAgICAvLyBHCi0gICAgdnBzcmxkICAgICB5
bW0xLCB5bW0wLCAzICAgICAgIC8vIEIKLSAgICB2cHNyYWQgICAgIHltbTAsIHltbTAsIDE2ICAg
ICAgLy8gQQotICAgIHZwYW5kICAgICAgeW1tMywgeW1tMywgeW1tNiAgICAvLyBSCi0gICAgdnBh
bmQgICAgICB5bW0yLCB5bW0yLCB5bW01ICAgIC8vIEcKLSAgICB2cGFuZCAgICAgIHltbTEsIHlt
bTEsIHltbTQgICAgLy8gQgotICAgIHZwYW5kICAgICAgeW1tMCwgeW1tMCwgeW1tNyAgICAvLyBB
Ci0gICAgdnBvciAgICAgICB5bW0wLCB5bW0wLCB5bW0xICAgIC8vIEJBCi0gICAgdnBvciAgICAg
ICB5bW0yLCB5bW0yLCB5bW0zICAgIC8vIEdSCi0gICAgdnBvciAgICAgICB5bW0wLCB5bW0wLCB5
bW0yICAgIC8vIEJHUkEKKyAgICB2bW92ZHF1ICAgIHltbTAsIFtlYXhdICAvLyBmZXRjaCA4IHBp
eGVscyBvZiBhcmdiCisgICAgdnBzcmxkICAgICB5bW0zLCB5bW0wLCA5ICAvLyBSCisgICAgdnBz
cmxkICAgICB5bW0yLCB5bW0wLCA2ICAvLyBHCisgICAgdnBzcmxkICAgICB5bW0xLCB5bW0wLCAz
ICAvLyBCCisgICAgdnBzcmFkICAgICB5bW0wLCB5bW0wLCAxNiAgLy8gQQorICAgIHZwYW5kICAg
ICAgeW1tMywgeW1tMywgeW1tNiAgLy8gUgorICAgIHZwYW5kICAgICAgeW1tMiwgeW1tMiwgeW1t
NSAgLy8gRworICAgIHZwYW5kICAgICAgeW1tMSwgeW1tMSwgeW1tNCAgLy8gQgorICAgIHZwYW5k
ICAgICAgeW1tMCwgeW1tMCwgeW1tNyAgLy8gQQorICAgIHZwb3IgICAgICAgeW1tMCwgeW1tMCwg
eW1tMSAgLy8gQkEKKyAgICB2cG9yICAgICAgIHltbTIsIHltbTIsIHltbTMgIC8vIEdSCisgICAg
dnBvciAgICAgICB5bW0wLCB5bW0wLCB5bW0yICAvLyBCR1JBCiAgICAgdnBhY2tzc2R3ICB5bW0w
LCB5bW0wLCB5bW0wCiAgICAgdnBlcm1xICAgICB5bW0wLCB5bW0wLCAweGQ4CiAgICAgbGVhICAg
ICAgICBlYXgsIFtlYXggKyAzMl0KLSAgICB2bW92ZHF1ICAgIFtlZHhdLCB4bW0wICAgICAgICAg
Ly8gc3RvcmUgOCBwaXhlbHMgb2YgQVJHQjE1NTUKKyAgICB2bW92ZHF1ICAgIFtlZHhdLCB4bW0w
ICAvLyBzdG9yZSA4IHBpeGVscyBvZiBBUkdCMTU1NQogICAgIGxlYSAgICAgICAgZWR4LCBbZWR4
ICsgMTZdCiAgICAgc3ViICAgICAgICBlY3gsIDgKICAgICBqZyAgICAgICAgIGNvbnZlcnRsb29w
CkBAIC0xMDk4LDI3ICsxMDc3LDI4IEBAIHZvaWQgQVJHQlRvQVJHQjE1NTVSb3dfQVZYMihjb25z
dCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfcmdiLCBpbnQgd2lkdGgpIHsKICNlbmRpZiAg
Ly8gSEFTX0FSR0JUT0FSR0IxNTU1Uk9XX0FWWDIKIAogI2lmZGVmIEhBU19BUkdCVE9BUkdCNDQ0
NFJPV19BVlgyCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCVG9BUkdCNDQ0NFJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9yZ2IsIGludCB3aWR0aCkgeworX19k
ZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCVG9BUkdCNDQ0NFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3JnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsg
NF0gICAvLyBzcmNfYXJnYgotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAvLyBkc3Rf
cmdiCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX2FyZ2IKKyAgICBtb3Yg
ICAgICAgIGVkeCwgW2VzcCArIDhdICAvLyBkc3RfcmdiCiAgICAgbW92ICAgICAgICBlY3gsIFtl
c3AgKyAxMl0gIC8vIHdpZHRoCi0gICAgdnBjbXBlcWIgICB5bW00LCB5bW00LCB5bW00ICAgLy8g
Z2VuZXJhdGUgbWFzayAweGYwMDBmMDAwCisgICAgdnBjbXBlcWIgICB5bW00LCB5bW00LCB5bW00
ICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZjAwMGYwMDAKICAgICB2cHNsbHcgICAgIHltbTQsIHltbTQs
IDEyCi0gICAgdnBzcmx3ICAgICB5bW0zLCB5bW00LCA4ICAgICAgLy8gZ2VuZXJhdGUgbWFzayAw
eDAwZjAwMGYwCisgICAgdnBzcmx3ICAgICB5bW0zLCB5bW00LCA4ICAvLyBnZW5lcmF0ZSBtYXNr
IDB4MDBmMDAwZjAKIAogIGNvbnZlcnRsb29wOgotICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0g
ICAgICAgICAvLyBmZXRjaCA4IHBpeGVscyBvZiBhcmdiCi0gICAgdnBhbmQgICAgICB5bW0xLCB5
bW0wLCB5bW00ICAgIC8vIGhpZ2ggbmliYmxlCi0gICAgdnBhbmQgICAgICB5bW0wLCB5bW0wLCB5
bW0zICAgIC8vIGxvdyBuaWJibGUKKyAgICB2bW92ZHF1ICAgIHltbTAsIFtlYXhdICAvLyBmZXRj
aCA4IHBpeGVscyBvZiBhcmdiCisgICAgdnBhbmQgICAgICB5bW0xLCB5bW0wLCB5bW00ICAvLyBo
aWdoIG5pYmJsZQorICAgIHZwYW5kICAgICAgeW1tMCwgeW1tMCwgeW1tMyAgLy8gbG93IG5pYmJs
ZQogICAgIHZwc3JsZCAgICAgeW1tMSwgeW1tMSwgOAogICAgIHZwc3JsZCAgICAgeW1tMCwgeW1t
MCwgNAogICAgIHZwb3IgICAgICAgeW1tMCwgeW1tMCwgeW1tMQogICAgIHZwYWNrdXN3YiAgeW1t
MCwgeW1tMCwgeW1tMAogICAgIHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhkOAogICAgIGxlYSAg
ICAgICAgZWF4LCBbZWF4ICsgMzJdCi0gICAgdm1vdmRxdSAgICBbZWR4XSwgeG1tMCAgICAgICAg
IC8vIHN0b3JlIDggcGl4ZWxzIG9mIEFSR0I0NDQ0CisgICAgdm1vdmRxdSAgICBbZWR4XSwgeG1t
MCAgLy8gc3RvcmUgOCBwaXhlbHMgb2YgQVJHQjQ0NDQKICAgICBsZWEgICAgICAgIGVkeCwgW2Vk
eCArIDE2XQogICAgIHN1YiAgICAgICAgZWN4LCA4CiAgICAgamcgICAgICAgICBjb252ZXJ0bG9v
cApAQCAtMTEyOSwxMiArMTEwOSwxMyBAQCB2b2lkIEFSR0JUb0FSR0I0NDQ0Um93X0FWWDIoY29u
c3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3JnYiwgaW50IHdpZHRoKSB7CiAjZW5kaWYg
IC8vIEhBU19BUkdCVE9BUkdCNDQ0NFJPV19BVlgyCiAKIC8vIENvbnZlcnQgMTYgQVJHQiBwaXhl
bHMgKDY0IGJ5dGVzKSB0byAxNiBZIHZhbHVlcy4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFS
R0JUb1lSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGludCB3
aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCVG9ZUm93X1NTU0UzKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgLyog
c3JjX2FyZ2IgKi8KLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAgLyogZHN0X3kgKi8K
LSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLyogd2lkdGggKi8KKyAgICBtb3YgICAg
ICAgIGVheCwgW2VzcCArIDRdIC8qIHNyY19hcmdiICovCisgICAgbW92ICAgICAgICBlZHgsIFtl
c3AgKyA4XSAvKiBkc3RfeSAqLworICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdIC8qIHdp
ZHRoICovCiAgICAgbW92ZHFhICAgICB4bW00LCB4bW13b3JkIHB0ciBrQVJHQlRvWQogICAgIG1v
dmRxYSAgICAgeG1tNSwgeG1td29yZCBwdHIga0FkZFkxNgogCkBAIC0xMTY0LDEyICsxMTQ1LDEz
IEBAIHZvaWQgQVJHQlRvWVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBk
c3RfeSwgaW50IHdpZHRoKSB7CiAKIC8vIENvbnZlcnQgMTYgQVJHQiBwaXhlbHMgKDY0IGJ5dGVz
KSB0byAxNiBZSiB2YWx1ZXMuCiAvLyBTYW1lIGFzIEFSR0JUb1lSb3cgYnV0IGRpZmZlcmVudCBj
b2VmZmljaWVudHMsIG5vIGFkZCAxNiwgYnV0IGRvIHJvdW5kaW5nLgotX19kZWNsc3BlYyhuYWtl
ZCkKLXZvaWQgQVJHQlRvWUpSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCog
ZHN0X3ksIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCVG9ZSlJvd19T
U1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwg
W2VzcCArIDRdICAgLyogc3JjX2FyZ2IgKi8KLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhd
ICAgLyogZHN0X3kgKi8KLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLyogd2lkdGgg
Ki8KKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdIC8qIHNyY19hcmdiICovCisgICAgbW92
ICAgICAgICBlZHgsIFtlc3AgKyA4XSAvKiBkc3RfeSAqLworICAgIG1vdiAgICAgICAgZWN4LCBb
ZXNwICsgMTJdIC8qIHdpZHRoICovCiAgICAgbW92ZHFhICAgICB4bW00LCB4bW13b3JkIHB0ciBr
QVJHQlRvWUoKICAgICBtb3ZkcWEgICAgIHhtbTUsIHhtbXdvcmQgcHRyIGtBZGRZSjY0CiAKQEAg
LTEyMDAsMTcgKzExODIsMTYgQEAgdm9pZCBBUkdCVG9ZSlJvd19TU1NFMyhjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CiAKICNpZmRlZiBIQVNfQVJHQlRP
WVJPV19BVlgyCiAvLyB2cGVybWQgZm9yIHZwaGFkZHcgKyB2cGFja3Vzd2IgdnBlcm1kLgotc3Rh
dGljIGNvbnN0IGx2ZWMzMiBrUGVybWRBUkdCVG9ZX0FWWCA9IHsKLSAgMCwgNCwgMSwgNSwgMiwg
NiwgMywgNwotfTsKK3N0YXRpYyBjb25zdCBsdmVjMzIga1Blcm1kQVJHQlRvWV9BVlggPSB7MCwg
NCwgMSwgNSwgMiwgNiwgMywgN307CiAKIC8vIENvbnZlcnQgMzIgQVJHQiBwaXhlbHMgKDEyOCBi
eXRlcykgdG8gMzIgWSB2YWx1ZXMuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCVG9ZUm93
X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgewor
X19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCVG9ZUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAg
IF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgLyogc3JjX2FyZ2IgKi8K
LSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAgLyogZHN0X3kgKi8KLSAgICBtb3YgICAg
ICAgIGVjeCwgW2VzcCArIDEyXSAgLyogd2lkdGggKi8KKyAgICBtb3YgICAgICAgIGVheCwgW2Vz
cCArIDRdIC8qIHNyY19hcmdiICovCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAvKiBk
c3RfeSAqLworICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdIC8qIHdpZHRoICovCiAgICAg
dmJyb2FkY2FzdGYxMjggeW1tNCwgeG1td29yZCBwdHIga0FSR0JUb1kKICAgICB2YnJvYWRjYXN0
ZjEyOCB5bW01LCB4bW13b3JkIHB0ciBrQWRkWTE2CiAgICAgdm1vdmRxdSAgICB5bW02LCB5bW13
b3JkIHB0ciBrUGVybWRBUkdCVG9ZX0FWWApAQCAtMTI0NCwxMiArMTIyNSwxMyBAQCB2b2lkIEFS
R0JUb1lSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdp
ZHRoKSB7CiAKICNpZmRlZiBIQVNfQVJHQlRPWUpST1dfQVZYMgogLy8gQ29udmVydCAzMiBBUkdC
IHBpeGVscyAoMTI4IGJ5dGVzKSB0byAzMiBZIHZhbHVlcy4KLV9fZGVjbHNwZWMobmFrZWQpCi12
b2lkIEFSR0JUb1lKUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ks
IGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCVG9ZSlJvd19BVlgyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRd
ICAgLyogc3JjX2FyZ2IgKi8KLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAgLyogZHN0
X3kgKi8KLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLyogd2lkdGggKi8KKyAgICBt
b3YgICAgICAgIGVheCwgW2VzcCArIDRdIC8qIHNyY19hcmdiICovCisgICAgbW92ICAgICAgICBl
ZHgsIFtlc3AgKyA4XSAvKiBkc3RfeSAqLworICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJd
IC8qIHdpZHRoICovCiAgICAgdmJyb2FkY2FzdGYxMjggeW1tNCwgeG1td29yZCBwdHIga0FSR0JU
b1lKCiAgICAgdmJyb2FkY2FzdGYxMjggeW1tNSwgeG1td29yZCBwdHIga0FkZFlKNjQKICAgICB2
bW92ZHF1ICAgIHltbTYsIHltbXdvcmQgcHRyIGtQZXJtZEFSR0JUb1lfQVZYCkBAIC0xMjgzLDEy
ICsxMjY1LDEzIEBAIHZvaWQgQVJHQlRvWUpSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2Is
IHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CiB9CiAjZW5kaWYgIC8vICBIQVNfQVJHQlRPWUpS
T1dfQVZYMgogCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBCR1JBVG9ZUm93X1NTU0UzKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMo
bmFrZWQpIHZvaWQgQkdSQVRvWVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7
Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8qIHNyY19hcmdiICovCi0gICAgbW92
ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8qIGRzdF95ICovCi0gICAgbW92ICAgICAgICBlY3gs
IFtlc3AgKyAxMl0gIC8qIHdpZHRoICovCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAv
KiBzcmNfYXJnYiAqLworICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gLyogZHN0X3kgKi8K
KyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAvKiB3aWR0aCAqLwogICAgIG1vdmRxYSAg
ICAgeG1tNCwgeG1td29yZCBwdHIga0JHUkFUb1kKICAgICBtb3ZkcWEgICAgIHhtbTUsIHhtbXdv
cmQgcHRyIGtBZGRZMTYKIApAQCAtMTMxNiwxMiArMTI5OSwxMyBAQCB2b2lkIEJHUkFUb1lSb3df
U1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgewog
ICB9CiB9CiAKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFCR1JUb1lSb3dfU1NTRTMoY29uc3Qg
dWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhu
YWtlZCkgdm9pZCBBQkdSVG9ZUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsK
LSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgLyogc3JjX2FyZ2IgKi8KLSAgICBtb3Yg
ICAgICAgIGVkeCwgW2VzcCArIDhdICAgLyogZHN0X3kgKi8KLSAgICBtb3YgICAgICAgIGVjeCwg
W2VzcCArIDEyXSAgLyogd2lkdGggKi8KKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdIC8q
IHNyY19hcmdiICovCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAvKiBkc3RfeSAqLwor
ICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdIC8qIHdpZHRoICovCiAgICAgbW92ZHFhICAg
ICB4bW00LCB4bW13b3JkIHB0ciBrQUJHUlRvWQogICAgIG1vdmRxYSAgICAgeG1tNSwgeG1td29y
ZCBwdHIga0FkZFkxNgogCkBAIC0xMzQ5LDEyICsxMzMzLDEzIEBAIHZvaWQgQUJHUlRvWVJvd19T
U1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CiAg
IH0KIH0KIAotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgUkdCQVRvWVJvd19TU1NFMyhjb25zdCB1
aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5h
a2VkKSB2b2lkIFJHQkFUb1lSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewot
ICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAvKiBzcmNfYXJnYiAqLwotICAgIG1vdiAg
ICAgICAgZWR4LCBbZXNwICsgOF0gICAvKiBkc3RfeSAqLwotICAgIG1vdiAgICAgICAgZWN4LCBb
ZXNwICsgMTJdICAvKiB3aWR0aCAqLworICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gLyog
c3JjX2FyZ2IgKi8KKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdIC8qIGRzdF95ICovCisg
ICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gLyogd2lkdGggKi8KICAgICBtb3ZkcWEgICAg
IHhtbTQsIHhtbXdvcmQgcHRyIGtSR0JBVG9ZCiAgICAgbW92ZHFhICAgICB4bW01LCB4bW13b3Jk
IHB0ciBrQWRkWTE2CiAKQEAgLTEzODIsMjQgKzEzNjcsMjYgQEAgdm9pZCBSR0JBVG9ZUm93X1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF95LCBpbnQgd2lkdGgpIHsKICAg
fQogfQogCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCVG9VVlJvd19TU1NFMyhjb25zdCB1
aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVj
KG5ha2VkKSB2b2lkIEFSR0JUb1VWUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2Fy
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
dSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsK
ICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCiAgICAgcHVzaCAgICAgICBlZGkKLSAgICBt
b3YgICAgICAgIGVheCwgW2VzcCArIDggKyA0XSAgIC8vIHNyY19hcmdiCi0gICAgbW92ICAgICAg
ICBlc2ksIFtlc3AgKyA4ICsgOF0gICAvLyBzcmNfc3RyaWRlX2FyZ2IKKyAgICBtb3YgICAgICAg
IGVheCwgW2VzcCArIDggKyA0XSAgLy8gc3JjX2FyZ2IKKyAgICBtb3YgICAgICAgIGVzaSwgW2Vz
cCArIDggKyA4XSAgLy8gc3JjX3N0cmlkZV9hcmdiCiAgICAgbW92ICAgICAgICBlZHgsIFtlc3Ag
KyA4ICsgMTJdICAvLyBkc3RfdQogICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgOCArIDE2XSAg
Ly8gZHN0X3YKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDggKyAyMF0gIC8vIHdpZHRoCiAg
ICAgbW92ZHFhICAgICB4bW01LCB4bW13b3JkIHB0ciBrQWRkVVYxMjgKICAgICBtb3ZkcWEgICAg
IHhtbTYsIHhtbXdvcmQgcHRyIGtBUkdCVG9WCiAgICAgbW92ZHFhICAgICB4bW03LCB4bW13b3Jk
IHB0ciBrQVJHQlRvVQotICAgIHN1YiAgICAgICAgZWRpLCBlZHggICAgICAgICAgICAgLy8gc3Ry
aWRlIGZyb20gdSB0byB2CisgICAgc3ViICAgICAgICBlZGksIGVkeCAgLy8gc3RyaWRlIGZyb20g
dSB0byB2CiAKICBjb252ZXJ0bG9vcDoKLSAgICAvKiBzdGVwIDEgLSBzdWJzYW1wbGUgMTZ4MiBh
cmdiIHBpeGVscyB0byA4eDEgKi8KKyAgICAgICAgIC8qIHN0ZXAgMSAtIHN1YnNhbXBsZSAxNngy
IGFyZ2IgcGl4ZWxzIHRvIDh4MSAqLwogICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0KICAgICBt
b3ZkcXUgICAgIHhtbTQsIFtlYXggKyBlc2ldCiAgICAgcGF2Z2IgICAgICB4bW0wLCB4bW00CkBA
IC0xNDM3LDExICsxNDI0LDExIEBAIHZvaWQgQVJHQlRvVVZSb3dfU1NTRTMoY29uc3QgdWludDgq
IHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICBwc3JhdyAgICAgIHhtbTAsIDgK
ICAgICBwc3JhdyAgICAgIHhtbTEsIDgKICAgICBwYWNrc3N3YiAgIHhtbTAsIHhtbTEKLSAgICBw
YWRkYiAgICAgIHhtbTAsIHhtbTUgICAgICAgICAgICAvLyAtPiB1bnNpZ25lZAorICAgIHBhZGRi
ICAgICAgeG1tMCwgeG1tNSAgLy8gLT4gdW5zaWduZWQKIAogICAgIC8vIHN0ZXAgMyAtIHN0b3Jl
IDggVSBhbmQgOCBWIHZhbHVlcwotICAgIG1vdmxwcyAgICAgcXdvcmQgcHRyIFtlZHhdLCB4bW0w
IC8vIFUKLSAgICBtb3ZocHMgICAgIHF3b3JkIHB0ciBbZWR4ICsgZWRpXSwgeG1tMCAvLyBWCisg
ICAgbW92bHBzICAgICBxd29yZCBwdHIgW2VkeF0sIHhtbTAgIC8vIFUKKyAgICBtb3ZocHMgICAg
IHF3b3JkIHB0ciBbZWR4ICsgZWRpXSwgeG1tMCAgLy8gVgogICAgIGxlYSAgICAgICAgZWR4LCBb
ZWR4ICsgOF0KICAgICBzdWIgICAgICAgIGVjeCwgMTYKICAgICBqZyAgICAgICAgIGNvbnZlcnRs
b29wCkBAIC0xNDUyLDI0ICsxNDM5LDI2IEBAIHZvaWQgQVJHQlRvVVZSb3dfU1NTRTMoY29uc3Qg
dWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgfQogfQogCi1fX2RlY2xz
cGVjKG5ha2VkKQotdm9pZCBBUkdCVG9VVkpSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdi
MCwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQg
QVJHQlRvVVZKUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNt
IHsKICAgICBwdXNoICAgICAgIGVzaQogICAgIHB1c2ggICAgICAgZWRpCi0gICAgbW92ICAgICAg
ICBlYXgsIFtlc3AgKyA4ICsgNF0gICAvLyBzcmNfYXJnYgotICAgIG1vdiAgICAgICAgZXNpLCBb
ZXNwICsgOCArIDhdICAgLy8gc3JjX3N0cmlkZV9hcmdiCisgICAgbW92ICAgICAgICBlYXgsIFtl
c3AgKyA4ICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsg
OF0gIC8vIHNyY19zdHJpZGVfYXJnYgogICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOCArIDEy
XSAgLy8gZHN0X3UKICAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDggKyAxNl0gIC8vIGRzdF92
CiAgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA4ICsgMjBdICAvLyB3aWR0aAogICAgIG1vdmRx
YSAgICAgeG1tNSwgeG1td29yZCBwdHIga0FkZFVWSjEyOAogICAgIG1vdmRxYSAgICAgeG1tNiwg
eG1td29yZCBwdHIga0FSR0JUb1ZKCiAgICAgbW92ZHFhICAgICB4bW03LCB4bW13b3JkIHB0ciBr
QVJHQlRvVUoKLSAgICBzdWIgICAgICAgIGVkaSwgZWR4ICAgICAgICAgICAgIC8vIHN0cmlkZSBm
cm9tIHUgdG8gdgorICAgIHN1YiAgICAgICAgZWRpLCBlZHggIC8vIHN0cmlkZSBmcm9tIHUgdG8g
dgogCiAgY29udmVydGxvb3A6Ci0gICAgLyogc3RlcCAxIC0gc3Vic2FtcGxlIDE2eDIgYXJnYiBw
aXhlbHMgdG8gOHgxICovCisgICAgICAgICAvKiBzdGVwIDEgLSBzdWJzYW1wbGUgMTZ4MiBhcmdi
IHBpeGVscyB0byA4eDEgKi8KICAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdCiAgICAgbW92ZHF1
ICAgICB4bW00LCBbZWF4ICsgZXNpXQogICAgIHBhdmdiICAgICAgeG1tMCwgeG1tNApAQCAtMTUx
MSw4ICsxNTAwLDggQEAgdm9pZCBBUkdCVG9VVkpSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19h
cmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICBwYWNrc3N3YiAgIHhtbTAsIHhtbTEKIAog
ICAgIC8vIHN0ZXAgMyAtIHN0b3JlIDggVSBhbmQgOCBWIHZhbHVlcwotICAgIG1vdmxwcyAgICAg
cXdvcmQgcHRyIFtlZHhdLCB4bW0wIC8vIFUKLSAgICBtb3ZocHMgICAgIHF3b3JkIHB0ciBbZWR4
ICsgZWRpXSwgeG1tMCAvLyBWCisgICAgbW92bHBzICAgICBxd29yZCBwdHIgW2VkeF0sIHhtbTAg
IC8vIFUKKyAgICBtb3ZocHMgICAgIHF3b3JkIHB0ciBbZWR4ICsgZWRpXSwgeG1tMCAgLy8gVgog
ICAgIGxlYSAgICAgICAgZWR4LCBbZWR4ICsgOF0KICAgICBzdWIgICAgICAgIGVjeCwgMTYKICAg
ICBqZyAgICAgICAgIGNvbnZlcnRsb29wCkBAIC0xNTI0LDI0ICsxNTEzLDI2IEBAIHZvaWQgQVJH
QlRvVVZKUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2Fy
Z2IsCiB9CiAKICNpZmRlZiBIQVNfQVJHQlRPVVZST1dfQVZYMgotX19kZWNsc3BlYyhuYWtlZCkK
LXZvaWQgQVJHQlRvVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0
cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRz
dF92LCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQlRvVVZSb3dfQVZY
Mihjb25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCiAg
ICAgcHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDggKyA0XSAgIC8v
IHNyY19hcmdiCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gICAvLyBzcmNfc3Ry
aWRlX2FyZ2IKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDggKyA0XSAgLy8gc3JjX2FyZ2IK
KyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDggKyA4XSAgLy8gc3JjX3N0cmlkZV9hcmdiCiAg
ICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4ICsgMTJdICAvLyBkc3RfdQogICAgIG1vdiAgICAg
ICAgZWRpLCBbZXNwICsgOCArIDE2XSAgLy8gZHN0X3YKICAgICBtb3YgICAgICAgIGVjeCwgW2Vz
cCArIDggKyAyMF0gIC8vIHdpZHRoCiAgICAgdmJyb2FkY2FzdGYxMjggeW1tNSwgeG1td29yZCBw
dHIga0FkZFVWMTI4CiAgICAgdmJyb2FkY2FzdGYxMjggeW1tNiwgeG1td29yZCBwdHIga0FSR0JU
b1YKICAgICB2YnJvYWRjYXN0ZjEyOCB5bW03LCB4bW13b3JkIHB0ciBrQVJHQlRvVQotICAgIHN1
YiAgICAgICAgZWRpLCBlZHggICAgICAgICAgICAgLy8gc3RyaWRlIGZyb20gdSB0byB2CisgICAg
c3ViICAgICAgICBlZGksIGVkeCAgIC8vIHN0cmlkZSBmcm9tIHUgdG8gdgogCiAgY29udmVydGxv
b3A6Ci0gICAgLyogc3RlcCAxIC0gc3Vic2FtcGxlIDMyeDIgYXJnYiBwaXhlbHMgdG8gMTZ4MSAq
LworICAgICAgICAvKiBzdGVwIDEgLSBzdWJzYW1wbGUgMzJ4MiBhcmdiIHBpeGVscyB0byAxNngx
ICovCiAgICAgdm1vdmRxdSAgICB5bW0wLCBbZWF4XQogICAgIHZtb3ZkcXUgICAgeW1tMSwgW2Vh
eCArIDMyXQogICAgIHZtb3ZkcXUgICAgeW1tMiwgW2VheCArIDY0XQpAQCAtMTU3NSw4ICsxNTY2
LDggQEAgdm9pZCBBUkdCVG9VVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBz
cmNfc3RyaWRlX2FyZ2IsCiAgICAgdnBhZGRiICAgICB5bW0wLCB5bW0wLCB5bW01ICAvLyAtPiB1
bnNpZ25lZAogCiAgICAgLy8gc3RlcCAzIC0gc3RvcmUgMTYgVSBhbmQgMTYgViB2YWx1ZXMKLSAg
ICB2ZXh0cmFjdGYxMjggW2VkeF0sIHltbTAsIDAgLy8gVQotICAgIHZleHRyYWN0ZjEyOCBbZWR4
ICsgZWRpXSwgeW1tMCwgMSAvLyBWCisgICAgdmV4dHJhY3RmMTI4IFtlZHhdLCB5bW0wLCAwICAv
LyBVCisgICAgdmV4dHJhY3RmMTI4IFtlZHggKyBlZGldLCB5bW0wLCAxICAvLyBWCiAgICAgbGVh
ICAgICAgICBlZHgsIFtlZHggKyAxNl0KICAgICBzdWIgICAgICAgIGVjeCwgMzIKICAgICBqZyAg
ICAgICAgIGNvbnZlcnRsb29wCkBAIC0xNTkwLDI0ICsxNTgxLDI2IEBAIHZvaWQgQVJHQlRvVVZS
b3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAogI2Vu
ZGlmICAvLyBIQVNfQVJHQlRPVVZST1dfQVZYMgogCiAjaWZkZWYgSEFTX0FSR0JUT1VWSlJPV19B
VlgyCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCVG9VVkpSb3dfQVZYMihjb25zdCB1aW50
OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFr
ZWQpIHZvaWQgQVJHQlRvVVZKUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBf
X2FzbSB7CiAgICAgcHVzaCAgICAgICBlc2kKICAgICBwdXNoICAgICAgIGVkaQotICAgIG1vdiAg
ICAgICAgZWF4LCBbZXNwICsgOCArIDRdICAgLy8gc3JjX2FyZ2IKLSAgICBtb3YgICAgICAgIGVz
aSwgW2VzcCArIDggKyA4XSAgIC8vIHNyY19zdHJpZGVfYXJnYgorICAgIG1vdiAgICAgICAgZWF4
LCBbZXNwICsgOCArIDRdICAvLyBzcmNfYXJnYgorICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsg
OCArIDhdICAvLyBzcmNfc3RyaWRlX2FyZ2IKICAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDgg
KyAxMl0gIC8vIGRzdF91CiAgICAgbW92ICAgICAgICBlZGksIFtlc3AgKyA4ICsgMTZdICAvLyBk
c3RfdgogICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDIwXSAgLy8gd2lkdGgKICAgICB2
YnJvYWRjYXN0ZjEyOCB5bW01LCB4bW13b3JkIHB0ciBrQWRkVVYxMjgKICAgICB2YnJvYWRjYXN0
ZjEyOCB5bW02LCB4bW13b3JkIHB0ciBrQVJHQlRvVgogICAgIHZicm9hZGNhc3RmMTI4IHltbTcs
IHhtbXdvcmQgcHRyIGtBUkdCVG9VCi0gICAgc3ViICAgICAgICBlZGksIGVkeCAgICAgICAgICAg
ICAvLyBzdHJpZGUgZnJvbSB1IHRvIHYKKyAgICBzdWIgICAgICAgIGVkaSwgZWR4ICAgLy8gc3Ry
aWRlIGZyb20gdSB0byB2CiAKICBjb252ZXJ0bG9vcDoKLSAgICAvKiBzdGVwIDEgLSBzdWJzYW1w
bGUgMzJ4MiBhcmdiIHBpeGVscyB0byAxNngxICovCisgICAgICAgIC8qIHN0ZXAgMSAtIHN1YnNh
bXBsZSAzMngyIGFyZ2IgcGl4ZWxzIHRvIDE2eDEgKi8KICAgICB2bW92ZHF1ICAgIHltbTAsIFtl
YXhdCiAgICAgdm1vdmRxdSAgICB5bW0xLCBbZWF4ICsgMzJdCiAgICAgdm1vdmRxdSAgICB5bW0y
LCBbZWF4ICsgNjRdCkBAIC0xNjQyLDggKzE2MzUsOCBAQCB2b2lkIEFSR0JUb1VWSlJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgdnBzaHVm
YiAgICB5bW0wLCB5bW0wLCB5bW13b3JkIHB0ciBrU2h1ZkFSR0JUb1VWX0FWWCAgLy8gZm9yIHZz
aHVmcHMvdnBoYWRkdwogCiAgICAgLy8gc3RlcCAzIC0gc3RvcmUgMTYgVSBhbmQgMTYgViB2YWx1
ZXMKLSAgICB2ZXh0cmFjdGYxMjggW2VkeF0sIHltbTAsIDAgLy8gVQotICAgIHZleHRyYWN0ZjEy
OCBbZWR4ICsgZWRpXSwgeW1tMCwgMSAvLyBWCisgICAgdmV4dHJhY3RmMTI4IFtlZHhdLCB5bW0w
LCAwICAvLyBVCisgICAgdmV4dHJhY3RmMTI4IFtlZHggKyBlZGldLCB5bW0wLCAxICAvLyBWCiAg
ICAgbGVhICAgICAgICBlZHgsIFtlZHggKyAxNl0KICAgICBzdWIgICAgICAgIGVjeCwgMzIKICAg
ICBqZyAgICAgICAgIGNvbnZlcnRsb29wCkBAIC0xNjU2LDIzICsxNjQ5LDI0IEBAIHZvaWQgQVJH
QlRvVVZKUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJn
YiwKIH0KICNlbmRpZiAgLy8gSEFTX0FSR0JUT1VWSlJPV19BVlgyCiAKLV9fZGVjbHNwZWMobmFr
ZWQpCi12b2lkIEFSR0JUb1VWNDQ0Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQg
d2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQlRvVVY0NDRSb3dfU1NTRTMoY29u
c3QgdWludDgqIHNyY19hcmdiMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlZGkK
LSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgIC8vIHNyY19hcmdiCi0gICAgbW92
ICAgICAgICBlZHgsIFtlc3AgKyA0ICsgOF0gICAvLyBkc3RfdQorICAgIG1vdiAgICAgICAgZWF4
LCBbZXNwICsgNCArIDRdICAvLyBzcmNfYXJnYgorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsg
NCArIDhdICAvLyBkc3RfdQogICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgNCArIDEyXSAgLy8g
ZHN0X3YKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRoCiAgICAg
bW92ZHFhICAgICB4bW01LCB4bW13b3JkIHB0ciBrQWRkVVYxMjgKICAgICBtb3ZkcWEgICAgIHht
bTYsIHhtbXdvcmQgcHRyIGtBUkdCVG9WCiAgICAgbW92ZHFhICAgICB4bW03LCB4bW13b3JkIHB0
ciBrQVJHQlRvVQotICAgIHN1YiAgICAgICAgZWRpLCBlZHggICAgICAgICAgICAgLy8gc3RyaWRl
IGZyb20gdSB0byB2CisgICAgc3ViICAgICAgICBlZGksIGVkeCAgICAvLyBzdHJpZGUgZnJvbSB1
IHRvIHYKIAogIGNvbnZlcnRsb29wOgotICAgIC8qIGNvbnZlcnQgdG8gVSBhbmQgViAqLwotICAg
IG1vdmRxdSAgICAgeG1tMCwgW2VheF0gICAgICAgICAgLy8gVQorICAgICAgICAvKiBjb252ZXJ0
IHRvIFUgYW5kIFYgKi8KKyAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdICAvLyBVCiAgICAgbW92
ZHF1ICAgICB4bW0xLCBbZWF4ICsgMTZdCiAgICAgbW92ZHF1ICAgICB4bW0yLCBbZWF4ICsgMzJd
CiAgICAgbW92ZHF1ICAgICB4bW0zLCBbZWF4ICsgNDhdCkBAIC0xNjg4LDcgKzE2ODIsNyBAQCB2
b2lkIEFSR0JUb1VWNDQ0Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCiAgICAgcGFk
ZGIgICAgICB4bW0wLCB4bW01CiAgICAgbW92ZHF1ICAgICBbZWR4XSwgeG1tMAogCi0gICAgbW92
ZHF1ICAgICB4bW0wLCBbZWF4XSAgICAgICAgICAvLyBWCisgICAgbW92ZHF1ICAgICB4bW0wLCBb
ZWF4XSAgLy8gVgogICAgIG1vdmRxdSAgICAgeG1tMSwgW2VheCArIDE2XQogICAgIG1vdmRxdSAg
ICAgeG1tMiwgW2VheCArIDMyXQogICAgIG1vdmRxdSAgICAgeG1tMywgW2VheCArIDQ4XQpAQCAt
MTcxMywyNCArMTcwNywyNiBAQCB2b2lkIEFSR0JUb1VWNDQ0Um93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjAsCiAgIH0KIH0KIAotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQkdSQVRvVVZS
b3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0
aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBCR1JBVG9VVlJvd19TU1NFMyhjb25zdCB1aW50
OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVzaQogICAgIHB1c2gg
ICAgICAgZWRpCi0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gICAvLyBzcmNfYXJn
YgotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgOCArIDhdICAgLy8gc3JjX3N0cmlkZV9hcmdi
CisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92
ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gIC8vIHNyY19zdHJpZGVfYXJnYgogICAgIG1vdiAg
ICAgICAgZWR4LCBbZXNwICsgOCArIDEyXSAgLy8gZHN0X3UKICAgICBtb3YgICAgICAgIGVkaSwg
W2VzcCArIDggKyAxNl0gIC8vIGRzdF92CiAgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA4ICsg
MjBdICAvLyB3aWR0aAogICAgIG1vdmRxYSAgICAgeG1tNSwgeG1td29yZCBwdHIga0FkZFVWMTI4
CiAgICAgbW92ZHFhICAgICB4bW02LCB4bW13b3JkIHB0ciBrQkdSQVRvVgogICAgIG1vdmRxYSAg
ICAgeG1tNywgeG1td29yZCBwdHIga0JHUkFUb1UKLSAgICBzdWIgICAgICAgIGVkaSwgZWR4ICAg
ICAgICAgICAgIC8vIHN0cmlkZSBmcm9tIHUgdG8gdgorICAgIHN1YiAgICAgICAgZWRpLCBlZHgg
IC8vIHN0cmlkZSBmcm9tIHUgdG8gdgogCiAgY29udmVydGxvb3A6Ci0gICAgLyogc3RlcCAxIC0g
c3Vic2FtcGxlIDE2eDIgYXJnYiBwaXhlbHMgdG8gOHgxICovCisgICAgICAgICAvKiBzdGVwIDEg
LSBzdWJzYW1wbGUgMTZ4MiBhcmdiIHBpeGVscyB0byA4eDEgKi8KICAgICBtb3ZkcXUgICAgIHht
bTAsIFtlYXhdCiAgICAgbW92ZHF1ICAgICB4bW00LCBbZWF4ICsgZXNpXQogICAgIHBhdmdiICAg
ICAgeG1tMCwgeG1tNApAQCAtMTc2OCwxMSArMTc2NCwxMSBAQCB2b2lkIEJHUkFUb1VWUm93X1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgcHNy
YXcgICAgICB4bW0wLCA4CiAgICAgcHNyYXcgICAgICB4bW0xLCA4CiAgICAgcGFja3Nzd2IgICB4
bW0wLCB4bW0xCi0gICAgcGFkZGIgICAgICB4bW0wLCB4bW01ICAgICAgICAgICAgLy8gLT4gdW5z
aWduZWQKKyAgICBwYWRkYiAgICAgIHhtbTAsIHhtbTUgIC8vIC0+IHVuc2lnbmVkCiAKICAgICAv
LyBzdGVwIDMgLSBzdG9yZSA4IFUgYW5kIDggViB2YWx1ZXMKLSAgICBtb3ZscHMgICAgIHF3b3Jk
IHB0ciBbZWR4XSwgeG1tMCAvLyBVCi0gICAgbW92aHBzICAgICBxd29yZCBwdHIgW2VkeCArIGVk
aV0sIHhtbTAgLy8gVgorICAgIG1vdmxwcyAgICAgcXdvcmQgcHRyIFtlZHhdLCB4bW0wICAvLyBV
CisgICAgbW92aHBzICAgICBxd29yZCBwdHIgW2VkeCArIGVkaV0sIHhtbTAgIC8vIFYKICAgICBs
ZWEgICAgICAgIGVkeCwgW2VkeCArIDhdCiAgICAgc3ViICAgICAgICBlY3gsIDE2CiAgICAgamcg
ICAgICAgICBjb252ZXJ0bG9vcApAQCAtMTc4MywyNCArMTc3OSwyNiBAQCB2b2lkIEJHUkFUb1VW
Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAg
IH0KIH0KIAotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQUJHUlRvVVZSb3dfU1NTRTMoY29uc3Qg
dWludDgqIHNyY19hcmdiMCwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgeworX19kZWNsc3Bl
YyhuYWtlZCkgdm9pZCBBQkdSVG9VVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
diwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7
CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVzaQogICAgIHB1c2ggICAgICAgZWRpCi0gICAg
bW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gICAvLyBzcmNfYXJnYgotICAgIG1vdiAgICAg
ICAgZXNpLCBbZXNwICsgOCArIDhdICAgLy8gc3JjX3N0cmlkZV9hcmdiCisgICAgbW92ICAgICAg
ICBlYXgsIFtlc3AgKyA4ICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgICBlc2ksIFtl
c3AgKyA4ICsgOF0gIC8vIHNyY19zdHJpZGVfYXJnYgogICAgIG1vdiAgICAgICAgZWR4LCBbZXNw
ICsgOCArIDEyXSAgLy8gZHN0X3UKICAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDggKyAxNl0g
IC8vIGRzdF92CiAgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA4ICsgMjBdICAvLyB3aWR0aAog
ICAgIG1vdmRxYSAgICAgeG1tNSwgeG1td29yZCBwdHIga0FkZFVWMTI4CiAgICAgbW92ZHFhICAg
ICB4bW02LCB4bW13b3JkIHB0ciBrQUJHUlRvVgogICAgIG1vdmRxYSAgICAgeG1tNywgeG1td29y
ZCBwdHIga0FCR1JUb1UKLSAgICBzdWIgICAgICAgIGVkaSwgZWR4ICAgICAgICAgICAgIC8vIHN0
cmlkZSBmcm9tIHUgdG8gdgorICAgIHN1YiAgICAgICAgZWRpLCBlZHggIC8vIHN0cmlkZSBmcm9t
IHUgdG8gdgogCiAgY29udmVydGxvb3A6Ci0gICAgLyogc3RlcCAxIC0gc3Vic2FtcGxlIDE2eDIg
YXJnYiBwaXhlbHMgdG8gOHgxICovCisgICAgICAgICAvKiBzdGVwIDEgLSBzdWJzYW1wbGUgMTZ4
MiBhcmdiIHBpeGVscyB0byA4eDEgKi8KICAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdCiAgICAg
bW92ZHF1ICAgICB4bW00LCBbZWF4ICsgZXNpXQogICAgIHBhdmdiICAgICAgeG1tMCwgeG1tNApA
QCAtMTgzOCwxMSArMTgzNiwxMSBAQCB2b2lkIEFCR1JUb1VWUm93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgcHNyYXcgICAgICB4bW0wLCA4
CiAgICAgcHNyYXcgICAgICB4bW0xLCA4CiAgICAgcGFja3Nzd2IgICB4bW0wLCB4bW0xCi0gICAg
cGFkZGIgICAgICB4bW0wLCB4bW01ICAgICAgICAgICAgLy8gLT4gdW5zaWduZWQKKyAgICBwYWRk
YiAgICAgIHhtbTAsIHhtbTUgIC8vIC0+IHVuc2lnbmVkCiAKICAgICAvLyBzdGVwIDMgLSBzdG9y
ZSA4IFUgYW5kIDggViB2YWx1ZXMKLSAgICBtb3ZscHMgICAgIHF3b3JkIHB0ciBbZWR4XSwgeG1t
MCAvLyBVCi0gICAgbW92aHBzICAgICBxd29yZCBwdHIgW2VkeCArIGVkaV0sIHhtbTAgLy8gVgor
ICAgIG1vdmxwcyAgICAgcXdvcmQgcHRyIFtlZHhdLCB4bW0wICAvLyBVCisgICAgbW92aHBzICAg
ICBxd29yZCBwdHIgW2VkeCArIGVkaV0sIHhtbTAgIC8vIFYKICAgICBsZWEgICAgICAgIGVkeCwg
W2VkeCArIDhdCiAgICAgc3ViICAgICAgICBlY3gsIDE2CiAgICAgamcgICAgICAgICBjb252ZXJ0
bG9vcApAQCAtMTg1MywyNCArMTg1MSwyNiBAQCB2b2lkIEFCR1JUb1VWUm93X1NTU0UzKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAgIH0KIH0KIAotX19kZWNs
c3BlYyhuYWtlZCkKLXZvaWQgUkdCQVRvVVZSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdi
MCwgaW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBS
R0JBVG9VVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAg
ICBwdXNoICAgICAgIGVzaQogICAgIHB1c2ggICAgICAgZWRpCi0gICAgbW92ICAgICAgICBlYXgs
IFtlc3AgKyA4ICsgNF0gICAvLyBzcmNfYXJnYgotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsg
OCArIDhdICAgLy8gc3JjX3N0cmlkZV9hcmdiCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4
ICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gIC8v
IHNyY19zdHJpZGVfYXJnYgogICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOCArIDEyXSAgLy8g
ZHN0X3UKICAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDggKyAxNl0gIC8vIGRzdF92CiAgICAg
bW92ICAgICAgICBlY3gsIFtlc3AgKyA4ICsgMjBdICAvLyB3aWR0aAogICAgIG1vdmRxYSAgICAg
eG1tNSwgeG1td29yZCBwdHIga0FkZFVWMTI4CiAgICAgbW92ZHFhICAgICB4bW02LCB4bW13b3Jk
IHB0ciBrUkdCQVRvVgogICAgIG1vdmRxYSAgICAgeG1tNywgeG1td29yZCBwdHIga1JHQkFUb1UK
LSAgICBzdWIgICAgICAgIGVkaSwgZWR4ICAgICAgICAgICAgIC8vIHN0cmlkZSBmcm9tIHUgdG8g
dgorICAgIHN1YiAgICAgICAgZWRpLCBlZHggIC8vIHN0cmlkZSBmcm9tIHUgdG8gdgogCiAgY29u
dmVydGxvb3A6Ci0gICAgLyogc3RlcCAxIC0gc3Vic2FtcGxlIDE2eDIgYXJnYiBwaXhlbHMgdG8g
OHgxICovCisgICAgICAgICAvKiBzdGVwIDEgLSBzdWJzYW1wbGUgMTZ4MiBhcmdiIHBpeGVscyB0
byA4eDEgKi8KICAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdCiAgICAgbW92ZHF1ICAgICB4bW00
LCBbZWF4ICsgZXNpXQogICAgIHBhdmdiICAgICAgeG1tMCwgeG1tNApAQCAtMTkwOCwxMSArMTkw
OCwxMSBAQCB2b2lkIFJHQkFUb1VWUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGlu
dCBzcmNfc3RyaWRlX2FyZ2IsCiAgICAgcHNyYXcgICAgICB4bW0wLCA4CiAgICAgcHNyYXcgICAg
ICB4bW0xLCA4CiAgICAgcGFja3Nzd2IgICB4bW0wLCB4bW0xCi0gICAgcGFkZGIgICAgICB4bW0w
LCB4bW01ICAgICAgICAgICAgLy8gLT4gdW5zaWduZWQKKyAgICBwYWRkYiAgICAgIHhtbTAsIHht
bTUgIC8vIC0+IHVuc2lnbmVkCiAKICAgICAvLyBzdGVwIDMgLSBzdG9yZSA4IFUgYW5kIDggViB2
YWx1ZXMKLSAgICBtb3ZscHMgICAgIHF3b3JkIHB0ciBbZWR4XSwgeG1tMCAvLyBVCi0gICAgbW92
aHBzICAgICBxd29yZCBwdHIgW2VkeCArIGVkaV0sIHhtbTAgLy8gVgorICAgIG1vdmxwcyAgICAg
cXdvcmQgcHRyIFtlZHhdLCB4bW0wICAvLyBVCisgICAgbW92aHBzICAgICBxd29yZCBwdHIgW2Vk
eCArIGVkaV0sIHhtbTAgIC8vIFYKICAgICBsZWEgICAgICAgIGVkeCwgW2VkeCArIDhdCiAgICAg
c3ViICAgICAgICBlY3gsIDE2CiAgICAgamcgICAgICAgICBjb252ZXJ0bG9vcApAQCAtMTkyNSw5
NCArMTkyNSw5NSBAQCB2b2lkIFJHQkFUb1VWUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjAsIGludCBzcmNfc3RyaWRlX2FyZ2IsCiAjZW5kaWYgIC8vIEhBU19BUkdCVE9ZUk9XX1NTU0Uz
CiAKIC8vIFJlYWQgMTYgVVYgZnJvbSA0NDQKLSNkZWZpbmUgUkVBRFlVVjQ0NF9BVlgyIF9fYXNt
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
X19hc20gdm1vdmRxdSAgICB4bW0wLCBbZXNpXSAgICAgICAgICAgICAgICAgIC8qIFUgKi8gICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHZtb3ZkcXUgICAgeG1tMSwgW2VzaSArIGVk
aV0gICAgICAgICAgICAvKiBWICovICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgUkVB
RFlVVjQ0NF9BVlgyIFwKKyAgX19hc20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSB2bW92ZHF1ICAgIHhtbTAsIFtlc2ldIC8qIFUg
Ki8gICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHZtb3ZkcXUgICAgeG1tMSwgW2Vz
aSArIGVkaV0gLyogViAqLyAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gbGVhICAg
ICAgICBlc2ksICBbZXNpICsgMTZdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICAgIF9fYXNtIHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhkOCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2cGVybXEgICAgIHlt
bTEsIHltbTEsIDB4ZDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX19hc20gdnB1bnBja2xidyB5bW0wLCB5bW0wLCB5bW0xICAgICAgICAgICAgIC8qIFVW
ICovICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHZtb3ZkcXUgICAgeG1tNCwgW2Vh
eF0gICAgICAgICAgICAgICAgICAvKiBZICovICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBf
X2FzbSB2cHVucGNrbGJ3IHltbTAsIHltbTAsIHltbTEgLyogVVYgKi8gICAgICAgICAgICAgICAg
ICAgICBcCisgICAgX19hc20gdm1vdmRxdSAgICB4bW00LCBbZWF4XSAvKiBZICovICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2cGVybXEgICAgIHltbTQsIHltbTQsIDB4ZDggICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gdnB1bnBj
a2xidyB5bW00LCB5bW00LCB5bW00ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9fYXNtIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMTZdICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQorICAgIF9fYXNtIGxlYSAgICAg
ICAgZWF4LCBbZWF4ICsgMTZdfQogCiAvLyBSZWFkIDggVVYgZnJvbSA0MjIsIHVwc2FtcGxlIHRv
IDE2IFVWLgotI2RlZmluZSBSRUFEWVVWNDIyX0FWWDIgX19hc20geyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSB2bW92cSAgICAgIHht
bTAsIHF3b3JkIHB0ciBbZXNpXSAgICAgICAgLyogVSAqLyAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgX19hc20gdm1vdnEgICAgICB4bW0xLCBxd29yZCBwdHIgW2VzaSArIGVkaV0gIC8qIFYg
Ki8gICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBSRUFEWVVWNDIyX0FWWDIgXAorICBf
X2FzbSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIF9fYXNtIHZtb3ZxICAgICAgeG1tMCwgcXdvcmQgcHRyIFtlc2ldIC8qIFUgKi8gICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHZtb3ZxICAgICAgeG1tMSwgcXdvcmQgcHRyIFtl
c2kgKyBlZGldIC8qIFYgKi8gICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIGxlYSAg
ICAgICAgZXNpLCAgW2VzaSArIDhdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBfX2FzbSB2cHVucGNrbGJ3IHltbTAsIHltbTAsIHltbTEgICAgICAgICAg
ICAgLyogVVYgKi8gICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gdnB1bnBja2xidyB5
bW0wLCB5bW0wLCB5bW0xIC8qIFVWICovICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNt
IHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhkOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfX2FzbSB2cHVucGNrbHdkIHltbTAsIHltbTAsIHltbTAgICAg
ICAgICAgICAgLyogVVZVViAodXBzYW1wbGUpICovICAgICAgICBcCi0gICAgX19hc20gdm1vdmRx
dSAgICB4bW00LCBbZWF4XSAgICAgICAgICAgICAgICAgIC8qIFkgKi8gICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIF9fYXNtIHZwdW5wY2tsd2QgeW1tMCwgeW1tMCwgeW1tMCAvKiBVVlVWICh1
cHNhbXBsZSkgKi8gICAgICAgIFwKKyAgICBfX2FzbSB2bW92ZHF1ICAgIHhtbTQsIFtlYXhdIC8q
IFkgKi8gICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHZwZXJtcSAgICAgeW1tNCwg
eW1tNCwgMHhkOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICBfX2FzbSB2cHVucGNrbGJ3IHltbTQsIHltbTQsIHltbTQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gbGVhICAgICAgICBlYXgsIFtlYXggKyAx
Nl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9CisgICAg
X19hc20gbGVhICAgICAgICBlYXgsIFtlYXggKyAxNl19CiAKIC8vIFJlYWQgOCBVViBmcm9tIDQy
MiwgdXBzYW1wbGUgdG8gMTYgVVYuICBXaXRoIDE2IEFscGhhLgotI2RlZmluZSBSRUFEWVVWQTQy
Ml9BVlgyIF9fYXNtIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBfX2FzbSB2bW92cSAgICAgIHhtbTAsIHF3b3JkIHB0ciBbZXNpXSAgICAgICAg
LyogVSAqLyAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gdm1vdnEgICAgICB4bW0x
LCBxd29yZCBwdHIgW2VzaSArIGVkaV0gIC8qIFYgKi8gICAgICAgICAgICAgICAgICAgICAgXAor
I2RlZmluZSBSRUFEWVVWQTQyMl9BVlgyIFwKKyAgX19hc20geyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHZtb3ZxICAgICAgeG1tMCwg
cXdvcmQgcHRyIFtlc2ldIC8qIFUgKi8gICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNt
IHZtb3ZxICAgICAgeG1tMSwgcXdvcmQgcHRyIFtlc2kgKyBlZGldIC8qIFYgKi8gICAgICAgICAg
ICAgICAgICAgICAgXAogICAgIF9fYXNtIGxlYSAgICAgICAgZXNpLCAgW2VzaSArIDhdICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSB2cHVucGNr
bGJ3IHltbTAsIHltbTAsIHltbTEgICAgICAgICAgICAgLyogVVYgKi8gICAgICAgICAgICAgICAg
ICAgICBcCisgICAgX19hc20gdnB1bnBja2xidyB5bW0wLCB5bW0wLCB5bW0xIC8qIFVWICovICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhk
OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSB2
cHVucGNrbHdkIHltbTAsIHltbTAsIHltbTAgICAgICAgICAgICAgLyogVVZVViAodXBzYW1wbGUp
ICovICAgICAgICBcCi0gICAgX19hc20gdm1vdmRxdSAgICB4bW00LCBbZWF4XSAgICAgICAgICAg
ICAgICAgIC8qIFkgKi8gICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHZwdW5wY2ts
d2QgeW1tMCwgeW1tMCwgeW1tMCAvKiBVVlVWICh1cHNhbXBsZSkgKi8gICAgICAgIFwKKyAgICBf
X2FzbSB2bW92ZHF1ICAgIHhtbTQsIFtlYXhdIC8qIFkgKi8gICAgICAgICAgICAgICAgICAgICAg
XAogICAgIF9fYXNtIHZwZXJtcSAgICAgeW1tNCwgeW1tNCwgMHhkOCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2cHVucGNrbGJ3IHltbTQsIHlt
bTQsIHltbTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
X19hc20gbGVhICAgICAgICBlYXgsIFtlYXggKyAxNl0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHZtb3ZkcXUgICAgeG1tNSwgW2VicF0gICAg
ICAgICAgICAgICAgICAvKiBBICovICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSB2
bW92ZHF1ICAgIHhtbTUsIFtlYnBdIC8qIEEgKi8gICAgICAgICAgICAgICAgICAgICAgXAogICAg
IF9fYXNtIHZwZXJtcSAgICAgeW1tNSwgeW1tNSwgMHhkOCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBsZWEgICAgICAgIGVicCwgW2VicCArIDE2
XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KKyAgICBf
X2FzbSBsZWEgICAgICAgIGVicCwgW2VicCArIDE2XX0KIAogLy8gUmVhZCA4IFVWIGZyb20gTlYx
MiwgdXBzYW1wbGUgdG8gMTYgVVYuCi0jZGVmaW5lIFJFQUROVjEyX0FWWDIgX19hc20geyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNt
IHZtb3ZkcXUgICAgeG1tMCwgW2VzaV0gICAgICAgICAgICAgICAgICAvKiBVViAqLyAgICAgICAg
ICAgICAgICAgICAgIFwKKyNkZWZpbmUgUkVBRE5WMTJfQVZYMiBcCisgIF9fYXNtIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSB2
bW92ZHF1ICAgIHhtbTAsIFtlc2ldIC8qIFVWICovICAgICAgICAgICAgICAgICAgICAgXAogICAg
IF9fYXNtIGxlYSAgICAgICAgZXNpLCAgW2VzaSArIDE2XSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2cGVybXEgICAgIHltbTAsIHltbTAsIDB4
ZDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20g
dnB1bnBja2x3ZCB5bW0wLCB5bW0wLCB5bW0wICAgICAgICAgICAgIC8qIFVWVVYgKHVwc2FtcGxl
KSAqLyAgICAgICAgXAotICAgIF9fYXNtIHZtb3ZkcXUgICAgeG1tNCwgW2VheF0gICAgICAgICAg
ICAgICAgICAvKiBZICovICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSB2cHVucGNr
bHdkIHltbTAsIHltbTAsIHltbTAgLyogVVZVViAodXBzYW1wbGUpICovICAgICAgICBcCisgICAg
X19hc20gdm1vdmRxdSAgICB4bW00LCBbZWF4XSAvKiBZICovICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICBfX2FzbSB2cGVybXEgICAgIHltbTQsIHltbTQsIDB4ZDggICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gdnB1bnBja2xidyB5bW00LCB5
bW00LCB5bW00ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9fYXNtIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMTZdICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgfQorICAgIF9fYXNtIGxlYSAgICAgICAgZWF4LCBbZWF4
ICsgMTZdfQogCiAvLyBSZWFkIDggVVYgZnJvbSBOVjIxLCB1cHNhbXBsZSB0byAxNiBVVi4KLSNk
ZWZpbmUgUkVBRE5WMjFfQVZYMiBfX2FzbSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gdm1vdmRxdSAgICB4bW0wLCBbZXNpXSAg
ICAgICAgICAgICAgICAgIC8qIFVWICovICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBS
RUFETlYyMV9BVlgyIFwKKyAgX19hc20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHZtb3ZkcXUgICAgeG1tMCwgW2VzaV0gLyog
VVYgKi8gICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gbGVhICAgICAgICBlc2ksICBb
ZXNpICsgMTZdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IF9fYXNtIHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhkOCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2cHNodWZiICAgIHltbTAsIHltbTAsIHlt
bXdvcmQgcHRyIGtTaHVmZmxlTlYyMSAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20g
dm1vdmRxdSAgICB4bW00LCBbZWF4XSAgICAgICAgICAgICAgICAgIC8qIFkgKi8gICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIF9fYXNtIHZtb3ZkcXUgICAgeG1tNCwgW2VheF0gLyogWSAqLyAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gdnBlcm1xICAgICB5bW00LCB5bW00LCAw
eGQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNt
IHZwdW5wY2tsYncgeW1tNCwgeW1tNCwgeW1tNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBsZWEgICAgICAgIGVheCwgW2VheCArIDE2XSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KKyAgICBfX2FzbSBs
ZWEgICAgICAgIGVheCwgW2VheCArIDE2XX0KIAogLy8gUmVhZCA4IFlVWTIgd2l0aCAxNiBZIGFu
ZCB1cHNhbXBsZSA4IFVWIHRvIDE2IFVWLgotI2RlZmluZSBSRUFEWVVZMl9BVlgyIF9fYXNtIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
X2FzbSB2bW92ZHF1ICAgIHltbTQsIFtlYXhdICAgICAgICAgIC8qIFlVWTIgKi8gICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFJFQURZVVkyX0FWWDIgXAorICBfX2FzbSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19h
c20gdm1vdmRxdSAgICB5bW00LCBbZWF4XSAvKiBZVVkyICovICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICAgIF9fYXNtIHZwc2h1ZmIgICAgeW1tNCwgeW1tNCwgeW1td29yZCBwdHIga1No
dWZmbGVZVVkyWSAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSB2bW92ZHF1ICAgIHlt
bTAsIFtlYXhdICAgICAgICAgIC8qIFVWICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgX19hc20gdm1vdmRxdSAgICB5bW0wLCBbZWF4XSAvKiBVViAqLyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHZwc2h1ZmIgICAgeW1tMCwgeW1tMCwgeW1td29y
ZCBwdHIga1NodWZmbGVZVVkyVVYgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBsZWEg
ICAgICAgIGVheCwgW2VheCArIDMyXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIH0KKyAgICBfX2FzbSBsZWEgICAgICAgIGVheCwgW2VheCArIDMyXX0KIAog
Ly8gUmVhZCA4IFVZVlkgd2l0aCAxNiBZIGFuZCB1cHNhbXBsZSA4IFVWIHRvIDE2IFVWLgotI2Rl
ZmluZSBSRUFEVVlWWV9BVlgyIF9fYXNtIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSB2bW92ZHF1ICAgIHltbTQsIFtlYXhdICAg
ICAgICAgIC8qIFVZVlkgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFJF
QURVWVZZX0FWWDIgXAorICBfX2FzbSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gdm1vdmRxdSAgICB5bW00LCBbZWF4XSAvKiBV
WVZZICovICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHZwc2h1ZmIgICAg
eW1tNCwgeW1tNCwgeW1td29yZCBwdHIga1NodWZmbGVVWVZZWSAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBfX2FzbSB2bW92ZHF1ICAgIHltbTAsIFtlYXhdICAgICAgICAgIC8qIFVWICovICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gdm1vdmRxdSAgICB5bW0wLCBb
ZWF4XSAvKiBVViAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHZw
c2h1ZmIgICAgeW1tMCwgeW1tMCwgeW1td29yZCBwdHIga1NodWZmbGVVWVZZVVYgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfX2FzbSBsZWEgICAgICAgIGVheCwgW2VheCArIDMyXSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KKyAgICBfX2FzbSBsZWEg
ICAgICAgIGVheCwgW2VheCArIDMyXX0KIAogLy8gQ29udmVydCAxNiBwaXhlbHM6IDE2IFVWIGFu
ZCAxNiBZLgotI2RlZmluZSBZVVZUT1JHQl9BVlgyKFl1dkNvbnN0YW50cykgX19hc20geyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgWVVWVE9SR0JfQVZYMihZ
dXZDb25zdGFudHMpIFwKKyAgX19hc20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBfX2FzbSB2cG1hZGR1YnN3IHltbTIsIHltbTAsIHltbXdvcmQgcHRyIFtZdXZD
b25zdGFudHMgKyBLVVZUT1JdIC8qIFIgVVYgKi9cCiAgICAgX19hc20gdnBtYWRkdWJzdyB5bW0x
LCB5bW0wLCB5bW13b3JkIHB0ciBbWXV2Q29uc3RhbnRzICsgS1VWVE9HXSAvKiBHIFVWICovXAog
ICAgIF9fYXNtIHZwbWFkZHVic3cgeW1tMCwgeW1tMCwgeW1td29yZCBwdHIgW1l1dkNvbnN0YW50
cyArIEtVVlRPQl0gLyogQiBVViAqL1wKQEAgLTIwMjEsNjggKzIwMjIsNjcgQEAgdm9pZCBSR0JB
VG9VVlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBpbnQgc3JjX3N0cmlkZV9hcmdi
LAogICAgIF9fYXNtIHZtb3ZkcXUgICAgeW1tMywgeW1td29yZCBwdHIgW1l1dkNvbnN0YW50cyAr
IEtVVkJJQVNHXSAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2cHN1YncgICAgIHltbTEsIHlt
bTMsIHltbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
X19hc20gdm1vdmRxdSAgICB5bW0zLCB5bW13b3JkIHB0ciBbWXV2Q29uc3RhbnRzICsgS1VWQklB
U0JdICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHZwc3VidyAgICAgeW1tMCwgeW1tMywgeW1t
MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAvKiBTdGVw
IDI6IEZpbmQgWSBjb250cmlidXRpb24gdG8gMTYgUixHLEIgdmFsdWVzICovICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgX19hc20gdnBzdWJ3ICAgICB5bW0wLCB5bW0zLCB5bW0wIC8qIFN0
ZXAgMjogRmluZCBZIGNvbnRyaWJ1dGlvbiB0byAxNiBSLEcsQiB2YWx1ZXMgKi8gICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2cG11bGh1dyAgIHltbTQsIHltbTQsIHltbXdvcmQg
cHRyIFtZdXZDb25zdGFudHMgKyBLWVRPUkdCXSAgICAgICAgICBcCi0gICAgX19hc20gdnBhZGRz
dyAgICB5bW0wLCB5bW0wLCB5bW00ICAgICAgICAgICAvKiBCICs9IFkgKi8gICAgICAgICAgICAg
ICAgICAgXAotICAgIF9fYXNtIHZwYWRkc3cgICAgeW1tMSwgeW1tMSwgeW1tNCAgICAgICAgICAg
LyogRyArPSBZICovICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSB2cGFkZHN3ICAgIHlt
bTIsIHltbTIsIHltbTQgICAgICAgICAgIC8qIFIgKz0gWSAqLyAgICAgICAgICAgICAgICAgICBc
CisgICAgX19hc20gdnBhZGRzdyAgICB5bW0wLCB5bW0wLCB5bW00IC8qIEIgKz0gWSAqLyAgICAg
ICAgICAgICAgICAgICBcCisgICAgX19hc20gdnBhZGRzdyAgICB5bW0xLCB5bW0xLCB5bW00IC8q
IEcgKz0gWSAqLyAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gdnBhZGRzdyAgICB5bW0y
LCB5bW0yLCB5bW00IC8qIFIgKz0gWSAqLyAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20g
dnBzcmF3ICAgICB5bW0wLCB5bW0wLCA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICAgIF9fYXNtIHZwc3JhdyAgICAgeW1tMSwgeW1tMSwgNiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2cHNyYXcg
ICAgIHltbTIsIHltbTIsIDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX19hc20gdnBhY2t1c3diICB5bW0wLCB5bW0wLCB5bW0wICAgICAgICAgICAv
KiBCICovICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHZwYWNrdXN3YiAgeW1t
MSwgeW1tMSwgeW1tMSAgICAgICAgICAgLyogRyAqLyAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfX2FzbSB2cGFja3Vzd2IgIHltbTIsIHltbTIsIHltbTIgICAgICAgICAgIC8qIFIgKi8g
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gdnBhY2t1c3diICB5bW0wLCB5bW0w
LCB5bW0wIC8qIEIgKi8gICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gdnBhY2t1
c3diICB5bW0xLCB5bW0xLCB5bW0xIC8qIEcgKi8gICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgX19hc20gdnBhY2t1c3diICB5bW0yLCB5bW0yLCB5bW0yIC8qIFIgKi8gICAgICAgICAgICAg
ICAgICBcCiAgIH0KIAogLy8gU3RvcmUgMTYgQVJHQiB2YWx1ZXMuCi0jZGVmaW5lIFNUT1JFQVJH
Ql9BVlgyIF9fYXNtIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9fYXNtIHZwdW5wY2tsYncgeW1tMCwgeW1tMCwgeW1tMSAgICAgICAgICAg
LyogQkcgKi8gICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgU1RPUkVBUkdCX0FWWDIg
XAorICBfX2FzbSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBfX2FzbSB2cHVucGNrbGJ3IHltbTAsIHltbTAsIHltbTEgLyogQkcgKi8gICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2cGVybXEgICAgIHltbTAsIHltbTAsIDB4
ZDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20g
dnB1bnBja2xidyB5bW0yLCB5bW0yLCB5bW01ICAgICAgICAgICAvKiBSQSAqLyAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIF9fYXNtIHZwdW5wY2tsYncgeW1tMiwgeW1tMiwgeW1tNSAvKiBS
QSAqLyAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHZwZXJtcSAgICAgeW1tMiwg
eW1tMiwgMHhkOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBfX2FzbSB2cHVucGNrbHdkIHltbTEsIHltbTAsIHltbTIgICAgICAgICAgIC8qIEJHUkEgZmly
c3QgOCBwaXhlbHMgKi8gICAgICBcCi0gICAgX19hc20gdnB1bnBja2h3ZCB5bW0wLCB5bW0wLCB5
bW0yICAgICAgICAgICAvKiBCR1JBIG5leHQgOCBwaXhlbHMgKi8gICAgICAgXAorICAgIF9fYXNt
IHZwdW5wY2tsd2QgeW1tMSwgeW1tMCwgeW1tMiAvKiBCR1JBIGZpcnN0IDggcGl4ZWxzICovICAg
ICAgXAorICAgIF9fYXNtIHZwdW5wY2tod2QgeW1tMCwgeW1tMCwgeW1tMiAvKiBCR1JBIG5leHQg
OCBwaXhlbHMgKi8gICAgICAgXAogICAgIF9fYXNtIHZtb3ZkcXUgICAgMFtlZHhdLCB5bW0xICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSB2
bW92ZHF1ICAgIDMyW2VkeF0sIHltbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX19hc20gbGVhICAgICAgICBlZHgsICBbZWR4ICsgNjRdICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9CisgICAgX19hc20gbGVh
ICAgICAgICBlZHgsICBbZWR4ICsgNjRdfQogCiAvLyBTdG9yZSAxNiBSR0JBIHZhbHVlcy4KLSNk
ZWZpbmUgU1RPUkVSR0JBX0FWWDIgX19hc20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gdnB1bnBja2xidyB5bW0xLCB5bW0xLCB5
bW0yICAgICAgICAgICAvKiBHUiAqLyAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBT
VE9SRVJHQkFfQVZYMiBcCisgIF9fYXNtIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHZwdW5wY2tsYncgeW1tMSwgeW1tMSwgeW1t
MiAvKiBHUiAqLyAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHZwZXJtcSAgICAg
eW1tMSwgeW1tMSwgMHhkOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBfX2FzbSB2cHVucGNrbGJ3IHltbTIsIHltbTUsIHltbTAgICAgICAgICAgIC8qIEFC
ICovICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gdnB1bnBja2xidyB5bW0yLCB5
bW01LCB5bW0wIC8qIEFCICovICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gdnBl
cm1xICAgICB5bW0yLCB5bW0yLCAweGQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIF9fYXNtIHZwdW5wY2tsd2QgeW1tMCwgeW1tMiwgeW1tMSAgICAgICAg
ICAgLyogQUJHUiBmaXJzdCA4IHBpeGVscyAqLyAgICAgIFwKLSAgICBfX2FzbSB2cHVucGNraHdk
IHltbTEsIHltbTIsIHltbTEgICAgICAgICAgIC8qIEFCR1IgbmV4dCA4IHBpeGVscyAqLyAgICAg
ICBcCisgICAgX19hc20gdnB1bnBja2x3ZCB5bW0wLCB5bW0yLCB5bW0xIC8qIEFCR1IgZmlyc3Qg
OCBwaXhlbHMgKi8gICAgICBcCisgICAgX19hc20gdnB1bnBja2h3ZCB5bW0xLCB5bW0yLCB5bW0x
IC8qIEFCR1IgbmV4dCA4IHBpeGVscyAqLyAgICAgICBcCiAgICAgX19hc20gdm1vdmRxdSAgICBb
ZWR4XSwgeW1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIF9fYXNtIHZtb3ZkcXUgICAgW2VkeCArIDMyXSwgeW1tMSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBsZWEgICAgICAgIGVkeCwgIFtl
ZHggKyA2NF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0K
KyAgICBfX2FzbSBsZWEgICAgICAgIGVkeCwgIFtlZHggKyA2NF19CiAKICNpZmRlZiBIQVNfSTQy
MlRPQVJHQlJPV19BVlgyCiAvLyAxNiBwaXhlbHMKIC8vIDggVVYgdmFsdWVzIHVwc2FtcGxlZCB0
byAxNiBVViwgbWl4ZWQgd2l0aCAxNiBZIHByb2R1Y2luZyAxNiBBUkdCICg2NCBieXRlcykuCi1f
X2RlY2xzcGVjKG5ha2VkKQotdm9pZCBJNDIyVG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHlf
YnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHVfYnVmLAotICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHZfYnVmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEk0MjJUb0FSR0JSb3dfQVZYMigK
KyAgICBjb25zdCB1aW50OCogeV9idWYsCisgICAgY29uc3QgdWludDgqIHVfYnVmLAorICAgIGNv
bnN0IHVpbnQ4KiB2X2J1ZiwKKyAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgY29uc3Qgc3RydWN0
IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7
CiAgICAgcHVzaCAgICAgICBlc2kKICAgICBwdXNoICAgICAgIGVkaQogICAgIHB1c2ggICAgICAg
ZWJ4Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyAxMiArIDRdICAgLy8gWQotICAgIG1vdiAg
ICAgICAgZXNpLCBbZXNwICsgMTIgKyA4XSAgIC8vIFUKKyAgICBtb3YgICAgICAgIGVheCwgW2Vz
cCArIDEyICsgNF0gIC8vIFkKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDEyICsgOF0gIC8v
IFUKICAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDEyICsgMTJdICAvLyBWCiAgICAgbW92ICAg
ICAgICBlZHgsIFtlc3AgKyAxMiArIDE2XSAgLy8gYXJnYgogICAgIG1vdiAgICAgICAgZWJ4LCBb
ZXNwICsgMTIgKyAyMF0gIC8vIHl1dmNvbnN0YW50cwogICAgIG1vdiAgICAgICAgZWN4LCBbZXNw
ICsgMTIgKyAyNF0gIC8vIHdpZHRoCiAgICAgc3ViICAgICAgICBlZGksIGVzaQotICAgIHZwY21w
ZXFiICAgeW1tNSwgeW1tNSwgeW1tNSAgICAgLy8gZ2VuZXJhdGUgMHhmZmZmZmZmZmZmZmZmZmZm
IGZvciBhbHBoYQorICAgIHZwY21wZXFiICAgeW1tNSwgeW1tNSwgeW1tNSAgLy8gZ2VuZXJhdGUg
MHhmZmZmZmZmZmZmZmZmZmZmIGZvciBhbHBoYQogCiAgY29udmVydGxvb3A6CiAgICAgUkVBRFlV
VjQyMl9BVlgyCkBAIC0yMTA0LDIxICsyMTA0LDIxIEBAIHZvaWQgSTQyMlRvQVJHQlJvd19BVlgy
KGNvbnN0IHVpbnQ4KiB5X2J1ZiwKICNpZmRlZiBIQVNfSTQyMkFMUEhBVE9BUkdCUk9XX0FWWDIK
IC8vIDE2IHBpeGVscwogLy8gOCBVViB2YWx1ZXMgdXBzYW1wbGVkIHRvIDE2IFVWLCBtaXhlZCB3
aXRoIDE2IFkgYW5kIDE2IEEgcHJvZHVjaW5nIDE2IEFSR0IuCi1fX2RlY2xzcGVjKG5ha2VkKQot
dm9pZCBJNDIyQWxwaGFUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50OCogeV9idWYsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB1X2J1ZiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHZfYnVmLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogYV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgSTQyMkFscGhhVG9BUkdC
Um93X0FWWDIoCisgICAgY29uc3QgdWludDgqIHlfYnVmLAorICAgIGNvbnN0IHVpbnQ4KiB1X2J1
ZiwKKyAgICBjb25zdCB1aW50OCogdl9idWYsCisgICAgY29uc3QgdWludDgqIGFfYnVmLAorICAg
IHVpbnQ4KiBkc3RfYXJnYiwKKyAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25z
dGFudHMsCisgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVzaQog
ICAgIHB1c2ggICAgICAgZWRpCiAgICAgcHVzaCAgICAgICBlYngKICAgICBwdXNoICAgICAgIGVi
cAotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgMTYgKyA0XSAgIC8vIFkKLSAgICBtb3YgICAg
ICAgIGVzaSwgW2VzcCArIDE2ICsgOF0gICAvLyBVCisgICAgbW92ICAgICAgICBlYXgsIFtlc3Ag
KyAxNiArIDRdICAvLyBZCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyAxNiArIDhdICAvLyBV
CiAgICAgbW92ICAgICAgICBlZGksIFtlc3AgKyAxNiArIDEyXSAgLy8gVgogICAgIG1vdiAgICAg
ICAgZWJwLCBbZXNwICsgMTYgKyAxNl0gIC8vIEEKICAgICBtb3YgICAgICAgIGVkeCwgW2VzcCAr
IDE2ICsgMjBdICAvLyBhcmdiCkBAIC0yMTQ3LDI1ICsyMTQ3LDI1IEBAIHZvaWQgSTQyMkFscGhh
VG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHlfYnVmLAogI2lmZGVmIEhBU19JNDQ0VE9BUkdC
Uk9XX0FWWDIKIC8vIDE2IHBpeGVscwogLy8gMTYgVVYgdmFsdWVzIHdpdGggMTYgWSBwcm9kdWNp
bmcgMTYgQVJHQiAoNjQgYnl0ZXMpLgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgSTQ0NFRvQVJH
QlJvd19BVlgyKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiB1X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB2
X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywK
LSAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkg
dm9pZCBJNDQ0VG9BUkdCUm93X0FWWDIoCisgICAgY29uc3QgdWludDgqIHlfYnVmLAorICAgIGNv
bnN0IHVpbnQ4KiB1X2J1ZiwKKyAgICBjb25zdCB1aW50OCogdl9idWYsCisgICAgdWludDgqIGRz
dF9hcmdiLAorICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAg
ICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCiAgICAgcHVzaCAg
ICAgICBlZGkKICAgICBwdXNoICAgICAgIGVieAotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsg
MTIgKyA0XSAgIC8vIFkKLSAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDEyICsgOF0gICAvLyBV
CisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyAxMiArIDRdICAvLyBZCisgICAgbW92ICAgICAg
ICBlc2ksIFtlc3AgKyAxMiArIDhdICAvLyBVCiAgICAgbW92ICAgICAgICBlZGksIFtlc3AgKyAx
MiArIDEyXSAgLy8gVgogICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgMTIgKyAxNl0gIC8vIGFy
Z2IKICAgICBtb3YgICAgICAgIGVieCwgW2VzcCArIDEyICsgMjBdICAvLyB5dXZjb25zdGFudHMK
ICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyICsgMjRdICAvLyB3aWR0aAogICAgIHN1YiAg
ICAgICAgZWRpLCBlc2kKLSAgICB2cGNtcGVxYiAgIHltbTUsIHltbTUsIHltbTUgICAgIC8vIGdl
bmVyYXRlIDB4ZmZmZmZmZmZmZmZmZmZmZiBmb3IgYWxwaGEKKyAgICB2cGNtcGVxYiAgIHltbTUs
IHltbTUsIHltbTUgIC8vIGdlbmVyYXRlIDB4ZmZmZmZmZmZmZmZmZmZmZiBmb3IgYWxwaGEKICBj
b252ZXJ0bG9vcDoKICAgICBSRUFEWVVWNDQ0X0FWWDIKICAgICBZVVZUT1JHQl9BVlgyKGVieCkK
QEAgLTIxODYsMjEgKzIxODYsMjEgQEAgdm9pZCBJNDQ0VG9BUkdCUm93X0FWWDIoY29uc3QgdWlu
dDgqIHlfYnVmLAogI2lmZGVmIEhBU19OVjEyVE9BUkdCUk9XX0FWWDIKIC8vIDE2IHBpeGVscy4K
IC8vIDggVVYgdmFsdWVzIHVwc2FtcGxlZCB0byAxNiBVViwgbWl4ZWQgd2l0aCAxNiBZIHByb2R1
Y2luZyAxNiBBUkdCICg2NCBieXRlcykuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBOVjEyVG9B
UkdCUm93X0FWWDIoY29uc3QgdWludDgqIHlfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHV2X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
YXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMq
IHl1dmNvbnN0YW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19k
ZWNsc3BlYyhuYWtlZCkgdm9pZCBOVjEyVG9BUkdCUm93X0FWWDIoCisgICAgY29uc3QgdWludDgq
IHlfYnVmLAorICAgIGNvbnN0IHVpbnQ4KiB1dl9idWYsCisgICAgdWludDgqIGRzdF9hcmdiLAor
ICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICBpbnQgd2lk
dGgpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCiAgICAgcHVzaCAgICAgICBlYngK
LSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDggKyA0XSAgIC8vIFkKLSAgICBtb3YgICAgICAg
IGVzaSwgW2VzcCArIDggKyA4XSAgIC8vIFVWCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4
ICsgNF0gIC8vIFkKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDggKyA4XSAgLy8gVVYKICAg
ICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDggKyAxMl0gIC8vIGFyZ2IKICAgICBtb3YgICAgICAg
IGVieCwgW2VzcCArIDggKyAxNl0gIC8vIHl1dmNvbnN0YW50cwogICAgIG1vdiAgICAgICAgZWN4
LCBbZXNwICsgOCArIDIwXSAgLy8gd2lkdGgKLSAgICB2cGNtcGVxYiAgIHltbTUsIHltbTUsIHlt
bTUgICAgIC8vIGdlbmVyYXRlIDB4ZmZmZmZmZmZmZmZmZmZmZiBmb3IgYWxwaGEKKyAgICB2cGNt
cGVxYiAgIHltbTUsIHltbTUsIHltbTUgIC8vIGdlbmVyYXRlIDB4ZmZmZmZmZmZmZmZmZmZmZiBm
b3IgYWxwaGEKIAogIGNvbnZlcnRsb29wOgogICAgIFJFQUROVjEyX0FWWDIKQEAgLTIyMjEsMjEg
KzIyMjEsMjEgQEAgdm9pZCBOVjEyVG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHlfYnVmLAog
I2lmZGVmIEhBU19OVjIxVE9BUkdCUk9XX0FWWDIKIC8vIDE2IHBpeGVscy4KIC8vIDggVlUgdmFs
dWVzIHVwc2FtcGxlZCB0byAxNiBVViwgbWl4ZWQgd2l0aCAxNiBZIHByb2R1Y2luZyAxNiBBUkdC
ICg2NCBieXRlcykuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBOVjIxVG9BUkdCUm93X0FWWDIo
Y29uc3QgdWludDgqIHlfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHZ1X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50
cywKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtl
ZCkgdm9pZCBOVjIxVG9BUkdCUm93X0FWWDIoCisgICAgY29uc3QgdWludDgqIHlfYnVmLAorICAg
IGNvbnN0IHVpbnQ4KiB2dV9idWYsCisgICAgdWludDgqIGRzdF9hcmdiLAorICAgIGNvbnN0IHN0
cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICBpbnQgd2lkdGgpIHsKICAgX19h
c20gewogICAgIHB1c2ggICAgICAgZXNpCiAgICAgcHVzaCAgICAgICBlYngKLSAgICBtb3YgICAg
ICAgIGVheCwgW2VzcCArIDggKyA0XSAgIC8vIFkKLSAgICBtb3YgICAgICAgIGVzaSwgW2VzcCAr
IDggKyA4XSAgIC8vIFZVCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gIC8vIFkK
KyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDggKyA4XSAgLy8gVlUKICAgICBtb3YgICAgICAg
IGVkeCwgW2VzcCArIDggKyAxMl0gIC8vIGFyZ2IKICAgICBtb3YgICAgICAgIGVieCwgW2VzcCAr
IDggKyAxNl0gIC8vIHl1dmNvbnN0YW50cwogICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCAr
IDIwXSAgLy8gd2lkdGgKLSAgICB2cGNtcGVxYiAgIHltbTUsIHltbTUsIHltbTUgICAgIC8vIGdl
bmVyYXRlIDB4ZmZmZmZmZmZmZmZmZmZmZiBmb3IgYWxwaGEKKyAgICB2cGNtcGVxYiAgIHltbTUs
IHltbTUsIHltbTUgIC8vIGdlbmVyYXRlIDB4ZmZmZmZmZmZmZmZmZmZmZiBmb3IgYWxwaGEKIAog
IGNvbnZlcnRsb29wOgogICAgIFJFQUROVjIxX0FWWDIKQEAgLTIyNTYsMTggKzIyNTYsMTggQEAg
dm9pZCBOVjIxVG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHlfYnVmLAogI2lmZGVmIEhBU19Z
VVkyVE9BUkdCUk9XX0FWWDIKIC8vIDE2IHBpeGVscy4KIC8vIDggWVVZMiB2YWx1ZXMgd2l0aCAx
NiBZIGFuZCA4IFVWIHByb2R1Y2luZyAxNiBBUkdCICg2NCBieXRlcykuCi1fX2RlY2xzcGVjKG5h
a2VkKQotdm9pZCBZVVkyVG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHNyY195dXkyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFlVWTJU
b0FSR0JSb3dfQVZYMigKKyAgICBjb25zdCB1aW50OCogc3JjX3l1eTIsCisgICAgdWludDgqIGRz
dF9hcmdiLAorICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAg
ICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZWJ4Ci0gICAgbW92ICAg
ICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gICAvLyB5dXkyCi0gICAgbW92ICAgICAgICBlZHgsIFtl
c3AgKyA0ICsgOF0gICAvLyBhcmdiCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0g
IC8vIHl1eTIKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyA4XSAgLy8gYXJnYgogICAg
IG1vdiAgICAgICAgZWJ4LCBbZXNwICsgNCArIDEyXSAgLy8geXV2Y29uc3RhbnRzCiAgICAgbW92
ICAgICAgICBlY3gsIFtlc3AgKyA0ICsgMTZdICAvLyB3aWR0aAotICAgIHZwY21wZXFiICAgeW1t
NSwgeW1tNSwgeW1tNSAgICAgLy8gZ2VuZXJhdGUgMHhmZmZmZmZmZmZmZmZmZmZmIGZvciBhbHBo
YQorICAgIHZwY21wZXFiICAgeW1tNSwgeW1tNSwgeW1tNSAgLy8gZ2VuZXJhdGUgMHhmZmZmZmZm
ZmZmZmZmZmZmIGZvciBhbHBoYQogCiAgY29udmVydGxvb3A6CiAgICAgUkVBRFlVWTJfQVZYMgpA
QCAtMjI4NywxOCArMjI4NywxOCBAQCB2b2lkIFlVWTJUb0FSR0JSb3dfQVZYMihjb25zdCB1aW50
OCogc3JjX3l1eTIsCiAjaWZkZWYgSEFTX1VZVllUT0FSR0JST1dfQVZYMgogLy8gMTYgcGl4ZWxz
LgogLy8gOCBVWVZZIHZhbHVlcyB3aXRoIDE2IFkgYW5kIDggVVYgcHJvZHVjaW5nIDE2IEFSR0Ig
KDY0IGJ5dGVzKS4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFVZVllUb0FSR0JSb3dfQVZYMihj
b25zdCB1aW50OCogc3JjX3V5dnksCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRz
KiB5dXZjb25zdGFudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKK19f
ZGVjbHNwZWMobmFrZWQpIHZvaWQgVVlWWVRvQVJHQlJvd19BVlgyKAorICAgIGNvbnN0IHVpbnQ4
KiBzcmNfdXl2eSwKKyAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgY29uc3Qgc3RydWN0IFl1dkNv
bnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAg
cHVzaCAgICAgICBlYngKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgIC8vIHV5
dnkKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyA4XSAgIC8vIGFyZ2IKKyAgICBtb3Yg
ICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgLy8gdXl2eQorICAgIG1vdiAgICAgICAgZWR4LCBb
ZXNwICsgNCArIDhdICAvLyBhcmdiCiAgICAgbW92ICAgICAgICBlYngsIFtlc3AgKyA0ICsgMTJd
ICAvLyB5dXZjb25zdGFudHMKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8v
IHdpZHRoCi0gICAgdnBjbXBlcWIgICB5bW01LCB5bW01LCB5bW01ICAgICAvLyBnZW5lcmF0ZSAw
eGZmZmZmZmZmZmZmZmZmZmYgZm9yIGFscGhhCisgICAgdnBjbXBlcWIgICB5bW01LCB5bW01LCB5
bW01ICAvLyBnZW5lcmF0ZSAweGZmZmZmZmZmZmZmZmZmZmYgZm9yIGFscGhhCiAKICBjb252ZXJ0
bG9vcDoKICAgICBSRUFEVVlWWV9BVlgyCkBAIC0yMzE4LDI1ICsyMzE4LDI1IEBAIHZvaWQgVVlW
WVRvQVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKICNpZmRlZiBIQVNfSTQyMlRP
UkdCQVJPV19BVlgyCiAvLyAxNiBwaXhlbHMKIC8vIDggVVYgdmFsdWVzIHVwc2FtcGxlZCB0byAx
NiBVViwgbWl4ZWQgd2l0aCAxNiBZIHByb2R1Y2luZyAxNiBSR0JBICg2NCBieXRlcykuCi1fX2Rl
Y2xzcGVjKG5ha2VkKQotdm9pZCBJNDIyVG9SR0JBUm93X0FWWDIoY29uc3QgdWludDgqIHlfYnVm
LAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHVfYnVmLAotICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHZfYnVmLAotICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEk0MjJUb1JHQkFSb3dfQVZYMigKKyAg
ICBjb25zdCB1aW50OCogeV9idWYsCisgICAgY29uc3QgdWludDgqIHVfYnVmLAorICAgIGNvbnN0
IHVpbnQ4KiB2X2J1ZiwKKyAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgY29uc3Qgc3RydWN0IFl1
dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAg
ICAgcHVzaCAgICAgICBlc2kKICAgICBwdXNoICAgICAgIGVkaQogICAgIHB1c2ggICAgICAgZWJ4
Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyAxMiArIDRdICAgLy8gWQotICAgIG1vdiAgICAg
ICAgZXNpLCBbZXNwICsgMTIgKyA4XSAgIC8vIFUKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCAr
IDEyICsgNF0gIC8vIFkKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDEyICsgOF0gIC8vIFUK
ICAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDEyICsgMTJdICAvLyBWCiAgICAgbW92ICAgICAg
ICBlZHgsIFtlc3AgKyAxMiArIDE2XSAgLy8gYWJncgogICAgIG1vdiAgICAgICAgZWJ4LCBbZXNw
ICsgMTIgKyAyMF0gIC8vIHl1dmNvbnN0YW50cwogICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsg
MTIgKyAyNF0gIC8vIHdpZHRoCiAgICAgc3ViICAgICAgICBlZGksIGVzaQotICAgIHZwY21wZXFi
ICAgeW1tNSwgeW1tNSwgeW1tNSAgICAgLy8gZ2VuZXJhdGUgMHhmZmZmZmZmZmZmZmZmZmZmIGZv
ciBhbHBoYQorICAgIHZwY21wZXFiICAgeW1tNSwgeW1tNSwgeW1tNSAgLy8gZ2VuZXJhdGUgMHhm
ZmZmZmZmZmZmZmZmZmZmIGZvciBhbHBoYQogCiAgY29udmVydGxvb3A6CiAgICAgUkVBRFlVVjQy
Ml9BVlgyCkBAIC0yMzYwLDgyICsyMzYwLDgzIEBAIHZvaWQgSTQyMlRvUkdCQVJvd19BVlgyKGNv
bnN0IHVpbnQ4KiB5X2J1ZiwKIC8vIEFsbG93cyBhIGNvbnZlcnNpb24gd2l0aCBoYWxmIHNpemUg
c2NhbGluZy4KIAogLy8gUmVhZCA4IFVWIGZyb20gNDQ0LgotI2RlZmluZSBSRUFEWVVWNDQ0IF9f
YXNtIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyNkZWZpbmUgUkVBRFlVVjQ0NCBcCisgIF9fYXNtIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSBtb3ZxICAgICAgIHht
bTAsIHF3b3JkIHB0ciBbZXNpXSAvKiBVICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgX19hc20gbW92cSAgICAgICB4bW0xLCBxd29yZCBwdHIgW2VzaSArIGVkaV0gLyogViAq
LyAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIGxlYSAgICAgICAgZXNpLCAgW2Vz
aSArIDhdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
X2FzbSBwdW5wY2tsYncgIHhtbTAsIHhtbTEgICAgICAgICAgIC8qIFVWICovICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcHVucGNrbGJ3ICB4bW0wLCB4bW0xIC8qIFVW
ICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gbW92cSAgICAgICB4
bW00LCBxd29yZCBwdHIgW2VheF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIF9fYXNtIHB1bnBja2xidyAgeG1tNCwgeG1tNCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBsZWEgICAgICAgIGVheCwgW2Vh
eCArIDhdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0K
KyAgICBfX2FzbSBsZWEgICAgICAgIGVheCwgW2VheCArIDhdfQogCiAvLyBSZWFkIDQgVVYgZnJv
bSA0MjIsIHVwc2FtcGxlIHRvIDggVVYuCi0jZGVmaW5lIFJFQURZVVY0MjIgX19hc20geyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9f
YXNtIG1vdmQgICAgICAgeG1tMCwgW2VzaV0gICAgICAgICAgLyogVSAqLyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBtb3ZkICAgICAgIHhtbTEsIFtlc2kgKyBlZGld
ICAgIC8qIFYgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFJFQURZ
VVY0MjIgXAorICBfX2FzbSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgX19hc20gbW92ZCAgICAgICB4bW0wLCBbZXNpXSAvKiBVICov
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIG1vdmQgICAgICAgeG1t
MSwgW2VzaSArIGVkaV0gLyogViAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICBfX2FzbSBsZWEgICAgICAgIGVzaSwgIFtlc2kgKyA0XSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gcHVucGNrbGJ3ICB4bW0wLCB4bW0xICAg
ICAgICAgICAvKiBVViAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNt
IHB1bnBja2x3ZCAgeG1tMCwgeG1tMCAgICAgICAgICAgLyogVVZVViAodXBzYW1wbGUpICovICAg
ICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tsYncgIHhtbTAsIHhtbTEgLyogVVYgKi8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tsd2QgIHhtbTAs
IHhtbTAgLyogVVZVViAodXBzYW1wbGUpICovICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSBt
b3ZxICAgICAgIHhtbTQsIHF3b3JkIHB0ciBbZWF4XSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgX19hc20gcHVucGNrbGJ3ICB4bW00LCB4bW00ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIGxlYSAgICAg
ICAgZWF4LCBbZWF4ICsgOF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgfQorICAgIF9fYXNtIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgOF19CiAKIC8vIFJl
YWQgNCBVViBmcm9tIDQyMiwgdXBzYW1wbGUgdG8gOCBVVi4gIFdpdGggOCBBbHBoYS4KLSNkZWZp
bmUgUkVBRFlVVkE0MjIgX19hc20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gbW92ZCAgICAgICB4bW0wLCBbZXNpXSAgICAg
ICAgICAvKiBVICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIG1v
dmQgICAgICAgeG1tMSwgW2VzaSArIGVkaV0gICAgLyogViAqLyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyNkZWZpbmUgUkVBRFlVVkE0MjIgXAorICBfX2FzbSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBtb3Zk
ICAgICAgIHhtbTAsIFtlc2ldIC8qIFUgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgX19hc20gbW92ZCAgICAgICB4bW0xLCBbZXNpICsgZWRpXSAvKiBWICovICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIGxlYSAgICAgICAgZXNpLCAgW2VzaSAr
IDRdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2Fz
bSBwdW5wY2tsYncgIHhtbTAsIHhtbTEgICAgICAgICAgIC8qIFVWICovICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX19hc20gcHVucGNrbHdkICB4bW0wLCB4bW0wICAgICAgICAg
ICAvKiBVVlVWICh1cHNhbXBsZSkgKi8gICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIG1vdnEg
ICAgICAgeG1tNCwgcXdvcmQgcHRyIFtlYXhdICAgLyogWSAqLyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tsYncgIHhtbTAsIHhtbTEgLyogVVYgKi8gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tsd2QgIHhtbTAsIHhtbTAg
LyogVVZVViAodXBzYW1wbGUpICovICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBtb3ZxICAg
ICAgIHhtbTQsIHF3b3JkIHB0ciBbZWF4XSAvKiBZICovICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgIF9fYXNtIHB1bnBja2xidyAgeG1tNCwgeG1tNCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSBsZWEgICAgICAgIGVheCwg
W2VheCArIDhdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgX19hc20gbW92cSAgICAgICB4bW01LCBxd29yZCBwdHIgW2VicF0gICAvKiBBICovICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIGxlYSAgICAgICAgZWJwLCBbZWJwICsg
OF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQorICAg
IF9fYXNtIG1vdnEgICAgICAgeG1tNSwgcXdvcmQgcHRyIFtlYnBdIC8qIEEgKi8gICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gbGVhICAgICAgICBlYnAsIFtlYnAgKyA4XX0K
IAogLy8gUmVhZCA0IFVWIGZyb20gTlYxMiwgdXBzYW1wbGUgdG8gOCBVVi4KLSNkZWZpbmUgUkVB
RE5WMTIgX19hc20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisjZGVmaW5lIFJFQUROVjEyIFwKKyAgX19hc20geyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gbW92
cSAgICAgICB4bW0wLCBxd29yZCBwdHIgW2VzaV0gLyogVVYgKi8gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAogICAgIF9fYXNtIGxlYSAgICAgICAgZXNpLCAgW2VzaSArIDhdICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBwdW5wY2tsd2Qg
IHhtbTAsIHhtbTAgICAgICAgICAgIC8qIFVWVVYgKHVwc2FtcGxlKSAqLyAgICAgICAgICAgICAg
ICBcCisgICAgX19hc20gcHVucGNrbHdkICB4bW0wLCB4bW0wIC8qIFVWVVYgKHVwc2FtcGxlKSAq
LyAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gbW92cSAgICAgICB4bW00LCBxd29yZCBwdHIg
W2VheF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHB1
bnBja2xidyAgeG1tNCwgeG1tNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfX2FzbSBsZWEgICAgICAgIGVheCwgW2VheCArIDhdICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KKyAgICBfX2FzbSBsZWEg
ICAgICAgIGVheCwgW2VheCArIDhdfQogCiAvLyBSZWFkIDQgVlUgZnJvbSBOVjIxLCB1cHNhbXBs
ZSB0byA4IFVWLgotI2RlZmluZSBSRUFETlYyMSBfX2FzbSB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgUkVBRE5WMjEgXAor
ICBfX2FzbSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKICAgICBfX2FzbSBtb3ZxICAgICAgIHhtbTAsIHF3b3JkIHB0ciBbZXNpXSAvKiBV
ViAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gbGVhICAgICAgICBl
c2ksICBbZXNpICsgOF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIF9fYXNtIHBzaHVmYiAgICAgeG1tMCwgeG1td29yZCBwdHIga1NodWZmbGVOVjIxICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSBtb3ZxICAgICAgIHhtbTQsIHF3
b3JkIHB0ciBbZWF4XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
X19hc20gcHVucGNrbGJ3ICB4bW00LCB4bW00ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgOF0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfQorICAgIF9f
YXNtIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgOF19CiAKIC8vIFJlYWQgNCBZVVkyIHdpdGggOCBZ
IGFuZCB1cHNhbXBsZSA0IFVWIHRvIDggVVYuCi0jZGVmaW5lIFJFQURZVVkyIF9fYXNtIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9fYXNtIG1vdmRxdSAgICAgeG1tNCwgW2VheF0gICAgICAgICAgLyogWVVZMiAqLyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgUkVBRFlVWTIgXAorICBfX2FzbSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBf
X2FzbSBtb3ZkcXUgICAgIHhtbTQsIFtlYXhdIC8qIFlVWTIgKi8gICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCiAgICAgX19hc20gcHNodWZiICAgICB4bW00LCB4bW13b3JkIHB0ciBrU2h1ZmZs
ZVlVWTJZICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIG1vdmRxdSAgICAg
eG1tMCwgW2VheF0gICAgICAgICAgLyogVVYgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBfX2FzbSBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdIC8qIFVWICovICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gcHNodWZiICAgICB4bW0wLCB4bW13b3JkIHB0
ciBrU2h1ZmZsZVlVWTJVViAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIGxl
YSAgICAgICAgZWF4LCBbZWF4ICsgMTZdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgfQorICAgIF9fYXNtIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMTZdfQog
CiAvLyBSZWFkIDQgVVlWWSB3aXRoIDggWSBhbmQgdXBzYW1wbGUgNCBVViB0byA4IFVWLgotI2Rl
ZmluZSBSRUFEVVlWWSBfX2FzbSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBtb3ZkcXUgICAgIHhtbTQsIFtlYXhdICAg
ICAgICAgIC8qIFVZVlkgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFJF
QURVWVZZIFwKKyAgX19hc20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gbW92ZHF1ICAgICB4bW00LCBbZWF4XSAvKiBV
WVZZICovICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHBzaHVmYiAgICAg
eG1tNCwgeG1td29yZCBwdHIga1NodWZmbGVVWVZZWSAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBfX2FzbSBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdICAgICAgICAgIC8qIFVWICovICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gbW92ZHF1ICAgICB4bW0wLCBb
ZWF4XSAvKiBVViAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHBz
aHVmYiAgICAgeG1tMCwgeG1td29yZCBwdHIga1NodWZmbGVVWVZZVVYgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfX2FzbSBsZWEgICAgICAgIGVheCwgW2VheCArIDE2XSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0KKyAgICBfX2FzbSBsZWEg
ICAgICAgIGVheCwgW2VheCArIDE2XX0KIAogLy8gQ29udmVydCA4IHBpeGVsczogOCBVViBhbmQg
OCBZLgotI2RlZmluZSBZVVZUT1JHQihZdXZDb25zdGFudHMpIF9fYXNtIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgWVVWVE9SR0IoWXV2Q29uc3Rh
bnRzKSBcCisgIF9fYXNtIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICBfX2FzbSBtb3ZkcWEgICAgIHhtbTEsIHhtbTAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gbW92ZHFhICAgICB4bW0yLCB4
bW0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IF9fYXNtIG1vdmRxYSAgICAgeG1tMywgeG1tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKQEAgLTI0NDksMTI5ICsyNDUwLDEyNSBAQCB2b2lkIEk0MjJU
b1JHQkFSb3dfQVZYMihjb25zdCB1aW50OCogeV9idWYsCiAgICAgX19hc20gcG1hZGR1YnN3ICB4
bW0zLCB4bW13b3JkIHB0ciBbWXV2Q29uc3RhbnRzICsgS1VWVE9SXSAgICAgICAgICAgICAgICAg
XAogICAgIF9fYXNtIHBzdWJ3ICAgICAgeG1tMiwgeG1tMyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSBwbXVsaHV3ICAgIHhtbTQsIHht
bXdvcmQgcHRyIFtZdXZDb25zdGFudHMgKyBLWVRPUkdCXSAgICAgICAgICAgICAgICBcCi0gICAg
X19hc20gcGFkZHN3ICAgICB4bW0wLCB4bW00ICAgICAgICAgICAvKiBCICs9IFkgKi8gICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHBhZGRzdyAgICAgeG1tMSwgeG1tNCAgICAg
ICAgICAgLyogRyArPSBZICovICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBw
YWRkc3cgICAgIHhtbTIsIHhtbTQgICAgICAgICAgIC8qIFIgKz0gWSAqLyAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgX19hc20gcGFkZHN3ICAgICB4bW0wLCB4bW00IC8qIEIgKz0gWSAq
LyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcGFkZHN3ICAgICB4bW0xLCB4
bW00IC8qIEcgKz0gWSAqLyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcGFk
ZHN3ICAgICB4bW0yLCB4bW00IC8qIFIgKz0gWSAqLyAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgX19hc20gcHNyYXcgICAgICB4bW0wLCA2ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIHBzcmF3ICAgICAgeG1tMSwgNiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBf
X2FzbSBwc3JhdyAgICAgIHhtbTIsIDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gcGFja3Vzd2IgICB4bW0wLCB4bW0wICAgICAg
ICAgICAvKiBCICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHBh
Y2t1c3diICAgeG1tMSwgeG1tMSAgICAgICAgICAgLyogRyAqLyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBfX2FzbSBwYWNrdXN3YiAgIHhtbTIsIHhtbTIgICAgICAgICAgIC8q
IFIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcGFja3Vzd2Ig
ICB4bW0wLCB4bW0wIC8qIEIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
X19hc20gcGFja3Vzd2IgICB4bW0xLCB4bW0xIC8qIEcgKi8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgX19hc20gcGFja3Vzd2IgICB4bW0yLCB4bW0yIC8qIFIgKi8gICAgICAg
ICAgICAgXAogICB9CiAKIC8vIFN0b3JlIDggQVJHQiB2YWx1ZXMuCi0jZGVmaW5lIFNUT1JFQVJH
QiBfX2FzbSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIF9fYXNtIHB1bnBja2xidyAgeG1tMCwgeG1tMSAgICAgICAgICAgLyogQkcg
Ki8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBwdW5wY2tsYncgIHht
bTIsIHhtbTUgICAgICAgICAgIC8qIFJBICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisjZGVmaW5lIFNUT1JFQVJHQiBcCisgIF9fYXNtIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcHVucGNrbGJ3ICB4bW0w
LCB4bW0xIC8qIEJHICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20g
cHVucGNrbGJ3ICB4bW0yLCB4bW01IC8qIFJBICovICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgX19hc20gbW92ZHFhICAgICB4bW0xLCB4bW0wICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHB1bnBja2x3ZCAgeG1tMCwg
eG1tMiAgICAgICAgICAgLyogQkdSQSBmaXJzdCA0IHBpeGVscyAqLyAgICAgICAgICAgIFwKLSAg
ICBfX2FzbSBwdW5wY2tod2QgIHhtbTEsIHhtbTIgICAgICAgICAgIC8qIEJHUkEgbmV4dCA0IHBp
eGVscyAqLyAgICAgICAgICAgICBcCisgICAgX19hc20gcHVucGNrbHdkICB4bW0wLCB4bW0yIC8q
IEJHUkEgZmlyc3QgNCBwaXhlbHMgKi8gICAgICAgICAgICBcCisgICAgX19hc20gcHVucGNraHdk
ICB4bW0xLCB4bW0yIC8qIEJHUkEgbmV4dCA0IHBpeGVscyAqLyAgICAgICAgICAgICBcCiAgICAg
X19hc20gbW92ZHF1ICAgICAwW2VkeF0sIHhtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIG1vdmRxdSAgICAgMTZbZWR4XSwgeG1tMSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBs
ZWEgICAgICAgIGVkeCwgIFtlZHggKyAzMl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIH0KKyAgICBfX2FzbSBsZWEgICAgICAgIGVkeCwgIFtlZHggKyAzMl19
CiAKIC8vIFN0b3JlIDggQkdSQSB2YWx1ZXMuCi0jZGVmaW5lIFNUT1JFQkdSQSBfX2FzbSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9fYXNtIHBjbXBlcWIgICAgeG1tNSwgeG1tNSAgICAgICAgICAgLyogZ2VuZXJhdGUgMHhmZmZm
ZmZmZiBmb3IgYWxwaGEgKi8gIFwKLSAgICBfX2FzbSBwdW5wY2tsYncgIHhtbTEsIHhtbTAgICAg
ICAgICAgIC8qIEdCICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20g
cHVucGNrbGJ3ICB4bW01LCB4bW0yICAgICAgICAgICAvKiBBUiAqLyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorI2RlZmluZSBTVE9SRUJHUkEgXAorICBfX2FzbSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHBj
bXBlcWIgICAgeG1tNSwgeG1tNSAvKiBnZW5lcmF0ZSAweGZmZmZmZmZmIGZvciBhbHBoYSAqLyAg
XAorICAgIF9fYXNtIHB1bnBja2xidyAgeG1tMSwgeG1tMCAvKiBHQiAqLyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHB1bnBja2xidyAgeG1tNSwgeG1tMiAvKiBBUiAq
LyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIF9fYXNtIG1vdmRxYSAgICAgeG1t
MCwgeG1tNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfX2FzbSBwdW5wY2tsd2QgIHhtbTUsIHhtbTEgICAgICAgICAgIC8qIEJHUkEgZmlyc3Qg
NCBwaXhlbHMgKi8gICAgICAgICAgICBcCi0gICAgX19hc20gcHVucGNraHdkICB4bW0wLCB4bW0x
ICAgICAgICAgICAvKiBCR1JBIG5leHQgNCBwaXhlbHMgKi8gICAgICAgICAgICAgXAorICAgIF9f
YXNtIHB1bnBja2x3ZCAgeG1tNSwgeG1tMSAvKiBCR1JBIGZpcnN0IDQgcGl4ZWxzICovICAgICAg
ICAgICAgXAorICAgIF9fYXNtIHB1bnBja2h3ZCAgeG1tMCwgeG1tMSAvKiBCR1JBIG5leHQgNCBw
aXhlbHMgKi8gICAgICAgICAgICAgXAogICAgIF9fYXNtIG1vdmRxdSAgICAgMFtlZHhdLCB4bW01
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2Fz
bSBtb3ZkcXUgICAgIDE2W2VkeF0sIHhtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgX19hc20gbGVhICAgICAgICBlZHgsICBbZWR4ICsgMzJdICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9CisgICAgX19hc20g
bGVhICAgICAgICBlZHgsICBbZWR4ICsgMzJdfQogCiAvLyBTdG9yZSA4IFJHQkEgdmFsdWVzLgot
I2RlZmluZSBTVE9SRVJHQkEgX19hc20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBwY21wZXFiICAgIHhtbTUsIHhtbTUg
ICAgICAgICAgIC8qIGdlbmVyYXRlIDB4ZmZmZmZmZmYgZm9yIGFscGhhICovICBcCi0gICAgX19h
c20gcHVucGNrbGJ3ICB4bW0xLCB4bW0yICAgICAgICAgICAvKiBHUiAqLyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHB1bnBja2xidyAgeG1tNSwgeG1tMCAgICAgICAg
ICAgLyogQUIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgU1RPUkVS
R0JBIFwKKyAgX19hc20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwY21wZXFiICAgIHhtbTUsIHhtbTUgLyogZ2VuZXJh
dGUgMHhmZmZmZmZmZiBmb3IgYWxwaGEgKi8gIFwKKyAgICBfX2FzbSBwdW5wY2tsYncgIHhtbTEs
IHhtbTIgLyogR1IgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBw
dW5wY2tsYncgIHhtbTUsIHhtbTAgLyogQUIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICBfX2FzbSBtb3ZkcWEgICAgIHhtbTAsIHhtbTUgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gcHVucGNrbHdkICB4bW01LCB4
bW0xICAgICAgICAgICAvKiBSR0JBIGZpcnN0IDQgcGl4ZWxzICovICAgICAgICAgICAgXAotICAg
IF9fYXNtIHB1bnBja2h3ZCAgeG1tMCwgeG1tMSAgICAgICAgICAgLyogUkdCQSBuZXh0IDQgcGl4
ZWxzICovICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tsd2QgIHhtbTUsIHhtbTEgLyog
UkdCQSBmaXJzdCA0IHBpeGVscyAqLyAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tod2Qg
IHhtbTAsIHhtbTEgLyogUkdCQSBuZXh0IDQgcGl4ZWxzICovICAgICAgICAgICAgIFwKICAgICBf
X2FzbSBtb3ZkcXUgICAgIDBbZWR4XSwgeG1tNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCiAgICAgX19hc20gbW92ZHF1ICAgICAxNltlZHhdLCB4bW0wICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIGxl
YSAgICAgICAgZWR4LCAgW2VkeCArIDMyXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgfQorICAgIF9fYXNtIGxlYSAgICAgICAgZWR4LCAgW2VkeCArIDMyXX0K
IAogLy8gU3RvcmUgOCBSR0IyNCB2YWx1ZXMuCi0jZGVmaW5lIFNUT1JFUkdCMjQgX19hc20geyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IC8qIFdlYXZlIGludG8gUlJHQiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBwdW5wY2tsYncgIHhtbTAsIHhtbTEgICAg
ICAgICAgIC8qIEJHICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20g
cHVucGNrbGJ3ICB4bW0yLCB4bW0yICAgICAgICAgICAvKiBSUiAqLyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorI2RlZmluZSBTVE9SRVJHQjI0IFwKKyAgX19hc20gey8qIFdlYXZlIGlu
dG8gUlJHQiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tsYncgIHhtbTAsIHhtbTEgLyogQkcgKi8gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tsYncgIHhtbTIsIHhtbTIg
LyogUlIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSBtb3ZkcWEg
ICAgIHhtbTEsIHhtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX19hc20gcHVucGNrbHdkICB4bW0wLCB4bW0yICAgICAgICAgICAvKiBCR1JS
IGZpcnN0IDQgcGl4ZWxzICovICAgICAgICAgICAgXAotICAgIF9fYXNtIHB1bnBja2h3ZCAgeG1t
MSwgeG1tMiAgICAgICAgICAgLyogQkdSUiBuZXh0IDQgcGl4ZWxzICovICAgICAgICAgICAgIFwK
LSAgICAvKiBSUkdCIC0+IFJHQjI0ICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gcHNodWZiICAgICB4bW0wLCB4bW01
ICAgICAgICAgICAvKiBQYWNrIGZpcnN0IDggYW5kIGxhc3QgNCBieXRlcy4gKi8gXAotICAgIF9f
YXNtIHBzaHVmYiAgICAgeG1tMSwgeG1tNiAgICAgICAgICAgLyogUGFjayBmaXJzdCAxMiBieXRl
cy4gKi8gICAgICAgICAgIFwKLSAgICBfX2FzbSBwYWxpZ25yICAgIHhtbTEsIHhtbTAsIDEyICAg
ICAgIC8qIGxhc3QgNCBieXRlcyBvZiB4bW0wICsgMTIgeG1tMSAqLyBcCi0gICAgX19hc20gbW92
cSAgICAgICBxd29yZCBwdHIgMFtlZHhdLCB4bW0wICAvKiBGaXJzdCA4IGJ5dGVzICovICAgICAg
ICAgICAgICAgXAotICAgIF9fYXNtIG1vdmRxdSAgICAgOFtlZHhdLCB4bW0xICAgICAgICAgLyog
TGFzdCAxNiBieXRlcyAqLyAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBsZWEgICAgICAg
IGVkeCwgIFtlZHggKyAyNF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIH0KKyAgICBfX2FzbSBwdW5wY2tsd2QgIHhtbTAsIHhtbTIgLyogQkdSUiBmaXJzdCA0
IHBpeGVscyAqLyAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tod2QgIHhtbTEsIHhtbTIg
LyogQkdSUiBuZXh0IDQgcGl4ZWxzICovIC8qIFJSR0IgLT4gUkdCMjQgKi8gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBw
c2h1ZmIgICAgIHhtbTAsIHhtbTUgLyogUGFjayBmaXJzdCA4IGFuZCBsYXN0IDQgYnl0ZXMuICov
IFwKKyAgICBfX2FzbSBwc2h1ZmIgICAgIHhtbTEsIHhtbTYgLyogUGFjayBmaXJzdCAxMiBieXRl
cy4gKi8gICAgICAgICAgIFwKKyAgICBfX2FzbSBwYWxpZ25yICAgIHhtbTEsIHhtbTAsIDEyIC8q
IGxhc3QgNCBieXRlcyBvZiB4bW0wICsgMTIgeG1tMSAqLyBcCisgICAgX19hc20gbW92cSAgICAg
ICBxd29yZCBwdHIgMFtlZHhdLCB4bW0wIC8qIEZpcnN0IDggYnl0ZXMgKi8gICAgICAgICAgICAg
ICBcCisgICAgX19hc20gbW92ZHF1ICAgICA4W2VkeF0sIHhtbTEgLyogTGFzdCAxNiBieXRlcyAq
LyAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBsZWEgICAgICAgIGVkeCwgIFtlZHggKyAy
NF19CiAKIC8vIFN0b3JlIDggUkdCNTY1IHZhbHVlcy4KLSNkZWZpbmUgU1RPUkVSR0I1NjUgX19h
c20geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgLyogV2VhdmUgaW50byBSUkdCICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHB1bnBja2xidyAgeG1tMCwgeG1t
MSAgICAgICAgICAgLyogQkcgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBf
X2FzbSBwdW5wY2tsYncgIHhtbTIsIHhtbTIgICAgICAgICAgIC8qIFJSICovICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFNUT1JFUkdCNTY1IFwKKyAgX19hc20gey8qIFdl
YXZlIGludG8gUlJHQiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tsYncgIHhtbTAsIHhtbTEgLyogQkcgKi8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwdW5wY2tsYncgIHhtbTIs
IHhtbTIgLyogUlIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBfX2FzbSBt
b3ZkcWEgICAgIHhtbTEsIHhtbTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgX19hc20gcHVucGNrbHdkICB4bW0wLCB4bW0yICAgICAgICAgICAv
KiBCR1JSIGZpcnN0IDQgcGl4ZWxzICovICAgICAgICAgICAgXAotICAgIF9fYXNtIHB1bnBja2h3
ZCAgeG1tMSwgeG1tMiAgICAgICAgICAgLyogQkdSUiBuZXh0IDQgcGl4ZWxzICovICAgICAgICAg
ICAgIFwKLSAgICAvKiBSUkdCIC0+IFJHQjU2NSAqLyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gbW92ZHFhICAgICB4bW0z
LCB4bW0wICAgIC8qIEIgIGZpcnN0IDQgcGl4ZWxzIG9mIGFyZ2IgKi8gICAgICAgICAgICAgXAot
ICAgIF9fYXNtIG1vdmRxYSAgICAgeG1tMiwgeG1tMCAgICAvKiBHICovICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBwc2xsZCAgICAgIHhtbTAsIDggICAg
ICAgLyogUiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19h
c20gcHNybGQgICAgICB4bW0zLCAzICAgICAgIC8qIEIgKi8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHBzcmxkICAgICAgeG1tMiwgNSAgICAgICAvKiBH
ICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBwc3Jh
ZCAgICAgIHhtbTAsIDE2ICAgICAgLyogUiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgX19hc20gcGFuZCAgICAgICB4bW0zLCB4bW01ICAgIC8qIEIgKi8gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHBhbmQgICAgICAg
eG1tMiwgeG1tNiAgICAvKiBHICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBfX2FzbSBwYW5kICAgICAgIHhtbTAsIHhtbTcgICAgLyogUiAqLyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gcG9yICAgICAgICB4bW0zLCB4
bW0yICAgIC8qIEJHICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IF9fYXNtIHBvciAgICAgICAgeG1tMCwgeG1tMyAgICAvKiBCR1IgKi8gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBtb3ZkcWEgICAgIHhtbTMsIHhtbTEgICAg
LyogQiAgbmV4dCA0IHBpeGVscyBvZiBhcmdiICovICAgICAgICAgICAgICBcCi0gICAgX19hc20g
bW92ZHFhICAgICB4bW0yLCB4bW0xICAgIC8qIEcgKi8gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF9fYXNtIHBzbGxkICAgICAgeG1tMSwgOCAgICAgICAvKiBSICov
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBwc3JsZCAg
ICAgIHhtbTMsIDMgICAgICAgLyogQiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgX19hc20gcHNybGQgICAgICB4bW0yLCA1ICAgICAgIC8qIEcgKi8gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtIHBzcmFkICAgICAgeG1t
MSwgMTYgICAgICAvKiBSICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBfX2FzbSBwYW5kICAgICAgIHhtbTMsIHhtbTUgICAgLyogQiAqLyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gcGFuZCAgICAgICB4bW0yLCB4bW02
ICAgIC8qIEcgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9f
YXNtIHBhbmQgICAgICAgeG1tMSwgeG1tNyAgICAvKiBSICovICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBwb3IgICAgICAgIHhtbTMsIHhtbTIgICAgLyog
QkcgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc20gcG9y
ICAgICAgICB4bW0xLCB4bW0zICAgIC8qIEJHUiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIF9fYXNtIHB1bnBja2x3ZCAgeG1tMCwgeG1tMiAvKiBCR1JSIGZpcnN0
IDQgcGl4ZWxzICovICAgICAgICAgICAgXAorICAgIF9fYXNtIHB1bnBja2h3ZCAgeG1tMSwgeG1t
MiAvKiBCR1JSIG5leHQgNCBwaXhlbHMgKi8gLyogUlJHQiAtPiBSR0I1NjUgKi8gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNt
IG1vdmRxYSAgICAgeG1tMywgeG1tMCAvKiBCICBmaXJzdCA0IHBpeGVscyBvZiBhcmdiICovICAg
ICAgICAgICAgIFwKKyAgICBfX2FzbSBtb3ZkcWEgICAgIHhtbTIsIHhtbTAgLyogRyAqLyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcHNsbGQgICAgICB4
bW0wLCA4IC8qIFIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IF9fYXNtIHBzcmxkICAgICAgeG1tMywgMyAvKiBCICovICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwc3JsZCAgICAgIHhtbTIsIDUgLyogRyAqLyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcHNyYWQgICAgICB4
bW0wLCAxNiAvKiBSICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBfX2FzbSBwYW5kICAgICAgIHhtbTMsIHhtbTUgLyogQiAqLyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcGFuZCAgICAgICB4bW0yLCB4bW02IC8qIEcg
Ki8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHBhbmQg
ICAgICAgeG1tMCwgeG1tNyAvKiBSICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBfX2FzbSBwb3IgICAgICAgIHhtbTMsIHhtbTIgLyogQkcgKi8gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcG9yICAgICAgICB4bW0wLCB4
bW0zIC8qIEJHUiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9f
YXNtIG1vdmRxYSAgICAgeG1tMywgeG1tMSAvKiBCICBuZXh0IDQgcGl4ZWxzIG9mIGFyZ2IgKi8g
ICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBtb3ZkcWEgICAgIHhtbTIsIHhtbTEgLyogRyAqLyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcHNsbGQgICAg
ICB4bW0xLCA4IC8qIFIgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIF9fYXNtIHBzcmxkICAgICAgeG1tMywgMyAvKiBCICovICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBfX2FzbSBwc3JsZCAgICAgIHhtbTIsIDUgLyogRyAqLyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcHNyYWQgICAg
ICB4bW0xLCAxNiAvKiBSICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBfX2FzbSBwYW5kICAgICAgIHhtbTMsIHhtbTUgLyogQiAqLyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcGFuZCAgICAgICB4bW0yLCB4bW02IC8q
IEcgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9fYXNtIHBh
bmQgICAgICAgeG1tMSwgeG1tNyAvKiBSICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBfX2FzbSBwb3IgICAgICAgIHhtbTMsIHhtbTIgLyogQkcgKi8gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX19hc20gcG9yICAgICAgICB4bW0x
LCB4bW0zIC8qIEJHUiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IF9fYXNtIHBhY2tzc2R3ICAgeG1tMCwgeG1tMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSBtb3ZkcXUgICAgIDBbZWR4XSwgeG1tMCAg
Lyogc3RvcmUgOCBwaXhlbHMgb2YgUkdCNTY1ICovICAgICAgICAgICAgICBcCi0gICAgX19hc20g
bGVhICAgICAgICBlZHgsIFtlZHggKyAxNl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICB9CisgICAgX19hc20gbW92ZHF1ICAgICAwW2VkeF0sIHhtbTAgLyog
c3RvcmUgOCBwaXhlbHMgb2YgUkdCNTY1ICovICAgICAgICAgICAgICBcCisgICAgX19hc20gbGVh
ICAgICAgICBlZHgsIFtlZHggKyAxNl19CiAKIC8vIDggcGl4ZWxzLgogLy8gOCBVViB2YWx1ZXMs
IG1peGVkIHdpdGggOCBZIHByb2R1Y2luZyA4IEFSR0IgKDMyIGJ5dGVzKS4KLV9fZGVjbHNwZWMo
bmFrZWQpCi12b2lkIEk0NDRUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVmLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB1X2J1ZiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogdl9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBZ
dXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgSTQ0NFRvQVJHQlJvd19TU1NFMygKKyAg
ICBjb25zdCB1aW50OCogeV9idWYsCisgICAgY29uc3QgdWludDgqIHVfYnVmLAorICAgIGNvbnN0
IHVpbnQ4KiB2X2J1ZiwKKyAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgY29uc3Qgc3RydWN0IFl1
dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAg
ICAgcHVzaCAgICAgICBlc2kKICAgICBwdXNoICAgICAgIGVkaQogICAgIHB1c2ggICAgICAgZWJ4
Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyAxMiArIDRdICAgLy8gWQotICAgIG1vdiAgICAg
ICAgZXNpLCBbZXNwICsgMTIgKyA4XSAgIC8vIFUKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCAr
IDEyICsgNF0gIC8vIFkKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDEyICsgOF0gIC8vIFUK
ICAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDEyICsgMTJdICAvLyBWCiAgICAgbW92ICAgICAg
ICBlZHgsIFtlc3AgKyAxMiArIDE2XSAgLy8gYXJnYgogICAgIG1vdiAgICAgICAgZWJ4LCBbZXNw
ICsgMTIgKyAyMF0gIC8vIHl1dmNvbnN0YW50cwogICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsg
MTIgKyAyNF0gIC8vIHdpZHRoCiAgICAgc3ViICAgICAgICBlZGksIGVzaQotICAgIHBjbXBlcWIg
ICAgeG1tNSwgeG1tNSAgICAgICAgICAgIC8vIGdlbmVyYXRlIDB4ZmZmZmZmZmYgZm9yIGFscGhh
CisgICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAvLyBnZW5lcmF0ZSAweGZmZmZmZmZmIGZvciBh
bHBoYQogCiAgY29udmVydGxvb3A6CiAgICAgUkVBRFlVVjQ0NApAQCAtMjU5MCwxOSArMjU4Nywx
OSBAQCB2b2lkIEk0NDRUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVmLAogCiAvLyA4
IHBpeGVscy4KIC8vIDQgVVYgdmFsdWVzIHVwc2FtcGxlZCB0byA4IFVWLCBtaXhlZCB3aXRoIDgg
WSBwcm9kdWNpbmcgOCBSR0IyNCAoMjQgYnl0ZXMpLgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQg
STQyMlRvUkdCMjRSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVmLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogdV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiB2X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9yZ2IyNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0
YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgSTQyMlRvUkdCMjRSb3dfU1NTRTMoCisgICAgY29u
c3QgdWludDgqIHlfYnVmLAorICAgIGNvbnN0IHVpbnQ4KiB1X2J1ZiwKKyAgICBjb25zdCB1aW50
OCogdl9idWYsCisgICAgdWludDgqIGRzdF9yZ2IyNCwKKyAgICBjb25zdCBzdHJ1Y3QgWXV2Q29u
c3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBw
dXNoICAgICAgIGVzaQogICAgIHB1c2ggICAgICAgZWRpCiAgICAgcHVzaCAgICAgICBlYngKLSAg
ICBtb3YgICAgICAgIGVheCwgW2VzcCArIDEyICsgNF0gICAvLyBZCi0gICAgbW92ICAgICAgICBl
c2ksIFtlc3AgKyAxMiArIDhdICAgLy8gVQorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgMTIg
KyA0XSAgLy8gWQorICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgMTIgKyA4XSAgLy8gVQogICAg
IG1vdiAgICAgICAgZWRpLCBbZXNwICsgMTIgKyAxMl0gIC8vIFYKICAgICBtb3YgICAgICAgIGVk
eCwgW2VzcCArIDEyICsgMTZdICAvLyBhcmdiCiAgICAgbW92ICAgICAgICBlYngsIFtlc3AgKyAx
MiArIDIwXSAgLy8geXV2Y29uc3RhbnRzCkBAIC0yNjI4LDMwICsyNjI1LDMwIEBAIHZvaWQgSTQy
MlRvUkdCMjRSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVmLAogCiAvLyA4IHBpeGVscwogLy8g
NCBVViB2YWx1ZXMgdXBzYW1wbGVkIHRvIDggVVYsIG1peGVkIHdpdGggOCBZIHByb2R1Y2luZyA4
IFJHQjU2NSAoMTYgYnl0ZXMpLgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgSTQyMlRvUkdCNTY1
Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiB1X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiB2X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2I1NjVfYnVm
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyog
eXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7Citf
X2RlY2xzcGVjKG5ha2VkKSB2b2lkIEk0MjJUb1JHQjU2NVJvd19TU1NFMygKKyAgICBjb25zdCB1
aW50OCogeV9idWYsCisgICAgY29uc3QgdWludDgqIHVfYnVmLAorICAgIGNvbnN0IHVpbnQ4KiB2
X2J1ZiwKKyAgICB1aW50OCogcmdiNTY1X2J1ZiwKKyAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3Rh
bnRzKiB5dXZjb25zdGFudHMsCisgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNo
ICAgICAgIGVzaQogICAgIHB1c2ggICAgICAgZWRpCiAgICAgcHVzaCAgICAgICBlYngKLSAgICBt
b3YgICAgICAgIGVheCwgW2VzcCArIDEyICsgNF0gICAvLyBZCi0gICAgbW92ICAgICAgICBlc2ks
IFtlc3AgKyAxMiArIDhdICAgLy8gVQorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgMTIgKyA0
XSAgLy8gWQorICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgMTIgKyA4XSAgLy8gVQogICAgIG1v
diAgICAgICAgZWRpLCBbZXNwICsgMTIgKyAxMl0gIC8vIFYKICAgICBtb3YgICAgICAgIGVkeCwg
W2VzcCArIDEyICsgMTZdICAvLyBhcmdiCiAgICAgbW92ICAgICAgICBlYngsIFtlc3AgKyAxMiAr
IDIwXSAgLy8geXV2Y29uc3RhbnRzCiAgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxMiArIDI0
XSAgLy8gd2lkdGgKICAgICBzdWIgICAgICAgIGVkaSwgZXNpCi0gICAgcGNtcGVxYiAgICB4bW01
LCB4bW01ICAgICAgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMDAwMDAxZgorICAgIHBjbXBlcWIgICAg
eG1tNSwgeG1tNSAgLy8gZ2VuZXJhdGUgbWFzayAweDAwMDAwMDFmCiAgICAgcHNybGQgICAgICB4
bW01LCAyNwotICAgIHBjbXBlcWIgICAgeG1tNiwgeG1tNiAgICAgICAvLyBnZW5lcmF0ZSBtYXNr
IDB4MDAwMDA3ZTAKKyAgICBwY21wZXFiICAgIHhtbTYsIHhtbTYgIC8vIGdlbmVyYXRlIG1hc2sg
MHgwMDAwMDdlMAogICAgIHBzcmxkICAgICAgeG1tNiwgMjYKICAgICBwc2xsZCAgICAgIHhtbTYs
IDUKLSAgICBwY21wZXFiICAgIHhtbTcsIHhtbTcgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweGZm
ZmZmODAwCisgICAgcGNtcGVxYiAgICB4bW03LCB4bW03ICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmZm
ZmY4MDAKICAgICBwc2xsZCAgICAgIHhtbTcsIDExCiAKICBjb252ZXJ0bG9vcDoKQEAgLTI2NzEs
MjUgKzI2NjgsMjUgQEAgdm9pZCBJNDIyVG9SR0I1NjVSb3dfU1NTRTMoY29uc3QgdWludDgqIHlf
YnVmLAogCiAvLyA4IHBpeGVscy4KIC8vIDQgVVYgdmFsdWVzIHVwc2FtcGxlZCB0byA4IFVWLCBt
aXhlZCB3aXRoIDggWSBwcm9kdWNpbmcgOCBBUkdCICgzMiBieXRlcykuCi1fX2RlY2xzcGVjKG5h
a2VkKQotdm9pZCBJNDIyVG9BUkdCUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdV9idWYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHZfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2
Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdp
ZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEk0MjJUb0FSR0JSb3dfU1NTRTMoCisgICAg
Y29uc3QgdWludDgqIHlfYnVmLAorICAgIGNvbnN0IHVpbnQ4KiB1X2J1ZiwKKyAgICBjb25zdCB1
aW50OCogdl9idWYsCisgICAgdWludDgqIGRzdF9hcmdiLAorICAgIGNvbnN0IHN0cnVjdCBZdXZD
b25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAg
IHB1c2ggICAgICAgZXNpCiAgICAgcHVzaCAgICAgICBlZGkKICAgICBwdXNoICAgICAgIGVieAot
ICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgMTIgKyA0XSAgIC8vIFkKLSAgICBtb3YgICAgICAg
IGVzaSwgW2VzcCArIDEyICsgOF0gICAvLyBVCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyAx
MiArIDRdICAvLyBZCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyAxMiArIDhdICAvLyBVCiAg
ICAgbW92ICAgICAgICBlZGksIFtlc3AgKyAxMiArIDEyXSAgLy8gVgogICAgIG1vdiAgICAgICAg
ZWR4LCBbZXNwICsgMTIgKyAxNl0gIC8vIGFyZ2IKICAgICBtb3YgICAgICAgIGVieCwgW2VzcCAr
IDEyICsgMjBdICAvLyB5dXZjb25zdGFudHMKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEy
ICsgMjRdICAvLyB3aWR0aAogICAgIHN1YiAgICAgICAgZWRpLCBlc2kKLSAgICBwY21wZXFiICAg
IHhtbTUsIHhtbTUgICAgICAgICAgIC8vIGdlbmVyYXRlIDB4ZmZmZmZmZmYgZm9yIGFscGhhCisg
ICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAvLyBnZW5lcmF0ZSAweGZmZmZmZmZmIGZvciBhbHBo
YQogCiAgY29udmVydGxvb3A6CiAgICAgUkVBRFlVVjQyMgpAQCAtMjcwOCwyMSArMjcwNSwyMSBA
QCB2b2lkIEk0MjJUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVmLAogCiAvLyA4IHBp
eGVscy4KIC8vIDQgVVYgdmFsdWVzIHVwc2FtcGxlZCB0byA4IFVWLCBtaXhlZCB3aXRoIDggWSBh
bmQgOCBBIHByb2R1Y2luZyA4IEFSR0IuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBJNDIyQWxw
aGFUb0FSR0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVmLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHVfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHZfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIGFfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1
dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEk0MjJBbHBoYVRvQVJHQlJvd19T
U1NFMygKKyAgICBjb25zdCB1aW50OCogeV9idWYsCisgICAgY29uc3QgdWludDgqIHVfYnVmLAor
ICAgIGNvbnN0IHVpbnQ4KiB2X2J1ZiwKKyAgICBjb25zdCB1aW50OCogYV9idWYsCisgICAgdWlu
dDgqIGRzdF9hcmdiLAorICAgIGNvbnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50
cywKKyAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCiAgICAg
cHVzaCAgICAgICBlZGkKICAgICBwdXNoICAgICAgIGVieAogICAgIHB1c2ggICAgICAgZWJwCi0g
ICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyAxNiArIDRdICAgLy8gWQotICAgIG1vdiAgICAgICAg
ZXNpLCBbZXNwICsgMTYgKyA4XSAgIC8vIFUKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDE2
ICsgNF0gIC8vIFkKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDE2ICsgOF0gIC8vIFUKICAg
ICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDE2ICsgMTJdICAvLyBWCiAgICAgbW92ICAgICAgICBl
YnAsIFtlc3AgKyAxNiArIDE2XSAgLy8gQQogICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgMTYg
KyAyMF0gIC8vIGFyZ2IKQEAgLTI3NDgsMjEgKzI3NDUsMjEgQEAgdm9pZCBJNDIyQWxwaGFUb0FS
R0JSb3dfU1NTRTMoY29uc3QgdWludDgqIHlfYnVmLAogCiAvLyA4IHBpeGVscy4KIC8vIDQgVVYg
dmFsdWVzIHVwc2FtcGxlZCB0byA4IFVWLCBtaXhlZCB3aXRoIDggWSBwcm9kdWNpbmcgOCBBUkdC
ICgzMiBieXRlcykuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBOVjEyVG9BUkdCUm93X1NTU0Uz
KGNvbnN0IHVpbnQ4KiB5X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogdXZfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25z
dGFudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVj
KG5ha2VkKSB2b2lkIE5WMTJUb0FSR0JSb3dfU1NTRTMoCisgICAgY29uc3QgdWludDgqIHlfYnVm
LAorICAgIGNvbnN0IHVpbnQ4KiB1dl9idWYsCisgICAgdWludDgqIGRzdF9hcmdiLAorICAgIGNv
bnN0IHN0cnVjdCBZdXZDb25zdGFudHMqIHl1dmNvbnN0YW50cywKKyAgICBpbnQgd2lkdGgpIHsK
ICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCiAgICAgcHVzaCAgICAgICBlYngKLSAgICBt
b3YgICAgICAgIGVheCwgW2VzcCArIDggKyA0XSAgIC8vIFkKLSAgICBtb3YgICAgICAgIGVzaSwg
W2VzcCArIDggKyA4XSAgIC8vIFVWCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0g
IC8vIFkKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDggKyA4XSAgLy8gVVYKICAgICBtb3Yg
ICAgICAgIGVkeCwgW2VzcCArIDggKyAxMl0gIC8vIGFyZ2IKICAgICBtb3YgICAgICAgIGVieCwg
W2VzcCArIDggKyAxNl0gIC8vIHl1dmNvbnN0YW50cwogICAgIG1vdiAgICAgICAgZWN4LCBbZXNw
ICsgOCArIDIwXSAgLy8gd2lkdGgKLSAgICBwY21wZXFiICAgIHhtbTUsIHhtbTUgICAgICAgICAg
IC8vIGdlbmVyYXRlIDB4ZmZmZmZmZmYgZm9yIGFscGhhCisgICAgcGNtcGVxYiAgICB4bW01LCB4
bW01ICAvLyBnZW5lcmF0ZSAweGZmZmZmZmZmIGZvciBhbHBoYQogCiAgY29udmVydGxvb3A6CiAg
ICAgUkVBRE5WMTIKQEAgLTI3ODAsMjEgKzI3NzcsMjEgQEAgdm9pZCBOVjEyVG9BUkdCUm93X1NT
U0UzKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKIAogLy8gOCBwaXhlbHMuCiAvLyA0IFVWIHZhbHVlcyB1
cHNhbXBsZWQgdG8gOCBVViwgbWl4ZWQgd2l0aCA4IFkgcHJvZHVjaW5nIDggQVJHQiAoMzIgYnl0
ZXMpLgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgTlYyMVRvQVJHQlJvd19TU1NFMyhjb25zdCB1
aW50OCogeV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHZ1X2J1
ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkg
dm9pZCBOVjIxVG9BUkdCUm93X1NTU0UzKAorICAgIGNvbnN0IHVpbnQ4KiB5X2J1ZiwKKyAgICBj
b25zdCB1aW50OCogdnVfYnVmLAorICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICBjb25zdCBzdHJ1
Y3QgWXV2Q29uc3RhbnRzKiB5dXZjb25zdGFudHMsCisgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNt
IHsKICAgICBwdXNoICAgICAgIGVzaQogICAgIHB1c2ggICAgICAgZWJ4Ci0gICAgbW92ICAgICAg
ICBlYXgsIFtlc3AgKyA4ICsgNF0gICAvLyBZCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4
ICsgOF0gICAvLyBWVQorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgOCArIDRdICAvLyBZCisg
ICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gIC8vIFZVCiAgICAgbW92ICAgICAgICBl
ZHgsIFtlc3AgKyA4ICsgMTJdICAvLyBhcmdiCiAgICAgbW92ICAgICAgICBlYngsIFtlc3AgKyA4
ICsgMTZdICAvLyB5dXZjb25zdGFudHMKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDggKyAy
MF0gIC8vIHdpZHRoCi0gICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAgICAgICAgICAvLyBnZW5l
cmF0ZSAweGZmZmZmZmZmIGZvciBhbHBoYQorICAgIHBjbXBlcWIgICAgeG1tNSwgeG1tNSAgLy8g
Z2VuZXJhdGUgMHhmZmZmZmZmZiBmb3IgYWxwaGEKIAogIGNvbnZlcnRsb29wOgogICAgIFJFQURO
VjIxCkBAIC0yODEyLDE4ICsyODA5LDE4IEBAIHZvaWQgTlYyMVRvQVJHQlJvd19TU1NFMyhjb25z
dCB1aW50OCogeV9idWYsCiAKIC8vIDggcGl4ZWxzLgogLy8gNCBZVVkyIHZhbHVlcyB3aXRoIDgg
WSBhbmQgNCBVViBwcm9kdWNpbmcgOCBBUkdCICgzMiBieXRlcykuCi1fX2RlY2xzcGVjKG5ha2Vk
KQotdm9pZCBZVVkyVG9BUkdCUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBZVVky
VG9BUkdCUm93X1NTU0UzKAorICAgIGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAgICB1aW50OCog
ZHN0X2FyZ2IsCisgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAor
ICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlYngKLSAgICBtb3Yg
ICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgIC8vIHl1eTIKLSAgICBtb3YgICAgICAgIGVkeCwg
W2VzcCArIDQgKyA4XSAgIC8vIGFyZ2IKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0
XSAgLy8geXV5MgorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDhdICAvLyBhcmdiCiAg
ICAgbW92ICAgICAgICBlYngsIFtlc3AgKyA0ICsgMTJdICAvLyB5dXZjb25zdGFudHMKICAgICBt
b3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRoCi0gICAgcGNtcGVxYiAgICB4
bW01LCB4bW01ICAgICAgICAgICAvLyBnZW5lcmF0ZSAweGZmZmZmZmZmIGZvciBhbHBoYQorICAg
IHBjbXBlcWIgICAgeG1tNSwgeG1tNSAgLy8gZ2VuZXJhdGUgMHhmZmZmZmZmZiBmb3IgYWxwaGEK
IAogIGNvbnZlcnRsb29wOgogICAgIFJFQURZVVkyCkBAIC0yODQwLDE4ICsyODM3LDE4IEBAIHZv
aWQgWVVZMlRvQVJHQlJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX3l1eTIsCiAKIC8vIDggcGl4
ZWxzLgogLy8gNCBVWVZZIHZhbHVlcyB3aXRoIDggWSBhbmQgNCBVViBwcm9kdWNpbmcgOCBBUkdC
ICgzMiBieXRlcykuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBVWVZZVG9BUkdCUm93X1NTU0Uz
KGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0
YW50cyogeXV2Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkg
eworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBVWVZZVG9BUkdCUm93X1NTU0UzKAorICAgIGNvbnN0
IHVpbnQ4KiBzcmNfdXl2eSwKKyAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgY29uc3Qgc3RydWN0
IFl1dkNvbnN0YW50cyogeXV2Y29uc3RhbnRzLAorICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7
CiAgICAgcHVzaCAgICAgICBlYngKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAg
IC8vIHV5dnkKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyA4XSAgIC8vIGFyZ2IKKyAg
ICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgLy8gdXl2eQorICAgIG1vdiAgICAgICAg
ZWR4LCBbZXNwICsgNCArIDhdICAvLyBhcmdiCiAgICAgbW92ICAgICAgICBlYngsIFtlc3AgKyA0
ICsgMTJdICAvLyB5dXZjb25zdGFudHMKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAx
Nl0gIC8vIHdpZHRoCi0gICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAgICAgICAgICAvLyBnZW5l
cmF0ZSAweGZmZmZmZmZmIGZvciBhbHBoYQorICAgIHBjbXBlcWIgICAgeG1tNSwgeG1tNSAgLy8g
Z2VuZXJhdGUgMHhmZmZmZmZmZiBmb3IgYWxwaGEKIAogIGNvbnZlcnRsb29wOgogICAgIFJFQURV
WVZZCkBAIC0yODY2LDE5ICsyODYzLDE5IEBAIHZvaWQgVVlWWVRvQVJHQlJvd19TU1NFMyhjb25z
dCB1aW50OCogc3JjX3V5dnksCiAgIH0KIH0KIAotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgSTQy
MlRvUkdCQVJvd19TU1NFMyhjb25zdCB1aW50OCogeV9idWYsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHVfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiB2X2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3JnYmEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IFl1dkNvbnN0YW50cyogeXV2
Y29uc3RhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNs
c3BlYyhuYWtlZCkgdm9pZCBJNDIyVG9SR0JBUm93X1NTU0UzKAorICAgIGNvbnN0IHVpbnQ4KiB5
X2J1ZiwKKyAgICBjb25zdCB1aW50OCogdV9idWYsCisgICAgY29uc3QgdWludDgqIHZfYnVmLAor
ICAgIHVpbnQ4KiBkc3RfcmdiYSwKKyAgICBjb25zdCBzdHJ1Y3QgWXV2Q29uc3RhbnRzKiB5dXZj
b25zdGFudHMsCisgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVz
aQogICAgIHB1c2ggICAgICAgZWRpCiAgICAgcHVzaCAgICAgICBlYngKLSAgICBtb3YgICAgICAg
IGVheCwgW2VzcCArIDEyICsgNF0gICAvLyBZCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyAx
MiArIDhdICAgLy8gVQorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgMTIgKyA0XSAgLy8gWQor
ICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgMTIgKyA4XSAgLy8gVQogICAgIG1vdiAgICAgICAg
ZWRpLCBbZXNwICsgMTIgKyAxMl0gIC8vIFYKICAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDEy
ICsgMTZdICAvLyBhcmdiCiAgICAgbW92ICAgICAgICBlYngsIFtlc3AgKyAxMiArIDIwXSAgLy8g
eXV2Y29uc3RhbnRzCkBAIC0yOTAzLDM5ICsyOTAwLDM4IEBAIHZvaWQgSTQyMlRvUkdCQVJvd19T
U1NFMyhjb25zdCB1aW50OCogeV9idWYsCiAKICNpZmRlZiBIQVNfSTQwMFRPQVJHQlJPV19TU0Uy
CiAvLyA4IHBpeGVscyBvZiBZIGNvbnZlcnRlZCB0byA4IHBpeGVscyBvZiBBUkdCICgzMiBieXRl
cykuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBJNDAwVG9BUkdCUm93X1NTRTIoY29uc3QgdWlu
dDgqIHlfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIHJnYl9idWYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQg
STQwMFRvQVJHQlJvd19TU0UyKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBt
b3YgICAgICAgIGVheCwgMHg0YTM1NGEzNSAgICAgIC8vIDRhMzUgPSAxODk5NyA9IHJvdW5kKDEu
MTY0ICogNjQgKiAyNTYpCisgICAgbW92ICAgICAgICBlYXgsIDB4NGEzNTRhMzUgIC8vIDRhMzUg
PSAxODk5NyA9IHJvdW5kKDEuMTY0ICogNjQgKiAyNTYpCiAgICAgbW92ZCAgICAgICB4bW0yLCBl
YXgKICAgICBwc2h1ZmQgICAgIHhtbTIsIHhtbTIsMAotICAgIG1vdiAgICAgICAgZWF4LCAweDA0
ODgwNDg4ICAgICAgLy8gMDQ4OCA9IDExNjAgPSByb3VuZCgxLjE2NCAqIDY0ICogMTYpCisgICAg
bW92ICAgICAgICBlYXgsIDB4MDQ4ODA0ODggIC8vIDA0ODggPSAxMTYwID0gcm91bmQoMS4xNjQg
KiA2NCAqIDE2KQogICAgIG1vdmQgICAgICAgeG1tMywgZWF4CiAgICAgcHNodWZkICAgICB4bW0z
LCB4bW0zLCAwCi0gICAgcGNtcGVxYiAgICB4bW00LCB4bW00ICAgICAgICAgICAvLyBnZW5lcmF0
ZSBtYXNrIDB4ZmYwMDAwMDAKKyAgICBwY21wZXFiICAgIHhtbTQsIHhtbTQgIC8vIGdlbmVyYXRl
IG1hc2sgMHhmZjAwMDAwMAogICAgIHBzbGxkICAgICAgeG1tNCwgMjQKIAotICAgIG1vdiAgICAg
ICAgZWF4LCBbZXNwICsgNF0gICAgICAgLy8gWQotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsg
OF0gICAgICAgLy8gcmdiCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gICAgICAvLyB3
aWR0aAorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIFkKKyAgICBtb3YgICAgICAg
IGVkeCwgW2VzcCArIDhdICAvLyByZ2IKKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAg
Ly8gd2lkdGgKIAogIGNvbnZlcnRsb29wOgotICAgIC8vIFN0ZXAgMTogU2NhbGUgWSBjb250cmli
dXRpb24gdG8gOCBHIHZhbHVlcy4gRyA9ICh5IC0gMTYpICogMS4xNjQKKyAgICAgICAgLy8gU3Rl
cCAxOiBTY2FsZSBZIGNvbnRyaWJ1dGlvbiB0byA4IEcgdmFsdWVzLiBHID0gKHkgLSAxNikgKiAx
LjE2NAogICAgIG1vdnEgICAgICAgeG1tMCwgcXdvcmQgcHRyIFtlYXhdCiAgICAgbGVhICAgICAg
ICBlYXgsIFtlYXggKyA4XQotICAgIHB1bnBja2xidyAgeG1tMCwgeG1tMCAgICAgICAgICAgLy8g
WS5ZCisgICAgcHVucGNrbGJ3ICB4bW0wLCB4bW0wICAvLyBZLlkKICAgICBwbXVsaHV3ICAgIHht
bTAsIHhtbTIKICAgICBwc3VidXN3ICAgIHhtbTAsIHhtbTMKICAgICBwc3JsdyAgICAgIHhtbTAs
IDYKLSAgICBwYWNrdXN3YiAgIHhtbTAsIHhtbTAgICAgICAgICAgIC8vIEcKKyAgICBwYWNrdXN3
YiAgIHhtbTAsIHhtbTAgICAgICAgIC8vIEcKIAogICAgIC8vIFN0ZXAgMjogV2VhdmUgaW50byBB
UkdCCi0gICAgcHVucGNrbGJ3ICB4bW0wLCB4bW0wICAgICAgICAgICAvLyBHRworICAgIHB1bnBj
a2xidyAgeG1tMCwgeG1tMCAgLy8gR0cKICAgICBtb3ZkcWEgICAgIHhtbTEsIHhtbTAKLSAgICBw
dW5wY2tsd2QgIHhtbTAsIHhtbTAgICAgICAgICAgIC8vIEJHUkEgZmlyc3QgNCBwaXhlbHMKLSAg
ICBwdW5wY2tod2QgIHhtbTEsIHhtbTEgICAgICAgICAgIC8vIEJHUkEgbmV4dCA0IHBpeGVscwor
ICAgIHB1bnBja2x3ZCAgeG1tMCwgeG1tMCAgLy8gQkdSQSBmaXJzdCA0IHBpeGVscworICAgIHB1
bnBja2h3ZCAgeG1tMSwgeG1tMSAgLy8gQkdSQSBuZXh0IDQgcGl4ZWxzCiAgICAgcG9yICAgICAg
ICB4bW0wLCB4bW00CiAgICAgcG9yICAgICAgICB4bW0xLCB4bW00CiAgICAgbW92ZHF1ICAgICBb
ZWR4XSwgeG1tMApAQCAtMjk1MSw0MSArMjk0Nyw0MCBAQCB2b2lkIEk0MDBUb0FSR0JSb3dfU1NF
Mihjb25zdCB1aW50OCogeV9idWYsCiAjaWZkZWYgSEFTX0k0MDBUT0FSR0JST1dfQVZYMgogLy8g
MTYgcGl4ZWxzIG9mIFkgY29udmVydGVkIHRvIDE2IHBpeGVscyBvZiBBUkdCICg2NCBieXRlcyku
CiAvLyBub3RlOiB2cHVucGNrbGJ3IG11dGF0ZXMgYW5kIHZwYWNrdXN3YiB1bm11dGF0ZXMuCi1f
X2RlY2xzcGVjKG5ha2VkKQotdm9pZCBJNDAwVG9BUkdCUm93X0FWWDIoY29uc3QgdWludDgqIHlf
YnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIHJnYl9idWYsCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgSTQwMFRv
QVJHQlJvd19BVlgyKGNvbnN0IHVpbnQ4KiB5X2J1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiByZ2JfYnVmLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAg
ICAgIGVheCwgMHg0YTM1NGEzNSAgICAgIC8vIDRhMzUgPSAxODk5NyA9IHJvdW5kKDEuMTY0ICog
NjQgKiAyNTYpCisgICAgbW92ICAgICAgICBlYXgsIDB4NGEzNTRhMzUgIC8vIDRhMzUgPSAxODk5
NyA9IHJvdW5kKDEuMTY0ICogNjQgKiAyNTYpCiAgICAgdm1vdmQgICAgICB4bW0yLCBlYXgKICAg
ICB2YnJvYWRjYXN0c3MgeW1tMiwgeG1tMgotICAgIG1vdiAgICAgICAgZWF4LCAweDA0ODgwNDg4
ICAgICAgLy8gMDQ4OCA9IDExNjAgPSByb3VuZCgxLjE2NCAqIDY0ICogMTYpCisgICAgbW92ICAg
ICAgICBlYXgsIDB4MDQ4ODA0ODggIC8vIDA0ODggPSAxMTYwID0gcm91bmQoMS4xNjQgKiA2NCAq
IDE2KQogICAgIHZtb3ZkICAgICAgeG1tMywgZWF4CiAgICAgdmJyb2FkY2FzdHNzIHltbTMsIHht
bTMKLSAgICB2cGNtcGVxYiAgIHltbTQsIHltbTQsIHltbTQgICAgIC8vIGdlbmVyYXRlIG1hc2sg
MHhmZjAwMDAwMAorICAgIHZwY21wZXFiICAgeW1tNCwgeW1tNCwgeW1tNCAgLy8gZ2VuZXJhdGUg
bWFzayAweGZmMDAwMDAwCiAgICAgdnBzbGxkICAgICB5bW00LCB5bW00LCAyNAogCi0gICAgbW92
ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgICAgICAvLyBZCi0gICAgbW92ICAgICAgICBlZHgsIFtl
c3AgKyA4XSAgICAgICAvLyByZ2IKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgICAg
IC8vIHdpZHRoCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gWQorICAgIG1vdiAg
ICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIHJnYgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsg
MTJdICAvLyB3aWR0aAogCiAgY29udmVydGxvb3A6Ci0gICAgLy8gU3RlcCAxOiBTY2FsZSBZIGNv
bnRyaXBvcnRidXRpb24gdG8gMTYgRyB2YWx1ZXMuIEcgPSAoeSAtIDE2KSAqIDEuMTY0CisgICAg
ICAgIC8vIFN0ZXAgMTogU2NhbGUgWSBjb250cmlwb3J0YnV0aW9uIHRvIDE2IEcgdmFsdWVzLiBH
ID0gKHkgLSAxNikgKiAxLjE2NAogICAgIHZtb3ZkcXUgICAgeG1tMCwgW2VheF0KICAgICBsZWEg
ICAgICAgIGVheCwgW2VheCArIDE2XQotICAgIHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhkOCAg
ICAgICAgICAgLy8gdnB1bnBja2xidyBtdXRhdGVzCi0gICAgdnB1bnBja2xidyB5bW0wLCB5bW0w
LCB5bW0wICAgICAgICAgICAvLyBZLlkKKyAgICB2cGVybXEgICAgIHltbTAsIHltbTAsIDB4ZDgg
IC8vIHZwdW5wY2tsYncgbXV0YXRlcworICAgIHZwdW5wY2tsYncgeW1tMCwgeW1tMCwgeW1tMCAg
Ly8gWS5ZCiAgICAgdnBtdWxodXcgICB5bW0wLCB5bW0wLCB5bW0yCiAgICAgdnBzdWJ1c3cgICB5
bW0wLCB5bW0wLCB5bW0zCiAgICAgdnBzcmx3ICAgICB5bW0wLCB5bW0wLCA2Ci0gICAgdnBhY2t1
c3diICB5bW0wLCB5bW0wLCB5bW0wICAgICAgICAgICAvLyBHLiAgc3RpbGwgbXV0YXRlZDogMzEy
MAorICAgIHZwYWNrdXN3YiAgeW1tMCwgeW1tMCwgeW1tMCAgICAgICAgLy8gRy4gIHN0aWxsIG11
dGF0ZWQ6IDMxMjAKIAogICAgIC8vIFRPRE8oZmJhcmNoYXJkKTogV2VhdmUgYWxwaGEgd2l0aCB1
bnBhY2suCiAgICAgLy8gU3RlcCAyOiBXZWF2ZSBpbnRvIEFSR0IKLSAgICB2cHVucGNrbGJ3IHlt
bTEsIHltbTAsIHltbTAgICAgICAgICAgIC8vIEdHIC0gbXV0YXRlcworICAgIHZwdW5wY2tsYncg
eW1tMSwgeW1tMCwgeW1tMCAgLy8gR0cgLSBtdXRhdGVzCiAgICAgdnBlcm1xICAgICB5bW0xLCB5
bW0xLCAweGQ4Ci0gICAgdnB1bnBja2x3ZCB5bW0wLCB5bW0xLCB5bW0xICAgICAgICAgICAvLyBH
R0dHIGZpcnN0IDggcGl4ZWxzCi0gICAgdnB1bnBja2h3ZCB5bW0xLCB5bW0xLCB5bW0xICAgICAg
ICAgICAvLyBHR0dHIG5leHQgOCBwaXhlbHMKKyAgICB2cHVucGNrbHdkIHltbTAsIHltbTEsIHlt
bTEgIC8vIEdHR0cgZmlyc3QgOCBwaXhlbHMKKyAgICB2cHVucGNraHdkIHltbTEsIHltbTEsIHlt
bTEgIC8vIEdHR0cgbmV4dCA4IHBpeGVscwogICAgIHZwb3IgICAgICAgeW1tMCwgeW1tMCwgeW1t
NAogICAgIHZwb3IgICAgICAgeW1tMSwgeW1tMSwgeW1tNAogICAgIHZtb3ZkcXUgICAgW2VkeF0s
IHltbTAKQEAgLTMwMDEsMTYgKzI5OTYsMTYgQEAgdm9pZCBJNDAwVG9BUkdCUm93X0FWWDIoY29u
c3QgdWludDgqIHlfYnVmLAogCiAjaWZkZWYgSEFTX01JUlJPUlJPV19TU1NFMwogLy8gU2h1ZmZs
ZSB0YWJsZSBmb3IgcmV2ZXJzaW5nIHRoZSBieXRlcy4KLXN0YXRpYyBjb25zdCB1dmVjOCBrU2h1
ZmZsZU1pcnJvciA9IHsKLSAgMTV1LCAxNHUsIDEzdSwgMTJ1LCAxMXUsIDEwdSwgOXUsIDh1LCA3
dSwgNnUsIDV1LCA0dSwgM3UsIDJ1LCAxdSwgMHUKLX07CitzdGF0aWMgY29uc3QgdXZlYzgga1No
dWZmbGVNaXJyb3IgPSB7MTV1LCAxNHUsIDEzdSwgMTJ1LCAxMXUsIDEwdSwgOXUsIDh1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDd1LCAgNnUsICA1dSwgIDR1LCAgM3Us
ICAydSwgIDF1LCAwdX07CiAKIC8vIFRPRE8oZmJhcmNoYXJkKTogUmVwbGFjZSBsZWEgd2l0aCAt
MTYgb2Zmc2V0LgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgTWlycm9yUm93X1NTU0UzKGNvbnN0
IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkg
dm9pZCBNaXJyb3JSb3dfU1NTRTMoY29uc3QgdWludDgqIHNyYywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICBl
YXgsIFtlc3AgKyA0XSAgIC8vIHNyYwotICAgIG1vdiAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8v
IGRzdAorICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjCisgICAgbW92ICAgICAg
IGVkeCwgW2VzcCArIDhdICAvLyBkc3QKICAgICBtb3YgICAgICAgZWN4LCBbZXNwICsgMTJdICAv
LyB3aWR0aAogICAgIG1vdmRxYSAgICB4bW01LCB4bW13b3JkIHB0ciBrU2h1ZmZsZU1pcnJvcgog
CkBAIC0zMDI3LDExICszMDIyLDEwIEBAIHZvaWQgTWlycm9yUm93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgewogI2VuZGlmICAvLyBIQVNfTUlSUk9SUk9X
X1NTU0UzCiAKICNpZmRlZiBIQVNfTUlSUk9SUk9XX0FWWDIKLV9fZGVjbHNwZWMobmFrZWQpCi12
b2lkIE1pcnJvclJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0
aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBNaXJyb3JSb3dfQVZYMihjb25zdCB1aW50OCog
c3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICBl
YXgsIFtlc3AgKyA0XSAgIC8vIHNyYwotICAgIG1vdiAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8v
IGRzdAorICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjCisgICAgbW92ICAgICAg
IGVkeCwgW2VzcCArIDhdICAvLyBkc3QKICAgICBtb3YgICAgICAgZWN4LCBbZXNwICsgMTJdICAv
LyB3aWR0aAogICAgIHZicm9hZGNhc3RmMTI4IHltbTUsIHhtbXdvcmQgcHRyIGtTaHVmZmxlTWly
cm9yCiAKQEAgLTMwNTEsMTcgKzMwNDUsMTcgQEAgdm9pZCBNaXJyb3JSb3dfQVZYMihjb25zdCB1
aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpIHsKIAogI2lmZGVmIEhBU19NSVJST1JV
VlJPV19TU1NFMwogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgcmV2ZXJzaW5nIHRoZSBieXRlcyBvZiBV
ViBjaGFubmVscy4KLXN0YXRpYyBjb25zdCB1dmVjOCBrU2h1ZmZsZU1pcnJvclVWID0gewotICAx
NHUsIDEydSwgMTB1LCA4dSwgNnUsIDR1LCAydSwgMHUsIDE1dSwgMTN1LCAxMXUsIDl1LCA3dSwg
NXUsIDN1LCAxdQotfTsKK3N0YXRpYyBjb25zdCB1dmVjOCBrU2h1ZmZsZU1pcnJvclVWID0gezE0
dSwgMTJ1LCAxMHUsIDh1LCA2dSwgNHUsIDJ1LCAwdSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDE1dSwgMTN1LCAxMXUsIDl1LCA3dSwgNXUsIDN1LCAxdX07CiAKLV9f
ZGVjbHNwZWMobmFrZWQpCi12b2lkIE1pcnJvclVWUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMs
IHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQg
d2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgTWlycm9yVVZSb3dfU1NTRTMoY29uc3Qg
dWludDgqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3
aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgIGVkaQotICAgIG1vdiAgICAgICBlYXgs
IFtlc3AgKyA0ICsgNF0gICAvLyBzcmMKLSAgICBtb3YgICAgICAgZWR4LCBbZXNwICsgNCArIDhd
ICAgLy8gZHN0X3UKKyAgICBtb3YgICAgICAgZWF4LCBbZXNwICsgNCArIDRdICAvLyBzcmMKKyAg
ICBtb3YgICAgICAgZWR4LCBbZXNwICsgNCArIDhdICAvLyBkc3RfdQogICAgIG1vdiAgICAgICBl
ZGksIFtlc3AgKyA0ICsgMTJdICAvLyBkc3RfdgogICAgIG1vdiAgICAgICBlY3gsIFtlc3AgKyA0
ICsgMTZdICAvLyB3aWR0aAogICAgIG1vdmRxYSAgICB4bW0xLCB4bW13b3JkIHB0ciBrU2h1ZmZs
ZU1pcnJvclVWCkBAIC0zMDg1LDExICszMDc5LDEyIEBAIHZvaWQgTWlycm9yVVZSb3dfU1NTRTMo
Y29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsCiAjZW5kaWYgIC8v
IEhBU19NSVJST1JVVlJPV19TU1NFMwogCiAjaWZkZWYgSEFTX0FSR0JNSVJST1JST1dfU1NFMgot
X19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQVJHQk1pcnJvclJvd19TU0UyKGNvbnN0IHVpbnQ4KiBz
cmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdC
TWlycm9yUm93X1NTRTIoY29uc3QgdWludDgqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICBl
YXgsIFtlc3AgKyA0XSAgIC8vIHNyYwotICAgIG1vdiAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8v
IGRzdAorICAgIG1vdiAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjCisgICAgbW92ICAgICAg
IGVkeCwgW2VzcCArIDhdICAvLyBkc3QKICAgICBtb3YgICAgICAgZWN4LCBbZXNwICsgMTJdICAv
LyB3aWR0aAogICAgIGxlYSAgICAgICBlYXgsIFtlYXggLSAxNiArIGVjeCAqIDRdICAvLyBsYXN0
IDQgcGl4ZWxzLgogCkBAIC0zMTA4LDE1ICszMTAzLDE0IEBAIHZvaWQgQVJHQk1pcnJvclJvd19T
U0UyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgewogCiAjaWZkZWYg
SEFTX0FSR0JNSVJST1JST1dfQVZYMgogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgcmV2ZXJzaW5nIHRo
ZSBieXRlcy4KLXN0YXRpYyBjb25zdCB1bHZlYzMyIGtBUkdCU2h1ZmZsZU1pcnJvcl9BVlgyID0g
ewotICA3dSwgNnUsIDV1LCA0dSwgM3UsIDJ1LCAxdSwgMHUKLX07CitzdGF0aWMgY29uc3QgdWx2
ZWMzMiBrQVJHQlNodWZmbGVNaXJyb3JfQVZYMiA9IHs3dSwgNnUsIDV1LCA0dSwgM3UsIDJ1LCAx
dSwgMHV9OwogCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCTWlycm9yUm93X0FWWDIoY29u
c3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2Vk
KSB2b2lkIEFSR0JNaXJyb3JSb3dfQVZYMihjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7Ci0gICAg
bW92ICAgICAgIGVheCwgW2VzcCArIDRdICAgLy8gc3JjCi0gICAgbW92ICAgICAgIGVkeCwgW2Vz
cCArIDhdICAgLy8gZHN0CisgICAgbW92ICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmMKKyAg
ICBtb3YgICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdAogICAgIG1vdiAgICAgICBlY3gsIFtl
c3AgKyAxMl0gIC8vIHdpZHRoCiAgICAgdm1vdmRxdSAgIHltbTUsIHltbXdvcmQgcHRyIGtBUkdC
U2h1ZmZsZU1pcnJvcl9BVlgyCiAKQEAgLTMxMzMsMTYgKzMxMjcsMTcgQEAgdm9pZCBBUkdCTWly
cm9yUm93X0FWWDIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CiAj
ZW5kaWYgIC8vIEhBU19BUkdCTUlSUk9SUk9XX0FWWDIKIAogI2lmZGVmIEhBU19TUExJVFVWUk9X
X1NTRTIKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFNwbGl0VVZSb3dfU1NFMihjb25zdCB1aW50
OCogc3JjX3V2LCB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwKLSAgICAgICAgICAgICAgICAg
ICAgIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBTcGxpdFVWUm93X1NTRTIo
Y29uc3QgdWludDgqIHNyY191diwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAgICAg
IGVheCwgW2VzcCArIDQgKyA0XSAgICAvLyBzcmNfdXYKLSAgICBtb3YgICAgICAgIGVkeCwgW2Vz
cCArIDQgKyA4XSAgICAvLyBkc3RfdQotICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgNCArIDEy
XSAgIC8vIGRzdF92Ci0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA0ICsgMTZdICAgLy8gd2lk
dGgKLSAgICBwY21wZXFiICAgIHhtbTUsIHhtbTUgICAgICAgICAgICAvLyBnZW5lcmF0ZSBtYXNr
IDB4MDBmZjAwZmYKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgLy8gc3JjX3V2
CisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA0ICsgOF0gIC8vIGRzdF91CisgICAgbW92ICAg
ICAgICBlZGksIFtlc3AgKyA0ICsgMTJdICAvLyBkc3RfdgorICAgIG1vdiAgICAgICAgZWN4LCBb
ZXNwICsgNCArIDE2XSAgLy8gd2lkdGgKKyAgICBwY21wZXFiICAgIHhtbTUsIHhtbTUgIC8vIGdl
bmVyYXRlIG1hc2sgMHgwMGZmMDBmZgogICAgIHBzcmx3ICAgICAgeG1tNSwgOAogICAgIHN1YiAg
ICAgICAgZWRpLCBlZHgKIApAQCAtMzE1MiwxMCArMzE0NywxMCBAQCB2b2lkIFNwbGl0VVZSb3df
U1NFMihjb25zdCB1aW50OCogc3JjX3V2LCB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwKICAg
ICBsZWEgICAgICAgIGVheCwgIFtlYXggKyAzMl0KICAgICBtb3ZkcWEgICAgIHhtbTIsIHhtbTAK
ICAgICBtb3ZkcWEgICAgIHhtbTMsIHhtbTEKLSAgICBwYW5kICAgICAgIHhtbTAsIHhtbTUgICAv
LyBldmVuIGJ5dGVzCisgICAgcGFuZCAgICAgICB4bW0wLCB4bW01ICAvLyBldmVuIGJ5dGVzCiAg
ICAgcGFuZCAgICAgICB4bW0xLCB4bW01CiAgICAgcGFja3Vzd2IgICB4bW0wLCB4bW0xCi0gICAg
cHNybHcgICAgICB4bW0yLCA4ICAgICAgLy8gb2RkIGJ5dGVzCisgICAgcHNybHcgICAgICB4bW0y
LCA4ICAvLyBvZGQgYnl0ZXMKICAgICBwc3JsdyAgICAgIHhtbTMsIDgKICAgICBwYWNrdXN3YiAg
IHhtbTIsIHhtbTMKICAgICBtb3ZkcXUgICAgIFtlZHhdLCB4bW0wCkBAIC0zMTcyLDE2ICszMTY3
LDE3IEBAIHZvaWQgU3BsaXRVVlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdXYsIHVpbnQ4KiBk
c3RfdSwgdWludDgqIGRzdF92LAogI2VuZGlmICAvLyBIQVNfU1BMSVRVVlJPV19TU0UyCiAKICNp
ZmRlZiBIQVNfU1BMSVRVVlJPV19BVlgyCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBTcGxpdFVW
Um93X0FWWDIoY29uc3QgdWludDgqIHNyY191diwgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3Ys
Ci0gICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZv
aWQgU3BsaXRVVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfdXYsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAg
ZWRpCi0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gICAgLy8gc3JjX3V2Ci0gICAg
bW92ICAgICAgICBlZHgsIFtlc3AgKyA0ICsgOF0gICAgLy8gZHN0X3UKLSAgICBtb3YgICAgICAg
IGVkaSwgW2VzcCArIDQgKyAxMl0gICAvLyBkc3RfdgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNw
ICsgNCArIDE2XSAgIC8vIHdpZHRoCi0gICAgdnBjbXBlcWIgICB5bW01LCB5bW01LCB5bW01ICAg
ICAgLy8gZ2VuZXJhdGUgbWFzayAweDAwZmYwMGZmCisgICAgbW92ICAgICAgICBlYXgsIFtlc3Ag
KyA0ICsgNF0gIC8vIHNyY191dgorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDhdICAv
LyBkc3RfdQorICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgNCArIDEyXSAgLy8gZHN0X3YKKyAg
ICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRoCisgICAgdnBjbXBlcWIg
ICB5bW01LCB5bW01LCB5bW01ICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDBmZjAwZmYKICAgICB2cHNy
bHcgICAgIHltbTUsIHltbTUsIDgKICAgICBzdWIgICAgICAgIGVkaSwgZWR4CiAKQEAgLTMxODks
OSArMzE4NSw5IEBAIHZvaWQgU3BsaXRVVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfdXYsIHVp
bnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LAogICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0KICAg
ICB2bW92ZHF1ICAgIHltbTEsIFtlYXggKyAzMl0KICAgICBsZWEgICAgICAgIGVheCwgIFtlYXgg
KyA2NF0KLSAgICB2cHNybHcgICAgIHltbTIsIHltbTAsIDggICAgICAvLyBvZGQgYnl0ZXMKKyAg
ICB2cHNybHcgICAgIHltbTIsIHltbTAsIDggIC8vIG9kZCBieXRlcwogICAgIHZwc3JsdyAgICAg
eW1tMywgeW1tMSwgOAotICAgIHZwYW5kICAgICAgeW1tMCwgeW1tMCwgeW1tNSAgIC8vIGV2ZW4g
Ynl0ZXMKKyAgICB2cGFuZCAgICAgIHltbTAsIHltbTAsIHltbTUgIC8vIGV2ZW4gYnl0ZXMKICAg
ICB2cGFuZCAgICAgIHltbTEsIHltbTEsIHltbTUKICAgICB2cGFja3Vzd2IgIHltbTAsIHltbTAs
IHltbTEKICAgICB2cGFja3Vzd2IgIHltbTIsIHltbTIsIHltbTMKQEAgLTMyMTEsMjQgKzMyMDcs
MjUgQEAgdm9pZCBTcGxpdFVWUm93X0FWWDIoY29uc3QgdWludDgqIHNyY191diwgdWludDgqIGRz
dF91LCB1aW50OCogZHN0X3YsCiAjZW5kaWYgIC8vIEhBU19TUExJVFVWUk9XX0FWWDIKIAogI2lm
ZGVmIEhBU19NRVJHRVVWUk9XX1NTRTIKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIE1lcmdlVVZS
b3dfU1NFMihjb25zdCB1aW50OCogc3JjX3UsIGNvbnN0IHVpbnQ4KiBzcmNfdiwgdWludDgqIGRz
dF91diwKLSAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtl
ZCkgdm9pZCBNZXJnZVVWUm93X1NTRTIoY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91diwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAg
cHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgICAvLyBz
cmNfdQotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDhdICAgIC8vIHNyY192Ci0gICAg
bW92ICAgICAgICBlZGksIFtlc3AgKyA0ICsgMTJdICAgLy8gZHN0X3V2Ci0gICAgbW92ICAgICAg
ICBlY3gsIFtlc3AgKyA0ICsgMTZdICAgLy8gd2lkdGgKKyAgICBtb3YgICAgICAgIGVheCwgW2Vz
cCArIDQgKyA0XSAgLy8gc3JjX3UKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyA4XSAg
Ly8gc3JjX3YKKyAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDQgKyAxMl0gIC8vIGRzdF91dgor
ICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgNCArIDE2XSAgLy8gd2lkdGgKICAgICBzdWIgICAg
ICAgIGVkeCwgZWF4CiAKICAgY29udmVydGxvb3A6Ci0gICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4
XSAgICAgIC8vIHJlYWQgMTYgVSdzCisgICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgLy8gcmVh
ZCAxNiBVJ3MKICAgICBtb3ZkcXUgICAgIHhtbTEsIFtlYXggKyBlZHhdICAvLyBhbmQgMTYgVidz
CiAgICAgbGVhICAgICAgICBlYXgsICBbZWF4ICsgMTZdCiAgICAgbW92ZHFhICAgICB4bW0yLCB4
bW0wCi0gICAgcHVucGNrbGJ3ICB4bW0wLCB4bW0xICAgICAgIC8vIGZpcnN0IDggVVYgcGFpcnMK
LSAgICBwdW5wY2toYncgIHhtbTIsIHhtbTEgICAgICAgLy8gbmV4dCA4IFVWIHBhaXJzCisgICAg
cHVucGNrbGJ3ICB4bW0wLCB4bW0xICAvLyBmaXJzdCA4IFVWIHBhaXJzCisgICAgcHVucGNraGJ3
ICB4bW0yLCB4bW0xICAvLyBuZXh0IDggVVYgcGFpcnMKICAgICBtb3ZkcXUgICAgIFtlZGldLCB4
bW0wCiAgICAgbW92ZHF1ICAgICBbZWRpICsgMTZdLCB4bW0yCiAgICAgbGVhICAgICAgICBlZGks
IFtlZGkgKyAzMl0KQEAgLTMyNDIsMjQgKzMyMzksMjUgQEAgdm9pZCBNZXJnZVVWUm93X1NTRTIo
Y29uc3QgdWludDgqIHNyY191LCBjb25zdCB1aW50OCogc3JjX3YsIHVpbnQ4KiBkc3RfdXYsCiAj
ZW5kaWYgIC8vICBIQVNfTUVSR0VVVlJPV19TU0UyCiAKICNpZmRlZiBIQVNfTUVSR0VVVlJPV19B
VlgyCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBNZXJnZVVWUm93X0FWWDIoY29uc3QgdWludDgq
IHNyY191LCBjb25zdCB1aW50OCogc3JjX3YsIHVpbnQ4KiBkc3RfdXYsCi0gICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgTWVyZ2VVVlJvd19B
VlgyKGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfdXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZWRpCi0gICAg
bW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gICAgLy8gc3JjX3UKLSAgICBtb3YgICAgICAg
IGVkeCwgW2VzcCArIDQgKyA4XSAgICAvLyBzcmNfdgotICAgIG1vdiAgICAgICAgZWRpLCBbZXNw
ICsgNCArIDEyXSAgIC8vIGRzdF91dgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgNCArIDE2
XSAgIC8vIHdpZHRoCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gIC8vIHNyY191
CisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA0ICsgOF0gIC8vIHNyY192CisgICAgbW92ICAg
ICAgICBlZGksIFtlc3AgKyA0ICsgMTJdICAvLyBkc3RfdXYKKyAgICBtb3YgICAgICAgIGVjeCwg
W2VzcCArIDQgKyAxNl0gIC8vIHdpZHRoCiAgICAgc3ViICAgICAgICBlZHgsIGVheAogCiAgIGNv
bnZlcnRsb29wOgotICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0gICAgICAgICAgIC8vIHJlYWQg
MzIgVSdzCi0gICAgdm1vdmRxdSAgICB5bW0xLCBbZWF4ICsgZWR4XSAgICAgLy8gYW5kIDMyIFYn
cworICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0gIC8vIHJlYWQgMzIgVSdzCisgICAgdm1vdmRx
dSAgICB5bW0xLCBbZWF4ICsgZWR4XSAgLy8gYW5kIDMyIFYncwogICAgIGxlYSAgICAgICAgZWF4
LCAgW2VheCArIDMyXQotICAgIHZwdW5wY2tsYncgeW1tMiwgeW1tMCwgeW1tMSAgICAgIC8vIGxv
dyAxNiBVViBwYWlycy4gbXV0YXRlZCBxcXdvcmQgMCwyCi0gICAgdnB1bnBja2hidyB5bW0wLCB5
bW0wLCB5bW0xICAgICAgLy8gaGlnaCAxNiBVViBwYWlycy4gbXV0YXRlZCBxcXdvcmQgMSwzCi0g
ICAgdmV4dHJhY3RmMTI4IFtlZGldLCB5bW0yLCAwICAgICAgIC8vIGJ5dGVzIDAuLjE1CisgICAg
dnB1bnBja2xidyB5bW0yLCB5bW0wLCB5bW0xICAvLyBsb3cgMTYgVVYgcGFpcnMuIG11dGF0ZWQg
cXF3b3JkIDAsMgorICAgIHZwdW5wY2toYncgeW1tMCwgeW1tMCwgeW1tMSAgLy8gaGlnaCAxNiBV
ViBwYWlycy4gbXV0YXRlZCBxcXdvcmQgMSwzCisgICAgdmV4dHJhY3RmMTI4IFtlZGldLCB5bW0y
LCAwICAvLyBieXRlcyAwLi4xNQogICAgIHZleHRyYWN0ZjEyOCBbZWRpICsgMTZdLCB5bW0wLCAw
ICAvLyBieXRlcyAxNi4uMzEKICAgICB2ZXh0cmFjdGYxMjggW2VkaSArIDMyXSwgeW1tMiwgMSAg
Ly8gYnl0ZXMgMzIuLjQ3CiAgICAgdmV4dHJhY3RmMTI4IFtlZGkgKyA0OF0sIHltbTAsIDEgIC8v
IGJ5dGVzIDQ3Li42MwpAQCAtMzI3NiwxMSArMzI3NCwxMCBAQCB2b2lkIE1lcmdlVVZSb3dfQVZY
Mihjb25zdCB1aW50OCogc3JjX3UsIGNvbnN0IHVpbnQ4KiBzcmNfdiwgdWludDgqIGRzdF91diwK
IAogI2lmZGVmIEhBU19DT1BZUk9XX1NTRTIKIC8vIENvcHlSb3cgY29weXMgJ2NvdW50JyBieXRl
cyB1c2luZyBhIDE2IGJ5dGUgbG9hZC9zdG9yZSwgMzIgYnl0ZXMgYXQgdGltZS4KLV9fZGVjbHNw
ZWMobmFrZWQpCi12b2lkIENvcHlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0
LCBpbnQgY291bnQpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQ29weVJvd19TU0UyKGNvbnN0
IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCBjb3VudCkgewogICBfX2FzbSB7Ci0gICAgbW92
ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8vIHNyYwotICAgIG1vdiAgICAgICAgZWR4LCBbZXNw
ICsgOF0gICAvLyBkc3QKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmMKKyAg
ICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAvLyBkc3QKICAgICBtb3YgICAgICAgIGVjeCwg
W2VzcCArIDEyXSAgLy8gY291bnQKICAgICB0ZXN0ICAgICAgIGVheCwgMTUKICAgICBqbmUgICAg
ICAgIGNvbnZlcnRsb29wdQpAQCAtMzMxNCwxMSArMzMxMSwxMCBAQCB2b2lkIENvcHlSb3dfU1NF
Mihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgY291bnQpIHsKIAogI2lmZGVmIEhB
U19DT1BZUk9XX0FWWAogLy8gQ29weVJvdyBjb3B5cyAnY291bnQnIGJ5dGVzIHVzaW5nIGEgMzIg
Ynl0ZSBsb2FkL3N0b3JlLCA2NCBieXRlcyBhdCB0aW1lLgotX19kZWNsc3BlYyhuYWtlZCkKLXZv
aWQgQ29weVJvd19BVlgoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IGNvdW50KSB7
CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIENvcHlSb3dfQVZYKGNvbnN0IHVpbnQ4KiBzcmMsIHVp
bnQ4KiBkc3QsIGludCBjb3VudCkgewogICBfX2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgsIFtl
c3AgKyA0XSAgIC8vIHNyYwotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAvLyBkc3QK
KyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmMKKyAgICBtb3YgICAgICAgIGVk
eCwgW2VzcCArIDhdICAvLyBkc3QKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8g
Y291bnQKIAogICBjb252ZXJ0bG9vcDoKQEAgLTMzMzgsMTMgKzMzMzQsMTIgQEAgdm9pZCBDb3B5
Um93X0FWWChjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgY291bnQpIHsKICNlbmRp
ZiAgLy8gSEFTX0NPUFlST1dfQVZYCiAKIC8vIE11bHRpcGxlIG9mIDEuCi1fX2RlY2xzcGVjKG5h
a2VkKQotdm9pZCBDb3B5Um93X0VSTVMoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50
IGNvdW50KSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIENvcHlSb3dfRVJNUyhjb25zdCB1aW50
OCogc3JjLCB1aW50OCogZHN0LCBpbnQgY291bnQpIHsKICAgX19hc20gewogICAgIG1vdiAgICAg
ICAgZWF4LCBlc2kKICAgICBtb3YgICAgICAgIGVkeCwgZWRpCi0gICAgbW92ICAgICAgICBlc2ks
IFtlc3AgKyA0XSAgIC8vIHNyYwotICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgOF0gICAvLyBk
c3QKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDRdICAvLyBzcmMKKyAgICBtb3YgICAgICAg
IGVkaSwgW2VzcCArIDhdICAvLyBkc3QKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAg
Ly8gY291bnQKICAgICByZXAgbW92c2IKICAgICBtb3YgICAgICAgIGVkaSwgZWR4CkBAIC0zMzU1
LDE1ICszMzUwLDE2IEBAIHZvaWQgQ29weVJvd19FUk1TKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4
KiBkc3QsIGludCBjb3VudCkgewogCiAjaWZkZWYgSEFTX0FSR0JDT1BZQUxQSEFST1dfU1NFMgog
Ly8gd2lkdGggaW4gcGl4ZWxzCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCQ29weUFscGhh
Um93X1NTRTIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRzdCwgaW50IHdpZHRoKSB7CitfX2Rl
Y2xzcGVjKG5ha2VkKSB2b2lkIEFSR0JDb3B5QWxwaGFSb3dfU1NFMihjb25zdCB1aW50OCogc3Jj
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0
aCkgewogICBfX2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8vIHNyYwot
ICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAvLyBkc3QKKyAgICBtb3YgICAgICAgIGVh
eCwgW2VzcCArIDRdICAvLyBzcmMKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAvLyBk
c3QKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8gY291bnQKLSAgICBwY21wZXFi
ICAgIHhtbTAsIHhtbTAgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweGZmMDAwMDAwCisgICAgcGNt
cGVxYiAgICB4bW0wLCB4bW0wICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMDAwMDAKICAgICBwc2xs
ZCAgICAgIHhtbTAsIDI0Ci0gICAgcGNtcGVxYiAgICB4bW0xLCB4bW0xICAgICAgIC8vIGdlbmVy
YXRlIG1hc2sgMHgwMGZmZmZmZgorICAgIHBjbXBlcWIgICAgeG1tMSwgeG1tMSAgLy8gZ2VuZXJh
dGUgbWFzayAweDAwZmZmZmZmCiAgICAgcHNybGQgICAgICB4bW0xLCA4CiAKICAgY29udmVydGxv
b3A6CkBAIC0zMzkxLDE0ICszMzg3LDE1IEBAIHZvaWQgQVJHQkNvcHlBbHBoYVJvd19TU0UyKGNv
bnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBkc3QsIGludCB3aWR0aCkgewogCiAjaWZkZWYgSEFTX0FS
R0JDT1BZQUxQSEFST1dfQVZYMgogLy8gd2lkdGggaW4gcGl4ZWxzCi1fX2RlY2xzcGVjKG5ha2Vk
KQotdm9pZCBBUkdCQ29weUFscGhhUm93X0FWWDIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRz
dCwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEFSR0JDb3B5QWxwaGFSb3df
QVZYMihjb25zdCB1aW50OCogc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgs
IFtlc3AgKyA0XSAgIC8vIHNyYwotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAvLyBk
c3QKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmMKKyAgICBtb3YgICAgICAg
IGVkeCwgW2VzcCArIDhdICAvLyBkc3QKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAg
Ly8gY291bnQKICAgICB2cGNtcGVxYiAgIHltbTAsIHltbTAsIHltbTAKLSAgICB2cHNybGQgICAg
IHltbTAsIHltbTAsIDggICAgLy8gZ2VuZXJhdGUgbWFzayAweDAwZmZmZmZmCisgICAgdnBzcmxk
ICAgICB5bW0wLCB5bW0wLCA4ICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDBmZmZmZmYKIAogICBjb252
ZXJ0bG9vcDoKICAgICB2bW92ZHF1ICAgIHltbTEsIFtlYXhdCkBAIC0zNDIwLDExICszNDE3LDEy
IEBAIHZvaWQgQVJHQkNvcHlBbHBoYVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4KiBk
c3QsIGludCB3aWR0aCkgewogCiAjaWZkZWYgSEFTX0FSR0JFWFRSQUNUQUxQSEFST1dfU1NFMgog
Ly8gd2lkdGggaW4gcGl4ZWxzCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCRXh0cmFjdEFs
cGhhUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2EsIGludCB3aWR0
aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCRXh0cmFjdEFscGhhUm93X1NTRTIoY29u
c3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAg
IGVheCwgW2VzcCArIDRdICAgLy8gc3JjX2FyZ2IKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCAr
IDhdICAgLy8gZHN0X2EKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfYXJn
YgorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdF9hCiAgICAgbW92ICAgICAg
ICBlY3gsIFtlc3AgKyAxMl0gIC8vIHdpZHRoCiAKICAgZXh0cmFjdGxvb3A6CkBAIC0zNDQ3LDEx
ICszNDQ1LDEyIEBAIHZvaWQgQVJHQkV4dHJhY3RBbHBoYVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwgdWludDgqIGRzdF9hLCBpbnQgd2lkdGgpIHsKIAogI2lmZGVmIEhBU19BUkdCRVhU
UkFDVEFMUEhBUk9XX0FWWDIKIC8vIHdpZHRoIGluIHBpeGVscwotX19kZWNsc3BlYyhuYWtlZCkK
LXZvaWQgQVJHQkV4dHJhY3RBbHBoYVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWlu
dDgqIGRzdF9hLCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQkV4dHJh
Y3RBbHBoYVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2Fz
bSB7Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8vIHNyY19hcmdiCi0gICAgbW92
ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRzdF9hCisgICAgbW92ICAgICAgICBlYXgsIFtl
c3AgKyA0XSAgLy8gc3JjX2FyZ2IKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAvLyBk
c3RfYQogICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyB3aWR0aAogICAgIHZtb3Zk
cWEgICAgeW1tNCwgeW1td29yZCBwdHIga1Blcm1kQVJHQlRvWV9BVlgKIApAQCAtMzQ4MiwxNSAr
MzQ4MSwxNiBAQCB2b2lkIEFSR0JFeHRyYWN0QWxwaGFSb3dfQVZYMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHVpbnQ4KiBkc3RfYSwgaW50IHdpZHRoKSB7CiAKICNpZmRlZiBIQVNfQVJHQkNPUFlZ
VE9BTFBIQVJPV19TU0UyCiAvLyB3aWR0aCBpbiBwaXhlbHMKLV9fZGVjbHNwZWMobmFrZWQpCi12
b2lkIEFSR0JDb3B5WVRvQWxwaGFSb3dfU1NFMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0
LCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQkNvcHlZVG9BbHBoYVJv
d19TU0UyKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAg
ICAgIGVheCwgW2VzcCArIDRdICAgLy8gc3JjCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4
XSAgIC8vIGRzdAorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIHNyYworICAgIG1v
diAgICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdAogICAgIG1vdiAgICAgICAgZWN4LCBbZXNw
ICsgMTJdICAvLyBjb3VudAotICAgIHBjbXBlcWIgICAgeG1tMCwgeG1tMCAgICAgICAvLyBnZW5l
cmF0ZSBtYXNrIDB4ZmYwMDAwMDAKKyAgICBwY21wZXFiICAgIHhtbTAsIHhtbTAgIC8vIGdlbmVy
YXRlIG1hc2sgMHhmZjAwMDAwMAogICAgIHBzbGxkICAgICAgeG1tMCwgMjQKLSAgICBwY21wZXFi
ICAgIHhtbTEsIHhtbTEgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweDAwZmZmZmZmCisgICAgcGNt
cGVxYiAgICB4bW0xLCB4bW0xICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDBmZmZmZmYKICAgICBwc3Js
ZCAgICAgIHhtbTEsIDgKIAogICBjb252ZXJ0bG9vcDoKQEAgLTM1MjAsMTQgKzM1MjAsMTUgQEAg
dm9pZCBBUkdCQ29weVlUb0FscGhhUm93X1NTRTIoY29uc3QgdWludDgqIHNyYywgdWludDgqIGRz
dCwgaW50IHdpZHRoKSB7CiAKICNpZmRlZiBIQVNfQVJHQkNPUFlZVE9BTFBIQVJPV19BVlgyCiAv
LyB3aWR0aCBpbiBwaXhlbHMKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0JDb3B5WVRvQWxw
aGFSb3dfQVZYMihjb25zdCB1aW50OCogc3JjLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpIHsKK19f
ZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQkNvcHlZVG9BbHBoYVJvd19BVlgyKGNvbnN0IHVpbnQ4
KiBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRd
ICAgLy8gc3JjCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRzdAorICAgIG1v
diAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIHNyYworICAgIG1vdiAgICAgICAgZWR4LCBbZXNw
ICsgOF0gIC8vIGRzdAogICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyBjb3VudAog
ICAgIHZwY21wZXFiICAgeW1tMCwgeW1tMCwgeW1tMAotICAgIHZwc3JsZCAgICAgeW1tMCwgeW1t
MCwgOCAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDBmZmZmZmYKKyAgICB2cHNybGQgICAgIHltbTAs
IHltbTAsIDggIC8vIGdlbmVyYXRlIG1hc2sgMHgwMGZmZmZmZgogCiAgIGNvbnZlcnRsb29wOgog
ICAgIHZwbW92enhiZCAgeW1tMSwgcXdvcmQgcHRyIFtlYXhdCkBAIC0zNTUyLDE0ICszNTUzLDEz
IEBAIHZvaWQgQVJHQkNvcHlZVG9BbHBoYVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmMsIHVpbnQ4
KiBkc3QsIGludCB3aWR0aCkgewogI2lmZGVmIEhBU19TRVRST1dfWDg2CiAvLyBXcml0ZSAnY291
bnQnIGJ5dGVzIHVzaW5nIGFuIDggYml0IHZhbHVlIHJlcGVhdGVkLgogLy8gQ291bnQgc2hvdWxk
IGJlIG11bHRpcGxlIG9mIDQuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBTZXRSb3dfWDg2KHVp
bnQ4KiBkc3QsIHVpbnQ4IHY4LCBpbnQgY291bnQpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQg
U2V0Um93X1g4Nih1aW50OCogZHN0LCB1aW50OCB2OCwgaW50IGNvdW50KSB7CiAgIF9fYXNtIHsK
LSAgICBtb3Z6eCAgICAgIGVheCwgYnl0ZSBwdHIgW2VzcCArIDhdICAgIC8vIHY4CisgICAgbW92
enggICAgICBlYXgsIGJ5dGUgcHRyIFtlc3AgKyA4XSAgLy8gdjgKICAgICBtb3YgICAgICAgIGVk
eCwgMHgwMTAxMDEwMSAgLy8gRHVwbGljYXRlIGJ5dGUgdG8gYWxsIGJ5dGVzLgotICAgIG11bCAg
ICAgICAgZWR4ICAgICAgICAgICAgICAvLyBvdmVyd3JpdGVzIGVkeCB3aXRoIHVwcGVyIHBhcnQg
b2YgcmVzdWx0LgorICAgIG11bCAgICAgICAgZWR4ICAvLyBvdmVyd3JpdGVzIGVkeCB3aXRoIHVw
cGVyIHBhcnQgb2YgcmVzdWx0LgogICAgIG1vdiAgICAgICAgZWR4LCBlZGkKLSAgICBtb3YgICAg
ICAgIGVkaSwgW2VzcCArIDRdICAgLy8gZHN0CisgICAgbW92ICAgICAgICBlZGksIFtlc3AgKyA0
XSAgLy8gZHN0CiAgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gIC8vIGNvdW50CiAgICAg
c2hyICAgICAgICBlY3gsIDIKICAgICByZXAgc3Rvc2QKQEAgLTM1NjksMTIgKzM1NjksMTEgQEAg
dm9pZCBTZXRSb3dfWDg2KHVpbnQ4KiBkc3QsIHVpbnQ4IHY4LCBpbnQgY291bnQpIHsKIH0KIAog
Ly8gV3JpdGUgJ2NvdW50JyBieXRlcyB1c2luZyBhbiA4IGJpdCB2YWx1ZSByZXBlYXRlZC4KLV9f
ZGVjbHNwZWMobmFrZWQpCi12b2lkIFNldFJvd19FUk1TKHVpbnQ4KiBkc3QsIHVpbnQ4IHY4LCBp
bnQgY291bnQpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgU2V0Um93X0VSTVModWludDgqIGRz
dCwgdWludDggdjgsIGludCBjb3VudCkgewogICBfX2FzbSB7CiAgICAgbW92ICAgICAgICBlZHgs
IGVkaQotICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgNF0gICAvLyBkc3QKLSAgICBtb3YgICAg
ICAgIGVheCwgW2VzcCArIDhdICAgLy8gdjgKKyAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDRd
ICAvLyBkc3QKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDhdICAvLyB2OAogICAgIG1vdiAg
ICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyBjb3VudAogICAgIHJlcCBzdG9zYgogICAgIG1vdiAg
ICAgICAgZWRpLCBlZHgKQEAgLTM1ODMsMTIgKzM1ODIsMTEgQEAgdm9pZCBTZXRSb3dfRVJNUyh1
aW50OCogZHN0LCB1aW50OCB2OCwgaW50IGNvdW50KSB7CiB9CiAKIC8vIFdyaXRlICdjb3VudCcg
MzIgYml0IHZhbHVlcy4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0JTZXRSb3dfWDg2KHVp
bnQ4KiBkc3RfYXJnYiwgdWludDMyIHYzMiwgaW50IGNvdW50KSB7CitfX2RlY2xzcGVjKG5ha2Vk
KSB2b2lkIEFSR0JTZXRSb3dfWDg2KHVpbnQ4KiBkc3RfYXJnYiwgdWludDMyIHYzMiwgaW50IGNv
dW50KSB7CiAgIF9fYXNtIHsKICAgICBtb3YgICAgICAgIGVkeCwgZWRpCi0gICAgbW92ICAgICAg
ICBlZGksIFtlc3AgKyA0XSAgIC8vIGRzdAotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgOF0g
ICAvLyB2MzIKKyAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDRdICAvLyBkc3QKKyAgICBtb3Yg
ICAgICAgIGVheCwgW2VzcCArIDhdICAvLyB2MzIKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCAr
IDEyXSAgLy8gY291bnQKICAgICByZXAgc3Rvc2QKICAgICBtb3YgICAgICAgIGVkaSwgZWR4CkBA
IC0zNTk4LDEyICszNTk2LDEzIEBAIHZvaWQgQVJHQlNldFJvd19YODYodWludDgqIGRzdF9hcmdi
LCB1aW50MzIgdjMyLCBpbnQgY291bnQpIHsKICNlbmRpZiAgLy8gSEFTX1NFVFJPV19YODYKIAog
I2lmZGVmIEhBU19ZVVkyVE9ZUk9XX0FWWDIKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFlVWTJU
b1lSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3l1eTIsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRo
KSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFlVWTJUb1lSb3dfQVZYMihjb25zdCB1aW50OCog
c3JjX3l1eTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgp
IHsKICAgX19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAgLy8gc3JjX3l1
eTIKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAgIC8vIGRzdF95Ci0gICAgbW92ICAg
ICAgICBlY3gsIFtlc3AgKyAxMl0gICAvLyB3aWR0aAorICAgIG1vdiAgICAgICAgZWF4LCBbZXNw
ICsgNF0gIC8vIHNyY195dXkyCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgLy8gZHN0
X3kKKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8gd2lkdGgKICAgICB2cGNtcGVx
YiAgIHltbTUsIHltbTUsIHltbTUgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMGZmMDBmZgogICAgIHZw
c3JsdyAgICAgeW1tNSwgeW1tNSwgOAogCkBAIC0zNjExLDkgKzM2MTAsOSBAQCB2b2lkIFlVWTJU
b1lSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3l1eTIsIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRo
KSB7CiAgICAgdm1vdmRxdSAgICB5bW0wLCBbZWF4XQogICAgIHZtb3ZkcXUgICAgeW1tMSwgW2Vh
eCArIDMyXQogICAgIGxlYSAgICAgICAgZWF4LCAgW2VheCArIDY0XQotICAgIHZwYW5kICAgICAg
eW1tMCwgeW1tMCwgeW1tNSAgIC8vIGV2ZW4gYnl0ZXMgYXJlIFkKKyAgICB2cGFuZCAgICAgIHlt
bTAsIHltbTAsIHltbTUgIC8vIGV2ZW4gYnl0ZXMgYXJlIFkKICAgICB2cGFuZCAgICAgIHltbTEs
IHltbTEsIHltbTUKLSAgICB2cGFja3Vzd2IgIHltbTAsIHltbTAsIHltbTEgICAvLyBtdXRhdGVz
LgorICAgIHZwYWNrdXN3YiAgeW1tMCwgeW1tMCwgeW1tMSAgLy8gbXV0YXRlcy4KICAgICB2cGVy
bXEgICAgIHltbTAsIHltbTAsIDB4ZDgKICAgICB2bW92ZHF1ICAgIFtlZHhdLCB5bW0wCiAgICAg
bGVhICAgICAgICBlZHgsIFtlZHggKyAzMl0KQEAgLTM2MjQsMTggKzM2MjMsMjAgQEAgdm9pZCBZ
VVkyVG9ZUm93X0FWWDIoY29uc3QgdWludDgqIHNyY195dXkyLCB1aW50OCogZHN0X3ksIGludCB3
aWR0aCkgewogICB9CiB9CiAKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFlVWTJUb1VWUm93X0FW
WDIoY29uc3QgdWludDgqIHNyY195dXkyLCBpbnQgc3RyaWRlX3l1eTIsCi0gICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgeworX19kZWNs
c3BlYyhuYWtlZCkgdm9pZCBZVVkyVG9VVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3l1eTIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19h
c20gewogICAgIHB1c2ggICAgICAgZXNpCiAgICAgcHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAg
ICAgIGVheCwgW2VzcCArIDggKyA0XSAgICAvLyBzcmNfeXV5MgotICAgIG1vdiAgICAgICAgZXNp
LCBbZXNwICsgOCArIDhdICAgIC8vIHN0cmlkZV95dXkyCi0gICAgbW92ICAgICAgICBlZHgsIFtl
c3AgKyA4ICsgMTJdICAgLy8gZHN0X3UKLSAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDggKyAx
Nl0gICAvLyBkc3RfdgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDIwXSAgIC8vIHdp
ZHRoCi0gICAgdnBjbXBlcWIgICB5bW01LCB5bW01LCB5bW01ICAgICAgLy8gZ2VuZXJhdGUgbWFz
ayAweDAwZmYwMGZmCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gIC8vIHNyY195
dXkyCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gIC8vIHN0cmlkZV95dXkyCisg
ICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4ICsgMTJdICAvLyBkc3RfdQorICAgIG1vdiAgICAg
ICAgZWRpLCBbZXNwICsgOCArIDE2XSAgLy8gZHN0X3YKKyAgICBtb3YgICAgICAgIGVjeCwgW2Vz
cCArIDggKyAyMF0gIC8vIHdpZHRoCisgICAgdnBjbXBlcWIgICB5bW01LCB5bW01LCB5bW01ICAv
LyBnZW5lcmF0ZSBtYXNrIDB4MDBmZjAwZmYKICAgICB2cHNybHcgICAgIHltbTUsIHltbTUsIDgK
ICAgICBzdWIgICAgICAgIGVkaSwgZWR4CiAKQEAgLTM2NDUsMTggKzM2NDYsMTggQEAgdm9pZCBZ
VVkyVG9VVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHN0cmlkZV95dXkyLAog
ICAgIHZwYXZnYiAgICAgeW1tMCwgeW1tMCwgW2VheCArIGVzaV0KICAgICB2cGF2Z2IgICAgIHlt
bTEsIHltbTEsIFtlYXggKyBlc2kgKyAzMl0KICAgICBsZWEgICAgICAgIGVheCwgIFtlYXggKyA2
NF0KLSAgICB2cHNybHcgICAgIHltbTAsIHltbTAsIDggICAgICAvLyBZVVlWIC0+IFVWVVYKKyAg
ICB2cHNybHcgICAgIHltbTAsIHltbTAsIDggIC8vIFlVWVYgLT4gVVZVVgogICAgIHZwc3JsdyAg
ICAgeW1tMSwgeW1tMSwgOAotICAgIHZwYWNrdXN3YiAgeW1tMCwgeW1tMCwgeW1tMSAgIC8vIG11
dGF0ZXMuCisgICAgdnBhY2t1c3diICB5bW0wLCB5bW0wLCB5bW0xICAvLyBtdXRhdGVzLgogICAg
IHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhkOAogICAgIHZwYW5kICAgICAgeW1tMSwgeW1tMCwg
eW1tNSAgLy8gVQotICAgIHZwc3JsdyAgICAgeW1tMCwgeW1tMCwgOCAgICAgLy8gVgorICAgIHZw
c3JsdyAgICAgeW1tMCwgeW1tMCwgOCAgLy8gVgogICAgIHZwYWNrdXN3YiAgeW1tMSwgeW1tMSwg
eW1tMSAgLy8gbXV0YXRlcy4KICAgICB2cGFja3Vzd2IgIHltbTAsIHltbTAsIHltbTAgIC8vIG11
dGF0ZXMuCiAgICAgdnBlcm1xICAgICB5bW0xLCB5bW0xLCAweGQ4CiAgICAgdnBlcm1xICAgICB5
bW0wLCB5bW0wLCAweGQ4CiAgICAgdmV4dHJhY3RmMTI4IFtlZHhdLCB5bW0xLCAwICAvLyBVCi0g
ICAgdmV4dHJhY3RmMTI4IFtlZHggKyBlZGldLCB5bW0wLCAwIC8vIFYKKyAgICB2ZXh0cmFjdGYx
MjggW2VkeCArIGVkaV0sIHltbTAsIDAgIC8vIFYKICAgICBsZWEgICAgICAgIGVkeCwgW2VkeCAr
IDE2XQogICAgIHN1YiAgICAgICAgZWN4LCAzMgogICAgIGpnICAgICAgICAgY29udmVydGxvb3AK
QEAgLTM2NjgsMTYgKzM2NjksMTcgQEAgdm9pZCBZVVkyVG9VVlJvd19BVlgyKGNvbnN0IHVpbnQ4
KiBzcmNfeXV5MiwgaW50IHN0cmlkZV95dXkyLAogICB9CiB9CiAKLV9fZGVjbHNwZWMobmFrZWQp
Ci12b2lkIFlVWTJUb1VWNDIyUm93X0FWWDIoY29uc3QgdWludDgqIHNyY195dXkyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQgd2lkdGgp
IHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgWVVZMlRvVVY0MjJSb3dfQVZYMihjb25zdCB1aW50
OCogc3JjX3l1eTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZWRpCi0gICAgbW92ICAg
ICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gICAgLy8gc3JjX3l1eTIKLSAgICBtb3YgICAgICAgIGVk
eCwgW2VzcCArIDQgKyA4XSAgICAvLyBkc3RfdQotICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsg
NCArIDEyXSAgIC8vIGRzdF92Ci0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA0ICsgMTZdICAg
Ly8gd2lkdGgKLSAgICB2cGNtcGVxYiAgIHltbTUsIHltbTUsIHltbTUgICAgICAvLyBnZW5lcmF0
ZSBtYXNrIDB4MDBmZjAwZmYKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgLy8g
c3JjX3l1eTIKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyA4XSAgLy8gZHN0X3UKKyAg
ICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDQgKyAxMl0gIC8vIGRzdF92CisgICAgbW92ICAgICAg
ICBlY3gsIFtlc3AgKyA0ICsgMTZdICAvLyB3aWR0aAorICAgIHZwY21wZXFiICAgeW1tNSwgeW1t
NSwgeW1tNSAgLy8gZ2VuZXJhdGUgbWFzayAweDAwZmYwMGZmCiAgICAgdnBzcmx3ICAgICB5bW01
LCB5bW01LCA4CiAgICAgc3ViICAgICAgICBlZGksIGVkeAogCkBAIC0zNjg1LDE4ICszNjg3LDE4
IEBAIHZvaWQgWVVZMlRvVVY0MjJSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3l1eTIsCiAgICAg
dm1vdmRxdSAgICB5bW0wLCBbZWF4XQogICAgIHZtb3ZkcXUgICAgeW1tMSwgW2VheCArIDMyXQog
ICAgIGxlYSAgICAgICAgZWF4LCAgW2VheCArIDY0XQotICAgIHZwc3JsdyAgICAgeW1tMCwgeW1t
MCwgOCAgICAgIC8vIFlVWVYgLT4gVVZVVgorICAgIHZwc3JsdyAgICAgeW1tMCwgeW1tMCwgOCAg
Ly8gWVVZViAtPiBVVlVWCiAgICAgdnBzcmx3ICAgICB5bW0xLCB5bW0xLCA4Ci0gICAgdnBhY2t1
c3diICB5bW0wLCB5bW0wLCB5bW0xICAgLy8gbXV0YXRlcy4KKyAgICB2cGFja3Vzd2IgIHltbTAs
IHltbTAsIHltbTEgIC8vIG11dGF0ZXMuCiAgICAgdnBlcm1xICAgICB5bW0wLCB5bW0wLCAweGQ4
CiAgICAgdnBhbmQgICAgICB5bW0xLCB5bW0wLCB5bW01ICAvLyBVCi0gICAgdnBzcmx3ICAgICB5
bW0wLCB5bW0wLCA4ICAgICAvLyBWCisgICAgdnBzcmx3ICAgICB5bW0wLCB5bW0wLCA4ICAvLyBW
CiAgICAgdnBhY2t1c3diICB5bW0xLCB5bW0xLCB5bW0xICAvLyBtdXRhdGVzLgogICAgIHZwYWNr
dXN3YiAgeW1tMCwgeW1tMCwgeW1tMCAgLy8gbXV0YXRlcy4KICAgICB2cGVybXEgICAgIHltbTEs
IHltbTEsIDB4ZDgKICAgICB2cGVybXEgICAgIHltbTAsIHltbTAsIDB4ZDgKICAgICB2ZXh0cmFj
dGYxMjggW2VkeF0sIHltbTEsIDAgIC8vIFUKLSAgICB2ZXh0cmFjdGYxMjggW2VkeCArIGVkaV0s
IHltbTAsIDAgLy8gVgorICAgIHZleHRyYWN0ZjEyOCBbZWR4ICsgZWRpXSwgeW1tMCwgMCAgLy8g
VgogICAgIGxlYSAgICAgICAgZWR4LCBbZWR4ICsgMTZdCiAgICAgc3ViICAgICAgICBlY3gsIDMy
CiAgICAgamcgICAgICAgICBjb252ZXJ0bG9vcApAQCAtMzcwNywyMSArMzcwOSwyMSBAQCB2b2lk
IFlVWTJUb1VWNDIyUm93X0FWWDIoY29uc3QgdWludDgqIHNyY195dXkyLAogICB9CiB9CiAKLV9f
ZGVjbHNwZWMobmFrZWQpCi12b2lkIFVZVllUb1lSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3V5
dnksCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksIGludCB3aWR0aCkgeworX19k
ZWNsc3BlYyhuYWtlZCkgdm9pZCBVWVZZVG9ZUm93X0FWWDIoY29uc3QgdWludDgqIHNyY191eXZ5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9f
YXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgIC8vIHNyY191eXZ5Ci0gICAg
bW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgICAvLyBkc3RfeQotICAgIG1vdiAgICAgICAgZWN4
LCBbZXNwICsgMTJdICAgLy8gd2lkdGgKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAv
LyBzcmNfdXl2eQorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdF95CisgICAg
bW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gIC8vIHdpZHRoCiAKICAgY29udmVydGxvb3A6CiAg
ICAgdm1vdmRxdSAgICB5bW0wLCBbZWF4XQogICAgIHZtb3ZkcXUgICAgeW1tMSwgW2VheCArIDMy
XQogICAgIGxlYSAgICAgICAgZWF4LCAgW2VheCArIDY0XQotICAgIHZwc3JsdyAgICAgeW1tMCwg
eW1tMCwgOCAgICAgIC8vIG9kZCBieXRlcyBhcmUgWQorICAgIHZwc3JsdyAgICAgeW1tMCwgeW1t
MCwgOCAgLy8gb2RkIGJ5dGVzIGFyZSBZCiAgICAgdnBzcmx3ICAgICB5bW0xLCB5bW0xLCA4Ci0g
ICAgdnBhY2t1c3diICB5bW0wLCB5bW0wLCB5bW0xICAgLy8gbXV0YXRlcy4KKyAgICB2cGFja3Vz
d2IgIHltbTAsIHltbTAsIHltbTEgIC8vIG11dGF0ZXMuCiAgICAgdnBlcm1xICAgICB5bW0wLCB5
bW0wLCAweGQ4CiAgICAgdm1vdmRxdSAgICBbZWR4XSwgeW1tMAogICAgIGxlYSAgICAgICAgZWR4
LCBbZWR4ICsgMzJdCkBAIC0zNzMyLDE4ICszNzM0LDIwIEBAIHZvaWQgVVlWWVRvWVJvd19BVlgy
KGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKICAgfQogfQogCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9p
ZCBVWVZZVG9VVlJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwgaW50IHN0cmlkZV91eXZ5
LAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwgdWludDgqIGRzdF92LCBpbnQg
d2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgVVlWWVRvVVZSb3dfQVZYMihjb25zdCB1
aW50OCogc3JjX3V5dnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHN0cmlkZV91eXZ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVzaQogICAgIHB1c2ggICAgICAg
ZWRpCi0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gICAgLy8gc3JjX3l1eTIKLSAg
ICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDggKyA4XSAgICAvLyBzdHJpZGVfeXV5MgotICAgIG1v
diAgICAgICAgZWR4LCBbZXNwICsgOCArIDEyXSAgIC8vIGRzdF91Ci0gICAgbW92ICAgICAgICBl
ZGksIFtlc3AgKyA4ICsgMTZdICAgLy8gZHN0X3YKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCAr
IDggKyAyMF0gICAvLyB3aWR0aAotICAgIHZwY21wZXFiICAgeW1tNSwgeW1tNSwgeW1tNSAgICAg
IC8vIGdlbmVyYXRlIG1hc2sgMHgwMGZmMDBmZgorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsg
OCArIDRdICAvLyBzcmNfeXV5MgorICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgOCArIDhdICAv
LyBzdHJpZGVfeXV5MgorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOCArIDEyXSAgLy8gZHN0
X3UKKyAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDggKyAxNl0gIC8vIGRzdF92CisgICAgbW92
ICAgICAgICBlY3gsIFtlc3AgKyA4ICsgMjBdICAvLyB3aWR0aAorICAgIHZwY21wZXFiICAgeW1t
NSwgeW1tNSwgeW1tNSAgLy8gZ2VuZXJhdGUgbWFzayAweDAwZmYwMGZmCiAgICAgdnBzcmx3ICAg
ICB5bW01LCB5bW01LCA4CiAgICAgc3ViICAgICAgICBlZGksIGVkeAogCkBAIC0zNzUzLDE4ICsz
NzU3LDE4IEBAIHZvaWQgVVlWWVRvVVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3V5dnksIGlu
dCBzdHJpZGVfdXl2eSwKICAgICB2cGF2Z2IgICAgIHltbTAsIHltbTAsIFtlYXggKyBlc2ldCiAg
ICAgdnBhdmdiICAgICB5bW0xLCB5bW0xLCBbZWF4ICsgZXNpICsgMzJdCiAgICAgbGVhICAgICAg
ICBlYXgsICBbZWF4ICsgNjRdCi0gICAgdnBhbmQgICAgICB5bW0wLCB5bW0wLCB5bW01ICAgLy8g
VVlWWSAtPiBVVlVWCisgICAgdnBhbmQgICAgICB5bW0wLCB5bW0wLCB5bW01ICAvLyBVWVZZIC0+
IFVWVVYKICAgICB2cGFuZCAgICAgIHltbTEsIHltbTEsIHltbTUKLSAgICB2cGFja3Vzd2IgIHlt
bTAsIHltbTAsIHltbTEgICAvLyBtdXRhdGVzLgorICAgIHZwYWNrdXN3YiAgeW1tMCwgeW1tMCwg
eW1tMSAgLy8gbXV0YXRlcy4KICAgICB2cGVybXEgICAgIHltbTAsIHltbTAsIDB4ZDgKICAgICB2
cGFuZCAgICAgIHltbTEsIHltbTAsIHltbTUgIC8vIFUKLSAgICB2cHNybHcgICAgIHltbTAsIHlt
bTAsIDggICAgIC8vIFYKKyAgICB2cHNybHcgICAgIHltbTAsIHltbTAsIDggIC8vIFYKICAgICB2
cGFja3Vzd2IgIHltbTEsIHltbTEsIHltbTEgIC8vIG11dGF0ZXMuCiAgICAgdnBhY2t1c3diICB5
bW0wLCB5bW0wLCB5bW0wICAvLyBtdXRhdGVzLgogICAgIHZwZXJtcSAgICAgeW1tMSwgeW1tMSwg
MHhkOAogICAgIHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhkOAogICAgIHZleHRyYWN0ZjEyOCBb
ZWR4XSwgeW1tMSwgMCAgLy8gVQotICAgIHZleHRyYWN0ZjEyOCBbZWR4ICsgZWRpXSwgeW1tMCwg
MCAvLyBWCisgICAgdmV4dHJhY3RmMTI4IFtlZHggKyBlZGldLCB5bW0wLCAwICAvLyBWCiAgICAg
bGVhICAgICAgICBlZHgsIFtlZHggKyAxNl0KICAgICBzdWIgICAgICAgIGVjeCwgMzIKICAgICBq
ZyAgICAgICAgIGNvbnZlcnRsb29wCkBAIC0zNzc2LDE2ICszNzgwLDE3IEBAIHZvaWQgVVlWWVRv
VVZSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3V5dnksIGludCBzdHJpZGVfdXl2eSwKICAgfQog
fQogCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBVWVZZVG9VVjQyMlJvd19BVlgyKGNvbnN0IHVp
bnQ4KiBzcmNfdXl2eSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVp
bnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFVZVllUb1VW
NDIyUm93X0FWWDIoY29uc3QgdWludDgqIHNyY191eXZ5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNo
ICAgICAgIGVkaQotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNCArIDRdICAgIC8vIHNyY195
dXkyCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA0ICsgOF0gICAgLy8gZHN0X3UKLSAgICBt
b3YgICAgICAgIGVkaSwgW2VzcCArIDQgKyAxMl0gICAvLyBkc3RfdgotICAgIG1vdiAgICAgICAg
ZWN4LCBbZXNwICsgNCArIDE2XSAgIC8vIHdpZHRoCi0gICAgdnBjbXBlcWIgICB5bW01LCB5bW01
LCB5bW01ICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweDAwZmYwMGZmCisgICAgbW92ICAgICAgICBl
YXgsIFtlc3AgKyA0ICsgNF0gIC8vIHNyY195dXkyCisgICAgbW92ICAgICAgICBlZHgsIFtlc3Ag
KyA0ICsgOF0gIC8vIGRzdF91CisgICAgbW92ICAgICAgICBlZGksIFtlc3AgKyA0ICsgMTJdICAv
LyBkc3RfdgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgNCArIDE2XSAgLy8gd2lkdGgKKyAg
ICB2cGNtcGVxYiAgIHltbTUsIHltbTUsIHltbTUgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMGZmMDBm
ZgogICAgIHZwc3JsdyAgICAgeW1tNSwgeW1tNSwgOAogICAgIHN1YiAgICAgICAgZWRpLCBlZHgK
IApAQCAtMzc5MywxOCArMzc5OCwxOCBAQCB2b2lkIFVZVllUb1VWNDIyUm93X0FWWDIoY29uc3Qg
dWludDgqIHNyY191eXZ5LAogICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0KICAgICB2bW92ZHF1
ICAgIHltbTEsIFtlYXggKyAzMl0KICAgICBsZWEgICAgICAgIGVheCwgIFtlYXggKyA2NF0KLSAg
ICB2cGFuZCAgICAgIHltbTAsIHltbTAsIHltbTUgICAvLyBVWVZZIC0+IFVWVVYKKyAgICB2cGFu
ZCAgICAgIHltbTAsIHltbTAsIHltbTUgIC8vIFVZVlkgLT4gVVZVVgogICAgIHZwYW5kICAgICAg
eW1tMSwgeW1tMSwgeW1tNQotICAgIHZwYWNrdXN3YiAgeW1tMCwgeW1tMCwgeW1tMSAgIC8vIG11
dGF0ZXMuCisgICAgdnBhY2t1c3diICB5bW0wLCB5bW0wLCB5bW0xICAvLyBtdXRhdGVzLgogICAg
IHZwZXJtcSAgICAgeW1tMCwgeW1tMCwgMHhkOAogICAgIHZwYW5kICAgICAgeW1tMSwgeW1tMCwg
eW1tNSAgLy8gVQotICAgIHZwc3JsdyAgICAgeW1tMCwgeW1tMCwgOCAgICAgLy8gVgorICAgIHZw
c3JsdyAgICAgeW1tMCwgeW1tMCwgOCAgLy8gVgogICAgIHZwYWNrdXN3YiAgeW1tMSwgeW1tMSwg
eW1tMSAgLy8gbXV0YXRlcy4KICAgICB2cGFja3Vzd2IgIHltbTAsIHltbTAsIHltbTAgIC8vIG11
dGF0ZXMuCiAgICAgdnBlcm1xICAgICB5bW0xLCB5bW0xLCAweGQ4CiAgICAgdnBlcm1xICAgICB5
bW0wLCB5bW0wLCAweGQ4CiAgICAgdmV4dHJhY3RmMTI4IFtlZHhdLCB5bW0xLCAwICAvLyBVCi0g
ICAgdmV4dHJhY3RmMTI4IFtlZHggKyBlZGldLCB5bW0wLCAwIC8vIFYKKyAgICB2ZXh0cmFjdGYx
MjggW2VkeCArIGVkaV0sIHltbTAsIDAgIC8vIFYKICAgICBsZWEgICAgICAgIGVkeCwgW2VkeCAr
IDE2XQogICAgIHN1YiAgICAgICAgZWN4LCAzMgogICAgIGpnICAgICAgICAgY29udmVydGxvb3AK
QEAgLTM4MTcsMjEgKzM4MjIsMjEgQEAgdm9pZCBVWVZZVG9VVjQyMlJvd19BVlgyKGNvbnN0IHVp
bnQ4KiBzcmNfdXl2eSwKICNlbmRpZiAgLy8gSEFTX1lVWTJUT1lST1dfQVZYMgogCiAjaWZkZWYg
SEFTX1lVWTJUT1lST1dfU1NFMgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgWVVZMlRvWVJvd19T
U0UyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKLSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfeSwgaW50IHdpZHRoKSB7Ci0gIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCAr
IDRdICAgIC8vIHNyY195dXkyCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgICAvLyBk
c3RfeQotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAgLy8gd2lkdGgKLSAgICBwY21w
ZXFiICAgIHhtbTUsIHhtbTUgICAgICAgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMGZmMDBmZgorX19k
ZWNsc3BlYyhuYWtlZCkgdm9pZCBZVVkyVG9ZUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195dXky
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIF9f
YXNtIHsKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfeXV5MgorICAgIG1v
diAgICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdF95CisgICAgbW92ICAgICAgICBlY3gsIFtl
c3AgKyAxMl0gIC8vIHdpZHRoCisgICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAvLyBnZW5lcmF0
ZSBtYXNrIDB4MDBmZjAwZmYKICAgICBwc3JsdyAgICAgIHhtbTUsIDgKIAogICBjb252ZXJ0bG9v
cDoKICAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdCiAgICAgbW92ZHF1ICAgICB4bW0xLCBbZWF4
ICsgMTZdCiAgICAgbGVhICAgICAgICBlYXgsICBbZWF4ICsgMzJdCi0gICAgcGFuZCAgICAgICB4
bW0wLCB4bW01ICAgLy8gZXZlbiBieXRlcyBhcmUgWQorICAgIHBhbmQgICAgICAgeG1tMCwgeG1t
NSAgLy8gZXZlbiBieXRlcyBhcmUgWQogICAgIHBhbmQgICAgICAgeG1tMSwgeG1tNQogICAgIHBh
Y2t1c3diICAgeG1tMCwgeG1tMQogICAgIG1vdmRxdSAgICAgW2VkeF0sIHhtbTAKQEAgLTM4NDIs
MTggKzM4NDcsMjAgQEAgdm9pZCBZVVkyVG9ZUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195dXky
LAogICB9CiB9CiAKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFlVWTJUb1VWUm93X1NTRTIoY29u
c3QgdWludDgqIHNyY195dXkyLCBpbnQgc3RyaWRlX3l1eTIsCi0gICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhu
YWtlZCkgdm9pZCBZVVkyVG9VVlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWRlX3l1eTIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewog
ICAgIHB1c2ggICAgICAgZXNpCiAgICAgcHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAgICAgIGVh
eCwgW2VzcCArIDggKyA0XSAgICAvLyBzcmNfeXV5MgotICAgIG1vdiAgICAgICAgZXNpLCBbZXNw
ICsgOCArIDhdICAgIC8vIHN0cmlkZV95dXkyCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4
ICsgMTJdICAgLy8gZHN0X3UKLSAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDggKyAxNl0gICAv
LyBkc3RfdgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDIwXSAgIC8vIHdpZHRoCi0g
ICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAgICAgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweDAw
ZmYwMGZmCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gIC8vIHNyY195dXkyCisg
ICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gIC8vIHN0cmlkZV95dXkyCisgICAgbW92
ICAgICAgICBlZHgsIFtlc3AgKyA4ICsgMTJdICAvLyBkc3RfdQorICAgIG1vdiAgICAgICAgZWRp
LCBbZXNwICsgOCArIDE2XSAgLy8gZHN0X3YKKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDgg
KyAyMF0gIC8vIHdpZHRoCisgICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAvLyBnZW5lcmF0ZSBt
YXNrIDB4MDBmZjAwZmYKICAgICBwc3JsdyAgICAgIHhtbTUsIDgKICAgICBzdWIgICAgICAgIGVk
aSwgZWR4CiAKQEAgLTM4NjUsMTMgKzM4NzIsMTMgQEAgdm9pZCBZVVkyVG9VVlJvd19TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfeXV5MiwgaW50IHN0cmlkZV95dXkyLAogICAgIGxlYSAgICAgICAgZWF4
LCAgW2VheCArIDMyXQogICAgIHBhdmdiICAgICAgeG1tMCwgeG1tMgogICAgIHBhdmdiICAgICAg
eG1tMSwgeG1tMwotICAgIHBzcmx3ICAgICAgeG1tMCwgOCAgICAgIC8vIFlVWVYgLT4gVVZVVgor
ICAgIHBzcmx3ICAgICAgeG1tMCwgOCAgLy8gWVVZViAtPiBVVlVWCiAgICAgcHNybHcgICAgICB4
bW0xLCA4CiAgICAgcGFja3Vzd2IgICB4bW0wLCB4bW0xCiAgICAgbW92ZHFhICAgICB4bW0xLCB4
bW0wCiAgICAgcGFuZCAgICAgICB4bW0wLCB4bW01ICAvLyBVCiAgICAgcGFja3Vzd2IgICB4bW0w
LCB4bW0wCi0gICAgcHNybHcgICAgICB4bW0xLCA4ICAgICAvLyBWCisgICAgcHNybHcgICAgICB4
bW0xLCA4ICAvLyBWCiAgICAgcGFja3Vzd2IgICB4bW0xLCB4bW0xCiAgICAgbW92cSAgICAgICBx
d29yZCBwdHIgW2VkeF0sIHhtbTAKICAgICBtb3ZxICAgICAgIHF3b3JkIHB0ciBbZWR4ICsgZWRp
XSwgeG1tMQpAQCAtMzg4NSwxNiArMzg5MiwxNyBAQCB2b2lkIFlVWTJUb1VWUm93X1NTRTIoY29u
c3QgdWludDgqIHNyY195dXkyLCBpbnQgc3RyaWRlX3l1eTIsCiAgIH0KIH0KIAotX19kZWNsc3Bl
YyhuYWtlZCkKLXZvaWQgWVVZMlRvVVY0MjJSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3l1eTIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF91LCB1aW50OCogZHN0X3YsIGlu
dCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBZVVkyVG9VVjQyMlJvd19TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfeXV5MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlZGkKLSAg
ICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgICAvLyBzcmNfeXV5MgotICAgIG1vdiAg
ICAgICAgZWR4LCBbZXNwICsgNCArIDhdICAgIC8vIGRzdF91Ci0gICAgbW92ICAgICAgICBlZGks
IFtlc3AgKyA0ICsgMTJdICAgLy8gZHN0X3YKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQg
KyAxNl0gICAvLyB3aWR0aAotICAgIHBjbXBlcWIgICAgeG1tNSwgeG1tNSAgICAgICAgICAgIC8v
IGdlbmVyYXRlIG1hc2sgMHgwMGZmMDBmZgorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNCAr
IDRdICAvLyBzcmNfeXV5MgorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDhdICAvLyBk
c3RfdQorICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgNCArIDEyXSAgLy8gZHN0X3YKKyAgICBt
b3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRoCisgICAgcGNtcGVxYiAgICB4
bW01LCB4bW01ICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDBmZjAwZmYKICAgICBwc3JsdyAgICAgIHht
bTUsIDgKICAgICBzdWIgICAgICAgIGVkaSwgZWR4CiAKQEAgLTM5MDIsMTMgKzM5MTAsMTMgQEAg
dm9pZCBZVVkyVG9VVjQyMlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeXV5MiwKICAgICBtb3Zk
cXUgICAgIHhtbTAsIFtlYXhdCiAgICAgbW92ZHF1ICAgICB4bW0xLCBbZWF4ICsgMTZdCiAgICAg
bGVhICAgICAgICBlYXgsICBbZWF4ICsgMzJdCi0gICAgcHNybHcgICAgICB4bW0wLCA4ICAgICAg
Ly8gWVVZViAtPiBVVlVWCisgICAgcHNybHcgICAgICB4bW0wLCA4ICAvLyBZVVlWIC0+IFVWVVYK
ICAgICBwc3JsdyAgICAgIHhtbTEsIDgKICAgICBwYWNrdXN3YiAgIHhtbTAsIHhtbTEKICAgICBt
b3ZkcWEgICAgIHhtbTEsIHhtbTAKICAgICBwYW5kICAgICAgIHhtbTAsIHhtbTUgIC8vIFUKICAg
ICBwYWNrdXN3YiAgIHhtbTAsIHhtbTAKLSAgICBwc3JsdyAgICAgIHhtbTEsIDggICAgIC8vIFYK
KyAgICBwc3JsdyAgICAgIHhtbTEsIDggIC8vIFYKICAgICBwYWNrdXN3YiAgIHhtbTEsIHhtbTEK
ICAgICBtb3ZxICAgICAgIHF3b3JkIHB0ciBbZWR4XSwgeG1tMAogICAgIG1vdnEgICAgICAgcXdv
cmQgcHRyIFtlZHggKyBlZGldLCB4bW0xCkBAIC0zOTIxLDE5ICszOTI5LDE5IEBAIHZvaWQgWVVZ
MlRvVVY0MjJSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3l1eTIsCiAgIH0KIH0KIAotX19kZWNs
c3BlYyhuYWtlZCkKLXZvaWQgVVlWWVRvWVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwK
LSAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IHdpZHRoKSB7CitfX2RlY2xz
cGVjKG5ha2VkKSB2b2lkIFVZVllUb1lSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3V5dnksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20g
ewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAgLy8gc3JjX3V5dnkKLSAgICBtb3Yg
ICAgICAgIGVkeCwgW2VzcCArIDhdICAgIC8vIGRzdF95Ci0gICAgbW92ICAgICAgICBlY3gsIFtl
c3AgKyAxMl0gICAvLyB3aWR0aAorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIHNy
Y191eXZ5CisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgLy8gZHN0X3kKKyAgICBtb3Yg
ICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8gd2lkdGgKIAogICBjb252ZXJ0bG9vcDoKICAgICBt
b3ZkcXUgICAgIHhtbTAsIFtlYXhdCiAgICAgbW92ZHF1ICAgICB4bW0xLCBbZWF4ICsgMTZdCiAg
ICAgbGVhICAgICAgICBlYXgsICBbZWF4ICsgMzJdCi0gICAgcHNybHcgICAgICB4bW0wLCA4ICAg
IC8vIG9kZCBieXRlcyBhcmUgWQorICAgIHBzcmx3ICAgICAgeG1tMCwgOCAgLy8gb2RkIGJ5dGVz
IGFyZSBZCiAgICAgcHNybHcgICAgICB4bW0xLCA4CiAgICAgcGFja3Vzd2IgICB4bW0wLCB4bW0x
CiAgICAgbW92ZHF1ICAgICBbZWR4XSwgeG1tMApAQCAtMzk0NCwxOCArMzk1MiwyMCBAQCB2b2lk
IFVZVllUb1lSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3V5dnksCiAgIH0KIH0KIAotX19kZWNs
c3BlYyhuYWtlZCkKLXZvaWQgVVlWWVRvVVZSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3V5dnks
IGludCBzdHJpZGVfdXl2eSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVp
bnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFVZVllUb1VW
Um93X1NTRTIoY29uc3QgdWludDgqIHNyY191eXZ5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBzdHJpZGVfdXl2eSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDgqIGRzdF92LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlc2kK
ICAgICBwdXNoICAgICAgIGVkaQotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgOCArIDRdICAg
IC8vIHNyY195dXkyCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gICAgLy8gc3Ry
aWRlX3l1eTIKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDggKyAxMl0gICAvLyBkc3RfdQot
ICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgOCArIDE2XSAgIC8vIGRzdF92Ci0gICAgbW92ICAg
ICAgICBlY3gsIFtlc3AgKyA4ICsgMjBdICAgLy8gd2lkdGgKLSAgICBwY21wZXFiICAgIHhtbTUs
IHhtbTUgICAgICAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDBmZjAwZmYKKyAgICBtb3YgICAg
ICAgIGVheCwgW2VzcCArIDggKyA0XSAgLy8gc3JjX3l1eTIKKyAgICBtb3YgICAgICAgIGVzaSwg
W2VzcCArIDggKyA4XSAgLy8gc3RyaWRlX3l1eTIKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCAr
IDggKyAxMl0gIC8vIGRzdF91CisgICAgbW92ICAgICAgICBlZGksIFtlc3AgKyA4ICsgMTZdICAv
LyBkc3RfdgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDIwXSAgLy8gd2lkdGgKKyAg
ICBwY21wZXFiICAgIHhtbTUsIHhtbTUgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMGZmMDBmZgogICAg
IHBzcmx3ICAgICAgeG1tNSwgOAogICAgIHN1YiAgICAgICAgZWRpLCBlZHgKIApAQCAtMzk2Nywx
MyArMzk3NywxMyBAQCB2b2lkIFVZVllUb1VWUm93X1NTRTIoY29uc3QgdWludDgqIHNyY191eXZ5
LCBpbnQgc3RyaWRlX3V5dnksCiAgICAgbGVhICAgICAgICBlYXgsICBbZWF4ICsgMzJdCiAgICAg
cGF2Z2IgICAgICB4bW0wLCB4bW0yCiAgICAgcGF2Z2IgICAgICB4bW0xLCB4bW0zCi0gICAgcGFu
ZCAgICAgICB4bW0wLCB4bW01ICAgLy8gVVlWWSAtPiBVVlVWCisgICAgcGFuZCAgICAgICB4bW0w
LCB4bW01ICAvLyBVWVZZIC0+IFVWVVYKICAgICBwYW5kICAgICAgIHhtbTEsIHhtbTUKICAgICBw
YWNrdXN3YiAgIHhtbTAsIHhtbTEKICAgICBtb3ZkcWEgICAgIHhtbTEsIHhtbTAKICAgICBwYW5k
ICAgICAgIHhtbTAsIHhtbTUgIC8vIFUKICAgICBwYWNrdXN3YiAgIHhtbTAsIHhtbTAKLSAgICBw
c3JsdyAgICAgIHhtbTEsIDggICAgIC8vIFYKKyAgICBwc3JsdyAgICAgIHhtbTEsIDggIC8vIFYK
ICAgICBwYWNrdXN3YiAgIHhtbTEsIHhtbTEKICAgICBtb3ZxICAgICAgIHF3b3JkIHB0ciBbZWR4
XSwgeG1tMAogICAgIG1vdnEgICAgICAgcXdvcmQgcHRyIFtlZHggKyBlZGldLCB4bW0xCkBAIC0z
OTg3LDE2ICszOTk3LDE3IEBAIHZvaWQgVVlWWVRvVVZSb3dfU1NFMihjb25zdCB1aW50OCogc3Jj
X3V5dnksIGludCBzdHJpZGVfdXl2eSwKICAgfQogfQogCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9p
ZCBVWVZZVG9VVjQyMlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3UsIHVpbnQ4KiBkc3RfdiwgaW50IHdpZHRoKSB7Citf
X2RlY2xzcGVjKG5ha2VkKSB2b2lkIFVZVllUb1VWNDIyUm93X1NTRTIoY29uc3QgdWludDgqIHNy
Y191eXZ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVkaQotICAgIG1vdiAgICAgICAg
ZWF4LCBbZXNwICsgNCArIDRdICAgIC8vIHNyY195dXkyCi0gICAgbW92ICAgICAgICBlZHgsIFtl
c3AgKyA0ICsgOF0gICAgLy8gZHN0X3UKLSAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDQgKyAx
Ml0gICAvLyBkc3RfdgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgNCArIDE2XSAgIC8vIHdp
ZHRoCi0gICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAgICAgICAgICAgLy8gZ2VuZXJhdGUgbWFz
ayAweDAwZmYwMGZmCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gIC8vIHNyY195
dXkyCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA0ICsgOF0gIC8vIGRzdF91CisgICAgbW92
ICAgICAgICBlZGksIFtlc3AgKyA0ICsgMTJdICAvLyBkc3RfdgorICAgIG1vdiAgICAgICAgZWN4
LCBbZXNwICsgNCArIDE2XSAgLy8gd2lkdGgKKyAgICBwY21wZXFiICAgIHhtbTUsIHhtbTUgIC8v
IGdlbmVyYXRlIG1hc2sgMHgwMGZmMDBmZgogICAgIHBzcmx3ICAgICAgeG1tNSwgOAogICAgIHN1
YiAgICAgICAgZWRpLCBlZHgKIApAQCAtNDAwNCwxMyArNDAxNSwxMyBAQCB2b2lkIFVZVllUb1VW
NDIyUm93X1NTRTIoY29uc3QgdWludDgqIHNyY191eXZ5LAogICAgIG1vdmRxdSAgICAgeG1tMCwg
W2VheF0KICAgICBtb3ZkcXUgICAgIHhtbTEsIFtlYXggKyAxNl0KICAgICBsZWEgICAgICAgIGVh
eCwgIFtlYXggKyAzMl0KLSAgICBwYW5kICAgICAgIHhtbTAsIHhtbTUgICAvLyBVWVZZIC0+IFVW
VVYKKyAgICBwYW5kICAgICAgIHhtbTAsIHhtbTUgIC8vIFVZVlkgLT4gVVZVVgogICAgIHBhbmQg
ICAgICAgeG1tMSwgeG1tNQogICAgIHBhY2t1c3diICAgeG1tMCwgeG1tMQogICAgIG1vdmRxYSAg
ICAgeG1tMSwgeG1tMAogICAgIHBhbmQgICAgICAgeG1tMCwgeG1tNSAgLy8gVQogICAgIHBhY2t1
c3diICAgeG1tMCwgeG1tMAotICAgIHBzcmx3ICAgICAgeG1tMSwgOCAgICAgLy8gVgorICAgIHBz
cmx3ICAgICAgeG1tMSwgOCAgLy8gVgogICAgIHBhY2t1c3diICAgeG1tMSwgeG1tMQogICAgIG1v
dnEgICAgICAgcXdvcmQgcHRyIFtlZHhdLCB4bW0wCiAgICAgbW92cSAgICAgICBxd29yZCBwdHIg
W2VkeCArIGVkaV0sIHhtbTEKQEAgLTQwMzAsMTMgKzQwNDEsMTUgQEAgdm9pZCBVWVZZVG9VVjQy
MlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfdXl2eSwKIC8vID0oKEEyKkMyKSsoQjIqKDI1NS1D
MikpKzI1NSkvMjU2CiAvLyBzaWduZWQgdmVyc2lvbiBvZiBtYXRoCiAvLyA9KCgoQTItMTI4KSpD
MikrKChCMi0xMjgpKigyNTUtQzIpKSszMjc2OCsxMjcpLzI1NgotX19kZWNsc3BlYyhuYWtlZCkK
LXZvaWQgQmxlbmRQbGFuZVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjMCwgY29uc3QgdWludDgq
IHNyYzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIGFscGhhLCB1aW50
OCogZHN0LCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQmxlbmRQbGFuZVJv
d19TU1NFMyhjb25zdCB1aW50OCogc3JjMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogYWxwaGEsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIHB1
c2ggICAgICAgZXNpCiAgICAgcHVzaCAgICAgICBlZGkKLSAgICBwY21wZXFiICAgIHhtbTUsIHht
bTUgICAgICAgLy8gZ2VuZXJhdGUgbWFzayAweGZmMDBmZjAwCisgICAgcGNtcGVxYiAgICB4bW01
LCB4bW01ICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMGZmMDAKICAgICBwc2xsdyAgICAgIHhtbTUs
IDgKICAgICBtb3YgICAgICAgIGVheCwgMHg4MDgwODA4MCAgLy8gMTI4IGZvciBiaWFzaW5nIGlt
YWdlIHRvIHNpZ25lZC4KICAgICBtb3ZkICAgICAgIHhtbTYsIGVheApAQCAtNDA0NSw4ICs0MDU4
LDggQEAgdm9pZCBCbGVuZFBsYW5lUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmMwLCBjb25zdCB1
aW50OCogc3JjMSwKICAgICBtb3YgICAgICAgIGVheCwgMHg4MDdmODA3ZiAgLy8gMzI3NjggKyAx
MjcgZm9yIHVuYmlhcyBhbmQgcm91bmQuCiAgICAgbW92ZCAgICAgICB4bW03LCBlYXgKICAgICBw
c2h1ZmQgICAgIHhtbTcsIHhtbTcsIDB4MDAKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDgg
KyA0XSAgIC8vIHNyYzAKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDggKyA4XSAgIC8vIHNy
YzEKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDggKyA0XSAgLy8gc3JjMAorICAgIG1vdiAg
ICAgICAgZWR4LCBbZXNwICsgOCArIDhdICAvLyBzcmMxCiAgICAgbW92ICAgICAgICBlc2ksIFtl
c3AgKyA4ICsgMTJdICAvLyBhbHBoYQogICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgOCArIDE2
XSAgLy8gZHN0CiAgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA4ICsgMjBdICAvLyB3aWR0aApA
QCAtNDA1NiwxNSArNDA2OSwxNSBAQCB2b2lkIEJsZW5kUGxhbmVSb3dfU1NTRTMoY29uc3QgdWlu
dDgqIHNyYzAsIGNvbnN0IHVpbnQ4KiBzcmMxLAogCiAgICAgLy8gOCBwaXhlbCBsb29wLgogICBj
b252ZXJ0bG9vcDg6Ci0gICAgbW92cSAgICAgICB4bW0wLCBxd29yZCBwdHIgW2VzaV0gICAgICAg
IC8vIGFscGhhCisgICAgbW92cSAgICAgICB4bW0wLCBxd29yZCBwdHIgW2VzaV0gIC8vIGFscGhh
CiAgICAgcHVucGNrbGJ3ICB4bW0wLCB4bW0wCi0gICAgcHhvciAgICAgICB4bW0wLCB4bW01ICAg
ICAgICAgLy8gYSwgMjU1LWEKKyAgICBweG9yICAgICAgIHhtbTAsIHhtbTUgIC8vIGEsIDI1NS1h
CiAgICAgbW92cSAgICAgICB4bW0xLCBxd29yZCBwdHIgW2VheCArIGVzaV0gIC8vIHNyYzAKICAg
ICBtb3ZxICAgICAgIHhtbTIsIHF3b3JkIHB0ciBbZWR4ICsgZXNpXSAgLy8gc3JjMQogICAgIHB1
bnBja2xidyAgeG1tMSwgeG1tMgotICAgIHBzdWJiICAgICAgeG1tMSwgeG1tNiAgICAgICAgIC8v
IGJpYXMgc3JjMC8xIC0gMTI4CisgICAgcHN1YmIgICAgICB4bW0xLCB4bW02ICAvLyBiaWFzIHNy
YzAvMSAtIDEyOAogICAgIHBtYWRkdWJzdyAgeG1tMCwgeG1tMQotICAgIHBhZGR3ICAgICAgeG1t
MCwgeG1tNyAgICAgICAgIC8vIHVuYmlhcyByZXN1bHQgLSAzMjc2OCBhbmQgcm91bmQuCisgICAg
cGFkZHcgICAgICB4bW0wLCB4bW03ICAvLyB1bmJpYXMgcmVzdWx0IC0gMzI3NjggYW5kIHJvdW5k
LgogICAgIHBzcmx3ICAgICAgeG1tMCwgOAogICAgIHBhY2t1c3diICAgeG1tMCwgeG1tMAogICAg
IG1vdnEgICAgICAgcXdvcmQgcHRyIFtlZGkgKyBlc2ldLCB4bW0wCkBAIC00MDg1LDEzICs0MDk4
LDE1IEBAIHZvaWQgQmxlbmRQbGFuZVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjMCwgY29uc3Qg
dWludDgqIHNyYzEsCiAvLyA9KChBMipDMikrKEIyKigyNTUtQzIpKSsyNTUpLzI1NgogLy8gc2ln
bmVkIHZlcnNpb24gb2YgbWF0aAogLy8gPSgoKEEyLTEyOCkqQzIpKygoQjItMTI4KSooMjU1LUMy
KSkrMzI3NjgrMTI3KS8yNTYKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEJsZW5kUGxhbmVSb3df
QVZYMihjb25zdCB1aW50OCogc3JjMCwgY29uc3QgdWludDgqIHNyYzEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIGFscGhhLCB1aW50OCogZHN0LCBpbnQgd2lkdGgpIHsK
K19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQmxlbmRQbGFuZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBz
cmMwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyYzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogYWxwaGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgICBlc2kKICAgICBwdXNoICAg
ICAgICBlZGkKLSAgICB2cGNtcGVxYiAgICB5bW01LCB5bW01LCB5bW01ICAgICAgIC8vIGdlbmVy
YXRlIG1hc2sgMHhmZjAwZmYwMAorICAgIHZwY21wZXFiICAgIHltbTUsIHltbTUsIHltbTUgIC8v
IGdlbmVyYXRlIG1hc2sgMHhmZjAwZmYwMAogICAgIHZwc2xsdyAgICAgIHltbTUsIHltbTUsIDgK
ICAgICBtb3YgICAgICAgICBlYXgsIDB4ODA4MDgwODAgIC8vIDEyOCBmb3IgYmlhc2luZyBpbWFn
ZSB0byBzaWduZWQuCiAgICAgdm1vdmQgICAgICAgeG1tNiwgZWF4CkBAIC00MDk5LDggKzQxMTQs
OCBAQCB2b2lkIEJsZW5kUGxhbmVSb3dfQVZYMihjb25zdCB1aW50OCogc3JjMCwgY29uc3QgdWlu
dDgqIHNyYzEsCiAgICAgbW92ICAgICAgICAgZWF4LCAweDgwN2Y4MDdmICAvLyAzMjc2OCArIDEy
NyBmb3IgdW5iaWFzIGFuZCByb3VuZC4KICAgICB2bW92ZCAgICAgICB4bW03LCBlYXgKICAgICB2
YnJvYWRjYXN0c3MgeW1tNywgeG1tNwotICAgIG1vdiAgICAgICAgIGVheCwgW2VzcCArIDggKyA0
XSAgIC8vIHNyYzAKLSAgICBtb3YgICAgICAgICBlZHgsIFtlc3AgKyA4ICsgOF0gICAvLyBzcmMx
CisgICAgbW92ICAgICAgICAgZWF4LCBbZXNwICsgOCArIDRdICAvLyBzcmMwCisgICAgbW92ICAg
ICAgICAgZWR4LCBbZXNwICsgOCArIDhdICAvLyBzcmMxCiAgICAgbW92ICAgICAgICAgZXNpLCBb
ZXNwICsgOCArIDEyXSAgLy8gYWxwaGEKICAgICBtb3YgICAgICAgICBlZGksIFtlc3AgKyA4ICsg
MTZdICAvLyBkc3QKICAgICBtb3YgICAgICAgICBlY3gsIFtlc3AgKyA4ICsgMjBdICAvLyB3aWR0
aApAQCAtNDExMCwyMSArNDEyNSwyMSBAQCB2b2lkIEJsZW5kUGxhbmVSb3dfQVZYMihjb25zdCB1
aW50OCogc3JjMCwgY29uc3QgdWludDgqIHNyYzEsCiAKICAgICAvLyAzMiBwaXhlbCBsb29wLgog
ICBjb252ZXJ0bG9vcDMyOgotICAgIHZtb3ZkcXUgICAgIHltbTAsIFtlc2ldICAgICAgICAvLyBh
bHBoYQotICAgIHZwdW5wY2toYncgIHltbTMsIHltbTAsIHltbTAgICAvLyA4Li4xNSwgMjQuLjMx
Ci0gICAgdnB1bnBja2xidyAgeW1tMCwgeW1tMCwgeW1tMCAgIC8vIDAuLjcsIDE2Li4yMwotICAg
IHZweG9yICAgICAgIHltbTMsIHltbTMsIHltbTUgICAvLyBhLCAyNTUtYQotICAgIHZweG9yICAg
ICAgIHltbTAsIHltbTAsIHltbTUgICAvLyBhLCAyNTUtYQorICAgIHZtb3ZkcXUgICAgIHltbTAs
IFtlc2ldICAvLyBhbHBoYQorICAgIHZwdW5wY2toYncgIHltbTMsIHltbTAsIHltbTAgIC8vIDgu
LjE1LCAyNC4uMzEKKyAgICB2cHVucGNrbGJ3ICB5bW0wLCB5bW0wLCB5bW0wICAvLyAwLi43LCAx
Ni4uMjMKKyAgICB2cHhvciAgICAgICB5bW0zLCB5bW0zLCB5bW01ICAvLyBhLCAyNTUtYQorICAg
IHZweG9yICAgICAgIHltbTAsIHltbTAsIHltbTUgIC8vIGEsIDI1NS1hCiAgICAgdm1vdmRxdSAg
ICAgeW1tMSwgW2VheCArIGVzaV0gIC8vIHNyYzAKICAgICB2bW92ZHF1ICAgICB5bW0yLCBbZWR4
ICsgZXNpXSAgLy8gc3JjMQogICAgIHZwdW5wY2toYncgIHltbTQsIHltbTEsIHltbTIKICAgICB2
cHVucGNrbGJ3ICB5bW0xLCB5bW0xLCB5bW0yCi0gICAgdnBzdWJiICAgICAgeW1tNCwgeW1tNCwg
eW1tNiAgIC8vIGJpYXMgc3JjMC8xIC0gMTI4Ci0gICAgdnBzdWJiICAgICAgeW1tMSwgeW1tMSwg
eW1tNiAgIC8vIGJpYXMgc3JjMC8xIC0gMTI4CisgICAgdnBzdWJiICAgICAgeW1tNCwgeW1tNCwg
eW1tNiAgLy8gYmlhcyBzcmMwLzEgLSAxMjgKKyAgICB2cHN1YmIgICAgICB5bW0xLCB5bW0xLCB5
bW02ICAvLyBiaWFzIHNyYzAvMSAtIDEyOAogICAgIHZwbWFkZHVic3cgIHltbTMsIHltbTMsIHlt
bTQKICAgICB2cG1hZGR1YnN3ICB5bW0wLCB5bW0wLCB5bW0xCi0gICAgdnBhZGR3ICAgICAgeW1t
MywgeW1tMywgeW1tNyAgIC8vIHVuYmlhcyByZXN1bHQgLSAzMjc2OCBhbmQgcm91bmQuCi0gICAg
dnBhZGR3ICAgICAgeW1tMCwgeW1tMCwgeW1tNyAgIC8vIHVuYmlhcyByZXN1bHQgLSAzMjc2OCBh
bmQgcm91bmQuCisgICAgdnBhZGR3ICAgICAgeW1tMywgeW1tMywgeW1tNyAgLy8gdW5iaWFzIHJl
c3VsdCAtIDMyNzY4IGFuZCByb3VuZC4KKyAgICB2cGFkZHcgICAgICB5bW0wLCB5bW0wLCB5bW03
ICAvLyB1bmJpYXMgcmVzdWx0IC0gMzI3NjggYW5kIHJvdW5kLgogICAgIHZwc3JsdyAgICAgIHlt
bTMsIHltbTMsIDgKICAgICB2cHNybHcgICAgICB5bW0wLCB5bW0wLCA4CiAgICAgdnBhY2t1c3di
ICAgeW1tMCwgeW1tMCwgeW1tMwpAQCAtNDE0Myw1MiArNDE1OCw1MSBAQCB2b2lkIEJsZW5kUGxh
bmVSb3dfQVZYMihjb25zdCB1aW50OCogc3JjMCwgY29uc3QgdWludDgqIHNyYzEsCiAKICNpZmRl
ZiBIQVNfQVJHQkJMRU5EUk9XX1NTU0UzCiAvLyBTaHVmZmxlIHRhYmxlIGZvciBpc29sYXRpbmcg
YWxwaGEuCi1zdGF0aWMgY29uc3QgdXZlYzgga1NodWZmbGVBbHBoYSA9IHsKLSAgM3UsIDB4ODAs
IDN1LCAweDgwLCA3dSwgMHg4MCwgN3UsIDB4ODAsCi0gIDExdSwgMHg4MCwgMTF1LCAweDgwLCAx
NXUsIDB4ODAsIDE1dSwgMHg4MAotfTsKK3N0YXRpYyBjb25zdCB1dmVjOCBrU2h1ZmZsZUFscGhh
ID0gezN1LCAgMHg4MCwgM3UsICAweDgwLCA3dSwgIDB4ODAsIDd1LCAgMHg4MCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExdSwgMHg4MCwgMTF1LCAweDgwLCAxNXUsIDB4
ODAsIDE1dSwgMHg4MH07CiAKIC8vIEJsZW5kIDggcGl4ZWxzIGF0IGEgdGltZS4KLV9fZGVjbHNw
ZWMobmFrZWQpCi12b2lkIEFSR0JCbGVuZFJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2Iw
LCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQkJsZW5k
Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsK
ICAgICBwdXNoICAgICAgIGVzaQotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNCArIDRdICAg
Ly8gc3JjX2FyZ2IwCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA0ICsgOF0gICAvLyBzcmNf
YXJnYjEKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgLy8gc3JjX2FyZ2IwCisg
ICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA0ICsgOF0gIC8vIHNyY19hcmdiMQogICAgIG1vdiAg
ICAgICAgZWR4LCBbZXNwICsgNCArIDEyXSAgLy8gZHN0X2FyZ2IKICAgICBtb3YgICAgICAgIGVj
eCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRoCi0gICAgcGNtcGVxYiAgICB4bW03LCB4bW03ICAg
ICAgIC8vIGdlbmVyYXRlIGNvbnN0YW50IDB4MDAwMQorICAgIHBjbXBlcWIgICAgeG1tNywgeG1t
NyAgLy8gZ2VuZXJhdGUgY29uc3RhbnQgMHgwMDAxCiAgICAgcHNybHcgICAgICB4bW03LCAxNQot
ICAgIHBjbXBlcWIgICAgeG1tNiwgeG1tNiAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDBmZjAw
ZmYKKyAgICBwY21wZXFiICAgIHhtbTYsIHhtbTYgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMGZmMDBm
ZgogICAgIHBzcmx3ICAgICAgeG1tNiwgOAotICAgIHBjbXBlcWIgICAgeG1tNSwgeG1tNSAgICAg
ICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMGZmMDAKKyAgICBwY21wZXFiICAgIHhtbTUsIHhtbTUg
IC8vIGdlbmVyYXRlIG1hc2sgMHhmZjAwZmYwMAogICAgIHBzbGx3ICAgICAgeG1tNSwgOAotICAg
IHBjbXBlcWIgICAgeG1tNCwgeG1tNCAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMDAwMDAK
KyAgICBwY21wZXFiICAgIHhtbTQsIHhtbTQgIC8vIGdlbmVyYXRlIG1hc2sgMHhmZjAwMDAwMAog
ICAgIHBzbGxkICAgICAgeG1tNCwgMjQKICAgICBzdWIgICAgICAgIGVjeCwgNAotICAgIGpsICAg
ICAgICAgY29udmVydGxvb3A0YiAgICAvLyBsZXNzIHRoYW4gNCBwaXhlbHM/CisgICAgamwgICAg
ICAgICBjb252ZXJ0bG9vcDRiICAvLyBsZXNzIHRoYW4gNCBwaXhlbHM/CiAKICAgICAvLyA0IHBp
eGVsIGxvb3AuCiAgIGNvbnZlcnRsb29wNDoKLSAgICBtb3ZkcXUgICAgIHhtbTMsIFtlYXhdICAg
ICAgLy8gc3JjIGFyZ2IKKyAgICBtb3ZkcXUgICAgIHhtbTMsIFtlYXhdICAvLyBzcmMgYXJnYgog
ICAgIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMTZdCi0gICAgbW92ZHFhICAgICB4bW0wLCB4bW0z
ICAgICAgIC8vIHNyYyBhcmdiCi0gICAgcHhvciAgICAgICB4bW0zLCB4bW00ICAgICAgIC8vIH5h
bHBoYQotICAgIG1vdmRxdSAgICAgeG1tMiwgW2VzaV0gICAgICAvLyBfcl9iCi0gICAgcHNodWZi
ICAgICB4bW0zLCB4bW13b3JkIHB0ciBrU2h1ZmZsZUFscGhhIC8vIGFscGhhCi0gICAgcGFuZCAg
ICAgICB4bW0yLCB4bW02ICAgICAgIC8vIF9yX2IKLSAgICBwYWRkdyAgICAgIHhtbTMsIHhtbTcg
ICAgICAgLy8gMjU2IC0gYWxwaGEKLSAgICBwbXVsbHcgICAgIHhtbTIsIHhtbTMgICAgICAgLy8g
X3JfYiAqIGFscGhhCi0gICAgbW92ZHF1ICAgICB4bW0xLCBbZXNpXSAgICAgIC8vIF9hX2cKKyAg
ICBtb3ZkcWEgICAgIHhtbTAsIHhtbTMgIC8vIHNyYyBhcmdiCisgICAgcHhvciAgICAgICB4bW0z
LCB4bW00ICAvLyB+YWxwaGEKKyAgICBtb3ZkcXUgICAgIHhtbTIsIFtlc2ldICAvLyBfcl9iCisg
ICAgcHNodWZiICAgICB4bW0zLCB4bW13b3JkIHB0ciBrU2h1ZmZsZUFscGhhICAvLyBhbHBoYQor
ICAgIHBhbmQgICAgICAgeG1tMiwgeG1tNiAgLy8gX3JfYgorICAgIHBhZGR3ICAgICAgeG1tMywg
eG1tNyAgLy8gMjU2IC0gYWxwaGEKKyAgICBwbXVsbHcgICAgIHhtbTIsIHhtbTMgIC8vIF9yX2Ig
KiBhbHBoYQorICAgIG1vdmRxdSAgICAgeG1tMSwgW2VzaV0gIC8vIF9hX2cKICAgICBsZWEgICAg
ICAgIGVzaSwgW2VzaSArIDE2XQotICAgIHBzcmx3ICAgICAgeG1tMSwgOCAgICAgICAgICAvLyBf
YV9nCi0gICAgcG9yICAgICAgICB4bW0wLCB4bW00ICAgICAgIC8vIHNldCBhbHBoYSB0byAyNTUK
LSAgICBwbXVsbHcgICAgIHhtbTEsIHhtbTMgICAgICAgLy8gX2FfZyAqIGFscGhhCi0gICAgcHNy
bHcgICAgICB4bW0yLCA4ICAgICAgICAgIC8vIF9yX2IgY29udmVydCB0byA4IGJpdHMgYWdhaW4K
LSAgICBwYWRkdXNiICAgIHhtbTAsIHhtbTIgICAgICAgLy8gKyBzcmMgYXJnYgotICAgIHBhbmQg
ICAgICAgeG1tMSwgeG1tNSAgICAgICAvLyBhX2dfIGNvbnZlcnQgdG8gOCBiaXRzIGFnYWluCi0g
ICAgcGFkZHVzYiAgICB4bW0wLCB4bW0xICAgICAgIC8vICsgc3JjIGFyZ2IKKyAgICBwc3JsdyAg
ICAgIHhtbTEsIDggIC8vIF9hX2cKKyAgICBwb3IgICAgICAgIHhtbTAsIHhtbTQgIC8vIHNldCBh
bHBoYSB0byAyNTUKKyAgICBwbXVsbHcgICAgIHhtbTEsIHhtbTMgIC8vIF9hX2cgKiBhbHBoYQor
ICAgIHBzcmx3ICAgICAgeG1tMiwgOCAgLy8gX3JfYiBjb252ZXJ0IHRvIDggYml0cyBhZ2Fpbgor
ICAgIHBhZGR1c2IgICAgeG1tMCwgeG1tMiAgLy8gKyBzcmMgYXJnYgorICAgIHBhbmQgICAgICAg
eG1tMSwgeG1tNSAgLy8gYV9nXyBjb252ZXJ0IHRvIDggYml0cyBhZ2FpbgorICAgIHBhZGR1c2Ig
ICAgeG1tMCwgeG1tMSAgLy8gKyBzcmMgYXJnYgogICAgIG1vdmRxdSAgICAgW2VkeF0sIHhtbTAK
ICAgICBsZWEgICAgICAgIGVkeCwgW2VkeCArIDE2XQogICAgIHN1YiAgICAgICAgZWN4LCA0CkBA
IC00MjAwLDI0ICs0MjE0LDI0IEBAIHZvaWQgQVJHQkJsZW5kUm93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjAsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCiAKICAgICAvLyAxIHBpeGVsIGxv
b3AuCiAgIGNvbnZlcnRsb29wMToKLSAgICBtb3ZkICAgICAgIHhtbTMsIFtlYXhdICAgICAgLy8g
c3JjIGFyZ2IKKyAgICBtb3ZkICAgICAgIHhtbTMsIFtlYXhdICAvLyBzcmMgYXJnYgogICAgIGxl
YSAgICAgICAgZWF4LCBbZWF4ICsgNF0KLSAgICBtb3ZkcWEgICAgIHhtbTAsIHhtbTMgICAgICAg
Ly8gc3JjIGFyZ2IKLSAgICBweG9yICAgICAgIHhtbTMsIHhtbTQgICAgICAgLy8gfmFscGhhCi0g
ICAgbW92ZCAgICAgICB4bW0yLCBbZXNpXSAgICAgIC8vIF9yX2IKLSAgICBwc2h1ZmIgICAgIHht
bTMsIHhtbXdvcmQgcHRyIGtTaHVmZmxlQWxwaGEgLy8gYWxwaGEKLSAgICBwYW5kICAgICAgIHht
bTIsIHhtbTYgICAgICAgLy8gX3JfYgotICAgIHBhZGR3ICAgICAgeG1tMywgeG1tNyAgICAgICAv
LyAyNTYgLSBhbHBoYQotICAgIHBtdWxsdyAgICAgeG1tMiwgeG1tMyAgICAgICAvLyBfcl9iICog
YWxwaGEKLSAgICBtb3ZkICAgICAgIHhtbTEsIFtlc2ldICAgICAgLy8gX2FfZworICAgIG1vdmRx
YSAgICAgeG1tMCwgeG1tMyAgLy8gc3JjIGFyZ2IKKyAgICBweG9yICAgICAgIHhtbTMsIHhtbTQg
IC8vIH5hbHBoYQorICAgIG1vdmQgICAgICAgeG1tMiwgW2VzaV0gIC8vIF9yX2IKKyAgICBwc2h1
ZmIgICAgIHhtbTMsIHhtbXdvcmQgcHRyIGtTaHVmZmxlQWxwaGEgIC8vIGFscGhhCisgICAgcGFu
ZCAgICAgICB4bW0yLCB4bW02ICAvLyBfcl9iCisgICAgcGFkZHcgICAgICB4bW0zLCB4bW03ICAv
LyAyNTYgLSBhbHBoYQorICAgIHBtdWxsdyAgICAgeG1tMiwgeG1tMyAgLy8gX3JfYiAqIGFscGhh
CisgICAgbW92ZCAgICAgICB4bW0xLCBbZXNpXSAgLy8gX2FfZwogICAgIGxlYSAgICAgICAgZXNp
LCBbZXNpICsgNF0KLSAgICBwc3JsdyAgICAgIHhtbTEsIDggICAgICAgICAgLy8gX2FfZwotICAg
IHBvciAgICAgICAgeG1tMCwgeG1tNCAgICAgICAvLyBzZXQgYWxwaGEgdG8gMjU1Ci0gICAgcG11
bGx3ICAgICB4bW0xLCB4bW0zICAgICAgIC8vIF9hX2cgKiBhbHBoYQotICAgIHBzcmx3ICAgICAg
eG1tMiwgOCAgICAgICAgICAvLyBfcl9iIGNvbnZlcnQgdG8gOCBiaXRzIGFnYWluCi0gICAgcGFk
ZHVzYiAgICB4bW0wLCB4bW0yICAgICAgIC8vICsgc3JjIGFyZ2IKLSAgICBwYW5kICAgICAgIHht
bTEsIHhtbTUgICAgICAgLy8gYV9nXyBjb252ZXJ0IHRvIDggYml0cyBhZ2FpbgotICAgIHBhZGR1
c2IgICAgeG1tMCwgeG1tMSAgICAgICAvLyArIHNyYyBhcmdiCisgICAgcHNybHcgICAgICB4bW0x
LCA4ICAvLyBfYV9nCisgICAgcG9yICAgICAgICB4bW0wLCB4bW00ICAvLyBzZXQgYWxwaGEgdG8g
MjU1CisgICAgcG11bGx3ICAgICB4bW0xLCB4bW0zICAvLyBfYV9nICogYWxwaGEKKyAgICBwc3Js
dyAgICAgIHhtbTIsIDggIC8vIF9yX2IgY29udmVydCB0byA4IGJpdHMgYWdhaW4KKyAgICBwYWRk
dXNiICAgIHhtbTAsIHhtbTIgIC8vICsgc3JjIGFyZ2IKKyAgICBwYW5kICAgICAgIHhtbTEsIHht
bTUgIC8vIGFfZ18gY29udmVydCB0byA4IGJpdHMgYWdhaW4KKyAgICBwYWRkdXNiICAgIHhtbTAs
IHhtbTEgIC8vICsgc3JjIGFyZ2IKICAgICBtb3ZkICAgICAgIFtlZHhdLCB4bW0wCiAgICAgbGVh
ICAgICAgICBlZHgsIFtlZHggKyA0XQogICAgIHN1YiAgICAgICAgZWN4LCAxCkBAIC00MjMzLDQx
ICs0MjQ3LDQyIEBAIHZvaWQgQVJHQkJsZW5kUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YjAsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCiAjaWZkZWYgSEFTX0FSR0JBVFRFTlVBVEVST1df
U1NTRTMKIC8vIFNodWZmbGUgdGFibGUgZHVwbGljYXRpbmcgYWxwaGEuCiBzdGF0aWMgY29uc3Qg
dXZlYzgga1NodWZmbGVBbHBoYTAgPSB7Ci0gIDN1LCAzdSwgM3UsIDN1LCAzdSwgM3UsIDEyOHUs
IDEyOHUsIDd1LCA3dSwgN3UsIDd1LCA3dSwgN3UsIDEyOHUsIDEyOHUsCisgICAgM3UsIDN1LCAz
dSwgM3UsIDN1LCAzdSwgMTI4dSwgMTI4dSwgN3UsIDd1LCA3dSwgN3UsIDd1LCA3dSwgMTI4dSwg
MTI4dSwKIH07CiBzdGF0aWMgY29uc3QgdXZlYzgga1NodWZmbGVBbHBoYTEgPSB7Ci0gIDExdSwg
MTF1LCAxMXUsIDExdSwgMTF1LCAxMXUsIDEyOHUsIDEyOHUsCi0gIDE1dSwgMTV1LCAxNXUsIDE1
dSwgMTV1LCAxNXUsIDEyOHUsIDEyOHUsCisgICAgMTF1LCAxMXUsIDExdSwgMTF1LCAxMXUsIDEx
dSwgMTI4dSwgMTI4dSwKKyAgICAxNXUsIDE1dSwgMTV1LCAxNXUsIDE1dSwgMTV1LCAxMjh1LCAx
Mjh1LAogfTsKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0JBdHRlbnVhdGVSb3dfU1NTRTMo
Y29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkgeworX19k
ZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCQXR0ZW51YXRlUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCAr
IDRdICAgLy8gc3JjX2FyZ2IwCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRz
dF9hcmdiCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX2FyZ2IwCisgICAg
bW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgLy8gZHN0X2FyZ2IKICAgICBtb3YgICAgICAgIGVj
eCwgW2VzcCArIDEyXSAgLy8gd2lkdGgKLSAgICBwY21wZXFiICAgIHhtbTMsIHhtbTMgICAgICAg
Ly8gZ2VuZXJhdGUgbWFzayAweGZmMDAwMDAwCisgICAgcGNtcGVxYiAgICB4bW0zLCB4bW0zICAv
LyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMDAwMDAKICAgICBwc2xsZCAgICAgIHhtbTMsIDI0CiAgICAg
bW92ZHFhICAgICB4bW00LCB4bW13b3JkIHB0ciBrU2h1ZmZsZUFscGhhMAogICAgIG1vdmRxYSAg
ICAgeG1tNSwgeG1td29yZCBwdHIga1NodWZmbGVBbHBoYTEKIAogIGNvbnZlcnRsb29wOgotICAg
IG1vdmRxdSAgICAgeG1tMCwgW2VheF0gICAgICAvLyByZWFkIDQgcGl4ZWxzCi0gICAgcHNodWZi
ICAgICB4bW0wLCB4bW00ICAgICAgIC8vIGlzb2xhdGUgZmlyc3QgMiBhbHBoYXMKLSAgICBtb3Zk
cXUgICAgIHhtbTEsIFtlYXhdICAgICAgLy8gcmVhZCA0IHBpeGVscwotICAgIHB1bnBja2xidyAg
eG1tMSwgeG1tMSAgICAgICAvLyBmaXJzdCAyIHBpeGVsIHJnYnMKLSAgICBwbXVsaHV3ICAgIHht
bTAsIHhtbTEgICAgICAgLy8gcmdiICogYQotICAgIG1vdmRxdSAgICAgeG1tMSwgW2VheF0gICAg
ICAvLyByZWFkIDQgcGl4ZWxzCi0gICAgcHNodWZiICAgICB4bW0xLCB4bW01ICAgICAgIC8vIGlz
b2xhdGUgbmV4dCAyIGFscGhhcwotICAgIG1vdmRxdSAgICAgeG1tMiwgW2VheF0gICAgICAvLyBy
ZWFkIDQgcGl4ZWxzCi0gICAgcHVucGNraGJ3ICB4bW0yLCB4bW0yICAgICAgIC8vIG5leHQgMiBw
aXhlbCByZ2JzCi0gICAgcG11bGh1dyAgICB4bW0xLCB4bW0yICAgICAgIC8vIHJnYiAqIGEKLSAg
ICBtb3ZkcXUgICAgIHhtbTIsIFtlYXhdICAgICAgLy8gbWFzayBvcmlnaW5hbCBhbHBoYQorICAg
IG1vdmRxdSAgICAgeG1tMCwgW2VheF0gIC8vIHJlYWQgNCBwaXhlbHMKKyAgICBwc2h1ZmIgICAg
IHhtbTAsIHhtbTQgIC8vIGlzb2xhdGUgZmlyc3QgMiBhbHBoYXMKKyAgICBtb3ZkcXUgICAgIHht
bTEsIFtlYXhdICAvLyByZWFkIDQgcGl4ZWxzCisgICAgcHVucGNrbGJ3ICB4bW0xLCB4bW0xICAv
LyBmaXJzdCAyIHBpeGVsIHJnYnMKKyAgICBwbXVsaHV3ICAgIHhtbTAsIHhtbTEgIC8vIHJnYiAq
IGEKKyAgICBtb3ZkcXUgICAgIHhtbTEsIFtlYXhdICAvLyByZWFkIDQgcGl4ZWxzCisgICAgcHNo
dWZiICAgICB4bW0xLCB4bW01ICAvLyBpc29sYXRlIG5leHQgMiBhbHBoYXMKKyAgICBtb3ZkcXUg
ICAgIHhtbTIsIFtlYXhdICAvLyByZWFkIDQgcGl4ZWxzCisgICAgcHVucGNraGJ3ICB4bW0yLCB4
bW0yICAvLyBuZXh0IDIgcGl4ZWwgcmdicworICAgIHBtdWxodXcgICAgeG1tMSwgeG1tMiAgLy8g
cmdiICogYQorICAgIG1vdmRxdSAgICAgeG1tMiwgW2VheF0gIC8vIG1hc2sgb3JpZ2luYWwgYWxw
aGEKICAgICBsZWEgICAgICAgIGVheCwgW2VheCArIDE2XQogICAgIHBhbmQgICAgICAgeG1tMiwg
eG1tMwogICAgIHBzcmx3ICAgICAgeG1tMCwgOAogICAgIHBzcmx3ICAgICAgeG1tMSwgOAogICAg
IHBhY2t1c3diICAgeG1tMCwgeG1tMQotICAgIHBvciAgICAgICAgeG1tMCwgeG1tMiAgICAgICAv
LyBjb3B5IG9yaWdpbmFsIGFscGhhCisgICAgcG9yICAgICAgICB4bW0wLCB4bW0yICAvLyBjb3B5
IG9yaWdpbmFsIGFscGhhCiAgICAgbW92ZHF1ICAgICBbZWR4XSwgeG1tMAogICAgIGxlYSAgICAg
ICAgZWR4LCBbZWR4ICsgMTZdCiAgICAgc3ViICAgICAgICBlY3gsIDQKQEAgLTQyODAsMjIgKzQy
OTUsMjMgQEAgdm9pZCBBUkdCQXR0ZW51YXRlUm93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKIAogI2lmZGVmIEhBU19BUkdCQVRURU5V
QVRFUk9XX0FWWDIKIC8vIFNodWZmbGUgdGFibGUgZHVwbGljYXRpbmcgYWxwaGEuCi1zdGF0aWMg
Y29uc3QgdXZlYzgga1NodWZmbGVBbHBoYV9BVlgyID0gewotICA2dSwgN3UsIDZ1LCA3dSwgNnUs
IDd1LCAxMjh1LCAxMjh1LCAxNHUsIDE1dSwgMTR1LCAxNXUsIDE0dSwgMTV1LCAxMjh1LCAxMjh1
Ci19OwotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQVJHQkF0dGVudWF0ZVJvd19BVlgyKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKLSAgX19hc20g
ewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAvLyBzcmNfYXJnYjAKLSAgICBtb3Yg
ICAgICAgIGVkeCwgW2VzcCArIDhdICAgLy8gZHN0X2FyZ2IKK3N0YXRpYyBjb25zdCB1dmVjOCBr
U2h1ZmZsZUFscGhhX0FWWDIgPSB7NnUsICAgN3UsICAgNnUsICAgN3UsICA2dSwgIDd1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjh1LCAxMjh1LCAxNHUsICAx
NXUsIDE0dSwgMTV1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
NHUsICAxNXUsICAxMjh1LCAxMjh1fTsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQkF0dGVu
dWF0ZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworICBfX2FzbSB7Cisg
ICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX2FyZ2IwCisgICAgbW92ICAgICAg
ICBlZHgsIFtlc3AgKyA4XSAgLy8gZHN0X2FyZ2IKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCAr
IDEyXSAgLy8gd2lkdGgKICAgICBzdWIgICAgICAgIGVkeCwgZWF4CiAgICAgdmJyb2FkY2FzdGYx
MjggeW1tNCwgeG1td29yZCBwdHIga1NodWZmbGVBbHBoYV9BVlgyCi0gICAgdnBjbXBlcWIgICB5
bW01LCB5bW01LCB5bW01IC8vIGdlbmVyYXRlIG1hc2sgMHhmZjAwMDAwMAorICAgIHZwY21wZXFi
ICAgeW1tNSwgeW1tNSwgeW1tNSAgLy8gZ2VuZXJhdGUgbWFzayAweGZmMDAwMDAwCiAgICAgdnBz
bGxkICAgICB5bW01LCB5bW01LCAyNAogCiAgY29udmVydGxvb3A6Ci0gICAgdm1vdmRxdSAgICB5
bW02LCBbZWF4XSAgICAgICAvLyByZWFkIDggcGl4ZWxzLgorICAgIHZtb3ZkcXUgICAgeW1tNiwg
W2VheF0gIC8vIHJlYWQgOCBwaXhlbHMuCiAgICAgdnB1bnBja2xidyB5bW0wLCB5bW02LCB5bW02
ICAvLyBsb3cgNCBwaXhlbHMuIG11dGF0ZWQuCiAgICAgdnB1bnBja2hidyB5bW0xLCB5bW02LCB5
bW02ICAvLyBoaWdoIDQgcGl4ZWxzLiBtdXRhdGVkLgogICAgIHZwc2h1ZmIgICAgeW1tMiwgeW1t
MCwgeW1tNCAgLy8gbG93IDQgYWxwaGFzCkBAIC00MzIwLDQwICs0MzM2LDQwIEBAIHZvaWQgQVJH
QkF0dGVudWF0ZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdi
LCBpbnQgd2lkdGgpIHsKIAogI2lmZGVmIEhBU19BUkdCVU5BVFRFTlVBVEVST1dfU1NFMgogLy8g
VW5hdHRlbnVhdGUgNCBwaXhlbHMgYXQgYSB0aW1lLgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQg
QVJHQlVuYXR0ZW51YXRlUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0
X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNs
c3BlYyhuYWtlZCkgdm9pZCBBUkdCVW5hdHRlbnVhdGVSb3dfU1NFMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVieAogICAgIHB1
c2ggICAgICAgZXNpCiAgICAgcHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAgICAgIGVheCwgW2Vz
cCArIDEyICsgNF0gICAvLyBzcmNfYXJnYgotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgMTIg
KyA4XSAgIC8vIGRzdF9hcmdiCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyAxMiArIDRdICAv
LyBzcmNfYXJnYgorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgMTIgKyA4XSAgLy8gZHN0X2Fy
Z2IKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyICsgMTJdICAvLyB3aWR0aAogICAgIGxl
YSAgICAgICAgZWJ4LCBmaXhlZF9pbnZ0Ymw4CiAKICBjb252ZXJ0bG9vcDoKLSAgICBtb3ZkcXUg
ICAgIHhtbTAsIFtlYXhdICAgICAgLy8gcmVhZCA0IHBpeGVscworICAgIG1vdmRxdSAgICAgeG1t
MCwgW2VheF0gIC8vIHJlYWQgNCBwaXhlbHMKICAgICBtb3Z6eCAgICAgIGVzaSwgYnl0ZSBwdHIg
W2VheCArIDNdICAvLyBmaXJzdCBhbHBoYQogICAgIG1vdnp4ICAgICAgZWRpLCBieXRlIHB0ciBb
ZWF4ICsgN10gIC8vIHNlY29uZCBhbHBoYQotICAgIHB1bnBja2xidyAgeG1tMCwgeG1tMCAgICAg
ICAvLyBmaXJzdCAyCisgICAgcHVucGNrbGJ3ICB4bW0wLCB4bW0wICAvLyBmaXJzdCAyCiAgICAg
bW92ZCAgICAgICB4bW0yLCBkd29yZCBwdHIgW2VieCArIGVzaSAqIDRdCiAgICAgbW92ZCAgICAg
ICB4bW0zLCBkd29yZCBwdHIgW2VieCArIGVkaSAqIDRdCi0gICAgcHNodWZsdyAgICB4bW0yLCB4
bW0yLCAwNDBoIC8vIGZpcnN0IDQgaW52X2FscGhhIHdvcmRzLiAgMSwgYSwgYSwgYQotICAgIHBz
aHVmbHcgICAgeG1tMywgeG1tMywgMDQwaCAvLyBuZXh0IDQgaW52X2FscGhhIHdvcmRzCisgICAg
cHNodWZsdyAgICB4bW0yLCB4bW0yLCAwNDBoICAvLyBmaXJzdCA0IGludl9hbHBoYSB3b3Jkcy4g
IDEsIGEsIGEsIGEKKyAgICBwc2h1Zmx3ICAgIHhtbTMsIHhtbTMsIDA0MGggIC8vIG5leHQgNCBp
bnZfYWxwaGEgd29yZHMKICAgICBtb3ZsaHBzICAgIHhtbTIsIHhtbTMKLSAgICBwbXVsaHV3ICAg
IHhtbTAsIHhtbTIgICAgICAgLy8gcmdiICogYQorICAgIHBtdWxodXcgICAgeG1tMCwgeG1tMiAg
Ly8gcmdiICogYQogCi0gICAgbW92ZHF1ICAgICB4bW0xLCBbZWF4XSAgICAgIC8vIHJlYWQgNCBw
aXhlbHMKKyAgICBtb3ZkcXUgICAgIHhtbTEsIFtlYXhdICAvLyByZWFkIDQgcGl4ZWxzCiAgICAg
bW92enggICAgICBlc2ksIGJ5dGUgcHRyIFtlYXggKyAxMV0gIC8vIHRoaXJkIGFscGhhCiAgICAg
bW92enggICAgICBlZGksIGJ5dGUgcHRyIFtlYXggKyAxNV0gIC8vIGZvcnRoIGFscGhhCi0gICAg
cHVucGNraGJ3ICB4bW0xLCB4bW0xICAgICAgIC8vIG5leHQgMgorICAgIHB1bnBja2hidyAgeG1t
MSwgeG1tMSAgLy8gbmV4dCAyCiAgICAgbW92ZCAgICAgICB4bW0yLCBkd29yZCBwdHIgW2VieCAr
IGVzaSAqIDRdCiAgICAgbW92ZCAgICAgICB4bW0zLCBkd29yZCBwdHIgW2VieCArIGVkaSAqIDRd
Ci0gICAgcHNodWZsdyAgICB4bW0yLCB4bW0yLCAwNDBoIC8vIGZpcnN0IDQgaW52X2FscGhhIHdv
cmRzCi0gICAgcHNodWZsdyAgICB4bW0zLCB4bW0zLCAwNDBoIC8vIG5leHQgNCBpbnZfYWxwaGEg
d29yZHMKKyAgICBwc2h1Zmx3ICAgIHhtbTIsIHhtbTIsIDA0MGggIC8vIGZpcnN0IDQgaW52X2Fs
cGhhIHdvcmRzCisgICAgcHNodWZsdyAgICB4bW0zLCB4bW0zLCAwNDBoICAvLyBuZXh0IDQgaW52
X2FscGhhIHdvcmRzCiAgICAgbW92bGhwcyAgICB4bW0yLCB4bW0zCi0gICAgcG11bGh1dyAgICB4
bW0xLCB4bW0yICAgICAgIC8vIHJnYiAqIGEKKyAgICBwbXVsaHV3ICAgIHhtbTEsIHhtbTIgIC8v
IHJnYiAqIGEKICAgICBsZWEgICAgICAgIGVheCwgW2VheCArIDE2XQogICAgIHBhY2t1c3diICAg
eG1tMCwgeG1tMQogICAgIG1vdmRxdSAgICAgW2VkeF0sIHhtbTAKQEAgLTQzNzIsMjUgKzQzODgs
MjQgQEAgdm9pZCBBUkdCVW5hdHRlbnVhdGVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2Is
IHVpbnQ4KiBkc3RfYXJnYiwKICNpZmRlZiBIQVNfQVJHQlVOQVRURU5VQVRFUk9XX0FWWDIKIC8v
IFNodWZmbGUgdGFibGUgZHVwbGljYXRpbmcgYWxwaGEuCiBzdGF0aWMgY29uc3QgdXZlYzgga1Vu
YXR0ZW5TaHVmZmxlQWxwaGFfQVZYMiA9IHsKLSAgMHUsIDF1LCAwdSwgMXUsIDB1LCAxdSwgNnUs
IDd1LCA4dSwgOXUsIDh1LCA5dSwgOHUsIDl1LCAxNHUsIDE1dQotfTsKKyAgICAwdSwgMXUsIDB1
LCAxdSwgMHUsIDF1LCA2dSwgN3UsIDh1LCA5dSwgOHUsIDl1LCA4dSwgOXUsIDE0dSwgMTV1fTsK
IC8vIFRPRE8oZmJhcmNoYXJkKTogRW5hYmxlIFVTRV9HQVRIRVIgZm9yIGZ1dHVyZSBoYXJkd2Fy
ZSBpZiBmYXN0ZXIuCiAvLyBVU0VfR0FUSEVSIGlzIG5vdCBvbiBieSBkZWZhdWx0LCBkdWUgdG8g
YmVpbmcgYSBzbG93IGluc3RydWN0aW9uLgogI2lmZGVmIFVTRV9HQVRIRVIKLV9fZGVjbHNwZWMo
bmFrZWQpCi12b2lkIEFSR0JVbmF0dGVudWF0ZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQlVuYXR0ZW51YXRlUm93X0FWWDIoY29u
c3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7Ci0gICAgbW92ICAgICAg
ICBlYXgsIFtlc3AgKyA0XSAgIC8vIHNyY19hcmdiMAotICAgIG1vdiAgICAgICAgZWR4LCBbZXNw
ICsgOF0gICAvLyBkc3RfYXJnYgorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIHNy
Y19hcmdiMAorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdF9hcmdiCiAgICAg
bW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gIC8vIHdpZHRoCiAgICAgc3ViICAgICAgICBlZHgs
IGVheAogICAgIHZicm9hZGNhc3RmMTI4IHltbTQsIHhtbXdvcmQgcHRyIGtVbmF0dGVuU2h1ZmZs
ZUFscGhhX0FWWDIKIAogIGNvbnZlcnRsb29wOgotICAgIHZtb3ZkcXUgICAgeW1tNiwgW2VheF0g
ICAgICAgLy8gcmVhZCA4IHBpeGVscy4KKyAgICB2bW92ZHF1ICAgIHltbTYsIFtlYXhdICAvLyBy
ZWFkIDggcGl4ZWxzLgogICAgIHZwY21wZXFiICAgeW1tNSwgeW1tNSwgeW1tNSAgLy8gZ2VuZXJh
dGUgbWFzayAweGZmZmZmZmZmIGZvciBnYXRoZXIuCi0gICAgdnBzcmxkICAgICB5bW0yLCB5bW02
LCAyNCAgICAvLyBhbHBoYSBpbiBsb3cgOCBiaXRzLgorICAgIHZwc3JsZCAgICAgeW1tMiwgeW1t
NiwgMjQgIC8vIGFscGhhIGluIGxvdyA4IGJpdHMuCiAgICAgdnB1bnBja2xidyB5bW0wLCB5bW02
LCB5bW02ICAvLyBsb3cgNCBwaXhlbHMuIG11dGF0ZWQuCiAgICAgdnB1bnBja2hidyB5bW0xLCB5
bW02LCB5bW02ICAvLyBoaWdoIDQgcGl4ZWxzLiBtdXRhdGVkLgogICAgIHZwZ2F0aGVyZGQgeW1t
MywgW3ltbTIgKiA0ICsgZml4ZWRfaW52dGJsOF0sIHltbTUgIC8vIHltbTUgY2xlYXJlZC4gIDEs
IGEKQEAgLTQ0MTAsNTAgKzQ0MjUsNTAgQEAgdm9pZCBBUkdCVW5hdHRlbnVhdGVSb3dfQVZYMihj
b25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKICAgICByZXQKICAgfQogfQot
I2Vsc2UgIC8vIFVTRV9HQVRIRVIKLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0JVbmF0dGVu
dWF0ZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyNlbHNlICAgLy8gVVNFX0dB
VEhFUgorX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCVW5hdHRlbnVhdGVSb3dfQVZYMihjb25z
dCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKIAogICAgIHB1c2ggICAg
ICAgZWJ4CiAgICAgcHVzaCAgICAgICBlc2kKICAgICBwdXNoICAgICAgIGVkaQotICAgIG1vdiAg
ICAgICAgZWF4LCBbZXNwICsgMTIgKyA0XSAgIC8vIHNyY19hcmdiCi0gICAgbW92ICAgICAgICBl
ZHgsIFtlc3AgKyAxMiArIDhdICAgLy8gZHN0X2FyZ2IKKyAgICBtb3YgICAgICAgIGVheCwgW2Vz
cCArIDEyICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMiAr
IDhdICAvLyBkc3RfYXJnYgogICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTIgKyAxMl0gIC8v
IHdpZHRoCiAgICAgc3ViICAgICAgICBlZHgsIGVheAogICAgIGxlYSAgICAgICAgZWJ4LCBmaXhl
ZF9pbnZ0Ymw4CiAgICAgdmJyb2FkY2FzdGYxMjggeW1tNSwgeG1td29yZCBwdHIga1VuYXR0ZW5T
aHVmZmxlQWxwaGFfQVZYMgogCiAgY29udmVydGxvb3A6Ci0gICAgLy8gcmVwbGFjZSBWUEdBVEhF
UgotICAgIG1vdnp4ICAgICAgZXNpLCBieXRlIHB0ciBbZWF4ICsgM10gICAgICAgICAgICAgICAg
IC8vIGFscGhhMAotICAgIG1vdnp4ICAgICAgZWRpLCBieXRlIHB0ciBbZWF4ICsgN10gICAgICAg
ICAgICAgICAgIC8vIGFscGhhMQorICAgICAgICAvLyByZXBsYWNlIFZQR0FUSEVSCisgICAgbW92
enggICAgICBlc2ksIGJ5dGUgcHRyIFtlYXggKyAzXSAgLy8gYWxwaGEwCisgICAgbW92enggICAg
ICBlZGksIGJ5dGUgcHRyIFtlYXggKyA3XSAgLy8gYWxwaGExCiAgICAgdm1vdmQgICAgICB4bW0w
LCBkd29yZCBwdHIgW2VieCArIGVzaSAqIDRdICAvLyBbMSxhMF0KICAgICB2bW92ZCAgICAgIHht
bTEsIGR3b3JkIHB0ciBbZWJ4ICsgZWRpICogNF0gIC8vIFsxLGExXQotICAgIG1vdnp4ICAgICAg
ZXNpLCBieXRlIHB0ciBbZWF4ICsgMTFdICAgICAgICAgICAgICAgIC8vIGFscGhhMgotICAgIG1v
dnp4ICAgICAgZWRpLCBieXRlIHB0ciBbZWF4ICsgMTVdICAgICAgICAgICAgICAgIC8vIGFscGhh
MwotICAgIHZwdW5wY2tsZHEgeG1tNiwgeG1tMCwgeG1tMSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIFsxLGExLDEsYTBdCisgICAgbW92enggICAgICBlc2ksIGJ5dGUgcHRyIFtlYXggKyAxMV0g
IC8vIGFscGhhMgorICAgIG1vdnp4ICAgICAgZWRpLCBieXRlIHB0ciBbZWF4ICsgMTVdICAvLyBh
bHBoYTMKKyAgICB2cHVucGNrbGRxIHhtbTYsIHhtbTAsIHhtbTEgIC8vIFsxLGExLDEsYTBdCiAg
ICAgdm1vdmQgICAgICB4bW0yLCBkd29yZCBwdHIgW2VieCArIGVzaSAqIDRdICAvLyBbMSxhMl0K
ICAgICB2bW92ZCAgICAgIHhtbTMsIGR3b3JkIHB0ciBbZWJ4ICsgZWRpICogNF0gIC8vIFsxLGEz
XQotICAgIG1vdnp4ICAgICAgZXNpLCBieXRlIHB0ciBbZWF4ICsgMTldICAgICAgICAgICAgICAg
IC8vIGFscGhhNAotICAgIG1vdnp4ICAgICAgZWRpLCBieXRlIHB0ciBbZWF4ICsgMjNdICAgICAg
ICAgICAgICAgIC8vIGFscGhhNQotICAgIHZwdW5wY2tsZHEgeG1tNywgeG1tMiwgeG1tMyAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIFsxLGEzLDEsYTJdCisgICAgbW92enggICAgICBlc2ksIGJ5
dGUgcHRyIFtlYXggKyAxOV0gIC8vIGFscGhhNAorICAgIG1vdnp4ICAgICAgZWRpLCBieXRlIHB0
ciBbZWF4ICsgMjNdICAvLyBhbHBoYTUKKyAgICB2cHVucGNrbGRxIHhtbTcsIHhtbTIsIHhtbTMg
IC8vIFsxLGEzLDEsYTJdCiAgICAgdm1vdmQgICAgICB4bW0wLCBkd29yZCBwdHIgW2VieCArIGVz
aSAqIDRdICAvLyBbMSxhNF0KICAgICB2bW92ZCAgICAgIHhtbTEsIGR3b3JkIHB0ciBbZWJ4ICsg
ZWRpICogNF0gIC8vIFsxLGE1XQotICAgIG1vdnp4ICAgICAgZXNpLCBieXRlIHB0ciBbZWF4ICsg
MjddICAgICAgICAgICAgICAgIC8vIGFscGhhNgotICAgIG1vdnp4ICAgICAgZWRpLCBieXRlIHB0
ciBbZWF4ICsgMzFdICAgICAgICAgICAgICAgIC8vIGFscGhhNwotICAgIHZwdW5wY2tsZHEgeG1t
MCwgeG1tMCwgeG1tMSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFsxLGE1LDEsYTRdCisgICAg
bW92enggICAgICBlc2ksIGJ5dGUgcHRyIFtlYXggKyAyN10gIC8vIGFscGhhNgorICAgIG1vdnp4
ICAgICAgZWRpLCBieXRlIHB0ciBbZWF4ICsgMzFdICAvLyBhbHBoYTcKKyAgICB2cHVucGNrbGRx
IHhtbTAsIHhtbTAsIHhtbTEgIC8vIFsxLGE1LDEsYTRdCiAgICAgdm1vdmQgICAgICB4bW0yLCBk
d29yZCBwdHIgW2VieCArIGVzaSAqIDRdICAvLyBbMSxhNl0KICAgICB2bW92ZCAgICAgIHhtbTMs
IGR3b3JkIHB0ciBbZWJ4ICsgZWRpICogNF0gIC8vIFsxLGE3XQotICAgIHZwdW5wY2tsZHEgeG1t
MiwgeG1tMiwgeG1tMyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFsxLGE3LDEsYTZdCi0gICAg
dnB1bnBja2xxZHEgeG1tMywgeG1tNiwgeG1tNyAgICAgICAgICAgICAgICAgICAgICAgLy8gWzEs
YTMsMSxhMiwxLGExLDEsYTBdCi0gICAgdnB1bnBja2xxZHEgeG1tMCwgeG1tMCwgeG1tMiAgICAg
ICAgICAgICAgICAgICAgICAgLy8gWzEsYTcsMSxhNiwxLGE1LDEsYTRdCi0gICAgdmluc2VydGkx
MjggeW1tMywgeW1tMywgeG1tMCwgMSAvLyBbMSxhNywxLGE2LDEsYTUsMSxhNCwxLGEzLDEsYTIs
MSxhMSwxLGEwXQorICAgIHZwdW5wY2tsZHEgeG1tMiwgeG1tMiwgeG1tMyAgLy8gWzEsYTcsMSxh
Nl0KKyAgICB2cHVucGNrbHFkcSB4bW0zLCB4bW02LCB4bW03ICAvLyBbMSxhMywxLGEyLDEsYTEs
MSxhMF0KKyAgICB2cHVucGNrbHFkcSB4bW0wLCB4bW0wLCB4bW0yICAvLyBbMSxhNywxLGE2LDEs
YTUsMSxhNF0KKyAgICB2aW5zZXJ0aTEyOCB5bW0zLCB5bW0zLCB4bW0wLCAxICAgICAgICAgICAg
ICAgIC8vIFsxLGE3LDEsYTYsMSxhNSwxLGE0LDEsYTMsMSxhMiwxLGExLDEsYTBdCiAgICAgLy8g
ZW5kIG9mIFZQR0FUSEVSCiAKLSAgICB2bW92ZHF1ICAgIHltbTYsIFtlYXhdICAgICAgIC8vIHJl
YWQgOCBwaXhlbHMuCisgICAgdm1vdmRxdSAgICB5bW02LCBbZWF4XSAgLy8gcmVhZCA4IHBpeGVs
cy4KICAgICB2cHVucGNrbGJ3IHltbTAsIHltbTYsIHltbTYgIC8vIGxvdyA0IHBpeGVscy4gbXV0
YXRlZC4KICAgICB2cHVucGNraGJ3IHltbTEsIHltbTYsIHltbTYgIC8vIGhpZ2ggNCBwaXhlbHMu
IG11dGF0ZWQuCiAgICAgdnB1bnBja2x3ZCB5bW0yLCB5bW0zLCB5bW0zICAvLyBsb3cgNCBpbnZl
cnRlZCBhbHBoYXMuIG11dGF0ZWQuIDEsIDEsIGEsIGEKQEAgLTQ0NjIsNyArNDQ3Nyw3IEBAIHZv
aWQgQVJHQlVuYXR0ZW51YXRlUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCog
ZHN0X2FyZ2IsCiAgICAgdnBzaHVmYiAgICB5bW0zLCB5bW0zLCB5bW01ICAvLyByZXBsaWNhdGUg
aGlnaCA0IGFscGhhcwogICAgIHZwbXVsaHV3ICAgeW1tMCwgeW1tMCwgeW1tMiAgLy8gcmdiICog
aWEKICAgICB2cG11bGh1dyAgIHltbTEsIHltbTEsIHltbTMgIC8vIHJnYiAqIGlhCi0gICAgdnBh
Y2t1c3diICB5bW0wLCB5bW0wLCB5bW0xICAvLyB1bm11dGF0ZWQuCisgICAgdnBhY2t1c3diICB5
bW0wLCB5bW0wLCB5bW0xICAgICAgICAgICAgIC8vIHVubXV0YXRlZC4KICAgICB2bW92ZHF1ICAg
IFtlYXggKyBlZHhdLCB5bW0wCiAgICAgbGVhICAgICAgICBlYXgsIFtlYXggKyAzMl0KICAgICBz
dWIgICAgICAgIGVjeCwgOApAQCAtNDQ4MCwxMiArNDQ5NSwxMyBAQCB2b2lkIEFSR0JVbmF0dGVu
dWF0ZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAogCiAj
aWZkZWYgSEFTX0FSR0JHUkFZUk9XX1NTU0UzCiAvLyBDb252ZXJ0IDggQVJHQiBwaXhlbHMgKDY0
IGJ5dGVzKSB0byA4IEdyYXkgQVJHQiBwaXhlbHMuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBB
UkdCR3JheVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwg
aW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEFSR0JHcmF5Um93X1NTU0UzKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNw
ICsgNF0gICAvKiBzcmNfYXJnYiAqLwotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAv
KiBkc3RfYXJnYiAqLwotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAvKiB3aWR0aCAq
LworICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gLyogc3JjX2FyZ2IgKi8KKyAgICBtb3Yg
ICAgICAgIGVkeCwgW2VzcCArIDhdIC8qIGRzdF9hcmdiICovCisgICAgbW92ICAgICAgICBlY3gs
IFtlc3AgKyAxMl0gLyogd2lkdGggKi8KICAgICBtb3ZkcWEgICAgIHhtbTQsIHhtbXdvcmQgcHRy
IGtBUkdCVG9ZSgogICAgIG1vdmRxYSAgICAgeG1tNSwgeG1td29yZCBwdHIga0FkZFlKNjQKIApA
QCAtNDQ5NywyMCArNDUxMywyMCBAQCB2b2lkIEFSR0JHcmF5Um93X1NTU0UzKGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKICAgICBwaGFkZHcgICAg
IHhtbTAsIHhtbTEKICAgICBwYWRkdyAgICAgIHhtbTAsIHhtbTUgIC8vIEFkZCAuNSBmb3Igcm91
bmRpbmcuCiAgICAgcHNybHcgICAgICB4bW0wLCA3Ci0gICAgcGFja3Vzd2IgICB4bW0wLCB4bW0w
ICAgLy8gOCBHIGJ5dGVzCisgICAgcGFja3Vzd2IgICB4bW0wLCB4bW0wICAvLyA4IEcgYnl0ZXMK
ICAgICBtb3ZkcXUgICAgIHhtbTIsIFtlYXhdICAvLyBBCiAgICAgbW92ZHF1ICAgICB4bW0zLCBb
ZWF4ICsgMTZdCiAgICAgbGVhICAgICAgICBlYXgsIFtlYXggKyAzMl0KICAgICBwc3JsZCAgICAg
IHhtbTIsIDI0CiAgICAgcHNybGQgICAgICB4bW0zLCAyNAogICAgIHBhY2t1c3diICAgeG1tMiwg
eG1tMwotICAgIHBhY2t1c3diICAgeG1tMiwgeG1tMiAgIC8vIDggQSBieXRlcwotICAgIG1vdmRx
YSAgICAgeG1tMywgeG1tMCAgIC8vIFdlYXZlIGludG8gR0csIEdBLCB0aGVuIEdHR0EKLSAgICBw
dW5wY2tsYncgIHhtbTAsIHhtbTAgICAvLyA4IEdHIHdvcmRzCi0gICAgcHVucGNrbGJ3ICB4bW0z
LCB4bW0yICAgLy8gOCBHQSB3b3JkcworICAgIHBhY2t1c3diICAgeG1tMiwgeG1tMiAgLy8gOCBB
IGJ5dGVzCisgICAgbW92ZHFhICAgICB4bW0zLCB4bW0wICAvLyBXZWF2ZSBpbnRvIEdHLCBHQSwg
dGhlbiBHR0dBCisgICAgcHVucGNrbGJ3ICB4bW0wLCB4bW0wICAvLyA4IEdHIHdvcmRzCisgICAg
cHVucGNrbGJ3ICB4bW0zLCB4bW0yICAvLyA4IEdBIHdvcmRzCiAgICAgbW92ZHFhICAgICB4bW0x
LCB4bW0wCi0gICAgcHVucGNrbHdkICB4bW0wLCB4bW0zICAgLy8gR0dHQSBmaXJzdCA0Ci0gICAg
cHVucGNraHdkICB4bW0xLCB4bW0zICAgLy8gR0dHQSBuZXh0IDQKKyAgICBwdW5wY2tsd2QgIHht
bTAsIHhtbTMgIC8vIEdHR0EgZmlyc3QgNAorICAgIHB1bnBja2h3ZCAgeG1tMSwgeG1tMyAgLy8g
R0dHQSBuZXh0IDQKICAgICBtb3ZkcXUgICAgIFtlZHhdLCB4bW0wCiAgICAgbW92ZHF1ICAgICBb
ZWR4ICsgMTZdLCB4bW0xCiAgICAgbGVhICAgICAgICBlZHgsIFtlZHggKyAzMl0KQEAgLTQ1MjYs
MjQgKzQ1NDIsMjAgQEAgdm9pZCBBUkdCR3JheVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7CiAvLyAgICBnID0gKHIgKiA0NSArIGcg
KiA4OCArIGIgKiAyMikgPj4gNwogLy8gICAgciA9IChyICogNTAgKyBnICogOTggKyBiICogMjQp
ID4+IDcKIC8vIENvbnN0YW50IGZvciBBUkdCIGNvbG9yIHRvIHNlcGlhIHRvbmUuCi1zdGF0aWMg
Y29uc3QgdmVjOCBrQVJHQlRvU2VwaWFCID0gewotICAxNywgNjgsIDM1LCAwLCAxNywgNjgsIDM1
LCAwLCAxNywgNjgsIDM1LCAwLCAxNywgNjgsIDM1LCAwCi19Oworc3RhdGljIGNvbnN0IHZlYzgg
a0FSR0JUb1NlcGlhQiA9IHsxNywgNjgsIDM1LCAwLCAxNywgNjgsIDM1LCAwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxNywgNjgsIDM1LCAwLCAxNywgNjgsIDM1LCAwfTsK
IAotc3RhdGljIGNvbnN0IHZlYzgga0FSR0JUb1NlcGlhRyA9IHsKLSAgMjIsIDg4LCA0NSwgMCwg
MjIsIDg4LCA0NSwgMCwgMjIsIDg4LCA0NSwgMCwgMjIsIDg4LCA0NSwgMAotfTsKK3N0YXRpYyBj
b25zdCB2ZWM4IGtBUkdCVG9TZXBpYUcgPSB7MjIsIDg4LCA0NSwgMCwgMjIsIDg4LCA0NSwgMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjIsIDg4LCA0NSwgMCwgMjIsIDg4
LCA0NSwgMH07CiAKLXN0YXRpYyBjb25zdCB2ZWM4IGtBUkdCVG9TZXBpYVIgPSB7Ci0gIDI0LCA5
OCwgNTAsIDAsIDI0LCA5OCwgNTAsIDAsIDI0LCA5OCwgNTAsIDAsIDI0LCA5OCwgNTAsIDAKLX07
CitzdGF0aWMgY29uc3QgdmVjOCBrQVJHQlRvU2VwaWFSID0gezI0LCA5OCwgNTAsIDAsIDI0LCA5
OCwgNTAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI0LCA5OCwgNTAs
IDAsIDI0LCA5OCwgNTAsIDB9OwogCiAvLyBDb252ZXJ0IDggQVJHQiBwaXhlbHMgKDMyIGJ5dGVz
KSB0byA4IFNlcGlhIEFSR0IgcGl4ZWxzLgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQVJHQlNl
cGlhUm93X1NTU0UzKHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5h
a2VkKSB2b2lkIEFSR0JTZXBpYVJvd19TU1NFMyh1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkg
ewogICBfX2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8qIGRzdF9hcmdi
ICovCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA4XSAgIC8qIHdpZHRoICovCisgICAgbW92
ICAgICAgICBlYXgsIFtlc3AgKyA0XSAvKiBkc3RfYXJnYiAqLworICAgIG1vdiAgICAgICAgZWN4
LCBbZXNwICsgOF0gLyogd2lkdGggKi8KICAgICBtb3ZkcWEgICAgIHhtbTIsIHhtbXdvcmQgcHRy
IGtBUkdCVG9TZXBpYUIKICAgICBtb3ZkcWEgICAgIHhtbTMsIHhtbXdvcmQgcHRyIGtBUkdCVG9T
ZXBpYUcKICAgICBtb3ZkcWEgICAgIHhtbTQsIHhtbXdvcmQgcHRyIGtBUkdCVG9TZXBpYVIKQEAg
LTQ1NTUsMzIgKzQ1NjcsMzIgQEAgdm9pZCBBUkdCU2VwaWFSb3dfU1NTRTModWludDgqIGRzdF9h
cmdiLCBpbnQgd2lkdGgpIHsKICAgICBwbWFkZHVic3cgIHhtbTYsIHhtbTIKICAgICBwaGFkZHcg
ICAgIHhtbTAsIHhtbTYKICAgICBwc3JsdyAgICAgIHhtbTAsIDcKLSAgICBwYWNrdXN3YiAgIHht
bTAsIHhtbTAgICAvLyA4IEIgdmFsdWVzCisgICAgcGFja3Vzd2IgICB4bW0wLCB4bW0wICAvLyA4
IEIgdmFsdWVzCiAgICAgbW92ZHF1ICAgICB4bW01LCBbZWF4XSAgLy8gRwogICAgIG1vdmRxdSAg
ICAgeG1tMSwgW2VheCArIDE2XQogICAgIHBtYWRkdWJzdyAgeG1tNSwgeG1tMwogICAgIHBtYWRk
dWJzdyAgeG1tMSwgeG1tMwogICAgIHBoYWRkdyAgICAgeG1tNSwgeG1tMQogICAgIHBzcmx3ICAg
ICAgeG1tNSwgNwotICAgIHBhY2t1c3diICAgeG1tNSwgeG1tNSAgIC8vIDggRyB2YWx1ZXMKLSAg
ICBwdW5wY2tsYncgIHhtbTAsIHhtbTUgICAvLyA4IEJHIHZhbHVlcworICAgIHBhY2t1c3diICAg
eG1tNSwgeG1tNSAgLy8gOCBHIHZhbHVlcworICAgIHB1bnBja2xidyAgeG1tMCwgeG1tNSAgLy8g
OCBCRyB2YWx1ZXMKICAgICBtb3ZkcXUgICAgIHhtbTUsIFtlYXhdICAvLyBSCiAgICAgbW92ZHF1
ICAgICB4bW0xLCBbZWF4ICsgMTZdCiAgICAgcG1hZGR1YnN3ICB4bW01LCB4bW00CiAgICAgcG1h
ZGR1YnN3ICB4bW0xLCB4bW00CiAgICAgcGhhZGR3ICAgICB4bW01LCB4bW0xCiAgICAgcHNybHcg
ICAgICB4bW01LCA3Ci0gICAgcGFja3Vzd2IgICB4bW01LCB4bW01ICAgLy8gOCBSIHZhbHVlcwor
ICAgIHBhY2t1c3diICAgeG1tNSwgeG1tNSAgLy8gOCBSIHZhbHVlcwogICAgIG1vdmRxdSAgICAg
eG1tNiwgW2VheF0gIC8vIEEKICAgICBtb3ZkcXUgICAgIHhtbTEsIFtlYXggKyAxNl0KICAgICBw
c3JsZCAgICAgIHhtbTYsIDI0CiAgICAgcHNybGQgICAgICB4bW0xLCAyNAogICAgIHBhY2t1c3di
ICAgeG1tNiwgeG1tMQotICAgIHBhY2t1c3diICAgeG1tNiwgeG1tNiAgIC8vIDggQSB2YWx1ZXMK
LSAgICBwdW5wY2tsYncgIHhtbTUsIHhtbTYgICAvLyA4IFJBIHZhbHVlcwotICAgIG1vdmRxYSAg
ICAgeG1tMSwgeG1tMCAgIC8vIFdlYXZlIEJHLCBSQSB0b2dldGhlcgotICAgIHB1bnBja2x3ZCAg
eG1tMCwgeG1tNSAgIC8vIEJHUkEgZmlyc3QgNAotICAgIHB1bnBja2h3ZCAgeG1tMSwgeG1tNSAg
IC8vIEJHUkEgbmV4dCA0CisgICAgcGFja3Vzd2IgICB4bW02LCB4bW02ICAvLyA4IEEgdmFsdWVz
CisgICAgcHVucGNrbGJ3ICB4bW01LCB4bW02ICAvLyA4IFJBIHZhbHVlcworICAgIG1vdmRxYSAg
ICAgeG1tMSwgeG1tMCAgLy8gV2VhdmUgQkcsIFJBIHRvZ2V0aGVyCisgICAgcHVucGNrbHdkICB4
bW0wLCB4bW01ICAvLyBCR1JBIGZpcnN0IDQKKyAgICBwdW5wY2tod2QgIHhtbTEsIHhtbTUgIC8v
IEJHUkEgbmV4dCA0CiAgICAgbW92ZHF1ICAgICBbZWF4XSwgeG1tMAogICAgIG1vdmRxdSAgICAg
W2VheCArIDE2XSwgeG1tMQogICAgIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMzJdCkBAIC00NTk2
LDE5ICs0NjA4LDIwIEBAIHZvaWQgQVJHQlNlcGlhUm93X1NTU0UzKHVpbnQ4KiBkc3RfYXJnYiwg
aW50IHdpZHRoKSB7CiAvLyBTYW1lIGFzIFNlcGlhIGV4Y2VwdCBtYXRyaXggaXMgcHJvdmlkZWQu
CiAvLyBUT0RPKGZiYXJjaGFyZCk6IHBhY2t1c3dicyBvbmx5IHVzZSBoYWxmIG9mIHRoZSByZWcu
IFRvIG1ha2UgUkdCQSwgY29tYmluZSBSCiAvLyBhbmQgQiBpbnRvIGEgaGlnaCBhbmQgbG93LCB0
aGVuIEcvQSwgdW5wYWNrbC9oYncgYW5kIHRoZW4gdW5wY2tsL2h3ZC4KLV9fZGVjbHNwZWMobmFr
ZWQpCi12b2lkIEFSR0JDb2xvck1hdHJpeFJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2Is
IHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu
dDgqIG1hdHJpeF9hcmdiLCBpbnQgd2lkdGgpIHsKLSAgX19hc20gewotICAgIG1vdiAgICAgICAg
ZWF4LCBbZXNwICsgNF0gICAvKiBzcmNfYXJnYiAqLwotICAgIG1vdiAgICAgICAgZWR4LCBbZXNw
ICsgOF0gICAvKiBkc3RfYXJnYiAqLwotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAv
KiBtYXRyaXhfYXJnYiAqLworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCQ29sb3JNYXRyaXhS
b3dfU1NTRTMoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OCogbWF0cml4X2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpIHsKKyAgX19hc20geworICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gLyogc3JjX2Fy
Z2IgKi8KKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdIC8qIGRzdF9hcmdiICovCisgICAg
bW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gLyogbWF0cml4X2FyZ2IgKi8KICAgICBtb3ZkcXUg
ICAgIHhtbTUsIFtlY3hdCiAgICAgcHNodWZkICAgICB4bW0yLCB4bW01LCAweDAwCiAgICAgcHNo
dWZkICAgICB4bW0zLCB4bW01LCAweDU1CiAgICAgcHNodWZkICAgICB4bW00LCB4bW01LCAweGFh
CiAgICAgcHNodWZkICAgICB4bW01LCB4bW01LCAweGZmCi0gICAgbW92ICAgICAgICBlY3gsIFtl
c3AgKyAxNl0gIC8qIHdpZHRoICovCisgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxNl0gLyog
d2lkdGggKi8KIAogIGNvbnZlcnRsb29wOgogICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0gIC8v
IEIKQEAgLTQ2MTksMzEgKzQ2MzIsMzEgQEAgdm9pZCBBUkdCQ29sb3JNYXRyaXhSb3dfU1NTRTMo
Y29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCiAgICAgbW92ZHF1ICAgICB4
bW0xLCBbZWF4ICsgMTZdCiAgICAgcG1hZGR1YnN3ICB4bW02LCB4bW0zCiAgICAgcG1hZGR1YnN3
ICB4bW0xLCB4bW0zCi0gICAgcGhhZGRzdyAgICB4bW0wLCB4bW03ICAgLy8gQgotICAgIHBoYWRk
c3cgICAgeG1tNiwgeG1tMSAgIC8vIEcKLSAgICBwc3JhdyAgICAgIHhtbTAsIDYgICAgICAvLyBC
Ci0gICAgcHNyYXcgICAgICB4bW02LCA2ICAgICAgLy8gRwotICAgIHBhY2t1c3diICAgeG1tMCwg
eG1tMCAgIC8vIDggQiB2YWx1ZXMKLSAgICBwYWNrdXN3YiAgIHhtbTYsIHhtbTYgICAvLyA4IEcg
dmFsdWVzCi0gICAgcHVucGNrbGJ3ICB4bW0wLCB4bW02ICAgLy8gOCBCRyB2YWx1ZXMKKyAgICBw
aGFkZHN3ICAgIHhtbTAsIHhtbTcgIC8vIEIKKyAgICBwaGFkZHN3ICAgIHhtbTYsIHhtbTEgIC8v
IEcKKyAgICBwc3JhdyAgICAgIHhtbTAsIDYgIC8vIEIKKyAgICBwc3JhdyAgICAgIHhtbTYsIDYg
IC8vIEcKKyAgICBwYWNrdXN3YiAgIHhtbTAsIHhtbTAgIC8vIDggQiB2YWx1ZXMKKyAgICBwYWNr
dXN3YiAgIHhtbTYsIHhtbTYgIC8vIDggRyB2YWx1ZXMKKyAgICBwdW5wY2tsYncgIHhtbTAsIHht
bTYgIC8vIDggQkcgdmFsdWVzCiAgICAgbW92ZHF1ICAgICB4bW0xLCBbZWF4XSAgLy8gUgogICAg
IG1vdmRxdSAgICAgeG1tNywgW2VheCArIDE2XQogICAgIHBtYWRkdWJzdyAgeG1tMSwgeG1tNAog
ICAgIHBtYWRkdWJzdyAgeG1tNywgeG1tNAotICAgIHBoYWRkc3cgICAgeG1tMSwgeG1tNyAgIC8v
IFIKKyAgICBwaGFkZHN3ICAgIHhtbTEsIHhtbTcgIC8vIFIKICAgICBtb3ZkcXUgICAgIHhtbTYs
IFtlYXhdICAvLyBBCiAgICAgbW92ZHF1ICAgICB4bW03LCBbZWF4ICsgMTZdCiAgICAgcG1hZGR1
YnN3ICB4bW02LCB4bW01CiAgICAgcG1hZGR1YnN3ICB4bW03LCB4bW01Ci0gICAgcGhhZGRzdyAg
ICB4bW02LCB4bW03ICAgLy8gQQotICAgIHBzcmF3ICAgICAgeG1tMSwgNiAgICAgIC8vIFIKLSAg
ICBwc3JhdyAgICAgIHhtbTYsIDYgICAgICAvLyBBCi0gICAgcGFja3Vzd2IgICB4bW0xLCB4bW0x
ICAgLy8gOCBSIHZhbHVlcwotICAgIHBhY2t1c3diICAgeG1tNiwgeG1tNiAgIC8vIDggQSB2YWx1
ZXMKLSAgICBwdW5wY2tsYncgIHhtbTEsIHhtbTYgICAvLyA4IFJBIHZhbHVlcwotICAgIG1vdmRx
YSAgICAgeG1tNiwgeG1tMCAgIC8vIFdlYXZlIEJHLCBSQSB0b2dldGhlcgotICAgIHB1bnBja2x3
ZCAgeG1tMCwgeG1tMSAgIC8vIEJHUkEgZmlyc3QgNAotICAgIHB1bnBja2h3ZCAgeG1tNiwgeG1t
MSAgIC8vIEJHUkEgbmV4dCA0CisgICAgcGhhZGRzdyAgICB4bW02LCB4bW03ICAvLyBBCisgICAg
cHNyYXcgICAgICB4bW0xLCA2ICAvLyBSCisgICAgcHNyYXcgICAgICB4bW02LCA2ICAvLyBBCisg
ICAgcGFja3Vzd2IgICB4bW0xLCB4bW0xICAvLyA4IFIgdmFsdWVzCisgICAgcGFja3Vzd2IgICB4
bW02LCB4bW02ICAvLyA4IEEgdmFsdWVzCisgICAgcHVucGNrbGJ3ICB4bW0xLCB4bW02ICAvLyA4
IFJBIHZhbHVlcworICAgIG1vdmRxYSAgICAgeG1tNiwgeG1tMCAgLy8gV2VhdmUgQkcsIFJBIHRv
Z2V0aGVyCisgICAgcHVucGNrbHdkICB4bW0wLCB4bW0xICAvLyBCR1JBIGZpcnN0IDQKKyAgICBw
dW5wY2tod2QgIHhtbTYsIHhtbTEgIC8vIEJHUkEgbmV4dCA0CiAgICAgbW92ZHF1ICAgICBbZWR4
XSwgeG1tMAogICAgIG1vdmRxdSAgICAgW2VkeCArIDE2XSwgeG1tNgogICAgIGxlYSAgICAgICAg
ZWF4LCBbZWF4ICsgMzJdCkBAIC00NjU3LDE1ICs0NjcwLDE3IEBAIHZvaWQgQVJHQkNvbG9yTWF0
cml4Um93X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAogCiAj
aWZkZWYgSEFTX0FSR0JRVUFOVElaRVJPV19TU0UyCiAvLyBRdWFudGl6ZSA0IEFSR0IgcGl4ZWxz
ICgxNiBieXRlcykuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCUXVhbnRpemVSb3dfU1NF
Mih1aW50OCogZHN0X2FyZ2IsIGludCBzY2FsZSwgaW50IGludGVydmFsX3NpemUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBpbnRlcnZhbF9vZmZzZXQsIGludCB3aWR0aCkgewotICBf
X2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgICAvKiBkc3RfYXJnYiAqLwot
ICAgIG1vdmQgICAgICAgeG1tMiwgW2VzcCArIDhdICAgLyogc2NhbGUgKi8KLSAgICBtb3ZkICAg
ICAgIHhtbTMsIFtlc3AgKyAxMl0gIC8qIGludGVydmFsX3NpemUgKi8KLSAgICBtb3ZkICAgICAg
IHhtbTQsIFtlc3AgKyAxNl0gIC8qIGludGVydmFsX29mZnNldCAqLwotICAgIG1vdiAgICAgICAg
ZWN4LCBbZXNwICsgMjBdICAgLyogd2lkdGggKi8KK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJH
QlF1YW50aXplUm93X1NTRTIodWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2NhbGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBpbnRlcnZhbF9zaXplLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50ZXJ2YWxfb2Zmc2V0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKKyAgX19h
c20geworICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gLyogZHN0X2FyZ2IgKi8KKyAgICBt
b3ZkICAgICAgIHhtbTIsIFtlc3AgKyA4XSAvKiBzY2FsZSAqLworICAgIG1vdmQgICAgICAgeG1t
MywgW2VzcCArIDEyXSAvKiBpbnRlcnZhbF9zaXplICovCisgICAgbW92ZCAgICAgICB4bW00LCBb
ZXNwICsgMTZdIC8qIGludGVydmFsX29mZnNldCAqLworICAgIG1vdiAgICAgICAgZWN4LCBbZXNw
ICsgMjBdIC8qIHdpZHRoICovCiAgICAgcHNodWZsdyAgICB4bW0yLCB4bW0yLCAwNDBoCiAgICAg
cHNodWZkICAgICB4bW0yLCB4bW0yLCAwNDRoCiAgICAgcHNodWZsdyAgICB4bW0zLCB4bW0zLCAw
NDBoCkBAIC00Njc4LDE2ICs0NjkzLDE2IEBAIHZvaWQgQVJHQlF1YW50aXplUm93X1NTRTIodWlu
dDgqIGRzdF9hcmdiLCBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9zaXplLAogCiAgY29udmVydGxv
b3A6CiAgICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgLy8gcmVhZCA0IHBpeGVscwotICAgIHB1
bnBja2xidyAgeG1tMCwgeG1tNSAgIC8vIGZpcnN0IDIgcGl4ZWxzCi0gICAgcG11bGh1dyAgICB4
bW0wLCB4bW0yICAgLy8gcGl4ZWwgKiBzY2FsZSA+PiAxNgorICAgIHB1bnBja2xidyAgeG1tMCwg
eG1tNSAgLy8gZmlyc3QgMiBwaXhlbHMKKyAgICBwbXVsaHV3ICAgIHhtbTAsIHhtbTIgIC8vIHBp
eGVsICogc2NhbGUgPj4gMTYKICAgICBtb3ZkcXUgICAgIHhtbTEsIFtlYXhdICAvLyByZWFkIDQg
cGl4ZWxzCi0gICAgcHVucGNraGJ3ICB4bW0xLCB4bW01ICAgLy8gbmV4dCAyIHBpeGVscworICAg
IHB1bnBja2hidyAgeG1tMSwgeG1tNSAgLy8gbmV4dCAyIHBpeGVscwogICAgIHBtdWxodXcgICAg
eG1tMSwgeG1tMgotICAgIHBtdWxsdyAgICAgeG1tMCwgeG1tMyAgIC8vICogaW50ZXJ2YWxfc2l6
ZQorICAgIHBtdWxsdyAgICAgeG1tMCwgeG1tMyAgLy8gKiBpbnRlcnZhbF9zaXplCiAgICAgbW92
ZHF1ICAgICB4bW03LCBbZWF4XSAgLy8gcmVhZCA0IHBpeGVscwogICAgIHBtdWxsdyAgICAgeG1t
MSwgeG1tMwotICAgIHBhbmQgICAgICAgeG1tNywgeG1tNiAgIC8vIG1hc2sgYWxwaGEKLSAgICBw
YWRkdyAgICAgIHhtbTAsIHhtbTQgICAvLyArIGludGVydmFsX3NpemUgLyAyCisgICAgcGFuZCAg
ICAgICB4bW03LCB4bW02ICAvLyBtYXNrIGFscGhhCisgICAgcGFkZHcgICAgICB4bW0wLCB4bW00
ICAvLyArIGludGVydmFsX3NpemUgLyAyCiAgICAgcGFkZHcgICAgICB4bW0xLCB4bW00CiAgICAg
cGFja3Vzd2IgICB4bW0wLCB4bW0xCiAgICAgcG9yICAgICAgICB4bW0wLCB4bW03CkBAIC00NzAy
LDI1ICs0NzE3LDI2IEBAIHZvaWQgQVJHQlF1YW50aXplUm93X1NTRTIodWludDgqIGRzdF9hcmdi
LCBpbnQgc2NhbGUsIGludCBpbnRlcnZhbF9zaXplLAogCiAjaWZkZWYgSEFTX0FSR0JTSEFERVJP
V19TU0UyCiAvLyBTaGFkZSA0IHBpeGVscyBhdCBhIHRpbWUgYnkgc3BlY2lmaWVkIHZhbHVlLgot
X19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQVJHQlNoYWRlUm93X1NTRTIoY29uc3QgdWludDgqIHNy
Y19hcmdiLCB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyIHZhbHVlKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEFSR0JTaGFkZVJvd19T
U0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQzMiB2YWx1ZSkgewogICBfX2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgs
IFtlc3AgKyA0XSAgIC8vIHNyY19hcmdiCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAg
IC8vIGRzdF9hcmdiCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX2FyZ2IK
KyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAvLyBkc3RfYXJnYgogICAgIG1vdiAgICAg
ICAgZWN4LCBbZXNwICsgMTJdICAvLyB3aWR0aAogICAgIG1vdmQgICAgICAgeG1tMiwgW2VzcCAr
IDE2XSAgLy8gdmFsdWUKICAgICBwdW5wY2tsYncgIHhtbTIsIHhtbTIKICAgICBwdW5wY2tscWRx
IHhtbTIsIHhtbTIKIAogIGNvbnZlcnRsb29wOgotICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0g
ICAgICAvLyByZWFkIDQgcGl4ZWxzCisgICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgLy8gcmVh
ZCA0IHBpeGVscwogICAgIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMTZdCiAgICAgbW92ZHFhICAg
ICB4bW0xLCB4bW0wCi0gICAgcHVucGNrbGJ3ICB4bW0wLCB4bW0wICAgICAgIC8vIGZpcnN0IDIK
LSAgICBwdW5wY2toYncgIHhtbTEsIHhtbTEgICAgICAgLy8gbmV4dCAyCi0gICAgcG11bGh1dyAg
ICB4bW0wLCB4bW0yICAgICAgIC8vIGFyZ2IgKiB2YWx1ZQotICAgIHBtdWxodXcgICAgeG1tMSwg
eG1tMiAgICAgICAvLyBhcmdiICogdmFsdWUKKyAgICBwdW5wY2tsYncgIHhtbTAsIHhtbTAgIC8v
IGZpcnN0IDIKKyAgICBwdW5wY2toYncgIHhtbTEsIHhtbTEgIC8vIG5leHQgMgorICAgIHBtdWxo
dXcgICAgeG1tMCwgeG1tMiAgLy8gYXJnYiAqIHZhbHVlCisgICAgcG11bGh1dyAgICB4bW0xLCB4
bW0yICAvLyBhcmdiICogdmFsdWUKICAgICBwc3JsdyAgICAgIHhtbTAsIDgKICAgICBwc3JsdyAg
ICAgIHhtbTEsIDgKICAgICBwYWNrdXN3YiAgIHhtbTAsIHhtbTEKQEAgLTQ3MzYsMjggKzQ3NTIs
MjkgQEAgdm9pZCBBUkdCU2hhZGVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4
KiBkc3RfYXJnYiwgaW50IHdpZHRoLAogCiAjaWZkZWYgSEFTX0FSR0JNVUxUSVBMWVJPV19TU0Uy
CiAvLyBNdWx0aXBseSAyIHJvd3Mgb2YgQVJHQiBwaXhlbHMgdG9nZXRoZXIsIDQgcGl4ZWxzIGF0
IGEgdGltZS4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0JNdWx0aXBseVJvd19TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYjAsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjEsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVj
KG5ha2VkKSB2b2lkIEFSR0JNdWx0aXBseVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVzaQotICAgIG1v
diAgICAgICAgZWF4LCBbZXNwICsgNCArIDRdICAgLy8gc3JjX2FyZ2IwCi0gICAgbW92ICAgICAg
ICBlc2ksIFtlc3AgKyA0ICsgOF0gICAvLyBzcmNfYXJnYjEKKyAgICBtb3YgICAgICAgIGVheCwg
W2VzcCArIDQgKyA0XSAgLy8gc3JjX2FyZ2IwCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA0
ICsgOF0gIC8vIHNyY19hcmdiMQogICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDEyXSAg
Ly8gZHN0X2FyZ2IKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRo
CiAgICAgcHhvciAgICAgICB4bW01LCB4bW01ICAvLyBjb25zdGFudCAwCiAKICBjb252ZXJ0bG9v
cDoKLSAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdICAgICAgICAvLyByZWFkIDQgcGl4ZWxzIGZy
b20gc3JjX2FyZ2IwCi0gICAgbW92ZHF1ICAgICB4bW0yLCBbZXNpXSAgICAgICAgLy8gcmVhZCA0
IHBpeGVscyBmcm9tIHNyY19hcmdiMQorICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0gIC8vIHJl
YWQgNCBwaXhlbHMgZnJvbSBzcmNfYXJnYjAKKyAgICBtb3ZkcXUgICAgIHhtbTIsIFtlc2ldICAv
LyByZWFkIDQgcGl4ZWxzIGZyb20gc3JjX2FyZ2IxCiAgICAgbW92ZHF1ICAgICB4bW0xLCB4bW0w
CiAgICAgbW92ZHF1ICAgICB4bW0zLCB4bW0yCi0gICAgcHVucGNrbGJ3ICB4bW0wLCB4bW0wICAg
ICAgICAgLy8gZmlyc3QgMgotICAgIHB1bnBja2hidyAgeG1tMSwgeG1tMSAgICAgICAgIC8vIG5l
eHQgMgotICAgIHB1bnBja2xidyAgeG1tMiwgeG1tNSAgICAgICAgIC8vIGZpcnN0IDIKLSAgICBw
dW5wY2toYncgIHhtbTMsIHhtbTUgICAgICAgICAvLyBuZXh0IDIKLSAgICBwbXVsaHV3ICAgIHht
bTAsIHhtbTIgICAgICAgICAvLyBzcmNfYXJnYjAgKiBzcmNfYXJnYjEgZmlyc3QgMgotICAgIHBt
dWxodXcgICAgeG1tMSwgeG1tMyAgICAgICAgIC8vIHNyY19hcmdiMCAqIHNyY19hcmdiMSBuZXh0
IDIKKyAgICBwdW5wY2tsYncgIHhtbTAsIHhtbTAgIC8vIGZpcnN0IDIKKyAgICBwdW5wY2toYncg
IHhtbTEsIHhtbTEgIC8vIG5leHQgMgorICAgIHB1bnBja2xidyAgeG1tMiwgeG1tNSAgLy8gZmly
c3QgMgorICAgIHB1bnBja2hidyAgeG1tMywgeG1tNSAgLy8gbmV4dCAyCisgICAgcG11bGh1dyAg
ICB4bW0wLCB4bW0yICAvLyBzcmNfYXJnYjAgKiBzcmNfYXJnYjEgZmlyc3QgMgorICAgIHBtdWxo
dXcgICAgeG1tMSwgeG1tMyAgLy8gc3JjX2FyZ2IwICogc3JjX2FyZ2IxIG5leHQgMgogICAgIGxl
YSAgICAgICAgZWF4LCBbZWF4ICsgMTZdCiAgICAgbGVhICAgICAgICBlc2ksIFtlc2kgKyAxNl0K
ICAgICBwYWNrdXN3YiAgIHhtbTAsIHhtbTEKQEAgLTQ3NzUsMTMgKzQ3OTIsMTQgQEAgdm9pZCBB
UkdCTXVsdGlwbHlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCog
c3JjX2FyZ2IxLAogI2lmZGVmIEhBU19BUkdCQUREUk9XX1NTRTIKIC8vIEFkZCAyIHJvd3Mgb2Yg
QVJHQiBwaXhlbHMgdG9nZXRoZXIsIDQgcGl4ZWxzIGF0IGEgdGltZS4KIC8vIFRPRE8oZmJhcmNo
YXJkKTogUG9ydCB0aGlzIHRvIHBvc2l4LCBuZW9uIGFuZCBvdGhlciBtYXRoIGZ1bmN0aW9ucy4K
LV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEFSR0JBZGRSb3dfU1NFMihjb25zdCB1aW50OCogc3Jj
X2FyZ2IwLCBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQkFk
ZFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYjAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNo
ICAgICAgIGVzaQotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNCArIDRdICAgLy8gc3JjX2Fy
Z2IwCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA0ICsgOF0gICAvLyBzcmNfYXJnYjEKKyAg
ICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgLy8gc3JjX2FyZ2IwCisgICAgbW92ICAg
ICAgICBlc2ksIFtlc3AgKyA0ICsgOF0gIC8vIHNyY19hcmdiMQogICAgIG1vdiAgICAgICAgZWR4
LCBbZXNwICsgNCArIDEyXSAgLy8gZHN0X2FyZ2IKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCAr
IDQgKyAxNl0gIC8vIHdpZHRoCiAKQEAgLTQ3ODksMTEgKzQ4MDcsMTEgQEAgdm9pZCBBUkdCQWRk
Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwK
ICAgICBqbCAgICAgICAgIGNvbnZlcnRsb29wNDkKIAogIGNvbnZlcnRsb29wNDoKLSAgICBtb3Zk
cXUgICAgIHhtbTAsIFtlYXhdICAgICAgICAvLyByZWFkIDQgcGl4ZWxzIGZyb20gc3JjX2FyZ2Iw
CisgICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgLy8gcmVhZCA0IHBpeGVscyBmcm9tIHNyY19h
cmdiMAogICAgIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMTZdCi0gICAgbW92ZHF1ICAgICB4bW0x
LCBbZXNpXSAgICAgICAgLy8gcmVhZCA0IHBpeGVscyBmcm9tIHNyY19hcmdiMQorICAgIG1vdmRx
dSAgICAgeG1tMSwgW2VzaV0gIC8vIHJlYWQgNCBwaXhlbHMgZnJvbSBzcmNfYXJnYjEKICAgICBs
ZWEgICAgICAgIGVzaSwgW2VzaSArIDE2XQotICAgIHBhZGR1c2IgICAgeG1tMCwgeG1tMSAgICAg
ICAgIC8vIHNyY19hcmdiMCArIHNyY19hcmdiMQorICAgIHBhZGR1c2IgICAgeG1tMCwgeG1tMSAg
Ly8gc3JjX2FyZ2IwICsgc3JjX2FyZ2IxCiAgICAgbW92ZHF1ICAgICBbZWR4XSwgeG1tMAogICAg
IGxlYSAgICAgICAgZWR4LCBbZWR4ICsgMTZdCiAgICAgc3ViICAgICAgICBlY3gsIDQKQEAgLTQ4
MDQsMTEgKzQ4MjIsMTEgQEAgdm9pZCBBUkdCQWRkUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19h
cmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKICAgICBqbCAgICAgICAgIGNvbnZlcnRsb29w
MTkKIAogIGNvbnZlcnRsb29wMToKLSAgICBtb3ZkICAgICAgIHhtbTAsIFtlYXhdICAgICAgICAv
LyByZWFkIDEgcGl4ZWxzIGZyb20gc3JjX2FyZ2IwCisgICAgbW92ZCAgICAgICB4bW0wLCBbZWF4
XSAgLy8gcmVhZCAxIHBpeGVscyBmcm9tIHNyY19hcmdiMAogICAgIGxlYSAgICAgICAgZWF4LCBb
ZWF4ICsgNF0KLSAgICBtb3ZkICAgICAgIHhtbTEsIFtlc2ldICAgICAgICAvLyByZWFkIDEgcGl4
ZWxzIGZyb20gc3JjX2FyZ2IxCisgICAgbW92ZCAgICAgICB4bW0xLCBbZXNpXSAgLy8gcmVhZCAx
IHBpeGVscyBmcm9tIHNyY19hcmdiMQogICAgIGxlYSAgICAgICAgZXNpLCBbZXNpICsgNF0KLSAg
ICBwYWRkdXNiICAgIHhtbTAsIHhtbTEgICAgICAgICAvLyBzcmNfYXJnYjAgKyBzcmNfYXJnYjEK
KyAgICBwYWRkdXNiICAgIHhtbTAsIHhtbTEgIC8vIHNyY19hcmdiMCArIHNyY19hcmdiMQogICAg
IG1vdmQgICAgICAgW2VkeF0sIHhtbTAKICAgICBsZWEgICAgICAgIGVkeCwgW2VkeCArIDRdCiAg
ICAgc3ViICAgICAgICBlY3gsIDEKQEAgLTQ4MjMsMjIgKzQ4NDEsMjMgQEAgdm9pZCBBUkdCQWRk
Um93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwK
IAogI2lmZGVmIEhBU19BUkdCU1VCVFJBQ1RST1dfU1NFMgogLy8gU3VidHJhY3QgMiByb3dzIG9m
IEFSR0IgcGl4ZWxzIHRvZ2V0aGVyLCA0IHBpeGVscyBhdCBhIHRpbWUuCi1fX2RlY2xzcGVjKG5h
a2VkKQotdm9pZCBBUkdCU3VidHJhY3RSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBj
b25zdCB1aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCU3VidHJh
Y3RSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBf
X2FzbSB7CiAgICAgcHVzaCAgICAgICBlc2kKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQg
KyA0XSAgIC8vIHNyY19hcmdiMAotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAg
Ly8gc3JjX2FyZ2IxCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gIC8vIHNyY19h
cmdiMAorICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAvLyBzcmNfYXJnYjEKICAg
ICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyAxMl0gIC8vIGRzdF9hcmdiCiAgICAgbW92ICAg
ICAgICBlY3gsIFtlc3AgKyA0ICsgMTZdICAvLyB3aWR0aAogCiAgY29udmVydGxvb3A6Ci0gICAg
bW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgICAgICAgLy8gcmVhZCA0IHBpeGVscyBmcm9tIHNyY19h
cmdiMAorICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0gIC8vIHJlYWQgNCBwaXhlbHMgZnJvbSBz
cmNfYXJnYjAKICAgICBsZWEgICAgICAgIGVheCwgW2VheCArIDE2XQotICAgIG1vdmRxdSAgICAg
eG1tMSwgW2VzaV0gICAgICAgIC8vIHJlYWQgNCBwaXhlbHMgZnJvbSBzcmNfYXJnYjEKKyAgICBt
b3ZkcXUgICAgIHhtbTEsIFtlc2ldICAvLyByZWFkIDQgcGl4ZWxzIGZyb20gc3JjX2FyZ2IxCiAg
ICAgbGVhICAgICAgICBlc2ksIFtlc2kgKyAxNl0KLSAgICBwc3VidXNiICAgIHhtbTAsIHhtbTEg
ICAgICAgICAvLyBzcmNfYXJnYjAgLSBzcmNfYXJnYjEKKyAgICBwc3VidXNiICAgIHhtbTAsIHht
bTEgIC8vIHNyY19hcmdiMCAtIHNyY19hcmdiMQogICAgIG1vdmRxdSAgICAgW2VkeF0sIHhtbTAK
ICAgICBsZWEgICAgICAgIGVkeCwgW2VkeCArIDE2XQogICAgIHN1YiAgICAgICAgZWN4LCA0CkBA
IC00ODUyLDI4ICs0ODcxLDI5IEBAIHZvaWQgQVJHQlN1YnRyYWN0Um93X1NTRTIoY29uc3QgdWlu
dDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKIAogI2lmZGVmIEhBU19BUkdC
TVVMVElQTFlST1dfQVZYMgogLy8gTXVsdGlwbHkgMiByb3dzIG9mIEFSR0IgcGl4ZWxzIHRvZ2V0
aGVyLCA4IHBpeGVscyBhdCBhIHRpbWUuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCTXVs
dGlwbHlSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50OCogc3JjX2Fy
Z2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0
aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCTXVsdGlwbHlSb3dfQVZYMihjb25zdCB1
aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAg
ICAgICBlc2kKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgIC8vIHNyY19hcmdi
MAotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAgLy8gc3JjX2FyZ2IxCisgICAg
bW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gIC8vIHNyY19hcmdiMAorICAgIG1vdiAgICAg
ICAgZXNpLCBbZXNwICsgNCArIDhdICAvLyBzcmNfYXJnYjEKICAgICBtb3YgICAgICAgIGVkeCwg
W2VzcCArIDQgKyAxMl0gIC8vIGRzdF9hcmdiCiAgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA0
ICsgMTZdICAvLyB3aWR0aAotICAgIHZweG9yICAgICAgeW1tNSwgeW1tNSwgeW1tNSAgICAgLy8g
Y29uc3RhbnQgMAorICAgIHZweG9yICAgICAgeW1tNSwgeW1tNSwgeW1tNSAgLy8gY29uc3RhbnQg
MAogCiAgY29udmVydGxvb3A6Ci0gICAgdm1vdmRxdSAgICB5bW0xLCBbZWF4XSAgICAgICAgLy8g
cmVhZCA4IHBpeGVscyBmcm9tIHNyY19hcmdiMAorICAgIHZtb3ZkcXUgICAgeW1tMSwgW2VheF0g
IC8vIHJlYWQgOCBwaXhlbHMgZnJvbSBzcmNfYXJnYjAKICAgICBsZWEgICAgICAgIGVheCwgW2Vh
eCArIDMyXQotICAgIHZtb3ZkcXUgICAgeW1tMywgW2VzaV0gICAgICAgIC8vIHJlYWQgOCBwaXhl
bHMgZnJvbSBzcmNfYXJnYjEKKyAgICB2bW92ZHF1ICAgIHltbTMsIFtlc2ldICAvLyByZWFkIDgg
cGl4ZWxzIGZyb20gc3JjX2FyZ2IxCiAgICAgbGVhICAgICAgICBlc2ksIFtlc2kgKyAzMl0KLSAg
ICB2cHVucGNrbGJ3IHltbTAsIHltbTEsIHltbTEgICAvLyBsb3cgNAotICAgIHZwdW5wY2toYncg
eW1tMSwgeW1tMSwgeW1tMSAgIC8vIGhpZ2ggNAotICAgIHZwdW5wY2tsYncgeW1tMiwgeW1tMywg
eW1tNSAgIC8vIGxvdyA0Ci0gICAgdnB1bnBja2hidyB5bW0zLCB5bW0zLCB5bW01ICAgLy8gaGln
aCA0Ci0gICAgdnBtdWxodXcgICB5bW0wLCB5bW0wLCB5bW0yICAgLy8gc3JjX2FyZ2IwICogc3Jj
X2FyZ2IxIGxvdyA0Ci0gICAgdnBtdWxodXcgICB5bW0xLCB5bW0xLCB5bW0zICAgLy8gc3JjX2Fy
Z2IwICogc3JjX2FyZ2IxIGhpZ2ggNAorICAgIHZwdW5wY2tsYncgeW1tMCwgeW1tMSwgeW1tMSAg
Ly8gbG93IDQKKyAgICB2cHVucGNraGJ3IHltbTEsIHltbTEsIHltbTEgIC8vIGhpZ2ggNAorICAg
IHZwdW5wY2tsYncgeW1tMiwgeW1tMywgeW1tNSAgLy8gbG93IDQKKyAgICB2cHVucGNraGJ3IHlt
bTMsIHltbTMsIHltbTUgIC8vIGhpZ2ggNAorICAgIHZwbXVsaHV3ICAgeW1tMCwgeW1tMCwgeW1t
MiAgLy8gc3JjX2FyZ2IwICogc3JjX2FyZ2IxIGxvdyA0CisgICAgdnBtdWxodXcgICB5bW0xLCB5
bW0xLCB5bW0zICAvLyBzcmNfYXJnYjAgKiBzcmNfYXJnYjEgaGlnaCA0CiAgICAgdnBhY2t1c3di
ICB5bW0wLCB5bW0wLCB5bW0xCiAgICAgdm1vdmRxdSAgICBbZWR4XSwgeW1tMAogICAgIGxlYSAg
ICAgICAgZWR4LCBbZWR4ICsgMzJdCkBAIC00ODg5LDIwICs0OTA5LDIxIEBAIHZvaWQgQVJHQk11
bHRpcGx5Um93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19h
cmdiMSwKIAogI2lmZGVmIEhBU19BUkdCQUREUk9XX0FWWDIKIC8vIEFkZCAyIHJvd3Mgb2YgQVJH
QiBwaXhlbHMgdG9nZXRoZXIsIDggcGl4ZWxzIGF0IGEgdGltZS4KLV9fZGVjbHNwZWMobmFrZWQp
Ci12b2lkIEFSR0JBZGRSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1aW50
OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQg
d2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQkFkZFJvd19BVlgyKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVzaQotICAgIG1v
diAgICAgICAgZWF4LCBbZXNwICsgNCArIDRdICAgLy8gc3JjX2FyZ2IwCi0gICAgbW92ICAgICAg
ICBlc2ksIFtlc3AgKyA0ICsgOF0gICAvLyBzcmNfYXJnYjEKKyAgICBtb3YgICAgICAgIGVheCwg
W2VzcCArIDQgKyA0XSAgLy8gc3JjX2FyZ2IwCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA0
ICsgOF0gIC8vIHNyY19hcmdiMQogICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDEyXSAg
Ly8gZHN0X2FyZ2IKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRo
CiAKICBjb252ZXJ0bG9vcDoKLSAgICB2bW92ZHF1ICAgIHltbTAsIFtlYXhdICAgICAgICAgICAg
ICAvLyByZWFkIDggcGl4ZWxzIGZyb20gc3JjX2FyZ2IwCisgICAgdm1vdmRxdSAgICB5bW0wLCBb
ZWF4XSAgLy8gcmVhZCA4IHBpeGVscyBmcm9tIHNyY19hcmdiMAogICAgIGxlYSAgICAgICAgZWF4
LCBbZWF4ICsgMzJdCi0gICAgdnBhZGR1c2IgICB5bW0wLCB5bW0wLCBbZXNpXSAgICAgICAgLy8g
YWRkIDggcGl4ZWxzIGZyb20gc3JjX2FyZ2IxCisgICAgdnBhZGR1c2IgICB5bW0wLCB5bW0wLCBb
ZXNpXSAgLy8gYWRkIDggcGl4ZWxzIGZyb20gc3JjX2FyZ2IxCiAgICAgbGVhICAgICAgICBlc2ks
IFtlc2kgKyAzMl0KICAgICB2bW92ZHF1ICAgIFtlZHhdLCB5bW0wCiAgICAgbGVhICAgICAgICBl
ZHgsIFtlZHggKyAzMl0KQEAgLTQ5MTgsMjAgKzQ5MzksMjEgQEAgdm9pZCBBUkdCQWRkUm93X0FW
WDIoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWludDgqIHNyY19hcmdiMSwKIAogI2lm
ZGVmIEhBU19BUkdCU1VCVFJBQ1RST1dfQVZYMgogLy8gU3VidHJhY3QgMiByb3dzIG9mIEFSR0Ig
cGl4ZWxzIHRvZ2V0aGVyLCA4IHBpeGVscyBhdCBhIHRpbWUuCi1fX2RlY2xzcGVjKG5ha2VkKQot
dm9pZCBBUkdCU3VidHJhY3RSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLCBjb25zdCB1
aW50OCogc3JjX2FyZ2IxLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCU3VidHJhY3RSb3df
QVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IxLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7
CiAgICAgcHVzaCAgICAgICBlc2kKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAg
IC8vIHNyY19hcmdiMAotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAgLy8gc3Jj
X2FyZ2IxCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gIC8vIHNyY19hcmdiMAor
ICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAvLyBzcmNfYXJnYjEKICAgICBtb3Yg
ICAgICAgIGVkeCwgW2VzcCArIDQgKyAxMl0gIC8vIGRzdF9hcmdiCiAgICAgbW92ICAgICAgICBl
Y3gsIFtlc3AgKyA0ICsgMTZdICAvLyB3aWR0aAogCiAgY29udmVydGxvb3A6Ci0gICAgdm1vdmRx
dSAgICB5bW0wLCBbZWF4XSAgICAgICAgICAgICAgLy8gcmVhZCA4IHBpeGVscyBmcm9tIHNyY19h
cmdiMAorICAgIHZtb3ZkcXUgICAgeW1tMCwgW2VheF0gIC8vIHJlYWQgOCBwaXhlbHMgZnJvbSBz
cmNfYXJnYjAKICAgICBsZWEgICAgICAgIGVheCwgW2VheCArIDMyXQotICAgIHZwc3VidXNiICAg
eW1tMCwgeW1tMCwgW2VzaV0gICAgICAgIC8vIHNyY19hcmdiMCAtIHNyY19hcmdiMQorICAgIHZw
c3VidXNiICAgeW1tMCwgeW1tMCwgW2VzaV0gIC8vIHNyY19hcmdiMCAtIHNyY19hcmdiMQogICAg
IGxlYSAgICAgICAgZXNpLCBbZXNpICsgMzJdCiAgICAgdm1vdmRxdSAgICBbZWR4XSwgeW1tMAog
ICAgIGxlYSAgICAgICAgZWR4LCBbZWR4ICsgMzJdCkBAIC00OTUwLDE0ICs0OTcyLDE2IEBAIHZv
aWQgQVJHQlN1YnRyYWN0Um93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdiMCwgY29uc3QgdWlu
dDgqIHNyY19hcmdiMSwKIC8vIC0xICAwICAxCiAvLyAtMiAgMCAgMgogLy8gLTEgIDAgIDEKLV9f
ZGVjbHNwZWMobmFrZWQpCi12b2lkIFNvYmVsWFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeTAs
IGNvbnN0IHVpbnQ4KiBzcmNfeTEsCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfeTIsIHVpbnQ4KiBkc3Rfc29iZWx4LCBpbnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQp
IHZvaWQgU29iZWxYUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195MCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY195MSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY195MiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9zb2JlbHgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAg
ICAgcHVzaCAgICAgICBlc2kKICAgICBwdXNoICAgICAgIGVkaQotICAgIG1vdiAgICAgICAgZWF4
LCBbZXNwICsgOCArIDRdICAgLy8gc3JjX3kwCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4
ICsgOF0gICAvLyBzcmNfeTEKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDggKyA0XSAgLy8g
c3JjX3kwCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gIC8vIHNyY195MQogICAg
IG1vdiAgICAgICAgZWRpLCBbZXNwICsgOCArIDEyXSAgLy8gc3JjX3kyCiAgICAgbW92ICAgICAg
ICBlZHgsIFtlc3AgKyA4ICsgMTZdICAvLyBkc3Rfc29iZWx4CiAgICAgbW92ICAgICAgICBlY3gs
IFtlc3AgKyA4ICsgMjBdICAvLyB3aWR0aApAQCAtNDk2NywxNyArNDk5MSwxNyBAQCB2b2lkIFNv
YmVsWFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeTAsIGNvbnN0IHVpbnQ4KiBzcmNfeTEsCiAg
ICAgcHhvciAgICAgICB4bW01LCB4bW01ICAvLyBjb25zdGFudCAwCiAKICBjb252ZXJ0bG9vcDoK
LSAgICBtb3ZxICAgICAgIHhtbTAsIHF3b3JkIHB0ciBbZWF4XSAgICAgICAgICAgIC8vIHJlYWQg
OCBwaXhlbHMgZnJvbSBzcmNfeTBbMF0KLSAgICBtb3ZxICAgICAgIHhtbTEsIHF3b3JkIHB0ciBb
ZWF4ICsgMl0gICAgICAgIC8vIHJlYWQgOCBwaXhlbHMgZnJvbSBzcmNfeTBbMl0KKyAgICBtb3Zx
ICAgICAgIHhtbTAsIHF3b3JkIHB0ciBbZWF4XSAgLy8gcmVhZCA4IHBpeGVscyBmcm9tIHNyY195
MFswXQorICAgIG1vdnEgICAgICAgeG1tMSwgcXdvcmQgcHRyIFtlYXggKyAyXSAgLy8gcmVhZCA4
IHBpeGVscyBmcm9tIHNyY195MFsyXQogICAgIHB1bnBja2xidyAgeG1tMCwgeG1tNQogICAgIHB1
bnBja2xidyAgeG1tMSwgeG1tNQogICAgIHBzdWJ3ICAgICAgeG1tMCwgeG1tMQotICAgIG1vdnEg
ICAgICAgeG1tMSwgcXdvcmQgcHRyIFtlYXggKyBlc2ldICAgICAgLy8gcmVhZCA4IHBpeGVscyBm
cm9tIHNyY195MVswXQorICAgIG1vdnEgICAgICAgeG1tMSwgcXdvcmQgcHRyIFtlYXggKyBlc2ld
ICAvLyByZWFkIDggcGl4ZWxzIGZyb20gc3JjX3kxWzBdCiAgICAgbW92cSAgICAgICB4bW0yLCBx
d29yZCBwdHIgW2VheCArIGVzaSArIDJdICAvLyByZWFkIDggcGl4ZWxzIGZyb20gc3JjX3kxWzJd
CiAgICAgcHVucGNrbGJ3ICB4bW0xLCB4bW01CiAgICAgcHVucGNrbGJ3ICB4bW0yLCB4bW01CiAg
ICAgcHN1YncgICAgICB4bW0xLCB4bW0yCi0gICAgbW92cSAgICAgICB4bW0yLCBxd29yZCBwdHIg
W2VheCArIGVkaV0gICAgICAvLyByZWFkIDggcGl4ZWxzIGZyb20gc3JjX3kyWzBdCisgICAgbW92
cSAgICAgICB4bW0yLCBxd29yZCBwdHIgW2VheCArIGVkaV0gIC8vIHJlYWQgOCBwaXhlbHMgZnJv
bSBzcmNfeTJbMF0KICAgICBtb3ZxICAgICAgIHhtbTMsIHF3b3JkIHB0ciBbZWF4ICsgZWRpICsg
Ml0gIC8vIHJlYWQgOCBwaXhlbHMgZnJvbSBzcmNfeTJbMl0KICAgICBwdW5wY2tsYncgIHhtbTIs
IHhtbTUKICAgICBwdW5wY2tsYncgIHhtbTMsIHhtbTUKQEAgLTQ5ODUsNyArNTAwOSw3IEBAIHZv
aWQgU29iZWxYUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195MCwgY29uc3QgdWludDgqIHNyY195
MSwKICAgICBwYWRkdyAgICAgIHhtbTAsIHhtbTIKICAgICBwYWRkdyAgICAgIHhtbTAsIHhtbTEK
ICAgICBwYWRkdyAgICAgIHhtbTAsIHhtbTEKLSAgICBweG9yICAgICAgIHhtbTEsIHhtbTEgICAv
LyBhYnMgPSBtYXgoeG1tMCwgLXhtbTApLiAgU1NTRTMgY291bGQgdXNlIHBhYnN3CisgICAgcHhv
ciAgICAgICB4bW0xLCB4bW0xICAvLyBhYnMgPSBtYXgoeG1tMCwgLXhtbTApLiAgU1NTRTMgY291
bGQgdXNlIHBhYnN3CiAgICAgcHN1YncgICAgICB4bW0xLCB4bW0wCiAgICAgcG1heHN3ICAgICB4
bW0wLCB4bW0xCiAgICAgcGFja3Vzd2IgICB4bW0wLCB4bW0wCkBAIC01MDA2LDEzICs1MDMwLDE0
IEBAIHZvaWQgU29iZWxYUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195MCwgY29uc3QgdWludDgq
IHNyY195MSwKIC8vIC0xIC0yIC0xCiAvLyAgMCAgMCAgMAogLy8gIDEgIDIgIDEKLV9fZGVjbHNw
ZWMobmFrZWQpCi12b2lkIFNvYmVsWVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeTAsIGNvbnN0
IHVpbnQ4KiBzcmNfeTEsCi0gICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rfc29iZWx5LCBp
bnQgd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgU29iZWxZUm93X1NTRTIoY29uc3Qg
dWludDgqIHNyY195MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdWludDgqIHNyY195MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9zb2JlbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlc2kKLSAgICBtb3YgICAg
ICAgIGVheCwgW2VzcCArIDQgKyA0XSAgIC8vIHNyY195MAotICAgIG1vdiAgICAgICAgZXNpLCBb
ZXNwICsgNCArIDhdICAgLy8gc3JjX3kxCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsg
NF0gIC8vIHNyY195MAorICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAvLyBzcmNf
eTEKICAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyAxMl0gIC8vIGRzdF9zb2JlbHkKICAg
ICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRoCiAgICAgc3ViICAgICAg
ICBlc2ksIGVheApAQCAtNTAyMCwxNyArNTA0NSwxNyBAQCB2b2lkIFNvYmVsWVJvd19TU0UyKGNv
bnN0IHVpbnQ4KiBzcmNfeTAsIGNvbnN0IHVpbnQ4KiBzcmNfeTEsCiAgICAgcHhvciAgICAgICB4
bW01LCB4bW01ICAvLyBjb25zdGFudCAwCiAKICBjb252ZXJ0bG9vcDoKLSAgICBtb3ZxICAgICAg
IHhtbTAsIHF3b3JkIHB0ciBbZWF4XSAgICAgICAgICAgIC8vIHJlYWQgOCBwaXhlbHMgZnJvbSBz
cmNfeTBbMF0KLSAgICBtb3ZxICAgICAgIHhtbTEsIHF3b3JkIHB0ciBbZWF4ICsgZXNpXSAgICAg
IC8vIHJlYWQgOCBwaXhlbHMgZnJvbSBzcmNfeTFbMF0KKyAgICBtb3ZxICAgICAgIHhtbTAsIHF3
b3JkIHB0ciBbZWF4XSAgLy8gcmVhZCA4IHBpeGVscyBmcm9tIHNyY195MFswXQorICAgIG1vdnEg
ICAgICAgeG1tMSwgcXdvcmQgcHRyIFtlYXggKyBlc2ldICAvLyByZWFkIDggcGl4ZWxzIGZyb20g
c3JjX3kxWzBdCiAgICAgcHVucGNrbGJ3ICB4bW0wLCB4bW01CiAgICAgcHVucGNrbGJ3ICB4bW0x
LCB4bW01CiAgICAgcHN1YncgICAgICB4bW0wLCB4bW0xCi0gICAgbW92cSAgICAgICB4bW0xLCBx
d29yZCBwdHIgW2VheCArIDFdICAgICAgICAvLyByZWFkIDggcGl4ZWxzIGZyb20gc3JjX3kwWzFd
CisgICAgbW92cSAgICAgICB4bW0xLCBxd29yZCBwdHIgW2VheCArIDFdICAvLyByZWFkIDggcGl4
ZWxzIGZyb20gc3JjX3kwWzFdCiAgICAgbW92cSAgICAgICB4bW0yLCBxd29yZCBwdHIgW2VheCAr
IGVzaSArIDFdICAvLyByZWFkIDggcGl4ZWxzIGZyb20gc3JjX3kxWzFdCiAgICAgcHVucGNrbGJ3
ICB4bW0xLCB4bW01CiAgICAgcHVucGNrbGJ3ICB4bW0yLCB4bW01CiAgICAgcHN1YncgICAgICB4
bW0xLCB4bW0yCi0gICAgbW92cSAgICAgICB4bW0yLCBxd29yZCBwdHIgW2VheCArIDJdICAgICAg
ICAvLyByZWFkIDggcGl4ZWxzIGZyb20gc3JjX3kwWzJdCisgICAgbW92cSAgICAgICB4bW0yLCBx
d29yZCBwdHIgW2VheCArIDJdICAvLyByZWFkIDggcGl4ZWxzIGZyb20gc3JjX3kwWzJdCiAgICAg
bW92cSAgICAgICB4bW0zLCBxd29yZCBwdHIgW2VheCArIGVzaSArIDJdICAvLyByZWFkIDggcGl4
ZWxzIGZyb20gc3JjX3kxWzJdCiAgICAgcHVucGNrbGJ3ICB4bW0yLCB4bW01CiAgICAgcHVucGNr
bGJ3ICB4bW0zLCB4bW01CkBAIC01MDM4LDcgKzUwNjMsNyBAQCB2b2lkIFNvYmVsWVJvd19TU0Uy
KGNvbnN0IHVpbnQ4KiBzcmNfeTAsIGNvbnN0IHVpbnQ4KiBzcmNfeTEsCiAgICAgcGFkZHcgICAg
ICB4bW0wLCB4bW0yCiAgICAgcGFkZHcgICAgICB4bW0wLCB4bW0xCiAgICAgcGFkZHcgICAgICB4
bW0wLCB4bW0xCi0gICAgcHhvciAgICAgICB4bW0xLCB4bW0xICAgLy8gYWJzID0gbWF4KHhtbTAs
IC14bW0wKS4gIFNTU0UzIGNvdWxkIHVzZSBwYWJzdworICAgIHB4b3IgICAgICAgeG1tMSwgeG1t
MSAgLy8gYWJzID0gbWF4KHhtbTAsIC14bW0wKS4gIFNTU0UzIGNvdWxkIHVzZSBwYWJzdwogICAg
IHBzdWJ3ICAgICAgeG1tMSwgeG1tMAogICAgIHBtYXhzdyAgICAgeG1tMCwgeG1tMQogICAgIHBh
Y2t1c3diICAgeG1tMCwgeG1tMApAQCAtNTA1OSwzNiArNTA4NCwzNyBAQCB2b2lkIFNvYmVsWVJv
d19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeTAsIGNvbnN0IHVpbnQ4KiBzcmNfeTEsCiAvLyBSID0g
U29iZWwKIC8vIEcgPSBTb2JlbAogLy8gQiA9IFNvYmVsCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9p
ZCBTb2JlbFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LCBjb25zdCB1aW50OCogc3Jj
X3NvYmVseSwKLSAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3aWR0aCkg
eworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBTb2JlbFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNf
c29iZWx4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiBzcmNfc29iZWx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCi0gICAgbW92ICAgICAgICBlYXgs
IFtlc3AgKyA0ICsgNF0gICAvLyBzcmNfc29iZWx4Ci0gICAgbW92ICAgICAgICBlc2ksIFtlc3Ag
KyA0ICsgOF0gICAvLyBzcmNfc29iZWx5CisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsg
NF0gIC8vIHNyY19zb2JlbHgKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDQgKyA4XSAgLy8g
c3JjX3NvYmVseQogICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDEyXSAgLy8gZHN0X2Fy
Z2IKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRoCiAgICAgc3Vi
ICAgICAgICBlc2ksIGVheAotICAgIHBjbXBlcWIgICAgeG1tNSwgeG1tNSAgICAgICAgICAgLy8g
YWxwaGEgMjU1Ci0gICAgcHNsbGQgICAgICB4bW01LCAyNCAgICAgICAgICAgICAvLyAweGZmMDAw
MDAwCisgICAgcGNtcGVxYiAgICB4bW01LCB4bW01ICAvLyBhbHBoYSAyNTUKKyAgICBwc2xsZCAg
ICAgIHhtbTUsIDI0ICAvLyAweGZmMDAwMDAwCiAKICBjb252ZXJ0bG9vcDoKLSAgICBtb3ZkcXUg
ICAgIHhtbTAsIFtlYXhdICAgICAgICAgICAgLy8gcmVhZCAxNiBwaXhlbHMgc3JjX3NvYmVseAot
ICAgIG1vdmRxdSAgICAgeG1tMSwgW2VheCArIGVzaV0gICAgICAvLyByZWFkIDE2IHBpeGVscyBz
cmNfc29iZWx5CisgICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgLy8gcmVhZCAxNiBwaXhlbHMg
c3JjX3NvYmVseAorICAgIG1vdmRxdSAgICAgeG1tMSwgW2VheCArIGVzaV0gIC8vIHJlYWQgMTYg
cGl4ZWxzIHNyY19zb2JlbHkKICAgICBsZWEgICAgICAgIGVheCwgW2VheCArIDE2XQotICAgIHBh
ZGR1c2IgICAgeG1tMCwgeG1tMSAgICAgICAgICAgICAvLyBzb2JlbCA9IHNvYmVseCArIHNvYmVs
eQotICAgIG1vdmRxYSAgICAgeG1tMiwgeG1tMCAgICAgICAgICAgICAvLyBHRwotICAgIHB1bnBj
a2xidyAgeG1tMiwgeG1tMCAgICAgICAgICAgICAvLyBGaXJzdCA4Ci0gICAgcHVucGNraGJ3ICB4
bW0wLCB4bW0wICAgICAgICAgICAgIC8vIE5leHQgOAotICAgIG1vdmRxYSAgICAgeG1tMSwgeG1t
MiAgICAgICAgICAgICAvLyBHR0dHCi0gICAgcHVucGNrbHdkICB4bW0xLCB4bW0yICAgICAgICAg
ICAgIC8vIEZpcnN0IDQKLSAgICBwdW5wY2tod2QgIHhtbTIsIHhtbTIgICAgICAgICAgICAgLy8g
TmV4dCA0Ci0gICAgcG9yICAgICAgICB4bW0xLCB4bW01ICAgICAgICAgICAgIC8vIEdHR0EKKyAg
ICBwYWRkdXNiICAgIHhtbTAsIHhtbTEgIC8vIHNvYmVsID0gc29iZWx4ICsgc29iZWx5CisgICAg
bW92ZHFhICAgICB4bW0yLCB4bW0wICAvLyBHRworICAgIHB1bnBja2xidyAgeG1tMiwgeG1tMCAg
Ly8gRmlyc3QgOAorICAgIHB1bnBja2hidyAgeG1tMCwgeG1tMCAgLy8gTmV4dCA4CisgICAgbW92
ZHFhICAgICB4bW0xLCB4bW0yICAvLyBHR0dHCisgICAgcHVucGNrbHdkICB4bW0xLCB4bW0yICAv
LyBGaXJzdCA0CisgICAgcHVucGNraHdkICB4bW0yLCB4bW0yICAvLyBOZXh0IDQKKyAgICBwb3Ig
ICAgICAgIHhtbTEsIHhtbTUgIC8vIEdHR0EKICAgICBwb3IgICAgICAgIHhtbTIsIHhtbTUKLSAg
ICBtb3ZkcWEgICAgIHhtbTMsIHhtbTAgICAgICAgICAgICAgLy8gR0dHRwotICAgIHB1bnBja2x3
ZCAgeG1tMywgeG1tMCAgICAgICAgICAgICAvLyBOZXh0IDQKLSAgICBwdW5wY2tod2QgIHhtbTAs
IHhtbTAgICAgICAgICAgICAgLy8gTGFzdCA0Ci0gICAgcG9yICAgICAgICB4bW0zLCB4bW01ICAg
ICAgICAgICAgIC8vIEdHR0EKKyAgICBtb3ZkcWEgICAgIHhtbTMsIHhtbTAgIC8vIEdHR0cKKyAg
ICBwdW5wY2tsd2QgIHhtbTMsIHhtbTAgIC8vIE5leHQgNAorICAgIHB1bnBja2h3ZCAgeG1tMCwg
eG1tMCAgLy8gTGFzdCA0CisgICAgcG9yICAgICAgICB4bW0zLCB4bW01ICAvLyBHR0dBCiAgICAg
cG9yICAgICAgICB4bW0wLCB4bW01CiAgICAgbW92ZHF1ICAgICBbZWR4XSwgeG1tMQogICAgIG1v
dmRxdSAgICAgW2VkeCArIDE2XSwgeG1tMgpAQCAtNTEwNiwyMiArNTEzMiwyMyBAQCB2b2lkIFNv
YmVsUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19zb2JlbHgsIGNvbnN0IHVpbnQ4KiBzcmNfc29i
ZWx5LAogCiAjaWZkZWYgSEFTX1NPQkVMVE9QTEFORVJPV19TU0UyCiAvLyBBZGRzIFNvYmVsIFgg
YW5kIFNvYmVsIFkgYW5kIHN0b3JlcyBTb2JlbCBpbnRvIGEgcGxhbmUuCi1fX2RlY2xzcGVjKG5h
a2VkKQotdm9pZCBTb2JlbFRvUGxhbmVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwg
Y29uc3QgdWludDgqIHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfeSwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFNvYmVsVG9QbGFu
ZVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3NvYmVseSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF95LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19h
c20gewogICAgIHB1c2ggICAgICAgZXNpCi0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsg
NF0gICAvLyBzcmNfc29iZWx4Ci0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA0ICsgOF0gICAv
LyBzcmNfc29iZWx5CisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gIC8vIHNyY19z
b2JlbHgKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDQgKyA4XSAgLy8gc3JjX3NvYmVseQog
ICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDEyXSAgLy8gZHN0X2FyZ2IKICAgICBtb3Yg
ICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIHdpZHRoCiAgICAgc3ViICAgICAgICBlc2ks
IGVheAogCiAgY29udmVydGxvb3A6Ci0gICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgICAgICAg
ICAgIC8vIHJlYWQgMTYgcGl4ZWxzIHNyY19zb2JlbHgKLSAgICBtb3ZkcXUgICAgIHhtbTEsIFtl
YXggKyBlc2ldICAgICAgLy8gcmVhZCAxNiBwaXhlbHMgc3JjX3NvYmVseQorICAgIG1vdmRxdSAg
ICAgeG1tMCwgW2VheF0gIC8vIHJlYWQgMTYgcGl4ZWxzIHNyY19zb2JlbHgKKyAgICBtb3ZkcXUg
ICAgIHhtbTEsIFtlYXggKyBlc2ldICAvLyByZWFkIDE2IHBpeGVscyBzcmNfc29iZWx5CiAgICAg
bGVhICAgICAgICBlYXgsIFtlYXggKyAxNl0KLSAgICBwYWRkdXNiICAgIHhtbTAsIHhtbTEgICAg
ICAgICAgICAgLy8gc29iZWwgPSBzb2JlbHggKyBzb2JlbHkKKyAgICBwYWRkdXNiICAgIHhtbTAs
IHhtbTEgIC8vIHNvYmVsID0gc29iZWx4ICsgc29iZWx5CiAgICAgbW92ZHF1ICAgICBbZWR4XSwg
eG1tMAogICAgIGxlYSAgICAgICAgZWR4LCBbZWR4ICsgMTZdCiAgICAgc3ViICAgICAgICBlY3gs
IDE2CkBAIC01MTM5LDM2ICs1MTY2LDM3IEBAIHZvaWQgU29iZWxUb1BsYW5lUm93X1NTRTIoY29u
c3QgdWludDgqIHNyY19zb2JlbHgsIGNvbnN0IHVpbnQ4KiBzcmNfc29iZWx5LAogLy8gUiA9IFNv
YmVsIFgKIC8vIEcgPSBTb2JlbAogLy8gQiA9IFNvYmVsIFkKLV9fZGVjbHNwZWMobmFrZWQpCi12
b2lkIFNvYmVsWFlSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3NvYmVseCwgY29uc3QgdWludDgq
IHNyY19zb2JlbHksCi0gICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCB3
aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBTb2JlbFhZUm93X1NTRTIoY29uc3QgdWlu
dDgqIHNyY19zb2JlbHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3NvYmVseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlc2kKLSAgICBt
b3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgIC8vIHNyY19zb2JlbHgKLSAgICBtb3YgICAg
ICAgIGVzaSwgW2VzcCArIDQgKyA4XSAgIC8vIHNyY19zb2JlbHkKKyAgICBtb3YgICAgICAgIGVh
eCwgW2VzcCArIDQgKyA0XSAgLy8gc3JjX3NvYmVseAorICAgIG1vdiAgICAgICAgZXNpLCBbZXNw
ICsgNCArIDhdICAvLyBzcmNfc29iZWx5CiAgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA0ICsg
MTJdICAvLyBkc3RfYXJnYgogICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgNCArIDE2XSAgLy8g
d2lkdGgKICAgICBzdWIgICAgICAgIGVzaSwgZWF4Ci0gICAgcGNtcGVxYiAgICB4bW01LCB4bW01
ICAgICAgICAgICAvLyBhbHBoYSAyNTUKKyAgICBwY21wZXFiICAgIHhtbTUsIHhtbTUgIC8vIGFs
cGhhIDI1NQogCiAgY29udmVydGxvb3A6Ci0gICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgICAg
ICAgICAgIC8vIHJlYWQgMTYgcGl4ZWxzIHNyY19zb2JlbHgKLSAgICBtb3ZkcXUgICAgIHhtbTEs
IFtlYXggKyBlc2ldICAgICAgLy8gcmVhZCAxNiBwaXhlbHMgc3JjX3NvYmVseQorICAgIG1vdmRx
dSAgICAgeG1tMCwgW2VheF0gIC8vIHJlYWQgMTYgcGl4ZWxzIHNyY19zb2JlbHgKKyAgICBtb3Zk
cXUgICAgIHhtbTEsIFtlYXggKyBlc2ldICAvLyByZWFkIDE2IHBpeGVscyBzcmNfc29iZWx5CiAg
ICAgbGVhICAgICAgICBlYXgsIFtlYXggKyAxNl0KICAgICBtb3ZkcWEgICAgIHhtbTIsIHhtbTAK
LSAgICBwYWRkdXNiICAgIHhtbTIsIHhtbTEgICAgICAgICAgICAgLy8gc29iZWwgPSBzb2JlbHgg
KyBzb2JlbHkKLSAgICBtb3ZkcWEgICAgIHhtbTMsIHhtbTAgICAgICAgICAgICAgLy8gWEEKKyAg
ICBwYWRkdXNiICAgIHhtbTIsIHhtbTEgIC8vIHNvYmVsID0gc29iZWx4ICsgc29iZWx5CisgICAg
bW92ZHFhICAgICB4bW0zLCB4bW0wICAvLyBYQQogICAgIHB1bnBja2xidyAgeG1tMywgeG1tNQog
ICAgIHB1bnBja2hidyAgeG1tMCwgeG1tNQotICAgIG1vdmRxYSAgICAgeG1tNCwgeG1tMSAgICAg
ICAgICAgICAvLyBZUworICAgIG1vdmRxYSAgICAgeG1tNCwgeG1tMSAgLy8gWVMKICAgICBwdW5w
Y2tsYncgIHhtbTQsIHhtbTIKICAgICBwdW5wY2toYncgIHhtbTEsIHhtbTIKLSAgICBtb3ZkcWEg
ICAgIHhtbTYsIHhtbTQgICAgICAgICAgICAgLy8gWVNYQQotICAgIHB1bnBja2x3ZCAgeG1tNiwg
eG1tMyAgICAgICAgICAgICAvLyBGaXJzdCA0Ci0gICAgcHVucGNraHdkICB4bW00LCB4bW0zICAg
ICAgICAgICAgIC8vIE5leHQgNAotICAgIG1vdmRxYSAgICAgeG1tNywgeG1tMSAgICAgICAgICAg
ICAvLyBZU1hBCi0gICAgcHVucGNrbHdkICB4bW03LCB4bW0wICAgICAgICAgICAgIC8vIE5leHQg
NAotICAgIHB1bnBja2h3ZCAgeG1tMSwgeG1tMCAgICAgICAgICAgICAvLyBMYXN0IDQKKyAgICBt
b3ZkcWEgICAgIHhtbTYsIHhtbTQgIC8vIFlTWEEKKyAgICBwdW5wY2tsd2QgIHhtbTYsIHhtbTMg
IC8vIEZpcnN0IDQKKyAgICBwdW5wY2tod2QgIHhtbTQsIHhtbTMgIC8vIE5leHQgNAorICAgIG1v
dmRxYSAgICAgeG1tNywgeG1tMSAgLy8gWVNYQQorICAgIHB1bnBja2x3ZCAgeG1tNywgeG1tMCAg
Ly8gTmV4dCA0CisgICAgcHVucGNraHdkICB4bW0xLCB4bW0wICAvLyBMYXN0IDQKICAgICBtb3Zk
cXUgICAgIFtlZHhdLCB4bW02CiAgICAgbW92ZHF1ICAgICBbZWR4ICsgMTZdLCB4bW00CiAgICAg
bW92ZHF1ICAgICBbZWR4ICsgMzJdLCB4bW03CkBAIC01MTk3LDggKzUyMjUsMTEgQEAgdm9pZCBT
b2JlbFhZUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19zb2JlbHgsIGNvbnN0IHVpbnQ4KiBzcmNf
c29iZWx5LAogLy8gY291bnQgaXMgbnVtYmVyIG9mIGF2ZXJhZ2VkIHBpeGVscyB0byBwcm9kdWNl
LgogLy8gRG9lcyA0IHBpeGVscyBhdCBhIHRpbWUuCiAvLyBUaGlzIGZ1bmN0aW9uIHJlcXVpcmVz
IGFsaWdubWVudCBvbiBhY2N1bXVsYXRpb24gYnVmZmVyIHBvaW50ZXJzLgotdm9pZCBDdW11bGF0
aXZlU3VtVG9BdmVyYWdlUm93X1NTRTIoY29uc3QgaW50MzIqIHRvcGxlZnQsIGNvbnN0IGludDMy
KiBib3RsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo
LCBpbnQgYXJlYSwgdWludDgqIGRzdCwKK3ZvaWQgQ3VtdWxhdGl2ZVN1bVRvQXZlcmFnZVJvd19T
U0UyKGNvbnN0IGludDMyKiB0b3BsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50MzIqIGJvdGxlZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgYXJlYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY291bnQpIHsKICAgX19h
c20gewogICAgIG1vdiAgICAgICAgZWF4LCB0b3BsZWZ0ICAvLyBlYXggdG9wbGVmdApAQCAtNTIx
NiwxOCArNTI0NywxOCBAQCB2b2lkIEN1bXVsYXRpdmVTdW1Ub0F2ZXJhZ2VSb3dfU1NFMihjb25z
dCBpbnQzMiogdG9wbGVmdCwgY29uc3QgaW50MzIqIGJvdGxlZnQsCiAgICAgY21wICAgICAgICBh
cmVhLCAxMjggIC8vIDEyOCBwaXhlbHMgd2lsbCBub3Qgb3ZlcmZsb3cgMTUgYml0cy4KICAgICBq
YSAgICAgICAgIGw0CiAKLSAgICBwc2h1ZmQgICAgIHhtbTUsIHhtbTUsIDAgICAgICAgIC8vIGFy
ZWEKLSAgICBwY21wZXFiICAgIHhtbTYsIHhtbTYgICAgICAgICAgIC8vIGNvbnN0YW50IG9mIDY1
NTM2LjAgLSAxID0gNjU1MzUuMAorICAgIHBzaHVmZCAgICAgeG1tNSwgeG1tNSwgMCAgLy8gYXJl
YQorICAgIHBjbXBlcWIgICAgeG1tNiwgeG1tNiAgLy8gY29uc3RhbnQgb2YgNjU1MzYuMCAtIDEg
PSA2NTUzNS4wCiAgICAgcHNybGQgICAgICB4bW02LCAxNgogICAgIGN2dGRxMnBzICAgeG1tNiwg
eG1tNgotICAgIGFkZHBzICAgICAgeG1tNSwgeG1tNiAgICAgICAgICAgLy8gKDY1NTM2LjAgKyBh
cmVhIC0gMSkKLSAgICBtdWxwcyAgICAgIHhtbTUsIHhtbTQgICAgICAgICAgIC8vICg2NTUzNi4w
ICsgYXJlYSAtIDEpICogMSAvIGFyZWEKLSAgICBjdnRwczJkcSAgIHhtbTUsIHhtbTUgICAgICAg
ICAgIC8vIDAuMTYgZml4ZWQgcG9pbnQKLSAgICBwYWNrc3NkdyAgIHhtbTUsIHhtbTUgICAgICAg
ICAgIC8vIDE2IGJpdCBzaG9ydHMKKyAgICBhZGRwcyAgICAgIHhtbTUsIHhtbTYgIC8vICg2NTUz
Ni4wICsgYXJlYSAtIDEpCisgICAgbXVscHMgICAgICB4bW01LCB4bW00ICAvLyAoNjU1MzYuMCAr
IGFyZWEgLSAxKSAqIDEgLyBhcmVhCisgICAgY3Z0cHMyZHEgICB4bW01LCB4bW01ICAvLyAwLjE2
IGZpeGVkIHBvaW50CisgICAgcGFja3NzZHcgICB4bW01LCB4bW01ICAvLyAxNiBiaXQgc2hvcnRz
CiAKICAgICAvLyA0IHBpeGVsIGxvb3Agc21hbGwgYmxvY2tzLgogICBzNDoKLSAgICAvLyB0b3Ag
bGVmdAorICAgICAgICAvLyB0b3AgbGVmdAogICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0KICAg
ICBtb3ZkcXUgICAgIHhtbTEsIFtlYXggKyAxNl0KICAgICBtb3ZkcXUgICAgIHhtbTIsIFtlYXgg
KyAzMl0KQEAgLTUyNjksNyArNTMwMCw3IEBAIHZvaWQgQ3VtdWxhdGl2ZVN1bVRvQXZlcmFnZVJv
d19TU0UyKGNvbnN0IGludDMyKiB0b3BsZWZ0LCBjb25zdCBpbnQzMiogYm90bGVmdCwKIAogICAg
IC8vIDQgcGl4ZWwgbG9vcAogICBsNDoKLSAgICAvLyB0b3AgbGVmdAorICAgICAgICAvLyB0b3Ag
bGVmdAogICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0KICAgICBtb3ZkcXUgICAgIHhtbTEsIFtl
YXggKyAxNl0KICAgICBtb3ZkcXUgICAgIHhtbTIsIFtlYXggKyAzMl0KQEAgLTUyOTUsNyArNTMy
Niw3IEBAIHZvaWQgQ3VtdWxhdGl2ZVN1bVRvQXZlcmFnZVJvd19TU0UyKGNvbnN0IGludDMyKiB0
b3BsZWZ0LCBjb25zdCBpbnQzMiogYm90bGVmdCwKICAgICBwYWRkZCAgICAgIHhtbTMsIFtlc2kg
KyBlZHggKiA0ICsgNDhdCiAgICAgbGVhICAgICAgICBlc2ksIFtlc2kgKyA2NF0KIAotICAgIGN2
dGRxMnBzICAgeG1tMCwgeG1tMCAgIC8vIEF2ZXJhZ2UgPSBTdW0gKiAxIC8gQXJlYQorICAgIGN2
dGRxMnBzICAgeG1tMCwgeG1tMCAgLy8gQXZlcmFnZSA9IFN1bSAqIDEgLyBBcmVhCiAgICAgY3Z0
ZHEycHMgICB4bW0xLCB4bW0xCiAgICAgbXVscHMgICAgICB4bW0wLCB4bW00CiAgICAgbXVscHMg
ICAgICB4bW0xLCB4bW00CkBAIC01MzQ0LDggKzUzNzUsMTAgQEAgdm9pZCBDdW11bGF0aXZlU3Vt
VG9BdmVyYWdlUm93X1NTRTIoY29uc3QgaW50MzIqIHRvcGxlZnQsIGNvbnN0IGludDMyKiBib3Rs
ZWZ0LAogI2lmZGVmIEhBU19DT01QVVRFQ1VNVUxBVElWRVNVTVJPV19TU0UyCiAvLyBDcmVhdGVz
IGEgdGFibGUgb2YgY3VtdWxhdGl2ZSBzdW1zIHdoZXJlIGVhY2ggdmFsdWUgaXMgYSBzdW0gb2Yg
YWxsIHZhbHVlcwogLy8gYWJvdmUgYW5kIHRvIHRoZSBsZWZ0IG9mIHRoZSB2YWx1ZS4KLXZvaWQg
Q29tcHV0ZUN1bXVsYXRpdmVTdW1Sb3dfU1NFMihjb25zdCB1aW50OCogcm93LCBpbnQzMiogY3Vt
c3VtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDMyKiBwcmV2
aW91c19jdW1zdW0sIGludCB3aWR0aCkgewordm9pZCBDb21wdXRlQ3VtdWxhdGl2ZVN1bVJvd19T
U0UyKGNvbnN0IHVpbnQ4KiByb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50MzIqIGN1bXN1bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp
bnQzMiogcHJldmlvdXNfY3Vtc3VtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgbW92ICAgICAgICBlYXgsIHJvdwogICAgIG1v
diAgICAgICAgZWR4LCBjdW1zdW0KQEAgLTU0MjcsMTAgKzU0NjAsMTEgQEAgdm9pZCBDb21wdXRl
Q3VtdWxhdGl2ZVN1bVJvd19TU0UyKGNvbnN0IHVpbnQ4KiByb3csIGludDMyKiBjdW1zdW0sCiAK
ICNpZmRlZiBIQVNfQVJHQkFGRklORVJPV19TU0UyCiAvLyBDb3B5IEFSR0IgcGl4ZWxzIGZyb20g
c291cmNlIGltYWdlIHdpdGggc2xvcGUgdG8gYSByb3cgb2YgZGVzdGluYXRpb24uCi1fX2RlY2xz
cGVjKG5ha2VkKQotTElCWVVWX0FQSQotdm9pZCBBUkdCQWZmaW5lUm93X1NTRTIoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCBpbnQgc3JjX2FyZ2Jfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdF9hcmdiLCBjb25zdCBmbG9hdCogdXZfZHVkdiwgaW50IHdpZHRoKSB7Citf
X2RlY2xzcGVjKG5ha2VkKSBMSUJZVVZfQVBJIHZvaWQgQVJHQkFmZmluZVJvd19TU0UyKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19hcmdiX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmbG9h
dCogdXZfZHVkdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVzaQogICAg
IHB1c2ggICAgICAgZWRpCkBAIC01NDQxLDcgKzU0NzUsNyBAQCB2b2lkIEFSR0JBZmZpbmVSb3df
U1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfYXJnYl9zdHJpZGUsCiAgICAgbW92
cSAgICAgICB4bW0yLCBxd29yZCBwdHIgW2VjeF0gIC8vIHV2CiAgICAgbW92cSAgICAgICB4bW03
LCBxd29yZCBwdHIgW2VjeCArIDhdICAvLyBkdWR2CiAgICAgbW92ICAgICAgICBlY3gsIFtlc3Ag
KyAyOF0gIC8vIHdpZHRoCi0gICAgc2hsICAgICAgICBlc2ksIDE2ICAgICAgICAgIC8vIDQsIHN0
cmlkZQorICAgIHNobCAgICAgICAgZXNpLCAxNiAgLy8gNCwgc3RyaWRlCiAgICAgYWRkICAgICAg
ICBlc2ksIDQKICAgICBtb3ZkICAgICAgIHhtbTUsIGVzaQogICAgIHN1YiAgICAgICAgZWN4LCA0
CkBAIC01NDUwLDM3ICs1NDg0LDM3IEBAIHZvaWQgQVJHQkFmZmluZVJvd19TU0UyKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgaW50IHNyY19hcmdiX3N0cmlkZSwKICAgICAvLyBzZXR1cCBmb3IgNCBw
aXhlbCBsb29wCiAgICAgcHNodWZkICAgICB4bW03LCB4bW03LCAweDQ0ICAvLyBkdXAgZHVkdgog
ICAgIHBzaHVmZCAgICAgeG1tNSwgeG1tNSwgMCAgLy8gZHVwIDQsIHN0cmlkZQotICAgIG1vdmRx
YSAgICAgeG1tMCwgeG1tMiAgICAvLyB4MCwgeTAsIHgxLCB5MQorICAgIG1vdmRxYSAgICAgeG1t
MCwgeG1tMiAgLy8geDAsIHkwLCB4MSwgeTEKICAgICBhZGRwcyAgICAgIHhtbTAsIHhtbTcKICAg
ICBtb3ZsaHBzICAgIHhtbTIsIHhtbTAKICAgICBtb3ZkcWEgICAgIHhtbTQsIHhtbTcKLSAgICBh
ZGRwcyAgICAgIHhtbTQsIHhtbTQgICAgLy8gZHVkdiAqPSAyCi0gICAgbW92ZHFhICAgICB4bW0z
LCB4bW0yICAgIC8vIHgyLCB5MiwgeDMsIHkzCisgICAgYWRkcHMgICAgICB4bW00LCB4bW00ICAv
LyBkdWR2ICo9IDIKKyAgICBtb3ZkcWEgICAgIHhtbTMsIHhtbTIgIC8vIHgyLCB5MiwgeDMsIHkz
CiAgICAgYWRkcHMgICAgICB4bW0zLCB4bW00Ci0gICAgYWRkcHMgICAgICB4bW00LCB4bW00ICAg
IC8vIGR1ZHYgKj0gNAorICAgIGFkZHBzICAgICAgeG1tNCwgeG1tNCAgLy8gZHVkdiAqPSA0CiAK
ICAgICAvLyA0IHBpeGVsIGxvb3AKICAgbDQ6Ci0gICAgY3Z0dHBzMmRxICB4bW0wLCB4bW0yICAg
IC8vIHgsIHkgZmxvYXQgdG8gaW50IGZpcnN0IDIKLSAgICBjdnR0cHMyZHEgIHhtbTEsIHhtbTMg
ICAgLy8geCwgeSBmbG9hdCB0byBpbnQgbmV4dCAyCi0gICAgcGFja3NzZHcgICB4bW0wLCB4bW0x
ICAgIC8vIHgsIHkgYXMgOCBzaG9ydHMKLSAgICBwbWFkZHdkICAgIHhtbTAsIHhtbTUgICAgLy8g
b2Zmc2V0cyA9IHggKiA0ICsgeSAqIHN0cmlkZS4KKyAgICBjdnR0cHMyZHEgIHhtbTAsIHhtbTIg
IC8vIHgsIHkgZmxvYXQgdG8gaW50IGZpcnN0IDIKKyAgICBjdnR0cHMyZHEgIHhtbTEsIHhtbTMg
IC8vIHgsIHkgZmxvYXQgdG8gaW50IG5leHQgMgorICAgIHBhY2tzc2R3ICAgeG1tMCwgeG1tMSAg
Ly8geCwgeSBhcyA4IHNob3J0cworICAgIHBtYWRkd2QgICAgeG1tMCwgeG1tNSAgLy8gb2Zmc2V0
cyA9IHggKiA0ICsgeSAqIHN0cmlkZS4KICAgICBtb3ZkICAgICAgIGVzaSwgeG1tMAogICAgIHBz
aHVmZCAgICAgeG1tMCwgeG1tMCwgMHgzOSAgLy8gc2hpZnQgcmlnaHQKICAgICBtb3ZkICAgICAg
IGVkaSwgeG1tMAogICAgIHBzaHVmZCAgICAgeG1tMCwgeG1tMCwgMHgzOSAgLy8gc2hpZnQgcmln
aHQKICAgICBtb3ZkICAgICAgIHhtbTEsIFtlYXggKyBlc2ldICAvLyByZWFkIHBpeGVsIDAKICAg
ICBtb3ZkICAgICAgIHhtbTYsIFtlYXggKyBlZGldICAvLyByZWFkIHBpeGVsIDEKLSAgICBwdW5w
Y2tsZHEgIHhtbTEsIHhtbTYgICAgIC8vIGNvbWJpbmUgcGl4ZWwgMCBhbmQgMQotICAgIGFkZHBz
ICAgICAgeG1tMiwgeG1tNCAgICAvLyB4LCB5ICs9IGR4LCBkeSBmaXJzdCAyCisgICAgcHVucGNr
bGRxICB4bW0xLCB4bW02ICAvLyBjb21iaW5lIHBpeGVsIDAgYW5kIDEKKyAgICBhZGRwcyAgICAg
IHhtbTIsIHhtbTQgIC8vIHgsIHkgKz0gZHgsIGR5IGZpcnN0IDIKICAgICBtb3ZxICAgICAgIHF3
b3JkIHB0ciBbZWR4XSwgeG1tMQogICAgIG1vdmQgICAgICAgZXNpLCB4bW0wCiAgICAgcHNodWZk
ICAgICB4bW0wLCB4bW0wLCAweDM5ICAvLyBzaGlmdCByaWdodAogICAgIG1vdmQgICAgICAgZWRp
LCB4bW0wCiAgICAgbW92ZCAgICAgICB4bW02LCBbZWF4ICsgZXNpXSAgLy8gcmVhZCBwaXhlbCAy
CiAgICAgbW92ZCAgICAgICB4bW0wLCBbZWF4ICsgZWRpXSAgLy8gcmVhZCBwaXhlbCAzCi0gICAg
cHVucGNrbGRxICB4bW02LCB4bW0wICAgICAvLyBjb21iaW5lIHBpeGVsIDIgYW5kIDMKLSAgICBh
ZGRwcyAgICAgIHhtbTMsIHhtbTQgICAgLy8geCwgeSArPSBkeCwgZHkgbmV4dCAyCisgICAgcHVu
cGNrbGRxICB4bW02LCB4bW0wICAvLyBjb21iaW5lIHBpeGVsIDIgYW5kIDMKKyAgICBhZGRwcyAg
ICAgIHhtbTMsIHhtbTQgIC8vIHgsIHkgKz0gZHgsIGR5IG5leHQgMgogICAgIG1vdnEgICAgICAg
cXdvcmQgcHRyIDhbZWR4XSwgeG1tNgogICAgIGxlYSAgICAgICAgZWR4LCBbZWR4ICsgMTZdCiAg
ICAgc3ViICAgICAgICBlY3gsIDQKQEAgLTU0OTIsMTAgKzU1MjYsMTAgQEAgdm9pZCBBUkdCQWZm
aW5lUm93X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX2FyZ2Jfc3RyaWRlLAog
CiAgICAgLy8gMSBwaXhlbCBsb29wCiAgIGwxOgotICAgIGN2dHRwczJkcSAgeG1tMCwgeG1tMiAg
ICAvLyB4LCB5IGZsb2F0IHRvIGludAotICAgIHBhY2tzc2R3ICAgeG1tMCwgeG1tMCAgICAvLyB4
LCB5IGFzIHNob3J0cwotICAgIHBtYWRkd2QgICAgeG1tMCwgeG1tNSAgICAvLyBvZmZzZXQgPSB4
ICogNCArIHkgKiBzdHJpZGUKLSAgICBhZGRwcyAgICAgIHhtbTIsIHhtbTcgICAgLy8geCwgeSAr
PSBkeCwgZHkKKyAgICBjdnR0cHMyZHEgIHhtbTAsIHhtbTIgIC8vIHgsIHkgZmxvYXQgdG8gaW50
CisgICAgcGFja3NzZHcgICB4bW0wLCB4bW0wICAvLyB4LCB5IGFzIHNob3J0cworICAgIHBtYWRk
d2QgICAgeG1tMCwgeG1tNSAgLy8gb2Zmc2V0ID0geCAqIDQgKyB5ICogc3RyaWRlCisgICAgYWRk
cHMgICAgICB4bW0yLCB4bW03ICAvLyB4LCB5ICs9IGR4LCBkeQogICAgIG1vdmQgICAgICAgZXNp
LCB4bW0wCiAgICAgbW92ZCAgICAgICB4bW0wLCBbZWF4ICsgZXNpXSAgLy8gY29weSBhIHBpeGVs
CiAgICAgbW92ZCAgICAgICBbZWR4XSwgeG1tMApAQCAtNTUxMiwxNSArNTU0NiwxNiBAQCB2b2lk
IEFSR0JBZmZpbmVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIGludCBzcmNfYXJnYl9z
dHJpZGUsCiAKICNpZmRlZiBIQVNfSU5URVJQT0xBVEVST1dfQVZYMgogLy8gQmlsaW5lYXIgZmls
dGVyIDMyeDIgLT4gMzJ4MQotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgSW50ZXJwb2xhdGVSb3df
QVZYMih1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsIGludCBkc3Rfd2lkdGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNvdXJjZV95X2ZyYWN0aW9uKSB7CitfX2RlY2xzcGVjKG5h
a2VkKSB2b2lkIEludGVycG9sYXRlUm93X0FWWDIodWludDgqIGRzdF9wdHIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c291cmNlX3lfZnJhY3Rpb24pIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCiAgICAg
cHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDggKyA0XSAgIC8vIGRz
dF9wdHIKLSAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDggKyA4XSAgIC8vIHNyY19wdHIKKyAg
ICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDggKyA0XSAgLy8gZHN0X3B0cgorICAgIG1vdiAgICAg
ICAgZXNpLCBbZXNwICsgOCArIDhdICAvLyBzcmNfcHRyCiAgICAgbW92ICAgICAgICBlZHgsIFtl
c3AgKyA4ICsgMTJdICAvLyBzcmNfc3RyaWRlCiAgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA4
ICsgMTZdICAvLyBkc3Rfd2lkdGgKICAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDggKyAyMF0g
IC8vIHNvdXJjZV95X2ZyYWN0aW9uICgwLi4yNTUpCkBAIC01NTI5LDcgKzU1NjQsNyBAQCB2b2lk
IEludGVycG9sYXRlUm93X0FWWDIodWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LAogICAgIGplICAgICAgICAgeGxvb3AxMDAgIC8vIDAgLyAyNTYuICBCbGVuZCAxMDAgLyAwLgog
ICAgIHN1YiAgICAgICAgZWRpLCBlc2kKICAgICBjbXAgICAgICAgIGVheCwgMTI4Ci0gICAgamUg
ICAgICAgICB4bG9vcDUwICAgLy8gMTI4IC8yNTYgaXMgMC41MC4gIEJsZW5kIDUwIC8gNTAuCisg
ICAgamUgICAgICAgICB4bG9vcDUwICAvLyAxMjggLzI1NiBpcyAwLjUwLiAgQmxlbmQgNTAgLyA1
MC4KIAogICAgIHZtb3ZkICAgICAgeG1tMCwgZWF4ICAvLyBoaWdoIGZyYWN0aW9uIDAuLjI1NQog
ICAgIG5lZyAgICAgICAgZWF4CkBAIC01NTU2LDE0ICs1NTkxLDE0IEBAIHZvaWQgSW50ZXJwb2xh
dGVSb3dfQVZYMih1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgdnBh
ZGR3ICAgICB5bW0wLCB5bW0wLCB5bW00CiAgICAgdnBzcmx3ICAgICB5bW0xLCB5bW0xLCA4CiAg
ICAgdnBzcmx3ICAgICB5bW0wLCB5bW0wLCA4Ci0gICAgdnBhY2t1c3diICB5bW0wLCB5bW0wLCB5
bW0xICAvLyB1bm11dGF0ZXMKKyAgICB2cGFja3Vzd2IgIHltbTAsIHltbTAsIHltbTEgICAgICAg
ICAgICAvLyB1bm11dGF0ZXMKICAgICB2bW92ZHF1ICAgIFtlc2kgKyBlZGldLCB5bW0wCiAgICAg
bGVhICAgICAgICBlc2ksIFtlc2kgKyAzMl0KICAgICBzdWIgICAgICAgIGVjeCwgMzIKICAgICBq
ZyAgICAgICAgIHhsb29wCiAgICAgam1wICAgICAgICB4bG9vcDk5CiAKLSAgIC8vIEJsZW5kIDUw
IC8gNTAuCisgICAgLy8gQmxlbmQgNTAgLyA1MC4KICB4bG9vcDUwOgogICAgdm1vdmRxdSAgICB5
bW0wLCBbZXNpXQogICAgdnBhdmdiICAgICB5bW0wLCB5bW0wLCBbZXNpICsgZWR4XQpAQCAtNTU3
Myw3ICs1NjA4LDcgQEAgdm9pZCBJbnRlcnBvbGF0ZVJvd19BVlgyKHVpbnQ4KiBkc3RfcHRyLCBj
b25zdCB1aW50OCogc3JjX3B0ciwKICAgIGpnICAgICAgICAgeGxvb3A1MAogICAgam1wICAgICAg
ICB4bG9vcDk5CiAKLSAgIC8vIEJsZW5kIDEwMCAvIDAgLSBDb3B5IHJvdyB1bmNoYW5nZWQuCisg
ICAgLy8gQmxlbmQgMTAwIC8gMCAtIENvcHkgcm93IHVuY2hhbmdlZC4KICB4bG9vcDEwMDoKICAg
IHJlcCBtb3ZzYgogCkBAIC01NTg4LDE2ICs1NjIzLDE3IEBAIHZvaWQgSW50ZXJwb2xhdGVSb3df
QVZYMih1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCiAKIC8vIEJpbGluZWFy
IGZpbHRlciAxNngyIC0+IDE2eDEKIC8vIFRPRE8oZmJhcmNoYXJkKTogQ29uc2lkZXIgYWxsb3dp
bmcgMjU2IHVzaW5nIG1lbWNweS4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIEludGVycG9sYXRl
Um93X1NTU0UzKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsIGludCBkc3Rfd2lkdGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb3VyY2VfeV9mcmFjdGlvbikgeworX19kZWNs
c3BlYyhuYWtlZCkgdm9pZCBJbnRlcnBvbGF0ZVJvd19TU1NFMyh1aW50OCogZHN0X3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc291cmNlX3lfZnJhY3Rpb24pIHsKICAgX19hc20gewogICAgIHB1c2ggICAg
ICAgZXNpCiAgICAgcHVzaCAgICAgICBlZGkKIAotICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsg
OCArIDRdICAgLy8gZHN0X3B0cgotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgOCArIDhdICAg
Ly8gc3JjX3B0cgorICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgOCArIDRdICAvLyBkc3RfcHRy
CisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gIC8vIHNyY19wdHIKICAgICBtb3Yg
ICAgICAgIGVkeCwgW2VzcCArIDggKyAxMl0gIC8vIHNyY19zdHJpZGUKICAgICBtb3YgICAgICAg
IGVjeCwgW2VzcCArIDggKyAxNl0gIC8vIGRzdF93aWR0aAogICAgIG1vdiAgICAgICAgZWF4LCBb
ZXNwICsgOCArIDIwXSAgLy8gc291cmNlX3lfZnJhY3Rpb24gKDAuLjI1NSkKQEAgLTU2MDYsNyAr
NTY0Miw3IEBAIHZvaWQgSW50ZXJwb2xhdGVSb3dfU1NTRTModWludDgqIGRzdF9wdHIsIGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLAogICAgIGNtcCAgICAgICAgZWF4LCAwCiAgICAgamUgICAgICAgICB4
bG9vcDEwMCAgLy8gMCAvMjU2LiAgQmxlbmQgMTAwIC8gMC4KICAgICBjbXAgICAgICAgIGVheCwg
MTI4Ci0gICAgamUgICAgICAgICB4bG9vcDUwICAgLy8gMTI4IC8gMjU2IGlzIDAuNTAuICBCbGVu
ZCA1MCAvIDUwLgorICAgIGplICAgICAgICAgeGxvb3A1MCAgLy8gMTI4IC8gMjU2IGlzIDAuNTAu
ICBCbGVuZCA1MCAvIDUwLgogCiAgICAgbW92ZCAgICAgICB4bW0wLCBlYXggIC8vIGhpZ2ggZnJh
Y3Rpb24gMC4uMjU1CiAgICAgbmVnICAgICAgICBlYXgKQEAgLTU2MjUsNyArNTY2MSw3IEBAIHZv
aWQgSW50ZXJwb2xhdGVSb3dfU1NTRTModWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLAogICAgIG1vdmRxdSAgICAgeG1tMSwgeG1tMAogICAgIHB1bnBja2xidyAgeG1tMCwgeG1t
MgogICAgIHB1bnBja2hidyAgeG1tMSwgeG1tMgotICAgIHBzdWJiICAgICAgeG1tMCwgeG1tNCAg
Ly8gYmlhcyBpbWFnZSBieSAtMTI4CisgICAgcHN1YmIgICAgICB4bW0wLCB4bW00ICAgICAgICAg
ICAgLy8gYmlhcyBpbWFnZSBieSAtMTI4CiAgICAgcHN1YmIgICAgICB4bW0xLCB4bW00CiAgICAg
bW92ZHFhICAgICB4bW0yLCB4bW01CiAgICAgbW92ZHFhICAgICB4bW0zLCB4bW01CkBAIC01NjY5
LDE1ICs1NzA1LDE2IEBAIHZvaWQgSW50ZXJwb2xhdGVSb3dfU1NTRTModWludDgqIGRzdF9wdHIs
IGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogfQogCiAvLyBGb3IgQkdSQVRvQVJHQiwgQUJHUlRvQVJH
QiwgUkdCQVRvQVJHQiwgYW5kIEFSR0JUb1JHQkEuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBB
UkdCU2h1ZmZsZVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJn
YiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLCBpbnQg
d2lkdGgpIHsKLSAgX19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAgLy8g
c3JjX2FyZ2IKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAgIC8vIGRzdF9hcmdiCi0g
ICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gICAvLyBzaHVmZmxlcgorX19kZWNsc3BlYyhu
YWtlZCkgdm9pZCBBUkdCU2h1ZmZsZVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNodWZmbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgd2lkdGgpIHsKKyAgX19hc20geworICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0g
IC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgLy8gZHN0X2FyZ2IK
KyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8gc2h1ZmZsZXIKICAgICBtb3ZkcXUg
ICAgIHhtbTUsIFtlY3hdCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxNl0gICAvLyB3aWR0
aAorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAvLyB3aWR0aAogCiAgIHdsb29wOgog
ICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0KQEAgLTU2OTUsMTUgKzU3MzIsMTYgQEAgdm9pZCBB
UkdCU2h1ZmZsZVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJn
YiwKIH0KIAogI2lmZGVmIEhBU19BUkdCU0hVRkZMRVJPV19BVlgyCi1fX2RlY2xzcGVjKG5ha2Vk
KQotdm9pZCBBUkdCU2h1ZmZsZVJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgq
IGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzaHVmZmxl
ciwgaW50IHdpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEFSR0JTaHVmZmxlUm93X0FW
WDIoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBt
b3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgICAvLyBzcmNfYXJnYgotICAgIG1vdiAgICAgICAg
ZWR4LCBbZXNwICsgOF0gICAgIC8vIGRzdF9hcmdiCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3Ag
KyAxMl0gICAgLy8gc2h1ZmZsZXIKLSAgICB2YnJvYWRjYXN0ZjEyOCB5bW01LCBbZWN4XSAgICAv
LyBzYW1lIHNodWZmbGUgaW4gaGlnaCBhcyBsb3cuCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3Ag
KyAxNl0gICAgLy8gd2lkdGgKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNf
YXJnYgorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gIC8vIGRzdF9hcmdiCisgICAgbW92
ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gIC8vIHNodWZmbGVyCisgICAgdmJyb2FkY2FzdGYxMjgg
eW1tNSwgW2VjeF0gIC8vIHNhbWUgc2h1ZmZsZSBpbiBoaWdoIGFzIGxvdy4KKyAgICBtb3YgICAg
ICAgIGVjeCwgW2VzcCArIDE2XSAgLy8gd2lkdGgKIAogICB3bG9vcDoKICAgICB2bW92ZHF1ICAg
IHltbTAsIFtlYXhdCkBAIC01NzIzLDE5ICs1NzYxLDIwIEBAIHZvaWQgQVJHQlNodWZmbGVSb3df
QVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKIH0KICNlbmRpZiAg
Ly8gSEFTX0FSR0JTSFVGRkxFUk9XX0FWWDIKIAotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgQVJH
QlNodWZmbGVSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc2h1ZmZsZXIsIGludCB3aWR0
aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCU2h1ZmZsZVJvd19TU0UyKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNodWZmbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBl
YngKICAgICBwdXNoICAgICAgIGVzaQotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgOCArIDRd
ICAgIC8vIHNyY19hcmdiCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4ICsgOF0gICAgLy8g
ZHN0X2FyZ2IKLSAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDggKyAxMl0gICAvLyBzaHVmZmxl
cgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDE2XSAgIC8vIHdpZHRoCisgICAgbW92
ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAgICBl
ZHgsIFtlc3AgKyA4ICsgOF0gIC8vIGRzdF9hcmdiCisgICAgbW92ICAgICAgICBlc2ksIFtlc3Ag
KyA4ICsgMTJdICAvLyBzaHVmZmxlcgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDE2
XSAgLy8gd2lkdGgKICAgICBweG9yICAgICAgIHhtbTUsIHhtbTUKIAotICAgIG1vdiAgICAgICAg
ZWJ4LCBbZXNpXSAgIC8vIHNodWZmbGVyCisgICAgbW92ICAgICAgICBlYngsIFtlc2ldICAvLyBz
aHVmZmxlcgogICAgIGNtcCAgICAgICAgZWJ4LCAweDAzMDAwMTAyCiAgICAgamUgICAgICAgICBz
aHVmXzMwMTIKICAgICBjbXAgICAgICAgIGVieCwgMHgwMDAxMDIwMwpAQCAtNTc0NSw3ICs1Nzg0
LDcgQEAgdm9pZCBBUkdCU2h1ZmZsZVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWlu
dDgqIGRzdF9hcmdiLAogICAgIGNtcCAgICAgICAgZWJ4LCAweDAyMDEwMDAzCiAgICAgamUgICAg
ICAgICBzaHVmXzIxMDMKIAotICAvLyBUT0RPKGZiYXJjaGFyZCk6IFVzZSBvbmUgc291cmNlIHBv
aW50ZXIgYW5kIDMgb2Zmc2V0cy4KKyAgICAvLyBUT0RPKGZiYXJjaGFyZCk6IFVzZSBvbmUgc291
cmNlIHBvaW50ZXIgYW5kIDMgb2Zmc2V0cy4KICAgc2h1Zl9hbnkxOgogICAgIG1vdnp4ICAgICAg
ZWJ4LCBieXRlIHB0ciBbZXNpXQogICAgIG1vdnp4ICAgICAgZWJ4LCBieXRlIHB0ciBbZWF4ICsg
ZWJ4XQpAQCAtNTc3MSw3ICs1ODEwLDcgQEAgdm9pZCBBUkdCU2h1ZmZsZVJvd19TU0UyKGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAogICAgIG1vdmRxYSAgICAgeG1tMSwg
eG1tMAogICAgIHB1bnBja2xidyAgeG1tMCwgeG1tNQogICAgIHB1bnBja2hidyAgeG1tMSwgeG1t
NQotICAgIHBzaHVmaHcgICAgeG1tMCwgeG1tMCwgMDFCaCAgIC8vIDFCID0gMDAwMTEwMTEgPSAw
eDAxMjMgPSBCR1JBVG9BUkdCCisgICAgcHNodWZodyAgICB4bW0wLCB4bW0wLCAwMUJoICAvLyAx
QiA9IDAwMDExMDExID0gMHgwMTIzID0gQkdSQVRvQVJHQgogICAgIHBzaHVmbHcgICAgeG1tMCwg
eG1tMCwgMDFCaAogICAgIHBzaHVmaHcgICAgeG1tMSwgeG1tMSwgMDFCaAogICAgIHBzaHVmbHcg
ICAgeG1tMSwgeG1tMSwgMDFCaApAQCAtNTc4OCw3ICs1ODI3LDcgQEAgdm9pZCBBUkdCU2h1ZmZs
ZVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAogICAgIG1v
dmRxYSAgICAgeG1tMSwgeG1tMAogICAgIHB1bnBja2xidyAgeG1tMCwgeG1tNQogICAgIHB1bnBj
a2hidyAgeG1tMSwgeG1tNQotICAgIHBzaHVmaHcgICAgeG1tMCwgeG1tMCwgMDM5aCAgIC8vIDM5
ID0gMDAxMTEwMDEgPSAweDAzMjEgPSBSR0JBVG9BUkdCCisgICAgcHNodWZodyAgICB4bW0wLCB4
bW0wLCAwMzloICAvLyAzOSA9IDAwMTExMDAxID0gMHgwMzIxID0gUkdCQVRvQVJHQgogICAgIHBz
aHVmbHcgICAgeG1tMCwgeG1tMCwgMDM5aAogICAgIHBzaHVmaHcgICAgeG1tMSwgeG1tMSwgMDM5
aAogICAgIHBzaHVmbHcgICAgeG1tMSwgeG1tMSwgMDM5aApAQCAtNTgwNSw3ICs1ODQ0LDcgQEAg
dm9pZCBBUkdCU2h1ZmZsZVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRz
dF9hcmdiLAogICAgIG1vdmRxYSAgICAgeG1tMSwgeG1tMAogICAgIHB1bnBja2xidyAgeG1tMCwg
eG1tNQogICAgIHB1bnBja2hidyAgeG1tMSwgeG1tNQotICAgIHBzaHVmaHcgICAgeG1tMCwgeG1t
MCwgMDkzaCAgIC8vIDkzID0gMTAwMTAwMTEgPSAweDIxMDMgPSBBUkdCVG9SR0JBCisgICAgcHNo
dWZodyAgICB4bW0wLCB4bW0wLCAwOTNoICAvLyA5MyA9IDEwMDEwMDExID0gMHgyMTAzID0gQVJH
QlRvUkdCQQogICAgIHBzaHVmbHcgICAgeG1tMCwgeG1tMCwgMDkzaAogICAgIHBzaHVmaHcgICAg
eG1tMSwgeG1tMSwgMDkzaAogICAgIHBzaHVmbHcgICAgeG1tMSwgeG1tMSwgMDkzaApAQCAtNTgy
Miw3ICs1ODYxLDcgQEAgdm9pZCBBUkdCU2h1ZmZsZVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYiwgdWludDgqIGRzdF9hcmdiLAogICAgIG1vdmRxYSAgICAgeG1tMSwgeG1tMAogICAgIHB1
bnBja2xidyAgeG1tMCwgeG1tNQogICAgIHB1bnBja2hidyAgeG1tMSwgeG1tNQotICAgIHBzaHVm
aHcgICAgeG1tMCwgeG1tMCwgMEM2aCAgIC8vIEM2ID0gMTEwMDAxMTAgPSAweDMwMTIgPSBBQkdS
VG9BUkdCCisgICAgcHNodWZodyAgICB4bW0wLCB4bW0wLCAwQzZoICAvLyBDNiA9IDExMDAwMTEw
ID0gMHgzMDEyID0gQUJHUlRvQVJHQgogICAgIHBzaHVmbHcgICAgeG1tMCwgeG1tMCwgMEM2aAog
ICAgIHBzaHVmaHcgICAgeG1tMSwgeG1tMSwgMEM2aAogICAgIHBzaHVmbHcgICAgeG1tMSwgeG1t
MSwgMEM2aApAQCAtNTg0NSwzMCArNTg4NCwzMCBAQCB2b2lkIEFSR0JTaHVmZmxlUm93X1NTRTIo
Y29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCiAvLyBVWVZZIC0gTWFjcm8t
cGl4ZWwgPSAyIGltYWdlIHBpeGVscwogLy8gVTBZMFYwWTEKIAotX19kZWNsc3BlYyhuYWtlZCkK
LXZvaWQgSTQyMlRvWVVZMlJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfeSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQ4KiBzcmNfdiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
ZnJhbWUsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBJNDIyVG9ZVVkyUm93
X1NTRTIoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9mcmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAg
cHVzaCAgICAgICBlc2kKICAgICBwdXNoICAgICAgIGVkaQotICAgIG1vdiAgICAgICAgZWF4LCBb
ZXNwICsgOCArIDRdICAgIC8vIHNyY195Ci0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsg
OF0gICAgLy8gc3JjX3UKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDggKyAxMl0gICAvLyBz
cmNfdgotICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgOCArIDE2XSAgIC8vIGRzdF9mcmFtZQot
ICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDIwXSAgIC8vIHdpZHRoCisgICAgbW92ICAg
ICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gIC8vIHNyY195CisgICAgbW92ICAgICAgICBlc2ksIFtl
c3AgKyA4ICsgOF0gIC8vIHNyY191CisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4ICsgMTJd
ICAvLyBzcmNfdgorICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgOCArIDE2XSAgLy8gZHN0X2Zy
YW1lCisgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA4ICsgMjBdICAvLyB3aWR0aAogICAgIHN1
YiAgICAgICAgZWR4LCBlc2kKIAogICBjb252ZXJ0bG9vcDoKLSAgICBtb3ZxICAgICAgIHhtbTIs
IHF3b3JkIHB0ciBbZXNpXSAvLyBVCi0gICAgbW92cSAgICAgICB4bW0zLCBxd29yZCBwdHIgW2Vz
aSArIGVkeF0gLy8gVgorICAgIG1vdnEgICAgICAgeG1tMiwgcXdvcmQgcHRyIFtlc2ldICAvLyBV
CisgICAgbW92cSAgICAgICB4bW0zLCBxd29yZCBwdHIgW2VzaSArIGVkeF0gIC8vIFYKICAgICBs
ZWEgICAgICAgIGVzaSwgW2VzaSArIDhdCi0gICAgcHVucGNrbGJ3ICB4bW0yLCB4bW0zIC8vIFVW
Ci0gICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAvLyBZCisgICAgcHVucGNrbGJ3ICB4bW0yLCB4
bW0zICAvLyBVVgorICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0gIC8vIFkKICAgICBsZWEgICAg
ICAgIGVheCwgW2VheCArIDE2XQogICAgIG1vdmRxYSAgICAgeG1tMSwgeG1tMAotICAgIHB1bnBj
a2xidyAgeG1tMCwgeG1tMiAvLyBZVVlWCisgICAgcHVucGNrbGJ3ICB4bW0wLCB4bW0yICAvLyBZ
VVlWCiAgICAgcHVucGNraGJ3ICB4bW0xLCB4bW0yCiAgICAgbW92ZHF1ICAgICBbZWRpXSwgeG1t
MAogICAgIG1vdmRxdSAgICAgW2VkaSArIDE2XSwgeG1tMQpAQCAtNTg4MiwzMCArNTkyMSwzMCBA
QCB2b2lkIEk0MjJUb1lVWTJSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX3ksCiAgIH0KIH0KIAot
X19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgSTQyMlRvVVlWWVJvd19TU0UyKGNvbnN0IHVpbnQ4KiBz
cmNfeSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfZnJhbWUsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkg
dm9pZCBJNDIyVG9VWVZZUm93X1NTRTIoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY192LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9mcmFt
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkg
ewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlc2kKICAgICBwdXNoICAgICAgIGVkaQotICAg
IG1vdiAgICAgICAgZWF4LCBbZXNwICsgOCArIDRdICAgIC8vIHNyY195Ci0gICAgbW92ICAgICAg
ICBlc2ksIFtlc3AgKyA4ICsgOF0gICAgLy8gc3JjX3UKLSAgICBtb3YgICAgICAgIGVkeCwgW2Vz
cCArIDggKyAxMl0gICAvLyBzcmNfdgotICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgOCArIDE2
XSAgIC8vIGRzdF9mcmFtZQotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDIwXSAgIC8v
IHdpZHRoCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gIC8vIHNyY195CisgICAg
bW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsgOF0gIC8vIHNyY191CisgICAgbW92ICAgICAgICBl
ZHgsIFtlc3AgKyA4ICsgMTJdICAvLyBzcmNfdgorICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsg
OCArIDE2XSAgLy8gZHN0X2ZyYW1lCisgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA4ICsgMjBd
ICAvLyB3aWR0aAogICAgIHN1YiAgICAgICAgZWR4LCBlc2kKIAogICBjb252ZXJ0bG9vcDoKLSAg
ICBtb3ZxICAgICAgIHhtbTIsIHF3b3JkIHB0ciBbZXNpXSAvLyBVCi0gICAgbW92cSAgICAgICB4
bW0zLCBxd29yZCBwdHIgW2VzaSArIGVkeF0gLy8gVgorICAgIG1vdnEgICAgICAgeG1tMiwgcXdv
cmQgcHRyIFtlc2ldICAvLyBVCisgICAgbW92cSAgICAgICB4bW0zLCBxd29yZCBwdHIgW2VzaSAr
IGVkeF0gIC8vIFYKICAgICBsZWEgICAgICAgIGVzaSwgW2VzaSArIDhdCi0gICAgcHVucGNrbGJ3
ICB4bW0yLCB4bW0zIC8vIFVWCi0gICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAvLyBZCisgICAg
cHVucGNrbGJ3ICB4bW0yLCB4bW0zICAvLyBVVgorICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0g
IC8vIFkKICAgICBtb3ZkcWEgICAgIHhtbTEsIHhtbTIKICAgICBsZWEgICAgICAgIGVheCwgW2Vh
eCArIDE2XQotICAgIHB1bnBja2xidyAgeG1tMSwgeG1tMCAvLyBVWVZZCisgICAgcHVucGNrbGJ3
ICB4bW0xLCB4bW0wICAvLyBVWVZZCiAgICAgcHVucGNraGJ3ICB4bW0yLCB4bW0wCiAgICAgbW92
ZHF1ICAgICBbZWRpXSwgeG1tMQogICAgIG1vdmRxdSAgICAgW2VkaSArIDE2XSwgeG1tMgpAQCAt
NTkyMCwyMiArNTk1OSwyMiBAQCB2b2lkIEk0MjJUb1VZVllSb3dfU1NFMihjb25zdCB1aW50OCog
c3JjX3ksCiB9CiAKICNpZmRlZiBIQVNfQVJHQlBPTFlOT01JQUxST1dfU1NFMgotX19kZWNsc3Bl
YyhuYWtlZCkKLXZvaWQgQVJHQlBvbHlub21pYWxSb3dfU1NFMihjb25zdCB1aW50OCogc3JjX2Fy
Z2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBjb25zdCBm
bG9hdCogcG9seSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKK19f
ZGVjbHNwZWMobmFrZWQpIHZvaWQgQVJHQlBvbHlub21pYWxSb3dfU1NFMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGZsb2F0KiBwb2x5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBl
c2kKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgIC8qIHNyY19hcmdiICovCi0g
ICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA0ICsgOF0gICAvKiBkc3RfYXJnYiAqLwotICAgIG1v
diAgICAgICAgZXNpLCBbZXNwICsgNCArIDEyXSAgLyogcG9seSAqLwotICAgIG1vdiAgICAgICAg
ZWN4LCBbZXNwICsgNCArIDE2XSAgLyogd2lkdGggKi8KKyAgICBtb3YgICAgICAgIGVheCwgW2Vz
cCArIDQgKyA0XSAvKiBzcmNfYXJnYiAqLworICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCAr
IDhdIC8qIGRzdF9hcmdiICovCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA0ICsgMTJdIC8q
IHBvbHkgKi8KKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gLyogd2lkdGggKi8K
ICAgICBweG9yICAgICAgIHhtbTMsIHhtbTMgIC8vIDAgY29uc3RhbnQgZm9yIHplcm8gZXh0ZW5k
aW5nIGJ5dGVzIHRvIGludHMuCiAKICAgICAvLyAyIHBpeGVsIGxvb3AuCiAgY29udmVydGxvb3A6
Ci0vLyAgICBwbW92enhiZCAgeG1tMCwgZHdvcmQgcHRyIFtlYXhdICAvLyBCR1JBIHBpeGVsCi0v
LyAgICBwbW92enhiZCAgeG1tNCwgZHdvcmQgcHRyIFtlYXggKyA0XSAgLy8gQkdSQSBwaXhlbAor
ICAgICAgICAvLyAgICBwbW92enhiZCAgeG1tMCwgZHdvcmQgcHRyIFtlYXhdICAvLyBCR1JBIHBp
eGVsCisgICAgICAgIC8vICAgIHBtb3Z6eGJkICB4bW00LCBkd29yZCBwdHIgW2VheCArIDRdICAv
LyBCR1JBIHBpeGVsCiAgICAgbW92cSAgICAgICB4bW0wLCBxd29yZCBwdHIgW2VheF0gIC8vIEJH
UkFCR1JBCiAgICAgbGVhICAgICAgICBlYXgsIFtlYXggKyA4XQogICAgIHB1bnBja2xidyAgeG1t
MCwgeG1tMwpAQCAtNTk3OSwyNSArNjAxOCwyNSBAQCB2b2lkIEFSR0JQb2x5bm9taWFsUm93X1NT
RTIoY29uc3QgdWludDgqIHNyY19hcmdiLAogI2VuZGlmICAvLyBIQVNfQVJHQlBPTFlOT01JQUxS
T1dfU1NFMgogCiAjaWZkZWYgSEFTX0FSR0JQT0xZTk9NSUFMUk9XX0FWWDIKLV9fZGVjbHNwZWMo
bmFrZWQpCi12b2lkIEFSR0JQb2x5bm9taWFsUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgZmxv
YXQqIHBvbHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7Ci0gIF9f
YXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgLyogc3JjX2FyZ2IgKi8KLSAg
ICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAgLyogZHN0X2FyZ2IgKi8KLSAgICBtb3YgICAg
ICAgIGVjeCwgW2VzcCArIDEyXSAgIC8qIHBvbHkgKi8KLSAgICB2YnJvYWRjYXN0ZjEyOCB5bW00
LCBbZWN4XSAgICAgICAvLyBDMAorX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBBUkdCUG9seW5vbWlh
bFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxvYXQqIHBvbHksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIF9f
YXNtIHsKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdIC8qIHNyY19hcmdiICovCisgICAg
bW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAvKiBkc3RfYXJnYiAqLworICAgIG1vdiAgICAgICAg
ZWN4LCBbZXNwICsgMTJdIC8qIHBvbHkgKi8KKyAgICB2YnJvYWRjYXN0ZjEyOCB5bW00LCBbZWN4
XSAgLy8gQzAKICAgICB2YnJvYWRjYXN0ZjEyOCB5bW01LCBbZWN4ICsgMTZdICAvLyBDMQogICAg
IHZicm9hZGNhc3RmMTI4IHltbTYsIFtlY3ggKyAzMl0gIC8vIEMyCiAgICAgdmJyb2FkY2FzdGYx
MjggeW1tNywgW2VjeCArIDQ4XSAgLy8gQzMKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDE2
XSAgLyogd2lkdGggKi8KKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDE2XSAvKiB3aWR0aCAq
LwogCiAgICAgLy8gMiBwaXhlbCBsb29wLgogIGNvbnZlcnRsb29wOgogICAgIHZwbW92enhiZCAg
IHltbTAsIHF3b3JkIHB0ciBbZWF4XSAgLy8gMiBCR1JBIHBpeGVscwogICAgIGxlYSAgICAgICAg
IGVheCwgW2VheCArIDhdCi0gICAgdmN2dGRxMnBzICAgeW1tMCwgeW1tMCAgICAgICAgLy8gWCA4
IGZsb2F0cworICAgIHZjdnRkcTJwcyAgIHltbTAsIHltbTAgIC8vIFggOCBmbG9hdHMKICAgICB2
bXVscHMgICAgICB5bW0yLCB5bW0wLCB5bW0wICAvLyBYICogWAogICAgIHZtdWxwcyAgICAgIHlt
bTMsIHltbTAsIHltbTcgIC8vIEMzICogWAogICAgIHZmbWFkZDEzMnBzIHltbTAsIHltbTQsIHlt
bTUgIC8vIHJlc3VsdCA9IEMwICsgQzEgKiBYCkBAIC02MDE5LDI0ICs2MDU4LDI3IEBAIHZvaWQg
QVJHQlBvbHlub21pYWxSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCiAKICNpZmRlZiBI
QVNfSEFMRkZMT0FUUk9XX1NTRTIKIHN0YXRpYyBmbG9hdCBrRXhwQmlhcyA9IDEuOTI1OTI5OTQ0
NGUtMzRmOwotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgSGFsZkZsb2F0Um93X1NTRTIoY29uc3Qg
dWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50IHdpZHRoKSB7Ci0gIF9f
YXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgICAgLyogc3JjICovCi0gICAg
bW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAgICAgIC8qIGRzdCAqLwotICAgIG1vdmQgICAgICAg
eG1tNCwgZHdvcmQgcHRyIFtlc3AgKyAxMl0gICAgLyogc2NhbGUgKi8KLSAgICBtb3YgICAgICAg
IGVjeCwgW2VzcCArIDE2XSAgICAgLyogd2lkdGggKi8KK19fZGVjbHNwZWMobmFrZWQpIHZvaWQg
SGFsZkZsb2F0Um93X1NTRTIoY29uc3QgdWludDE2KiBzcmMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmbG9hdCBzY2FsZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHdpZHRoKSB7CisgIF9fYXNtIHsKKyAgICBtb3YgICAgICAg
IGVheCwgW2VzcCArIDRdIC8qIHNyYyAqLworICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0g
LyogZHN0ICovCisgICAgbW92ZCAgICAgICB4bW00LCBkd29yZCBwdHIgW2VzcCArIDEyXSAvKiBz
Y2FsZSAqLworICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdIC8qIHdpZHRoICovCiAgICAg
bXVsc3MgICAgICB4bW00LCBrRXhwQmlhcwogICAgIHBzaHVmZCAgICAgeG1tNCwgeG1tNCwgMAog
ICAgIHB4b3IgICAgICAgeG1tNSwgeG1tNQorICAgIHN1YiAgICAgICAgZWR4LCBlYXgKIAogICAg
IC8vIDggcGl4ZWwgbG9vcC4KICBjb252ZXJ0bG9vcDoKICAgICBtb3ZkcXUgICAgICB4bW0yLCB4
bW13b3JkIHB0ciBbZWF4XSAgLy8gOCBzaG9ydHMKLSAgICBsZWEgICAgICAgICBlYXgsIFtlYXgg
KyAxNl0KKyAgICBhZGQgICAgICAgICBlYXgsIDE2CiAgICAgbW92ZHFhICAgICAgeG1tMywgeG1t
MgogICAgIHB1bnBja2x3ZCAgIHhtbTIsIHhtbTUKLSAgICBjdnRkcTJwcyAgICB4bW0yLCB4bW0y
ICAgICAgICAvLyBjb252ZXJ0IDggaW50cyB0byBmbG9hdHMKKyAgICBjdnRkcTJwcyAgICB4bW0y
LCB4bW0yICAvLyBjb252ZXJ0IDggaW50cyB0byBmbG9hdHMKICAgICBwdW5wY2tod2QgICB4bW0z
LCB4bW01CiAgICAgY3Z0ZHEycHMgICAgeG1tMywgeG1tMwogICAgIG11bHBzICAgICAgIHhtbTIs
IHhtbTQKQEAgLTYwNDQsOCArNjA4Niw3IEBAIHZvaWQgSGFsZkZsb2F0Um93X1NTRTIoY29uc3Qg
dWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50IHdpZHRoKSB7CiAgICAg
cHNybGQgICAgICAgeG1tMiwgMTMKICAgICBwc3JsZCAgICAgICB4bW0zLCAxMwogICAgIHBhY2tz
c2R3ICAgIHhtbTIsIHhtbTMKLSAgICBtb3ZkcXUgICAgICBbZWR4XSwgeG1tMgotICAgIGxlYSAg
ICAgICAgIGVkeCwgW2VkeCArIDE2XQorICAgIG1vdmRxdSAgICAgIFtlYXggKyBlZHggLSAxNl0s
IHhtbTIKICAgICBzdWIgICAgICAgICBlY3gsIDgKICAgICBqZyAgICAgICAgICBjb252ZXJ0bG9v
cAogICAgIHJldApAQCAtNjA1NCwyMyArNjA5NSwyNiBAQCB2b2lkIEhhbGZGbG9hdFJvd19TU0Uy
KGNvbnN0IHVpbnQxNiogc3JjLCB1aW50MTYqIGRzdCwgZmxvYXQgc2NhbGUsIGludCB3aWR0aCkg
ewogI2VuZGlmICAvLyBIQVNfSEFMRkZMT0FUUk9XX1NTRTIKIAogI2lmZGVmIEhBU19IQUxGRkxP
QVRST1dfQVZYMgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgSGFsZkZsb2F0Um93X0FWWDIoY29u
c3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50IHdpZHRoKSB7Citf
X2RlY2xzcGVjKG5ha2VkKSB2b2lkIEhhbGZGbG9hdFJvd19BVlgyKGNvbnN0IHVpbnQxNiogc3Jj
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgc2NhbGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgewogICBf
X2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgICAgIC8qIHNyYyAqLwotICAg
IG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAgICAvKiBkc3QgKi8KLSAgICBtb3ZkICAgICAg
IHhtbTQsIGR3b3JkIHB0ciBbZXNwICsgMTJdICAvKiBzY2FsZSAqLwotICAgIG1vdiAgICAgICAg
ZWN4LCBbZXNwICsgMTZdICAgICAvKiB3aWR0aCAqLworICAgIG1vdiAgICAgICAgZWF4LCBbZXNw
ICsgNF0gLyogc3JjICovCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA4XSAvKiBkc3QgKi8K
KyAgICBtb3ZkICAgICAgIHhtbTQsIGR3b3JkIHB0ciBbZXNwICsgMTJdIC8qIHNjYWxlICovCisg
ICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxNl0gLyogd2lkdGggKi8KIAogICAgIHZtdWxzcyAg
ICAgeG1tNCwgeG1tNCwga0V4cEJpYXMKICAgICB2YnJvYWRjYXN0c3MgeW1tNCwgeG1tNAogICAg
IHZweG9yICAgICAgeW1tNSwgeW1tNSwgeW1tNQorICAgIHN1YiAgICAgICAgZWR4LCBlYXgKIAog
ICAgIC8vIDE2IHBpeGVsIGxvb3AuCiAgY29udmVydGxvb3A6CiAgICAgdm1vdmRxdSAgICAgeW1t
MiwgW2VheF0gIC8vIDE2IHNob3J0cwotICAgIGxlYSAgICAgICAgIGVheCwgW2VheCArIDMyXQot
ICAgIHZwdW5wY2tod2QgIHltbTMsIHltbTIsIHltbTUgLy8gY29udmVydCAxNiBzaG9ydHMgdG8g
MTYgaW50cworICAgIGFkZCAgICAgICAgIGVheCwgMzIKKyAgICB2cHVucGNraHdkICB5bW0zLCB5
bW0yLCB5bW01ICAvLyBjb252ZXJ0IDE2IHNob3J0cyB0byAxNiBpbnRzCiAgICAgdnB1bnBja2x3
ZCAgeW1tMiwgeW1tMiwgeW1tNQogICAgIHZjdnRkcTJwcyAgIHltbTMsIHltbTMgIC8vIGNvbnZl
cnQgMTYgaW50cyB0byBmbG9hdHMKICAgICB2Y3Z0ZHEycHMgICB5bW0yLCB5bW0yCkBAIC02MDc5
LDggKzYxMjMsNyBAQCB2b2lkIEhhbGZGbG9hdFJvd19BVlgyKGNvbnN0IHVpbnQxNiogc3JjLCB1
aW50MTYqIGRzdCwgZmxvYXQgc2NhbGUsIGludCB3aWR0aCkgewogICAgIHZwc3JsZCAgICAgIHlt
bTMsIHltbTMsIDEzICAvLyBmbG9hdCBjb252ZXJ0IHRvIDggaGFsZiBmbG9hdHMgdHJ1bmNhdGUK
ICAgICB2cHNybGQgICAgICB5bW0yLCB5bW0yLCAxMwogICAgIHZwYWNrc3NkdyAgIHltbTIsIHlt
bTIsIHltbTMKLSAgICB2bW92ZHF1ICAgICBbZWR4XSwgeW1tMgotICAgIGxlYSAgICAgICAgIGVk
eCwgW2VkeCArIDMyXQorICAgIHZtb3ZkcXUgICAgIFtlYXggKyBlZHggLSAzMl0sIHltbTIKICAg
ICBzdWIgICAgICAgICBlY3gsIDE2CiAgICAgamcgICAgICAgICAgY29udmVydGxvb3AKICAgICB2
emVyb3VwcGVyCkBAIC02MDkwLDI4ICs2MTMzLDMwIEBAIHZvaWQgSGFsZkZsb2F0Um93X0FWWDIo
Y29uc3QgdWludDE2KiBzcmMsIHVpbnQxNiogZHN0LCBmbG9hdCBzY2FsZSwgaW50IHdpZHRoKSB7
CiAjZW5kaWYgIC8vIEhBU19IQUxGRkxPQVRST1dfQVZYMgogCiAjaWZkZWYgSEFTX0hBTEZGTE9B
VFJPV19GMTZDCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBIYWxmRmxvYXRSb3dfRjE2Qyhjb25z
dCB1aW50MTYqIHNyYywgdWludDE2KiBkc3QsIGZsb2F0IHNjYWxlLCBpbnQgd2lkdGgpIHsKLSAg
X19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAgICAvKiBzcmMgKi8KLSAg
ICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdICAgICAgLyogZHN0ICovCi0gICAgdmJyb2FkY2Fz
dHNzIHltbTQsIFtlc3AgKyAxMl0gIC8qIHNjYWxlICovCi0gICAgbW92ICAgICAgICBlY3gsIFtl
c3AgKyAxNl0gICAgIC8qIHdpZHRoICovCitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEhhbGZGbG9h
dFJvd19GMTZDKGNvbnN0IHVpbnQxNiogc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MTYqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmxvYXQgc2NhbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCB3aWR0aCkgeworICBfX2FzbSB7CisgICAgbW92ICAgICAgICBlYXgsIFtl
c3AgKyA0XSAvKiBzcmMgKi8KKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDhdIC8qIGRzdCAq
LworICAgIHZicm9hZGNhc3RzcyB5bW00LCBbZXNwICsgMTJdIC8qIHNjYWxlICovCisgICAgbW92
ICAgICAgICBlY3gsIFtlc3AgKyAxNl0gLyogd2lkdGggKi8KKyAgICBzdWIgICAgICAgIGVkeCwg
ZWF4CiAKICAgICAvLyAxNiBwaXhlbCBsb29wLgogIGNvbnZlcnRsb29wOgogICAgIHZwbW92enh3
ZCAgIHltbTIsIHhtbXdvcmQgcHRyIFtlYXhdICAvLyA4IHNob3J0cyAtPiA4IGludHMKICAgICB2
cG1vdnp4d2QgICB5bW0zLCB4bW13b3JkIHB0ciBbZWF4ICsgMTZdICAvLyA4IG1vcmUgc2hvcnRz
Ci0gICAgbGVhICAgICAgICAgZWF4LCBbZWF4ICsgMzJdCi0gICAgdmN2dGRxMnBzICAgeW1tMiwg
eW1tMiAgICAgICAgLy8gY29udmVydCA4IGludHMgdG8gZmxvYXRzCisgICAgYWRkICAgICAgICAg
ZWF4LCAzMgorICAgIHZjdnRkcTJwcyAgIHltbTIsIHltbTIgIC8vIGNvbnZlcnQgOCBpbnRzIHRv
IGZsb2F0cwogICAgIHZjdnRkcTJwcyAgIHltbTMsIHltbTMKICAgICB2bXVscHMgICAgICB5bW0y
LCB5bW0yLCB5bW00ICAvLyBzY2FsZSB0byBub3JtYWxpemVkIHJhbmdlIDAgdG8gMQogICAgIHZt
dWxwcyAgICAgIHltbTMsIHltbTMsIHltbTQKLSAgICB2Y3Z0cHMycGggICB4bW0yLCB5bW0yLCAz
ICAgICAvLyBmbG9hdCBjb252ZXJ0IHRvIDggaGFsZiBmbG9hdHMgdHJ1bmNhdGUKKyAgICB2Y3Z0
cHMycGggICB4bW0yLCB5bW0yLCAzICAvLyBmbG9hdCBjb252ZXJ0IHRvIDggaGFsZiBmbG9hdHMg
dHJ1bmNhdGUKICAgICB2Y3Z0cHMycGggICB4bW0zLCB5bW0zLCAzCi0gICAgdm1vdmRxdSAgICAg
W2VkeF0sIHhtbTIKLSAgICB2bW92ZHF1ICAgICBbZWR4ICsgMTZdLCB4bW0zCi0gICAgbGVhICAg
ICAgICAgZWR4LCBbZWR4ICsgMzJdCisgICAgdm1vdmRxdSAgICAgW2VheCArIGVkeCArIDMyXSwg
eG1tMgorICAgIHZtb3ZkcXUgICAgIFtlYXggKyBlZHggKyAzMiArIDE2XSwgeG1tMwogICAgIHN1
YiAgICAgICAgIGVjeCwgMTYKICAgICBqZyAgICAgICAgICBjb252ZXJ0bG9vcAogICAgIHZ6ZXJv
dXBwZXIKQEAgLTYxMjIsMTQgKzYxNjcsMTQgQEAgdm9pZCBIYWxmRmxvYXRSb3dfRjE2Qyhjb25z
dCB1aW50MTYqIHNyYywgdWludDE2KiBkc3QsIGZsb2F0IHNjYWxlLCBpbnQgd2lkdGgpIHsKIAog
I2lmZGVmIEhBU19BUkdCQ09MT1JUQUJMRVJPV19YODYKIC8vIFRyYW5mb3JtIEFSR0IgcGl4ZWxz
IHdpdGggY29sb3IgdGFibGUuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBBUkdCQ29sb3JUYWJs
ZVJvd19YODYodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogdGFibGVfYXJnYiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9p
ZCBBUkdCQ29sb3JUYWJsZVJvd19YODYodWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHRhYmxlX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsK
ICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCi0gICAgbW92ICAgICAgICBlYXgsIFtlc3Ag
KyA0ICsgNF0gICAvKiBkc3RfYXJnYiAqLwotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCAr
IDhdICAgLyogdGFibGVfYXJnYiAqLwotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgNCArIDEy
XSAgLyogd2lkdGggKi8KKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAvKiBkc3Rf
YXJnYiAqLworICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdIC8qIHRhYmxlX2FyZ2Ig
Ki8KKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxMl0gLyogd2lkdGggKi8KIAogICAg
IC8vIDEgcGl4ZWwgbG9vcC4KICAgY29udmVydGxvb3A6CkBAIC02MTU2LDEzICs2MjAxLDE0IEBA
IHZvaWQgQVJHQkNvbG9yVGFibGVSb3dfWDg2KHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgq
IHRhYmxlX2FyZ2IsCiAKICNpZmRlZiBIQVNfUkdCQ09MT1JUQUJMRVJPV19YODYKIC8vIFRyYW5m
b3JtIFJHQiBwaXhlbHMgd2l0aCBjb2xvciB0YWJsZS4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lk
IFJHQkNvbG9yVGFibGVSb3dfWDg2KHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHRhYmxl
X2FyZ2IsIGludCB3aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBSR0JDb2xvclRhYmxl
Um93X1g4Nih1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiB0YWJsZV9hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpIHsKICAgX19hc20gewogICAgIHB1
c2ggICAgICAgZXNpCi0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gICAvKiBkc3Rf
YXJnYiAqLwotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAgLyogdGFibGVfYXJn
YiAqLwotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgNCArIDEyXSAgLyogd2lkdGggKi8KKyAg
ICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAvKiBkc3RfYXJnYiAqLworICAgIG1vdiAg
ICAgICAgZXNpLCBbZXNwICsgNCArIDhdIC8qIHRhYmxlX2FyZ2IgKi8KKyAgICBtb3YgICAgICAg
IGVjeCwgW2VzcCArIDQgKyAxMl0gLyogd2lkdGggKi8KIAogICAgIC8vIDEgcGl4ZWwgbG9vcC4K
ICAgY29udmVydGxvb3A6CkBAIC02MTg3LDI3ICs2MjMzLDI4IEBAIHZvaWQgUkdCQ29sb3JUYWJs
ZVJvd19YODYodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogdGFibGVfYXJnYiwgaW50IHdp
ZHRoKSB7CiAKICNpZmRlZiBIQVNfQVJHQkxVTUFDT0xPUlRBQkxFUk9XX1NTU0UzCiAvLyBUcmFu
Zm9ybSBSR0IgcGl4ZWxzIHdpdGggbHVtYSB0YWJsZS4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lk
IEFSR0JMdW1hQ29sb3JUYWJsZVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4
KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBsdW1hLCB1aW50
MzIgbHVtYWNvZWZmKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIEFSR0JMdW1hQ29sb3JUYWJs
ZVJvd19TU1NFMyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogbHVtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMiBsdW1hY29lZmYpIHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCiAg
ICAgcHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDggKyA0XSAgIC8q
IHNyY19hcmdiICovCi0gICAgbW92ICAgICAgICBlZGksIFtlc3AgKyA4ICsgOF0gICAvKiBkc3Rf
YXJnYiAqLwotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDEyXSAgLyogd2lkdGggKi8K
KyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDggKyA0XSAvKiBzcmNfYXJnYiAqLworICAgIG1v
diAgICAgICAgZWRpLCBbZXNwICsgOCArIDhdIC8qIGRzdF9hcmdiICovCisgICAgbW92ICAgICAg
ICBlY3gsIFtlc3AgKyA4ICsgMTJdIC8qIHdpZHRoICovCiAgICAgbW92ZCAgICAgICB4bW0yLCBk
d29yZCBwdHIgW2VzcCArIDggKyAxNl0gIC8vIGx1bWEgdGFibGUKICAgICBtb3ZkICAgICAgIHht
bTMsIGR3b3JkIHB0ciBbZXNwICsgOCArIDIwXSAgLy8gbHVtYWNvZWZmCiAgICAgcHNodWZkICAg
ICB4bW0yLCB4bW0yLCAwCiAgICAgcHNodWZkICAgICB4bW0zLCB4bW0zLCAwCi0gICAgcGNtcGVx
YiAgICB4bW00LCB4bW00ICAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4ZmYwMGZmMDAKKyAgICBw
Y21wZXFiICAgIHhtbTQsIHhtbTQgIC8vIGdlbmVyYXRlIG1hc2sgMHhmZjAwZmYwMAogICAgIHBz
bGx3ICAgICAgeG1tNCwgOAogICAgIHB4b3IgICAgICAgeG1tNSwgeG1tNQogCiAgICAgLy8gNCBw
aXhlbCBsb29wLgogICBjb252ZXJ0bG9vcDoKLSAgICBtb3ZkcXUgICAgIHhtbTAsIHhtbXdvcmQg
cHRyIFtlYXhdICAgICAgLy8gZ2VuZXJhdGUgbHVtYSBwdHIKKyAgICBtb3ZkcXUgICAgIHhtbTAs
IHhtbXdvcmQgcHRyIFtlYXhdICAvLyBnZW5lcmF0ZSBsdW1hIHB0cgogICAgIHBtYWRkdWJzdyAg
eG1tMCwgeG1tMwogICAgIHBoYWRkdyAgICAgeG1tMCwgeG1tMAogICAgIHBhbmQgICAgICAgeG1t
MCwgeG1tNCAgLy8gbWFzayBvdXQgbG93IGJpdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9zY2FsZS5jYyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Nv
dXJjZS9zY2FsZS5jYwppbmRleCBlYmE5YWZjMjA2OGNkMjI0MjQ2YWFkYjA1YzZlM2Y0YTRmN2Y2
ODM0Li4wMTBhZDlkNGM0YTQ4ZDNlMjNlMDEzYTQyMjc5OGVlN2Y3MDZmNjEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9z
b3VyY2Uvc2NhbGUuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlLmNjCkBAIC0zMywxNyArMzMsMjUgQEAgc3Rh
dGljIF9faW5saW5lIGludCBBYnMoaW50IHYpIHsKIC8vIFRoaXMgaXMgYW4gb3B0aW1pemVkIHZl
cnNpb24gZm9yIHNjYWxpbmcgZG93biBhIHBsYW5lIHRvIDEvMiBvZgogLy8gaXRzIG9yaWdpbmFs
IHNpemUuCiAKLXN0YXRpYyB2b2lkIFNjYWxlUGxhbmVEb3duMihpbnQgc3JjX3dpZHRoLCBpbnQg
c3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBp
bnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDgqIHNyY19wdHIsIHVpbnQ4KiBkc3RfcHRyLAorc3RhdGljIHZvaWQgU2NhbGVQbGFuZURvd24y
KGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19oZWln
aHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5nKSB7CiAgIGlu
dCB5OwogICB2b2lkICgqU2NhbGVSb3dEb3duMikoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIs
IGludCBkc3Rfd2lkdGgpID0KLSAgICAgIGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSA/IFNjYWxl
Um93RG93bjJfQyA6Ci0gICAgICAoZmlsdGVyaW5nID09IGtGaWx0ZXJMaW5lYXIgPyBTY2FsZVJv
d0Rvd24yTGluZWFyX0MgOiBTY2FsZVJvd0Rvd24yQm94X0MpOworICAgICAgZmlsdGVyaW5nID09
IGtGaWx0ZXJOb25lCisgICAgICAgICAgPyBTY2FsZVJvd0Rvd24yX0MKKyAgICAgICAgICA6IChm
aWx0ZXJpbmcgPT0ga0ZpbHRlckxpbmVhciA/IFNjYWxlUm93RG93bjJMaW5lYXJfQworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogU2NhbGVSb3dEb3duMkJveF9DKTsK
ICAgaW50IHJvd19zdHJpZGUgPSBzcmNfc3RyaWRlIDw8IDE7CisgICh2b2lkKXNyY193aWR0aDsK
KyAgKHZvaWQpc3JjX2hlaWdodDsKICAgaWYgKCFmaWx0ZXJpbmcpIHsKICAgICBzcmNfcHRyICs9
IHNyY19zdHJpZGU7ICAvLyBQb2ludCB0byBvZGQgcm93cy4KICAgICBzcmNfc3RyaWRlID0gMDsK
QEAgLTUxLDM3ICs1OSw0NyBAQCBzdGF0aWMgdm9pZCBTY2FsZVBsYW5lRG93bjIoaW50IHNyY193
aWR0aCwgaW50IHNyY19oZWlnaHQsCiAKICNpZiBkZWZpbmVkKEhBU19TQ0FMRVJPV0RPV04yX05F
T04pCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTkVPTikpIHsKLSAgICBTY2FsZVJvd0Rvd24y
ID0gZmlsdGVyaW5nID09IGtGaWx0ZXJOb25lID8gU2NhbGVSb3dEb3duMl9BbnlfTkVPTiA6Ci0g
ICAgICAgIChmaWx0ZXJpbmcgPT0ga0ZpbHRlckxpbmVhciA/IFNjYWxlUm93RG93bjJMaW5lYXJf
QW55X05FT04gOgotICAgICAgICBTY2FsZVJvd0Rvd24yQm94X0FueV9ORU9OKTsKKyAgICBTY2Fs
ZVJvd0Rvd24yID0KKyAgICAgICAgZmlsdGVyaW5nID09IGtGaWx0ZXJOb25lCisgICAgICAgICAg
ICA/IFNjYWxlUm93RG93bjJfQW55X05FT04KKyAgICAgICAgICAgIDogKGZpbHRlcmluZyA9PSBr
RmlsdGVyTGluZWFyID8gU2NhbGVSb3dEb3duMkxpbmVhcl9BbnlfTkVPTgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTY2FsZVJvd0Rvd24yQm94X0FueV9ORU9O
KTsKICAgICBpZiAoSVNfQUxJR05FRChkc3Rfd2lkdGgsIDE2KSkgewotICAgICAgU2NhbGVSb3dE
b3duMiA9IGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSA/IFNjYWxlUm93RG93bjJfTkVPTiA6Ci0g
ICAgICAgICAgKGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVSb3dEb3duMkxpbmVh
cl9ORU9OIDoKLSAgICAgICAgICBTY2FsZVJvd0Rvd24yQm94X05FT04pOworICAgICAgU2NhbGVS
b3dEb3duMiA9IGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSA/IFNjYWxlUm93RG93bjJfTkVPTgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChmaWx0ZXJp
bmcgPT0ga0ZpbHRlckxpbmVhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPyBTY2FsZVJvd0Rvd24yTGluZWFyX05FT04KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogU2NhbGVSb3dEb3du
MkJveF9ORU9OKTsKICAgICB9CiAgIH0KICNlbmRpZgogI2lmIGRlZmluZWQoSEFTX1NDQUxFUk9X
RE9XTjJfU1NTRTMpCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzU1NTRTMpKSB7Ci0gICAgU2Nh
bGVSb3dEb3duMiA9IGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSA/IFNjYWxlUm93RG93bjJfQW55
X1NTU0UzIDoKLSAgICAgICAgKGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVSb3dE
b3duMkxpbmVhcl9BbnlfU1NTRTMgOgotICAgICAgICBTY2FsZVJvd0Rvd24yQm94X0FueV9TU1NF
Myk7CisgICAgU2NhbGVSb3dEb3duMiA9CisgICAgICAgIGZpbHRlcmluZyA9PSBrRmlsdGVyTm9u
ZQorICAgICAgICAgICAgPyBTY2FsZVJvd0Rvd24yX0FueV9TU1NFMworICAgICAgICAgICAgOiAo
ZmlsdGVyaW5nID09IGtGaWx0ZXJMaW5lYXIgPyBTY2FsZVJvd0Rvd24yTGluZWFyX0FueV9TU1NF
MworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTY2FsZVJvd0Rv
d24yQm94X0FueV9TU1NFMyk7CiAgICAgaWYgKElTX0FMSUdORUQoZHN0X3dpZHRoLCAxNikpIHsK
LSAgICAgIFNjYWxlUm93RG93bjIgPSBmaWx0ZXJpbmcgPT0ga0ZpbHRlck5vbmUgPyBTY2FsZVJv
d0Rvd24yX1NTU0UzIDoKLSAgICAgICAgICAoZmlsdGVyaW5nID09IGtGaWx0ZXJMaW5lYXIgPyBT
Y2FsZVJvd0Rvd24yTGluZWFyX1NTU0UzIDoKLSAgICAgICAgICBTY2FsZVJvd0Rvd24yQm94X1NT
U0UzKTsKKyAgICAgIFNjYWxlUm93RG93bjIgPQorICAgICAgICAgIGZpbHRlcmluZyA9PSBrRmls
dGVyTm9uZQorICAgICAgICAgICAgICA/IFNjYWxlUm93RG93bjJfU1NTRTMKKyAgICAgICAgICAg
ICAgOiAoZmlsdGVyaW5nID09IGtGaWx0ZXJMaW5lYXIgPyBTY2FsZVJvd0Rvd24yTGluZWFyX1NT
U0UzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogU2NhbGVS
b3dEb3duMkJveF9TU1NFMyk7CiAgICAgfQogICB9CiAjZW5kaWYKICNpZiBkZWZpbmVkKEhBU19T
Q0FMRVJPV0RPV04yX0FWWDIpCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzQVZYMikpIHsKLSAg
ICBTY2FsZVJvd0Rvd24yID0gZmlsdGVyaW5nID09IGtGaWx0ZXJOb25lID8gU2NhbGVSb3dEb3du
Ml9BbnlfQVZYMiA6Ci0gICAgICAgIChmaWx0ZXJpbmcgPT0ga0ZpbHRlckxpbmVhciA/IFNjYWxl
Um93RG93bjJMaW5lYXJfQW55X0FWWDIgOgotICAgICAgICBTY2FsZVJvd0Rvd24yQm94X0FueV9B
VlgyKTsKKyAgICBTY2FsZVJvd0Rvd24yID0KKyAgICAgICAgZmlsdGVyaW5nID09IGtGaWx0ZXJO
b25lCisgICAgICAgICAgICA/IFNjYWxlUm93RG93bjJfQW55X0FWWDIKKyAgICAgICAgICAgIDog
KGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVSb3dEb3duMkxpbmVhcl9BbnlfQVZY
MgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTY2FsZVJvd0Rv
d24yQm94X0FueV9BVlgyKTsKICAgICBpZiAoSVNfQUxJR05FRChkc3Rfd2lkdGgsIDMyKSkgewot
ICAgICAgU2NhbGVSb3dEb3duMiA9IGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSA/IFNjYWxlUm93
RG93bjJfQVZYMiA6Ci0gICAgICAgICAgKGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2Nh
bGVSb3dEb3duMkxpbmVhcl9BVlgyIDoKLSAgICAgICAgICBTY2FsZVJvd0Rvd24yQm94X0FWWDIp
OworICAgICAgU2NhbGVSb3dEb3duMiA9IGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSA/IFNjYWxl
Um93RG93bjJfQVZYMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6IChmaWx0ZXJpbmcgPT0ga0ZpbHRlckxpbmVhcgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBTY2FsZVJvd0Rvd24yTGluZWFyX0FW
WDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDogU2NhbGVSb3dEb3duMkJveF9BVlgyKTsKICAgICB9CiAgIH0KICNlbmRpZgpAQCAtODksOCAr
MTA3LDIyIEBAIHN0YXRpYyB2b2lkIFNjYWxlUGxhbmVEb3duMihpbnQgc3JjX3dpZHRoLCBpbnQg
c3JjX2hlaWdodCwKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikgJiYgSVNfQUxJR05F
RChzcmNfcHRyLCA0KSAmJgogICAgICAgSVNfQUxJR05FRChzcmNfc3RyaWRlLCA0KSAmJiBJU19B
TElHTkVEKHJvd19zdHJpZGUsIDQpICYmCiAgICAgICBJU19BTElHTkVEKGRzdF9wdHIsIDQpICYm
IElTX0FMSUdORUQoZHN0X3N0cmlkZSwgNCkpIHsKLSAgICBTY2FsZVJvd0Rvd24yID0gZmlsdGVy
aW5nID8KLSAgICAgICAgU2NhbGVSb3dEb3duMkJveF9EU1BSMiA6IFNjYWxlUm93RG93bjJfRFNQ
UjI7CisgICAgU2NhbGVSb3dEb3duMiA9IGZpbHRlcmluZyA/IFNjYWxlUm93RG93bjJCb3hfRFNQ
UjIgOiBTY2FsZVJvd0Rvd24yX0RTUFIyOworICB9CisjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19T
Q0FMRVJPV0RPV04yX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAg
U2NhbGVSb3dEb3duMiA9CisgICAgICAgIGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZQorICAgICAg
ICAgICAgPyBTY2FsZVJvd0Rvd24yX0FueV9NU0EKKyAgICAgICAgICAgIDogKGZpbHRlcmluZyA9
PSBrRmlsdGVyTGluZWFyID8gU2NhbGVSb3dEb3duMkxpbmVhcl9BbnlfTVNBCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFNjYWxlUm93RG93bjJCb3hfQW55X01T
QSk7CisgICAgaWYgKElTX0FMSUdORUQoZHN0X3dpZHRoLCAzMikpIHsKKyAgICAgIFNjYWxlUm93
RG93bjIgPSBmaWx0ZXJpbmcgPT0ga0ZpbHRlck5vbmUgPyBTY2FsZVJvd0Rvd24yX01TQQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChmaWx0ZXJpbmcg
PT0ga0ZpbHRlckxpbmVhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPyBTY2FsZVJvd0Rvd24yTGluZWFyX01TQQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTY2FsZVJvd0Rvd24yQm94
X01TQSk7CisgICAgfQogICB9CiAjZW5kaWYKIApAQCAtMTA1LDE4ICsxMzcsMjUgQEAgc3RhdGlj
IHZvaWQgU2NhbGVQbGFuZURvd24yKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogICB9
CiB9CiAKLXN0YXRpYyB2b2lkIFNjYWxlUGxhbmVEb3duMl8xNihpbnQgc3JjX3dpZHRoLCBpbnQg
c3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRo
LCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0cmlkZSwgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIsCitzdGF0aWMgdm9pZCBTY2Fs
ZVBsYW5lRG93bjJfMTYoaW50IHNyY193aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgewogICBpbnQgeTsKICAgdm9pZCAoKlNj
YWxlUm93RG93bjIpKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgp
ID0KLSAgICBmaWx0ZXJpbmcgPT0ga0ZpbHRlck5vbmUgPyBTY2FsZVJvd0Rvd24yXzE2X0MgOgot
ICAgICAgICAoZmlsdGVyaW5nID09IGtGaWx0ZXJMaW5lYXIgPyBTY2FsZVJvd0Rvd24yTGluZWFy
XzE2X0MgOgotICAgICAgICBTY2FsZVJvd0Rvd24yQm94XzE2X0MpOworICAgICAgZmlsdGVyaW5n
ID09IGtGaWx0ZXJOb25lCisgICAgICAgICAgPyBTY2FsZVJvd0Rvd24yXzE2X0MKKyAgICAgICAg
ICA6IChmaWx0ZXJpbmcgPT0ga0ZpbHRlckxpbmVhciA/IFNjYWxlUm93RG93bjJMaW5lYXJfMTZf
QworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogU2NhbGVSb3dEb3du
MkJveF8xNl9DKTsKICAgaW50IHJvd19zdHJpZGUgPSBzcmNfc3RyaWRlIDw8IDE7CisgICh2b2lk
KXNyY193aWR0aDsKKyAgKHZvaWQpc3JjX2hlaWdodDsKICAgaWYgKCFmaWx0ZXJpbmcpIHsKICAg
ICBzcmNfcHRyICs9IHNyY19zdHJpZGU7ICAvLyBQb2ludCB0byBvZGQgcm93cy4KICAgICBzcmNf
c3RyaWRlID0gMDsKQEAgLTEyNCwyMyArMTYzLDI1IEBAIHN0YXRpYyB2b2lkIFNjYWxlUGxhbmVE
b3duMl8xNihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKIAogI2lmIGRlZmluZWQoSEFT
X1NDQUxFUk9XRE9XTjJfMTZfTkVPTikKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNORU9OKSAm
JiBJU19BTElHTkVEKGRzdF93aWR0aCwgMTYpKSB7Ci0gICAgU2NhbGVSb3dEb3duMiA9IGZpbHRl
cmluZyA/IFNjYWxlUm93RG93bjJCb3hfMTZfTkVPTiA6Ci0gICAgICAgIFNjYWxlUm93RG93bjJf
MTZfTkVPTjsKKyAgICBTY2FsZVJvd0Rvd24yID0KKyAgICAgICAgZmlsdGVyaW5nID8gU2NhbGVS
b3dEb3duMkJveF8xNl9ORU9OIDogU2NhbGVSb3dEb3duMl8xNl9ORU9OOwogICB9CiAjZW5kaWYK
ICNpZiBkZWZpbmVkKEhBU19TQ0FMRVJPV0RPV04yXzE2X1NTRTIpCiAgIGlmIChUZXN0Q3B1Rmxh
ZyhrQ3B1SGFzU1NFMikgJiYgSVNfQUxJR05FRChkc3Rfd2lkdGgsIDE2KSkgewotICAgIFNjYWxl
Um93RG93bjIgPSBmaWx0ZXJpbmcgPT0ga0ZpbHRlck5vbmUgPyBTY2FsZVJvd0Rvd24yXzE2X1NT
RTIgOgotICAgICAgICAoZmlsdGVyaW5nID09IGtGaWx0ZXJMaW5lYXIgPyBTY2FsZVJvd0Rvd24y
TGluZWFyXzE2X1NTRTIgOgotICAgICAgICBTY2FsZVJvd0Rvd24yQm94XzE2X1NTRTIpOworICAg
IFNjYWxlUm93RG93bjIgPQorICAgICAgICBmaWx0ZXJpbmcgPT0ga0ZpbHRlck5vbmUKKyAgICAg
ICAgICAgID8gU2NhbGVSb3dEb3duMl8xNl9TU0UyCisgICAgICAgICAgICA6IChmaWx0ZXJpbmcg
PT0ga0ZpbHRlckxpbmVhciA/IFNjYWxlUm93RG93bjJMaW5lYXJfMTZfU1NFMgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTY2FsZVJvd0Rvd24yQm94XzE2X1NT
RTIpOwogICB9CiAjZW5kaWYKICNpZiBkZWZpbmVkKEhBU19TQ0FMRVJPV0RPV04yXzE2X0RTUFIy
KQogICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKSAmJiBJU19BTElHTkVEKHNyY19wdHIs
IDQpICYmCiAgICAgICBJU19BTElHTkVEKHNyY19zdHJpZGUsIDQpICYmIElTX0FMSUdORUQocm93
X3N0cmlkZSwgNCkgJiYKICAgICAgIElTX0FMSUdORUQoZHN0X3B0ciwgNCkgJiYgSVNfQUxJR05F
RChkc3Rfc3RyaWRlLCA0KSkgewotICAgIFNjYWxlUm93RG93bjIgPSBmaWx0ZXJpbmcgPwotICAg
ICAgICBTY2FsZVJvd0Rvd24yQm94XzE2X0RTUFIyIDogU2NhbGVSb3dEb3duMl8xNl9EU1BSMjsK
KyAgICBTY2FsZVJvd0Rvd24yID0KKyAgICAgICAgZmlsdGVyaW5nID8gU2NhbGVSb3dEb3duMkJv
eF8xNl9EU1BSMiA6IFNjYWxlUm93RG93bjJfMTZfRFNQUjI7CiAgIH0KICNlbmRpZgogCkBAIC0x
NTksMjQgKzIwMCwzMCBAQCBzdGF0aWMgdm9pZCBTY2FsZVBsYW5lRG93bjJfMTYoaW50IHNyY193
aWR0aCwgaW50IHNyY19oZWlnaHQsCiAvLyBUaGlzIGlzIGFuIG9wdGltaXplZCB2ZXJzaW9uIGZv
ciBzY2FsaW5nIGRvd24gYSBwbGFuZSB0byAxLzQgb2YKIC8vIGl0cyBvcmlnaW5hbCBzaXplLgog
Ci1zdGF0aWMgdm9pZCBTY2FsZVBsYW5lRG93bjQoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWln
aHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IGRzdF9o
ZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsIGludCBk
c3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCB1aW50OCogZHN0X3B0ciwKK3N0YXRpYyB2b2lkIFNjYWxlUGxhbmVEb3duNChpbnQgc3Jj
X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgewogICBpbnQgeTsKICAg
dm9pZCAoKlNjYWxlUm93RG93bjQpKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0
X3dpZHRoKSA9CiAgICAgICBmaWx0ZXJpbmcgPyBTY2FsZVJvd0Rvd240Qm94X0MgOiBTY2FsZVJv
d0Rvd240X0M7CiAgIGludCByb3dfc3RyaWRlID0gc3JjX3N0cmlkZSA8PCAyOworICAodm9pZClz
cmNfd2lkdGg7CisgICh2b2lkKXNyY19oZWlnaHQ7CiAgIGlmICghZmlsdGVyaW5nKSB7CiAgICAg
c3JjX3B0ciArPSBzcmNfc3RyaWRlICogMjsgIC8vIFBvaW50IHRvIHJvdyAyLgogICAgIHNyY19z
dHJpZGUgPSAwOwogICB9CiAjaWYgZGVmaW5lZChIQVNfU0NBTEVST1dET1dONF9ORU9OKQogICBp
ZiAoVGVzdENwdUZsYWcoa0NwdUhhc05FT04pKSB7Ci0gICAgU2NhbGVSb3dEb3duNCA9IGZpbHRl
cmluZyA/Ci0gICAgICAgIFNjYWxlUm93RG93bjRCb3hfQW55X05FT04gOiBTY2FsZVJvd0Rvd240
X0FueV9ORU9OOworICAgIFNjYWxlUm93RG93bjQgPQorICAgICAgICBmaWx0ZXJpbmcgPyBTY2Fs
ZVJvd0Rvd240Qm94X0FueV9ORU9OIDogU2NhbGVSb3dEb3duNF9BbnlfTkVPTjsKICAgICBpZiAo
SVNfQUxJR05FRChkc3Rfd2lkdGgsIDgpKSB7CiAgICAgICBTY2FsZVJvd0Rvd240ID0gZmlsdGVy
aW5nID8gU2NhbGVSb3dEb3duNEJveF9ORU9OIDogU2NhbGVSb3dEb3duNF9ORU9OOwogICAgIH0K
QEAgLTE4NCw4ICsyMzEsOCBAQCBzdGF0aWMgdm9pZCBTY2FsZVBsYW5lRG93bjQoaW50IHNyY193
aWR0aCwgaW50IHNyY19oZWlnaHQsCiAjZW5kaWYKICNpZiBkZWZpbmVkKEhBU19TQ0FMRVJPV0RP
V040X1NTU0UzKQogICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc1NTU0UzKSkgewotICAgIFNjYWxl
Um93RG93bjQgPSBmaWx0ZXJpbmcgPwotICAgICAgICBTY2FsZVJvd0Rvd240Qm94X0FueV9TU1NF
MyA6IFNjYWxlUm93RG93bjRfQW55X1NTU0UzOworICAgIFNjYWxlUm93RG93bjQgPQorICAgICAg
ICBmaWx0ZXJpbmcgPyBTY2FsZVJvd0Rvd240Qm94X0FueV9TU1NFMyA6IFNjYWxlUm93RG93bjRf
QW55X1NTU0UzOwogICAgIGlmIChJU19BTElHTkVEKGRzdF93aWR0aCwgOCkpIHsKICAgICAgIFNj
YWxlUm93RG93bjQgPSBmaWx0ZXJpbmcgPyBTY2FsZVJvd0Rvd240Qm94X1NTU0UzIDogU2NhbGVS
b3dEb3duNF9TU1NFMzsKICAgICB9CkBAIC0xOTMsOCArMjQwLDggQEAgc3RhdGljIHZvaWQgU2Nh
bGVQbGFuZURvd240KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogI2VuZGlmCiAjaWYg
ZGVmaW5lZChIQVNfU0NBTEVST1dET1dONF9BVlgyKQogICBpZiAoVGVzdENwdUZsYWcoa0NwdUhh
c0FWWDIpKSB7Ci0gICAgU2NhbGVSb3dEb3duNCA9IGZpbHRlcmluZyA/Ci0gICAgICAgIFNjYWxl
Um93RG93bjRCb3hfQW55X0FWWDIgOiBTY2FsZVJvd0Rvd240X0FueV9BVlgyOworICAgIFNjYWxl
Um93RG93bjQgPQorICAgICAgICBmaWx0ZXJpbmcgPyBTY2FsZVJvd0Rvd240Qm94X0FueV9BVlgy
IDogU2NhbGVSb3dEb3duNF9BbnlfQVZYMjsKICAgICBpZiAoSVNfQUxJR05FRChkc3Rfd2lkdGgs
IDE2KSkgewogICAgICAgU2NhbGVSb3dEb3duNCA9IGZpbHRlcmluZyA/IFNjYWxlUm93RG93bjRC
b3hfQVZYMiA6IFNjYWxlUm93RG93bjRfQVZYMjsKICAgICB9CkBAIC0yMDQsOCArMjUxLDE2IEBA
IHN0YXRpYyB2b2lkIFNjYWxlUGxhbmVEb3duNChpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdo
dCwKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikgJiYgSVNfQUxJR05FRChyb3dfc3Ry
aWRlLCA0KSAmJgogICAgICAgSVNfQUxJR05FRChzcmNfcHRyLCA0KSAmJiBJU19BTElHTkVEKHNy
Y19zdHJpZGUsIDQpICYmCiAgICAgICBJU19BTElHTkVEKGRzdF9wdHIsIDQpICYmIElTX0FMSUdO
RUQoZHN0X3N0cmlkZSwgNCkpIHsKLSAgICBTY2FsZVJvd0Rvd240ID0gZmlsdGVyaW5nID8KLSAg
ICAgICAgU2NhbGVSb3dEb3duNEJveF9EU1BSMiA6IFNjYWxlUm93RG93bjRfRFNQUjI7CisgICAg
U2NhbGVSb3dEb3duNCA9IGZpbHRlcmluZyA/IFNjYWxlUm93RG93bjRCb3hfRFNQUjIgOiBTY2Fs
ZVJvd0Rvd240X0RTUFIyOworICB9CisjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19TQ0FMRVJPV0RP
V040X01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgU2NhbGVSb3dE
b3duNCA9CisgICAgICAgIGZpbHRlcmluZyA/IFNjYWxlUm93RG93bjRCb3hfQW55X01TQSA6IFNj
YWxlUm93RG93bjRfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRChkc3Rfd2lkdGgsIDE2KSkg
eworICAgICAgU2NhbGVSb3dEb3duNCA9IGZpbHRlcmluZyA/IFNjYWxlUm93RG93bjRCb3hfTVNB
IDogU2NhbGVSb3dEb3duNF9NU0E7CisgICAgfQogICB9CiAjZW5kaWYKIApAQCAtMjE5LDM4ICsy
NzQsNDQgQEAgc3RhdGljIHZvaWQgU2NhbGVQbGFuZURvd240KGludCBzcmNfd2lkdGgsIGludCBz
cmNfaGVpZ2h0LAogICB9CiB9CiAKLXN0YXRpYyB2b2lkIFNjYWxlUGxhbmVEb3duNF8xNihpbnQg
c3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZSwgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIsCitz
dGF0aWMgdm9pZCBTY2FsZVBsYW5lRG93bjRfMTYoaW50IHNyY193aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3RfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgewogICBpbnQg
eTsKICAgdm9pZCAoKlNjYWxlUm93RG93bjQpKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIs
IGludCBkc3Rfd2lkdGgpID0KICAgICAgIGZpbHRlcmluZyA/IFNjYWxlUm93RG93bjRCb3hfMTZf
QyA6IFNjYWxlUm93RG93bjRfMTZfQzsKICAgaW50IHJvd19zdHJpZGUgPSBzcmNfc3RyaWRlIDw8
IDI7CisgICh2b2lkKXNyY193aWR0aDsKKyAgKHZvaWQpc3JjX2hlaWdodDsKICAgaWYgKCFmaWx0
ZXJpbmcpIHsKICAgICBzcmNfcHRyICs9IHNyY19zdHJpZGUgKiAyOyAgLy8gUG9pbnQgdG8gcm93
IDIuCiAgICAgc3JjX3N0cmlkZSA9IDA7CiAgIH0KICNpZiBkZWZpbmVkKEhBU19TQ0FMRVJPV0RP
V040XzE2X05FT04pCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTkVPTikgJiYgSVNfQUxJR05F
RChkc3Rfd2lkdGgsIDgpKSB7Ci0gICAgU2NhbGVSb3dEb3duNCA9IGZpbHRlcmluZyA/IFNjYWxl
Um93RG93bjRCb3hfMTZfTkVPTiA6Ci0gICAgICAgIFNjYWxlUm93RG93bjRfMTZfTkVPTjsKKyAg
ICBTY2FsZVJvd0Rvd240ID0KKyAgICAgICAgZmlsdGVyaW5nID8gU2NhbGVSb3dEb3duNEJveF8x
Nl9ORU9OIDogU2NhbGVSb3dEb3duNF8xNl9ORU9OOwogICB9CiAjZW5kaWYKICNpZiBkZWZpbmVk
KEhBU19TQ0FMRVJPV0RPV040XzE2X1NTRTIpCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzU1NF
MikgJiYgSVNfQUxJR05FRChkc3Rfd2lkdGgsIDgpKSB7Ci0gICAgU2NhbGVSb3dEb3duNCA9IGZp
bHRlcmluZyA/IFNjYWxlUm93RG93bjRCb3hfMTZfU1NFMiA6Ci0gICAgICAgIFNjYWxlUm93RG93
bjRfMTZfU1NFMjsKKyAgICBTY2FsZVJvd0Rvd240ID0KKyAgICAgICAgZmlsdGVyaW5nID8gU2Nh
bGVSb3dEb3duNEJveF8xNl9TU0UyIDogU2NhbGVSb3dEb3duNF8xNl9TU0UyOwogICB9CiAjZW5k
aWYKICNpZiBkZWZpbmVkKEhBU19TQ0FMRVJPV0RPV040XzE2X0RTUFIyKQogICBpZiAoVGVzdENw
dUZsYWcoa0NwdUhhc0RTUFIyKSAmJiBJU19BTElHTkVEKHJvd19zdHJpZGUsIDQpICYmCiAgICAg
ICBJU19BTElHTkVEKHNyY19wdHIsIDQpICYmIElTX0FMSUdORUQoc3JjX3N0cmlkZSwgNCkgJiYK
ICAgICAgIElTX0FMSUdORUQoZHN0X3B0ciwgNCkgJiYgSVNfQUxJR05FRChkc3Rfc3RyaWRlLCA0
KSkgewotICAgIFNjYWxlUm93RG93bjQgPSBmaWx0ZXJpbmcgPwotICAgICAgICBTY2FsZVJvd0Rv
d240Qm94XzE2X0RTUFIyIDogU2NhbGVSb3dEb3duNF8xNl9EU1BSMjsKKyAgICBTY2FsZVJvd0Rv
d240ID0KKyAgICAgICAgZmlsdGVyaW5nID8gU2NhbGVSb3dEb3duNEJveF8xNl9EU1BSMiA6IFNj
YWxlUm93RG93bjRfMTZfRFNQUjI7CiAgIH0KICNlbmRpZgogCkBAIC0yNjUsMTEgKzMyNiwxNCBA
QCBzdGF0aWMgdm9pZCBTY2FsZVBsYW5lRG93bjRfMTYoaW50IHNyY193aWR0aCwgaW50IHNyY19o
ZWlnaHQsCiB9CiAKIC8vIFNjYWxlIHBsYW5lIGRvd24sIDMvNAotCi1zdGF0aWMgdm9pZCBTY2Fs
ZVBsYW5lRG93bjM0KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsIGludCBkc3Rfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwgdWludDgqIGRz
dF9wdHIsCitzdGF0aWMgdm9pZCBTY2FsZVBsYW5lRG93bjM0KGludCBzcmNfd2lkdGgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpIHsKICAgaW50IHk7CiAgIHZvaWQg
KCpTY2FsZVJvd0Rvd24zNF8wKShjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19z
dHJpZGUsCkBAIC0yNzcsNiArMzQxLDggQEAgc3RhdGljIHZvaWQgU2NhbGVQbGFuZURvd24zNChp
bnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgdm9pZCAoKlNjYWxlUm93RG93bjM0XzEp
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKTsKICAgY29uc3Qg
aW50IGZpbHRlcl9zdHJpZGUgPSAoZmlsdGVyaW5nID09IGtGaWx0ZXJMaW5lYXIpID8gMCA6IHNy
Y19zdHJpZGU7CisgICh2b2lkKXNyY193aWR0aDsKKyAgKHZvaWQpc3JjX2hlaWdodDsKICAgYXNz
ZXJ0KGRzdF93aWR0aCAlIDMgPT0gMCk7CiAgIGlmICghZmlsdGVyaW5nKSB7CiAgICAgU2NhbGVS
b3dEb3duMzRfMCA9IFNjYWxlUm93RG93bjM0X0M7CkBAIC0zNDYsOCArNDEyLDcgQEAgc3RhdGlj
IHZvaWQgU2NhbGVQbGFuZURvd24zNChpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAg
ICBTY2FsZVJvd0Rvd24zNF8xKHNyY19wdHIsIGZpbHRlcl9zdHJpZGUsIGRzdF9wdHIsIGRzdF93
aWR0aCk7CiAgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlOwogICAgIGRzdF9wdHIgKz0gZHN0X3N0
cmlkZTsKLSAgICBTY2FsZVJvd0Rvd24zNF8wKHNyY19wdHIgKyBzcmNfc3RyaWRlLCAtZmlsdGVy
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF9wdHIsIGRzdF93aWR0aCk7CisgICAg
U2NhbGVSb3dEb3duMzRfMChzcmNfcHRyICsgc3JjX3N0cmlkZSwgLWZpbHRlcl9zdHJpZGUsIGRz
dF9wdHIsIGRzdF93aWR0aCk7CiAgICAgc3JjX3B0ciArPSBzcmNfc3RyaWRlICogMjsKICAgICBk
c3RfcHRyICs9IGRzdF9zdHJpZGU7CiAgIH0KQEAgLTM2MywxMCArNDI4LDE0IEBAIHN0YXRpYyB2
b2lkIFNjYWxlUGxhbmVEb3duMzQoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIH0K
IH0KIAotc3RhdGljIHZvaWQgU2NhbGVQbGFuZURvd24zNF8xNihpbnQgc3JjX3dpZHRoLCBpbnQg
c3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0
aCwgaW50IGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfc3RyaWRlLCBpbnQgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIsCitzdGF0aWMgdm9pZCBT
Y2FsZVBsYW5lRG93bjM0XzE2KGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTYqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0X3B0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgewogICBpbnQgeTsK
ICAgdm9pZCAoKlNjYWxlUm93RG93bjM0XzApKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCkBAIC0zNzQsNiArNDQzLDggQEAgc3RhdGljIHZvaWQgU2NhbGVQbGFu
ZURvd24zNF8xNihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgdm9pZCAoKlNjYWxl
Um93RG93bjM0XzEpKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIsIGludCBkc3Rfd2lk
dGgpOwogICBjb25zdCBpbnQgZmlsdGVyX3N0cmlkZSA9IChmaWx0ZXJpbmcgPT0ga0ZpbHRlckxp
bmVhcikgPyAwIDogc3JjX3N0cmlkZTsKKyAgKHZvaWQpc3JjX3dpZHRoOworICAodm9pZClzcmNf
aGVpZ2h0OwogICBhc3NlcnQoZHN0X3dpZHRoICUgMyA9PSAwKTsKICAgaWYgKCFmaWx0ZXJpbmcp
IHsKICAgICBTY2FsZVJvd0Rvd24zNF8wID0gU2NhbGVSb3dEb3duMzRfMTZfQzsKQEAgLTQyNSw4
ICs0OTYsNyBAQCBzdGF0aWMgdm9pZCBTY2FsZVBsYW5lRG93bjM0XzE2KGludCBzcmNfd2lkdGgs
IGludCBzcmNfaGVpZ2h0LAogICAgIFNjYWxlUm93RG93bjM0XzEoc3JjX3B0ciwgZmlsdGVyX3N0
cmlkZSwgZHN0X3B0ciwgZHN0X3dpZHRoKTsKICAgICBzcmNfcHRyICs9IHNyY19zdHJpZGU7CiAg
ICAgZHN0X3B0ciArPSBkc3Rfc3RyaWRlOwotICAgIFNjYWxlUm93RG93bjM0XzAoc3JjX3B0ciAr
IHNyY19zdHJpZGUsIC1maWx0ZXJfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgZHN0X3B0
ciwgZHN0X3dpZHRoKTsKKyAgICBTY2FsZVJvd0Rvd24zNF8wKHNyY19wdHIgKyBzcmNfc3RyaWRl
LCAtZmlsdGVyX3N0cmlkZSwgZHN0X3B0ciwgZHN0X3dpZHRoKTsKICAgICBzcmNfcHRyICs9IHNy
Y19zdHJpZGUgKiAyOwogICAgIGRzdF9wdHIgKz0gZHN0X3N0cmlkZTsKICAgfQpAQCAtNDQyLDcg
KzUxMiw2IEBAIHN0YXRpYyB2b2lkIFNjYWxlUGxhbmVEb3duMzRfMTYoaW50IHNyY193aWR0aCwg
aW50IHNyY19oZWlnaHQsCiAgIH0KIH0KIAotCiAvLyBTY2FsZSBwbGFuZSwgMy84CiAvLyBUaGlz
IGlzIGFuIG9wdGltaXplZCB2ZXJzaW9uIGZvciBzY2FsaW5nIGRvd24gYSBwbGFuZSB0byAzLzgK
IC8vIG9mIGl0cyBvcmlnaW5hbCBzaXplLgpAQCAtNDU4LDEwICs1MjcsMTQgQEAgc3RhdGljIHZv
aWQgU2NhbGVQbGFuZURvd24zNF8xNihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKIC8v
IGdnZ2hoaGlpCiAvLyBCb3hlcyBhcmUgM3gzLCAyeDMsIDN4MiBhbmQgMngyCiAKLXN0YXRpYyB2
b2lkIFNjYWxlUGxhbmVEb3duMzgoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwgaW50IGRzdF9zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1
aW50OCogZHN0X3B0ciwKK3N0YXRpYyB2b2lkIFNjYWxlUGxhbmVEb3duMzgoaW50IHNyY193aWR0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19oZWlnaHQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgewogICBpbnQgeTsK
ICAgdm9pZCAoKlNjYWxlUm93RG93bjM4XzMpKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKQEAgLTQ3MCw2ICs1NDMsOCBAQCBzdGF0aWMgdm9pZCBTY2FsZVBsYW5l
RG93bjM4KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpOwogICBjb25zdCBpbnQgZmls
dGVyX3N0cmlkZSA9IChmaWx0ZXJpbmcgPT0ga0ZpbHRlckxpbmVhcikgPyAwIDogc3JjX3N0cmlk
ZTsKICAgYXNzZXJ0KGRzdF93aWR0aCAlIDMgPT0gMCk7CisgICh2b2lkKXNyY193aWR0aDsKKyAg
KHZvaWQpc3JjX2hlaWdodDsKICAgaWYgKCFmaWx0ZXJpbmcpIHsKICAgICBTY2FsZVJvd0Rvd24z
OF8zID0gU2NhbGVSb3dEb3duMzhfQzsKICAgICBTY2FsZVJvd0Rvd24zOF8yID0gU2NhbGVSb3dE
b3duMzhfQzsKQEAgLTUzMCw2ICs2MDUsMjYgQEAgc3RhdGljIHZvaWQgU2NhbGVQbGFuZURvd24z
OChpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgICB9CiAgIH0KICNlbmRpZgorI2lm
IGRlZmluZWQoSEFTX1NDQUxFUk9XRE9XTjM4X01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVI
YXNNU0EpKSB7CisgICAgaWYgKCFmaWx0ZXJpbmcpIHsKKyAgICAgIFNjYWxlUm93RG93bjM4XzMg
PSBTY2FsZVJvd0Rvd24zOF9BbnlfTVNBOworICAgICAgU2NhbGVSb3dEb3duMzhfMiA9IFNjYWxl
Um93RG93bjM4X0FueV9NU0E7CisgICAgfSBlbHNlIHsKKyAgICAgIFNjYWxlUm93RG93bjM4XzMg
PSBTY2FsZVJvd0Rvd24zOF8zX0JveF9BbnlfTVNBOworICAgICAgU2NhbGVSb3dEb3duMzhfMiA9
IFNjYWxlUm93RG93bjM4XzJfQm94X0FueV9NU0E7CisgICAgfQorICAgIGlmIChkc3Rfd2lkdGgg
JSAxMiA9PSAwKSB7CisgICAgICBpZiAoIWZpbHRlcmluZykgeworICAgICAgICBTY2FsZVJvd0Rv
d24zOF8zID0gU2NhbGVSb3dEb3duMzhfTVNBOworICAgICAgICBTY2FsZVJvd0Rvd24zOF8yID0g
U2NhbGVSb3dEb3duMzhfTVNBOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgU2NhbGVSb3dEb3du
MzhfMyA9IFNjYWxlUm93RG93bjM4XzNfQm94X01TQTsKKyAgICAgICAgU2NhbGVSb3dEb3duMzhf
MiA9IFNjYWxlUm93RG93bjM4XzJfQm94X01TQTsKKyAgICAgIH0KKyAgICB9CisgIH0KKyNlbmRp
ZgogCiAgIGZvciAoeSA9IDA7IHkgPCBkc3RfaGVpZ2h0IC0gMjsgeSArPSAzKSB7CiAgICAgU2Nh
bGVSb3dEb3duMzhfMyhzcmNfcHRyLCBmaWx0ZXJfc3RyaWRlLCBkc3RfcHRyLCBkc3Rfd2lkdGgp
OwpAQCAtNTU0LDEwICs2NDksMTQgQEAgc3RhdGljIHZvaWQgU2NhbGVQbGFuZURvd24zOChpbnQg
c3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgfQogfQogCi1zdGF0aWMgdm9pZCBTY2FsZVBs
YW5lRG93bjM4XzE2KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsIGludCBkc3Rfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTYqIHNyY19wdHIs
IHVpbnQxNiogZHN0X3B0ciwKK3N0YXRpYyB2b2lkIFNjYWxlUGxhbmVEb3duMzhfMTYoaW50IHNy
Y193aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19oZWlnaHQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2KiBkc3RfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEZp
bHRlck1vZGUgZmlsdGVyaW5nKSB7CiAgIGludCB5OwogICB2b2lkICgqU2NhbGVSb3dEb3duMzhf
MykoY29uc3QgdWludDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKQEAgLTU2NSw2
ICs2NjQsOCBAQCBzdGF0aWMgdm9pZCBTY2FsZVBsYW5lRG93bjM4XzE2KGludCBzcmNfd2lkdGgs
IGludCBzcmNfaGVpZ2h0LAogICB2b2lkICgqU2NhbGVSb3dEb3duMzhfMikoY29uc3QgdWludDE2
KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQxNiogZHN0X3B0ciwgaW50IGRzdF93aWR0aCk7CiAgIGNvbnN0IGludCBmaWx0ZXJf
c3RyaWRlID0gKGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyKSA/IDAgOiBzcmNfc3RyaWRlOwor
ICAodm9pZClzcmNfd2lkdGg7CisgICh2b2lkKXNyY19oZWlnaHQ7CiAgIGFzc2VydChkc3Rfd2lk
dGggJSAzID09IDApOwogICBpZiAoIWZpbHRlcmluZykgewogICAgIFNjYWxlUm93RG93bjM4XzMg
PSBTY2FsZVJvd0Rvd24zOF8xNl9DOwpAQCAtNjU0LDggKzc1NSwxMiBAQCBzdGF0aWMgX19pbmxp
bmUgdWludDMyIFN1bVBpeGVsc18xNihpbnQgaWJveHdpZHRoLCBjb25zdCB1aW50MzIqIHNyY19w
dHIpIHsKICAgcmV0dXJuIHN1bTsKIH0KIAotc3RhdGljIHZvaWQgU2NhbGVBZGRDb2xzMl9DKGlu
dCBkc3Rfd2lkdGgsIGludCBib3hoZWlnaHQsIGludCB4LCBpbnQgZHgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfcHRyLCB1aW50OCogZHN0X3B0cikgewor
c3RhdGljIHZvaWQgU2NhbGVBZGRDb2xzMl9DKGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGJveGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyKSB7CiAgIGludCBpOwogICBpbnQgc2NhbGV0Ymxb
Ml07CiAgIGludCBtaW5ib3h3aWR0aCA9IGR4ID4+IDE2OwpAQCAtNjY2LDEzICs3NzEsMTggQEAg
c3RhdGljIHZvaWQgU2NhbGVBZGRDb2xzMl9DKGludCBkc3Rfd2lkdGgsIGludCBib3hoZWlnaHQs
IGludCB4LCBpbnQgZHgsCiAgICAgaW50IGl4ID0geCA+PiAxNjsKICAgICB4ICs9IGR4OwogICAg
IGJveHdpZHRoID0gTUlOMSgoeCA+PiAxNikgLSBpeCk7Ci0gICAgKmRzdF9wdHIrKyA9IFN1bVBp
eGVscyhib3h3aWR0aCwgc3JjX3B0ciArIGl4KSAqCi0gICAgICAgIHNjYWxldGJsW2JveHdpZHRo
IC0gbWluYm94d2lkdGhdID4+IDE2OworICAgICpkc3RfcHRyKysgPQorICAgICAgICBTdW1QaXhl
bHMoYm94d2lkdGgsIHNyY19wdHIgKyBpeCkgKiBzY2FsZXRibFtib3h3aWR0aCAtIG1pbmJveHdp
ZHRoXSA+PgorICAgICAgICAxNjsKICAgfQogfQogCi1zdGF0aWMgdm9pZCBTY2FsZUFkZENvbHMy
XzE2X0MoaW50IGRzdF93aWR0aCwgaW50IGJveGhlaWdodCwgaW50IHgsIGludCBkeCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzIqIHNyY19wdHIsIHVpbnQxNiog
ZHN0X3B0cikgeworc3RhdGljIHZvaWQgU2NhbGVBZGRDb2xzMl8xNl9DKGludCBkc3Rfd2lkdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJveGhlaWdodCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMy
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0X3B0
cikgewogICBpbnQgaTsKICAgaW50IHNjYWxldGJsWzJdOwogICBpbnQgbWluYm94d2lkdGggPSBk
eCA+PiAxNjsKQEAgLTY4NCwxMiArNzk0LDE3IEBAIHN0YXRpYyB2b2lkIFNjYWxlQWRkQ29sczJf
MTZfQyhpbnQgZHN0X3dpZHRoLCBpbnQgYm94aGVpZ2h0LCBpbnQgeCwgaW50IGR4LAogICAgIHgg
Kz0gZHg7CiAgICAgYm94d2lkdGggPSBNSU4xKCh4ID4+IDE2KSAtIGl4KTsKICAgICAqZHN0X3B0
cisrID0gU3VtUGl4ZWxzXzE2KGJveHdpZHRoLCBzcmNfcHRyICsgaXgpICoKLSAgICAgICAgc2Nh
bGV0YmxbYm94d2lkdGggLSBtaW5ib3h3aWR0aF0gID4+IDE2OworICAgICAgICAgICAgICAgICAg
ICAgc2NhbGV0YmxbYm94d2lkdGggLSBtaW5ib3h3aWR0aF0gPj4KKyAgICAgICAgICAgICAgICAg
MTY7CiAgIH0KIH0KIAotc3RhdGljIHZvaWQgU2NhbGVBZGRDb2xzMF9DKGludCBkc3Rfd2lkdGgs
IGludCBib3hoZWlnaHQsIGludCB4LCBpbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2KiBzcmNfcHRyLCB1aW50OCogZHN0X3B0cikgeworc3RhdGljIHZvaWQgU2Nh
bGVBZGRDb2xzMF9DKGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGJveGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDE2KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcHRyKSB7CiAgIGludCBzY2FsZXZhbCA9IDY1NTM2IC8gYm94aGVpZ2h0OwogICBpbnQg
aTsKICAgc3JjX3B0ciArPSAoeCA+PiAxNik7CkBAIC02OTgsOCArODEzLDEyIEBAIHN0YXRpYyB2
b2lkIFNjYWxlQWRkQ29sczBfQyhpbnQgZHN0X3dpZHRoLCBpbnQgYm94aGVpZ2h0LCBpbnQgeCwg
aW50LAogICB9CiB9CiAKLXN0YXRpYyB2b2lkIFNjYWxlQWRkQ29sczFfQyhpbnQgZHN0X3dpZHRo
LCBpbnQgYm94aGVpZ2h0LCBpbnQgeCwgaW50IGR4LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQxNiogc3JjX3B0ciwgdWludDgqIGRzdF9wdHIpIHsKK3N0YXRpYyB2b2lk
IFNjYWxlQWRkQ29sczFfQyhpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBib3hoZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3B0cikgewogICBpbnQgYm94d2lkdGggPSBNSU4xKGR4ID4+IDE2KTsKICAg
aW50IHNjYWxldmFsID0gNjU1MzYgLyAoYm94d2lkdGggKiBib3hoZWlnaHQpOwogICBpbnQgaTsK
QEAgLTcxMCw4ICs4MjksMTIgQEAgc3RhdGljIHZvaWQgU2NhbGVBZGRDb2xzMV9DKGludCBkc3Rf
d2lkdGgsIGludCBib3hoZWlnaHQsIGludCB4LCBpbnQgZHgsCiAgIH0KIH0KIAotc3RhdGljIHZv
aWQgU2NhbGVBZGRDb2xzMV8xNl9DKGludCBkc3Rfd2lkdGgsIGludCBib3hoZWlnaHQsIGludCB4
LCBpbnQgZHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyKiBz
cmNfcHRyLCB1aW50MTYqIGRzdF9wdHIpIHsKK3N0YXRpYyB2b2lkIFNjYWxlQWRkQ29sczFfMTZf
QyhpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBib3ho
ZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGR4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQzMiogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTYqIGRzdF9wdHIpIHsKICAgaW50IGJveHdpZHRoID0gTUlOMShkeCA+PiAxNik7CiAg
IGludCBzY2FsZXZhbCA9IDY1NTM2IC8gKGJveHdpZHRoICogYm94aGVpZ2h0KTsKICAgaW50IGk7
CkBAIC03MjgsMTAgKzg1MSwxNCBAQCBzdGF0aWMgdm9pZCBTY2FsZUFkZENvbHMxXzE2X0MoaW50
IGRzdF93aWR0aCwgaW50IGJveGhlaWdodCwgaW50IHgsIGludCBkeCwKIC8vIG9uZSBwaXhlbCBv
ZiBkZXN0aW5hdGlvbiB1c2luZyBmaXhlZCBwb2ludCAoMTYuMTYpIHRvIHN0ZXAKIC8vIHRocm91
Z2ggc291cmNlLCBzYW1wbGluZyBhIGJveCBvZiBwaXhlbCB3aXRoIHNpbXBsZQogLy8gYXZlcmFn
aW5nLgotc3RhdGljIHZvaWQgU2NhbGVQbGFuZUJveChpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hl
aWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IGRzdF9o
ZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLCBpbnQgZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIs
IHVpbnQ4KiBkc3RfcHRyKSB7CitzdGF0aWMgdm9pZCBTY2FsZVBsYW5lQm94KGludCBzcmNfd2lk
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9wdHIpIHsKICAgaW50IGosIGs7CiAgIC8vIEluaXRpYWwgc291
cmNlIHgveSBjb29yZGluYXRlIGFuZCBzdGVwIHZhbHVlcyBhcyAxNi4xNiBmaXhlZCBwb2ludC4K
ICAgaW50IHggPSAwOwpAQCAtNzM5LDE2ICs4NjYsMTYgQEAgc3RhdGljIHZvaWQgU2NhbGVQbGFu
ZUJveChpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgaW50IGR4ID0gMDsKICAgaW50
IGR5ID0gMDsKICAgY29uc3QgaW50IG1heF95ID0gKHNyY19oZWlnaHQgPDwgMTYpOwotICBTY2Fs
ZVNsb3BlKHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBrRmls
dGVyQm94LAotICAgICAgICAgICAgICZ4LCAmeSwgJmR4LCAmZHkpOworICBTY2FsZVNsb3BlKHNy
Y193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBrRmlsdGVyQm94LCAm
eCwgJnksCisgICAgICAgICAgICAgJmR4LCAmZHkpOwogICBzcmNfd2lkdGggPSBBYnMoc3JjX3dp
ZHRoKTsKICAgewogICAgIC8vIEFsbG9jYXRlIGEgcm93IGJ1ZmZlciBvZiB1aW50MTYuCiAgICAg
YWxpZ25fYnVmZmVyXzY0KHJvdzE2LCBzcmNfd2lkdGggKiAyKTsKICAgICB2b2lkICgqU2NhbGVB
ZGRDb2xzKShpbnQgZHN0X3dpZHRoLCBpbnQgYm94aGVpZ2h0LCBpbnQgeCwgaW50IGR4LAotICAg
ICAgICBjb25zdCB1aW50MTYqIHNyY19wdHIsIHVpbnQ4KiBkc3RfcHRyKSA9Ci0gICAgICAgIChk
eCAmIDB4ZmZmZikgPyBTY2FsZUFkZENvbHMyX0M6Ci0gICAgICAgICgoZHggIT0gMHgxMDAwMCkg
PyBTY2FsZUFkZENvbHMxX0MgOiBTY2FsZUFkZENvbHMwX0MpOworICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX3B0ciwgdWludDgqIGRzdF9wdHIpID0KKyAgICAgICAg
KGR4ICYgMHhmZmZmKSA/IFNjYWxlQWRkQ29sczJfQworICAgICAgICAgICAgICAgICAgICAgIDog
KChkeCAhPSAweDEwMDAwKSA/IFNjYWxlQWRkQ29sczFfQyA6IFNjYWxlQWRkQ29sczBfQyk7CiAg
ICAgdm9pZCAoKlNjYWxlQWRkUm93KShjb25zdCB1aW50OCogc3JjX3B0ciwgdWludDE2KiBkc3Rf
cHRyLCBpbnQgc3JjX3dpZHRoKSA9CiAgICAgICAgIFNjYWxlQWRkUm93X0M7CiAjaWYgZGVmaW5l
ZChIQVNfU0NBTEVBRERST1dfU1NFMikKQEAgLTc3NSw2ICs5MDIsMjIgQEAgc3RhdGljIHZvaWQg
U2NhbGVQbGFuZUJveChpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgICAgIH0KICAg
ICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19TQ0FMRUFERFJPV19NU0EpCisgICAgaWYgKFRl
c3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgICBTY2FsZUFkZFJvdyA9IFNjYWxlQWRkUm93
X0FueV9NU0E7CisgICAgICBpZiAoSVNfQUxJR05FRChzcmNfd2lkdGgsIDE2KSkgeworICAgICAg
ICBTY2FsZUFkZFJvdyA9IFNjYWxlQWRkUm93X01TQTsKKyAgICAgIH0KKyAgICB9CisjZW5kaWYK
KyNpZiBkZWZpbmVkKEhBU19TQ0FMRUFERFJPV19EU1BSMikKKyAgICBpZiAoVGVzdENwdUZsYWco
a0NwdUhhc0RTUFIyKSkgeworICAgICAgU2NhbGVBZGRSb3cgPSBTY2FsZUFkZFJvd19BbnlfRFNQ
UjI7CisgICAgICBpZiAoSVNfQUxJR05FRChzcmNfd2lkdGgsIDE2KSkgeworICAgICAgICBTY2Fs
ZUFkZFJvdyA9IFNjYWxlQWRkUm93X0RTUFIyOworICAgICAgfQorICAgIH0KKyNlbmRpZgogCiAg
ICAgZm9yIChqID0gMDsgaiA8IGRzdF9oZWlnaHQ7ICsraikgewogICAgICAgaW50IGJveGhlaWdo
dDsKQEAgLTc4Nyw3ICs5MzAsNyBAQCBzdGF0aWMgdm9pZCBTY2FsZVBsYW5lQm94KGludCBzcmNf
d2lkdGgsIGludCBzcmNfaGVpZ2h0LAogICAgICAgYm94aGVpZ2h0ID0gTUlOMSgoeSA+PiAxNikg
LSBpeSk7CiAgICAgICBtZW1zZXQocm93MTYsIDAsIHNyY193aWR0aCAqIDIpOwogICAgICAgZm9y
IChrID0gMDsgayA8IGJveGhlaWdodDsgKytrKSB7Ci0gICAgICAgIFNjYWxlQWRkUm93KHNyYywg
KHVpbnQxNiAqKShyb3cxNiksIHNyY193aWR0aCk7CisgICAgICAgIFNjYWxlQWRkUm93KHNyYywg
KHVpbnQxNiopKHJvdzE2KSwgc3JjX3dpZHRoKTsKICAgICAgICAgc3JjICs9IHNyY19zdHJpZGU7
CiAgICAgICB9CiAgICAgICBTY2FsZUFkZENvbHMoZHN0X3dpZHRoLCBib3hoZWlnaHQsIHgsIGR4
LCAodWludDE2Kikocm93MTYpLCBkc3RfcHRyKTsKQEAgLTc5NywxMCArOTQwLDE0IEBAIHN0YXRp
YyB2b2lkIFNjYWxlUGxhbmVCb3goaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIH0K
IH0KIAotc3RhdGljIHZvaWQgU2NhbGVQbGFuZUJveF8xNihpbnQgc3JjX3dpZHRoLCBpbnQgc3Jj
X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50
IGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LCBpbnQgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu
dDE2KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIpIHsKK3N0YXRpYyB2b2lkIFNjYWxlUGxhbmVC
b3hfMTYoaW50IHNyY193aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNy
Y19oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBk
c3RfcHRyKSB7CiAgIGludCBqLCBrOwogICAvLyBJbml0aWFsIHNvdXJjZSB4L3kgY29vcmRpbmF0
ZSBhbmQgc3RlcCB2YWx1ZXMgYXMgMTYuMTYgZml4ZWQgcG9pbnQuCiAgIGludCB4ID0gMDsKQEAg
LTgwOCwxNSArOTU1LDE1IEBAIHN0YXRpYyB2b2lkIFNjYWxlUGxhbmVCb3hfMTYoaW50IHNyY193
aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIGludCBkeCA9IDA7CiAgIGludCBkeSA9IDA7CiAgIGNv
bnN0IGludCBtYXhfeSA9IChzcmNfaGVpZ2h0IDw8IDE2KTsKLSAgU2NhbGVTbG9wZShzcmNfd2lk
dGgsIHNyY19oZWlnaHQsIGRzdF93aWR0aCwgZHN0X2hlaWdodCwga0ZpbHRlckJveCwKLSAgICAg
ICAgICAgICAmeCwgJnksICZkeCwgJmR5KTsKKyAgU2NhbGVTbG9wZShzcmNfd2lkdGgsIHNyY19o
ZWlnaHQsIGRzdF93aWR0aCwgZHN0X2hlaWdodCwga0ZpbHRlckJveCwgJngsICZ5LAorICAgICAg
ICAgICAgICZkeCwgJmR5KTsKICAgc3JjX3dpZHRoID0gQWJzKHNyY193aWR0aCk7CiAgIHsKICAg
ICAvLyBBbGxvY2F0ZSBhIHJvdyBidWZmZXIgb2YgdWludDMyLgogICAgIGFsaWduX2J1ZmZlcl82
NChyb3czMiwgc3JjX3dpZHRoICogNCk7CiAgICAgdm9pZCAoKlNjYWxlQWRkQ29scykoaW50IGRz
dF93aWR0aCwgaW50IGJveGhlaWdodCwgaW50IHgsIGludCBkeCwKLSAgICAgICAgY29uc3QgdWlu
dDMyKiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIpID0KLSAgICAgICAgKGR4ICYgMHhmZmZmKSA/
IFNjYWxlQWRkQ29sczJfMTZfQzogU2NhbGVBZGRDb2xzMV8xNl9DOworICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQzMiogc3JjX3B0ciwgdWludDE2KiBkc3RfcHRyKSA9CisgICAg
ICAgIChkeCAmIDB4ZmZmZikgPyBTY2FsZUFkZENvbHMyXzE2X0MgOiBTY2FsZUFkZENvbHMxXzE2
X0M7CiAgICAgdm9pZCAoKlNjYWxlQWRkUm93KShjb25zdCB1aW50MTYqIHNyY19wdHIsIHVpbnQz
MiogZHN0X3B0ciwgaW50IHNyY193aWR0aCkgPQogICAgICAgICBTY2FsZUFkZFJvd18xNl9DOwog
CkBAIC04MzcsNyArOTg0LDcgQEAgc3RhdGljIHZvaWQgU2NhbGVQbGFuZUJveF8xNihpbnQgc3Jj
X3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgICAgIGJveGhlaWdodCA9IE1JTjEoKHkgPj4gMTYp
IC0gaXkpOwogICAgICAgbWVtc2V0KHJvdzMyLCAwLCBzcmNfd2lkdGggKiA0KTsKICAgICAgIGZv
ciAoayA9IDA7IGsgPCBib3hoZWlnaHQ7ICsraykgewotICAgICAgICBTY2FsZUFkZFJvdyhzcmMs
ICh1aW50MzIgKikocm93MzIpLCBzcmNfd2lkdGgpOworICAgICAgICBTY2FsZUFkZFJvdyhzcmMs
ICh1aW50MzIqKShyb3czMiksIHNyY193aWR0aCk7CiAgICAgICAgIHNyYyArPSBzcmNfc3RyaWRl
OwogICAgICAgfQogICAgICAgU2NhbGVBZGRDb2xzKGRzdF93aWR0aCwgYm94aGVpZ2h0LCB4LCBk
eCwgKHVpbnQzMiopKHJvdzMyKSwgZHN0X3B0cik7CkBAIC04NDgsMTAgKzk5NSwxNCBAQCBzdGF0
aWMgdm9pZCBTY2FsZVBsYW5lQm94XzE2KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAog
fQogCiAvLyBTY2FsZSBwbGFuZSBkb3duIHdpdGggYmlsaW5lYXIgaW50ZXJwb2xhdGlvbi4KLXZv
aWQgU2NhbGVQbGFuZUJpbGluZWFyRG93bihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdo
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwgaW50IGRzdF9z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIs
IHVpbnQ4KiBkc3RfcHRyLAordm9pZCBTY2FsZVBsYW5lQmlsaW5lYXJEb3duKGludCBzcmNfd2lk
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19oZWlnaHQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5nKSB7CiAgIC8vIEluaXRpYWwgc291
cmNlIHgveSBjb29yZGluYXRlIGFuZCBzdGVwIHZhbHVlcyBhcyAxNi4xNiBmaXhlZCBwb2ludC4K
ICAgaW50IHggPSAwOwpAQCAtODY0LDE0ICsxMDE1LDE0IEBAIHZvaWQgU2NhbGVQbGFuZUJpbGlu
ZWFyRG93bihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKIAogICBjb25zdCBpbnQgbWF4
X3kgPSAoc3JjX2hlaWdodCAtIDEpIDw8IDE2OwogICBpbnQgajsKLSAgdm9pZCAoKlNjYWxlRmls
dGVyQ29scykodWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAotICAgICAgaW50
IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgPQorICB2b2lkICgqU2NhbGVGaWx0ZXJDb2xzKSh1
aW50OCAqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBpbnQgZHN0X3dpZHRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwgaW50IGR4KSA9CiAgICAgICAoc3JjX3dpZHRo
ID49IDMyNzY4KSA/IFNjYWxlRmlsdGVyQ29sczY0X0MgOiBTY2FsZUZpbHRlckNvbHNfQzsKLSAg
dm9pZCAoKkludGVycG9sYXRlUm93KSh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19w
dHIsCi0gICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgaW50IGRzdF93aWR0aCwgaW50IHNvdXJj
ZV95X2ZyYWN0aW9uKSA9Ci0gICAgICBJbnRlcnBvbGF0ZVJvd19DOwotICBTY2FsZVNsb3BlKHNy
Y193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBmaWx0ZXJpbmcsCi0g
ICAgICAgICAgICAgJngsICZ5LCAmZHgsICZkeSk7CisgIHZvaWQgKCpJbnRlcnBvbGF0ZVJvdyko
dWludDggKiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc291cmNlX3lfZnJhY3Rpb24pID0gSW50ZXJwb2xhdGVSb3dfQzsK
KyAgU2NhbGVTbG9wZShzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF93aWR0aCwgZHN0X2hlaWdo
dCwgZmlsdGVyaW5nLCAmeCwgJnksCisgICAgICAgICAgICAgJmR4LCAmZHkpOwogICBzcmNfd2lk
dGggPSBBYnMoc3JjX3dpZHRoKTsKIAogI2lmIGRlZmluZWQoSEFTX0lOVEVSUE9MQVRFUk9XX1NT
U0UzKQpAQCAtOTA2LDcgKzEwNTcsMTQgQEAgdm9pZCBTY2FsZVBsYW5lQmlsaW5lYXJEb3duKGlu
dCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogICAgIH0KICAgfQogI2VuZGlmCi0KKyNpZiBk
ZWZpbmVkKEhBU19JTlRFUlBPTEFURVJPV19NU0EpCisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFz
TVNBKSkgeworICAgIEludGVycG9sYXRlUm93ID0gSW50ZXJwb2xhdGVSb3dfQW55X01TQTsKKyAg
ICBpZiAoSVNfQUxJR05FRChzcmNfd2lkdGgsIDMyKSkgeworICAgICAgSW50ZXJwb2xhdGVSb3cg
PSBJbnRlcnBvbGF0ZVJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKIAogI2lmIGRlZmluZWQo
SEFTX1NDQUxFRklMVEVSQ09MU19TU1NFMykKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNTU1NF
MykgJiYgc3JjX3dpZHRoIDwgMzI3NjgpIHsKQEAgLTk0NCwxMCArMTEwMiwxNCBAQCB2b2lkIFNj
YWxlUGxhbmVCaWxpbmVhckRvd24oaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIGZy
ZWVfYWxpZ25lZF9idWZmZXJfNjQocm93KTsKIH0KIAotdm9pZCBTY2FsZVBsYW5lQmlsaW5lYXJE
b3duXzE2KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLCBpbnQgZHN0X3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTYqIHNyY19wdHIsIHVpbnQxNiog
ZHN0X3B0ciwKK3ZvaWQgU2NhbGVQbGFuZUJpbGluZWFyRG93bl8xNihpbnQgc3JjX3dpZHRoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBz
cmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0X3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5n
KSB7CiAgIC8vIEluaXRpYWwgc291cmNlIHgveSBjb29yZGluYXRlIGFuZCBzdGVwIHZhbHVlcyBh
cyAxNi4xNiBmaXhlZCBwb2ludC4KICAgaW50IHggPSAwOwpAQCAtOTYwLDE0ICsxMTIyLDE0IEBA
IHZvaWQgU2NhbGVQbGFuZUJpbGluZWFyRG93bl8xNihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hl
aWdodCwKIAogICBjb25zdCBpbnQgbWF4X3kgPSAoc3JjX2hlaWdodCAtIDEpIDw8IDE2OwogICBp
bnQgajsKLSAgdm9pZCAoKlNjYWxlRmlsdGVyQ29scykodWludDE2KiBkc3RfcHRyLCBjb25zdCB1
aW50MTYqIHNyY19wdHIsCi0gICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSA9Cisg
IHZvaWQgKCpTY2FsZUZpbHRlckNvbHMpKHVpbnQxNiAqIGRzdF9wdHIsIGNvbnN0IHVpbnQxNiog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgs
IGludCBkeCkgPQogICAgICAgKHNyY193aWR0aCA+PSAzMjc2OCkgPyBTY2FsZUZpbHRlckNvbHM2
NF8xNl9DIDogU2NhbGVGaWx0ZXJDb2xzXzE2X0M7Ci0gIHZvaWQgKCpJbnRlcnBvbGF0ZVJvdyko
dWludDE2KiBkc3RfcHRyLCBjb25zdCB1aW50MTYqIHNyY19wdHIsCi0gICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwgaW50IGRzdF93aWR0aCwgaW50IHNvdXJjZV95X2ZyYWN0aW9uKSA9Ci0gICAg
ICBJbnRlcnBvbGF0ZVJvd18xNl9DOwotICBTY2FsZVNsb3BlKHNyY193aWR0aCwgc3JjX2hlaWdo
dCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBmaWx0ZXJpbmcsCi0gICAgICAgICAgICAgJngsICZ5
LCAmZHgsICZkeSk7CisgIHZvaWQgKCpJbnRlcnBvbGF0ZVJvdykodWludDE2ICogZHN0X3B0ciwg
Y29uc3QgdWludDE2KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLCBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzb3VyY2VfeV9mcmFjdGlvbikgPSBJbnRlcnBvbGF0ZVJvd18xNl9DOworICBTY2FsZVNsb3Bl
KHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBmaWx0ZXJpbmcs
ICZ4LCAmeSwKKyAgICAgICAgICAgICAmZHgsICZkeSk7CiAgIHNyY193aWR0aCA9IEFicyhzcmNf
d2lkdGgpOwogCiAjaWYgZGVmaW5lZChIQVNfSU5URVJQT0xBVEVST1dfMTZfU1NFMikKQEAgLTEw
MTEsNyArMTE3Myw2IEBAIHZvaWQgU2NhbGVQbGFuZUJpbGluZWFyRG93bl8xNihpbnQgc3JjX3dp
ZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgfQogI2VuZGlmCiAKLQogI2lmIGRlZmluZWQoSEFTX1ND
QUxFRklMVEVSQ09MU18xNl9TU1NFMykKICAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNTU1NFMykg
JiYgc3JjX3dpZHRoIDwgMzI3NjgpIHsKICAgICBTY2FsZUZpbHRlckNvbHMgPSBTY2FsZUZpbHRl
ckNvbHNfMTZfU1NTRTM7CkBAIC0xMDQxLDEwICsxMjAyLDE0IEBAIHZvaWQgU2NhbGVQbGFuZUJp
bGluZWFyRG93bl8xNihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKIH0KIAogLy8gU2Nh
bGUgdXAgZG93biB3aXRoIGJpbGluZWFyIGludGVycG9sYXRpb24uCi12b2lkIFNjYWxlUGxhbmVC
aWxpbmVhclVwKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwgdWludDgqIGRzdF9wdHIsCit2b2lk
IFNjYWxlUGxhbmVCaWxpbmVhclVwKGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpIHsK
ICAgaW50IGo7CiAgIC8vIEluaXRpYWwgc291cmNlIHgveSBjb29yZGluYXRlIGFuZCBzdGVwIHZh
bHVlcyBhcyAxNi4xNiBmaXhlZCBwb2ludC4KQEAgLTEwNTMsMTQgKzEyMTgsMTQgQEAgdm9pZCBT
Y2FsZVBsYW5lQmlsaW5lYXJVcChpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgaW50
IGR4ID0gMDsKICAgaW50IGR5ID0gMDsKICAgY29uc3QgaW50IG1heF95ID0gKHNyY19oZWlnaHQg
LSAxKSA8PCAxNjsKLSAgdm9pZCAoKkludGVycG9sYXRlUm93KSh1aW50OCogZHN0X3B0ciwgY29u
c3QgdWludDgqIHNyY19wdHIsCi0gICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgaW50IGRzdF93
aWR0aCwgaW50IHNvdXJjZV95X2ZyYWN0aW9uKSA9Ci0gICAgICBJbnRlcnBvbGF0ZVJvd19DOwot
ICB2b2lkICgqU2NhbGVGaWx0ZXJDb2xzKSh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNy
Y19wdHIsCi0gICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSA9CisgIHZvaWQgKCpJ
bnRlcnBvbGF0ZVJvdykodWludDggKiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgaW50IGRzdF93aWR0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc291cmNlX3lfZnJhY3Rpb24pID0gSW50
ZXJwb2xhdGVSb3dfQzsKKyAgdm9pZCAoKlNjYWxlRmlsdGVyQ29scykodWludDggKiBkc3RfcHRy
LCBjb25zdCB1aW50OCogc3JjX3B0ciwgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHgsIGludCBkeCkgPQogICAgICAgZmlsdGVyaW5nID8gU2NhbGVGaWx0ZXJD
b2xzX0MgOiBTY2FsZUNvbHNfQzsKLSAgU2NhbGVTbG9wZShzcmNfd2lkdGgsIHNyY19oZWlnaHQs
IGRzdF93aWR0aCwgZHN0X2hlaWdodCwgZmlsdGVyaW5nLAotICAgICAgICAgICAgICZ4LCAmeSwg
JmR4LCAmZHkpOworICBTY2FsZVNsb3BlKHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRo
LCBkc3RfaGVpZ2h0LCBmaWx0ZXJpbmcsICZ4LCAmeSwKKyAgICAgICAgICAgICAmZHgsICZkeSk7
CiAgIHNyY193aWR0aCA9IEFicyhzcmNfd2lkdGgpOwogCiAjaWYgZGVmaW5lZChIQVNfSU5URVJQ
T0xBVEVST1dfU1NTRTMpCkBAIC0xMTcyLDEwICsxMzM3LDE0IEBAIHZvaWQgU2NhbGVQbGFuZUJp
bGluZWFyVXAoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIH0KIH0KIAotdm9pZCBT
Y2FsZVBsYW5lQmlsaW5lYXJVcF8xNihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLCBpbnQgZHN0X3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfcHRy
LCB1aW50MTYqIGRzdF9wdHIsCit2b2lkIFNjYWxlUGxhbmVCaWxpbmVhclVwXzE2KGludCBzcmNf
d2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTYqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0X3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgewogICBp
bnQgajsKICAgLy8gSW5pdGlhbCBzb3VyY2UgeC95IGNvb3JkaW5hdGUgYW5kIHN0ZXAgdmFsdWVz
IGFzIDE2LjE2IGZpeGVkIHBvaW50LgpAQCAtMTE4NCwxNCArMTM1MywxNCBAQCB2b2lkIFNjYWxl
UGxhbmVCaWxpbmVhclVwXzE2KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogICBpbnQg
ZHggPSAwOwogICBpbnQgZHkgPSAwOwogICBjb25zdCBpbnQgbWF4X3kgPSAoc3JjX2hlaWdodCAt
IDEpIDw8IDE2OwotICB2b2lkICgqSW50ZXJwb2xhdGVSb3cpKHVpbnQxNiogZHN0X3B0ciwgY29u
c3QgdWludDE2KiBzcmNfcHRyLAotICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsIGludCBkc3Rf
d2lkdGgsIGludCBzb3VyY2VfeV9mcmFjdGlvbikgPQotICAgICAgSW50ZXJwb2xhdGVSb3dfMTZf
QzsKLSAgdm9pZCAoKlNjYWxlRmlsdGVyQ29scykodWludDE2KiBkc3RfcHRyLCBjb25zdCB1aW50
MTYqIHNyY19wdHIsCi0gICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSA9CisgIHZv
aWQgKCpJbnRlcnBvbGF0ZVJvdykodWludDE2ICogZHN0X3B0ciwgY29uc3QgdWludDE2KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBpbnQg
ZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb3VyY2VfeV9mcmFjdGlv
bikgPSBJbnRlcnBvbGF0ZVJvd18xNl9DOworICB2b2lkICgqU2NhbGVGaWx0ZXJDb2xzKSh1aW50
MTYgKiBkc3RfcHRyLCBjb25zdCB1aW50MTYqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpID0KICAgICAgIGZpbHRlcmluZyA/
IFNjYWxlRmlsdGVyQ29sc18xNl9DIDogU2NhbGVDb2xzXzE2X0M7Ci0gIFNjYWxlU2xvcGUoc3Jj
X3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIGZpbHRlcmluZywKLSAg
ICAgICAgICAgICAmeCwgJnksICZkeCwgJmR5KTsKKyAgU2NhbGVTbG9wZShzcmNfd2lkdGgsIHNy
Y19oZWlnaHQsIGRzdF93aWR0aCwgZHN0X2hlaWdodCwgZmlsdGVyaW5nLCAmeCwgJnksCisgICAg
ICAgICAgICAgJmR4LCAmZHkpOwogICBzcmNfd2lkdGggPSBBYnMoc3JjX3dpZHRoKTsKIAogI2lm
IGRlZmluZWQoSEFTX0lOVEVSUE9MQVRFUk9XXzE2X1NTRTIpCkBAIC0xMzA4LDIwICsxNDc3LDI0
IEBAIHZvaWQgU2NhbGVQbGFuZUJpbGluZWFyVXBfMTYoaW50IHNyY193aWR0aCwgaW50IHNyY19o
ZWlnaHQsCiAvLyBvZiB4IGFuZCBkeCBpcyB0aGUgaW50ZWdlciBwYXJ0IG9mIHRoZSBzb3VyY2Ug
cG9zaXRpb24gYW5kCiAvLyB0aGUgbG93ZXIgMTYgYml0cyBhcmUgdGhlIGZpeGVkIGRlY2ltYWwg
cGFydC4KIAotc3RhdGljIHZvaWQgU2NhbGVQbGFuZVNpbXBsZShpbnQgc3JjX3dpZHRoLCBpbnQg
c3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwg
aW50IGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3Ry
aWRlLCBpbnQgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY19wdHIsIHVpbnQ4KiBkc3RfcHRyKSB7CitzdGF0aWMgdm9pZCBTY2FsZVBsYW5l
U2ltcGxlKGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
cmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9wdHIpIHsKICAgaW50IGk7Ci0gIHZvaWQgKCpTY2FsZUNvbHMpKHVpbnQ4KiBkc3RfcHRyLCBj
b25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgp
ID0gU2NhbGVDb2xzX0M7CisgIHZvaWQgKCpTY2FsZUNvbHMpKHVpbnQ4ICogZHN0X3B0ciwgY29u
c3QgdWludDgqIHNyY19wdHIsIGludCBkc3Rfd2lkdGgsIGludCB4LAorICAgICAgICAgICAgICAg
ICAgICBpbnQgZHgpID0gU2NhbGVDb2xzX0M7CiAgIC8vIEluaXRpYWwgc291cmNlIHgveSBjb29y
ZGluYXRlIGFuZCBzdGVwIHZhbHVlcyBhcyAxNi4xNiBmaXhlZCBwb2ludC4KICAgaW50IHggPSAw
OwogICBpbnQgeSA9IDA7CiAgIGludCBkeCA9IDA7CiAgIGludCBkeSA9IDA7Ci0gIFNjYWxlU2xv
cGUoc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIGtGaWx0ZXJO
b25lLAotICAgICAgICAgICAgICZ4LCAmeSwgJmR4LCAmZHkpOworICBTY2FsZVNsb3BlKHNyY193
aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBrRmlsdGVyTm9uZSwgJngs
ICZ5LAorICAgICAgICAgICAgICZkeCwgJmR5KTsKICAgc3JjX3dpZHRoID0gQWJzKHNyY193aWR0
aCk7CiAKICAgaWYgKHNyY193aWR0aCAqIDIgPT0gZHN0X3dpZHRoICYmIHggPCAweDgwMDApIHsK
QEAgLTEzNDAsMjAgKzE1MTMsMjQgQEAgc3RhdGljIHZvaWQgU2NhbGVQbGFuZVNpbXBsZShpbnQg
c3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgfQogfQogCi1zdGF0aWMgdm9pZCBTY2FsZVBs
YW5lU2ltcGxlXzE2KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsIGludCBkc3Rfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTYqIHNyY19wdHIs
IHVpbnQxNiogZHN0X3B0cikgeworc3RhdGljIHZvaWQgU2NhbGVQbGFuZVNpbXBsZV8xNihpbnQg
c3JjX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdo
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDE2KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTYqIGRzdF9wdHIpIHsKICAgaW50IGk7Ci0gIHZvaWQgKCpTY2FsZUNvbHMpKHVpbnQx
NiogZHN0X3B0ciwgY29uc3QgdWludDE2KiBzcmNfcHRyLAotICAgICAgaW50IGRzdF93aWR0aCwg
aW50IHgsIGludCBkeCkgPSBTY2FsZUNvbHNfMTZfQzsKKyAgdm9pZCAoKlNjYWxlQ29scykodWlu
dDE2ICogZHN0X3B0ciwgY29uc3QgdWludDE2KiBzcmNfcHRyLCBpbnQgZHN0X3dpZHRoLAorICAg
ICAgICAgICAgICAgICAgICBpbnQgeCwgaW50IGR4KSA9IFNjYWxlQ29sc18xNl9DOwogICAvLyBJ
bml0aWFsIHNvdXJjZSB4L3kgY29vcmRpbmF0ZSBhbmQgc3RlcCB2YWx1ZXMgYXMgMTYuMTYgZml4
ZWQgcG9pbnQuCiAgIGludCB4ID0gMDsKICAgaW50IHkgPSAwOwogICBpbnQgZHggPSAwOwogICBp
bnQgZHkgPSAwOwotICBTY2FsZVNsb3BlKHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRo
LCBkc3RfaGVpZ2h0LCBrRmlsdGVyTm9uZSwKLSAgICAgICAgICAgICAmeCwgJnksICZkeCwgJmR5
KTsKKyAgU2NhbGVTbG9wZShzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF93aWR0aCwgZHN0X2hl
aWdodCwga0ZpbHRlck5vbmUsICZ4LCAmeSwKKyAgICAgICAgICAgICAmZHgsICZkeSk7CiAgIHNy
Y193aWR0aCA9IEFicyhzcmNfd2lkdGgpOwogCiAgIGlmIChzcmNfd2lkdGggKiAyID09IGRzdF93
aWR0aCAmJiB4IDwgMHg4MDAwKSB7CkBAIC0xMzY2LDggKzE1NDMsNyBAQCBzdGF0aWMgdm9pZCBT
Y2FsZVBsYW5lU2ltcGxlXzE2KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogICB9CiAK
ICAgZm9yIChpID0gMDsgaSA8IGRzdF9oZWlnaHQ7ICsraSkgewotICAgIFNjYWxlQ29scyhkc3Rf
cHRyLCBzcmNfcHRyICsgKHkgPj4gMTYpICogc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgZHN0
X3dpZHRoLCB4LCBkeCk7CisgICAgU2NhbGVDb2xzKGRzdF9wdHIsIHNyY19wdHIgKyAoeSA+PiAx
NikgKiBzcmNfc3RyaWRlLCBkc3Rfd2lkdGgsIHgsIGR4KTsKICAgICBkc3RfcHRyICs9IGRzdF9z
dHJpZGU7CiAgICAgeSArPSBkeTsKICAgfQpAQCAtMTM3NywxNCArMTU1MywxOCBAQCBzdGF0aWMg
dm9pZCBTY2FsZVBsYW5lU2ltcGxlXzE2KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAog
Ly8gVGhpcyBmdW5jdGlvbiBkaXNwYXRjaGVzIHRvIGEgc3BlY2lhbGl6ZWQgc2NhbGVyIGJhc2Vk
IG9uIHNjYWxlIGZhY3Rvci4KIAogTElCWVVWX0FQSQotdm9pZCBTY2FsZVBsYW5lKGNvbnN0IHVp
bnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgs
IGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3Ry
aWRlLAotICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAordm9p
ZCBTY2FsZVBsYW5lKGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwKKyAgICAgICAgICAgICAgICBp
bnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAg
ICAgIGludCBkc3Rfc3RyaWRlLAorICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAg
ICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQsCiAgICAgICAgICAgICAgICAgZW51bSBGaWx0ZXJN
b2RlIGZpbHRlcmluZykgewogICAvLyBTaW1wbGlmeSBmaWx0ZXJpbmcgd2hlbiBwb3NzaWJsZS4K
LSAgZmlsdGVyaW5nID0gU2NhbGVGaWx0ZXJSZWR1Y2Uoc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIGZp
bHRlcmluZyk7CisgIGZpbHRlcmluZyA9IFNjYWxlRmlsdGVyUmVkdWNlKHNyY193aWR0aCwgc3Jj
X2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaWx0ZXJpbmcpOwogCiAgIC8vIE5lZ2F0aXZlIGhlaWdodCBtZWFucyBpbnZlcnQg
dGhlIGltYWdlLgogICBpZiAoc3JjX2hlaWdodCA8IDApIHsKQEAgLTE0MDMsNDQgKzE1ODMsNDIg
QEAgdm9pZCBTY2FsZVBsYW5lKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAogICBp
ZiAoZHN0X3dpZHRoID09IHNyY193aWR0aCAmJiBmaWx0ZXJpbmcgIT0ga0ZpbHRlckJveCkgewog
ICAgIGludCBkeSA9IEZpeGVkRGl2KHNyY19oZWlnaHQsIGRzdF9oZWlnaHQpOwogICAgIC8vIEFy
Yml0cmFyeSBzY2FsZSB2ZXJ0aWNhbGx5LCBidXQgdW5zY2FsZWQgaG9yaXpvbnRhbGx5LgotICAg
IFNjYWxlUGxhbmVWZXJ0aWNhbChzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICBk
c3Rfd2lkdGgsIGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgIHNyY19zdHJpZGUs
IGRzdF9zdHJpZGUsIHNyYywgZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBkeSwg
MSwgZmlsdGVyaW5nKTsKKyAgICBTY2FsZVBsYW5lVmVydGljYWwoc3JjX2hlaWdodCwgZHN0X3dp
ZHRoLCBkc3RfaGVpZ2h0LCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICBkc3Rf
c3RyaWRlLCBzcmMsIGRzdCwgMCwgMCwgZHksIDEsIGZpbHRlcmluZyk7CiAgICAgcmV0dXJuOwog
ICB9CiAgIGlmIChkc3Rfd2lkdGggPD0gQWJzKHNyY193aWR0aCkgJiYgZHN0X2hlaWdodCA8PSBz
cmNfaGVpZ2h0KSB7CiAgICAgLy8gU2NhbGUgZG93bi4KICAgICBpZiAoNCAqIGRzdF93aWR0aCA9
PSAzICogc3JjX3dpZHRoICYmIDQgKiBkc3RfaGVpZ2h0ID09IDMgKiBzcmNfaGVpZ2h0KSB7CiAg
ICAgICAvLyBvcHRpbWl6ZWQsIDMvNAotICAgICAgU2NhbGVQbGFuZURvd24zNChzcmNfd2lkdGgs
IHNyY19oZWlnaHQsIGRzdF93aWR0aCwgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgc3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3QsIGZpbHRlcmluZyk7CisgICAgICBT
Y2FsZVBsYW5lRG93bjM0KHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVp
Z2h0LCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICBkc3Rfc3RyaWRlLCBzcmMs
IGRzdCwgZmlsdGVyaW5nKTsKICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKDIgKiBkc3Rf
d2lkdGggPT0gc3JjX3dpZHRoICYmIDIgKiBkc3RfaGVpZ2h0ID09IHNyY19oZWlnaHQpIHsKICAg
ICAgIC8vIG9wdGltaXplZCwgMS8yCi0gICAgICBTY2FsZVBsYW5lRG93bjIoc3JjX3dpZHRoLCBz
cmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAg
c3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3QsIGZpbHRlcmluZyk7CisgICAgICBTY2Fs
ZVBsYW5lRG93bjIoc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQs
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgZHN0X3N0cmlkZSwgc3JjLCBkc3Qs
IGZpbHRlcmluZyk7CiAgICAgICByZXR1cm47CiAgICAgfQogICAgIC8vIDMvOCByb3VuZGVkIHVw
IGZvciBvZGQgc2l6ZWQgY2hyb21hIGhlaWdodC4KICAgICBpZiAoOCAqIGRzdF93aWR0aCA9PSAz
ICogc3JjX3dpZHRoICYmIDggKiBkc3RfaGVpZ2h0ID09IDMgKiBzcmNfaGVpZ2h0KSB7CiAgICAg
ICAvLyBvcHRpbWl6ZWQsIDMvOAotICAgICAgU2NhbGVQbGFuZURvd24zOChzcmNfd2lkdGgsIHNy
Y19oZWlnaHQsIGRzdF93aWR0aCwgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAg
c3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3QsIGZpbHRlcmluZyk7CisgICAgICBTY2Fs
ZVBsYW5lRG93bjM4KHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0
LCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICBkc3Rfc3RyaWRlLCBzcmMsIGRz
dCwgZmlsdGVyaW5nKTsKICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKDQgKiBkc3Rfd2lk
dGggPT0gc3JjX3dpZHRoICYmIDQgKiBkc3RfaGVpZ2h0ID09IHNyY19oZWlnaHQgJiYKICAgICAg
ICAgKGZpbHRlcmluZyA9PSBrRmlsdGVyQm94IHx8IGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSkp
IHsKICAgICAgIC8vIG9wdGltaXplZCwgMS80Ci0gICAgICBTY2FsZVBsYW5lRG93bjQoc3JjX3dp
ZHRoLCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAg
ICAgICAgc3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3QsIGZpbHRlcmluZyk7CisgICAg
ICBTY2FsZVBsYW5lRG93bjQoc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9o
ZWlnaHQsIHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgZHN0X3N0cmlkZSwgc3Jj
LCBkc3QsIGZpbHRlcmluZyk7CiAgICAgICByZXR1cm47CiAgICAgfQogICB9CiAgIGlmIChmaWx0
ZXJpbmcgPT0ga0ZpbHRlckJveCAmJiBkc3RfaGVpZ2h0ICogMiA8IHNyY19oZWlnaHQpIHsKLSAg
ICBTY2FsZVBsYW5lQm94KHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVp
Z2h0LAotICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3Qp
OworICAgIFNjYWxlUGxhbmVCb3goc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRz
dF9oZWlnaHQsIHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICBkc3Rfc3RyaWRlLCBzcmMs
IGRzdCk7CiAgICAgcmV0dXJuOwogICB9CiAgIGlmIChmaWx0ZXJpbmcgJiYgZHN0X2hlaWdodCA+
IHNyY19oZWlnaHQpIHsKQEAgLTE0NTMsMTkgKzE2MzEsMjMgQEAgdm9pZCBTY2FsZVBsYW5lKGNv
bnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3QsIGZpbHRlcmluZyk7CiAgICAgcmV0
dXJuOwogICB9Ci0gIFNjYWxlUGxhbmVTaW1wbGUoc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rf
d2lkdGgsIGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgZHN0X3N0
cmlkZSwgc3JjLCBkc3QpOworICBTY2FsZVBsYW5lU2ltcGxlKHNyY193aWR0aCwgc3JjX2hlaWdo
dCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAg
IGRzdF9zdHJpZGUsIHNyYywgZHN0KTsKIH0KIAogTElCWVVWX0FQSQotdm9pZCBTY2FsZVBsYW5l
XzE2KGNvbnN0IHVpbnQxNiogc3JjLCBpbnQgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
IGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgdWludDE2
KiBkc3QsIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwg
aW50IGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVy
aW5nKSB7Cit2b2lkIFNjYWxlUGxhbmVfMTYoY29uc3QgdWludDE2KiBzcmMsCisgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0
aCwKKyAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAg
ICB1aW50MTYqIGRzdCwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
aGVpZ2h0LAorICAgICAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpIHsK
ICAgLy8gU2ltcGxpZnkgZmlsdGVyaW5nIHdoZW4gcG9zc2libGUuCi0gIGZpbHRlcmluZyA9IFNj
YWxlRmlsdGVyUmVkdWNlKHNyY193aWR0aCwgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBmaWx0ZXJpbmcpOworICBmaWx0
ZXJpbmcgPSBTY2FsZUZpbHRlclJlZHVjZShzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF93aWR0
aCwgZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyaW5n
KTsKIAogICAvLyBOZWdhdGl2ZSBoZWlnaHQgbWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KICAgaWYg
KHNyY19oZWlnaHQgPCAwKSB7CkBAIC0xNDg0LDE2ICsxNjY2LDEzIEBAIHZvaWQgU2NhbGVQbGFu
ZV8xNihjb25zdCB1aW50MTYqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgIGlmIChkc3Rfd2lkdGgg
PT0gc3JjX3dpZHRoKSB7CiAgICAgaW50IGR5ID0gRml4ZWREaXYoc3JjX2hlaWdodCwgZHN0X2hl
aWdodCk7CiAgICAgLy8gQXJiaXRyYXJ5IHNjYWxlIHZlcnRpY2FsbHksIGJ1dCB1bnNjYWxlZCB2
ZXJ0aWNhbGx5LgotICAgIFNjYWxlUGxhbmVWZXJ0aWNhbF8xNihzcmNfaGVpZ2h0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHNyY19zdHJpZGUsIGRzdF9zdHJpZGUsIHNyYywgZHN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAwLCAwLCBkeSwgMSwgZmlsdGVyaW5nKTsKKyAgICBTY2FsZVBsYW5l
VmVydGljYWxfMTYoc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfc3RyaWRlLCBzcmMsIGRzdCwgMCwgMCwg
ZHksIDEsIGZpbHRlcmluZyk7CiAgICAgcmV0dXJuOwogICB9CiAgIGlmIChkc3Rfd2lkdGggPD0g
QWJzKHNyY193aWR0aCkgJiYgZHN0X2hlaWdodCA8PSBzcmNfaGVpZ2h0KSB7CiAgICAgLy8gU2Nh
bGUgZG93bi4KLSAgICBpZiAoNCAqIGRzdF93aWR0aCA9PSAzICogc3JjX3dpZHRoICYmCi0gICAg
ICAgIDQgKiBkc3RfaGVpZ2h0ID09IDMgKiBzcmNfaGVpZ2h0KSB7CisgICAgaWYgKDQgKiBkc3Rf
d2lkdGggPT0gMyAqIHNyY193aWR0aCAmJiA0ICogZHN0X2hlaWdodCA9PSAzICogc3JjX2hlaWdo
dCkgewogICAgICAgLy8gb3B0aW1pemVkLCAzLzQKICAgICAgIFNjYWxlUGxhbmVEb3duMzRfMTYo
c3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNyY19zdHJpZGUsIGRzdF9zdHJpZGUsIHNyYywgZHN0LCBmaWx0ZXJp
bmcpOwpAQCAtMTUxMyw3ICsxNjkyLDcgQEAgdm9pZCBTY2FsZVBsYW5lXzE2KGNvbnN0IHVpbnQx
Niogc3JjLCBpbnQgc3JjX3N0cmlkZSwKICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKDQg
KiBkc3Rfd2lkdGggPT0gc3JjX3dpZHRoICYmIDQgKiBkc3RfaGVpZ2h0ID09IHNyY19oZWlnaHQg
JiYKLSAgICAgICAgICAgICAgIGZpbHRlcmluZyAhPSBrRmlsdGVyQmlsaW5lYXIpIHsKKyAgICAg
ICAgZmlsdGVyaW5nICE9IGtGaWx0ZXJCaWxpbmVhcikgewogICAgICAgLy8gb3B0aW1pemVkLCAx
LzQKICAgICAgIFNjYWxlUGxhbmVEb3duNF8xNihzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF93
aWR0aCwgZHN0X2hlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCBk
c3Rfc3RyaWRlLCBzcmMsIGRzdCwgZmlsdGVyaW5nKTsKQEAgLTE1MjEsOCArMTcwMCw4IEBAIHZv
aWQgU2NhbGVQbGFuZV8xNihjb25zdCB1aW50MTYqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgICAg
fQogICB9CiAgIGlmIChmaWx0ZXJpbmcgPT0ga0ZpbHRlckJveCAmJiBkc3RfaGVpZ2h0ICogMiA8
IHNyY19oZWlnaHQpIHsKLSAgICBTY2FsZVBsYW5lQm94XzE2KHNyY193aWR0aCwgc3JjX2hlaWdo
dCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlk
ZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3QpOworICAgIFNjYWxlUGxhbmVCb3hfMTYoc3JjX3dpZHRo
LCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICBkc3Rfc3RyaWRlLCBzcmMsIGRzdCk7CiAgICAgcmV0dXJuOwogICB9CiAg
IGlmIChmaWx0ZXJpbmcgJiYgZHN0X2hlaWdodCA+IHNyY19oZWlnaHQpIHsKQEAgLTE1MzUsMTAx
ICsxNzE0LDEyMSBAQCB2b2lkIFNjYWxlUGxhbmVfMTYoY29uc3QgdWludDE2KiBzcmMsIGludCBz
cmNfc3RyaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgZHN0
X3N0cmlkZSwgc3JjLCBkc3QsIGZpbHRlcmluZyk7CiAgICAgcmV0dXJuOwogICB9Ci0gIFNjYWxl
UGxhbmVTaW1wbGVfMTYoc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9oZWln
aHQsCi0gICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBk
c3QpOworICBTY2FsZVBsYW5lU2ltcGxlXzE2KHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dp
ZHRoLCBkc3RfaGVpZ2h0LCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgIGRzdF9z
dHJpZGUsIHNyYywgZHN0KTsKIH0KIAogLy8gU2NhbGUgYW4gSTQyMCBpbWFnZS4KIC8vIFRoaXMg
ZnVuY3Rpb24gaW4gdHVybiBjYWxscyBhIHNjYWxpbmcgZnVuY3Rpb24gZm9yIGVhY2ggcGxhbmUu
CiAKIExJQllVVl9BUEkKLWludCBJNDIwU2NhbGUoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3Jj
X3N0cmlkZV95LAotICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3Ry
aWRlX3UsCi0gICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVf
diwKLSAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfeSwgaW50IGRzdF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgdWlu
dDgqIGRzdF91LCBpbnQgZHN0X3N0cmlkZV91LAotICAgICAgICAgICAgICB1aW50OCogZHN0X3Ys
IGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3Rf
aGVpZ2h0LAoraW50IEk0MjBTY2FsZShjb25zdCB1aW50OCogc3JjX3ksCisgICAgICAgICAgICAg
IGludCBzcmNfc3RyaWRlX3ksCisgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdSwKKyAg
ICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKKyAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY192LAorICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV92LAorICAgICAgICAgICAgICBp
bnQgc3JjX3dpZHRoLAorICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAg
ICAgdWludDgqIGRzdF95LAorICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV95LAorICAgICAg
ICAgICAgICB1aW50OCogZHN0X3UsCisgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVf
diwKKyAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgaW50IGRzdF9o
ZWlnaHQsCiAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpIHsKICAgaW50
IHNyY19oYWxmd2lkdGggPSBTVUJTQU1QTEUoc3JjX3dpZHRoLCAxLCAxKTsKICAgaW50IHNyY19o
YWxmaGVpZ2h0ID0gU1VCU0FNUExFKHNyY19oZWlnaHQsIDEsIDEpOwogICBpbnQgZHN0X2hhbGZ3
aWR0aCA9IFNVQlNBTVBMRShkc3Rfd2lkdGgsIDEsIDEpOwogICBpbnQgZHN0X2hhbGZoZWlnaHQg
PSBTVUJTQU1QTEUoZHN0X2hlaWdodCwgMSwgMSk7CiAgIGlmICghc3JjX3kgfHwgIXNyY191IHx8
ICFzcmNfdiB8fCBzcmNfd2lkdGggPT0gMCB8fCBzcmNfaGVpZ2h0ID09IDAgfHwKLSAgICAgIHNy
Y193aWR0aCA+IDMyNzY4IHx8IHNyY19oZWlnaHQgPiAzMjc2OCB8fAotICAgICAgIWRzdF95IHx8
ICFkc3RfdSB8fCAhZHN0X3YgfHwgZHN0X3dpZHRoIDw9IDAgfHwgZHN0X2hlaWdodCA8PSAwKSB7
CisgICAgICBzcmNfd2lkdGggPiAzMjc2OCB8fCBzcmNfaGVpZ2h0ID4gMzI3NjggfHwgIWRzdF95
IHx8ICFkc3RfdSB8fCAhZHN0X3YgfHwKKyAgICAgIGRzdF93aWR0aCA8PSAwIHx8IGRzdF9oZWln
aHQgPD0gMCkgewogICAgIHJldHVybiAtMTsKICAgfQogCi0gIFNjYWxlUGxhbmUoc3JjX3ksIHNy
Y19zdHJpZGVfeSwgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgIGRzdF95LCBk
c3Rfc3RyaWRlX3ksIGRzdF93aWR0aCwgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICBmaWx0ZXJp
bmcpOwotICBTY2FsZVBsYW5lKHNyY191LCBzcmNfc3RyaWRlX3UsIHNyY19oYWxmd2lkdGgsIHNy
Y19oYWxmaGVpZ2h0LAotICAgICAgICAgICAgIGRzdF91LCBkc3Rfc3RyaWRlX3UsIGRzdF9oYWxm
d2lkdGgsIGRzdF9oYWxmaGVpZ2h0LAotICAgICAgICAgICAgIGZpbHRlcmluZyk7Ci0gIFNjYWxl
UGxhbmUoc3JjX3YsIHNyY19zdHJpZGVfdiwgc3JjX2hhbGZ3aWR0aCwgc3JjX2hhbGZoZWlnaHQs
Ci0gICAgICAgICAgICAgZHN0X3YsIGRzdF9zdHJpZGVfdiwgZHN0X2hhbGZ3aWR0aCwgZHN0X2hh
bGZoZWlnaHQsCi0gICAgICAgICAgICAgZmlsdGVyaW5nKTsKKyAgU2NhbGVQbGFuZShzcmNfeSwg
c3JjX3N0cmlkZV95LCBzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF95LCBkc3Rfc3RyaWRlX3ks
CisgICAgICAgICAgICAgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBmaWx0ZXJpbmcpOworICBTY2Fs
ZVBsYW5lKHNyY191LCBzcmNfc3RyaWRlX3UsIHNyY19oYWxmd2lkdGgsIHNyY19oYWxmaGVpZ2h0
LCBkc3RfdSwKKyAgICAgICAgICAgICBkc3Rfc3RyaWRlX3UsIGRzdF9oYWxmd2lkdGgsIGRzdF9o
YWxmaGVpZ2h0LCBmaWx0ZXJpbmcpOworICBTY2FsZVBsYW5lKHNyY192LCBzcmNfc3RyaWRlX3Ys
IHNyY19oYWxmd2lkdGgsIHNyY19oYWxmaGVpZ2h0LCBkc3RfdiwKKyAgICAgICAgICAgICBkc3Rf
c3RyaWRlX3YsIGRzdF9oYWxmd2lkdGgsIGRzdF9oYWxmaGVpZ2h0LCBmaWx0ZXJpbmcpOwogICBy
ZXR1cm4gMDsKIH0KIAogTElCWVVWX0FQSQotaW50IEk0MjBTY2FsZV8xNihjb25zdCB1aW50MTYq
IHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTYq
IHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTYq
IHNyY192LCBpbnQgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRo
LCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgdWludDE2KiBkc3RfeSwgaW50IGRz
dF9zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgdWludDE2KiBkc3RfdSwgaW50IGRzdF9zdHJp
ZGVfdSwKLSAgICAgICAgICAgICAgICAgdWludDE2KiBkc3RfdiwgaW50IGRzdF9zdHJpZGVfdiwK
LSAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQsCitpbnQgSTQy
MFNjYWxlXzE2KGNvbnN0IHVpbnQxNiogc3JjX3ksCisgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3ksCisgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX3UsCisgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlX3UsCisgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQx
Niogc3JjX3YsCisgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAg
ICAgICAgIGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAor
ICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF95LAorICAgICAgICAgICAgICAgICBpbnQgZHN0
X3N0cmlkZV95LAorICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF91LAorICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3N0cmlkZV91LAorICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF92LAor
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZV92LAorICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKICAgICAgICAgICAg
ICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgewogICBpbnQgc3JjX2hhbGZ3aWR0aCA9
IFNVQlNBTVBMRShzcmNfd2lkdGgsIDEsIDEpOwogICBpbnQgc3JjX2hhbGZoZWlnaHQgPSBTVUJT
QU1QTEUoc3JjX2hlaWdodCwgMSwgMSk7CiAgIGludCBkc3RfaGFsZndpZHRoID0gU1VCU0FNUExF
KGRzdF93aWR0aCwgMSwgMSk7CiAgIGludCBkc3RfaGFsZmhlaWdodCA9IFNVQlNBTVBMRShkc3Rf
aGVpZ2h0LCAxLCAxKTsKICAgaWYgKCFzcmNfeSB8fCAhc3JjX3UgfHwgIXNyY192IHx8IHNyY193
aWR0aCA9PSAwIHx8IHNyY19oZWlnaHQgPT0gMCB8fAotICAgICAgc3JjX3dpZHRoID4gMzI3Njgg
fHwgc3JjX2hlaWdodCA+IDMyNzY4IHx8Ci0gICAgICAhZHN0X3kgfHwgIWRzdF91IHx8ICFkc3Rf
diB8fCBkc3Rfd2lkdGggPD0gMCB8fCBkc3RfaGVpZ2h0IDw9IDApIHsKKyAgICAgIHNyY193aWR0
aCA+IDMyNzY4IHx8IHNyY19oZWlnaHQgPiAzMjc2OCB8fCAhZHN0X3kgfHwgIWRzdF91IHx8ICFk
c3RfdiB8fAorICAgICAgZHN0X3dpZHRoIDw9IDAgfHwgZHN0X2hlaWdodCA8PSAwKSB7CiAgICAg
cmV0dXJuIC0xOwogICB9CiAKLSAgU2NhbGVQbGFuZV8xNihzcmNfeSwgc3JjX3N0cmlkZV95LCBz
cmNfd2lkdGgsIHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgZHN0X3ksIGRzdF9zdHJpZGVf
eSwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgIGZpbHRlcmluZyk7Ci0g
IFNjYWxlUGxhbmVfMTYoc3JjX3UsIHNyY19zdHJpZGVfdSwgc3JjX2hhbGZ3aWR0aCwgc3JjX2hh
bGZoZWlnaHQsCi0gICAgICAgICAgICAgICAgZHN0X3UsIGRzdF9zdHJpZGVfdSwgZHN0X2hhbGZ3
aWR0aCwgZHN0X2hhbGZoZWlnaHQsCi0gICAgICAgICAgICAgICAgZmlsdGVyaW5nKTsKLSAgU2Nh
bGVQbGFuZV8xNihzcmNfdiwgc3JjX3N0cmlkZV92LCBzcmNfaGFsZndpZHRoLCBzcmNfaGFsZmhl
aWdodCwKLSAgICAgICAgICAgICAgICBkc3RfdiwgZHN0X3N0cmlkZV92LCBkc3RfaGFsZndpZHRo
LCBkc3RfaGFsZmhlaWdodCwKLSAgICAgICAgICAgICAgICBmaWx0ZXJpbmcpOworICBTY2FsZVBs
YW5lXzE2KHNyY195LCBzcmNfc3RyaWRlX3ksIHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3ks
IGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgICAgICBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIGZp
bHRlcmluZyk7CisgIFNjYWxlUGxhbmVfMTYoc3JjX3UsIHNyY19zdHJpZGVfdSwgc3JjX2hhbGZ3
aWR0aCwgc3JjX2hhbGZoZWlnaHQsIGRzdF91LAorICAgICAgICAgICAgICAgIGRzdF9zdHJpZGVf
dSwgZHN0X2hhbGZ3aWR0aCwgZHN0X2hhbGZoZWlnaHQsIGZpbHRlcmluZyk7CisgIFNjYWxlUGxh
bmVfMTYoc3JjX3YsIHNyY19zdHJpZGVfdiwgc3JjX2hhbGZ3aWR0aCwgc3JjX2hhbGZoZWlnaHQs
IGRzdF92LAorICAgICAgICAgICAgICAgIGRzdF9zdHJpZGVfdiwgZHN0X2hhbGZ3aWR0aCwgZHN0
X2hhbGZoZWlnaHQsIGZpbHRlcmluZyk7CiAgIHJldHVybiAwOwogfQogCiAvLyBEZXByZWNhdGVk
IGFwaQogTElCWVVWX0FQSQotaW50IFNjYWxlKGNvbnN0IHVpbnQ4KiBzcmNfeSwgY29uc3QgdWlu
dDgqIHNyY191LCBjb25zdCB1aW50OCogc3JjX3YsCi0gICAgICAgICAgaW50IHNyY19zdHJpZGVf
eSwgaW50IHNyY19zdHJpZGVfdSwgaW50IHNyY19zdHJpZGVfdiwKLSAgICAgICAgICBpbnQgc3Jj
X3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICB1aW50OCogZHN0X3ksIHVpbnQ4KiBk
c3RfdSwgdWludDgqIGRzdF92LAotICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3ksIGludCBkc3Rf
c3RyaWRlX3UsIGludCBkc3Rfc3RyaWRlX3YsCi0gICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50
IGRzdF9oZWlnaHQsCitpbnQgU2NhbGUoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfdSwKKyAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsCisgICAgICAg
ICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAg
ICAgIGludCBzcmNfc3RyaWRlX3YsCisgICAgICAgICAgaW50IHNyY193aWR0aCwKKyAgICAgICAg
ICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICB1aW50OCogZHN0X3ksCisgICAgICAgICAgdWlu
dDgqIGRzdF91LAorICAgICAgICAgIHVpbnQ4KiBkc3RfdiwKKyAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV95LAorICAgICAgICAgIGludCBkc3Rfc3RyaWRlX3UsCisgICAgICAgICAgaW50IGRzdF9z
dHJpZGVfdiwKKyAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgIGludCBkc3RfaGVp
Z2h0LAogICAgICAgICAgIExJQllVVl9CT09MIGludGVycG9sYXRlKSB7Ci0gIHJldHVybiBJNDIw
U2NhbGUoc3JjX3ksIHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICBzcmNfdSwgc3Jj
X3N0cmlkZV91LAotICAgICAgICAgICAgICAgICAgIHNyY192LCBzcmNfc3RyaWRlX3YsCi0gICAg
ICAgICAgICAgICAgICAgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAg
IGRzdF95LCBkc3Rfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgZHN0X3UsIGRzdF9zdHJp
ZGVfdSwKLSAgICAgICAgICAgICAgICAgICBkc3RfdiwgZHN0X3N0cmlkZV92LAotICAgICAgICAg
ICAgICAgICAgIGRzdF93aWR0aCwgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICBpbnRl
cnBvbGF0ZSA/IGtGaWx0ZXJCb3ggOiBrRmlsdGVyTm9uZSk7CisgIHJldHVybiBJNDIwU2NhbGUo
c3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3UsIHNyY19zdHJpZGVfdSwgc3JjX3YsCisgICAgICAg
ICAgICAgICAgICAgc3JjX3N0cmlkZV92LCBzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF95LCBk
c3Rfc3RyaWRlX3ksCisgICAgICAgICAgICAgICAgICAgZHN0X3UsIGRzdF9zdHJpZGVfdSwgZHN0
X3YsIGRzdF9zdHJpZGVfdiwgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgIGRzdF9oZWln
aHQsIGludGVycG9sYXRlID8ga0ZpbHRlckJveCA6IGtGaWx0ZXJOb25lKTsKIH0KIAogLy8gRGVw
cmVjYXRlZCBhcGkKIExJQllVVl9BUEkKLWludCBTY2FsZU9mZnNldChjb25zdCB1aW50OCogc3Jj
LCBpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICB1aW50OCog
ZHN0LCBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwgaW50IGRzdF95b2Zmc2V0LAoraW50
IFNjYWxlT2Zmc2V0KGNvbnN0IHVpbnQ4KiBzcmMsCisgICAgICAgICAgICAgICAgaW50IHNyY193
aWR0aCwKKyAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICB1
aW50OCogZHN0LAorICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAg
ICAgaW50IGRzdF9oZWlnaHQsCisgICAgICAgICAgICAgICAgaW50IGRzdF95b2Zmc2V0LAogICAg
ICAgICAgICAgICAgIExJQllVVl9CT09MIGludGVycG9sYXRlKSB7CiAgIC8vIENocm9tYSByZXF1
aXJlcyBvZmZzZXQgdG8gbXVsdGlwbGUgb2YgMi4KICAgaW50IGRzdF95b2Zmc2V0X2V2ZW4gPSBk
c3RfeW9mZnNldCAmIH4xOwpAQCAtMTY0MCwyNiArMTgzOSwyMSBAQCBpbnQgU2NhbGVPZmZzZXQo
Y29uc3QgdWludDgqIHNyYywgaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIGludCBh
aGVpZ2h0ID0gZHN0X2hlaWdodCAtIGRzdF95b2Zmc2V0X2V2ZW4gKiAyOyAgLy8gYWN0dWFsIG91
dHB1dCBoZWlnaHQKICAgY29uc3QgdWludDgqIHNyY195ID0gc3JjOwogICBjb25zdCB1aW50OCog
c3JjX3UgPSBzcmMgKyBzcmNfd2lkdGggKiBzcmNfaGVpZ2h0OwotICBjb25zdCB1aW50OCogc3Jj
X3YgPSBzcmMgKyBzcmNfd2lkdGggKiBzcmNfaGVpZ2h0ICsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3JjX2hhbGZ3aWR0aCAqIHNyY19oYWxmaGVpZ2h0OworICBjb25zdCB1aW50OCog
c3JjX3YgPQorICAgICAgc3JjICsgc3JjX3dpZHRoICogc3JjX2hlaWdodCArIHNyY19oYWxmd2lk
dGggKiBzcmNfaGFsZmhlaWdodDsKICAgdWludDgqIGRzdF95ID0gZHN0ICsgZHN0X3lvZmZzZXRf
ZXZlbiAqIGRzdF93aWR0aDsKLSAgdWludDgqIGRzdF91ID0gZHN0ICsgZHN0X3dpZHRoICogZHN0
X2hlaWdodCArCi0gICAgICAgICAgICAgICAgIChkc3RfeW9mZnNldF9ldmVuID4+IDEpICogZHN0
X2hhbGZ3aWR0aDsKKyAgdWludDgqIGRzdF91ID0KKyAgICAgIGRzdCArIGRzdF93aWR0aCAqIGRz
dF9oZWlnaHQgKyAoZHN0X3lvZmZzZXRfZXZlbiA+PiAxKSAqIGRzdF9oYWxmd2lkdGg7CiAgIHVp
bnQ4KiBkc3RfdiA9IGRzdCArIGRzdF93aWR0aCAqIGRzdF9oZWlnaHQgKyBkc3RfaGFsZndpZHRo
ICogZHN0X2hhbGZoZWlnaHQgKwogICAgICAgICAgICAgICAgICAoZHN0X3lvZmZzZXRfZXZlbiA+
PiAxKSAqIGRzdF9oYWxmd2lkdGg7Ci0gIGlmICghc3JjIHx8IHNyY193aWR0aCA8PSAwIHx8IHNy
Y19oZWlnaHQgPD0gMCB8fAotICAgICAgIWRzdCB8fCBkc3Rfd2lkdGggPD0gMCB8fCBkc3RfaGVp
Z2h0IDw9IDAgfHwgZHN0X3lvZmZzZXRfZXZlbiA8IDAgfHwKKyAgaWYgKCFzcmMgfHwgc3JjX3dp
ZHRoIDw9IDAgfHwgc3JjX2hlaWdodCA8PSAwIHx8ICFkc3QgfHwgZHN0X3dpZHRoIDw9IDAgfHwK
KyAgICAgIGRzdF9oZWlnaHQgPD0gMCB8fCBkc3RfeW9mZnNldF9ldmVuIDwgMCB8fAogICAgICAg
ZHN0X3lvZmZzZXRfZXZlbiA+PSBkc3RfaGVpZ2h0KSB7CiAgICAgcmV0dXJuIC0xOwogICB9Ci0g
IHJldHVybiBJNDIwU2NhbGUoc3JjX3ksIHNyY193aWR0aCwKLSAgICAgICAgICAgICAgICAgICBz
cmNfdSwgc3JjX2hhbGZ3aWR0aCwKLSAgICAgICAgICAgICAgICAgICBzcmNfdiwgc3JjX2hhbGZ3
aWR0aCwKLSAgICAgICAgICAgICAgICAgICBzcmNfd2lkdGgsIHNyY19oZWlnaHQsCi0gICAgICAg
ICAgICAgICAgICAgZHN0X3ksIGRzdF93aWR0aCwKLSAgICAgICAgICAgICAgICAgICBkc3RfdSwg
ZHN0X2hhbGZ3aWR0aCwKLSAgICAgICAgICAgICAgICAgICBkc3RfdiwgZHN0X2hhbGZ3aWR0aCwK
LSAgICAgICAgICAgICAgICAgICBkc3Rfd2lkdGgsIGFoZWlnaHQsCisgIHJldHVybiBJNDIwU2Nh
bGUoc3JjX3ksIHNyY193aWR0aCwgc3JjX3UsIHNyY19oYWxmd2lkdGgsIHNyY192LCBzcmNfaGFs
ZndpZHRoLAorICAgICAgICAgICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3ks
IGRzdF93aWR0aCwgZHN0X3UsCisgICAgICAgICAgICAgICAgICAgZHN0X2hhbGZ3aWR0aCwgZHN0
X3YsIGRzdF9oYWxmd2lkdGgsIGRzdF93aWR0aCwgYWhlaWdodCwKICAgICAgICAgICAgICAgICAg
ICBpbnRlcnBvbGF0ZSA/IGtGaWx0ZXJCb3ggOiBrRmlsdGVyTm9uZSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3NvdXJjZS9zY2FsZV9hbnkuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfYW55LmNjCmluZGV4IGVkNzZhOWU0YzA0
MTdkYTZiOWNmOGRkMzNhMWQ4ODZmNTc0ZWVmMWUuLmQ2NGJhN2E5ZGM4M2U5YjUzNzU2MWYzYWE3
ZmVlYTcxMjhiOThkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9zY2FsZV9hbnkuY2MKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Nj
YWxlX2FueS5jYwpAQCAtMTksMTYgKzE5LDE1IEBAIGV4dGVybiAiQyIgewogI2VuZGlmCiAKIC8v
IERlZmluaXRpb24gZm9yIFNjYWxlRmlsdGVyQ29scywgU2NhbGVBUkdCQ29scyBhbmQgU2NhbGVB
UkdCRmlsdGVyQ29scwotI2RlZmluZSBDQU5ZKE5BTUVBTlksIFRFUlBfU0lNRCwgVEVSUF9DLCBC
UFAsIE1BU0spICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB2b2lkIE5BTUVBTlko
dWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaW50IG4gPSBkc3Rfd2lkdGgg
JiB+TUFTSzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIGlmIChuID4gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIFRFUlBfU0lNRChkc3RfcHRyLCBzcmNf
cHRyLCBuLCB4LCBkeCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgIFRFUlBfQyhkc3RfcHRyICsgbiAqIEJQUCwgc3JjX3B0
ciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ZHN0X3dpZHRoICYgTUFTSywgeCArIG4gKiBkeCwgZHgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIH0KKyNkZWZpbmUgQ0FOWShOQU1FQU5ZLCBURVJQX1NJTUQsIFRFUlBf
QywgQlBQLCBNQVNLKSAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgdm9pZCBOQU1FQU5ZKHVp
bnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwgaW50IGRzdF93aWR0aCwgaW50IHgs
IFwKKyAgICAgICAgICAgICAgIGludCBkeCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbnQgbiA9IGRzdF93aWR0aCAmIH5NQVNLOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAobiA+
IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgIFRFUlBfU0lNRChkc3RfcHRyLCBzcmNfcHRyLCBuLCB4LCBkeCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBU
RVJQX0MoZHN0X3B0ciArIG4gKiBCUFAsIHNyY19wdHIsIGRzdF93aWR0aCAmIE1BU0ssIHggKyBu
ICogZHgsIGR4KTsgIFwKKyAgfQogCiAjaWZkZWYgSEFTX1NDQUxFRklMVEVSQ09MU19ORU9OCiBD
QU5ZKFNjYWxlRmlsdGVyQ29sc19BbnlfTkVPTiwgU2NhbGVGaWx0ZXJDb2xzX05FT04sIFNjYWxl
RmlsdGVyQ29sc19DLCAxLCA3KQpAQCAtMzcsMTY3ICszNiwzNzggQEAgQ0FOWShTY2FsZUZpbHRl
ckNvbHNfQW55X05FT04sIFNjYWxlRmlsdGVyQ29sc19ORU9OLCBTY2FsZUZpbHRlckNvbHNfQywg
MSwgNykKIENBTlkoU2NhbGVBUkdCQ29sc19BbnlfTkVPTiwgU2NhbGVBUkdCQ29sc19ORU9OLCBT
Y2FsZUFSR0JDb2xzX0MsIDQsIDcpCiAjZW5kaWYKICNpZmRlZiBIQVNfU0NBTEVBUkdCRklMVEVS
Q09MU19ORU9OCi1DQU5ZKFNjYWxlQVJHQkZpbHRlckNvbHNfQW55X05FT04sIFNjYWxlQVJHQkZp
bHRlckNvbHNfTkVPTiwKLSAgICAgU2NhbGVBUkdCRmlsdGVyQ29sc19DLCA0LCAzKQorQ0FOWShT
Y2FsZUFSR0JGaWx0ZXJDb2xzX0FueV9ORU9OLAorICAgICBTY2FsZUFSR0JGaWx0ZXJDb2xzX05F
T04sCisgICAgIFNjYWxlQVJHQkZpbHRlckNvbHNfQywKKyAgICAgNCwKKyAgICAgMykKICNlbmRp
ZgogI3VuZGVmIENBTlkKIAogLy8gRml4ZWQgc2NhbGUgZG93bi4KLSNkZWZpbmUgU0RBTlkoTkFN
RUFOWSwgU0NBTEVST1dET1dOX1NJTUQsIFNDQUxFUk9XRE9XTl9DLCBGQUNUT1IsIEJQUCwgTUFT
SykgICBcCi0gICAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3B0ciwgaW50IGRzdF93aWR0aCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIGludCByID0gKGludCkoKHVuc2lnbmVkIGludClkc3Rfd2lkdGggJSAoTUFTSyArIDEp
KTsgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgbiA9IGRzdF93aWR0aCAtIHI7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
aWYgKG4gPiAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgU0NBTEVST1dET1dOX1NJTUQoc3JjX3B0ciwgc3Jj
X3N0cmlkZSwgZHN0X3B0ciwgbik7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgU0NBTEVST1dET1dOX0Moc3JjX3B0ciArIChuICogRkFDVE9SKSAq
IEJQUCwgc3JjX3N0cmlkZSwgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
IGRzdF9wdHIgKyBuICogQlBQLCByKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgfQorI2RlZmluZSBTREFOWShOQU1FQU5ZLCBTQ0FMRVJPV0RPV05fU0lNRCwgU0NB
TEVST1dET1dOX0MsIEZBQ1RPUiwgQlBQLCBNQVNLKSBcCisgIHZvaWQgTkFNRUFOWShjb25zdCB1
aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsIHVpbnQ4KiBkc3RfcHRyLCAgIFwK
KyAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCByID0gKGludCkoKHVuc2lnbmVkIGludClk
c3Rfd2lkdGggJSAoTUFTSyArIDEpKTsgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IG4g
PSBkc3Rfd2lkdGggLSByOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBpZiAobiA+IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgU0NBTEVST1dET1dOX1NJ
TUQoc3JjX3B0ciwgc3JjX3N0cmlkZSwgZHN0X3B0ciwgbik7ICAgICAgICAgICAgICAgICAgICBc
CisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBTQ0FMRVJPV0RPV05fQyhzcmNfcHRyICsgKG4g
KiBGQUNUT1IpICogQlBQLCBzcmNfc3RyaWRlLCAgICAgICAgICAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgIGRzdF9wdHIgKyBuICogQlBQLCByKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgIH0KIAogLy8gRml4ZWQgc2NhbGUgZG93biBmb3Igb2RkIHNvdXJjZSB3
aWR0aC4gIFVzZWQgYnkgSTQyMEJsZW5kIHN1YnNhbXBsaW5nLgogLy8gU2luY2UgZHN0X3dpZHRo
IGlzICh3aWR0aCArIDEpIC8gMiwgdGhpcyBmdW5jdGlvbiBzY2FsZXMgb25lIGxlc3MgcGl4ZWwK
IC8vIGFuZCBjb3BpZXMgdGhlIGxhc3QgcGl4ZWwuCi0jZGVmaW5lIFNET0REKE5BTUVBTlksIFND
QUxFUk9XRE9XTl9TSU1ELCBTQ0FMRVJPV0RPV05fQywgRkFDVE9SLCBCUFAsIE1BU0spICAgXAot
ICAgIHZvaWQgTkFNRUFOWShjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJp
ZGUsICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIs
IGludCBkc3Rfd2lkdGgpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBp
bnQgciA9IChpbnQpKCh1bnNpZ25lZCBpbnQpKGRzdF93aWR0aCAtIDEpICUgKE1BU0sgKyAxKSk7
ICAgICAgICAgICAgICAgXAotICAgICAgaW50IG4gPSBkc3Rfd2lkdGggLSByOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGlmIChuID4g
MCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgIFNDQUxFUk9XRE9XTl9TSU1EKHNyY19wdHIsIHNyY19zdHJpZGUs
IGRzdF9wdHIsIG4pOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIFNDQUxFUk9XRE9XTl9DKHNyY19wdHIgKyAobiAqIEZBQ1RPUikgKiBCUFAsIHNy
Y19zdHJpZGUsICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICBkc3RfcHRy
ICsgbiAqIEJQUCwgcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IH0KKyNkZWZpbmUgU0RPREQoTkFNRUFOWSwgU0NBTEVST1dET1dOX1NJTUQsIFNDQUxFUk9XRE9X
Tl9DLCBGQUNUT1IsIEJQUCwgTUFTSykgXAorICB2b2lkIE5BTUVBTlkoY29uc3QgdWludDgqIHNy
Y19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCB1aW50OCogZHN0X3B0ciwgICBcCisgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBpbnQgciA9IChpbnQpKCh1bnNpZ25lZCBpbnQpKGRzdF93aWR0
aCAtIDEpICUgKE1BU0sgKyAxKSk7ICAgICAgICAgICAgICAgXAorICAgIGludCBuID0gZHN0X3dp
ZHRoIC0gcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgaWYgKG4gPiAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIFNDQUxFUk9XRE9XTl9TSU1EKHNyY19w
dHIsIHNyY19zdHJpZGUsIGRzdF9wdHIsIG4pOyAgICAgICAgICAgICAgICAgICAgXAorICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgU0NBTEVST1dET1dOX0Moc3JjX3B0ciArIChuICogRkFDVE9S
KSAqIEJQUCwgc3JjX3N0cmlkZSwgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
ICBkc3RfcHRyICsgbiAqIEJQUCwgcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICB9CiAKICNpZmRlZiBIQVNfU0NBTEVST1dET1dOMl9TU1NFMwogU0RBTlkoU2NhbGVS
b3dEb3duMl9BbnlfU1NTRTMsIFNjYWxlUm93RG93bjJfU1NTRTMsIFNjYWxlUm93RG93bjJfQywg
MiwgMSwgMTUpCi1TREFOWShTY2FsZVJvd0Rvd24yTGluZWFyX0FueV9TU1NFMywgU2NhbGVSb3dE
b3duMkxpbmVhcl9TU1NFMywKLSAgICAgIFNjYWxlUm93RG93bjJMaW5lYXJfQywgMiwgMSwgMTUp
Ci1TREFOWShTY2FsZVJvd0Rvd24yQm94X0FueV9TU1NFMywgU2NhbGVSb3dEb3duMkJveF9TU1NF
MywgU2NhbGVSb3dEb3duMkJveF9DLAotICAgICAgMiwgMSwgMTUpCi1TRE9ERChTY2FsZVJvd0Rv
d24yQm94X09kZF9TU1NFMywgU2NhbGVSb3dEb3duMkJveF9TU1NFMywKLSAgICAgIFNjYWxlUm93
RG93bjJCb3hfT2RkX0MsIDIsIDEsIDE1KQorU0RBTlkoU2NhbGVSb3dEb3duMkxpbmVhcl9Bbnlf
U1NTRTMsCisgICAgICBTY2FsZVJvd0Rvd24yTGluZWFyX1NTU0UzLAorICAgICAgU2NhbGVSb3dE
b3duMkxpbmVhcl9DLAorICAgICAgMiwKKyAgICAgIDEsCisgICAgICAxNSkKK1NEQU5ZKFNjYWxl
Um93RG93bjJCb3hfQW55X1NTU0UzLAorICAgICAgU2NhbGVSb3dEb3duMkJveF9TU1NFMywKKyAg
ICAgIFNjYWxlUm93RG93bjJCb3hfQywKKyAgICAgIDIsCisgICAgICAxLAorICAgICAgMTUpCitT
RE9ERChTY2FsZVJvd0Rvd24yQm94X09kZF9TU1NFMywKKyAgICAgIFNjYWxlUm93RG93bjJCb3hf
U1NTRTMsCisgICAgICBTY2FsZVJvd0Rvd24yQm94X09kZF9DLAorICAgICAgMiwKKyAgICAgIDEs
CisgICAgICAxNSkKICNlbmRpZgogI2lmZGVmIEhBU19TQ0FMRVJPV0RPV04yX0FWWDIKIFNEQU5Z
KFNjYWxlUm93RG93bjJfQW55X0FWWDIsIFNjYWxlUm93RG93bjJfQVZYMiwgU2NhbGVSb3dEb3du
Ml9DLCAyLCAxLCAzMSkKLVNEQU5ZKFNjYWxlUm93RG93bjJMaW5lYXJfQW55X0FWWDIsIFNjYWxl
Um93RG93bjJMaW5lYXJfQVZYMiwKLSAgICAgIFNjYWxlUm93RG93bjJMaW5lYXJfQywgMiwgMSwg
MzEpCi1TREFOWShTY2FsZVJvd0Rvd24yQm94X0FueV9BVlgyLCBTY2FsZVJvd0Rvd24yQm94X0FW
WDIsIFNjYWxlUm93RG93bjJCb3hfQywKLSAgICAgIDIsIDEsIDMxKQotU0RPREQoU2NhbGVSb3dE
b3duMkJveF9PZGRfQVZYMiwgU2NhbGVSb3dEb3duMkJveF9BVlgyLCBTY2FsZVJvd0Rvd24yQm94
X09kZF9DLAotICAgICAgMiwgMSwgMzEpCitTREFOWShTY2FsZVJvd0Rvd24yTGluZWFyX0FueV9B
VlgyLAorICAgICAgU2NhbGVSb3dEb3duMkxpbmVhcl9BVlgyLAorICAgICAgU2NhbGVSb3dEb3du
MkxpbmVhcl9DLAorICAgICAgMiwKKyAgICAgIDEsCisgICAgICAzMSkKK1NEQU5ZKFNjYWxlUm93
RG93bjJCb3hfQW55X0FWWDIsCisgICAgICBTY2FsZVJvd0Rvd24yQm94X0FWWDIsCisgICAgICBT
Y2FsZVJvd0Rvd24yQm94X0MsCisgICAgICAyLAorICAgICAgMSwKKyAgICAgIDMxKQorU0RPREQo
U2NhbGVSb3dEb3duMkJveF9PZGRfQVZYMiwKKyAgICAgIFNjYWxlUm93RG93bjJCb3hfQVZYMiwK
KyAgICAgIFNjYWxlUm93RG93bjJCb3hfT2RkX0MsCisgICAgICAyLAorICAgICAgMSwKKyAgICAg
IDMxKQogI2VuZGlmCiAjaWZkZWYgSEFTX1NDQUxFUk9XRE9XTjJfTkVPTgogU0RBTlkoU2NhbGVS
b3dEb3duMl9BbnlfTkVPTiwgU2NhbGVSb3dEb3duMl9ORU9OLCBTY2FsZVJvd0Rvd24yX0MsIDIs
IDEsIDE1KQotU0RBTlkoU2NhbGVSb3dEb3duMkxpbmVhcl9BbnlfTkVPTiwgU2NhbGVSb3dEb3du
MkxpbmVhcl9ORU9OLAotICAgICAgU2NhbGVSb3dEb3duMkxpbmVhcl9DLCAyLCAxLCAxNSkKLVNE
QU5ZKFNjYWxlUm93RG93bjJCb3hfQW55X05FT04sIFNjYWxlUm93RG93bjJCb3hfTkVPTiwKLSAg
ICAgIFNjYWxlUm93RG93bjJCb3hfQywgMiwgMSwgMTUpCi1TRE9ERChTY2FsZVJvd0Rvd24yQm94
X09kZF9ORU9OLCBTY2FsZVJvd0Rvd24yQm94X05FT04sCi0gICAgICBTY2FsZVJvd0Rvd24yQm94
X09kZF9DLCAyLCAxLCAxNSkKK1NEQU5ZKFNjYWxlUm93RG93bjJMaW5lYXJfQW55X05FT04sCisg
ICAgICBTY2FsZVJvd0Rvd24yTGluZWFyX05FT04sCisgICAgICBTY2FsZVJvd0Rvd24yTGluZWFy
X0MsCisgICAgICAyLAorICAgICAgMSwKKyAgICAgIDE1KQorU0RBTlkoU2NhbGVSb3dEb3duMkJv
eF9BbnlfTkVPTiwKKyAgICAgIFNjYWxlUm93RG93bjJCb3hfTkVPTiwKKyAgICAgIFNjYWxlUm93
RG93bjJCb3hfQywKKyAgICAgIDIsCisgICAgICAxLAorICAgICAgMTUpCitTRE9ERChTY2FsZVJv
d0Rvd24yQm94X09kZF9ORU9OLAorICAgICAgU2NhbGVSb3dEb3duMkJveF9ORU9OLAorICAgICAg
U2NhbGVSb3dEb3duMkJveF9PZGRfQywKKyAgICAgIDIsCisgICAgICAxLAorICAgICAgMTUpCisj
ZW5kaWYKKyNpZmRlZiBIQVNfU0NBTEVST1dET1dOMl9NU0EKK1NEQU5ZKFNjYWxlUm93RG93bjJf
QW55X01TQSwgU2NhbGVSb3dEb3duMl9NU0EsIFNjYWxlUm93RG93bjJfQywgMiwgMSwgMzEpCitT
REFOWShTY2FsZVJvd0Rvd24yTGluZWFyX0FueV9NU0EsCisgICAgICBTY2FsZVJvd0Rvd24yTGlu
ZWFyX01TQSwKKyAgICAgIFNjYWxlUm93RG93bjJMaW5lYXJfQywKKyAgICAgIDIsCisgICAgICAx
LAorICAgICAgMzEpCitTREFOWShTY2FsZVJvd0Rvd24yQm94X0FueV9NU0EsCisgICAgICBTY2Fs
ZVJvd0Rvd24yQm94X01TQSwKKyAgICAgIFNjYWxlUm93RG93bjJCb3hfQywKKyAgICAgIDIsCisg
ICAgICAxLAorICAgICAgMzEpCiAjZW5kaWYKICNpZmRlZiBIQVNfU0NBTEVST1dET1dONF9TU1NF
MwogU0RBTlkoU2NhbGVSb3dEb3duNF9BbnlfU1NTRTMsIFNjYWxlUm93RG93bjRfU1NTRTMsIFNj
YWxlUm93RG93bjRfQywgNCwgMSwgNykKLVNEQU5ZKFNjYWxlUm93RG93bjRCb3hfQW55X1NTU0Uz
LCBTY2FsZVJvd0Rvd240Qm94X1NTU0UzLCBTY2FsZVJvd0Rvd240Qm94X0MsCi0gICAgICA0LCAx
LCA3KQorU0RBTlkoU2NhbGVSb3dEb3duNEJveF9BbnlfU1NTRTMsCisgICAgICBTY2FsZVJvd0Rv
d240Qm94X1NTU0UzLAorICAgICAgU2NhbGVSb3dEb3duNEJveF9DLAorICAgICAgNCwKKyAgICAg
IDEsCisgICAgICA3KQogI2VuZGlmCiAjaWZkZWYgSEFTX1NDQUxFUk9XRE9XTjRfQVZYMgogU0RB
TlkoU2NhbGVSb3dEb3duNF9BbnlfQVZYMiwgU2NhbGVSb3dEb3duNF9BVlgyLCBTY2FsZVJvd0Rv
d240X0MsIDQsIDEsIDE1KQotU0RBTlkoU2NhbGVSb3dEb3duNEJveF9BbnlfQVZYMiwgU2NhbGVS
b3dEb3duNEJveF9BVlgyLCBTY2FsZVJvd0Rvd240Qm94X0MsCi0gICAgICA0LCAxLCAxNSkKK1NE
QU5ZKFNjYWxlUm93RG93bjRCb3hfQW55X0FWWDIsCisgICAgICBTY2FsZVJvd0Rvd240Qm94X0FW
WDIsCisgICAgICBTY2FsZVJvd0Rvd240Qm94X0MsCisgICAgICA0LAorICAgICAgMSwKKyAgICAg
IDE1KQogI2VuZGlmCiAjaWZkZWYgSEFTX1NDQUxFUk9XRE9XTjRfTkVPTgogU0RBTlkoU2NhbGVS
b3dEb3duNF9BbnlfTkVPTiwgU2NhbGVSb3dEb3duNF9ORU9OLCBTY2FsZVJvd0Rvd240X0MsIDQs
IDEsIDcpCi1TREFOWShTY2FsZVJvd0Rvd240Qm94X0FueV9ORU9OLCBTY2FsZVJvd0Rvd240Qm94
X05FT04sIFNjYWxlUm93RG93bjRCb3hfQywKLSAgICAgIDQsIDEsIDcpCitTREFOWShTY2FsZVJv
d0Rvd240Qm94X0FueV9ORU9OLAorICAgICAgU2NhbGVSb3dEb3duNEJveF9ORU9OLAorICAgICAg
U2NhbGVSb3dEb3duNEJveF9DLAorICAgICAgNCwKKyAgICAgIDEsCisgICAgICA3KQorI2VuZGlm
CisjaWZkZWYgSEFTX1NDQUxFUk9XRE9XTjRfTVNBCitTREFOWShTY2FsZVJvd0Rvd240X0FueV9N
U0EsIFNjYWxlUm93RG93bjRfTVNBLCBTY2FsZVJvd0Rvd240X0MsIDQsIDEsIDE1KQorU0RBTlko
U2NhbGVSb3dEb3duNEJveF9BbnlfTVNBLAorICAgICAgU2NhbGVSb3dEb3duNEJveF9NU0EsCisg
ICAgICBTY2FsZVJvd0Rvd240Qm94X0MsCisgICAgICA0LAorICAgICAgMSwKKyAgICAgIDE1KQog
I2VuZGlmCiAjaWZkZWYgSEFTX1NDQUxFUk9XRE9XTjM0X1NTU0UzCi1TREFOWShTY2FsZVJvd0Rv
d24zNF9BbnlfU1NTRTMsIFNjYWxlUm93RG93bjM0X1NTU0UzLAotICAgICAgU2NhbGVSb3dEb3du
MzRfQywgNCAvIDMsIDEsIDIzKQotU0RBTlkoU2NhbGVSb3dEb3duMzRfMF9Cb3hfQW55X1NTU0Uz
LCBTY2FsZVJvd0Rvd24zNF8wX0JveF9TU1NFMywKLSAgICAgIFNjYWxlUm93RG93bjM0XzBfQm94
X0MsIDQgLyAzLCAxLCAyMykKLVNEQU5ZKFNjYWxlUm93RG93bjM0XzFfQm94X0FueV9TU1NFMywg
U2NhbGVSb3dEb3duMzRfMV9Cb3hfU1NTRTMsCi0gICAgICBTY2FsZVJvd0Rvd24zNF8xX0JveF9D
LCA0IC8gMywgMSwgMjMpCitTREFOWShTY2FsZVJvd0Rvd24zNF9BbnlfU1NTRTMsCisgICAgICBT
Y2FsZVJvd0Rvd24zNF9TU1NFMywKKyAgICAgIFNjYWxlUm93RG93bjM0X0MsCisgICAgICA0IC8g
MywKKyAgICAgIDEsCisgICAgICAyMykKK1NEQU5ZKFNjYWxlUm93RG93bjM0XzBfQm94X0FueV9T
U1NFMywKKyAgICAgIFNjYWxlUm93RG93bjM0XzBfQm94X1NTU0UzLAorICAgICAgU2NhbGVSb3dE
b3duMzRfMF9Cb3hfQywKKyAgICAgIDQgLyAzLAorICAgICAgMSwKKyAgICAgIDIzKQorU0RBTlko
U2NhbGVSb3dEb3duMzRfMV9Cb3hfQW55X1NTU0UzLAorICAgICAgU2NhbGVSb3dEb3duMzRfMV9C
b3hfU1NTRTMsCisgICAgICBTY2FsZVJvd0Rvd24zNF8xX0JveF9DLAorICAgICAgNCAvIDMsCisg
ICAgICAxLAorICAgICAgMjMpCiAjZW5kaWYKICNpZmRlZiBIQVNfU0NBTEVST1dET1dOMzRfTkVP
TgotU0RBTlkoU2NhbGVSb3dEb3duMzRfQW55X05FT04sIFNjYWxlUm93RG93bjM0X05FT04sCi0g
ICAgICBTY2FsZVJvd0Rvd24zNF9DLCA0IC8gMywgMSwgMjMpCi1TREFOWShTY2FsZVJvd0Rvd24z
NF8wX0JveF9BbnlfTkVPTiwgU2NhbGVSb3dEb3duMzRfMF9Cb3hfTkVPTiwKLSAgICAgIFNjYWxl
Um93RG93bjM0XzBfQm94X0MsIDQgLyAzLCAxLCAyMykKLVNEQU5ZKFNjYWxlUm93RG93bjM0XzFf
Qm94X0FueV9ORU9OLCBTY2FsZVJvd0Rvd24zNF8xX0JveF9ORU9OLAotICAgICAgU2NhbGVSb3dE
b3duMzRfMV9Cb3hfQywgNCAvIDMsIDEsIDIzKQorU0RBTlkoU2NhbGVSb3dEb3duMzRfQW55X05F
T04sCisgICAgICBTY2FsZVJvd0Rvd24zNF9ORU9OLAorICAgICAgU2NhbGVSb3dEb3duMzRfQywK
KyAgICAgIDQgLyAzLAorICAgICAgMSwKKyAgICAgIDIzKQorU0RBTlkoU2NhbGVSb3dEb3duMzRf
MF9Cb3hfQW55X05FT04sCisgICAgICBTY2FsZVJvd0Rvd24zNF8wX0JveF9ORU9OLAorICAgICAg
U2NhbGVSb3dEb3duMzRfMF9Cb3hfQywKKyAgICAgIDQgLyAzLAorICAgICAgMSwKKyAgICAgIDIz
KQorU0RBTlkoU2NhbGVSb3dEb3duMzRfMV9Cb3hfQW55X05FT04sCisgICAgICBTY2FsZVJvd0Rv
d24zNF8xX0JveF9ORU9OLAorICAgICAgU2NhbGVSb3dEb3duMzRfMV9Cb3hfQywKKyAgICAgIDQg
LyAzLAorICAgICAgMSwKKyAgICAgIDIzKQogI2VuZGlmCiAjaWZkZWYgSEFTX1NDQUxFUk9XRE9X
TjM4X1NTU0UzCi1TREFOWShTY2FsZVJvd0Rvd24zOF9BbnlfU1NTRTMsIFNjYWxlUm93RG93bjM4
X1NTU0UzLAotICAgICAgU2NhbGVSb3dEb3duMzhfQywgOCAvIDMsIDEsIDExKQotU0RBTlkoU2Nh
bGVSb3dEb3duMzhfM19Cb3hfQW55X1NTU0UzLCBTY2FsZVJvd0Rvd24zOF8zX0JveF9TU1NFMywK
LSAgICAgIFNjYWxlUm93RG93bjM4XzNfQm94X0MsIDggLyAzLCAxLCA1KQotU0RBTlkoU2NhbGVS
b3dEb3duMzhfMl9Cb3hfQW55X1NTU0UzLCBTY2FsZVJvd0Rvd24zOF8yX0JveF9TU1NFMywKLSAg
ICAgIFNjYWxlUm93RG93bjM4XzJfQm94X0MsIDggLyAzLCAxLCA1KQorU0RBTlkoU2NhbGVSb3dE
b3duMzhfQW55X1NTU0UzLAorICAgICAgU2NhbGVSb3dEb3duMzhfU1NTRTMsCisgICAgICBTY2Fs
ZVJvd0Rvd24zOF9DLAorICAgICAgOCAvIDMsCisgICAgICAxLAorICAgICAgMTEpCitTREFOWShT
Y2FsZVJvd0Rvd24zOF8zX0JveF9BbnlfU1NTRTMsCisgICAgICBTY2FsZVJvd0Rvd24zOF8zX0Jv
eF9TU1NFMywKKyAgICAgIFNjYWxlUm93RG93bjM4XzNfQm94X0MsCisgICAgICA4IC8gMywKKyAg
ICAgIDEsCisgICAgICA1KQorU0RBTlkoU2NhbGVSb3dEb3duMzhfMl9Cb3hfQW55X1NTU0UzLAor
ICAgICAgU2NhbGVSb3dEb3duMzhfMl9Cb3hfU1NTRTMsCisgICAgICBTY2FsZVJvd0Rvd24zOF8y
X0JveF9DLAorICAgICAgOCAvIDMsCisgICAgICAxLAorICAgICAgNSkKICNlbmRpZgogI2lmZGVm
IEhBU19TQ0FMRVJPV0RPV04zOF9ORU9OCi1TREFOWShTY2FsZVJvd0Rvd24zOF9BbnlfTkVPTiwg
U2NhbGVSb3dEb3duMzhfTkVPTiwKLSAgICAgIFNjYWxlUm93RG93bjM4X0MsIDggLyAzLCAxLCAx
MSkKLVNEQU5ZKFNjYWxlUm93RG93bjM4XzNfQm94X0FueV9ORU9OLCBTY2FsZVJvd0Rvd24zOF8z
X0JveF9ORU9OLAotICAgICAgU2NhbGVSb3dEb3duMzhfM19Cb3hfQywgOCAvIDMsIDEsIDExKQot
U0RBTlkoU2NhbGVSb3dEb3duMzhfMl9Cb3hfQW55X05FT04sIFNjYWxlUm93RG93bjM4XzJfQm94
X05FT04sCi0gICAgICBTY2FsZVJvd0Rvd24zOF8yX0JveF9DLCA4IC8gMywgMSwgMTEpCitTREFO
WShTY2FsZVJvd0Rvd24zOF9BbnlfTkVPTiwKKyAgICAgIFNjYWxlUm93RG93bjM4X05FT04sCisg
ICAgICBTY2FsZVJvd0Rvd24zOF9DLAorICAgICAgOCAvIDMsCisgICAgICAxLAorICAgICAgMTEp
CitTREFOWShTY2FsZVJvd0Rvd24zOF8zX0JveF9BbnlfTkVPTiwKKyAgICAgIFNjYWxlUm93RG93
bjM4XzNfQm94X05FT04sCisgICAgICBTY2FsZVJvd0Rvd24zOF8zX0JveF9DLAorICAgICAgOCAv
IDMsCisgICAgICAxLAorICAgICAgMTEpCitTREFOWShTY2FsZVJvd0Rvd24zOF8yX0JveF9Bbnlf
TkVPTiwKKyAgICAgIFNjYWxlUm93RG93bjM4XzJfQm94X05FT04sCisgICAgICBTY2FsZVJvd0Rv
d24zOF8yX0JveF9DLAorICAgICAgOCAvIDMsCisgICAgICAxLAorICAgICAgMTEpCisjZW5kaWYK
KyNpZmRlZiBIQVNfU0NBTEVST1dET1dOMzhfTVNBCitTREFOWShTY2FsZVJvd0Rvd24zOF9Bbnlf
TVNBLAorICAgICAgU2NhbGVSb3dEb3duMzhfTVNBLAorICAgICAgU2NhbGVSb3dEb3duMzhfQywK
KyAgICAgIDggLyAzLAorICAgICAgMSwKKyAgICAgIDExKQorU0RBTlkoU2NhbGVSb3dEb3duMzhf
M19Cb3hfQW55X01TQSwKKyAgICAgIFNjYWxlUm93RG93bjM4XzNfQm94X01TQSwKKyAgICAgIFNj
YWxlUm93RG93bjM4XzNfQm94X0MsCisgICAgICA4IC8gMywKKyAgICAgIDEsCisgICAgICAxMSkK
K1NEQU5ZKFNjYWxlUm93RG93bjM4XzJfQm94X0FueV9NU0EsCisgICAgICBTY2FsZVJvd0Rvd24z
OF8yX0JveF9NU0EsCisgICAgICBTY2FsZVJvd0Rvd24zOF8yX0JveF9DLAorICAgICAgOCAvIDMs
CisgICAgICAxLAorICAgICAgMTEpCiAjZW5kaWYKIAogI2lmZGVmIEhBU19TQ0FMRUFSR0JST1dE
T1dOMl9TU0UyCi1TREFOWShTY2FsZUFSR0JSb3dEb3duMl9BbnlfU1NFMiwgU2NhbGVBUkdCUm93
RG93bjJfU1NFMiwKLSAgICAgIFNjYWxlQVJHQlJvd0Rvd24yX0MsIDIsIDQsIDMpCi1TREFOWShT
Y2FsZUFSR0JSb3dEb3duMkxpbmVhcl9BbnlfU1NFMiwgU2NhbGVBUkdCUm93RG93bjJMaW5lYXJf
U1NFMiwKLSAgICAgIFNjYWxlQVJHQlJvd0Rvd24yTGluZWFyX0MsIDIsIDQsIDMpCi1TREFOWShT
Y2FsZUFSR0JSb3dEb3duMkJveF9BbnlfU1NFMiwgU2NhbGVBUkdCUm93RG93bjJCb3hfU1NFMiwK
LSAgICAgIFNjYWxlQVJHQlJvd0Rvd24yQm94X0MsIDIsIDQsIDMpCitTREFOWShTY2FsZUFSR0JS
b3dEb3duMl9BbnlfU1NFMiwKKyAgICAgIFNjYWxlQVJHQlJvd0Rvd24yX1NTRTIsCisgICAgICBT
Y2FsZUFSR0JSb3dEb3duMl9DLAorICAgICAgMiwKKyAgICAgIDQsCisgICAgICAzKQorU0RBTlko
U2NhbGVBUkdCUm93RG93bjJMaW5lYXJfQW55X1NTRTIsCisgICAgICBTY2FsZUFSR0JSb3dEb3du
MkxpbmVhcl9TU0UyLAorICAgICAgU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfQywKKyAgICAgIDIs
CisgICAgICA0LAorICAgICAgMykKK1NEQU5ZKFNjYWxlQVJHQlJvd0Rvd24yQm94X0FueV9TU0Uy
LAorICAgICAgU2NhbGVBUkdCUm93RG93bjJCb3hfU1NFMiwKKyAgICAgIFNjYWxlQVJHQlJvd0Rv
d24yQm94X0MsCisgICAgICAyLAorICAgICAgNCwKKyAgICAgIDMpCiAjZW5kaWYKICNpZmRlZiBI
QVNfU0NBTEVBUkdCUk9XRE9XTjJfTkVPTgotU0RBTlkoU2NhbGVBUkdCUm93RG93bjJfQW55X05F
T04sIFNjYWxlQVJHQlJvd0Rvd24yX05FT04sCi0gICAgICBTY2FsZUFSR0JSb3dEb3duMl9DLCAy
LCA0LCA3KQotU0RBTlkoU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfQW55X05FT04sIFNjYWxlQVJH
QlJvd0Rvd24yTGluZWFyX05FT04sCi0gICAgICBTY2FsZUFSR0JSb3dEb3duMkxpbmVhcl9DLCAy
LCA0LCA3KQotU0RBTlkoU2NhbGVBUkdCUm93RG93bjJCb3hfQW55X05FT04sIFNjYWxlQVJHQlJv
d0Rvd24yQm94X05FT04sCi0gICAgICBTY2FsZUFSR0JSb3dEb3duMkJveF9DLCAyLCA0LCA3KQor
U0RBTlkoU2NhbGVBUkdCUm93RG93bjJfQW55X05FT04sCisgICAgICBTY2FsZUFSR0JSb3dEb3du
Ml9ORU9OLAorICAgICAgU2NhbGVBUkdCUm93RG93bjJfQywKKyAgICAgIDIsCisgICAgICA0LAor
ICAgICAgNykKK1NEQU5ZKFNjYWxlQVJHQlJvd0Rvd24yTGluZWFyX0FueV9ORU9OLAorICAgICAg
U2NhbGVBUkdCUm93RG93bjJMaW5lYXJfTkVPTiwKKyAgICAgIFNjYWxlQVJHQlJvd0Rvd24yTGlu
ZWFyX0MsCisgICAgICAyLAorICAgICAgNCwKKyAgICAgIDcpCitTREFOWShTY2FsZUFSR0JSb3dE
b3duMkJveF9BbnlfTkVPTiwKKyAgICAgIFNjYWxlQVJHQlJvd0Rvd24yQm94X05FT04sCisgICAg
ICBTY2FsZUFSR0JSb3dEb3duMkJveF9DLAorICAgICAgMiwKKyAgICAgIDQsCisgICAgICA3KQor
I2VuZGlmCisjaWZkZWYgSEFTX1NDQUxFQVJHQlJPV0RPV04yX01TQQorU0RBTlkoU2NhbGVBUkdC
Um93RG93bjJfQW55X01TQSwKKyAgICAgIFNjYWxlQVJHQlJvd0Rvd24yX01TQSwKKyAgICAgIFNj
YWxlQVJHQlJvd0Rvd24yX0MsCisgICAgICAyLAorICAgICAgNCwKKyAgICAgIDMpCitTREFOWShT
Y2FsZUFSR0JSb3dEb3duMkxpbmVhcl9BbnlfTVNBLAorICAgICAgU2NhbGVBUkdCUm93RG93bjJM
aW5lYXJfTVNBLAorICAgICAgU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfQywKKyAgICAgIDIsCisg
ICAgICA0LAorICAgICAgMykKK1NEQU5ZKFNjYWxlQVJHQlJvd0Rvd24yQm94X0FueV9NU0EsCisg
ICAgICBTY2FsZUFSR0JSb3dEb3duMkJveF9NU0EsCisgICAgICBTY2FsZUFSR0JSb3dEb3duMkJv
eF9DLAorICAgICAgMiwKKyAgICAgIDQsCisgICAgICAzKQogI2VuZGlmCiAjdW5kZWYgU0RBTlkK
IAogLy8gU2NhbGUgZG93biBieSBldmVuIHNjYWxlIGZhY3Rvci4KLSNkZWZpbmUgU0RBQU5ZKE5B
TUVBTlksIFNDQUxFUk9XRE9XTl9TSU1ELCBTQ0FMRVJPV0RPV05fQywgQlBQLCBNQVNLKSAgICAg
ICAgICBcCi0gICAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwgaW50IHNyY19zdGVweCwgICAgXAotICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3B0ciwgaW50IGRzdF93aWR0aCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIGludCByID0gKGludCkoKHVuc2lnbmVkIGludClkc3Rfd2lkdGggJSAoTUFTSyArIDEp
KTsgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgbiA9IGRzdF93aWR0aCAtIHI7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
aWYgKG4gPiAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgU0NBTEVST1dET1dOX1NJTUQoc3JjX3B0ciwgc3Jj
X3N0cmlkZSwgc3JjX3N0ZXB4LCBkc3RfcHRyLCBuKTsgICAgICAgICBcCi0gICAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgU0NBTEVST1dET1dOX0Moc3JjX3B0ciArIChuICogc3JjX3N0ZXB4
KSAqIEJQUCwgc3JjX3N0cmlkZSwgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
IHNyY19zdGVweCwgZHN0X3B0ciArIG4gKiBCUFAsIHIpOyAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgfQorI2RlZmluZSBTREFBTlkoTkFNRUFOWSwgU0NBTEVST1dET1dOX1NJTUQsIFND
QUxFUk9XRE9XTl9DLCBCUFAsIE1BU0spICAgICAgXAorICB2b2lkIE5BTUVBTlkoY29uc3QgdWlu
dDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBpbnQgc3JjX3N0ZXB4LCAgXAorICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIGludCByID0gKGludCkoKHVuc2lnbmVkIGludClkc3Rfd2lk
dGggJSAoTUFTSyArIDEpKTsgICAgICAgICAgICAgICAgICAgXAorICAgIGludCBuID0gZHN0X3dp
ZHRoIC0gcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIGlmIChuID4gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgU0NBTEVST1dET1dOX1NJTUQoc3JjX3B0ciwg
c3JjX3N0cmlkZSwgc3JjX3N0ZXB4LCBkc3RfcHRyLCBuKTsgICAgICAgXAorICAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIFNDQUxFUk9XRE9XTl9DKHNyY19wdHIgKyAobiAqIHNyY19zdGVweCkgKiBC
UFAsIHNyY19zdHJpZGUsIHNyY19zdGVweCwgXAorICAgICAgICAgICAgICAgICAgIGRzdF9wdHIg
KyBuICogQlBQLCByKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9CiAK
ICNpZmRlZiBIQVNfU0NBTEVBUkdCUk9XRE9XTkVWRU5fU1NFMgotU0RBQU5ZKFNjYWxlQVJHQlJv
d0Rvd25FdmVuX0FueV9TU0UyLCBTY2FsZUFSR0JSb3dEb3duRXZlbl9TU0UyLAotICAgICAgIFNj
YWxlQVJHQlJvd0Rvd25FdmVuX0MsIDQsIDMpCi1TREFBTlkoU2NhbGVBUkdCUm93RG93bkV2ZW5C
b3hfQW55X1NTRTIsIFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94X1NTRTIsCi0gICAgICAgU2NhbGVB
UkdCUm93RG93bkV2ZW5Cb3hfQywgNCwgMykKK1NEQUFOWShTY2FsZUFSR0JSb3dEb3duRXZlbl9B
bnlfU1NFMiwKKyAgICAgICBTY2FsZUFSR0JSb3dEb3duRXZlbl9TU0UyLAorICAgICAgIFNjYWxl
QVJHQlJvd0Rvd25FdmVuX0MsCisgICAgICAgNCwKKyAgICAgICAzKQorU0RBQU5ZKFNjYWxlQVJH
QlJvd0Rvd25FdmVuQm94X0FueV9TU0UyLAorICAgICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94
X1NTRTIsCisgICAgICAgU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfQywKKyAgICAgICA0LAorICAg
ICAgIDMpCiAjZW5kaWYKICNpZmRlZiBIQVNfU0NBTEVBUkdCUk9XRE9XTkVWRU5fTkVPTgotU0RB
QU5ZKFNjYWxlQVJHQlJvd0Rvd25FdmVuX0FueV9ORU9OLCBTY2FsZUFSR0JSb3dEb3duRXZlbl9O
RU9OLAotICAgICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuX0MsIDQsIDMpCi1TREFBTlkoU2NhbGVB
UkdCUm93RG93bkV2ZW5Cb3hfQW55X05FT04sIFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94X05FT04s
Ci0gICAgICAgU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfQywgNCwgMykKK1NEQUFOWShTY2FsZUFS
R0JSb3dEb3duRXZlbl9BbnlfTkVPTiwKKyAgICAgICBTY2FsZUFSR0JSb3dEb3duRXZlbl9ORU9O
LAorICAgICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuX0MsCisgICAgICAgNCwKKyAgICAgICAzKQor
U0RBQU5ZKFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94X0FueV9ORU9OLAorICAgICAgIFNjYWxlQVJH
QlJvd0Rvd25FdmVuQm94X05FT04sCisgICAgICAgU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfQywK
KyAgICAgICA0LAorICAgICAgIDMpCisjZW5kaWYKKyNpZmRlZiBIQVNfU0NBTEVBUkdCUk9XRE9X
TkVWRU5fTVNBCitTREFBTlkoU2NhbGVBUkdCUm93RG93bkV2ZW5fQW55X01TQSwKKyAgICAgICBT
Y2FsZUFSR0JSb3dEb3duRXZlbl9NU0EsCisgICAgICAgU2NhbGVBUkdCUm93RG93bkV2ZW5fQywK
KyAgICAgICA0LAorICAgICAgIDMpCitTREFBTlkoU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfQW55
X01TQSwKKyAgICAgICBTY2FsZUFSR0JSb3dEb3duRXZlbkJveF9NU0EsCisgICAgICAgU2NhbGVB
UkdCUm93RG93bkV2ZW5Cb3hfQywKKyAgICAgICA0LAorICAgICAgIDMpCiAjZW5kaWYKIAogLy8g
QWRkIHJvd3MgYm94IGZpbHRlciBzY2FsZSBkb3duLgotI2RlZmluZSBTQUFOWShOQU1FQU5ZLCBT
Q0FMRUFERFJPV19TSU1ELCBTQ0FMRUFERFJPV19DLCBNQVNLKSAgICAgICAgICAgICAgICAgIFwK
LSAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIsIGlu
dCBzcmNfd2lkdGgpIHsgICAgICAgICBcCi0gICAgICBpbnQgbiA9IHNyY193aWR0aCAmIH5NQVNL
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
aWYgKG4gPiAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgU0NBTEVBRERST1dfU0lNRChzcmNfcHRyLCBkc3Rf
cHRyLCBuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgU0NBTEVBRERST1dfQyhzcmNfcHRyICsgbiwgZHN0X3B0ciArIG4s
IHNyY193aWR0aCAmIE1BU0spOyAgICAgICAgICAgICAgIFwKLSAgICB9CisjZGVmaW5lIFNBQU5Z
KE5BTUVBTlksIFNDQUxFQUREUk9XX1NJTUQsIFNDQUxFQUREUk9XX0MsIE1BU0spICAgICAgICAg
IFwKKyAgdm9pZCBOQU1FQU5ZKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIs
IGludCBzcmNfd2lkdGgpIHsgXAorICAgIGludCBuID0gc3JjX3dpZHRoICYgfk1BU0s7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKG4gPiAwKSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgIFNDQUxFQUREUk9XX1NJTUQoc3JjX3B0ciwgZHN0X3B0ciwgbik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgU0NBTEVBRERST1dfQyhzcmNfcHRy
ICsgbiwgZHN0X3B0ciArIG4sIHNyY193aWR0aCAmIE1BU0spOyAgICAgICAgIFwKKyAgfQogCiAj
aWZkZWYgSEFTX1NDQUxFQUREUk9XX1NTRTIKIFNBQU5ZKFNjYWxlQWRkUm93X0FueV9TU0UyLCBT
Y2FsZUFkZFJvd19TU0UyLCBTY2FsZUFkZFJvd19DLCAxNSkKQEAgLTIwOCwxNCArNDE4LDE1IEBA
IFNBQU5ZKFNjYWxlQWRkUm93X0FueV9BVlgyLCBTY2FsZUFkZFJvd19BVlgyLCBTY2FsZUFkZFJv
d19DLCAzMSkKICNpZmRlZiBIQVNfU0NBTEVBRERST1dfTkVPTgogU0FBTlkoU2NhbGVBZGRSb3df
QW55X05FT04sIFNjYWxlQWRkUm93X05FT04sIFNjYWxlQWRkUm93X0MsIDE1KQogI2VuZGlmCisj
aWZkZWYgSEFTX1NDQUxFQUREUk9XX01TQQorU0FBTlkoU2NhbGVBZGRSb3dfQW55X01TQSwgU2Nh
bGVBZGRSb3dfTVNBLCBTY2FsZUFkZFJvd19DLCAxNSkKKyNlbmRpZgorI2lmZGVmIEhBU19TQ0FM
RUFERFJPV19EU1BSMgorU0FBTlkoU2NhbGVBZGRSb3dfQW55X0RTUFIyLCBTY2FsZUFkZFJvd19E
U1BSMiwgU2NhbGVBZGRSb3dfQywgMTUpCisjZW5kaWYKICN1bmRlZiBTQUFOWQogCiAjaWZkZWYg
X19jcGx1c3BsdXMKIH0gIC8vIGV4dGVybiAiQyIKIH0gIC8vIG5hbWVzcGFjZSBsaWJ5dXYKICNl
bmRpZgotCi0KLQotCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9zY2FsZV9hcmdiLmNjIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxl
X2FyZ2IuY2MKaW5kZXggMTdmNTFhZTliZjgxMGYxMDdkZDQ1MDY3NGEyYzkxODMxOGIwMGFjMi4u
MWVhMjhmMGQxZDFkNGYwNDhiNjY5ZDk2OGM0NTdhNTE4NTQ3NTBjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNl
L3NjYWxlX2FyZ2IuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX2FyZ2IuY2MKQEAgLTMwLDIwICszMCwzMSBA
QCBzdGF0aWMgX19pbmxpbmUgaW50IEFicyhpbnQgdikgewogLy8gU2NhbGVBUkdCIEFSR0IsIDEv
MgogLy8gVGhpcyBpcyBhbiBvcHRpbWl6ZWQgdmVyc2lvbiBmb3Igc2NhbGluZyBkb3duIGEgQVJH
QiB0byAxLzIgb2YKIC8vIGl0cyBvcmlnaW5hbCBzaXplLgotc3RhdGljIHZvaWQgU2NhbGVBUkdC
RG93bjIoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlLCBpbnQgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsIGludCBkeCwgaW50IHksIGludCBkeSwKK3N0
YXRpYyB2b2lkIFNjYWxlQVJHQkRvd24yKGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR5LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgewogICBpbnQgajsKICAgaW50
IHJvd19zdHJpZGUgPSBzcmNfc3RyaWRlICogKGR5ID4+IDE2KTsKICAgdm9pZCAoKlNjYWxlQVJH
QlJvd0Rvd24yKShjb25zdCB1aW50OCogc3JjX2FyZ2IsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0
aCkgPQotICAgIGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSA/IFNjYWxlQVJHQlJvd0Rvd24yX0Mg
OgotICAgICAgICAoZmlsdGVyaW5nID09IGtGaWx0ZXJMaW5lYXIgPyBTY2FsZUFSR0JSb3dEb3du
MkxpbmVhcl9DIDoKLSAgICAgICAgU2NhbGVBUkdCUm93RG93bjJCb3hfQyk7Ci0gIGFzc2VydChk
eCA9PSA2NTUzNiAqIDIpOyAgLy8gVGVzdCBzY2FsZSBmYWN0b3Igb2YgMi4KKyAgICAgIGZpbHRl
cmluZyA9PSBrRmlsdGVyTm9uZQorICAgICAgICAgID8gU2NhbGVBUkdCUm93RG93bjJfQworICAg
ICAgICAgIDogKGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVBUkdCUm93RG93bjJM
aW5lYXJfQworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogU2NhbGVB
UkdCUm93RG93bjJCb3hfQyk7CisgICh2b2lkKXNyY193aWR0aDsKKyAgKHZvaWQpc3JjX2hlaWdo
dDsKKyAgKHZvaWQpZHg7CisgIGFzc2VydChkeCA9PSA2NTUzNiAqIDIpOyAgICAgIC8vIFRlc3Qg
c2NhbGUgZmFjdG9yIG9mIDIuCiAgIGFzc2VydCgoZHkgJiAweDFmZmZmKSA9PSAwKTsgIC8vIFRl
c3QgdmVydGljYWwgc2NhbGUgaXMgbXVsdGlwbGUgb2YgMi4KICAgLy8gQWR2YW5jZSB0byBvZGQg
cm93LCBldmVuIGNvbHVtbi4KICAgaWYgKGZpbHRlcmluZyA9PSBrRmlsdGVyQmlsaW5lYXIpIHsK
QEAgLTU0LDI1ICs2NSw0OSBAQCBzdGF0aWMgdm9pZCBTY2FsZUFSR0JEb3duMihpbnQgc3JjX3dp
ZHRoLCBpbnQgc3JjX2hlaWdodCwKIAogI2lmIGRlZmluZWQoSEFTX1NDQUxFQVJHQlJPV0RPV04y
X1NTRTIpCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzU1NFMikpIHsKLSAgICBTY2FsZUFSR0JS
b3dEb3duMiA9IGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSA/IFNjYWxlQVJHQlJvd0Rvd24yX0Fu
eV9TU0UyIDoKLSAgICAgICAgKGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVBUkdC
Um93RG93bjJMaW5lYXJfQW55X1NTRTIgOgotICAgICAgICBTY2FsZUFSR0JSb3dEb3duMkJveF9B
bnlfU1NFMik7CisgICAgU2NhbGVBUkdCUm93RG93bjIgPQorICAgICAgICBmaWx0ZXJpbmcgPT0g
a0ZpbHRlck5vbmUKKyAgICAgICAgICAgID8gU2NhbGVBUkdCUm93RG93bjJfQW55X1NTRTIKKyAg
ICAgICAgICAgIDogKGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVBUkdCUm93RG93
bjJMaW5lYXJfQW55X1NTRTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDogU2NhbGVBUkdCUm93RG93bjJCb3hfQW55X1NTRTIpOwogICAgIGlmIChJU19BTElHTkVE
KGRzdF93aWR0aCwgNCkpIHsKLSAgICAgIFNjYWxlQVJHQlJvd0Rvd24yID0gZmlsdGVyaW5nID09
IGtGaWx0ZXJOb25lID8gU2NhbGVBUkdCUm93RG93bjJfU1NFMiA6Ci0gICAgICAgICAgKGZpbHRl
cmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfU1NFMiA6Ci0g
ICAgICAgICAgU2NhbGVBUkdCUm93RG93bjJCb3hfU1NFMik7CisgICAgICBTY2FsZUFSR0JSb3dE
b3duMiA9CisgICAgICAgICAgZmlsdGVyaW5nID09IGtGaWx0ZXJOb25lCisgICAgICAgICAgICAg
ID8gU2NhbGVBUkdCUm93RG93bjJfU1NFMgorICAgICAgICAgICAgICA6IChmaWx0ZXJpbmcgPT0g
a0ZpbHRlckxpbmVhciA/IFNjYWxlQVJHQlJvd0Rvd24yTGluZWFyX1NTRTIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTY2FsZUFSR0JSb3dEb3duMkJveF9T
U0UyKTsKICAgICB9CiAgIH0KICNlbmRpZgogI2lmIGRlZmluZWQoSEFTX1NDQUxFQVJHQlJPV0RP
V04yX05FT04pCiAgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTkVPTikpIHsKLSAgICBTY2FsZUFS
R0JSb3dEb3duMiA9IGZpbHRlcmluZyA9PSBrRmlsdGVyTm9uZSA/IFNjYWxlQVJHQlJvd0Rvd24y
X0FueV9ORU9OIDoKLSAgICAgICAgKGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVB
UkdCUm93RG93bjJMaW5lYXJfQW55X05FT04gOgotICAgICAgICBTY2FsZUFSR0JSb3dEb3duMkJv
eF9BbnlfTkVPTik7CisgICAgU2NhbGVBUkdCUm93RG93bjIgPQorICAgICAgICBmaWx0ZXJpbmcg
PT0ga0ZpbHRlck5vbmUKKyAgICAgICAgICAgID8gU2NhbGVBUkdCUm93RG93bjJfQW55X05FT04K
KyAgICAgICAgICAgIDogKGZpbHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVBUkdCUm93
RG93bjJMaW5lYXJfQW55X05FT04KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDogU2NhbGVBUkdCUm93RG93bjJCb3hfQW55X05FT04pOwogICAgIGlmIChJU19BTElH
TkVEKGRzdF93aWR0aCwgOCkpIHsKLSAgICAgIFNjYWxlQVJHQlJvd0Rvd24yID0gZmlsdGVyaW5n
ID09IGtGaWx0ZXJOb25lID8gU2NhbGVBUkdCUm93RG93bjJfTkVPTiA6Ci0gICAgICAgICAgKGZp
bHRlcmluZyA9PSBrRmlsdGVyTGluZWFyID8gU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfTkVPTiA6
Ci0gICAgICAgICAgU2NhbGVBUkdCUm93RG93bjJCb3hfTkVPTik7CisgICAgICBTY2FsZUFSR0JS
b3dEb3duMiA9CisgICAgICAgICAgZmlsdGVyaW5nID09IGtGaWx0ZXJOb25lCisgICAgICAgICAg
ICAgID8gU2NhbGVBUkdCUm93RG93bjJfTkVPTgorICAgICAgICAgICAgICA6IChmaWx0ZXJpbmcg
PT0ga0ZpbHRlckxpbmVhciA/IFNjYWxlQVJHQlJvd0Rvd24yTGluZWFyX05FT04KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTY2FsZUFSR0JSb3dEb3duMkJv
eF9ORU9OKTsKKyAgICB9CisgIH0KKyNlbmRpZgorI2lmIGRlZmluZWQoSEFTX1NDQUxFQVJHQlJP
V0RPV04yX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgU2NhbGVB
UkdCUm93RG93bjIgPQorICAgICAgICBmaWx0ZXJpbmcgPT0ga0ZpbHRlck5vbmUKKyAgICAgICAg
ICAgID8gU2NhbGVBUkdCUm93RG93bjJfQW55X01TQQorICAgICAgICAgICAgOiAoZmlsdGVyaW5n
ID09IGtGaWx0ZXJMaW5lYXIgPyBTY2FsZUFSR0JSb3dEb3duMkxpbmVhcl9BbnlfTVNBCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFNjYWxlQVJHQlJvd0Rvd24y
Qm94X0FueV9NU0EpOworICAgIGlmIChJU19BTElHTkVEKGRzdF93aWR0aCwgNCkpIHsKKyAgICAg
IFNjYWxlQVJHQlJvd0Rvd24yID0KKyAgICAgICAgICBmaWx0ZXJpbmcgPT0ga0ZpbHRlck5vbmUK
KyAgICAgICAgICAgICAgPyBTY2FsZUFSR0JSb3dEb3duMl9NU0EKKyAgICAgICAgICAgICAgOiAo
ZmlsdGVyaW5nID09IGtGaWx0ZXJMaW5lYXIgPyBTY2FsZUFSR0JSb3dEb3duMkxpbmVhcl9NU0EK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTY2FsZUFSR0JS
b3dEb3duMkJveF9NU0EpOwogICAgIH0KICAgfQogI2VuZGlmCkBAIC05MCwyMSArMTI1LDMyIEBA
IHN0YXRpYyB2b2lkIFNjYWxlQVJHQkRvd24yKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0
LAogLy8gU2NhbGVBUkdCIEFSR0IsIDEvNAogLy8gVGhpcyBpcyBhbiBvcHRpbWl6ZWQgdmVyc2lv
biBmb3Igc2NhbGluZyBkb3duIGEgQVJHQiB0byAxLzQgb2YKIC8vIGl0cyBvcmlnaW5hbCBzaXpl
Lgotc3RhdGljIHZvaWQgU2NhbGVBUkdCRG93bjRCb3goaW50IHNyY193aWR0aCwgaW50IHNyY19o
ZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQg
ZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LCBpbnQgZHN0X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHgsIGludCBkeCwgaW50IHksIGludCBkeSkgeworc3RhdGljIHZvaWQgU2NhbGVB
UkdCRG93bjRCb3goaW50IHNyY193aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHkpIHsKICAgaW50IGo7CiAgIC8vIEFsbG9jYXRlIDIgcm93cyBvZiBBUkdCLgogICBjb25zdCBp
bnQga1Jvd1NpemUgPSAoZHN0X3dpZHRoICogMiAqIDQgKyAzMSkgJiB+MzE7CiAgIGFsaWduX2J1
ZmZlcl82NChyb3csIGtSb3dTaXplICogMik7CiAgIGludCByb3dfc3RyaWRlID0gc3JjX3N0cmlk
ZSAqIChkeSA+PiAxNik7CiAgIHZvaWQgKCpTY2FsZUFSR0JSb3dEb3duMikoY29uc3QgdWludDgq
IHNyY19hcmdiLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICB1aW50OCogZHN0X2FyZ2IsIGlu
dCBkc3Rfd2lkdGgpID0gU2NhbGVBUkdCUm93RG93bjJCb3hfQzsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfd2lkdGgpID0KKyAgICAgIFNjYWxl
QVJHQlJvd0Rvd24yQm94X0M7CiAgIC8vIEFkdmFuY2UgdG8gb2RkIHJvdywgZXZlbiBjb2x1bW4u
CiAgIHNyY19hcmdiICs9ICh5ID4+IDE2KSAqIHNyY19zdHJpZGUgKyAoeCA+PiAxNikgKiA0Owot
ICBhc3NlcnQoZHggPT0gNjU1MzYgKiA0KTsgIC8vIFRlc3Qgc2NhbGUgZmFjdG9yIG9mIDQuCisg
ICh2b2lkKXNyY193aWR0aDsKKyAgKHZvaWQpc3JjX2hlaWdodDsKKyAgKHZvaWQpZHg7CisgIGFz
c2VydChkeCA9PSA2NTUzNiAqIDQpOyAgICAgIC8vIFRlc3Qgc2NhbGUgZmFjdG9yIG9mIDQuCiAg
IGFzc2VydCgoZHkgJiAweDNmZmZmKSA9PSAwKTsgIC8vIFRlc3QgdmVydGljYWwgc2NhbGUgaXMg
bXVsdGlwbGUgb2YgNC4KICNpZiBkZWZpbmVkKEhBU19TQ0FMRUFSR0JST1dET1dOMl9TU0UyKQog
ICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc1NTRTIpKSB7CkBAIC0xMjUsOCArMTcxLDggQEAgc3Rh
dGljIHZvaWQgU2NhbGVBUkdCRG93bjRCb3goaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQs
CiAKICAgZm9yIChqID0gMDsgaiA8IGRzdF9oZWlnaHQ7ICsraikgewogICAgIFNjYWxlQVJHQlJv
d0Rvd24yKHNyY19hcmdiLCBzcmNfc3RyaWRlLCByb3csIGRzdF93aWR0aCAqIDIpOwotICAgIFNj
YWxlQVJHQlJvd0Rvd24yKHNyY19hcmdiICsgc3JjX3N0cmlkZSAqIDIsIHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgcm93ICsga1Jvd1NpemUsIGRzdF93aWR0aCAqIDIpOworICAg
IFNjYWxlQVJHQlJvd0Rvd24yKHNyY19hcmdiICsgc3JjX3N0cmlkZSAqIDIsIHNyY19zdHJpZGUs
IHJvdyArIGtSb3dTaXplLAorICAgICAgICAgICAgICAgICAgICAgIGRzdF93aWR0aCAqIDIpOwog
ICAgIFNjYWxlQVJHQlJvd0Rvd24yKHJvdywga1Jvd1NpemUsIGRzdF9hcmdiLCBkc3Rfd2lkdGgp
OwogICAgIHNyY19hcmdiICs9IHJvd19zdHJpZGU7CiAgICAgZHN0X2FyZ2IgKz0gZHN0X3N0cmlk
ZTsKQEAgLTEzNywxMSArMTgzLDE4IEBAIHN0YXRpYyB2b2lkIFNjYWxlQVJHQkRvd240Qm94KGlu
dCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogLy8gU2NhbGVBUkdCIEFSR0IgRXZlbgogLy8g
VGhpcyBpcyBhbiBvcHRpbWl6ZWQgdmVyc2lvbiBmb3Igc2NhbGluZyBkb3duIGEgQVJHQiB0byBl
dmVuCiAvLyBtdWx0aXBsZSBvZiBpdHMgb3JpZ2luYWwgc2l6ZS4KLXN0YXRpYyB2b2lkIFNjYWxl
QVJHQkRvd25FdmVuKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwgaW50IGRzdF9zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IsIHVpbnQ4
KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LCBpbnQgZHgs
IGludCB5LCBpbnQgZHksCitzdGF0aWMgdm9pZCBTY2FsZUFSR0JEb3duRXZlbihpbnQgc3JjX3dp
ZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19oZWlnaHQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkeSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpIHsKICAgaW50IGo7CiAgIGlu
dCBjb2xfc3RlcCA9IGR4ID4+IDE2OwpAQCAtMTQ5LDI2ICsyMDIsMzggQEAgc3RhdGljIHZvaWQg
U2NhbGVBUkdCRG93bkV2ZW4oaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIHZvaWQg
KCpTY2FsZUFSR0JSb3dEb3duRXZlbikoY29uc3QgdWludDgqIHNyY19hcmdiLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0ZXAs
IHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCkgPQogICAgICAgZmlsdGVyaW5nID8gU2Nh
bGVBUkdCUm93RG93bkV2ZW5Cb3hfQyA6IFNjYWxlQVJHQlJvd0Rvd25FdmVuX0M7CisgICh2b2lk
KXNyY193aWR0aDsKKyAgKHZvaWQpc3JjX2hlaWdodDsKICAgYXNzZXJ0KElTX0FMSUdORUQoc3Jj
X3dpZHRoLCAyKSk7CiAgIGFzc2VydChJU19BTElHTkVEKHNyY19oZWlnaHQsIDIpKTsKICAgc3Jj
X2FyZ2IgKz0gKHkgPj4gMTYpICogc3JjX3N0cmlkZSArICh4ID4+IDE2KSAqIDQ7CiAjaWYgZGVm
aW5lZChIQVNfU0NBTEVBUkdCUk9XRE9XTkVWRU5fU1NFMikKICAgaWYgKFRlc3RDcHVGbGFnKGtD
cHVIYXNTU0UyKSkgewotICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuID0gZmlsdGVyaW5nID8gU2Nh
bGVBUkdCUm93RG93bkV2ZW5Cb3hfQW55X1NTRTIgOgotICAgICAgICBTY2FsZUFSR0JSb3dEb3du
RXZlbl9BbnlfU1NFMjsKKyAgICBTY2FsZUFSR0JSb3dEb3duRXZlbiA9IGZpbHRlcmluZyA/IFNj
YWxlQVJHQlJvd0Rvd25FdmVuQm94X0FueV9TU0UyCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiBTY2FsZUFSR0JSb3dEb3duRXZlbl9BbnlfU1NFMjsKICAgICBpZiAoSVNf
QUxJR05FRChkc3Rfd2lkdGgsIDQpKSB7Ci0gICAgICBTY2FsZUFSR0JSb3dEb3duRXZlbiA9IGZp
bHRlcmluZyA/IFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94X1NTRTIgOgotICAgICAgICAgIFNjYWxl
QVJHQlJvd0Rvd25FdmVuX1NTRTI7CisgICAgICBTY2FsZUFSR0JSb3dEb3duRXZlbiA9CisgICAg
ICAgICAgZmlsdGVyaW5nID8gU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfU1NFMiA6IFNjYWxlQVJH
QlJvd0Rvd25FdmVuX1NTRTI7CiAgICAgfQogICB9CiAjZW5kaWYKICNpZiBkZWZpbmVkKEhBU19T
Q0FMRUFSR0JST1dET1dORVZFTl9ORU9OKQogICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc05FT04p
KSB7Ci0gICAgU2NhbGVBUkdCUm93RG93bkV2ZW4gPSBmaWx0ZXJpbmcgPyBTY2FsZUFSR0JSb3dE
b3duRXZlbkJveF9BbnlfTkVPTiA6Ci0gICAgICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuX0FueV9O
RU9OOworICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuID0gZmlsdGVyaW5nID8gU2NhbGVBUkdCUm93
RG93bkV2ZW5Cb3hfQW55X05FT04KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6IFNjYWxlQVJHQlJvd0Rvd25FdmVuX0FueV9ORU9OOwogICAgIGlmIChJU19BTElHTkVEKGRz
dF93aWR0aCwgNCkpIHsKLSAgICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuID0gZmlsdGVyaW5nID8g
U2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfTkVPTiA6Ci0gICAgICAgICAgU2NhbGVBUkdCUm93RG93
bkV2ZW5fTkVPTjsKKyAgICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuID0KKyAgICAgICAgICBmaWx0
ZXJpbmcgPyBTY2FsZUFSR0JSb3dEb3duRXZlbkJveF9ORU9OIDogU2NhbGVBUkdCUm93RG93bkV2
ZW5fTkVPTjsKKyAgICB9CisgIH0KKyNlbmRpZgorI2lmIGRlZmluZWQoSEFTX1NDQUxFQVJHQlJP
V0RPV05FVkVOX01TQSkKKyAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNNU0EpKSB7CisgICAgU2Nh
bGVBUkdCUm93RG93bkV2ZW4gPSBmaWx0ZXJpbmcgPyBTY2FsZUFSR0JSb3dEb3duRXZlbkJveF9B
bnlfTVNBCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTY2FsZUFSR0JS
b3dEb3duRXZlbl9BbnlfTVNBOworICAgIGlmIChJU19BTElHTkVEKGRzdF93aWR0aCwgNCkpIHsK
KyAgICAgIFNjYWxlQVJHQlJvd0Rvd25FdmVuID0KKyAgICAgICAgICBmaWx0ZXJpbmcgPyBTY2Fs
ZUFSR0JSb3dEb3duRXZlbkJveF9NU0EgOiBTY2FsZUFSR0JSb3dEb3duRXZlbl9NU0E7CiAgICAg
fQogICB9CiAjZW5kaWYKQEAgLTE4NCwyNSArMjQ5LDMyIEBAIHN0YXRpYyB2b2lkIFNjYWxlQVJH
QkRvd25FdmVuKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogfQogCiAvLyBTY2FsZSBB
UkdCIGRvd24gd2l0aCBiaWxpbmVhciBpbnRlcnBvbGF0aW9uLgotc3RhdGljIHZvaWQgU2NhbGVB
UkdCQmlsaW5lYXJEb3duKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLCBpbnQgZHN0
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCog
c3JjX2FyZ2IsIHVpbnQ4KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeCwgaW50IGR4LCBpbnQgeSwgaW50IGR5LAorc3RhdGljIHZvaWQgU2NhbGVBUkdC
QmlsaW5lYXJEb3duKGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlk
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgewog
ICBpbnQgajsKLSAgdm9pZCAoKkludGVycG9sYXRlUm93KSh1aW50OCogZHN0X2FyZ2IsIGNvbnN0
IHVpbnQ4KiBzcmNfYXJnYiwKLSAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBpbnQgZHN0X3dp
ZHRoLCBpbnQgc291cmNlX3lfZnJhY3Rpb24pID0KLSAgICAgIEludGVycG9sYXRlUm93X0M7Ci0g
IHZvaWQgKCpTY2FsZUFSR0JGaWx0ZXJDb2xzKSh1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4
KiBzcmNfYXJnYiwKLSAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpID0KKyAgdm9p
ZCAoKkludGVycG9sYXRlUm93KSh1aW50OCAqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3JjX2Fy
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsIGludCBk
c3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNvdXJjZV95X2ZyYWN0aW9u
KSA9IEludGVycG9sYXRlUm93X0M7CisgIHZvaWQgKCpTY2FsZUFSR0JGaWx0ZXJDb2xzKSh1aW50
OCAqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSA9CiAgICAgICAoc3JjX3dp
ZHRoID49IDMyNzY4KSA/IFNjYWxlQVJHQkZpbHRlckNvbHM2NF9DIDogU2NhbGVBUkdCRmlsdGVy
Q29sc19DOwogICBpbnQ2NCB4bGFzdCA9IHggKyAoaW50NjQpKGRzdF93aWR0aCAtIDEpICogZHg7
CiAgIGludDY0IHhsID0gKGR4ID49IDApID8geCA6IHhsYXN0OwogICBpbnQ2NCB4ciA9IChkeCA+
PSAwKSA/IHhsYXN0IDogeDsKICAgaW50IGNsaXBfc3JjX3dpZHRoOwotICB4bCA9ICh4bCA+PiAx
NikgJiB+MzsgIC8vIExlZnQgZWRnZSBhbGlnbmVkLgotICB4ciA9ICh4ciA+PiAxNikgKyAxOyAg
Ly8gUmlnaHQgbW9zdCBwaXhlbCB1c2VkLiAgQmlsaW5lYXIgdXNlcyAyIHBpeGVscy4KKyAgeGwg
PSAoeGwgPj4gMTYpICYgfjM7ICAgIC8vIExlZnQgZWRnZSBhbGlnbmVkLgorICB4ciA9ICh4ciA+
PiAxNikgKyAxOyAgICAgLy8gUmlnaHQgbW9zdCBwaXhlbCB1c2VkLiAgQmlsaW5lYXIgdXNlcyAy
IHBpeGVscy4KICAgeHIgPSAoeHIgKyAxICsgMykgJiB+MzsgIC8vIDEgYmV5b25kIDQgcGl4ZWwg
YWxpZ25lZCByaWdodCBtb3N0IHBpeGVsLgogICBpZiAoeHIgPiBzcmNfd2lkdGgpIHsKICAgICB4
ciA9IHNyY193aWR0aDsKQEAgLTIzNSwxNCArMzA3LDIyIEBAIHN0YXRpYyB2b2lkIFNjYWxlQVJH
QkJpbGluZWFyRG93bihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgfQogI2VuZGlm
CiAjaWYgZGVmaW5lZChIQVNfSU5URVJQT0xBVEVST1dfRFNQUjIpCi0gIGlmIChUZXN0Q3B1Rmxh
ZyhrQ3B1SGFzRFNQUjIpICYmCi0gICAgICBJU19BTElHTkVEKHNyY19hcmdiLCA0KSAmJiBJU19B
TElHTkVEKHNyY19zdHJpZGUsIDQpKSB7CisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIp
ICYmIElTX0FMSUdORUQoc3JjX2FyZ2IsIDQpICYmCisgICAgICBJU19BTElHTkVEKHNyY19zdHJp
ZGUsIDQpKSB7CiAgICAgSW50ZXJwb2xhdGVSb3cgPSBJbnRlcnBvbGF0ZVJvd19BbnlfRFNQUjI7
CiAgICAgaWYgKElTX0FMSUdORUQoY2xpcF9zcmNfd2lkdGgsIDQpKSB7CiAgICAgICBJbnRlcnBv
bGF0ZVJvdyA9IEludGVycG9sYXRlUm93X0RTUFIyOwogICAgIH0KICAgfQogI2VuZGlmCisjaWYg
ZGVmaW5lZChIQVNfSU5URVJQT0xBVEVST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhh
c01TQSkpIHsKKyAgICBJbnRlcnBvbGF0ZVJvdyA9IEludGVycG9sYXRlUm93X0FueV9NU0E7Cisg
ICAgaWYgKElTX0FMSUdORUQoY2xpcF9zcmNfd2lkdGgsIDMyKSkgeworICAgICAgSW50ZXJwb2xh
dGVSb3cgPSBJbnRlcnBvbGF0ZVJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKICNpZiBkZWZp
bmVkKEhBU19TQ0FMRUFSR0JGSUxURVJDT0xTX1NTU0UzKQogICBpZiAoVGVzdENwdUZsYWcoa0Nw
dUhhc1NTU0UzKSAmJiBzcmNfd2lkdGggPCAzMjc2OCkgewogICAgIFNjYWxlQVJHQkZpbHRlckNv
bHMgPSBTY2FsZUFSR0JGaWx0ZXJDb2xzX1NTU0UzOwpAQCAtMjg2LDE4ICszNjYsMjUgQEAgc3Rh
dGljIHZvaWQgU2NhbGVBUkdCQmlsaW5lYXJEb3duKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVp
Z2h0LAogfQogCiAvLyBTY2FsZSBBUkdCIHVwIHdpdGggYmlsaW5lYXIgaW50ZXJwb2xhdGlvbi4K
LXN0YXRpYyB2b2lkIFNjYWxlQVJHQkJpbGluZWFyVXAoaW50IHNyY193aWR0aCwgaW50IHNyY19o
ZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGlu
dCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0
cmlkZSwgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwgdWludDgqIGRzdF9hcmdiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeCwgaW50IGR4LCBpbnQgeSwgaW50IGR5LAorc3RhdGljIHZvaWQg
U2NhbGVBUkdCQmlsaW5lYXJVcChpbnQgc3JjX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcpIHsKICAgaW50IGo7Ci0gIHZvaWQg
KCpJbnRlcnBvbGF0ZVJvdykodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2Is
Ci0gICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwgaW50IGRzdF93aWR0aCwgaW50IHNvdXJjZV95
X2ZyYWN0aW9uKSA9Ci0gICAgICBJbnRlcnBvbGF0ZVJvd19DOwotICB2b2lkICgqU2NhbGVBUkdC
RmlsdGVyQ29scykodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCi0gICAg
ICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSA9CisgIHZvaWQgKCpJbnRlcnBvbGF0ZVJv
dykodWludDggKiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBpbnQgZHN0X3dpZHRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzb3VyY2VfeV9mcmFjdGlvbikgPSBJbnRlcnBvbGF0ZVJv
d19DOworICB2b2lkICgqU2NhbGVBUkdCRmlsdGVyQ29scykodWludDggKiBkc3RfYXJnYiwgY29u
c3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCwgaW50IHgsIGludCBkeCkgPQogICAgICAgZmlsdGVyaW5nID8gU2NhbGVBUkdCRmls
dGVyQ29sc19DIDogU2NhbGVBUkdCQ29sc19DOwogICBjb25zdCBpbnQgbWF4X3kgPSAoc3JjX2hl
aWdodCAtIDEpIDw8IDE2OwogI2lmIGRlZmluZWQoSEFTX0lOVEVSUE9MQVRFUk9XX1NTU0UzKQpA
QCAtMzI1LDE0ICs0MTIsMjIgQEAgc3RhdGljIHZvaWQgU2NhbGVBUkdCQmlsaW5lYXJVcChpbnQg
c3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgfQogI2VuZGlmCiAjaWYgZGVmaW5lZChIQVNf
SU5URVJQT0xBVEVST1dfRFNQUjIpCi0gIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpICYm
Ci0gICAgICBJU19BTElHTkVEKGRzdF9hcmdiLCA0KSAmJiBJU19BTElHTkVEKGRzdF9zdHJpZGUs
IDQpKSB7CisgIGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzRFNQUjIpICYmIElTX0FMSUdORUQoZHN0
X2FyZ2IsIDQpICYmCisgICAgICBJU19BTElHTkVEKGRzdF9zdHJpZGUsIDQpKSB7CiAgICAgSW50
ZXJwb2xhdGVSb3cgPSBJbnRlcnBvbGF0ZVJvd19EU1BSMjsKICAgfQogI2VuZGlmCisjaWYgZGVm
aW5lZChIQVNfSU5URVJQT0xBVEVST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01T
QSkpIHsKKyAgICBJbnRlcnBvbGF0ZVJvdyA9IEludGVycG9sYXRlUm93X0FueV9NU0E7CisgICAg
aWYgKElTX0FMSUdORUQoZHN0X3dpZHRoLCA4KSkgeworICAgICAgSW50ZXJwb2xhdGVSb3cgPSBJ
bnRlcnBvbGF0ZVJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKICAgaWYgKHNyY193aWR0aCA+
PSAzMjc2OCkgewotICAgIFNjYWxlQVJHQkZpbHRlckNvbHMgPSBmaWx0ZXJpbmcgPwotICAgICAg
ICBTY2FsZUFSR0JGaWx0ZXJDb2xzNjRfQyA6IFNjYWxlQVJHQkNvbHM2NF9DOworICAgIFNjYWxl
QVJHQkZpbHRlckNvbHMgPQorICAgICAgICBmaWx0ZXJpbmcgPyBTY2FsZUFSR0JGaWx0ZXJDb2xz
NjRfQyA6IFNjYWxlQVJHQkNvbHM2NF9DOwogICB9CiAjaWYgZGVmaW5lZChIQVNfU0NBTEVBUkdC
RklMVEVSQ09MU19TU1NFMykKICAgaWYgKGZpbHRlcmluZyAmJiBUZXN0Q3B1RmxhZyhrQ3B1SGFz
U1NTRTMpICYmIHNyY193aWR0aCA8IDMyNzY4KSB7CkBAIC00MjMsOCArNTE4LDEwIEBAIHN0YXRp
YyB2b2lkIFNjYWxlQVJHQkJpbGluZWFyVXAoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQs
CiAKICNpZmRlZiBZVVZTQ0FMRVVQCiAvLyBTY2FsZSBZVVYgdG8gQVJHQiB1cCB3aXRoIGJpbGlu
ZWFyIGludGVycG9sYXRpb24uCi1zdGF0aWMgdm9pZCBTY2FsZVlVVlRvQVJHQkJpbGluZWFyVXAo
aW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQsCitzdGF0aWMgdm9pZCBT
Y2FsZVlVVlRvQVJHQkJpbGluZWFyVXAoaW50IHNyY193aWR0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfc3RyaWRlX3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNyY19zdHJpZGVfdSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV92LApAQCAtNDMzLDE0ICs1MzAsMTUgQEAgc3RhdGljIHZv
aWQgU2NhbGVZVVZUb0FSR0JCaWxpbmVhclVwKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
dSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3Jj
X3YsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LCBpbnQgZHgsIGlu
dCB5LCBpbnQgZHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBkeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5nKSB7CiAgIGludCBqOwotICB2b2lkICgqSTQy
MlRvQVJHQlJvdykoY29uc3QgdWludDgqIHlfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDgqIHVfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHZfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIHJnYl9idWYsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpID0gSTQyMlRvQVJHQlJvd19DOworICB2b2lkICgq
STQyMlRvQVJHQlJvdykoY29uc3QgdWludDgqIHlfYnVmLCBjb25zdCB1aW50OCogdV9idWYsCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogdl9idWYsIHVpbnQ4KiByZ2JfYnVm
LCBpbnQgd2lkdGgpID0KKyAgICAgIEk0MjJUb0FSR0JSb3dfQzsKICNpZiBkZWZpbmVkKEhBU19J
NDIyVE9BUkdCUk9XX1NTU0UzKQogICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc1NTU0UzKSkgewog
ICAgIEk0MjJUb0FSR0JSb3cgPSBJNDIyVG9BUkdCUm93X0FueV9TU1NFMzsKQEAgLTQ3NCwxMCAr
NTcyLDE4IEBAIHN0YXRpYyB2b2lkIFNjYWxlWVVWVG9BUkdCQmlsaW5lYXJVcChpbnQgc3JjX3dp
ZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgICBJNDIyVG9BUkdCUm93ID0gSTQyMlRvQVJHQlJvd19E
U1BSMjsKICAgfQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNfSTQyMlRPQVJHQlJPV19NU0EpCisg
IGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEk0MjJUb0FSR0JSb3cgPSBJNDIy
VG9BUkdCUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FMSUdORUQoc3JjX3dpZHRoLCA4KSkgewor
ICAgICAgSTQyMlRvQVJHQlJvdyA9IEk0MjJUb0FSR0JSb3dfTVNBOworICAgIH0KKyAgfQorI2Vu
ZGlmCiAKLSAgdm9pZCAoKkludGVycG9sYXRlUm93KSh1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKLSAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBpbnQgZHN0X3dpZHRo
LCBpbnQgc291cmNlX3lfZnJhY3Rpb24pID0KLSAgICAgIEludGVycG9sYXRlUm93X0M7CisgIHZv
aWQgKCpJbnRlcnBvbGF0ZVJvdykodWludDggKiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19h
cmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLCBpbnQg
ZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb3VyY2VfeV9mcmFjdGlv
bikgPSBJbnRlcnBvbGF0ZVJvd19DOwogI2lmIGRlZmluZWQoSEFTX0lOVEVSUE9MQVRFUk9XX1NT
U0UzKQogICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc1NTU0UzKSkgewogICAgIEludGVycG9sYXRl
Um93ID0gSW50ZXJwb2xhdGVSb3dfQW55X1NTU0UzOwpAQCAtNTAzLDE4ICs2MDksMjYgQEAgc3Rh
dGljIHZvaWQgU2NhbGVZVVZUb0FSR0JCaWxpbmVhclVwKGludCBzcmNfd2lkdGgsIGludCBzcmNf
aGVpZ2h0LAogICB9CiAjZW5kaWYKICNpZiBkZWZpbmVkKEhBU19JTlRFUlBPTEFURVJPV19EU1BS
MikKLSAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikgJiYKLSAgICAgIElTX0FMSUdORUQo
ZHN0X2FyZ2IsIDQpICYmIElTX0FMSUdORUQoZHN0X3N0cmlkZV9hcmdiLCA0KSkgeworICBpZiAo
VGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKSAmJiBJU19BTElHTkVEKGRzdF9hcmdiLCA0KSAmJgor
ICAgICAgSVNfQUxJR05FRChkc3Rfc3RyaWRlX2FyZ2IsIDQpKSB7CiAgICAgSW50ZXJwb2xhdGVS
b3cgPSBJbnRlcnBvbGF0ZVJvd19EU1BSMjsKICAgfQogI2VuZGlmCisjaWYgZGVmaW5lZChIQVNf
SU5URVJQT0xBVEVST1dfTVNBKQorICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc01TQSkpIHsKKyAg
ICBJbnRlcnBvbGF0ZVJvdyA9IEludGVycG9sYXRlUm93X0FueV9NU0E7CisgICAgaWYgKElTX0FM
SUdORUQoZHN0X3dpZHRoLCA4KSkgeworICAgICAgSW50ZXJwb2xhdGVSb3cgPSBJbnRlcnBvbGF0
ZVJvd19NU0E7CisgICAgfQorICB9CisjZW5kaWYKIAotICB2b2lkICgqU2NhbGVBUkdCRmlsdGVy
Q29scykodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCi0gICAgICBpbnQg
ZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSA9CisgIHZvaWQgKCpTY2FsZUFSR0JGaWx0ZXJDb2xz
KSh1aW50OCAqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSA9CiAgICAgICBm
aWx0ZXJpbmcgPyBTY2FsZUFSR0JGaWx0ZXJDb2xzX0MgOiBTY2FsZUFSR0JDb2xzX0M7CiAgIGlm
IChzcmNfd2lkdGggPj0gMzI3NjgpIHsKLSAgICBTY2FsZUFSR0JGaWx0ZXJDb2xzID0gZmlsdGVy
aW5nID8KLSAgICAgICAgU2NhbGVBUkdCRmlsdGVyQ29sczY0X0MgOiBTY2FsZUFSR0JDb2xzNjRf
QzsKKyAgICBTY2FsZUFSR0JGaWx0ZXJDb2xzID0KKyAgICAgICAgZmlsdGVyaW5nID8gU2NhbGVB
UkdCRmlsdGVyQ29sczY0X0MgOiBTY2FsZUFSR0JDb2xzNjRfQzsKICAgfQogI2lmIGRlZmluZWQo
SEFTX1NDQUxFQVJHQkZJTFRFUkNPTFNfU1NTRTMpCiAgIGlmIChmaWx0ZXJpbmcgJiYgVGVzdENw
dUZsYWcoa0NwdUhhc1NTU0UzKSAmJiBzcmNfd2lkdGggPCAzMjc2OCkgewpAQCAtNjM1LDE1ICs3
NDksMjMgQEAgc3RhdGljIHZvaWQgU2NhbGVZVVZUb0FSR0JCaWxpbmVhclVwKGludCBzcmNfd2lk
dGgsIGludCBzcmNfaGVpZ2h0LAogLy8gb2YgeCBhbmQgZHggaXMgdGhlIGludGVnZXIgcGFydCBv
ZiB0aGUgc291cmNlIHBvc2l0aW9uIGFuZAogLy8gdGhlIGxvd2VyIDE2IGJpdHMgYXJlIHRoZSBm
aXhlZCBkZWNpbWFsIHBhcnQuCiAKLXN0YXRpYyB2b2lkIFNjYWxlQVJHQlNpbXBsZShpbnQgc3Jj
X3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0cmlkZSwgaW50IGRzdF9zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHgsIGludCBkeCwgaW50IHksIGludCBkeSkgeworc3RhdGljIHZv
aWQgU2NhbGVBUkdCU2ltcGxlKGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHNyY19oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHkpIHsKICAgaW50IGo7
Ci0gIHZvaWQgKCpTY2FsZUFSR0JDb2xzKSh1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBz
cmNfYXJnYiwKLSAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpID0KKyAgdm9pZCAo
KlNjYWxlQVJHQkNvbHMpKHVpbnQ4ICogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwg
aW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LCBpbnQgZHgpID0K
ICAgICAgIChzcmNfd2lkdGggPj0gMzI3NjgpID8gU2NhbGVBUkdCQ29sczY0X0MgOiBTY2FsZUFS
R0JDb2xzX0M7CisgICh2b2lkKXNyY19oZWlnaHQ7CiAjaWYgZGVmaW5lZChIQVNfU0NBTEVBUkdC
Q09MU19TU0UyKQogICBpZiAoVGVzdENwdUZsYWcoa0NwdUhhc1NTRTIpICYmIHNyY193aWR0aCA8
IDMyNzY4KSB7CiAgICAgU2NhbGVBUkdCQ29scyA9IFNjYWxlQVJHQkNvbHNfU1NFMjsKQEAgLTY2
Nyw4ICs3ODksOCBAQCBzdGF0aWMgdm9pZCBTY2FsZUFSR0JTaW1wbGUoaW50IHNyY193aWR0aCwg
aW50IHNyY19oZWlnaHQsCiAgIH0KIAogICBmb3IgKGogPSAwOyBqIDwgZHN0X2hlaWdodDsgKytq
KSB7Ci0gICAgU2NhbGVBUkdCQ29scyhkc3RfYXJnYiwgc3JjX2FyZ2IgKyAoeSA+PiAxNikgKiBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgZHN0X3dpZHRoLCB4LCBkeCk7CisgICAgU2Nh
bGVBUkdCQ29scyhkc3RfYXJnYiwgc3JjX2FyZ2IgKyAoeSA+PiAxNikgKiBzcmNfc3RyaWRlLCBk
c3Rfd2lkdGgsIHgsCisgICAgICAgICAgICAgICAgICBkeCk7CiAgICAgZHN0X2FyZ2IgKz0gZHN0
X3N0cmlkZTsKICAgICB5ICs9IGR5OwogICB9CkBAIC02NzcsMTEgKzc5OSwxOCBAQCBzdGF0aWMg
dm9pZCBTY2FsZUFSR0JTaW1wbGUoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAvLyBT
Y2FsZUFSR0IgYSBBUkdCLgogLy8gVGhpcyBmdW5jdGlvbiBpbiB0dXJuIGNhbGxzIGEgc2NhbGlu
ZyBmdW5jdGlvbgogLy8gc3VpdGFibGUgZm9yIGhhbmRsaW5nIHRoZSBkZXNpcmVkIHJlc29sdXRp
b25zLgotc3RhdGljIHZvaWQgU2NhbGVBUkdCKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3Ry
aWRlLAotICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0
LAotICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAotICAgICAg
ICAgICAgICAgICAgICAgIGludCBjbGlwX3gsIGludCBjbGlwX3ksIGludCBjbGlwX3dpZHRoLCBp
bnQgY2xpcF9oZWlnaHQsCitzdGF0aWMgdm9pZCBTY2FsZUFSR0IoY29uc3QgdWludDgqIHNyYywK
KyAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0
LAorICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwK
KyAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAg
ICAgICBpbnQgY2xpcF94LAorICAgICAgICAgICAgICAgICAgICAgIGludCBjbGlwX3ksCisgICAg
ICAgICAgICAgICAgICAgICAgaW50IGNsaXBfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAg
aW50IGNsaXBfaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBm
aWx0ZXJpbmcpIHsKICAgLy8gSW5pdGlhbCBzb3VyY2UgeC95IGNvb3JkaW5hdGUgYW5kIHN0ZXAg
dmFsdWVzIGFzIDE2LjE2IGZpeGVkIHBvaW50LgogICBpbnQgeCA9IDA7CkBAIC02OTAsOCArODE5
LDcgQEAgc3RhdGljIHZvaWQgU2NhbGVBUkdCKGNvbnN0IHVpbnQ4KiBzcmMsIGludCBzcmNfc3Ry
aWRlLAogICBpbnQgZHkgPSAwOwogICAvLyBBUkdCIGRvZXMgbm90IHN1cHBvcnQgYm94IGZpbHRl
ciB5ZXQsIGJ1dCBhbGxvdyB0aGUgdXNlciB0byBwYXNzIGl0LgogICAvLyBTaW1wbGlmeSBmaWx0
ZXJpbmcgd2hlbiBwb3NzaWJsZS4KLSAgZmlsdGVyaW5nID0gU2NhbGVGaWx0ZXJSZWR1Y2Uoc3Jj
X3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rf
d2lkdGgsIGRzdF9oZWlnaHQsCisgIGZpbHRlcmluZyA9IFNjYWxlRmlsdGVyUmVkdWNlKHNyY193
aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmaWx0ZXJpbmcpOwogCiAgIC8vIE5lZ2F0aXZlIHNyY19oZWlnaHQg
bWVhbnMgaW52ZXJ0IHRoZSBpbWFnZS4KQEAgLTcwMCwxNyArODI4LDE3IEBAIHN0YXRpYyB2b2lk
IFNjYWxlQVJHQihjb25zdCB1aW50OCogc3JjLCBpbnQgc3JjX3N0cmlkZSwKICAgICBzcmMgPSBz
cmMgKyAoc3JjX2hlaWdodCAtIDEpICogc3JjX3N0cmlkZTsKICAgICBzcmNfc3RyaWRlID0gLXNy
Y19zdHJpZGU7CiAgIH0KLSAgU2NhbGVTbG9wZShzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF93
aWR0aCwgZHN0X2hlaWdodCwgZmlsdGVyaW5nLAotICAgICAgICAgICAgICZ4LCAmeSwgJmR4LCAm
ZHkpOworICBTY2FsZVNsb3BlKHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3Rf
aGVpZ2h0LCBmaWx0ZXJpbmcsICZ4LCAmeSwKKyAgICAgICAgICAgICAmZHgsICZkeSk7CiAgIHNy
Y193aWR0aCA9IEFicyhzcmNfd2lkdGgpOwogICBpZiAoY2xpcF94KSB7Ci0gICAgaW50NjQgY2xp
cGYgPSAoaW50NjQpKGNsaXBfeCkgKiBkeDsKKyAgICBpbnQ2NCBjbGlwZiA9IChpbnQ2NCkoY2xp
cF94KSpkeDsKICAgICB4ICs9IChjbGlwZiAmIDB4ZmZmZik7CiAgICAgc3JjICs9IChjbGlwZiA+
PiAxNikgKiA0OwogICAgIGRzdCArPSBjbGlwX3ggKiA0OwogICB9CiAgIGlmIChjbGlwX3kpIHsK
LSAgICBpbnQ2NCBjbGlwZiA9IChpbnQ2NCkoY2xpcF95KSAqIGR5OworICAgIGludDY0IGNsaXBm
ID0gKGludDY0KShjbGlwX3kpKmR5OwogICAgIHkgKz0gKGNsaXBmICYgMHhmZmZmKTsKICAgICBz
cmMgKz0gKGNsaXBmID4+IDE2KSAqIHNyY19zdHJpZGU7CiAgICAgZHN0ICs9IGNsaXBfeSAqIGRz
dF9zdHJpZGU7CkBAIC03MjUsMjQgKzg1MywyMCBAQCBzdGF0aWMgdm9pZCBTY2FsZUFSR0IoY29u
c3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgICAgICBpZiAoIShkeCAmIDB4MTAwMDAp
ICYmICEoZHkgJiAweDEwMDAwKSkgewogICAgICAgICBpZiAoZHggPT0gMHgyMDAwMCkgewogICAg
ICAgICAgIC8vIE9wdGltaXplZCAxLzIgZG93bnNhbXBsZS4KLSAgICAgICAgICBTY2FsZUFSR0JE
b3duMihzcmNfd2lkdGgsIHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY2xp
cF93aWR0aCwgY2xpcF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlk
ZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgeCwgZHgs
IHksIGR5LCBmaWx0ZXJpbmcpOworICAgICAgICAgIFNjYWxlQVJHQkRvd24yKHNyY193aWR0aCwg
c3JjX2hlaWdodCwgY2xpcF93aWR0aCwgY2xpcF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgc3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3QsIHgsIGR4LCB5LCBkeSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJpbmcpOwogICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogICAgICAgICBpZiAoZHggPT0gMHg0MDAwMCAmJiBmaWx0ZXJpbmcgPT0ga0ZpbHRl
ckJveCkgewogICAgICAgICAgIC8vIE9wdGltaXplZCAxLzQgYm94IGRvd25zYW1wbGUuCi0gICAg
ICAgICAgU2NhbGVBUkdCRG93bjRCb3goc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaXBfd2lkdGgsIGNsaXBfaGVpZ2h0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNyY19zdHJpZGUsIGRzdF9zdHJpZGUsIHNyYywgZHN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHgsIGR4LCB5LCBkeSk7CisgICAgICAgICAgU2NhbGVBUkdC
RG93bjRCb3goc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBjbGlwX3dpZHRoLCBjbGlwX2hlaWdodCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCBkc3Rfc3RyaWRlLCBzcmMs
IGRzdCwgeCwgZHgsIHksIGR5KTsKICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAg
ICAgU2NhbGVBUkdCRG93bkV2ZW4oc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBjbGlwX3dpZHRoLCBjbGlwX2hlaWdodCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBkc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHgsIGR4LCB5LCBkeSwgZmlsdGVyaW5nKTsKKyAgICAgICAgU2NhbGVBUkdC
RG93bkV2ZW4oc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBjbGlwX3dpZHRoLCBjbGlwX2hlaWdodCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3N0cmlkZSwgZHN0X3N0cmlkZSwgc3JjLCBk
c3QsIHgsIGR4LCB5LCBkeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyaW5nKTsK
ICAgICAgICAgcmV0dXJuOwogICAgICAgfQogICAgICAgLy8gT3B0aW1pemVkIG9kZCBzY2FsZSBk
b3duLiBpZSAzLCA1LCA3LCA5eC4KQEAgLTc1OSw5NiArODgzLDEwNSBAQCBzdGF0aWMgdm9pZCBT
Y2FsZUFSR0IoY29uc3QgdWludDgqIHNyYywgaW50IHNyY19zdHJpZGUsCiAgIH0KICAgaWYgKGR4
ID09IDB4MTAwMDAgJiYgKHggJiAweGZmZmYpID09IDApIHsKICAgICAvLyBBcmJpdHJhcnkgc2Nh
bGUgdmVydGljYWxseSwgYnV0IHVuc2NhbGVkIHZlcnRpY2FsbHkuCi0gICAgU2NhbGVQbGFuZVZl
cnRpY2FsKHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgIGNsaXBfd2lkdGgsIGNs
aXBfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCBkc3Rfc3RyaWRl
LCBzcmMsIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgeCwgeSwgZHksIDQsIGZpbHRlcmlu
Zyk7CisgICAgU2NhbGVQbGFuZVZlcnRpY2FsKHNyY19oZWlnaHQsIGNsaXBfd2lkdGgsIGNsaXBf
aGVpZ2h0LCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICBkc3Rfc3RyaWRlLCBz
cmMsIGRzdCwgeCwgeSwgZHksIDQsIGZpbHRlcmluZyk7CiAgICAgcmV0dXJuOwogICB9CiAgIGlm
IChmaWx0ZXJpbmcgJiYgZHkgPCA2NTUzNikgewotICAgIFNjYWxlQVJHQkJpbGluZWFyVXAoc3Jj
X3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgY2xpcF93aWR0aCwg
Y2xpcF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCBkc3Rfc3Ry
aWRlLCBzcmMsIGRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHgsIGR4LCB5LCBkeSwgZmls
dGVyaW5nKTsKKyAgICBTY2FsZUFSR0JCaWxpbmVhclVwKHNyY193aWR0aCwgc3JjX2hlaWdodCwg
Y2xpcF93aWR0aCwgY2xpcF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3Ry
aWRlLCBkc3Rfc3RyaWRlLCBzcmMsIGRzdCwgeCwgZHgsIHksIGR5LAorICAgICAgICAgICAgICAg
ICAgICAgICAgZmlsdGVyaW5nKTsKICAgICByZXR1cm47CiAgIH0KICAgaWYgKGZpbHRlcmluZykg
ewotICAgIFNjYWxlQVJHQkJpbGluZWFyRG93bihzcmNfd2lkdGgsIHNyY19oZWlnaHQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGNsaXBfd2lkdGgsIGNsaXBfaGVpZ2h0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCBkc3Rfc3RyaWRlLCBzcmMsIGRzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgeCwgZHgsIHksIGR5LCBmaWx0ZXJpbmcpOworICAgIFNjYWxl
QVJHQkJpbGluZWFyRG93bihzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGNsaXBfd2lkdGgsIGNsaXBf
aGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RyaWRlLCBkc3Rfc3RyaWRl
LCBzcmMsIGRzdCwgeCwgZHgsIHksIGR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0
ZXJpbmcpOwogICAgIHJldHVybjsKICAgfQotICBTY2FsZUFSR0JTaW1wbGUoc3JjX3dpZHRoLCBz
cmNfaGVpZ2h0LCBjbGlwX3dpZHRoLCBjbGlwX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgIHNy
Y19zdHJpZGUsIGRzdF9zdHJpZGUsIHNyYywgZHN0LAotICAgICAgICAgICAgICAgICAgeCwgZHgs
IHksIGR5KTsKKyAgU2NhbGVBUkdCU2ltcGxlKHNyY193aWR0aCwgc3JjX2hlaWdodCwgY2xpcF93
aWR0aCwgY2xpcF9oZWlnaHQsIHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICBkc3Rfc3Ry
aWRlLCBzcmMsIGRzdCwgeCwgZHgsIHksIGR5KTsKIH0KIAogTElCWVVWX0FQSQotaW50IEFSR0JT
Y2FsZUNsaXAoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9hcmdiLAotICAg
ICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAg
IGludCBjbGlwX3gsIGludCBjbGlwX3ksIGludCBjbGlwX3dpZHRoLCBpbnQgY2xpcF9oZWlnaHQs
CitpbnQgQVJHQlNjYWxlQ2xpcChjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAg
ICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0
aCwKKyAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVfYXJnYiwK
KyAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgIGludCBjbGlwX3gsCisgICAgICAgICAgICAg
ICAgICBpbnQgY2xpcF95LAorICAgICAgICAgICAgICAgICAgaW50IGNsaXBfd2lkdGgsCisgICAg
ICAgICAgICAgICAgICBpbnQgY2xpcF9oZWlnaHQsCiAgICAgICAgICAgICAgICAgICBlbnVtIEZp
bHRlck1vZGUgZmlsdGVyaW5nKSB7Ci0gIGlmICghc3JjX2FyZ2IgfHwgc3JjX3dpZHRoID09IDAg
fHwgc3JjX2hlaWdodCA9PSAwIHx8Ci0gICAgICAhZHN0X2FyZ2IgfHwgZHN0X3dpZHRoIDw9IDAg
fHwgZHN0X2hlaWdodCA8PSAwIHx8Ci0gICAgICBjbGlwX3ggPCAwIHx8IGNsaXBfeSA8IDAgfHwK
KyAgaWYgKCFzcmNfYXJnYiB8fCBzcmNfd2lkdGggPT0gMCB8fCBzcmNfaGVpZ2h0ID09IDAgfHwg
IWRzdF9hcmdiIHx8CisgICAgICBkc3Rfd2lkdGggPD0gMCB8fCBkc3RfaGVpZ2h0IDw9IDAgfHwg
Y2xpcF94IDwgMCB8fCBjbGlwX3kgPCAwIHx8CiAgICAgICBjbGlwX3dpZHRoID4gMzI3NjggfHwg
Y2xpcF9oZWlnaHQgPiAzMjc2OCB8fAogICAgICAgKGNsaXBfeCArIGNsaXBfd2lkdGgpID4gZHN0
X3dpZHRoIHx8CiAgICAgICAoY2xpcF95ICsgY2xpcF9oZWlnaHQpID4gZHN0X2hlaWdodCkgewog
ICAgIHJldHVybiAtMTsKICAgfQotICBTY2FsZUFSR0Ioc3JjX2FyZ2IsIHNyY19zdHJpZGVfYXJn
Yiwgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgZHN0X2FyZ2IsIGRzdF9zdHJp
ZGVfYXJnYiwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgY2xpcF94LCBjbGlw
X3ksIGNsaXBfd2lkdGgsIGNsaXBfaGVpZ2h0LCBmaWx0ZXJpbmcpOworICBTY2FsZUFSR0Ioc3Jj
X2FyZ2IsIHNyY19zdHJpZGVfYXJnYiwgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3RfYXJnYiwK
KyAgICAgICAgICAgIGRzdF9zdHJpZGVfYXJnYiwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBjbGlw
X3gsIGNsaXBfeSwgY2xpcF93aWR0aCwKKyAgICAgICAgICAgIGNsaXBfaGVpZ2h0LCBmaWx0ZXJp
bmcpOwogICByZXR1cm4gMDsKIH0KIAogLy8gU2NhbGUgYW4gQVJHQiBpbWFnZS4KIExJQllVVl9B
UEkKLWludCBBUkdCU2NhbGUoY29uc3QgdWludDgqIHNyY19hcmdiLCBpbnQgc3JjX3N0cmlkZV9h
cmdiLAotICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAg
ICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKK2ludCBBUkdCU2NhbGUoY29uc3Qg
dWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV9hcmdiLAorICAg
ICAgICAgICAgICBpbnQgc3JjX3dpZHRoLAorICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwK
KyAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICBpbnQgZHN0X3N0
cmlkZV9hcmdiLAorICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICBp
bnQgZHN0X2hlaWdodCwKICAgICAgICAgICAgICAgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykg
ewotICBpZiAoIXNyY19hcmdiIHx8IHNyY193aWR0aCA9PSAwIHx8IHNyY19oZWlnaHQgPT0gMCB8
fAotICAgICAgc3JjX3dpZHRoID4gMzI3NjggfHwgc3JjX2hlaWdodCA+IDMyNzY4IHx8Ci0gICAg
ICAhZHN0X2FyZ2IgfHwgZHN0X3dpZHRoIDw9IDAgfHwgZHN0X2hlaWdodCA8PSAwKSB7CisgIGlm
ICghc3JjX2FyZ2IgfHwgc3JjX3dpZHRoID09IDAgfHwgc3JjX2hlaWdodCA9PSAwIHx8IHNyY193
aWR0aCA+IDMyNzY4IHx8CisgICAgICBzcmNfaGVpZ2h0ID4gMzI3NjggfHwgIWRzdF9hcmdiIHx8
IGRzdF93aWR0aCA8PSAwIHx8IGRzdF9oZWlnaHQgPD0gMCkgewogICAgIHJldHVybiAtMTsKICAg
fQotICBTY2FsZUFSR0Ioc3JjX2FyZ2IsIHNyY19zdHJpZGVfYXJnYiwgc3JjX3dpZHRoLCBzcmNf
aGVpZ2h0LAotICAgICAgICAgICAgZHN0X2FyZ2IsIGRzdF9zdHJpZGVfYXJnYiwgZHN0X3dpZHRo
LCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgMCwgMCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBm
aWx0ZXJpbmcpOworICBTY2FsZUFSR0Ioc3JjX2FyZ2IsIHNyY19zdHJpZGVfYXJnYiwgc3JjX3dp
ZHRoLCBzcmNfaGVpZ2h0LCBkc3RfYXJnYiwKKyAgICAgICAgICAgIGRzdF9zdHJpZGVfYXJnYiwg
ZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCAwLCAwLCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsCisgICAg
ICAgICAgICBmaWx0ZXJpbmcpOwogICByZXR1cm4gMDsKIH0KIAogLy8gU2NhbGUgd2l0aCBZVVYg
Y29udmVyc2lvbiB0byBBUkdCIGFuZCBjbGlwcGluZy4KIExJQllVVl9BUEkKLWludCBZVVZUb0FS
R0JTY2FsZUNsaXAoY29uc3QgdWludDgqIHNyY195LCBpbnQgc3JjX3N0cmlkZV95LAotICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3UsIGludCBzcmNfc3RyaWRlX3UsCi0g
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwgaW50IHNyY19zdHJpZGVf
diwKK2ludCBZVVZUb0FSR0JTY2FsZUNsaXAoY29uc3QgdWludDgqIHNyY195LAorICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0cmlkZV95LAorICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3UsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRl
X3UsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfdiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfdiwKICAgICAgICAgICAgICAgICAgICAgICAg
dWludDMyIHNyY19mb3VyY2MsCi0gICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2lkdGgs
IGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
IGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfd2lk
dGgsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBk
c3Rfc3RyaWRlX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMiBkc3RfZm91cmNj
LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwK
LSAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsaXBfeCwgaW50IGNsaXBfeSwgaW50IGNsaXBf
d2lkdGgsIGludCBjbGlwX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQsCisgICAgICAgICAg
ICAgICAgICAgICAgIGludCBjbGlwX3gsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBjbGlw
X3ksCisgICAgICAgICAgICAgICAgICAgICAgIGludCBjbGlwX3dpZHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgY2xpcF9oZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgIGVudW0g
RmlsdGVyTW9kZSBmaWx0ZXJpbmcpIHsKICAgdWludDgqIGFyZ2JfYnVmZmVyID0gKHVpbnQ4Kilt
YWxsb2Moc3JjX3dpZHRoICogc3JjX2hlaWdodCAqIDQpOwogICBpbnQgcjsKLSAgSTQyMFRvQVJH
QihzcmNfeSwgc3JjX3N0cmlkZV95LAotICAgICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3Us
Ci0gICAgICAgICAgICAgc3JjX3YsIHNyY19zdHJpZGVfdiwKLSAgICAgICAgICAgICBhcmdiX2J1
ZmZlciwgc3JjX3dpZHRoICogNCwKLSAgICAgICAgICAgICBzcmNfd2lkdGgsIHNyY19oZWlnaHQp
OwotCi0gIHIgPSBBUkdCU2NhbGVDbGlwKGFyZ2JfYnVmZmVyLCBzcmNfd2lkdGggKiA0LAotICAg
ICAgICAgICAgICAgICAgICBzcmNfd2lkdGgsIHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAg
ICAgIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgIGRzdF93
aWR0aCwgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgY2xpcF94LCBjbGlwX3ksIGNs
aXBfd2lkdGgsIGNsaXBfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICBmaWx0ZXJpbmcpOwor
ICAodm9pZClzcmNfZm91cmNjOyAgLy8gVE9ETyhmYmFyY2hhcmQpOiBpbXBsZW1lbnQgYW5kL29y
IGFzc2VydC4KKyAgKHZvaWQpZHN0X2ZvdXJjYzsKKyAgSTQyMFRvQVJHQihzcmNfeSwgc3JjX3N0
cmlkZV95LCBzcmNfdSwgc3JjX3N0cmlkZV91LCBzcmNfdiwgc3JjX3N0cmlkZV92LAorICAgICAg
ICAgICAgIGFyZ2JfYnVmZmVyLCBzcmNfd2lkdGggKiA0LCBzcmNfd2lkdGgsIHNyY19oZWlnaHQp
OworCisgIHIgPSBBUkdCU2NhbGVDbGlwKGFyZ2JfYnVmZmVyLCBzcmNfd2lkdGggKiA0LCBzcmNf
d2lkdGgsIHNyY19oZWlnaHQsIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICBkc3Rfc3Ry
aWRlX2FyZ2IsIGRzdF93aWR0aCwgZHN0X2hlaWdodCwgY2xpcF94LCBjbGlwX3ksCisgICAgICAg
ICAgICAgICAgICAgIGNsaXBfd2lkdGgsIGNsaXBfaGVpZ2h0LCBmaWx0ZXJpbmcpOwogICBmcmVl
KGFyZ2JfYnVmZmVyKTsKICAgcmV0dXJuIHI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfY29t
bW9uLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvc291cmNlL3NjYWxlX2NvbW1vbi5jYwppbmRleCBlOWM0ZWZmOTM1Y2Y0NmVkY2Y4Nzdh
ZmZmY2NlMGIwNTU4NWMzNjUwLi4xYmVmMzlkZjg3ZTMzOThjNzE2OTRjYmI2ZGRlOGJmMmU0NjE5
NTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfY29tbW9uLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9zY2FsZV9jb21t
b24uY2MKQEAgLTI4LDkgKzI4LDEyIEBAIHN0YXRpYyBfX2lubGluZSBpbnQgQWJzKGludCB2KSB7
CiB9CiAKIC8vIENQVSBhZ25vc3RpYyByb3cgZnVuY3Rpb25zCi12b2lkIFNjYWxlUm93RG93bjJf
Qyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93
bjJfQyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgaW50IHg7CisgICh2b2lkKXNyY19zdHJp
ZGU7CiAgIGZvciAoeCA9IDA7IHggPCBkc3Rfd2lkdGggLSAxOyB4ICs9IDIpIHsKICAgICBkc3Rb
MF0gPSBzcmNfcHRyWzFdOwogICAgIGRzdFsxXSA9IHNyY19wdHJbM107CkBAIC00Miw5ICs0NSwx
MiBAQCB2b2lkIFNjYWxlUm93RG93bjJfQyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90
IHNyY19zdHJpZGUsCiAgIH0KIH0KIAotdm9pZCBTY2FsZVJvd0Rvd24yXzE2X0MoY29uc3QgdWlu
dDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQxNiogZHN0LCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93bjJfMTZf
Qyhjb25zdCB1aW50MTYqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0LAorICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBpbnQgeDsKKyAgKHZvaWQp
c3JjX3N0cmlkZTsKICAgZm9yICh4ID0gMDsgeCA8IGRzdF93aWR0aCAtIDE7IHggKz0gMikgewog
ICAgIGRzdFswXSA9IHNyY19wdHJbMV07CiAgICAgZHN0WzFdID0gc3JjX3B0clszXTsKQEAgLTU2
LDEwICs2MiwxMyBAQCB2b2lkIFNjYWxlUm93RG93bjJfMTZfQyhjb25zdCB1aW50MTYqIHNyY19w
dHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICB9CiB9CiAKLXZvaWQgU2NhbGVSb3dEb3duMkxp
bmVhcl9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQg
U2NhbGVSb3dEb3duMkxpbmVhcl9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93
aWR0aCkgewogICBjb25zdCB1aW50OCogcyA9IHNyY19wdHI7CiAgIGludCB4OworICAodm9pZClz
cmNfc3RyaWRlOwogICBmb3IgKHggPSAwOyB4IDwgZHN0X3dpZHRoIC0gMTsgeCArPSAyKSB7CiAg
ICAgZHN0WzBdID0gKHNbMF0gKyBzWzFdICsgMSkgPj4gMTsKICAgICBkc3RbMV0gPSAoc1syXSAr
IHNbM10gKyAxKSA+PiAxOwpAQCAtNzEsMTAgKzgwLDEzIEBAIHZvaWQgU2NhbGVSb3dEb3duMkxp
bmVhcl9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgfQog
fQogCi12b2lkIFNjYWxlUm93RG93bjJMaW5lYXJfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIs
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDE2KiBkc3QsIGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl8xNl9D
KGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2
KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAg
IGNvbnN0IHVpbnQxNiogcyA9IHNyY19wdHI7CiAgIGludCB4OworICAodm9pZClzcmNfc3RyaWRl
OwogICBmb3IgKHggPSAwOyB4IDwgZHN0X3dpZHRoIC0gMTsgeCArPSAyKSB7CiAgICAgZHN0WzBd
ID0gKHNbMF0gKyBzWzFdICsgMSkgPj4gMTsKICAgICBkc3RbMV0gPSAoc1syXSArIHNbM10gKyAx
KSA+PiAxOwpAQCAtODYsOCArOTgsMTAgQEAgdm9pZCBTY2FsZVJvd0Rvd24yTGluZWFyXzE2X0Mo
Y29uc3QgdWludDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgfQogfQogCi12
b2lkIFNjYWxlUm93RG93bjJCb3hfQyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dp
ZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93bjJCb3hfQyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
d2lkdGgpIHsKICAgY29uc3QgdWludDgqIHMgPSBzcmNfcHRyOwogICBjb25zdCB1aW50OCogdCA9
IHNyY19wdHIgKyBzcmNfc3RyaWRlOwogICBpbnQgeDsKQEAgLTEwMyw4ICsxMTcsMTAgQEAgdm9p
ZCBTY2FsZVJvd0Rvd24yQm94X0MoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAogICB9CiB9CiAKLXZvaWQgU2NhbGVSb3dEb3duMkJveF9PZGRfQyhjb25zdCB1aW50
OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCkgewordm9pZCBTY2FsZVJvd0Rvd24yQm94
X09kZF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBj
b25zdCB1aW50OCogcyA9IHNyY19wdHI7CiAgIGNvbnN0IHVpbnQ4KiB0ID0gc3JjX3B0ciArIHNy
Y19zdHJpZGU7CiAgIGludCB4OwpAQCAtMTI1LDggKzE0MSwxMCBAQCB2b2lkIFNjYWxlUm93RG93
bjJCb3hfT2RkX0MoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAog
ICBkc3RbMF0gPSAoc1swXSArIHRbMF0gKyAxKSA+PiAxOwogfQogCi12b2lkIFNjYWxlUm93RG93
bjJCb3hfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3QsIGludCBkc3Rfd2lkdGgpIHsK
K3ZvaWQgU2NhbGVSb3dEb3duMkJveF8xNl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDE2KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3dpZHRoKSB7CiAgIGNvbnN0IHVpbnQxNiogcyA9IHNyY19wdHI7CiAgIGNvbnN0IHVp
bnQxNiogdCA9IHNyY19wdHIgKyBzcmNfc3RyaWRlOwogICBpbnQgeDsKQEAgLTE0Miw5ICsxNjAs
MTIgQEAgdm9pZCBTY2FsZVJvd0Rvd24yQm94XzE2X0MoY29uc3QgdWludDE2KiBzcmNfcHRyLCBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgfQogfQogCi12b2lkIFNjYWxlUm93RG93bjRfQyhjb25z
dCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93bjRfQyhj
b25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgaW50IHg7CisgICh2b2lkKXNyY19zdHJpZGU7CiAg
IGZvciAoeCA9IDA7IHggPCBkc3Rfd2lkdGggLSAxOyB4ICs9IDIpIHsKICAgICBkc3RbMF0gPSBz
cmNfcHRyWzJdOwogICAgIGRzdFsxXSA9IHNyY19wdHJbNl07CkBAIC0xNTYsOSArMTc3LDEyIEBA
IHZvaWQgU2NhbGVSb3dEb3duNF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKICAgfQogfQogCi12b2lkIFNjYWxlUm93RG93bjRfMTZfQyhjb25zdCB1aW50MTYq
IHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
dWludDE2KiBkc3QsIGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQgU2NhbGVSb3dEb3duNF8xNl9DKGNv
bnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIGludCB4OworICAodm9pZClzcmNf
c3RyaWRlOwogICBmb3IgKHggPSAwOyB4IDwgZHN0X3dpZHRoIC0gMTsgeCArPSAyKSB7CiAgICAg
ZHN0WzBdID0gc3JjX3B0clsyXTsKICAgICBkc3RbMV0gPSBzcmNfcHRyWzZdOwpAQCAtMTcwLDgx
ICsxOTQsODggQEAgdm9pZCBTY2FsZVJvd0Rvd240XzE2X0MoY29uc3QgdWludDE2KiBzcmNfcHRy
LCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgfQogfQogCi12b2lkIFNjYWxlUm93RG93bjRCb3hf
Qyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93
RG93bjRCb3hfQyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgaW50cHRyX3Qg
c3RyaWRlID0gc3JjX3N0cmlkZTsKICAgaW50IHg7CiAgIGZvciAoeCA9IDA7IHggPCBkc3Rfd2lk
dGggLSAxOyB4ICs9IDIpIHsKICAgICBkc3RbMF0gPSAoc3JjX3B0clswXSArIHNyY19wdHJbMV0g
KyBzcmNfcHRyWzJdICsgc3JjX3B0clszXSArCi0gICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUg
KyAwXSArIHNyY19wdHJbc3RyaWRlICsgMV0gKwotICAgICAgICAgICAgIHNyY19wdHJbc3RyaWRl
ICsgMl0gKyBzcmNfcHRyW3N0cmlkZSArIDNdICsKLSAgICAgICAgICAgICBzcmNfcHRyW3N0cmlk
ZSAqIDIgKyAwXSArIHNyY19wdHJbc3RyaWRlICogMiArIDFdICsKLSAgICAgICAgICAgICBzcmNf
cHRyW3N0cmlkZSAqIDIgKyAyXSArIHNyY19wdHJbc3RyaWRlICogMiArIDNdICsKLSAgICAgICAg
ICAgICBzcmNfcHRyW3N0cmlkZSAqIDMgKyAwXSArIHNyY19wdHJbc3RyaWRlICogMyArIDFdICsK
LSAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDMgKyAyXSArIHNyY19wdHJbc3RyaWRlICog
MyArIDNdICsKLSAgICAgICAgICAgICA4KSA+PiA0OworICAgICAgICAgICAgICBzcmNfcHRyW3N0
cmlkZSArIDBdICsgc3JjX3B0cltzdHJpZGUgKyAxXSArIHNyY19wdHJbc3RyaWRlICsgMl0gKwor
ICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSArIDNdICsgc3JjX3B0cltzdHJpZGUgKiAyICsg
MF0gKworICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDIgKyAxXSArIHNyY19wdHJbc3Ry
aWRlICogMiArIDJdICsKKyAgICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAyICsgM10gKyBz
cmNfcHRyW3N0cmlkZSAqIDMgKyAwXSArCisgICAgICAgICAgICAgIHNyY19wdHJbc3RyaWRlICog
MyArIDFdICsgc3JjX3B0cltzdHJpZGUgKiAzICsgMl0gKworICAgICAgICAgICAgICBzcmNfcHRy
W3N0cmlkZSAqIDMgKyAzXSArIDgpID4+CisgICAgICAgICAgICAgNDsKICAgICBkc3RbMV0gPSAo
c3JjX3B0cls0XSArIHNyY19wdHJbNV0gKyBzcmNfcHRyWzZdICsgc3JjX3B0cls3XSArCi0gICAg
ICAgICAgICAgc3JjX3B0cltzdHJpZGUgKyA0XSArIHNyY19wdHJbc3RyaWRlICsgNV0gKwotICAg
ICAgICAgICAgIHNyY19wdHJbc3RyaWRlICsgNl0gKyBzcmNfcHRyW3N0cmlkZSArIDddICsKLSAg
ICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDIgKyA0XSArIHNyY19wdHJbc3RyaWRlICogMiAr
IDVdICsKLSAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDIgKyA2XSArIHNyY19wdHJbc3Ry
aWRlICogMiArIDddICsKLSAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDMgKyA0XSArIHNy
Y19wdHJbc3RyaWRlICogMyArIDVdICsKLSAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDMg
KyA2XSArIHNyY19wdHJbc3RyaWRlICogMyArIDddICsKLSAgICAgICAgICAgICA4KSA+PiA0Owor
ICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSArIDRdICsgc3JjX3B0cltzdHJpZGUgKyA1XSAr
IHNyY19wdHJbc3RyaWRlICsgNl0gKworICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSArIDdd
ICsgc3JjX3B0cltzdHJpZGUgKiAyICsgNF0gKworICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlk
ZSAqIDIgKyA1XSArIHNyY19wdHJbc3RyaWRlICogMiArIDZdICsKKyAgICAgICAgICAgICAgc3Jj
X3B0cltzdHJpZGUgKiAyICsgN10gKyBzcmNfcHRyW3N0cmlkZSAqIDMgKyA0XSArCisgICAgICAg
ICAgICAgIHNyY19wdHJbc3RyaWRlICogMyArIDVdICsgc3JjX3B0cltzdHJpZGUgKiAzICsgNl0g
KworICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDMgKyA3XSArIDgpID4+CisgICAgICAg
ICAgICAgNDsKICAgICBkc3QgKz0gMjsKICAgICBzcmNfcHRyICs9IDg7CiAgIH0KICAgaWYgKGRz
dF93aWR0aCAmIDEpIHsKICAgICBkc3RbMF0gPSAoc3JjX3B0clswXSArIHNyY19wdHJbMV0gKyBz
cmNfcHRyWzJdICsgc3JjX3B0clszXSArCi0gICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKyAw
XSArIHNyY19wdHJbc3RyaWRlICsgMV0gKwotICAgICAgICAgICAgIHNyY19wdHJbc3RyaWRlICsg
Ml0gKyBzcmNfcHRyW3N0cmlkZSArIDNdICsKLSAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAq
IDIgKyAwXSArIHNyY19wdHJbc3RyaWRlICogMiArIDFdICsKLSAgICAgICAgICAgICBzcmNfcHRy
W3N0cmlkZSAqIDIgKyAyXSArIHNyY19wdHJbc3RyaWRlICogMiArIDNdICsKLSAgICAgICAgICAg
ICBzcmNfcHRyW3N0cmlkZSAqIDMgKyAwXSArIHNyY19wdHJbc3RyaWRlICogMyArIDFdICsKLSAg
ICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDMgKyAyXSArIHNyY19wdHJbc3RyaWRlICogMyAr
IDNdICsKLSAgICAgICAgICAgICA4KSA+PiA0OworICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlk
ZSArIDBdICsgc3JjX3B0cltzdHJpZGUgKyAxXSArIHNyY19wdHJbc3RyaWRlICsgMl0gKworICAg
ICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSArIDNdICsgc3JjX3B0cltzdHJpZGUgKiAyICsgMF0g
KworICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDIgKyAxXSArIHNyY19wdHJbc3RyaWRl
ICogMiArIDJdICsKKyAgICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAyICsgM10gKyBzcmNf
cHRyW3N0cmlkZSAqIDMgKyAwXSArCisgICAgICAgICAgICAgIHNyY19wdHJbc3RyaWRlICogMyAr
IDFdICsgc3JjX3B0cltzdHJpZGUgKiAzICsgMl0gKworICAgICAgICAgICAgICBzcmNfcHRyW3N0
cmlkZSAqIDMgKyAzXSArIDgpID4+CisgICAgICAgICAgICAgNDsKICAgfQogfQogCi12b2lkIFNj
YWxlUm93RG93bjRCb3hfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3QsIGludCBkc3Rf
d2lkdGgpIHsKK3ZvaWQgU2NhbGVSb3dEb3duNEJveF8xNl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkc3QsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIGludHB0cl90IHN0cmlkZSA9IHNyY19zdHJpZGU7
CiAgIGludCB4OwogICBmb3IgKHggPSAwOyB4IDwgZHN0X3dpZHRoIC0gMTsgeCArPSAyKSB7CiAg
ICAgZHN0WzBdID0gKHNyY19wdHJbMF0gKyBzcmNfcHRyWzFdICsgc3JjX3B0clsyXSArIHNyY19w
dHJbM10gKwotICAgICAgICAgICAgIHNyY19wdHJbc3RyaWRlICsgMF0gKyBzcmNfcHRyW3N0cmlk
ZSArIDFdICsKLSAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSArIDJdICsgc3JjX3B0cltzdHJp
ZGUgKyAzXSArCi0gICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAyICsgMF0gKyBzcmNfcHRy
W3N0cmlkZSAqIDIgKyAxXSArCi0gICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAyICsgMl0g
KyBzcmNfcHRyW3N0cmlkZSAqIDIgKyAzXSArCi0gICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUg
KiAzICsgMF0gKyBzcmNfcHRyW3N0cmlkZSAqIDMgKyAxXSArCi0gICAgICAgICAgICAgc3JjX3B0
cltzdHJpZGUgKiAzICsgMl0gKyBzcmNfcHRyW3N0cmlkZSAqIDMgKyAzXSArCi0gICAgICAgICAg
ICAgOCkgPj4gNDsKKyAgICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKyAwXSArIHNyY19wdHJb
c3RyaWRlICsgMV0gKyBzcmNfcHRyW3N0cmlkZSArIDJdICsKKyAgICAgICAgICAgICAgc3JjX3B0
cltzdHJpZGUgKyAzXSArIHNyY19wdHJbc3RyaWRlICogMiArIDBdICsKKyAgICAgICAgICAgICAg
c3JjX3B0cltzdHJpZGUgKiAyICsgMV0gKyBzcmNfcHRyW3N0cmlkZSAqIDIgKyAyXSArCisgICAg
ICAgICAgICAgIHNyY19wdHJbc3RyaWRlICogMiArIDNdICsgc3JjX3B0cltzdHJpZGUgKiAzICsg
MF0gKworICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDMgKyAxXSArIHNyY19wdHJbc3Ry
aWRlICogMyArIDJdICsKKyAgICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAzICsgM10gKyA4
KSA+PgorICAgICAgICAgICAgIDQ7CiAgICAgZHN0WzFdID0gKHNyY19wdHJbNF0gKyBzcmNfcHRy
WzVdICsgc3JjX3B0cls2XSArIHNyY19wdHJbN10gKwotICAgICAgICAgICAgIHNyY19wdHJbc3Ry
aWRlICsgNF0gKyBzcmNfcHRyW3N0cmlkZSArIDVdICsKLSAgICAgICAgICAgICBzcmNfcHRyW3N0
cmlkZSArIDZdICsgc3JjX3B0cltzdHJpZGUgKyA3XSArCi0gICAgICAgICAgICAgc3JjX3B0cltz
dHJpZGUgKiAyICsgNF0gKyBzcmNfcHRyW3N0cmlkZSAqIDIgKyA1XSArCi0gICAgICAgICAgICAg
c3JjX3B0cltzdHJpZGUgKiAyICsgNl0gKyBzcmNfcHRyW3N0cmlkZSAqIDIgKyA3XSArCi0gICAg
ICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAzICsgNF0gKyBzcmNfcHRyW3N0cmlkZSAqIDMgKyA1
XSArCi0gICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAzICsgNl0gKyBzcmNfcHRyW3N0cmlk
ZSAqIDMgKyA3XSArCi0gICAgICAgICAgICAgOCkgPj4gNDsKKyAgICAgICAgICAgICAgc3JjX3B0
cltzdHJpZGUgKyA0XSArIHNyY19wdHJbc3RyaWRlICsgNV0gKyBzcmNfcHRyW3N0cmlkZSArIDZd
ICsKKyAgICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKyA3XSArIHNyY19wdHJbc3RyaWRlICog
MiArIDRdICsKKyAgICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAyICsgNV0gKyBzcmNfcHRy
W3N0cmlkZSAqIDIgKyA2XSArCisgICAgICAgICAgICAgIHNyY19wdHJbc3RyaWRlICogMiArIDdd
ICsgc3JjX3B0cltzdHJpZGUgKiAzICsgNF0gKworICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlk
ZSAqIDMgKyA1XSArIHNyY19wdHJbc3RyaWRlICogMyArIDZdICsKKyAgICAgICAgICAgICAgc3Jj
X3B0cltzdHJpZGUgKiAzICsgN10gKyA4KSA+PgorICAgICAgICAgICAgIDQ7CiAgICAgZHN0ICs9
IDI7CiAgICAgc3JjX3B0ciArPSA4OwogICB9CiAgIGlmIChkc3Rfd2lkdGggJiAxKSB7CiAgICAg
ZHN0WzBdID0gKHNyY19wdHJbMF0gKyBzcmNfcHRyWzFdICsgc3JjX3B0clsyXSArIHNyY19wdHJb
M10gKwotICAgICAgICAgICAgIHNyY19wdHJbc3RyaWRlICsgMF0gKyBzcmNfcHRyW3N0cmlkZSAr
IDFdICsKLSAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSArIDJdICsgc3JjX3B0cltzdHJpZGUg
KyAzXSArCi0gICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAyICsgMF0gKyBzcmNfcHRyW3N0
cmlkZSAqIDIgKyAxXSArCi0gICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAyICsgMl0gKyBz
cmNfcHRyW3N0cmlkZSAqIDIgKyAzXSArCi0gICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAz
ICsgMF0gKyBzcmNfcHRyW3N0cmlkZSAqIDMgKyAxXSArCi0gICAgICAgICAgICAgc3JjX3B0cltz
dHJpZGUgKiAzICsgMl0gKyBzcmNfcHRyW3N0cmlkZSAqIDMgKyAzXSArCi0gICAgICAgICAgICAg
OCkgPj4gNDsKKyAgICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKyAwXSArIHNyY19wdHJbc3Ry
aWRlICsgMV0gKyBzcmNfcHRyW3N0cmlkZSArIDJdICsKKyAgICAgICAgICAgICAgc3JjX3B0cltz
dHJpZGUgKyAzXSArIHNyY19wdHJbc3RyaWRlICogMiArIDBdICsKKyAgICAgICAgICAgICAgc3Jj
X3B0cltzdHJpZGUgKiAyICsgMV0gKyBzcmNfcHRyW3N0cmlkZSAqIDIgKyAyXSArCisgICAgICAg
ICAgICAgIHNyY19wdHJbc3RyaWRlICogMiArIDNdICsgc3JjX3B0cltzdHJpZGUgKiAzICsgMF0g
KworICAgICAgICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDMgKyAxXSArIHNyY19wdHJbc3RyaWRl
ICogMyArIDJdICsKKyAgICAgICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAzICsgM10gKyA4KSA+
PgorICAgICAgICAgICAgIDQ7CiAgIH0KIH0KIAotdm9pZCBTY2FsZVJvd0Rvd24zNF9DKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93bjM0X0Mo
Y29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIGludCB4OworICAodm9pZClzcmNfc3RyaWRl
OwogICBhc3NlcnQoKGRzdF93aWR0aCAlIDMgPT0gMCkgJiYgKGRzdF93aWR0aCA+IDApKTsKICAg
Zm9yICh4ID0gMDsgeCA8IGRzdF93aWR0aDsgeCArPSAzKSB7CiAgICAgZHN0WzBdID0gc3JjX3B0
clswXTsKQEAgLTI1NSw5ICsyODYsMTIgQEAgdm9pZCBTY2FsZVJvd0Rvd24zNF9DKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgfQogfQogCi12b2lkIFNjYWxl
Um93RG93bjM0XzE2X0MoY29uc3QgdWludDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdCwgaW50IGRzdF93aWR0aCkg
ewordm9pZCBTY2FsZVJvd0Rvd24zNF8xNl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50MTYqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoKSB7CiAgIGludCB4OworICAodm9pZClzcmNfc3RyaWRlOwogICBhc3NlcnQoKGRzdF93
aWR0aCAlIDMgPT0gMCkgJiYgKGRzdF93aWR0aCA+IDApKTsKICAgZm9yICh4ID0gMDsgeCA8IGRz
dF93aWR0aDsgeCArPSAzKSB7CiAgICAgZHN0WzBdID0gc3JjX3B0clswXTsKQEAgLTI2OSw4ICsz
MDMsMTAgQEAgdm9pZCBTY2FsZVJvd0Rvd24zNF8xNl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwg
cHRyZGlmZl90IHNyY19zdHJpZGUsCiB9CiAKIC8vIEZpbHRlciByb3dzIDAgYW5kIDEgdG9nZXRo
ZXIsIDMgOiAxCi12b2lkIFNjYWxlUm93RG93bjM0XzBfQm94X0MoY29uc3QgdWludDgqIHNyY19w
dHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkLCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93bjM0XzBfQm94X0MoY29u
c3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBjb25zdCB1aW50OCog
cyA9IHNyY19wdHI7CiAgIGNvbnN0IHVpbnQ4KiB0ID0gc3JjX3B0ciArIHNyY19zdHJpZGU7CiAg
IGludCB4OwpAQCAtMjkxLDggKzMyNywxMCBAQCB2b2lkIFNjYWxlUm93RG93bjM0XzBfQm94X0Mo
Y29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICB9CiB9CiAKLXZv
aWQgU2NhbGVSb3dEb3duMzRfMF9Cb3hfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiog
ZCwgaW50IGRzdF93aWR0aCkgewordm9pZCBTY2FsZVJvd0Rvd24zNF8wX0JveF8xNl9DKGNvbnN0
IHVpbnQxNiogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBjb25z
dCB1aW50MTYqIHMgPSBzcmNfcHRyOwogICBjb25zdCB1aW50MTYqIHQgPSBzcmNfcHRyICsgc3Jj
X3N0cmlkZTsKICAgaW50IHg7CkBAIC0zMTQsOCArMzUyLDEwIEBAIHZvaWQgU2NhbGVSb3dEb3du
MzRfMF9Cb3hfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LAogfQogCiAvLyBGaWx0ZXIgcm93cyAxIGFuZCAyIHRvZ2V0aGVyLCAxIDogMQotdm9pZCBTY2Fs
ZVJvd0Rvd24zNF8xX0JveF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZCwgaW50IGRzdF93aWR0
aCkgewordm9pZCBTY2FsZVJvd0Rvd24zNF8xX0JveF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfd2lkdGgpIHsKICAgY29uc3QgdWludDgqIHMgPSBzcmNfcHRyOwogICBjb25z
dCB1aW50OCogdCA9IHNyY19wdHIgKyBzcmNfc3RyaWRlOwogICBpbnQgeDsKQEAgLTMzNiw4ICsz
NzYsMTAgQEAgdm9pZCBTY2FsZVJvd0Rvd24zNF8xX0JveF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgfQogfQogCi12b2lkIFNjYWxlUm93RG93bjM0XzFf
Qm94XzE2X0MoY29uc3QgdWludDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGQsIGludCBkc3Rfd2lkdGgpIHsK
K3ZvaWQgU2NhbGVSb3dEb3duMzRfMV9Cb3hfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2KiBkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgY29uc3QgdWludDE2KiBzID0gc3JjX3B0
cjsKICAgY29uc3QgdWludDE2KiB0ID0gc3JjX3B0ciArIHNyY19zdHJpZGU7CiAgIGludCB4OwpA
QCAtMzU5LDggKzQwMSwxMSBAQCB2b2lkIFNjYWxlUm93RG93bjM0XzFfQm94XzE2X0MoY29uc3Qg
dWludDE2KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIH0KIAogLy8gU2NhbGVzIGEg
c2luZ2xlIHJvdyBvZiBwaXhlbHMgdXNpbmcgcG9pbnQgc2FtcGxpbmcuCi12b2lkIFNjYWxlQ29s
c19DKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAgICAgICAg
ICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgewordm9pZCBTY2FsZUNvbHNfQyh1aW50
OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsCisgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgIGludCB4LAorICAg
ICAgICAgICAgICAgICBpbnQgZHgpIHsKICAgaW50IGo7CiAgIGZvciAoaiA9IDA7IGogPCBkc3Rf
d2lkdGggLSAxOyBqICs9IDIpIHsKICAgICBkc3RfcHRyWzBdID0gc3JjX3B0clt4ID4+IDE2XTsK
QEAgLTM3NCw4ICs0MTksMTEgQEAgdm9pZCBTY2FsZUNvbHNfQyh1aW50OCogZHN0X3B0ciwgY29u
c3QgdWludDgqIHNyY19wdHIsCiAgIH0KIH0KIAotdm9pZCBTY2FsZUNvbHNfMTZfQyh1aW50MTYq
IGRzdF9wdHIsIGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgaW50
IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgewordm9pZCBTY2FsZUNvbHNfMTZfQyh1aW50MTYq
IGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgaW50
IHgsCisgICAgICAgICAgICAgICAgICAgIGludCBkeCkgewogICBpbnQgajsKICAgZm9yIChqID0g
MDsgaiA8IGRzdF93aWR0aCAtIDE7IGogKz0gMikgewogICAgIGRzdF9wdHJbMF0gPSBzcmNfcHRy
W3ggPj4gMTZdOwpAQCAtMzkwLDkgKzQzOCwxNCBAQCB2b2lkIFNjYWxlQ29sc18xNl9DKHVpbnQx
NiogZHN0X3B0ciwgY29uc3QgdWludDE2KiBzcmNfcHRyLAogfQogCiAvLyBTY2FsZXMgYSBzaW5n
bGUgcm93IG9mIHBpeGVscyB1cCBieSAyeCB1c2luZyBwb2ludCBzYW1wbGluZy4KLXZvaWQgU2Nh
bGVDb2xzVXAyX0ModWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAotICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSB7Cit2b2lkIFNjYWxl
Q29sc1VwMl9DKHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAgICAgICAgICAgIGludCBkeCkgewogICBpbnQg
ajsKKyAgKHZvaWQpeDsKKyAgKHZvaWQpZHg7CiAgIGZvciAoaiA9IDA7IGogPCBkc3Rfd2lkdGgg
LSAxOyBqICs9IDIpIHsKICAgICBkc3RfcHRyWzFdID0gZHN0X3B0clswXSA9IHNyY19wdHJbMF07
CiAgICAgc3JjX3B0ciArPSAxOwpAQCAtNDAzLDkgKzQ1NiwxNCBAQCB2b2lkIFNjYWxlQ29sc1Vw
Ml9DKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKICAgfQogfQogCi12b2lk
IFNjYWxlQ29sc1VwMl8xNl9DKHVpbnQxNiogZHN0X3B0ciwgY29uc3QgdWludDE2KiBzcmNfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSB7
Cit2b2lkIFNjYWxlQ29sc1VwMl8xNl9DKHVpbnQxNiogZHN0X3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGR4KSB7CiAgIGludCBqOworICAodm9pZCl4OworICAodm9pZClkeDsK
ICAgZm9yIChqID0gMDsgaiA8IGRzdF93aWR0aCAtIDE7IGogKz0gMikgewogICAgIGRzdF9wdHJb
MV0gPSBkc3RfcHRyWzBdID0gc3JjX3B0clswXTsKICAgICBzcmNfcHRyICs9IDE7CkBAIC00MTgs
MTYgKzQ3NiwxOSBAQCB2b2lkIFNjYWxlQ29sc1VwMl8xNl9DKHVpbnQxNiogZHN0X3B0ciwgY29u
c3QgdWludDE2KiBzcmNfcHRyLAogCiAvLyAoMS1mKWEgKyBmYiBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhICsgZihiLWEpCiAjaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9f
KQotI2RlZmluZSBCTEVOREVSKGEsIGIsIGYpICh1aW50OCkoKGludCkoYSkgKyBcCi0gICAgKCgo
KGludCkoKGYpKSAqICgoaW50KShiKSAtIChpbnQpKGEpKSkgKyAweDgwMDApID4+IDE2KSkKKyNk
ZWZpbmUgQkxFTkRFUihhLCBiLCBmKSBcCisgICh1aW50OCkoKGludCkoYSkgKyAoKCgoaW50KSgo
ZikpICogKChpbnQpKGIpIC0gKGludCkoYSkpKSArIDB4ODAwMCkgPj4gMTYpKQogI2Vsc2UKIC8v
IEludGVsIHVzZXMgNyBiaXQgbWF0aCB3aXRoIHJvdW5kaW5nLgotI2RlZmluZSBCTEVOREVSKGEs
IGIsIGYpICh1aW50OCkoKGludCkoYSkgKyBcCi0gICAgKCgoaW50KSgoZikgPj4gOSkgKiAoKGlu
dCkoYikgLSAoaW50KShhKSkgKyAweDQwKSA+PiA3KSkKKyNkZWZpbmUgQkxFTkRFUihhLCBiLCBm
KSBcCisgICh1aW50OCkoKGludCkoYSkgKyAoKChpbnQpKChmKSA+PiA5KSAqICgoaW50KShiKSAt
IChpbnQpKGEpKSArIDB4NDApID4+IDcpKQogI2VuZGlmCiAKLXZvaWQgU2NhbGVGaWx0ZXJDb2xz
X0ModWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSB7Cit2b2lkIFNjYWxlRmlsdGVy
Q29sc19DKHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50
OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBkeCkg
ewogICBpbnQgajsKICAgZm9yIChqID0gMDsgaiA8IGRzdF93aWR0aCAtIDE7IGogKz0gMikgewog
ICAgIGludCB4aSA9IHggPj4gMTY7CkBAIC00NTAsOCArNTExLDExIEBAIHZvaWQgU2NhbGVGaWx0
ZXJDb2xzX0ModWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICB9CiB9CiAK
LXZvaWQgU2NhbGVGaWx0ZXJDb2xzNjRfQyh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNy
Y19wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgzMiwg
aW50IGR4KSB7Cit2b2lkIFNjYWxlRmlsdGVyQ29sczY0X0ModWludDgqIGRzdF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
eDMyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkeCkgewogICBpbnQ2NCB4ID0gKGlu
dDY0KSh4MzIpOwogICBpbnQgajsKICAgZm9yIChqID0gMDsgaiA8IGRzdF93aWR0aCAtIDE7IGog
Kz0gMikgewpAQCAtNDc3LDExICs1NDEsMTQgQEAgdm9pZCBTY2FsZUZpbHRlckNvbHM2NF9DKHVp
bnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKICN1bmRlZiBCTEVOREVSCiAKIC8v
IFNhbWUgYXMgOCBiaXQgYXJtIGJsZW5kZXIgYnV0IHJldHVybiBpcyBjYXN0IHRvIHVpbnQxNgot
I2RlZmluZSBCTEVOREVSKGEsIGIsIGYpICh1aW50MTYpKChpbnQpKGEpICsgXAotICAgICgoKChp
bnQpKChmKSkgKiAoKGludCkoYikgLSAoaW50KShhKSkpICsgMHg4MDAwKSA+PiAxNikpCisjZGVm
aW5lIEJMRU5ERVIoYSwgYiwgZikgXAorICAodWludDE2KSgoaW50KShhKSArICgoKChpbnQpKChm
KSkgKiAoKGludCkoYikgLSAoaW50KShhKSkpICsgMHg4MDAwKSA+PiAxNikpCiAKLXZvaWQgU2Nh
bGVGaWx0ZXJDb2xzXzE2X0ModWludDE2KiBkc3RfcHRyLCBjb25zdCB1aW50MTYqIHNyY19wdHIs
Ci0gICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpIHsK
K3ZvaWQgU2NhbGVGaWx0ZXJDb2xzXzE2X0ModWludDE2KiBkc3RfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50MTYqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgpIHsKICAgaW50IGo7CiAgIGZvciAoaiA9
IDA7IGogPCBkc3Rfd2lkdGggLSAxOyBqICs9IDIpIHsKICAgICBpbnQgeGkgPSB4ID4+IDE2OwpA
QCAtNTA0LDggKzU3MSwxMSBAQCB2b2lkIFNjYWxlRmlsdGVyQ29sc18xNl9DKHVpbnQxNiogZHN0
X3B0ciwgY29uc3QgdWludDE2KiBzcmNfcHRyLAogICB9CiB9CiAKLXZvaWQgU2NhbGVGaWx0ZXJD
b2xzNjRfMTZfQyh1aW50MTYqIGRzdF9wdHIsIGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeDMyLCBpbnQgZHgpIHsKK3Zv
aWQgU2NhbGVGaWx0ZXJDb2xzNjRfMTZfQyh1aW50MTYqIGRzdF9wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDE2KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHgzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgpIHsKICAgaW50NjQgeCA9
IChpbnQ2NCkoeDMyKTsKICAgaW50IGo7CiAgIGZvciAoaiA9IDA7IGogPCBkc3Rfd2lkdGggLSAx
OyBqICs9IDIpIHsKQEAgLTUzMCw5ICs2MDAsMTIgQEAgdm9pZCBTY2FsZUZpbHRlckNvbHM2NF8x
Nl9DKHVpbnQxNiogZHN0X3B0ciwgY29uc3QgdWludDE2KiBzcmNfcHRyLAogfQogI3VuZGVmIEJM
RU5ERVIKIAotdm9pZCBTY2FsZVJvd0Rvd24zOF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQg
ZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93bjM4X0MoY29uc3QgdWludDgqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dp
ZHRoKSB7CiAgIGludCB4OworICAodm9pZClzcmNfc3RyaWRlOwogICBhc3NlcnQoZHN0X3dpZHRo
ICUgMyA9PSAwKTsKICAgZm9yICh4ID0gMDsgeCA8IGRzdF93aWR0aDsgeCArPSAzKSB7CiAgICAg
ZHN0WzBdID0gc3JjX3B0clswXTsKQEAgLTU0Myw5ICs2MTYsMTIgQEAgdm9pZCBTY2FsZVJvd0Rv
d24zOF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgfQog
fQogCi12b2lkIFNjYWxlUm93RG93bjM4XzE2X0MoY29uc3QgdWludDE2KiBzcmNfcHRyLCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdCwg
aW50IGRzdF93aWR0aCkgewordm9pZCBTY2FsZVJvd0Rvd24zOF8xNl9DKGNvbnN0IHVpbnQxNiog
c3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIGludCB4OworICAodm9pZClzcmNfc3RyaWRlOwog
ICBhc3NlcnQoZHN0X3dpZHRoICUgMyA9PSAwKTsKICAgZm9yICh4ID0gMDsgeCA8IGRzdF93aWR0
aDsgeCArPSAzKSB7CiAgICAgZHN0WzBdID0gc3JjX3B0clswXTsKQEAgLTU1OSwyNSArNjM1LDI5
IEBAIHZvaWQgU2NhbGVSb3dEb3duMzhfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAogLy8gOHgzIC0+IDN4MQogdm9pZCBTY2FsZVJvd0Rvd24zOF8zX0Jv
eF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkg
ewogICBpbnRwdHJfdCBzdHJpZGUgPSBzcmNfc3RyaWRlOwogICBpbnQgaTsKICAgYXNzZXJ0KChk
c3Rfd2lkdGggJSAzID09IDApICYmIChkc3Rfd2lkdGggPiAwKSk7CiAgIGZvciAoaSA9IDA7IGkg
PCBkc3Rfd2lkdGg7IGkgKz0gMykgewotICAgIGRzdF9wdHJbMF0gPSAoc3JjX3B0clswXSArIHNy
Y19wdHJbMV0gKyBzcmNfcHRyWzJdICsKLSAgICAgICAgc3JjX3B0cltzdHJpZGUgKyAwXSArIHNy
Y19wdHJbc3RyaWRlICsgMV0gKwotICAgICAgICBzcmNfcHRyW3N0cmlkZSArIDJdICsgc3JjX3B0
cltzdHJpZGUgKiAyICsgMF0gKwotICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDIgKyAxXSArIHNy
Y19wdHJbc3RyaWRlICogMiArIDJdKSAqCi0gICAgICAgICg2NTUzNiAvIDkpID4+IDE2OwotICAg
IGRzdF9wdHJbMV0gPSAoc3JjX3B0clszXSArIHNyY19wdHJbNF0gKyBzcmNfcHRyWzVdICsKLSAg
ICAgICAgc3JjX3B0cltzdHJpZGUgKyAzXSArIHNyY19wdHJbc3RyaWRlICsgNF0gKwotICAgICAg
ICBzcmNfcHRyW3N0cmlkZSArIDVdICsgc3JjX3B0cltzdHJpZGUgKiAyICsgM10gKwotICAgICAg
ICBzcmNfcHRyW3N0cmlkZSAqIDIgKyA0XSArIHNyY19wdHJbc3RyaWRlICogMiArIDVdKSAqCi0g
ICAgICAgICg2NTUzNiAvIDkpID4+IDE2OwotICAgIGRzdF9wdHJbMl0gPSAoc3JjX3B0cls2XSAr
IHNyY19wdHJbN10gKwotICAgICAgICBzcmNfcHRyW3N0cmlkZSArIDZdICsgc3JjX3B0cltzdHJp
ZGUgKyA3XSArCi0gICAgICAgIHNyY19wdHJbc3RyaWRlICogMiArIDZdICsgc3JjX3B0cltzdHJp
ZGUgKiAyICsgN10pICoKLSAgICAgICAgKDY1NTM2IC8gNikgPj4gMTY7CisgICAgZHN0X3B0clsw
XSA9CisgICAgICAgIChzcmNfcHRyWzBdICsgc3JjX3B0clsxXSArIHNyY19wdHJbMl0gKyBzcmNf
cHRyW3N0cmlkZSArIDBdICsKKyAgICAgICAgIHNyY19wdHJbc3RyaWRlICsgMV0gKyBzcmNfcHRy
W3N0cmlkZSArIDJdICsgc3JjX3B0cltzdHJpZGUgKiAyICsgMF0gKworICAgICAgICAgc3JjX3B0
cltzdHJpZGUgKiAyICsgMV0gKyBzcmNfcHRyW3N0cmlkZSAqIDIgKyAyXSkgKgorICAgICAgICAg
ICAgKDY1NTM2IC8gOSkgPj4KKyAgICAgICAgMTY7CisgICAgZHN0X3B0clsxXSA9CisgICAgICAg
IChzcmNfcHRyWzNdICsgc3JjX3B0cls0XSArIHNyY19wdHJbNV0gKyBzcmNfcHRyW3N0cmlkZSAr
IDNdICsKKyAgICAgICAgIHNyY19wdHJbc3RyaWRlICsgNF0gKyBzcmNfcHRyW3N0cmlkZSArIDVd
ICsgc3JjX3B0cltzdHJpZGUgKiAyICsgM10gKworICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAy
ICsgNF0gKyBzcmNfcHRyW3N0cmlkZSAqIDIgKyA1XSkgKgorICAgICAgICAgICAgKDY1NTM2IC8g
OSkgPj4KKyAgICAgICAgMTY7CisgICAgZHN0X3B0clsyXSA9CisgICAgICAgIChzcmNfcHRyWzZd
ICsgc3JjX3B0cls3XSArIHNyY19wdHJbc3RyaWRlICsgNl0gKyBzcmNfcHRyW3N0cmlkZSArIDdd
ICsKKyAgICAgICAgIHNyY19wdHJbc3RyaWRlICogMiArIDZdICsgc3JjX3B0cltzdHJpZGUgKiAy
ICsgN10pICoKKyAgICAgICAgICAgICg2NTUzNiAvIDYpID4+CisgICAgICAgIDE2OwogICAgIHNy
Y19wdHIgKz0gODsKICAgICBkc3RfcHRyICs9IDM7CiAgIH0KQEAgLTU4NSw2NiArNjY1LDgwIEBA
IHZvaWQgU2NhbGVSb3dEb3duMzhfM19Cb3hfQyhjb25zdCB1aW50OCogc3JjX3B0ciwKIAogdm9p
ZCBTY2FsZVJvd0Rvd24zOF8zX0JveF8xNl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBpbnRwdHJfdCBzdHJp
ZGUgPSBzcmNfc3RyaWRlOwogICBpbnQgaTsKICAgYXNzZXJ0KChkc3Rfd2lkdGggJSAzID09IDAp
ICYmIChkc3Rfd2lkdGggPiAwKSk7CiAgIGZvciAoaSA9IDA7IGkgPCBkc3Rfd2lkdGg7IGkgKz0g
MykgewotICAgIGRzdF9wdHJbMF0gPSAoc3JjX3B0clswXSArIHNyY19wdHJbMV0gKyBzcmNfcHRy
WzJdICsKLSAgICAgICAgc3JjX3B0cltzdHJpZGUgKyAwXSArIHNyY19wdHJbc3RyaWRlICsgMV0g
KwotICAgICAgICBzcmNfcHRyW3N0cmlkZSArIDJdICsgc3JjX3B0cltzdHJpZGUgKiAyICsgMF0g
KwotICAgICAgICBzcmNfcHRyW3N0cmlkZSAqIDIgKyAxXSArIHNyY19wdHJbc3RyaWRlICogMiAr
IDJdKSAqCi0gICAgICAgICg2NTUzNiAvIDkpID4+IDE2OwotICAgIGRzdF9wdHJbMV0gPSAoc3Jj
X3B0clszXSArIHNyY19wdHJbNF0gKyBzcmNfcHRyWzVdICsKLSAgICAgICAgc3JjX3B0cltzdHJp
ZGUgKyAzXSArIHNyY19wdHJbc3RyaWRlICsgNF0gKwotICAgICAgICBzcmNfcHRyW3N0cmlkZSAr
IDVdICsgc3JjX3B0cltzdHJpZGUgKiAyICsgM10gKwotICAgICAgICBzcmNfcHRyW3N0cmlkZSAq
IDIgKyA0XSArIHNyY19wdHJbc3RyaWRlICogMiArIDVdKSAqCi0gICAgICAgICg2NTUzNiAvIDkp
ID4+IDE2OwotICAgIGRzdF9wdHJbMl0gPSAoc3JjX3B0cls2XSArIHNyY19wdHJbN10gKwotICAg
ICAgICBzcmNfcHRyW3N0cmlkZSArIDZdICsgc3JjX3B0cltzdHJpZGUgKyA3XSArCi0gICAgICAg
IHNyY19wdHJbc3RyaWRlICogMiArIDZdICsgc3JjX3B0cltzdHJpZGUgKiAyICsgN10pICoKLSAg
ICAgICAgKDY1NTM2IC8gNikgPj4gMTY7CisgICAgZHN0X3B0clswXSA9CisgICAgICAgIChzcmNf
cHRyWzBdICsgc3JjX3B0clsxXSArIHNyY19wdHJbMl0gKyBzcmNfcHRyW3N0cmlkZSArIDBdICsK
KyAgICAgICAgIHNyY19wdHJbc3RyaWRlICsgMV0gKyBzcmNfcHRyW3N0cmlkZSArIDJdICsgc3Jj
X3B0cltzdHJpZGUgKiAyICsgMF0gKworICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAyICsgMV0g
KyBzcmNfcHRyW3N0cmlkZSAqIDIgKyAyXSkgKgorICAgICAgICAgICAgKDY1NTM2IC8gOSkgPj4K
KyAgICAgICAgMTY7CisgICAgZHN0X3B0clsxXSA9CisgICAgICAgIChzcmNfcHRyWzNdICsgc3Jj
X3B0cls0XSArIHNyY19wdHJbNV0gKyBzcmNfcHRyW3N0cmlkZSArIDNdICsKKyAgICAgICAgIHNy
Y19wdHJbc3RyaWRlICsgNF0gKyBzcmNfcHRyW3N0cmlkZSArIDVdICsgc3JjX3B0cltzdHJpZGUg
KiAyICsgM10gKworICAgICAgICAgc3JjX3B0cltzdHJpZGUgKiAyICsgNF0gKyBzcmNfcHRyW3N0
cmlkZSAqIDIgKyA1XSkgKgorICAgICAgICAgICAgKDY1NTM2IC8gOSkgPj4KKyAgICAgICAgMTY7
CisgICAgZHN0X3B0clsyXSA9CisgICAgICAgIChzcmNfcHRyWzZdICsgc3JjX3B0cls3XSArIHNy
Y19wdHJbc3RyaWRlICsgNl0gKyBzcmNfcHRyW3N0cmlkZSArIDddICsKKyAgICAgICAgIHNyY19w
dHJbc3RyaWRlICogMiArIDZdICsgc3JjX3B0cltzdHJpZGUgKiAyICsgN10pICoKKyAgICAgICAg
ICAgICg2NTUzNiAvIDYpID4+CisgICAgICAgIDE2OwogICAgIHNyY19wdHIgKz0gODsKICAgICBk
c3RfcHRyICs9IDM7CiAgIH0KIH0KIAogLy8gOHgyIC0+IDN4MQotdm9pZCBTY2FsZVJvd0Rvd24z
OF8yX0JveF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCkg
ewordm9pZCBTY2FsZVJvd0Rvd24zOF8yX0JveF9DKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgaW50cHRyX3Qgc3RyaWRlID0gc3JjX3N0cmlkZTsK
ICAgaW50IGk7CiAgIGFzc2VydCgoZHN0X3dpZHRoICUgMyA9PSAwKSAmJiAoZHN0X3dpZHRoID4g
MCkpOwogICBmb3IgKGkgPSAwOyBpIDwgZHN0X3dpZHRoOyBpICs9IDMpIHsKLSAgICBkc3RfcHRy
WzBdID0gKHNyY19wdHJbMF0gKyBzcmNfcHRyWzFdICsgc3JjX3B0clsyXSArCi0gICAgICAgIHNy
Y19wdHJbc3RyaWRlICsgMF0gKyBzcmNfcHRyW3N0cmlkZSArIDFdICsKLSAgICAgICAgc3JjX3B0
cltzdHJpZGUgKyAyXSkgKiAoNjU1MzYgLyA2KSA+PiAxNjsKLSAgICBkc3RfcHRyWzFdID0gKHNy
Y19wdHJbM10gKyBzcmNfcHRyWzRdICsgc3JjX3B0cls1XSArCi0gICAgICAgIHNyY19wdHJbc3Ry
aWRlICsgM10gKyBzcmNfcHRyW3N0cmlkZSArIDRdICsKLSAgICAgICAgc3JjX3B0cltzdHJpZGUg
KyA1XSkgKiAoNjU1MzYgLyA2KSA+PiAxNjsKLSAgICBkc3RfcHRyWzJdID0gKHNyY19wdHJbNl0g
KyBzcmNfcHRyWzddICsKLSAgICAgICAgc3JjX3B0cltzdHJpZGUgKyA2XSArIHNyY19wdHJbc3Ry
aWRlICsgN10pICoKLSAgICAgICAgKDY1NTM2IC8gNCkgPj4gMTY7CisgICAgZHN0X3B0clswXSA9
IChzcmNfcHRyWzBdICsgc3JjX3B0clsxXSArIHNyY19wdHJbMl0gKyBzcmNfcHRyW3N0cmlkZSAr
IDBdICsKKyAgICAgICAgICAgICAgICAgIHNyY19wdHJbc3RyaWRlICsgMV0gKyBzcmNfcHRyW3N0
cmlkZSArIDJdKSAqCisgICAgICAgICAgICAgICAgICAgICAoNjU1MzYgLyA2KSA+PgorICAgICAg
ICAgICAgICAgICAxNjsKKyAgICBkc3RfcHRyWzFdID0gKHNyY19wdHJbM10gKyBzcmNfcHRyWzRd
ICsgc3JjX3B0cls1XSArIHNyY19wdHJbc3RyaWRlICsgM10gKworICAgICAgICAgICAgICAgICAg
c3JjX3B0cltzdHJpZGUgKyA0XSArIHNyY19wdHJbc3RyaWRlICsgNV0pICoKKyAgICAgICAgICAg
ICAgICAgICAgICg2NTUzNiAvIDYpID4+CisgICAgICAgICAgICAgICAgIDE2OworICAgIGRzdF9w
dHJbMl0gPQorICAgICAgICAoc3JjX3B0cls2XSArIHNyY19wdHJbN10gKyBzcmNfcHRyW3N0cmlk
ZSArIDZdICsgc3JjX3B0cltzdHJpZGUgKyA3XSkgKgorICAgICAgICAgICAgKDY1NTM2IC8gNCkg
Pj4KKyAgICAgICAgMTY7CiAgICAgc3JjX3B0ciArPSA4OwogICAgIGRzdF9wdHIgKz0gMzsKICAg
fQogfQogCi12b2lkIFNjYWxlUm93RG93bjM4XzJfQm94XzE2X0MoY29uc3QgdWludDE2KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTYqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQgU2NhbGVSb3dEb3duMzhf
Ml9Cb3hfMTZfQyhjb25zdCB1aW50MTYqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDE2KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgpIHsKICAgaW50cHRyX3Qgc3RyaWRlID0gc3JjX3N0cmlkZTsKICAgaW50IGk7
CiAgIGFzc2VydCgoZHN0X3dpZHRoICUgMyA9PSAwKSAmJiAoZHN0X3dpZHRoID4gMCkpOwogICBm
b3IgKGkgPSAwOyBpIDwgZHN0X3dpZHRoOyBpICs9IDMpIHsKLSAgICBkc3RfcHRyWzBdID0gKHNy
Y19wdHJbMF0gKyBzcmNfcHRyWzFdICsgc3JjX3B0clsyXSArCi0gICAgICAgIHNyY19wdHJbc3Ry
aWRlICsgMF0gKyBzcmNfcHRyW3N0cmlkZSArIDFdICsKLSAgICAgICAgc3JjX3B0cltzdHJpZGUg
KyAyXSkgKiAoNjU1MzYgLyA2KSA+PiAxNjsKLSAgICBkc3RfcHRyWzFdID0gKHNyY19wdHJbM10g
KyBzcmNfcHRyWzRdICsgc3JjX3B0cls1XSArCi0gICAgICAgIHNyY19wdHJbc3RyaWRlICsgM10g
KyBzcmNfcHRyW3N0cmlkZSArIDRdICsKLSAgICAgICAgc3JjX3B0cltzdHJpZGUgKyA1XSkgKiAo
NjU1MzYgLyA2KSA+PiAxNjsKLSAgICBkc3RfcHRyWzJdID0gKHNyY19wdHJbNl0gKyBzcmNfcHRy
WzddICsKLSAgICAgICAgc3JjX3B0cltzdHJpZGUgKyA2XSArIHNyY19wdHJbc3RyaWRlICsgN10p
ICoKLSAgICAgICAgKDY1NTM2IC8gNCkgPj4gMTY7CisgICAgZHN0X3B0clswXSA9IChzcmNfcHRy
WzBdICsgc3JjX3B0clsxXSArIHNyY19wdHJbMl0gKyBzcmNfcHRyW3N0cmlkZSArIDBdICsKKyAg
ICAgICAgICAgICAgICAgIHNyY19wdHJbc3RyaWRlICsgMV0gKyBzcmNfcHRyW3N0cmlkZSArIDJd
KSAqCisgICAgICAgICAgICAgICAgICAgICAoNjU1MzYgLyA2KSA+PgorICAgICAgICAgICAgICAg
ICAxNjsKKyAgICBkc3RfcHRyWzFdID0gKHNyY19wdHJbM10gKyBzcmNfcHRyWzRdICsgc3JjX3B0
cls1XSArIHNyY19wdHJbc3RyaWRlICsgM10gKworICAgICAgICAgICAgICAgICAgc3JjX3B0cltz
dHJpZGUgKyA0XSArIHNyY19wdHJbc3RyaWRlICsgNV0pICoKKyAgICAgICAgICAgICAgICAgICAg
ICg2NTUzNiAvIDYpID4+CisgICAgICAgICAgICAgICAgIDE2OworICAgIGRzdF9wdHJbMl0gPQor
ICAgICAgICAoc3JjX3B0cls2XSArIHNyY19wdHJbN10gKyBzcmNfcHRyW3N0cmlkZSArIDZdICsg
c3JjX3B0cltzdHJpZGUgKyA3XSkgKgorICAgICAgICAgICAgKDY1NTM2IC8gNCkgPj4KKyAgICAg
ICAgMTY7CiAgICAgc3JjX3B0ciArPSA4OwogICAgIGRzdF9wdHIgKz0gMzsKICAgfQpAQCAtNjgw
LDExICs3NzQsMTIgQEAgdm9pZCBTY2FsZUFkZFJvd18xNl9DKGNvbnN0IHVpbnQxNiogc3JjX3B0
ciwgdWludDMyKiBkc3RfcHRyLCBpbnQgc3JjX3dpZHRoKSB7CiAKIHZvaWQgU2NhbGVBUkdCUm93
RG93bjJfQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9hcmdiLCBpbnQgZHN0X3dpZHRoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAg
Y29uc3QgdWludDMyKiBzcmMgPSAoY29uc3QgdWludDMyKikoc3JjX2FyZ2IpOwogICB1aW50MzIq
IGRzdCA9ICh1aW50MzIqKShkc3RfYXJnYik7Ci0KICAgaW50IHg7CisgICh2b2lkKXNyY19zdHJp
ZGU7CiAgIGZvciAoeCA9IDA7IHggPCBkc3Rfd2lkdGggLSAxOyB4ICs9IDIpIHsKICAgICBkc3Rb
MF0gPSBzcmNbMV07CiAgICAgZHN0WzFdID0gc3JjWzNdOwpAQCAtNjk4LDggKzc5MywxMCBAQCB2
b2lkIFNjYWxlQVJHQlJvd0Rvd24yX0MoY29uc3QgdWludDgqIHNyY19hcmdiLAogCiB2b2lkIFNj
YWxlQVJHQlJvd0Rvd24yTGluZWFyX0MoY29uc3QgdWludDgqIHNyY19hcmdiLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIGludCB4OworICAodm9pZClz
cmNfc3RyaWRlOwogICBmb3IgKHggPSAwOyB4IDwgZHN0X3dpZHRoOyArK3gpIHsKICAgICBkc3Rf
YXJnYlswXSA9IChzcmNfYXJnYlswXSArIHNyY19hcmdiWzRdICsgMSkgPj4gMTsKICAgICBkc3Rf
YXJnYlsxXSA9IChzcmNfYXJnYlsxXSArIHNyY19hcmdiWzVdICsgMSkgPj4gMTsKQEAgLTcxMCwy
OSArODA3LDM3IEBAIHZvaWQgU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfQyhjb25zdCB1aW50OCog
c3JjX2FyZ2IsCiAgIH0KIH0KIAotdm9pZCBTY2FsZUFSR0JSb3dEb3duMkJveF9DKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlQVJH
QlJvd0Rvd24yQm94X0MoY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoKSB7CiAgIGludCB4OwogICBmb3IgKHggPSAwOyB4IDwgZHN0X3dpZHRoOyArK3gpIHsK
LSAgICBkc3RfYXJnYlswXSA9IChzcmNfYXJnYlswXSArIHNyY19hcmdiWzRdICsKLSAgICAgICAg
ICAgICAgICAgIHNyY19hcmdiW3NyY19zdHJpZGVdICsgc3JjX2FyZ2Jbc3JjX3N0cmlkZSArIDRd
ICsgMikgPj4gMjsKLSAgICBkc3RfYXJnYlsxXSA9IChzcmNfYXJnYlsxXSArIHNyY19hcmdiWzVd
ICsKLSAgICAgICAgICAgICAgICAgIHNyY19hcmdiW3NyY19zdHJpZGUgKyAxXSArIHNyY19hcmdi
W3NyY19zdHJpZGUgKyA1XSArIDIpID4+IDI7Ci0gICAgZHN0X2FyZ2JbMl0gPSAoc3JjX2FyZ2Jb
Ml0gKyBzcmNfYXJnYls2XSArCi0gICAgICAgICAgICAgICAgICBzcmNfYXJnYltzcmNfc3RyaWRl
ICsgMl0gKyBzcmNfYXJnYltzcmNfc3RyaWRlICsgNl0gKyAyKSA+PiAyOwotICAgIGRzdF9hcmdi
WzNdID0gKHNyY19hcmdiWzNdICsgc3JjX2FyZ2JbN10gKwotICAgICAgICAgICAgICAgICAgc3Jj
X2FyZ2Jbc3JjX3N0cmlkZSArIDNdICsgc3JjX2FyZ2Jbc3JjX3N0cmlkZSArIDddICsgMikgPj4g
MjsKKyAgICBkc3RfYXJnYlswXSA9IChzcmNfYXJnYlswXSArIHNyY19hcmdiWzRdICsgc3JjX2Fy
Z2Jbc3JjX3N0cmlkZV0gKworICAgICAgICAgICAgICAgICAgIHNyY19hcmdiW3NyY19zdHJpZGUg
KyA0XSArIDIpID4+CisgICAgICAgICAgICAgICAgICAyOworICAgIGRzdF9hcmdiWzFdID0gKHNy
Y19hcmdiWzFdICsgc3JjX2FyZ2JbNV0gKyBzcmNfYXJnYltzcmNfc3RyaWRlICsgMV0gKworICAg
ICAgICAgICAgICAgICAgIHNyY19hcmdiW3NyY19zdHJpZGUgKyA1XSArIDIpID4+CisgICAgICAg
ICAgICAgICAgICAyOworICAgIGRzdF9hcmdiWzJdID0gKHNyY19hcmdiWzJdICsgc3JjX2FyZ2Jb
Nl0gKyBzcmNfYXJnYltzcmNfc3RyaWRlICsgMl0gKworICAgICAgICAgICAgICAgICAgIHNyY19h
cmdiW3NyY19zdHJpZGUgKyA2XSArIDIpID4+CisgICAgICAgICAgICAgICAgICAyOworICAgIGRz
dF9hcmdiWzNdID0gKHNyY19hcmdiWzNdICsgc3JjX2FyZ2JbN10gKyBzcmNfYXJnYltzcmNfc3Ry
aWRlICsgM10gKworICAgICAgICAgICAgICAgICAgIHNyY19hcmdiW3NyY19zdHJpZGUgKyA3XSAr
IDIpID4+CisgICAgICAgICAgICAgICAgICAyOwogICAgIHNyY19hcmdiICs9IDg7CiAgICAgZHN0
X2FyZ2IgKz0gNDsKICAgfQogfQogCi12b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuX0MoY29uc3Qg
dWludDgqIHNyY19hcmdiLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKK3ZvaWQgU2NhbGVBUkdCUm93
RG93bkV2ZW5fQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19zdGVweCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2Fy
Z2IsIGludCBkc3Rfd2lkdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewog
ICBjb25zdCB1aW50MzIqIHNyYyA9IChjb25zdCB1aW50MzIqKShzcmNfYXJnYik7CiAgIHVpbnQz
MiogZHN0ID0gKHVpbnQzMiopKGRzdF9hcmdiKTsKLQorICAodm9pZClzcmNfc3RyaWRlOwogICBp
bnQgeDsKICAgZm9yICh4ID0gMDsgeCA8IGRzdF93aWR0aCAtIDE7IHggKz0gMikgewogICAgIGRz
dFswXSA9IHNyY1swXTsKQEAgLTc0OCwyNSArODUzLDMzIEBAIHZvaWQgU2NhbGVBUkdCUm93RG93
bkV2ZW5fQyhjb25zdCB1aW50OCogc3JjX2FyZ2IsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogdm9p
ZCBTY2FsZUFSR0JSb3dEb3duRXZlbkJveF9DKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0ZXB4LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIGludCB4OwogICBmb3IgKHggPSAwOyB4
IDwgZHN0X3dpZHRoOyArK3gpIHsKLSAgICBkc3RfYXJnYlswXSA9IChzcmNfYXJnYlswXSArIHNy
Y19hcmdiWzRdICsKLSAgICAgICAgICAgICAgICAgIHNyY19hcmdiW3NyY19zdHJpZGVdICsgc3Jj
X2FyZ2Jbc3JjX3N0cmlkZSArIDRdICsgMikgPj4gMjsKLSAgICBkc3RfYXJnYlsxXSA9IChzcmNf
YXJnYlsxXSArIHNyY19hcmdiWzVdICsKLSAgICAgICAgICAgICAgICAgIHNyY19hcmdiW3NyY19z
dHJpZGUgKyAxXSArIHNyY19hcmdiW3NyY19zdHJpZGUgKyA1XSArIDIpID4+IDI7Ci0gICAgZHN0
X2FyZ2JbMl0gPSAoc3JjX2FyZ2JbMl0gKyBzcmNfYXJnYls2XSArCi0gICAgICAgICAgICAgICAg
ICBzcmNfYXJnYltzcmNfc3RyaWRlICsgMl0gKyBzcmNfYXJnYltzcmNfc3RyaWRlICsgNl0gKyAy
KSA+PiAyOwotICAgIGRzdF9hcmdiWzNdID0gKHNyY19hcmdiWzNdICsgc3JjX2FyZ2JbN10gKwot
ICAgICAgICAgICAgICAgICAgc3JjX2FyZ2Jbc3JjX3N0cmlkZSArIDNdICsgc3JjX2FyZ2Jbc3Jj
X3N0cmlkZSArIDddICsgMikgPj4gMjsKKyAgICBkc3RfYXJnYlswXSA9IChzcmNfYXJnYlswXSAr
IHNyY19hcmdiWzRdICsgc3JjX2FyZ2Jbc3JjX3N0cmlkZV0gKworICAgICAgICAgICAgICAgICAg
IHNyY19hcmdiW3NyY19zdHJpZGUgKyA0XSArIDIpID4+CisgICAgICAgICAgICAgICAgICAyOwor
ICAgIGRzdF9hcmdiWzFdID0gKHNyY19hcmdiWzFdICsgc3JjX2FyZ2JbNV0gKyBzcmNfYXJnYltz
cmNfc3RyaWRlICsgMV0gKworICAgICAgICAgICAgICAgICAgIHNyY19hcmdiW3NyY19zdHJpZGUg
KyA1XSArIDIpID4+CisgICAgICAgICAgICAgICAgICAyOworICAgIGRzdF9hcmdiWzJdID0gKHNy
Y19hcmdiWzJdICsgc3JjX2FyZ2JbNl0gKyBzcmNfYXJnYltzcmNfc3RyaWRlICsgMl0gKworICAg
ICAgICAgICAgICAgICAgIHNyY19hcmdiW3NyY19zdHJpZGUgKyA2XSArIDIpID4+CisgICAgICAg
ICAgICAgICAgICAyOworICAgIGRzdF9hcmdiWzNdID0gKHNyY19hcmdiWzNdICsgc3JjX2FyZ2Jb
N10gKyBzcmNfYXJnYltzcmNfc3RyaWRlICsgM10gKworICAgICAgICAgICAgICAgICAgIHNyY19h
cmdiW3NyY19zdHJpZGUgKyA3XSArIDIpID4+CisgICAgICAgICAgICAgICAgICAyOwogICAgIHNy
Y19hcmdiICs9IHNyY19zdGVweCAqIDQ7CiAgICAgZHN0X2FyZ2IgKz0gNDsKICAgfQogfQogCiAv
LyBTY2FsZXMgYSBzaW5nbGUgcm93IG9mIHBpeGVscyB1c2luZyBwb2ludCBzYW1wbGluZy4KLXZv
aWQgU2NhbGVBUkdCQ29sc19DKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgewor
dm9pZCBTY2FsZUFSR0JDb2xzX0ModWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAg
aW50IGR4KSB7CiAgIGNvbnN0IHVpbnQzMiogc3JjID0gKGNvbnN0IHVpbnQzMiopKHNyY19hcmdi
KTsKICAgdWludDMyKiBkc3QgPSAodWludDMyKikoZHN0X2FyZ2IpOwogICBpbnQgajsKQEAgLTc4
Miw4ICs4OTUsMTEgQEAgdm9pZCBTY2FsZUFSR0JDb2xzX0ModWludDgqIGRzdF9hcmdiLCBjb25z
dCB1aW50OCogc3JjX2FyZ2IsCiAgIH0KIH0KIAotdm9pZCBTY2FsZUFSR0JDb2xzNjRfQyh1aW50
OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRzdF93aWR0aCwgaW50IHgzMiwgaW50IGR4KSB7Cit2b2lkIFNjYWxlQVJHQkNvbHM2
NF9DKHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgeDMyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgp
IHsKICAgaW50NjQgeCA9IChpbnQ2NCkoeDMyKTsKICAgY29uc3QgdWludDMyKiBzcmMgPSAoY29u
c3QgdWludDMyKikoc3JjX2FyZ2IpOwogICB1aW50MzIqIGRzdCA9ICh1aW50MzIqKShkc3RfYXJn
Yik7CkBAIC04MDEsMTEgKzkxNywxNiBAQCB2b2lkIFNjYWxlQVJHQkNvbHM2NF9DKHVpbnQ4KiBk
c3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAogfQogCiAvLyBTY2FsZXMgYSBzaW5nbGUg
cm93IG9mIHBpeGVscyB1cCBieSAyeCB1c2luZyBwb2ludCBzYW1wbGluZy4KLXZvaWQgU2NhbGVB
UkdCQ29sc1VwMl9DKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgewordm9p
ZCBTY2FsZUFSR0JDb2xzVXAyX0ModWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGR4KSB7CiAgIGNvbnN0IHVpbnQzMiogc3JjID0gKGNvbnN0IHVpbnQz
MiopKHNyY19hcmdiKTsKICAgdWludDMyKiBkc3QgPSAodWludDMyKikoZHN0X2FyZ2IpOwogICBp
bnQgajsKKyAgKHZvaWQpeDsKKyAgKHZvaWQpZHg7CiAgIGZvciAoaiA9IDA7IGogPCBkc3Rfd2lk
dGggLSAxOyBqICs9IDIpIHsKICAgICBkc3RbMV0gPSBkc3RbMF0gPSBzcmNbMF07CiAgICAgc3Jj
ICs9IDE7CkBAIC04MTgsMTUgKzkzOSwxOCBAQCB2b2lkIFNjYWxlQVJHQkNvbHNVcDJfQyh1aW50
OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKIAogLy8gVE9ETyhmYmFyY2hhcmQp
OiBSZXBsYWNlIDB4N2YgXiBmIHdpdGggMTI4LWYuICBidWc9NjA3LgogLy8gTWltaWNzIFNTU0Uz
IGJsZW5kZXIKLSNkZWZpbmUgQkxFTkRFUjEoYSwgYiwgZikgKChhKSAqICgweDdmIF4gZikgKyAo
YikgKiBmKSA+PiA3Ci0jZGVmaW5lIEJMRU5ERVJDKGEsIGIsIGYsIHMpICh1aW50MzIpKCBcCi0g
ICAgQkxFTkRFUjEoKChhKSA+PiBzKSAmIDI1NSwgKChiKSA+PiBzKSAmIDI1NSwgZikgPDwgcykK
LSNkZWZpbmUgQkxFTkRFUihhLCBiLCBmKSBcCi0gICAgQkxFTkRFUkMoYSwgYiwgZiwgMjQpIHwg
QkxFTkRFUkMoYSwgYiwgZiwgMTYpIHwgXAotICAgIEJMRU5ERVJDKGEsIGIsIGYsIDgpIHwgQkxF
TkRFUkMoYSwgYiwgZiwgMCkKKyNkZWZpbmUgQkxFTkRFUjEoYSwgYiwgZikgKChhKSAqICgweDdm
IF4gZikgKyAoYikqZikgPj4gNworI2RlZmluZSBCTEVOREVSQyhhLCBiLCBmLCBzKSBcCisgICh1
aW50MzIpKEJMRU5ERVIxKCgoYSkgPj4gcykgJiAyNTUsICgoYikgPj4gcykgJiAyNTUsIGYpIDw8
IHMpCisjZGVmaW5lIEJMRU5ERVIoYSwgYiwgZikgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICBCTEVOREVSQyhhLCBiLCBmLCAyNCkgfCBCTEVOREVS
QyhhLCBiLCBmLCAxNikgfCBCTEVOREVSQyhhLCBiLCBmLCA4KSB8IFwKKyAgICAgIEJMRU5ERVJD
KGEsIGIsIGYsIDApCiAKLXZvaWQgU2NhbGVBUkdCRmlsdGVyQ29sc19DKHVpbnQ4KiBkc3RfYXJn
YiwgY29uc3QgdWludDgqIHNyY19hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgewordm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzX0Mo
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgq
IHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGR4KSB7CiAgIGNvbnN0IHVpbnQzMiogc3JjID0gKGNvbnN0IHVpbnQzMiopKHNyY19h
cmdiKTsKICAgdWludDMyKiBkc3QgPSAodWludDMyKikoZHN0X2FyZ2IpOwogICBpbnQgajsKQEAg
LTg1NCw4ICs5NzgsMTEgQEAgdm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzX0ModWludDgqIGRzdF9h
cmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCiAgIH0KIH0KIAotdm9pZCBTY2FsZUFSR0JGaWx0
ZXJDb2xzNjRfQyh1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgzMiwgaW50IGR4KSB7
Cit2b2lkIFNjYWxlQVJHQkZpbHRlckNvbHM2NF9DKHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgeDMyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgpIHsKICAg
aW50NjQgeCA9IChpbnQ2NCkoeDMyKTsKICAgY29uc3QgdWludDMyKiBzcmMgPSAoY29uc3QgdWlu
dDMyKikoc3JjX2FyZ2IpOwogICB1aW50MzIqIGRzdCA9ICh1aW50MzIqKShkc3RfYXJnYik7CkBA
IC04ODksMTYgKzEwMTYsMjIgQEAgdm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzNjRfQyh1aW50OCog
ZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKIAogLy8gU2NhbGUgcGxhbmUgdmVydGlj
YWxseSB3aXRoIGJpbGluZWFyIGludGVycG9sYXRpb24uCiB2b2lkIFNjYWxlUGxhbmVWZXJ0aWNh
bChpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgs
IGludCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUs
IGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y19hcmdiLCB1aW50OCogZHN0X2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwg
aW50IHksIGludCBkeSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBicHAsIGVudW0gRmls
dGVyTW9kZSBmaWx0ZXJpbmcpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lk
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGRzdF9zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2Fy
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB5LAorICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGR5LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGJwcCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gRmlsdGVyTW9kZSBmaWx0ZXJpbmcp
IHsKICAgLy8gVE9ETyhmYmFyY2hhcmQpOiBBbGxvdyBoaWdoZXIgYnBwLgogICBpbnQgZHN0X3dp
ZHRoX2J5dGVzID0gZHN0X3dpZHRoICogYnBwOwotICB2b2lkICgqSW50ZXJwb2xhdGVSb3cpKHVp
bnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAotICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsIGludCBkc3Rfd2lkdGgsIGludCBzb3VyY2VfeV9mcmFjdGlvbikgPQotICAgICAg
SW50ZXJwb2xhdGVSb3dfQzsKKyAgdm9pZCAoKkludGVycG9sYXRlUm93KSh1aW50OCAqIGRzdF9h
cmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHNyY19zdHJpZGUsIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHNvdXJjZV95X2ZyYWN0aW9uKSA9IEludGVycG9sYXRlUm93X0M7CiAgIGNvbnN0IGlu
dCBtYXhfeSA9IChzcmNfaGVpZ2h0ID4gMSkgPyAoKHNyY19oZWlnaHQgLSAxKSA8PCAxNikgLSAx
IDogMDsKICAgaW50IGo7CiAgIGFzc2VydChicHAgPj0gMSAmJiBicHAgPD0gNCk7CkBAIC05MzEs
MTUgKzEwNjQsMjMgQEAgdm9pZCBTY2FsZVBsYW5lVmVydGljYWwoaW50IHNyY19oZWlnaHQsCiAg
IH0KICNlbmRpZgogI2lmIGRlZmluZWQoSEFTX0lOVEVSUE9MQVRFUk9XX0RTUFIyKQotICBpZiAo
VGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKSAmJgotICAgICAgSVNfQUxJR05FRChzcmNfYXJnYiwg
NCkgJiYgSVNfQUxJR05FRChzcmNfc3RyaWRlLCA0KSAmJgotICAgICAgSVNfQUxJR05FRChkc3Rf
YXJnYiwgNCkgJiYgSVNfQUxJR05FRChkc3Rfc3RyaWRlLCA0KSkgeworICBpZiAoVGVzdENwdUZs
YWcoa0NwdUhhc0RTUFIyKSAmJiBJU19BTElHTkVEKHNyY19hcmdiLCA0KSAmJgorICAgICAgSVNf
QUxJR05FRChzcmNfc3RyaWRlLCA0KSAmJiBJU19BTElHTkVEKGRzdF9hcmdiLCA0KSAmJgorICAg
ICAgSVNfQUxJR05FRChkc3Rfc3RyaWRlLCA0KSkgewogICAgIEludGVycG9sYXRlUm93ID0gSW50
ZXJwb2xhdGVSb3dfQW55X0RTUFIyOwogICAgIGlmIChJU19BTElHTkVEKGRzdF93aWR0aF9ieXRl
cywgNCkpIHsKICAgICAgIEludGVycG9sYXRlUm93ID0gSW50ZXJwb2xhdGVSb3dfRFNQUjI7CiAg
ICAgfQogICB9CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEhBU19JTlRFUlBPTEFURVJPV19NU0EpCisg
IGlmIChUZXN0Q3B1RmxhZyhrQ3B1SGFzTVNBKSkgeworICAgIEludGVycG9sYXRlUm93ID0gSW50
ZXJwb2xhdGVSb3dfQW55X01TQTsKKyAgICBpZiAoSVNfQUxJR05FRChkc3Rfd2lkdGhfYnl0ZXMs
IDMyKSkgeworICAgICAgSW50ZXJwb2xhdGVSb3cgPSBJbnRlcnBvbGF0ZVJvd19NU0E7CisgICAg
fQorICB9CisjZW5kaWYKICAgZm9yIChqID0gMDsgaiA8IGRzdF9oZWlnaHQ7ICsraikgewogICAg
IGludCB5aTsKICAgICBpbnQgeWY7CkBAIC05NDgsMjMgKzEwODksMjkgQEAgdm9pZCBTY2FsZVBs
YW5lVmVydGljYWwoaW50IHNyY19oZWlnaHQsCiAgICAgfQogICAgIHlpID0geSA+PiAxNjsKICAg
ICB5ZiA9IGZpbHRlcmluZyA/ICgoeSA+PiA4KSAmIDI1NSkgOiAwOwotICAgIEludGVycG9sYXRl
Um93KGRzdF9hcmdiLCBzcmNfYXJnYiArIHlpICogc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICBzcmNfc3RyaWRlLCBkc3Rfd2lkdGhfYnl0ZXMsIHlmKTsKKyAgICBJbnRlcnBvbGF0ZVJv
dyhkc3RfYXJnYiwgc3JjX2FyZ2IgKyB5aSAqIHNyY19zdHJpZGUsIHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgZHN0X3dpZHRoX2J5dGVzLCB5Zik7CiAgICAgZHN0X2FyZ2IgKz0gZHN0
X3N0cmlkZTsKICAgICB5ICs9IGR5OwogICB9CiB9CiB2b2lkIFNjYWxlUGxhbmVWZXJ0aWNhbF8x
NihpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lk
dGgsIGludCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19z
dHJpZGUsIGludCBkc3Rfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDE2KiBzcmNfYXJnYiwgdWludDE2KiBkc3RfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB4LCBpbnQgeSwgaW50IGR5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHdwcCwgZW51bSBGaWx0ZXJNb2RlIGZpbHRlcmluZykgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk
c3RfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVpbnQxNiogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MTYqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3cHAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5nKSB7CiAg
IC8vIFRPRE8oZmJhcmNoYXJkKTogQWxsb3cgaGlnaGVyIHdwcC4KICAgaW50IGRzdF93aWR0aF93
b3JkcyA9IGRzdF93aWR0aCAqIHdwcDsKLSAgdm9pZCAoKkludGVycG9sYXRlUm93KSh1aW50MTYq
IGRzdF9hcmdiLCBjb25zdCB1aW50MTYqIHNyY19hcmdiLAotICAgICAgcHRyZGlmZl90IHNyY19z
dHJpZGUsIGludCBkc3Rfd2lkdGgsIGludCBzb3VyY2VfeV9mcmFjdGlvbikgPQotICAgICAgSW50
ZXJwb2xhdGVSb3dfMTZfQzsKKyAgdm9pZCAoKkludGVycG9sYXRlUm93KSh1aW50MTYgKiBkc3Rf
YXJnYiwgY29uc3QgdWludDE2KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgc291cmNlX3lfZnJhY3Rpb24pID0gSW50ZXJwb2xhdGVSb3dfMTZfQzsKICAgY29u
c3QgaW50IG1heF95ID0gKHNyY19oZWlnaHQgPiAxKSA/ICgoc3JjX2hlaWdodCAtIDEpIDw8IDE2
KSAtIDEgOiAwOwogICBpbnQgajsKICAgYXNzZXJ0KHdwcCA+PSAxICYmIHdwcCA8PSAyKTsKQEAg
LTEwMDUsOSArMTE1Miw5IEBAIHZvaWQgU2NhbGVQbGFuZVZlcnRpY2FsXzE2KGludCBzcmNfaGVp
Z2h0LAogICB9CiAjZW5kaWYKICNpZiBkZWZpbmVkKEhBU19JTlRFUlBPTEFURVJPV18xNl9EU1BS
MikKLSAgaWYgKFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikgJiYKLSAgICAgIElTX0FMSUdORUQo
c3JjX2FyZ2IsIDQpICYmIElTX0FMSUdORUQoc3JjX3N0cmlkZSwgNCkgJiYKLSAgICAgIElTX0FM
SUdORUQoZHN0X2FyZ2IsIDQpICYmIElTX0FMSUdORUQoZHN0X3N0cmlkZSwgNCkpIHsKKyAgaWYg
KFRlc3RDcHVGbGFnKGtDcHVIYXNEU1BSMikgJiYgSVNfQUxJR05FRChzcmNfYXJnYiwgNCkgJiYK
KyAgICAgIElTX0FMSUdORUQoc3JjX3N0cmlkZSwgNCkgJiYgSVNfQUxJR05FRChkc3RfYXJnYiwg
NCkgJiYKKyAgICAgIElTX0FMSUdORUQoZHN0X3N0cmlkZSwgNCkpIHsKICAgICBJbnRlcnBvbGF0
ZVJvdyA9IEludGVycG9sYXRlUm93X0FueV8xNl9EU1BSMjsKICAgICBpZiAoSVNfQUxJR05FRChk
c3Rfd2lkdGhfYnl0ZXMsIDQpKSB7CiAgICAgICBJbnRlcnBvbGF0ZVJvdyA9IEludGVycG9sYXRl
Um93XzE2X0RTUFIyOwpAQCAtMTAyMiwxNiArMTE2OSwxOCBAQCB2b2lkIFNjYWxlUGxhbmVWZXJ0
aWNhbF8xNihpbnQgc3JjX2hlaWdodCwKICAgICB9CiAgICAgeWkgPSB5ID4+IDE2OwogICAgIHlm
ID0gZmlsdGVyaW5nID8gKCh5ID4+IDgpICYgMjU1KSA6IDA7Ci0gICAgSW50ZXJwb2xhdGVSb3co
ZHN0X2FyZ2IsIHNyY19hcmdiICsgeWkgKiBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
IHNyY19zdHJpZGUsIGRzdF93aWR0aF93b3JkcywgeWYpOworICAgIEludGVycG9sYXRlUm93KGRz
dF9hcmdiLCBzcmNfYXJnYiArIHlpICogc3JjX3N0cmlkZSwgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICBkc3Rfd2lkdGhfd29yZHMsIHlmKTsKICAgICBkc3RfYXJnYiArPSBkc3Rfc3Ry
aWRlOwogICAgIHkgKz0gZHk7CiAgIH0KIH0KIAogLy8gU2ltcGxpZnkgdGhlIGZpbHRlcmluZyBi
YXNlZCBvbiBzY2FsZSBmYWN0b3JzLgotZW51bSBGaWx0ZXJNb2RlIFNjYWxlRmlsdGVyUmVkdWNl
KGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAorZW51bSBGaWx0ZXJNb2Rl
IFNjYWxlRmlsdGVyUmVkdWNlKGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHNyY19oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X2hlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEZp
bHRlck1vZGUgZmlsdGVyaW5nKSB7CiAgIGlmIChzcmNfd2lkdGggPCAwKSB7CiAgICAgc3JjX3dp
ZHRoID0gLXNyY193aWR0aDsKQEAgLTEwNzgsMTcgKzEyMjcsMjEgQEAgaW50IEZpeGVkRGl2X0Mo
aW50IG51bSwgaW50IGRpdikgewogCiAvLyBEaXZpZGUgbnVtIGJ5IGRpdiBhbmQgcmV0dXJuIGFz
IDE2LjE2IGZpeGVkIHBvaW50IHJlc3VsdC4KIGludCBGaXhlZERpdjFfQyhpbnQgbnVtLCBpbnQg
ZGl2KSB7Ci0gIHJldHVybiAoaW50KSgoKChpbnQ2NCkobnVtKSA8PCAxNikgLSAweDAwMDEwMDAx
KSAvCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChkaXYgLSAxKSk7CisgIHJldHVybiAoaW50
KSgoKChpbnQ2NCkobnVtKSA8PCAxNikgLSAweDAwMDEwMDAxKSAvIChkaXYgLSAxKSk7CiB9CiAK
ICNkZWZpbmUgQ0VOVEVSU1RBUlQoZHgsIHMpIChkeCA8IDApID8gLSgoLWR4ID4+IDEpICsgcykg
OiAoKGR4ID4+IDEpICsgcykKIAogLy8gQ29tcHV0ZSBzbG9wZSB2YWx1ZXMgZm9yIHN0ZXBwaW5n
Lgotdm9pZCBTY2FsZVNsb3BlKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAotICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LAordm9pZCBTY2FsZVNsb3Bl
KGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgaW50IHNyY19oZWlnaHQsCisgICAgICAg
ICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwK
ICAgICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5nLAotICAgICAgICAgICAg
ICAgIGludCogeCwgaW50KiB5LCBpbnQqIGR4LCBpbnQqIGR5KSB7CisgICAgICAgICAgICAgICAg
aW50KiB4LAorICAgICAgICAgICAgICAgIGludCogeSwKKyAgICAgICAgICAgICAgICBpbnQqIGR4
LAorICAgICAgICAgICAgICAgIGludCogZHkpIHsKICAgYXNzZXJ0KHggIT0gTlVMTCk7CiAgIGFz
c2VydCh5ICE9IE5VTEwpOwogICBhc3NlcnQoZHggIT0gTlVMTCk7CkBAIC0xMTIwLDcgKzEyNzMs
NyBAQCB2b2lkIFNjYWxlU2xvcGUoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgICAg
ICAqeCA9IDA7CiAgICAgfQogICAgIGlmIChkc3RfaGVpZ2h0IDw9IHNyY19oZWlnaHQpIHsKLSAg
ICAgICpkeSA9IEZpeGVkRGl2KHNyY19oZWlnaHQsICBkc3RfaGVpZ2h0KTsKKyAgICAgICpkeSA9
IEZpeGVkRGl2KHNyY19oZWlnaHQsIGRzdF9oZWlnaHQpOwogICAgICAgKnkgPSBDRU5URVJTVEFS
VCgqZHksIC0zMjc2OCk7ICAvLyBTdWJ0cmFjdCAwLjUgKDMyNzY4KSB0byBjZW50ZXIgZmlsdGVy
LgogICAgIH0gZWxzZSBpZiAoZHN0X2hlaWdodCA+IDEpIHsKICAgICAgICpkeSA9IEZpeGVkRGl2
MShzcmNfaGVpZ2h0LCBkc3RfaGVpZ2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9zY2FsZV9kc3ByMi5j
YyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3NvdXJjZS9zY2FsZV9kc3ByMi5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZGVkY2JmNDZjMjZkNWQ2NzA3MTgx
M2EwMmI4NGFjOWY5ZjI4ZTI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX2RzcHIyLmNj
CkBAIC0wLDAgKzEsNjY4IEBACisvKgorICogIENvcHlyaWdodCAyMDEyIFRoZSBMaWJZdXYgUHJv
amVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqICBVc2Ugb2YgdGhpcyBz
b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCisgKiAgdGhhdCBj
YW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNl
CisgKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdy
YW50IGNhbiBiZSBmb3VuZAorICogIGluIHRoZSBmaWxlIFBBVEVOVFMuIEFsbCBjb250cmlidXRp
bmcgcHJvamVjdCBhdXRob3JzIG1heQorICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgorICovCisKKyNpbmNsdWRlICJsaWJ5dXYv
YmFzaWNfdHlwZXMuaCIKKyNpbmNsdWRlICJsaWJ5dXYvcm93LmgiCisKKyNpZmRlZiBfX2NwbHVz
cGx1cworbmFtZXNwYWNlIGxpYnl1diB7CitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvLyBUaGlz
IG1vZHVsZSBpcyBmb3IgR0NDIE1JUFMgRFNQUjIKKyNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJM
RV9EU1BSMikgJiYgZGVmaW5lZChfX21pcHNfZHNwKSAmJiBcCisgICAgKF9fbWlwc19kc3BfcmV2
ID49IDIpICYmIChfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTMyKQorCit2b2lkIFNjYWxlUm93
RG93bjJfRFNQUjIoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIF9fYXNt
X18gX192b2xhdGlsZV9fKAorICAgICAgIi5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICJzcmwgICAgICAgICAgICAkdDksICVbZHN0X3dp
ZHRoXSwgNCAgICAgICAgICAgXG4iICAvLyBpdGVyYXRpb25zIC0+IGJ5IDE2CisgICAgICAiYmVx
eiAgICAgICAgICAgJHQ5LCAyZiAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBu
b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJsdyAgICAgICAgICAgICAkdDAsIDAoJVtzcmNfcHRyXSkgICAgICAgICAgICAgXG4iICAvLyB8
M3wyfDF8MHwKKyAgICAgICJsdyAgICAgICAgICAgICAkdDEsIDQoJVtzcmNfcHRyXSkgICAgICAg
ICAgICAgXG4iICAvLyB8N3w2fDV8NHwKKyAgICAgICJsdyAgICAgICAgICAgICAkdDIsIDgoJVtz
cmNfcHRyXSkgICAgICAgICAgICAgXG4iICAvLyB8MTF8MTB8OXw4fAorICAgICAgImx3ICAgICAg
ICAgICAgICR0MywgMTIoJVtzcmNfcHRyXSkgICAgICAgICAgICBcbiIgIC8vIHwxNXwxNHwxM3wx
MnwKKyAgICAgICJsdyAgICAgICAgICAgICAkdDQsIDE2KCVbc3JjX3B0cl0pICAgICAgICAgICAg
XG4iICAvLyB8MTl8MTh8MTd8MTZ8CisgICAgICAibHcgICAgICAgICAgICAgJHQ1LCAyMCglW3Ny
Y19wdHJdKSAgICAgICAgICAgIFxuIiAgLy8gfDIzfDIyfDIxfDIwfAorICAgICAgImx3ICAgICAg
ICAgICAgICR0NiwgMjQoJVtzcmNfcHRyXSkgICAgICAgICAgICBcbiIgIC8vIHwyN3wyNnwyNXwy
NHwKKyAgICAgICJsdyAgICAgICAgICAgICAkdDcsIDI4KCVbc3JjX3B0cl0pICAgICAgICAgICAg
XG4iICAvLyB8MzF8MzB8Mjl8Mjh8CisgICAgICAvLyBUT0RPKGZiYXJjaGFyZCk6IFVzZSBvZGQg
cGl4ZWxzIGluc3RlYWQgb2YgZXZlbi4KKyAgICAgICJwcmVjcnEucWIucGggICAkdDgsICR0MSwg
JHQwICAgICAgICAgICAgICAgICAgXG4iICAvLyB8N3w1fDN8MXwKKyAgICAgICJwcmVjcnEucWIu
cGggICAkdDAsICR0MywgJHQyICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MTV8MTN8MTF8OXwK
KyAgICAgICJwcmVjcnEucWIucGggICAkdDEsICR0NSwgJHQ0ICAgICAgICAgICAgICAgICAgXG4i
ICAvLyB8MjN8MjF8MTl8MTd8CisgICAgICAicHJlY3JxLnFiLnBoICAgJHQyLCAkdDcsICR0NiAg
ICAgICAgICAgICAgICAgIFxuIiAgLy8gfDMxfDI5fDI3fDI1fAorICAgICAgImFkZGl1ICAgICAg
ICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDMyICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAg
ICAgICAkdDksICR0OSwgLTEgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAg
ICAgICAgJHQ4LCAwKCVbZHN0XSkgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAg
ICAgICAgICR0MCwgNCglW2RzdF0pICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAg
ICAgICAgICAkdDEsIDgoJVtkc3RdKSAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAg
ICAgICAgICAgJHQyLCAxMiglW2RzdF0pICAgICAgICAgICAgICAgIFxuIgorICAgICAgImJndHog
ICAgICAgICAgICR0OSwgMWIgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIgYWRk
aXUgICAgICAgICAlW2RzdF0sICVbZHN0XSwgMTYgICAgICAgICAgICAgXG4iCisKKyAgICAgICIy
OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
YW5kaSAgICAgICAgICAgJHQ5LCAlW2RzdF93aWR0aF0sIDB4ZiAgICAgICAgIFxuIiAgLy8gcmVz
aWR1ZQorICAgICAgImJlcXogICAgICAgICAgICR0OSwgM2YgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICIgbm9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCisKKyAgICAgICIyMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAibGJ1ICAgICAgICAgICAgJHQwLCAxKCVbc3JjX3B0cl0pICAgICAg
ICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAgICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0s
IDIgICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAgICAkdDksICR0OSwgLTEgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgJHQwLCAwKCVbZHN0XSkgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgImJndHogICAgICAgICAgICR0OSwgMjFiICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICIgYWRkaXUgICAgICAgICAlW2RzdF0sICVbZHN0XSwgMSAg
ICAgICAgICAgICAgXG4iCisKKyAgICAgICIzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgOiBbc3JjX3B0cl0gIityIihzcmNfcHRyKSwgW2Rz
dF0gIityIihkc3QpCisgICAgICA6IFtkc3Rfd2lkdGhdICJyIihkc3Rfd2lkdGgpCisgICAgICA6
ICJ0MCIsICJ0MSIsICJ0MiIsICJ0MyIsICJ0NCIsICJ0NSIsICJ0NiIsICJ0NyIsICJ0OCIsICJ0
OSIpOworfQorCit2b2lkIFNjYWxlUm93RG93bjJCb3hfRFNQUjIoY29uc3QgdWludDgqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIGNvbnN0IHVpbnQ4KiB0ID0gc3JjX3B0ciAr
IHNyY19zdHJpZGU7CisKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAiLnNldCBwdXNo
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiLnNldCBub3Jl
b3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICJzcmwgICAg
ICAgICAgICAkdDksICVbZHN0X3dpZHRoXSwgMyAgICAgICAgICBcbiIgIC8vIGl0ZXJhdGlvbnMg
LT4gc3RlcCA4CisgICAgICAiYmx0eiAgICAgICAgICAgJHQ5LCAyZiAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAiIG5vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCisKKyAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICJsdyAgICAgICAgICAgICAkdDAsIDAoJVtzcmNfcHRyXSkgICAg
ICAgICAgICBcbiIgIC8vIHwzfDJ8MXwwfAorICAgICAgImx3ICAgICAgICAgICAgICR0MSwgNCgl
W3NyY19wdHJdKSAgICAgICAgICAgIFxuIiAgLy8gfDd8Nnw1fDR8CisgICAgICAibHcgICAgICAg
ICAgICAgJHQyLCA4KCVbc3JjX3B0cl0pICAgICAgICAgICAgXG4iICAvLyB8MTF8MTB8OXw4fAor
ICAgICAgImx3ICAgICAgICAgICAgICR0MywgMTIoJVtzcmNfcHRyXSkgICAgICAgICAgIFxuIiAg
Ly8gfDE1fDE0fDEzfDEyfAorICAgICAgImx3ICAgICAgICAgICAgICR0NCwgMCglW3RdKSAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gfDE5fDE4fDE3fDE2fAorICAgICAgImx3ICAgICAgICAgICAg
ICR0NSwgNCglW3RdKSAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDIzfDIyfDIxfDIwfAorICAg
ICAgImx3ICAgICAgICAgICAgICR0NiwgOCglW3RdKSAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
fDI3fDI2fDI1fDI0fAorICAgICAgImx3ICAgICAgICAgICAgICR0NywgMTIoJVt0XSkgICAgICAg
ICAgICAgICAgIFxuIiAgLy8gfDMxfDMwfDI5fDI4fAorICAgICAgImFkZGl1ICAgICAgICAgICR0
OSwgJHQ5LCAtMSAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNybCAgICAgICAgICAgICR0
OCwgJHQwLCAxNiAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFh8WHwzfDJ8CisgICAgICAiaW5z
ICAgICAgICAgICAgJHQwLCAkdDQsIDE2LCAxNiAgICAgICAgICAgICAgXG4iICAvLyB8MTd8MTZ8
MXwwfAorICAgICAgImlucyAgICAgICAgICAgICR0NCwgJHQ4LCAwLCAxNiAgICAgICAgICAgICAg
IFxuIiAgLy8gfDE5fDE4fDN8MnwKKyAgICAgICJyYWRkdS53LnFiICAgICAkdDAsICR0MCAgICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwxNysxNisxKzB8CisgICAgICAicmFkZHUudy5xYiAg
ICAgJHQ0LCAkdDQgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MTkrMTgrMysyfAorICAg
ICAgInNocmFfci53ICAgICAgICR0MCwgJHQwLCAyICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
fHQwKzJ8Pj4yCisgICAgICAic2hyYV9yLncgICAgICAgJHQ0LCAkdDQsIDIgICAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8dDQrMnw+PjIKKyAgICAgICJzcmwgICAgICAgICAgICAkdDgsICR0MSwg
MTYgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxYfFh8N3w2fAorICAgICAgImlucyAgICAgICAg
ICAgICR0MSwgJHQ1LCAxNiwgMTYgICAgICAgICAgICAgIFxuIiAgLy8gfDIxfDIwfDV8NHwKKyAg
ICAgICJpbnMgICAgICAgICAgICAkdDUsICR0OCwgMCwgMTYgICAgICAgICAgICAgICBcbiIgIC8v
IHwyMnwyM3w3fDZ8CisgICAgICAicmFkZHUudy5xYiAgICAgJHQxLCAkdDEgICAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyB8MjErMjArNSs0fAorICAgICAgInJhZGR1LncucWIgICAgICR0NSwg
JHQ1ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDIzKzIyKzcrNnwKKyAgICAgICJzaHJh
X3IudyAgICAgICAkdDEsICR0MSwgMiAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHx0MSsyfD4+
MgorICAgICAgInNocmFfci53ICAgICAgICR0NSwgJHQ1LCAyICAgICAgICAgICAgICAgICAgIFxu
IiAgLy8gfHQ1KzJ8Pj4yCisgICAgICAic3JsICAgICAgICAgICAgJHQ4LCAkdDIsIDE2ICAgICAg
ICAgICAgICAgICAgXG4iICAvLyB8WHxYfDExfDEwfAorICAgICAgImlucyAgICAgICAgICAgICR0
MiwgJHQ2LCAxNiwgMTYgICAgICAgICAgICAgIFxuIiAgLy8gfDI1fDI0fDl8OHwKKyAgICAgICJp
bnMgICAgICAgICAgICAkdDYsICR0OCwgMCwgMTYgICAgICAgICAgICAgICBcbiIgIC8vIHwyN3wy
NnwxMXwxMHwKKyAgICAgICJyYWRkdS53LnFiICAgICAkdDIsICR0MiAgICAgICAgICAgICAgICAg
ICAgICBcbiIgIC8vIHwyNSsyNCs5Kzh8CisgICAgICAicmFkZHUudy5xYiAgICAgJHQ2LCAkdDYg
ICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MjcrMjYrMTErMTB8CisgICAgICAic2hyYV9y
LncgICAgICAgJHQyLCAkdDIsIDIgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8dDIrMnw+PjIK
KyAgICAgICJzaHJhX3IudyAgICAgICAkdDYsICR0NiwgMiAgICAgICAgICAgICAgICAgICBcbiIg
IC8vIHx0NSsyfD4+MgorICAgICAgInNybCAgICAgICAgICAgICR0OCwgJHQzLCAxNiAgICAgICAg
ICAgICAgICAgIFxuIiAgLy8gfFh8WHwxNXwxNHwKKyAgICAgICJpbnMgICAgICAgICAgICAkdDMs
ICR0NywgMTYsIDE2ICAgICAgICAgICAgICBcbiIgIC8vIHwyOXwyOHwxM3wxMnwKKyAgICAgICJp
bnMgICAgICAgICAgICAkdDcsICR0OCwgMCwgMTYgICAgICAgICAgICAgICBcbiIgIC8vIHwzMXwz
MHwxNXwxNHwKKyAgICAgICJyYWRkdS53LnFiICAgICAkdDMsICR0MyAgICAgICAgICAgICAgICAg
ICAgICBcbiIgIC8vIHwyOSsyOCsxMysxMnwKKyAgICAgICJyYWRkdS53LnFiICAgICAkdDcsICR0
NyAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwzMSszMCsxNSsxNHwKKyAgICAgICJzaHJh
X3IudyAgICAgICAkdDMsICR0MywgMiAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHx0MysyfD4+
MgorICAgICAgInNocmFfci53ICAgICAgICR0NywgJHQ3LCAyICAgICAgICAgICAgICAgICAgIFxu
IiAgLy8gfHQ3KzJ8Pj4yCisgICAgICAiYWRkaXUgICAgICAgICAgJVtzcmNfcHRyXSwgJVtzcmNf
cHRyXSwgMTYgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAgJVt0XSwgJVt0XSwgMTYgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgJHQwLCAwKCVbZHN0XSkgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgJHQ0LCAxKCVbZHN0XSkgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgJHQxLCAyKCVbZHN0XSkgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgJHQ1LCAzKCVbZHN0XSkgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgJHQyLCA0KCVbZHN0XSkgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgJHQ2LCA1KCVbZHN0XSkgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgJHQzLCA2KCVbZHN0XSkgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgJHQ3LCA3KCVbZHN0XSkgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAiYmd0eiAgICAgICAgICAgJHQ5LCAxYiAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAiIGFkZGl1ICAgICAgICAgJVtkc3RdLCAlW2RzdF0sIDgg
ICAgICAgICAgICAgXG4iCisKKyAgICAgICIyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJhbmRpICAgICAgICAgICAkdDksICVbZHN0X3dpZHRo
XSwgMHg3ICAgICAgICBcbiIgIC8vIHggPSByZXNpZHVlCisgICAgICAiYmVxeiAgICAgICAgICAg
JHQ5LCAzZiAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiIG5vcCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICIyMTogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd3IgICAgICAgICAg
ICAkdDEsIDAoJVtzcmNfcHRyXSkgICAgICAgICAgICBcbiIKKyAgICAgICJsd2wgICAgICAgICAg
ICAkdDEsIDMoJVtzcmNfcHRyXSkgICAgICAgICAgICBcbiIKKyAgICAgICJsd3IgICAgICAgICAg
ICAkdDIsIDAoJVt0XSkgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsd2wgICAgICAgICAg
ICAkdDIsIDMoJVt0XSkgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzcmwgICAgICAgICAg
ICAkdDgsICR0MSwgMTYgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJpbnMgICAgICAgICAg
ICAkdDEsICR0MiwgMTYsIDE2ICAgICAgICAgICAgICBcbiIKKyAgICAgICJpbnMgICAgICAgICAg
ICAkdDIsICR0OCwgMCwgMTYgICAgICAgICAgICAgICBcbiIKKyAgICAgICJyYWRkdS53LnFiICAg
ICAkdDEsICR0MSAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJyYWRkdS53LnFiICAg
ICAkdDIsICR0MiAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzaHJhX3IudyAgICAg
ICAkdDEsICR0MSwgMiAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzaHJhX3IudyAgICAg
ICAkdDIsICR0MiwgMiAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzYiAgICAgICAgICAg
ICAkdDEsIDAoJVtkc3RdKSAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzYiAgICAgICAgICAg
ICAkdDIsIDEoJVtkc3RdKSAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAg
ICAlW3NyY19wdHJdLCAlW3NyY19wdHJdLCA0ICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAg
ICAkdDksICR0OSwgLTIgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAg
ICAlW3RdLCAlW3RdLCA0ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJiZ3R6ICAgICAgICAg
ICAkdDksIDIxYiAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIgYWRkaXUgICAgICAg
ICAlW2RzdF0sICVbZHN0XSwgMiAgICAgICAgICAgICBcbiIKKworICAgICAgIjM6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIi5zZXQgcG9wICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorCisgICAgICA6IFtzcmNfcHRy
XSAiK3IiKHNyY19wdHIpLCBbZHN0XSAiK3IiKGRzdCksIFt0XSAiK3IiKHQpCisgICAgICA6IFtk
c3Rfd2lkdGhdICJyIihkc3Rfd2lkdGgpCisgICAgICA6ICJ0MCIsICJ0MSIsICJ0MiIsICJ0MyIs
ICJ0NCIsICJ0NSIsICJ0NiIsICJ0NyIsICJ0OCIsICJ0OSIpOworfQorCit2b2lkIFNjYWxlUm93
RG93bjRfRFNQUjIoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIF9fYXNt
X18gX192b2xhdGlsZV9fKAorICAgICAgIi5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgorCisgICAgICAic3JsICAgICAgICAgICAgJHQ5LCAlW2RzdF93aWR0
aF0sIDMgICAgICAgICAgXG4iCisgICAgICAiYmVxeiAgICAgICAgICAgJHQ5LCAyZiAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAiIG5vcCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsdyAgICAgICAgICAgICAkdDEsIDAoJVtzcmNf
cHRyXSkgICAgICAgICAgICBcbiIgIC8vIHwzfDJ8MXwwfAorICAgICAgImx3ICAgICAgICAgICAg
ICR0MiwgNCglW3NyY19wdHJdKSAgICAgICAgICAgIFxuIiAgLy8gfDd8Nnw1fDR8CisgICAgICAi
bHcgICAgICAgICAgICAgJHQzLCA4KCVbc3JjX3B0cl0pICAgICAgICAgICAgXG4iICAvLyB8MTF8
MTB8OXw4fAorICAgICAgImx3ICAgICAgICAgICAgICR0NCwgMTIoJVtzcmNfcHRyXSkgICAgICAg
ICAgIFxuIiAgLy8gfDE1fDE0fDEzfDEyfAorICAgICAgImx3ICAgICAgICAgICAgICR0NSwgMTYo
JVtzcmNfcHRyXSkgICAgICAgICAgIFxuIiAgLy8gfDE5fDE4fDE3fDE2fAorICAgICAgImx3ICAg
ICAgICAgICAgICR0NiwgMjAoJVtzcmNfcHRyXSkgICAgICAgICAgIFxuIiAgLy8gfDIzfDIyfDIx
fDIwfAorICAgICAgImx3ICAgICAgICAgICAgICR0NywgMjQoJVtzcmNfcHRyXSkgICAgICAgICAg
IFxuIiAgLy8gfDI3fDI2fDI1fDI0fAorICAgICAgImx3ICAgICAgICAgICAgICR0OCwgMjgoJVtz
cmNfcHRyXSkgICAgICAgICAgIFxuIiAgLy8gfDMxfDMwfDI5fDI4fAorICAgICAgInByZWNyLnFi
LnBoICAgICR0MSwgJHQyLCAkdDEgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDZ8NHwyfDB8Cisg
ICAgICAicHJlY3IucWIucGggICAgJHQyLCAkdDQsICR0MyAgICAgICAgICAgICAgICAgXG4iICAv
LyB8MTR8MTJ8MTB8OHwKKyAgICAgICJwcmVjci5xYi5waCAgICAkdDUsICR0NiwgJHQ1ICAgICAg
ICAgICAgICAgICBcbiIgIC8vIHwyMnwyMHwxOHwxNnwKKyAgICAgICJwcmVjci5xYi5waCAgICAk
dDYsICR0OCwgJHQ3ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwzMHwyOHwyNnwyNHwKKyAgICAg
ICJwcmVjcnEucWIucGggICAkdDEsICR0MiwgJHQxICAgICAgICAgICAgICAgICBcbiIgIC8vIHwx
NHwxMHw2fDJ8CisgICAgICAicHJlY3JxLnFiLnBoICAgJHQ1LCAkdDYsICR0NSAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8MzB8MjZ8MjJ8MTh8CisgICAgICAiYWRkaXUgICAgICAgICAgJVtzcmNf
cHRyXSwgJVtzcmNfcHRyXSwgMzIgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAgJHQ5LCAk
dDksIC0xICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgJHQxLCAw
KCVbZHN0XSkgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgJHQ1LCA0
KCVbZHN0XSkgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYmd0eiAgICAgICAgICAgJHQ5LCAx
YiAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiIGFkZGl1ICAgICAgICAgJVtkc3Rd
LCAlW2RzdF0sIDggICAgICAgICAgICAgXG4iCisKKyAgICAgICIyOiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhbmRpICAgICAgICAgICAkdDks
ICVbZHN0X3dpZHRoXSwgNyAgICAgICAgICBcbiIgIC8vIHJlc2lkdWUKKyAgICAgICJiZXF6ICAg
ICAgICAgICAkdDksIDNmICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIgbm9wICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgIjIxOiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImxidSAg
ICAgICAgICAgICR0MSwgMiglW3NyY19wdHJdKSAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1
ICAgICAgICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDQgICAgIFxuIgorICAgICAgImFkZGl1
ICAgICAgICAgICR0OSwgJHQ5LCAtMSAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNiICAg
ICAgICAgICAgICR0MSwgMCglW2RzdF0pICAgICAgICAgICAgICAgIFxuIgorICAgICAgImJndHog
ICAgICAgICAgICR0OSwgMjFiICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIiBhZGRp
dSAgICAgICAgICVbZHN0XSwgJVtkc3RdLCAxICAgICAgICAgICAgIFxuIgorCisgICAgICAiMzog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiLnNl
dCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICA6IFtz
cmNfcHRyXSAiK3IiKHNyY19wdHIpLCBbZHN0XSAiK3IiKGRzdCkKKyAgICAgIDogW2RzdF93aWR0
aF0gInIiKGRzdF93aWR0aCkKKyAgICAgIDogInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1Iiwg
InQ2IiwgInQ3IiwgInQ4IiwgInQ5Iik7Cit9CisKK3ZvaWQgU2NhbGVSb3dEb3duNEJveF9EU1BS
Mihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgaW50cHRy
X3Qgc3RyaWRlID0gc3JjX3N0cmlkZTsKKyAgY29uc3QgdWludDgqIHMxID0gc3JjX3B0ciArIHN0
cmlkZTsKKyAgY29uc3QgdWludDgqIHMyID0gczEgKyBzdHJpZGU7CisgIGNvbnN0IHVpbnQ4KiBz
MyA9IHMyICsgc3RyaWRlOworCisgIF9fYXNtX18gX192b2xhdGlsZV9fKAorICAgICAgIi5zZXQg
cHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIuc2V0IG5v
cmVvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisKKyAgICAgICJzcmwgICAg
ICAgICAgICR0OSwgJVtkc3Rfd2lkdGhdLCAxICAgICAgICAgXG4iCisgICAgICAiYW5kaSAgICAg
ICAgICAkdDgsICVbZHN0X3dpZHRoXSwgMSAgICAgICAgIFxuIgorCisgICAgICAiMTogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImx3ICAgICAgICAg
ICAgJHQwLCAwKCVbc3JjX3B0cl0pICAgICAgICAgICBcbiIgIC8vIHwzfDJ8MXwwfAorICAgICAg
Imx3ICAgICAgICAgICAgJHQxLCAwKCVbczFdKSAgICAgICAgICAgICAgICBcbiIgIC8vIHw3fDZ8
NXw0fAorICAgICAgImx3ICAgICAgICAgICAgJHQyLCAwKCVbczJdKSAgICAgICAgICAgICAgICBc
biIgIC8vIHwxMXwxMHw5fDh8CisgICAgICAibHcgICAgICAgICAgICAkdDMsIDAoJVtzM10pICAg
ICAgICAgICAgICAgIFxuIiAgLy8gfDE1fDE0fDEzfDEyfAorICAgICAgImx3ICAgICAgICAgICAg
JHQ0LCA0KCVbc3JjX3B0cl0pICAgICAgICAgICBcbiIgIC8vIHwxOXwxOHwxN3wxNnwKKyAgICAg
ICJsdyAgICAgICAgICAgICR0NSwgNCglW3MxXSkgICAgICAgICAgICAgICAgXG4iICAvLyB8MjN8
MjJ8MjF8MjB8CisgICAgICAibHcgICAgICAgICAgICAkdDYsIDQoJVtzMl0pICAgICAgICAgICAg
ICAgIFxuIiAgLy8gfDI3fDI2fDI1fDI0fAorICAgICAgImx3ICAgICAgICAgICAgJHQ3LCA0KCVb
czNdKSAgICAgICAgICAgICAgICBcbiIgIC8vIHwzMXwzMHwyOXwyOHwKKyAgICAgICJyYWRkdS53
LnFiICAgICR0MCwgJHQwICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MyArIDIgKyAxICsg
MHwKKyAgICAgICJyYWRkdS53LnFiICAgICR0MSwgJHQxICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvLyB8NyArIDYgKyA1ICsgNHwKKyAgICAgICJyYWRkdS53LnFiICAgICR0MiwgJHQyICAgICAg
ICAgICAgICAgICAgICAgXG4iICAvLyB8MTEgKyAxMCArIDkgKyA4fAorICAgICAgInJhZGR1Lncu
cWIgICAgJHQzLCAkdDMgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwxNSArIDE0ICsgMTMg
KyAxMnwKKyAgICAgICJyYWRkdS53LnFiICAgICR0NCwgJHQ0ICAgICAgICAgICAgICAgICAgICAg
XG4iICAvLyB8MTkgKyAxOCArIDE3ICsgMTZ8CisgICAgICAicmFkZHUudy5xYiAgICAkdDUsICR0
NSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDIzICsgMjIgKyAyMSArIDIwfAorICAgICAg
InJhZGR1LncucWIgICAgJHQ2LCAkdDYgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwyNyAr
IDI2ICsgMjUgKyAyNHwKKyAgICAgICJyYWRkdS53LnFiICAgICR0NywgJHQ3ICAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyB8MzEgKyAzMCArIDI5ICsgMjh8CisgICAgICAiYWRkICAgICAgICAg
ICAkdDAsICR0MCwgJHQxICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZCAgICAgICAgICAg
JHQxLCAkdDIsICR0MyAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGQgICAgICAgICAgICR0
MCwgJHQwLCAkdDEgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkICAgICAgICAgICAkdDQs
ICR0NCwgJHQ1ICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZCAgICAgICAgICAgJHQ2LCAk
dDYsICR0NyAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGQgICAgICAgICAgICR0NCwgJHQ0
LCAkdDYgICAgICAgICAgICAgICAgXG4iCisgICAgICAic2hyYV9yLncgICAgICAkdDAsICR0MCwg
NCAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNocmFfci53ICAgICAgJHQ0LCAkdDQsIDQg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzYiAgICAgICAgICAgICR0MCwgMCglW2RzdF0p
ICAgICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAkdDQsIDEoJVtkc3RdKSAg
ICAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAgICAgJVtzcmNfcHRyXSwgJVtzcmNf
cHRyXSwgOCAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAgICVbczFdLCAlW3MxXSwgOCAgICAg
ICAgICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAlW3MyXSwgJVtzMl0sIDggICAgICAg
ICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAgICAgJVtzM10sICVbczNdLCA4ICAgICAgICAg
ICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAgICR0OSwgJHQ5LCAtMSAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAiYmd0eiAgICAgICAgICAkdDksIDFiICAgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgIiBhZGRpdSAgICAgICAgJVtkc3RdLCAlW2RzdF0sIDIgICAgICAgICAgICBc
biIKKyAgICAgICJiZXF6ICAgICAgICAgICR0OCwgMmYgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAiIG5vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
CisgICAgICAibHcgICAgICAgICAgICAkdDAsIDAoJVtzcmNfcHRyXSkgICAgICAgICAgIFxuIiAg
Ly8gfDN8MnwxfDB8CisgICAgICAibHcgICAgICAgICAgICAkdDEsIDAoJVtzMV0pICAgICAgICAg
ICAgICAgIFxuIiAgLy8gfDd8Nnw1fDR8CisgICAgICAibHcgICAgICAgICAgICAkdDIsIDAoJVtz
Ml0pICAgICAgICAgICAgICAgIFxuIiAgLy8gfDExfDEwfDl8OHwKKyAgICAgICJsdyAgICAgICAg
ICAgICR0MywgMCglW3MzXSkgICAgICAgICAgICAgICAgXG4iICAvLyB8MTV8MTR8MTN8MTJ8Cisg
ICAgICAicmFkZHUudy5xYiAgICAkdDAsICR0MCAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
fDMgKyAyICsgMSArIDB8CisgICAgICAicmFkZHUudy5xYiAgICAkdDEsICR0MSAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgLy8gfDcgKyA2ICsgNSArIDR8CisgICAgICAicmFkZHUudy5xYiAgICAk
dDIsICR0MiAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDExICsgMTAgKyA5ICsgOHwKKyAg
ICAgICJyYWRkdS53LnFiICAgICR0MywgJHQzICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8
MTUgKyAxNCArIDEzICsgMTJ8CisgICAgICAiYWRkICAgICAgICAgICAkdDAsICR0MCwgJHQxICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgImFkZCAgICAgICAgICAgJHQxLCAkdDIsICR0MyAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJhZGQgICAgICAgICAgICR0MCwgJHQwLCAkdDEgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAic2hyYV9yLncgICAgICAkdDAsICR0MCwgNCAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgInNiICAgICAgICAgICAgJHQwLCAwKCVbZHN0XSkgICAgICAgICAg
ICAgICBcbiIKKworICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKyAgICAgICIuc2V0IHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCisKKyAgICAgIDogW3NyY19wdHJdICIrciIoc3JjX3B0ciksIFtkc3RdICIrciIoZHN0
KSwgW3MxXSAiK3IiKHMxKSwgW3MyXSAiK3IiKHMyKSwKKyAgICAgICAgW3MzXSAiK3IiKHMzKQor
ICAgICAgOiBbZHN0X3dpZHRoXSAiciIoZHN0X3dpZHRoKQorICAgICAgOiAidDAiLCAidDEiLCAi
dDIiLCAidDMiLCAidDQiLCAidDUiLCAidDYiLCAidDciLCAidDgiLCAidDkiKTsKK30KKwordm9p
ZCBTY2FsZVJvd0Rvd24zNF9EU1BSMihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lk
dGgpIHsKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAiLnNldCBwdXNoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiLnNldCBub3Jlb3Jk
ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiMTogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
bHcgICAgICAgICAgICAgICR0MSwgMCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICAgXG4iICAv
LyB8M3wyfDF8MHwKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQyLCA0KCVbc3JjX3B0cl0pICAg
ICAgICAgICAgICAgICBcbiIgIC8vIHw3fDZ8NXw0fAorICAgICAgImx3ICAgICAgICAgICAgICAk
dDMsIDgoJVtzcmNfcHRyXSkgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDExfDEwfDl8OHwKKyAg
ICAgICJsdyAgICAgICAgICAgICAgJHQ0LCAxMiglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBc
biIgIC8vIHwxNXwxNHwxM3wxMnwKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQ1LCAxNiglW3Ny
Y19wdHJdKSAgICAgICAgICAgICAgICBcbiIgIC8vIHwxOXwxOHwxN3wxNnwKKyAgICAgICJsdyAg
ICAgICAgICAgICAgJHQ2LCAyMCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBcbiIgIC8vIHwy
M3wyMnwyMXwyMHwKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQ3LCAyNCglW3NyY19wdHJdKSAg
ICAgICAgICAgICAgICBcbiIgIC8vIHwyN3wyNnwyNXwyNHwKKyAgICAgICJsdyAgICAgICAgICAg
ICAgJHQ4LCAyOCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBcbiIgIC8vIHwzMXwzMHwyOXwy
OHwKKyAgICAgICJwcmVjcnEucWIucGggICAgJHQwLCAkdDIsICR0NCAgICAgICAgICAgICAgICAg
ICAgICBcbiIgIC8vIHw3fDV8MTV8MTN8CisgICAgICAicHJlY3JxLnFiLnBoICAgICR0OSwgJHQ2
LCAkdDggICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MjN8MjF8MzF8MzB8CisgICAgICAi
YWRkaXUgICAgICAgICAgICVbZHN0X3dpZHRoXSwgJVtkc3Rfd2lkdGhdLCAtMjQgICAgXG4iCisg
ICAgICAiaW5zICAgICAgICAgICAgICR0MSwgJHQxLCA4LCAxNiAgICAgICAgICAgICAgICAgICAg
XG4iICAvLyB8M3wxfDB8WHwKKyAgICAgICJpbnMgICAgICAgICAgICAgJHQ0LCAkdDAsIDgsIDE2
ICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxYfDE1fDEzfDEyfAorICAgICAgImlucyAgICAg
ICAgICAgICAkdDUsICR0NSwgOCwgMTYgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE5fDE3
fDE2fFh8CisgICAgICAiaW5zICAgICAgICAgICAgICR0OCwgJHQ5LCA4LCAxNiAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyB8WHwzMXwyOXwyOHwKKyAgICAgICJhZGRpdSAgICAgICAgICAgJVtz
cmNfcHRyXSwgJVtzcmNfcHRyXSwgMzIgICAgICAgICBcbiIKKyAgICAgICJwYWNrcmwucGggICAg
ICAgJHQwLCAkdDMsICR0MCAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHw5fDh8N3w1fAor
ICAgICAgInBhY2tybC5waCAgICAgICAkdDksICR0NywgJHQ5ICAgICAgICAgICAgICAgICAgICAg
IFxuIiAgLy8gfDI1fDI0fDIzfDIxfAorICAgICAgInByZXBlbmQgICAgICAgICAkdDEsICR0Miwg
OCAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDR8M3wxfDB8CisgICAgICAicHJlcGVu
ZCAgICAgICAgICR0MywgJHQ0LCAyNCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MTV8
MTN8MTJ8MTF8CisgICAgICAicHJlcGVuZCAgICAgICAgICR0NSwgJHQ2LCA4ICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iICAvLyB8MjB8MTl8MTd8MTZ8CisgICAgICAicHJlcGVuZCAgICAgICAg
ICR0NywgJHQ4LCAyNCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MzF8Mjl8Mjh8Mjd8
CisgICAgICAic3cgICAgICAgICAgICAgICR0MSwgMCglW2RzdF0pICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICR0MCwgNCglW2RzdF0pICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICR0MywgOCglW2RzdF0pICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICR0NSwgMTIoJVtkc3Rd
KSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICR0OSwgMTYo
JVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAgICAgICR0
NywgMjAoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYm5leiAgICAgICAg
ICAgICVbZHN0X3dpZHRoXSwgMWIgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiIGFkZGl1
ICAgICAgICAgICVbZHN0XSwgJVtkc3RdLCAyNCAgICAgICAgICAgICAgICAgXG4iCisgICAgICAi
LnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICA6IFtzcmNfcHRyXSAiK3IiKHNyY19wdHIpLCBbZHN0XSAiK3IiKGRzdCksIFtkc3Rfd2lk
dGhdICIrciIoZHN0X3dpZHRoKQorICAgICAgOgorICAgICAgOiAidDAiLCAidDEiLCAidDIiLCAi
dDMiLCAidDQiLCAidDUiLCAidDYiLCAidDciLCAidDgiLCAidDkiKTsKK30KKwordm9pZCBTY2Fs
ZVJvd0Rvd24zNF8wX0JveF9EU1BSMihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIF9fYXNtX18gX192b2xhdGlsZV9fKAorICAgICAgIi5z
ZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAiLnNldCBub3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJyZXBsLnBoICAgICAgICAgICAkdDMsIDMgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIiAgLy8gMHgwMDAzMDAwMworCisgICAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJsdyAgICAgICAgICAgICAgICAkdDAs
IDAoJVtzcmNfcHRyXSkgICAgICAgICAgICAgIFxuIiAgLy8gfFMzfFMyfFMxfFMwfAorICAgICAg
Imx3eCAgICAgICAgICAgICAgICR0MSwgJVtzcmNfc3RyaWRlXSglW3NyY19wdHJdKSAgXG4iICAv
LyB8VDN8VDJ8VDF8VDB8CisgICAgICAicm90ciAgICAgICAgICAgICAgJHQyLCAkdDAsIDggICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHxTMHxTM3xTMnxTMXwKKyAgICAgICJyb3RyICAgICAg
ICAgICAgICAkdDYsICR0MSwgOCAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFQwfFQzfFQy
fFQxfAorICAgICAgIm11bGV1X3MucGgucWJsICAgICR0NCwgJHQyLCAkdDMgICAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8UzAqM3xTMyozfAorICAgICAgIm11bGV1X3MucGgucWJsICAgICR0NSwg
JHQ2LCAkdDMgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8VDAqM3xUMyozfAorICAgICAgImFu
ZGkgICAgICAgICAgICAgICR0MCwgJHQyLCAweEZGRkYgICAgICAgICAgICAgICAgXG4iICAvLyB8
MHwwfFMyfFMxfAorICAgICAgImFuZGkgICAgICAgICAgICAgICR0MSwgJHQ2LCAweEZGRkYgICAg
ICAgICAgICAgICAgXG4iICAvLyB8MHwwfFQyfFQxfAorICAgICAgInJhZGR1LncucWIgICAgICAg
ICR0MCwgJHQwICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicmFkZHUudy5xYiAg
ICAgICAgJHQxLCAkdDEgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzaHJhX3Iu
dyAgICAgICAgICAkdDAsICR0MCwgMSAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNo
cmFfci53ICAgICAgICAgICR0MSwgJHQxLCAxICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAicHJlY2V1LnBoLnFiciAgICAgJHQyLCAkdDIgICAgICAgICAgICAgICAgICAgICAgICBcbiIg
IC8vIHwwfFMyfDB8UzF8CisgICAgICAicHJlY2V1LnBoLnFiciAgICAgJHQ2LCAkdDYgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwwfFQyfDB8VDF8CisgICAgICAicm90ciAgICAgICAg
ICAgICAgJHQyLCAkdDIsIDE2ICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwwfFMxfDB8UzJ8
CisgICAgICAicm90ciAgICAgICAgICAgICAgJHQ2LCAkdDYsIDE2ICAgICAgICAgICAgICAgICAg
ICBcbiIgIC8vIHwwfFQxfDB8VDJ8CisgICAgICAiYWRkdS5waCAgICAgICAgICAgJHQyLCAkdDIs
ICR0NCAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGR1LnBoICAgICAgICAgICAkdDYs
ICR0NiwgJHQ1ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNsbCAgICAgICAgICAgICAg
ICR0NSwgJHQwLCAxICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkICAgICAgICAg
ICAgICAgJHQwLCAkdDUsICR0MCAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzaHJhX3Iu
cGggICAgICAgICAkdDIsICR0MiwgMiAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNo
cmFfci5waCAgICAgICAgICR0NiwgJHQ2LCAyICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAic2hsbC5waCAgICAgICAgICAgJHQ0LCAkdDIsIDEgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJhZGRxLnBoICAgICAgICAgICAkdDQsICR0NCwgJHQyICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgImFkZHUgICAgICAgICAgICAgICR0MCwgJHQwLCAkdDEgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAgICAgJVtzcmNfcHRyXSwgJVtzcmNfcHRy
XSwgNCAgICAgICBcbiIKKyAgICAgICJzaHJhX3IudyAgICAgICAgICAkdDAsICR0MCwgMiAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZHUucGggICAgICAgICAgICR0NiwgJHQ2LCAk
dDQgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic2hyYV9yLnBoICAgICAgICAgJHQ2LCAk
dDYsIDIgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzcmwgICAgICAgICAgICAgICAk
dDEsICR0NiwgMTYgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAgICAg
ICAgICVbZHN0X3dpZHRoXSwgJVtkc3Rfd2lkdGhdLCAtMyAgXG4iCisgICAgICAic2IgICAgICAg
ICAgICAgICAgJHQxLCAwKCVbZF0pICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzYiAg
ICAgICAgICAgICAgICAkdDAsIDEoJVtkXSkgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
InNiICAgICAgICAgICAgICAgICR0NiwgMiglW2RdKSAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAiYmd0eiAgICAgICAgICAgICAgJVtkc3Rfd2lkdGhdLCAxYiAgICAgICAgICAgICAgICBc
biIKKyAgICAgICIgYWRkaXUgICAgICAgICAgICAlW2RdLCAlW2RdLCAzICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgIjM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgIDogW3NyY19wdHJdICIrciIoc3JjX3B0ciksIFtzcmNf
c3RyaWRlXSAiK3IiKHNyY19zdHJpZGUpLCBbZF0gIityIihkKSwKKyAgICAgICAgW2RzdF93aWR0
aF0gIityIihkc3Rfd2lkdGgpCisgICAgICA6CisgICAgICA6ICJ0MCIsICJ0MSIsICJ0MiIsICJ0
MyIsICJ0NCIsICJ0NSIsICJ0NiIpOworfQorCit2b2lkIFNjYWxlUm93RG93bjM0XzFfQm94X0RT
UFIyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgp
IHsKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAiLnNldCBwdXNoICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIi5zZXQgbm9yZW9yZGVy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJyZXBsLnBo
ICAgICAgICAgICAkdDIsIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyAweDAw
MDMwMDAzCisKKyAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibHcgICAgICAgICAgICAgICAgJHQwLCAwKCVbc3JjX3B0
cl0pICAgICAgICAgICAgICAgIFxuIiAgLy8gfFMzfFMyfFMxfFMwfAorICAgICAgImx3eCAgICAg
ICAgICAgICAgICR0MSwgJVtzcmNfc3RyaWRlXSglW3NyY19wdHJdKSAgICBcbiIgIC8vIHxUM3xU
MnxUMXxUMHwKKyAgICAgICJyb3RyICAgICAgICAgICAgICAkdDQsICR0MCwgOCAgICAgICAgICAg
ICAgICAgICAgICAgXG4iICAvLyB8UzB8UzN8UzJ8UzF8CisgICAgICAicm90ciAgICAgICAgICAg
ICAgJHQ2LCAkdDEsIDggICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFQwfFQzfFQyfFQx
fAorICAgICAgIm11bGV1X3MucGgucWJsICAgICR0MywgJHQ0LCAkdDIgICAgICAgICAgICAgICAg
ICAgICBcbiIgIC8vIHxTMCozfFMzKjN8CisgICAgICAibXVsZXVfcy5waC5xYmwgICAgJHQ1LCAk
dDYsICR0MiAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFQwKjN8VDMqM3wKKyAgICAgICJh
bmRpICAgICAgICAgICAgICAkdDAsICR0NCwgMHhGRkZGICAgICAgICAgICAgICAgICAgXG4iICAv
LyB8MHwwfFMyfFMxfAorICAgICAgImFuZGkgICAgICAgICAgICAgICR0MSwgJHQ2LCAweEZGRkYg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwwfDB8VDJ8VDF8CisgICAgICAicmFkZHUudy5xYiAg
ICAgICAgJHQwLCAkdDAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInJhZGR1
LncucWIgICAgICAgICR0MSwgJHQxICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICJzaHJhX3IudyAgICAgICAgICAkdDAsICR0MCwgMSAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAic2hyYV9yLncgICAgICAgICAgJHQxLCAkdDEsIDEgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgInByZWNldS5waC5xYnIgICAgICR0NCwgJHQ0ICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIgIC8vIHwwfFMyfDB8UzF8CisgICAgICAicHJlY2V1LnBoLnFiciAgICAg
JHQ2LCAkdDYgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDB8VDJ8MHxUMXwKKyAg
ICAgICJyb3RyICAgICAgICAgICAgICAkdDQsICR0NCwgMTYgICAgICAgICAgICAgICAgICAgICAg
XG4iICAvLyB8MHxTMXwwfFMyfAorICAgICAgInJvdHIgICAgICAgICAgICAgICR0NiwgJHQ2LCAx
NiAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwwfFQxfDB8VDJ8CisgICAgICAiYWRkdS5w
aCAgICAgICAgICAgJHQ0LCAkdDQsICR0MyAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
ImFkZHUucGggICAgICAgICAgICR0NiwgJHQ2LCAkdDUgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJzaHJhX3IucGggICAgICAgICAkdDYsICR0NiwgMiAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAic2hyYV9yLnBoICAgICAgICAgJHQ0LCAkdDQsIDIgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgImFkZHUucGggICAgICAgICAgICR0NiwgJHQ2LCAkdDQgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAgICAgICAlW3NyY19wdHJd
LCAlW3NyY19wdHJdLCA0ICAgICAgICAgXG4iCisgICAgICAic2hyYV9yLnBoICAgICAgICAgJHQ2
LCAkdDYsIDEgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZHUgICAgICAgICAg
ICAgICR0MCwgJHQwLCAkdDEgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAg
ICAgICAgICAgICAlW2RzdF93aWR0aF0sICVbZHN0X3dpZHRoXSwgLTMgICAgXG4iCisgICAgICAi
c2hyYV9yLncgICAgICAgICAgJHQwLCAkdDAsIDEgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgInNybCAgICAgICAgICAgICAgICR0MSwgJHQ2LCAxNiAgICAgICAgICAgICAgICAgICAg
ICBcbiIKKyAgICAgICJzYiAgICAgICAgICAgICAgICAkdDEsIDAoJVtkXSkgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgICAgJHQwLCAxKCVbZF0pICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNiICAgICAgICAgICAgICAgICR0NiwgMiglW2Rd
KSAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJiZ3R6ICAgICAgICAgICAgICAlW2Rz
dF93aWR0aF0sIDFiICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiIGFkZGl1ICAgICAgICAg
ICAgJVtkXSwgJVtkXSwgMyAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIjM6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIu
c2V0IHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICA6IFtzcmNfcHRyXSAiK3IiKHNyY19wdHIpLCBbc3JjX3N0cmlkZV0gIityIihzcmNfc3Ry
aWRlKSwgW2RdICIrciIoZCksCisgICAgICAgIFtkc3Rfd2lkdGhdICIrciIoZHN0X3dpZHRoKQor
ICAgICAgOgorICAgICAgOiAidDAiLCAidDEiLCAidDIiLCAidDMiLCAidDQiLCAidDUiLCAidDYi
KTsKK30KKwordm9pZCBTY2FsZVJvd0Rvd24zOF9EU1BSMihjb25zdCB1aW50OCogc3JjX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgpIHsKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAiLnNldCBw
dXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIi5zZXQg
bm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgIjE6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJs
dyAgICAgICAgICR0MCwgMCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICAgXG4iICAvLyB8M3wy
fDF8MHwKKyAgICAgICJsdyAgICAgICAgICR0MSwgNCglW3NyY19wdHJdKSAgICAgICAgICAgICAg
ICAgXG4iICAvLyB8N3w2fDV8NHwKKyAgICAgICJsdyAgICAgICAgICR0MiwgOCglW3NyY19wdHJd
KSAgICAgICAgICAgICAgICAgXG4iICAvLyB8MTF8MTB8OXw4fAorICAgICAgImx3ICAgICAgICAg
JHQzLCAxMiglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBcbiIgIC8vIHwxNXwxNHwxM3wxMnwK
KyAgICAgICJsdyAgICAgICAgICR0NCwgMTYoJVtzcmNfcHRyXSkgICAgICAgICAgICAgICAgXG4i
ICAvLyB8MTl8MTh8MTd8MTZ8CisgICAgICAibHcgICAgICAgICAkdDUsIDIwKCVbc3JjX3B0cl0p
ICAgICAgICAgICAgICAgIFxuIiAgLy8gfDIzfDIyfDIxfDIwfAorICAgICAgImx3ICAgICAgICAg
JHQ2LCAyNCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBcbiIgIC8vIHwyN3wyNnwyNXwyNHwK
KyAgICAgICJsdyAgICAgICAgICR0NywgMjgoJVtzcmNfcHRyXSkgICAgICAgICAgICAgICAgXG4i
ICAvLyB8MzF8MzB8Mjl8Mjh8CisgICAgICAid3NiaCAgICAgICAkdDAsICR0MCAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIiAgLy8gfDJ8M3wwfDF8CisgICAgICAid3NiaCAgICAgICAkdDYs
ICR0NiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDI2fDI3fDI0fDI1fAorICAg
ICAgInNybCAgICAgICAgJHQwLCAkdDAsIDggICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8v
IHxYfDJ8M3wwfAorICAgICAgInNybCAgICAgICAgJHQzLCAkdDMsIDE2ICAgICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIHxYfFh8MTV8MTR8CisgICAgICAic3JsICAgICAgICAkdDUsICR0NSwg
MTYgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFh8WHwyM3wyMnwKKyAgICAgICJzcmwg
ICAgICAgICR0NywgJHQ3LCAxNiAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8WHxYfDMx
fDMwfAorICAgICAgImlucyAgICAgICAgJHQxLCAkdDIsIDI0LCA4ICAgICAgICAgICAgICAgICAg
ICBcbiIgIC8vIHw4fDZ8NXw0fAorICAgICAgImlucyAgICAgICAgJHQ2LCAkdDUsIDAsIDggICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwyNnwyN3wyNHwyMnwKKyAgICAgICJpbnMgICAgICAg
ICR0MSwgJHQwLCAwLCAxNiAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8OHw2fDN8MHwKKyAg
ICAgICJpbnMgICAgICAgICR0NiwgJHQ3LCAyNCwgOCAgICAgICAgICAgICAgICAgICAgXG4iICAv
LyB8MzB8Mjd8MjR8MjJ8CisgICAgICAicHJlcGVuZCAgICAkdDIsICR0MywgMjQgICAgICAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gfFh8MTV8MTR8MTF8CisgICAgICAiaW5zICAgICAgICAkdDQs
ICR0NCwgMTYsIDggICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE5fDE2fDE3fFh8CisgICAg
ICAiaW5zICAgICAgICAkdDQsICR0MiwgMCwgMTYgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
fDE5fDE2fDE0fDExfAorICAgICAgImFkZGl1ICAgICAgJVtzcmNfcHRyXSwgJVtzcmNfcHRyXSwg
MzIgICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICVbZHN0X3dpZHRoXSwgJVtkc3Rfd2lk
dGhdLCAtMTIgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAkdDgsJVtkc3Rfd2lkdGhdLCAtMTIg
ICAgICAgICAgICAgIFxuIgorICAgICAgInN3ICAgICAgICAgJHQxLCAwKCVbZHN0XSkgICAgICAg
ICAgICAgICAgICAgICBcbiIKKyAgICAgICJzdyAgICAgICAgICR0NCwgNCglW2RzdF0pICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAic3cgICAgICAgICAkdDYsIDgoJVtkc3RdKSAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgImJnZXogICAgICAgJHQ4LCAxYiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICIgYWRkaXUgICAgICVbZHN0XSwgJVtkc3RdLCAx
MiAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgOiBbc3JjX3B0cl0gIityIihzcmNfcHRyKSwg
W2RzdF0gIityIihkc3QpLCBbZHN0X3dpZHRoXSAiK3IiKGRzdF93aWR0aCkKKyAgICAgIDoKKyAg
ICAgIDogInQwIiwgInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwgInQ2IiwgInQ3IiwgInQ4
Iik7Cit9CisKK3ZvaWQgU2NhbGVSb3dEb3duMzhfMl9Cb3hfRFNQUjIoY29uc3QgdWludDgqIHNy
Y19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgeworICBpbnRwdHJf
dCBzdHJpZGUgPSBzcmNfc3RyaWRlOworICBjb25zdCB1aW50OCogdCA9IHNyY19wdHIgKyBzdHJp
ZGU7CisgIGNvbnN0IGludCBjID0gMHgyQUFBOworCisgIF9fYXNtX18gX192b2xhdGlsZV9fKAor
ICAgICAgIi5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAiLnNldCBub3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKKworICAgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibHcgICAgICAgICAgICAgICR0MCwgMCglW3NyY19wdHJd
KSAgICAgICAgICAgICAgICBcbiIgIC8vIHxTM3xTMnxTMXxTMHwKKyAgICAgICJsdyAgICAgICAg
ICAgICAgJHQxLCA0KCVbc3JjX3B0cl0pICAgICAgICAgICAgICAgIFxuIiAgLy8gfFM3fFM2fFM1
fFM0fAorICAgICAgImx3ICAgICAgICAgICAgICAkdDIsIDAoJVt0XSkgICAgICAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8VDN8VDJ8VDF8VDB8CisgICAgICAibHcgICAgICAgICAgICAgICR0Mywg
NCglW3RdKSAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxUN3xUNnxUNXxUNHwKKyAgICAg
ICJyb3RyICAgICAgICAgICAgJHQxLCAkdDEsIDE2ICAgICAgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gfFM1fFM0fFM3fFM2fAorICAgICAgInBhY2tybC5waCAgICAgICAkdDQsICR0MSwgJHQzICAg
ICAgICAgICAgICAgICAgICAgXG4iICAvLyB8Uzd8UzZ8VDd8VDZ8CisgICAgICAicGFja3JsLnBo
ICAgICAgICR0NSwgJHQzLCAkdDEgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxUNXxUNHxT
NXxTNHwKKyAgICAgICJyYWRkdS53LnFiICAgICAgJHQ0LCAkdDQgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIiAgLy8gUzcrUzYrVDcrVDYKKyAgICAgICJyYWRkdS53LnFiICAgICAgJHQ1LCAk
dDUgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gVDUrVDQrUzUrUzQKKyAgICAgICJw
cmVjcnEucWIucGggICAgJHQ2LCAkdDAsICR0MiAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
fFMzfFMxfFQzfFQxfAorICAgICAgInByZWNycS5xYi5waCAgICAkdDYsICR0NiwgJHQ2ICAgICAg
ICAgICAgICAgICAgICAgXG4iICAvLyB8UzN8VDN8UzN8VDN8CisgICAgICAic3JsICAgICAgICAg
ICAgICR0NCwgJHQ0LCAyICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHQ0IC8gNAorICAg
ICAgInNybCAgICAgICAgICAgICAkdDYsICR0NiwgMTYgICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvLyB8MHwwfFMzfFQzfAorICAgICAgInJhZGR1LncucWIgICAgICAkdDYsICR0NiAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iICAvLyAwKzArUzMrVDMKKyAgICAgICJhZGR1ICAgICAgICAg
ICAgJHQ2LCAkdDUsICR0NiAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm11bCAgICAg
ICAgICAgICAkdDYsICR0NiwgJVtjXSAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB0NiAqIDB4
MkFBQQorICAgICAgInNsbCAgICAgICAgICAgICAkdDAsICR0MCwgOCAgICAgICAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8UzJ8UzF8UzB8MHwKKyAgICAgICJzbGwgICAgICAgICAgICAgJHQyLCAk
dDIsIDggICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFQyfFQxfFQwfDB8CisgICAgICAi
cmFkZHUudy5xYiAgICAgICR0MCwgJHQwICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8v
IFMyK1MxK1MwKzAKKyAgICAgICJyYWRkdS53LnFiICAgICAgJHQyLCAkdDIgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gVDIrVDErVDArMAorICAgICAgImFkZHUgICAgICAgICAgICAk
dDAsICR0MCwgJHQyICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibXVsICAgICAgICAg
ICAgICR0MCwgJHQwLCAlW2NdICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHQwICogMHgyQUFB
CisgICAgICAiYWRkaXUgICAgICAgICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDggICAgICAg
ICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAgICAgJVt0XSwgJVt0XSwgOCAgICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAgICAgICAlW2RzdF93aWR0aF0sICVbZHN0X3dp
ZHRoXSwgLTMgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAgICVbZHN0X3B0cl0sICVbZHN0
X3B0cl0sIDMgICAgICAgICBcbiIKKyAgICAgICJzcmwgICAgICAgICAgICAgJHQ2LCAkdDYsIDE2
ICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNybCAgICAgICAgICAgICAkdDAsICR0
MCwgMTYgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic2IgICAgICAgICAgICAgICR0
NCwgLTEoJVtkc3RfcHRyXSkgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzYiAgICAgICAgICAg
ICAgJHQ2LCAtMiglW2RzdF9wdHJdKSAgICAgICAgICAgICAgIFxuIgorICAgICAgImJndHogICAg
ICAgICAgICAlW2RzdF93aWR0aF0sIDFiICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiIHNi
ICAgICAgICAgICAgICR0MCwgLTMoJVtkc3RfcHRyXSkgICAgICAgICAgICAgICBcbiIKKyAgICAg
ICIuc2V0IHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgOiBbc3JjX3B0cl0gIityIihzcmNfcHRyKSwgW2RzdF9wdHJdICIrciIoZHN0X3B0ciks
IFt0XSAiK3IiKHQpLAorICAgICAgICBbZHN0X3dpZHRoXSAiK3IiKGRzdF93aWR0aCkKKyAgICAg
IDogW2NdICJyIihjKQorICAgICAgOiAidDAiLCAidDEiLCAidDIiLCAidDMiLCAidDQiLCAidDUi
LCAidDYiKTsKK30KKwordm9pZCBTY2FsZVJvd0Rvd24zOF8zX0JveF9EU1BSMihjb25zdCB1aW50
OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIGlu
dHB0cl90IHN0cmlkZSA9IHNyY19zdHJpZGU7CisgIGNvbnN0IHVpbnQ4KiBzMSA9IHNyY19wdHIg
KyBzdHJpZGU7CisgIHN0cmlkZSArPSBzdHJpZGU7CisgIGNvbnN0IHVpbnQ4KiBzMiA9IHNyY19w
dHIgKyBzdHJpZGU7CisgIGNvbnN0IGludCBjMSA9IDB4MUM3MTsKKyAgY29uc3QgaW50IGMyID0g
MHgyQUFBOworCisgIF9fYXNtX18gX192b2xhdGlsZV9fKAorICAgICAgIi5zZXQgcHVzaCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiLnNldCBub3Jl
b3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKworICAgICAgIjE6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAibHcgICAgICAgICAgICAgICR0MCwgMCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBcbiIg
IC8vIHxTM3xTMnxTMXxTMHwKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQxLCA0KCVbc3JjX3B0
cl0pICAgICAgICAgICAgICAgIFxuIiAgLy8gfFM3fFM2fFM1fFM0fAorICAgICAgImx3ICAgICAg
ICAgICAgICAkdDIsIDAoJVtzMV0pICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8VDN8VDJ8
VDF8VDB8CisgICAgICAibHcgICAgICAgICAgICAgICR0MywgNCglW3MxXSkgICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIHxUN3xUNnxUNXxUNHwKKyAgICAgICJsdyAgICAgICAgICAgICAgJHQ0
LCAwKCVbczJdKSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFIzfFIyfFIxfFIwfAorICAg
ICAgImx3ICAgICAgICAgICAgICAkdDUsIDQoJVtzMl0pICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvLyB8Ujd8UjZ8UjV8UjR8CisgICAgICAicm90ciAgICAgICAgICAgICR0MSwgJHQxLCAxNiAg
ICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxTNXxTNHxTN3xTNnwKKyAgICAgICJwYWNrcmwu
cGggICAgICAgJHQ2LCAkdDEsICR0MyAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFM3fFM2
fFQ3fFQ2fAorICAgICAgInJhZGR1LncucWIgICAgICAkdDYsICR0NiAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyBTNytTNitUNytUNgorICAgICAgInBhY2tybC5waCAgICAgICAkdDcs
ICR0MywgJHQxICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8VDV8VDR8UzV8UzR8CisgICAg
ICAicmFkZHUudy5xYiAgICAgICR0NywgJHQ3ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIg
IC8vIFQ1K1Q0K1M1K1M0CisgICAgICAic2xsICAgICAgICAgICAgICR0OCwgJHQ1LCAxNiAgICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHxSNXxSNHwwfDB8CisgICAgICAicmFkZHUudy5xYiAg
ICAgICR0OCwgJHQ4ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIFI1K1I0CisgICAg
ICAiYWRkdSAgICAgICAgICAgICR0NywgJHQ3LCAkdDggICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJzcmwgICAgICAgICAgICAgJHQ4LCAkdDUsIDE2ICAgICAgICAgICAgICAgICAgICAg
IFxuIiAgLy8gfDB8MHxSN3xSNnwKKyAgICAgICJyYWRkdS53LnFiICAgICAgJHQ4LCAkdDggICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gUjcgKyBSNgorICAgICAgImFkZHUgICAgICAg
ICAgICAkdDYsICR0NiwgJHQ4ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibXVsICAg
ICAgICAgICAgICR0NiwgJHQ2LCAlW2MyXSAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHQ2ICog
MHgyQUFBCisgICAgICAicHJlY3JxLnFiLnBoICAgICR0OCwgJHQwLCAkdDIgICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIHxTM3xTMXxUM3xUMXwKKyAgICAgICJwcmVjcnEucWIucGggICAgJHQ4
LCAkdDgsICR0NCAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFMzfFQzfFIzfFIxfAorICAg
ICAgInNybCAgICAgICAgICAgICAkdDgsICR0OCwgOCAgICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvLyB8MHxTM3xUM3xSM3wKKyAgICAgICJyYWRkdS53LnFiICAgICAgJHQ4LCAkdDggICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gUzMgKyBUMyArIFIzCisgICAgICAiYWRkdSAgICAg
ICAgICAgICR0NywgJHQ3LCAkdDggICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtdWwg
ICAgICAgICAgICAgJHQ3LCAkdDcsICVbYzFdICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gdDcg
KiAweDFDNzEKKyAgICAgICJzbGwgICAgICAgICAgICAgJHQwLCAkdDAsIDggICAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgLy8gfFMyfFMxfFMwfDB8CisgICAgICAic2xsICAgICAgICAgICAgICR0
MiwgJHQyLCA4ICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxUMnxUMXxUMHwwfAorICAg
ICAgInNsbCAgICAgICAgICAgICAkdDQsICR0NCwgOCAgICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvLyB8UjJ8UjF8UjB8MHwKKyAgICAgICJyYWRkdS53LnFiICAgICAgJHQwLCAkdDAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInJhZGR1LncucWIgICAgICAkdDIsICR0MiAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicmFkZHUudy5xYiAgICAgICR0NCwg
JHQ0ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJhZGR1ICAgICAgICAgICAg
JHQwLCAkdDAsICR0MiAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImFkZHUgICAgICAg
ICAgICAkdDAsICR0MCwgJHQ0ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibXVsICAg
ICAgICAgICAgICR0MCwgJHQwLCAlW2MxXSAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHQwICog
MHgxQzcxCisgICAgICAiYWRkaXUgICAgICAgICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDgg
ICAgICAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAgICAgJVtzMV0sICVbczFdLCA4ICAgICAg
ICAgICAgICAgICAgIFxuIgorICAgICAgImFkZGl1ICAgICAgICAgICAlW3MyXSwgJVtzMl0sIDgg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiYWRkaXUgICAgICAgICAgICVbZHN0X3dpZHRo
XSwgJVtkc3Rfd2lkdGhdLCAtMyAgICBcbiIKKyAgICAgICJhZGRpdSAgICAgICAgICAgJVtkc3Rf
cHRyXSwgJVtkc3RfcHRyXSwgMyAgICAgICAgIFxuIgorICAgICAgInNybCAgICAgICAgICAgICAk
dDYsICR0NiwgMTYgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3JsICAgICAgICAg
ICAgICR0NywgJHQ3LCAxNiAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJzcmwgICAg
ICAgICAgICAgJHQwLCAkdDAsIDE2ICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInNi
ICAgICAgICAgICAgICAkdDYsIC0xKCVbZHN0X3B0cl0pICAgICAgICAgICAgICAgXG4iCisgICAg
ICAic2IgICAgICAgICAgICAgICR0NywgLTIoJVtkc3RfcHRyXSkgICAgICAgICAgICAgICBcbiIK
KyAgICAgICJiZ3R6ICAgICAgICAgICAgJVtkc3Rfd2lkdGhdLCAxYiAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgIiBzYiAgICAgICAgICAgICAkdDAsIC0zKCVbZHN0X3B0cl0pICAgICAgICAg
ICAgICAgXG4iCisgICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgIDogW3NyY19wdHJdICIrciIoc3JjX3B0ciksIFtkc3RfcHRy
XSAiK3IiKGRzdF9wdHIpLCBbczFdICIrciIoczEpLAorICAgICAgICBbczJdICIrciIoczIpLCBb
ZHN0X3dpZHRoXSAiK3IiKGRzdF93aWR0aCkKKyAgICAgIDogW2MxXSAiciIoYzEpLCBbYzJdICJy
IihjMikKKyAgICAgIDogInQwIiwgInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwgInQ2Iiwg
InQ3IiwgInQ4Iik7Cit9CisKK3ZvaWQgU2NhbGVBZGRSb3dfRFNQUjIoY29uc3QgdWludDgqIHNy
Y19wdHIsIHVpbnQxNiogZHN0X3B0ciwgaW50IHNyY193aWR0aCkgeworICBpbnQgeDsKKyAgZm9y
ICh4ID0gMDsgeCA8ICgoc3JjX3dpZHRoIC0gMSkpOyB4ICs9IDgpIHsKKyAgICB1aW50MzIgdG1w
X3QxLCB0bXBfdDIsIHRtcF90MywgdG1wX3Q0OworICAgIHVpbnQzMiB0bXBfdDUsIHRtcF90Niwg
dG1wX3Q3LCB0bXBfdDg7CisgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oCisgICAgICAgICIuc2V0
IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
KyAgICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgICAibHcgICAgICAgICAgICAgICAgJVt0bXBfdDVdLCAgIDAo
JVtzcmNfcHRyXSkgICAgICAgICAgICAgXG4iCisgICAgICAgICJsdyAgICAgICAgICAgICAgICAl
W3RtcF90Nl0sICAgNCglW3NyY19wdHJdKSAgICAgICAgICAgICBcbiIKKyAgICAgICAgImx3ICAg
ICAgICAgICAgICAgICVbdG1wX3QxXSwgICAwKCVbZHN0X3B0cl0pICAgICAgICAgICAgIFxuIgor
ICAgICAgICAibHcgICAgICAgICAgICAgICAgJVt0bXBfdDJdLCAgIDQoJVtkc3RfcHRyXSkgICAg
ICAgICAgICAgXG4iCisgICAgICAgICJsdyAgICAgICAgICAgICAgICAlW3RtcF90M10sICAgOCgl
W2RzdF9wdHJdKSAgICAgICAgICAgICBcbiIKKyAgICAgICAgImx3ICAgICAgICAgICAgICAgICVb
dG1wX3Q0XSwgICAxMiglW2RzdF9wdHJdKSAgICAgICAgICAgIFxuIgorICAgICAgICAicHJlY2V1
LnBoLnFiciAgICAgJVt0bXBfdDddLCAgICVbdG1wX3Q1XSAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAgICJwcmVjZXUucGgucWJsICAgICAlW3RtcF90OF0sICAgJVt0bXBfdDVdICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgICAgImFkZHUucGggICAgICAgICAgICVbdG1wX3QxXSwgICAlW3Rt
cF90MV0sICAgICAlW3RtcF90N10gIFxuIgorICAgICAgICAiYWRkdS5waCAgICAgICAgICAgJVt0
bXBfdDJdLCAgICVbdG1wX3QyXSwgICAgICVbdG1wX3Q4XSAgXG4iCisgICAgICAgICJwcmVjZXUu
cGgucWJyICAgICAlW3RtcF90N10sICAgJVt0bXBfdDZdICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICAgInByZWNldS5waC5xYmwgICAgICVbdG1wX3Q4XSwgICAlW3RtcF90Nl0gICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgICAiYWRkdS5waCAgICAgICAgICAgJVt0bXBfdDNdLCAgICVbdG1w
X3QzXSwgICAgICVbdG1wX3Q3XSAgXG4iCisgICAgICAgICJhZGR1LnBoICAgICAgICAgICAlW3Rt
cF90NF0sICAgJVt0bXBfdDRdLCAgICAgJVt0bXBfdDhdICBcbiIKKyAgICAgICAgInN3ICAgICAg
ICAgICAgICAgICVbdG1wX3QxXSwgICAwKCVbZHN0X3B0cl0pICAgICAgICAgICAgIFxuIgorICAg
ICAgICAic3cgICAgICAgICAgICAgICAgJVt0bXBfdDJdLCAgIDQoJVtkc3RfcHRyXSkgICAgICAg
ICAgICAgXG4iCisgICAgICAgICJzdyAgICAgICAgICAgICAgICAlW3RtcF90M10sICAgOCglW2Rz
dF9wdHJdKSAgICAgICAgICAgICBcbiIKKyAgICAgICAgInN3ICAgICAgICAgICAgICAgICVbdG1w
X3Q0XSwgICAxMiglW2RzdF9wdHJdKSAgICAgICAgICAgIFxuIgorICAgICAgICAiLnNldCBwb3Ag
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAgIDoKKyAgICAgICAgW3RtcF90MV0gIj0mciIodG1wX3QxKSwgW3RtcF90Ml0gIj0mciIodG1w
X3QyKSwgW3RtcF90M10gIj0mciIodG1wX3QzKSwKKyAgICAgICAgW3RtcF90NF0gIj0mciIodG1w
X3Q0KSwgW3RtcF90NV0gIj0mciIodG1wX3Q1KSwgW3RtcF90Nl0gIj0mciIodG1wX3Q2KSwKKyAg
ICAgICAgW3RtcF90N10gIj0mciIodG1wX3Q3KSwgW3RtcF90OF0gIj0mciIodG1wX3Q4KSwgW3Ny
Y19wdHJdICIrciIoc3JjX3B0cikKKyAgICAgICAgOiBbZHN0X3B0cl0gInIiKGRzdF9wdHIpKTsK
KyAgICBzcmNfcHRyICs9IDg7CisgICAgZHN0X3B0ciArPSA4OworICB9CisKKyAgaWYgKChzcmNf
d2lkdGgpJjcpIHsKKyAgICBmb3IgKHggPSAwOyB4IDwgKChzcmNfd2lkdGggLSAxKSAmIDcpOyB4
ICs9IDEpIHsKKyAgICAgIGRzdF9wdHJbMF0gKz0gc3JjX3B0clswXTsKKyAgICAgIHNyY19wdHIg
Kz0gMTsKKyAgICAgIGRzdF9wdHIgKz0gMTsKKyAgICB9CisgIH0KK30KKworI2VuZGlmICAvLyBk
ZWZpbmVkKF9fbWlwc19kc3ApICYmIChfX21pcHNfZHNwX3JldiA+PSAyKQorCisjaWZkZWYgX19j
cGx1c3BsdXMKK30gIC8vIGV4dGVybiAiQyIKK30gIC8vIG5hbWVzcGFjZSBsaWJ5dXYKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX2djYy5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9zY2FsZV9nY2MuY2MKaW5kZXgg
MWFiNWE3NjI3NGVhYmE1ODczMGY0ODlmYmE3ZGQ1Y2ViYzc0ZjMzOS4uZjBhYzU2ZmNiMDZmM2Nh
MTNkMjQ3NjJkYmZjM2U1NDA3NGQ1NGVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX2djYy5jYwor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di9zb3VyY2Uvc2NhbGVfZ2NjLmNjCkBAIC0yMSw4NSArMjEsODIgQEAgZXh0ZXJuICJDIiB7CiAg
ICAgKGRlZmluZWQoX194ODZfNjRfXykgfHwgKGRlZmluZWQoX19pMzg2X18pICYmICFkZWZpbmVk
KF9NU0NfVkVSKSkpCiAKIC8vIE9mZnNldHMgZm9yIHNvdXJjZSBieXRlcyAwIHRvIDkKLXN0YXRp
YyB1dmVjOCBrU2h1ZjAgPQotICB7IDAsIDEsIDMsIDQsIDUsIDcsIDgsIDksIDEyOCwgMTI4LCAx
MjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4IH07CitzdGF0aWMgdXZlYzgga1NodWYwID0gezAs
ICAgMSwgICAzLCAgIDQsICAgNSwgICA3LCAgIDgsICAgOSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjh9OwogCiAvLyBPZmZzZXRz
IGZvciBzb3VyY2UgYnl0ZXMgMTEgdG8gMjAgd2l0aCA4IHN1YnRyYWN0ZWQgPSAzIHRvIDEyLgot
c3RhdGljIHV2ZWM4IGtTaHVmMSA9Ci0gIHsgMywgNCwgNSwgNywgOCwgOSwgMTEsIDEyLCAxMjgs
IDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCB9Oworc3RhdGljIHV2ZWM4IGtTaHVm
MSA9IHszLCAgIDQsICAgNSwgICA3LCAgIDgsICAgOSwgICAxMSwgIDEyLAorICAgICAgICAgICAg
ICAgICAgICAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOH07CiAKIC8v
IE9mZnNldHMgZm9yIHNvdXJjZSBieXRlcyAyMSB0byAzMSB3aXRoIDE2IHN1YnRyYWN0ZWQgPSA1
IHRvIDMxLgotc3RhdGljIHV2ZWM4IGtTaHVmMiA9Ci0gIHsgNSwgNywgOCwgOSwgMTEsIDEyLCAx
MywgMTUsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4IH07CitzdGF0aWMg
dXZlYzgga1NodWYyID0gezUsICAgNywgICA4LCAgIDksICAgMTEsICAxMiwgIDEzLCAgMTUsCisg
ICAgICAgICAgICAgICAgICAgICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwg
MTI4fTsKIAogLy8gT2Zmc2V0cyBmb3Igc291cmNlIGJ5dGVzIDAgdG8gMTAKLXN0YXRpYyB1dmVj
OCBrU2h1ZjAxID0KLSAgeyAwLCAxLCAxLCAyLCAyLCAzLCA0LCA1LCA1LCA2LCA2LCA3LCA4LCA5
LCA5LCAxMCB9Oworc3RhdGljIHV2ZWM4IGtTaHVmMDEgPSB7MCwgMSwgMSwgMiwgMiwgMywgNCwg
NSwgNSwgNiwgNiwgNywgOCwgOSwgOSwgMTB9OwogCiAvLyBPZmZzZXRzIGZvciBzb3VyY2UgYnl0
ZXMgMTAgdG8gMjEgd2l0aCA4IHN1YnRyYWN0ZWQgPSAzIHRvIDEzLgotc3RhdGljIHV2ZWM4IGtT
aHVmMTEgPQotICB7IDIsIDMsIDQsIDUsIDUsIDYsIDYsIDcsIDgsIDksIDksIDEwLCAxMCwgMTEs
IDEyLCAxMyB9Oworc3RhdGljIHV2ZWM4IGtTaHVmMTEgPSB7MiwgMywgNCwgNSwgNSwgNiwgNiwg
NywgOCwgOSwgOSwgMTAsIDEwLCAxMSwgMTIsIDEzfTsKIAogLy8gT2Zmc2V0cyBmb3Igc291cmNl
IGJ5dGVzIDIxIHRvIDMxIHdpdGggMTYgc3VidHJhY3RlZCA9IDUgdG8gMzEuCi1zdGF0aWMgdXZl
Yzgga1NodWYyMSA9Ci0gIHsgNSwgNiwgNiwgNywgOCwgOSwgOSwgMTAsIDEwLCAxMSwgMTIsIDEz
LCAxMywgMTQsIDE0LCAxNSB9Oworc3RhdGljIHV2ZWM4IGtTaHVmMjEgPSB7NSwgIDYsICA2LCAg
NywgIDgsICA5LCAgOSwgIDEwLAorICAgICAgICAgICAgICAgICAgICAgICAgMTAsIDExLCAxMiwg
MTMsIDEzLCAxNCwgMTQsIDE1fTsKIAogLy8gQ29lZmZpY2llbnRzIGZvciBzb3VyY2UgYnl0ZXMg
MCB0byAxMAotc3RhdGljIHV2ZWM4IGtNYWRkMDEgPQotICB7IDMsIDEsIDIsIDIsIDEsIDMsIDMs
IDEsIDIsIDIsIDEsIDMsIDMsIDEsIDIsIDIgfTsKK3N0YXRpYyB1dmVjOCBrTWFkZDAxID0gezMs
IDEsIDIsIDIsIDEsIDMsIDMsIDEsIDIsIDIsIDEsIDMsIDMsIDEsIDIsIDJ9OwogCiAvLyBDb2Vm
ZmljaWVudHMgZm9yIHNvdXJjZSBieXRlcyAxMCB0byAyMQotc3RhdGljIHV2ZWM4IGtNYWRkMTEg
PQotICB7IDEsIDMsIDMsIDEsIDIsIDIsIDEsIDMsIDMsIDEsIDIsIDIsIDEsIDMsIDMsIDEgfTsK
K3N0YXRpYyB1dmVjOCBrTWFkZDExID0gezEsIDMsIDMsIDEsIDIsIDIsIDEsIDMsIDMsIDEsIDIs
IDIsIDEsIDMsIDMsIDF9OwogCiAvLyBDb2VmZmljaWVudHMgZm9yIHNvdXJjZSBieXRlcyAyMSB0
byAzMQotc3RhdGljIHV2ZWM4IGtNYWRkMjEgPQotICB7IDIsIDIsIDEsIDMsIDMsIDEsIDIsIDIs
IDEsIDMsIDMsIDEsIDIsIDIsIDEsIDMgfTsKK3N0YXRpYyB1dmVjOCBrTWFkZDIxID0gezIsIDIs
IDEsIDMsIDMsIDEsIDIsIDIsIDEsIDMsIDMsIDEsIDIsIDIsIDEsIDN9OwogCiAvLyBDb2VmZmlj
aWVudHMgZm9yIHNvdXJjZSBieXRlcyAyMSB0byAzMQotc3RhdGljIHZlYzE2IGtSb3VuZDM0ID0K
LSAgeyAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyIH07CitzdGF0aWMgdmVjMTYga1JvdW5kMzQgPSB7
MiwgMiwgMiwgMiwgMiwgMiwgMiwgMn07CiAKLXN0YXRpYyB1dmVjOCBrU2h1ZjM4YSA9Ci0gIHsg
MCwgMywgNiwgOCwgMTEsIDE0LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEy
OCwgMTI4LCAxMjggfTsKK3N0YXRpYyB1dmVjOCBrU2h1ZjM4YSA9IHswLCAgIDMsICAgNiwgICA4
LCAgIDExLCAgMTQsICAxMjgsIDEyOCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAxMjgsIDEy
OCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOH07CiAKLXN0YXRpYyB1dmVjOCBrU2h1ZjM4
YiA9Ci0gIHsgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMCwgMywgNiwgOCwgMTEsIDE0
LCAxMjgsIDEyOCwgMTI4LCAxMjggfTsKK3N0YXRpYyB1dmVjOCBrU2h1ZjM4YiA9IHsxMjgsIDEy
OCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAwLCAgIDMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
NiwgICA4LCAgIDExLCAgMTQsICAxMjgsIDEyOCwgMTI4LCAxMjh9OwogCiAvLyBBcnJhbmdlIHdv
cmRzIDAsMyw2IGludG8gMCwxLDIKLXN0YXRpYyB1dmVjOCBrU2h1ZkFjID0KLSAgeyAwLCAxLCA2
LCA3LCAxMiwgMTMsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgs
IDEyOCB9Oworc3RhdGljIHV2ZWM4IGtTaHVmQWMgPSB7MCwgICAxLCAgIDYsICAgNywgICAxMiwg
IDEzLCAgMTI4LCAxMjgsCisgICAgICAgICAgICAgICAgICAgICAgICAxMjgsIDEyOCwgMTI4LCAx
MjgsIDEyOCwgMTI4LCAxMjgsIDEyOH07CiAKIC8vIEFycmFuZ2Ugd29yZHMgMCwzLDYgaW50byAz
LDQsNQotc3RhdGljIHV2ZWM4IGtTaHVmQWMzID0KLSAgeyAxMjgsIDEyOCwgMTI4LCAxMjgsIDEy
OCwgMTI4LCAwLCAxLCA2LCA3LCAxMiwgMTMsIDEyOCwgMTI4LCAxMjgsIDEyOCB9Oworc3RhdGlj
IHV2ZWM4IGtTaHVmQWMzID0gezEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDAsICAgMSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICA2LCAgIDcsICAgMTIsICAxMywgIDEyOCwgMTI4LCAx
MjgsIDEyOH07CiAKIC8vIFNjYWxpbmcgdmFsdWVzIGZvciBib3hlcyBvZiAzeDMgYW5kIDJ4Mwot
c3RhdGljIHV2ZWMxNiBrU2NhbGVBYzMzID0KLSAgeyA2NTUzNiAvIDksIDY1NTM2IC8gOSwgNjU1
MzYgLyA2LCA2NTUzNiAvIDksIDY1NTM2IC8gOSwgNjU1MzYgLyA2LCAwLCAwIH07CitzdGF0aWMg
dXZlYzE2IGtTY2FsZUFjMzMgPSB7NjU1MzYgLyA5LCA2NTUzNiAvIDksIDY1NTM2IC8gNiwgNjU1
MzYgLyA5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY1NTM2IC8gOSwgNjU1MzYgLyA2
LCAwLCAgICAgICAgIDB9OwogCiAvLyBBcnJhbmdlIGZpcnN0IHZhbHVlIGZvciBwaXhlbHMgMCwx
LDIsMyw0LDUKLXN0YXRpYyB1dmVjOCBrU2h1ZkFiMCA9Ci0gIHsgMCwgMTI4LCAzLCAxMjgsIDYs
IDEyOCwgOCwgMTI4LCAxMSwgMTI4LCAxNCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjggfTsKK3N0
YXRpYyB1dmVjOCBrU2h1ZkFiMCA9IHswLCAgMTI4LCAzLCAgMTI4LCA2LCAgIDEyOCwgOCwgICAx
MjgsCisgICAgICAgICAgICAgICAgICAgICAgICAgMTEsIDEyOCwgMTQsIDEyOCwgMTI4LCAxMjgs
IDEyOCwgMTI4fTsKIAogLy8gQXJyYW5nZSBzZWNvbmQgdmFsdWUgZm9yIHBpeGVscyAwLDEsMiwz
LDQsNQotc3RhdGljIHV2ZWM4IGtTaHVmQWIxID0KLSAgeyAxLCAxMjgsIDQsIDEyOCwgNywgMTI4
LCA5LCAxMjgsIDEyLCAxMjgsIDE1LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCB9Oworc3RhdGlj
IHV2ZWM4IGtTaHVmQWIxID0gezEsICAxMjgsIDQsICAxMjgsIDcsICAgMTI4LCA5LCAgIDEyOCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAxMiwgMTI4LCAxNSwgMTI4LCAxMjgsIDEyOCwgMTI4
LCAxMjh9OwogCiAvLyBBcnJhbmdlIHRoaXJkIHZhbHVlIGZvciBwaXhlbHMgMCwxLDIsMyw0LDUK
LXN0YXRpYyB1dmVjOCBrU2h1ZkFiMiA9Ci0gIHsgMiwgMTI4LCA1LCAxMjgsIDEyOCwgMTI4LCAx
MCwgMTI4LCAxMywgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4IH07CitzdGF0aWMg
dXZlYzgga1NodWZBYjIgPSB7MiwgIDEyOCwgNSwgICAxMjgsIDEyOCwgMTI4LCAxMCwgIDEyOCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAxMywgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEy
OCwgMTI4fTsKIAogLy8gU2NhbGluZyB2YWx1ZXMgZm9yIGJveGVzIG9mIDN4MiBhbmQgMngyCi1z
dGF0aWMgdXZlYzE2IGtTY2FsZUFiMiA9Ci0gIHsgNjU1MzYgLyAzLCA2NTUzNiAvIDMsIDY1NTM2
IC8gMiwgNjU1MzYgLyAzLCA2NTUzNiAvIDMsIDY1NTM2IC8gMiwgMCwgMCB9Oworc3RhdGljIHV2
ZWMxNiBrU2NhbGVBYjIgPSB7NjU1MzYgLyAzLCA2NTUzNiAvIDMsIDY1NTM2IC8gMiwgNjU1MzYg
LyAzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgNjU1MzYgLyAzLCA2NTUzNiAvIDIsIDAs
ICAgICAgICAgMH07CiAKIC8vIEdDQyB2ZXJzaW9ucyBvZiByb3cgZnVuY3Rpb25zIGFyZSB2ZXJi
YXRpbSBjb252ZXJzaW9ucyBmcm9tIFZpc3VhbCBDLgogLy8gR2VuZXJhdGVkIHVzaW5nIGdjYyBk
aXNhc3NlbWJseSBvbiBWaXN1YWwgQyBvYmplY3QgZmlsZToKIC8vIG9iamR1bXAgLUQgeXV2c2Nh
bGVyLm9iaiA+eXV2c2NhbGVyLnR4dAogCi12b2lkIFNjYWxlUm93RG93bjJfU1NTRTMoY29uc3Qg
dWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93
bjJfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgeworICAodm9p
ZClzcmNfc3RyaWRlOwogICBhc20gdm9sYXRpbGUgKAogICAgIExBQkVMQUxJR04KICAgIjE6ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0xMjAsOCArMTE3
LDExIEBAIHZvaWQgU2NhbGVSb3dEb3duMl9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCiAgICk7CiB9CiAKLXZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9T
U1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsK
K3ZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgICh2b2lkKXNyY19zdHJpZGU7CiAg
IGFzbSB2b2xhdGlsZSAoCiAgICAgInBjbXBlcWIgICAgJSV4bW00LCUleG1tNCAgICAgICAgICAg
ICAgICAgIFxuIgogICAgICJwc3JsdyAgICAgICQweGYsJSV4bW00ICAgICAgICAgICAgICAgICAg
ICBcbiIKQEAgLTE0OSw4ICsxNDksMTAgQEAgdm9pZCBTY2FsZVJvd0Rvd24yTGluZWFyX1NTU0Uz
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgKTsKIH0KIAot
dm9pZCBTY2FsZVJvd0Rvd24yQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0
ciwgaW50IGRzdF93aWR0aCkgewordm9pZCBTY2FsZVJvd0Rvd24yQm94X1NTU0UzKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxl
ICgKICAgICAicGNtcGVxYiAgICAlJXhtbTQsJSV4bW00ICAgICAgICAgICAgICAgICAgXG4iCiAg
ICAgInBzcmx3ICAgICAgJDB4ZiwlJXhtbTQgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtMTg5
LDggKzE5MSwxMSBAQCB2b2lkIFNjYWxlUm93RG93bjJCb3hfU1NTRTMoY29uc3QgdWludDgqIHNy
Y19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogfQogCiAjaWZkZWYgSEFTX1NDQUxFUk9XRE9X
TjJfQVZYMgotdm9pZCBTY2FsZVJvd0Rvd24yX0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9w
dHIsIGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQgU2NhbGVSb3dEb3duMl9BVlgyKGNvbnN0IHVpbnQ4
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgKHZvaWQpc3JjX3N0cmlkZTsKICAgYXNtIHZv
bGF0aWxlICgKICAgICBMQUJFTEFMSUdOCiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgpAQCAtMjEzLDggKzIxOCwxMSBAQCB2b2lkIFNjYWxlUm93RG93
bjJfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAgICk7
CiB9CiAKLXZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93bjJMaW5lYXJf
QVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRo
KSB7CisgICh2b2lkKXNyY19zdHJpZGU7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInZwY21wZXFi
ICAgJSV5bW00LCUleW1tNCwlJXltbTQgICAgICAgICAgIFxuIgogICAgICJ2cHNybHcgICAgICQw
eGYsJSV5bW00LCUleW1tNCAgICAgICAgICAgICBcbiIKQEAgLTI0NCw4ICsyNTIsMTAgQEAgdm9p
ZCBTY2FsZVJvd0Rvd24yTGluZWFyX0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAogICApOwogfQogCi12b2lkIFNjYWxlUm93RG93bjJCb3hfQVZYMihjb25z
dCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCkgewordm9pZCBTY2FsZVJv
d0Rvd24yQm94X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0
aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJ2cGNtcGVxYiAgICUleW1tNCwlJXltbTQsJSV5
bW00ICAgICAgICAgICBcbiIKICAgICAidnBzcmx3ICAgICAkMHhmLCUleW1tNCwlJXltbTQgICAg
ICAgICAgICAgXG4iCkBAIC0yODYsOCArMjk2LDExIEBAIHZvaWQgU2NhbGVSb3dEb3duMkJveF9B
VlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIH0KICNlbmRp
ZiAgLy8gSEFTX1NDQUxFUk9XRE9XTjJfQVZYMgogCi12b2lkIFNjYWxlUm93RG93bjRfU1NTRTMo
Y29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQgU2NhbGVS
b3dEb3duNF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7Cisg
ICh2b2lkKXNyY19zdHJpZGU7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInBjbXBlcWIgICAlJXht
bTUsJSV4bW01ICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJwc3JsZCAgICAgJDB4MTgsJSV4
bW01ICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTMxNCw4ICszMjcsMTAgQEAgdm9pZCBTY2Fs
ZVJvd0Rvd240X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKICAgKTsKIH0KIAotdm9pZCBTY2FsZVJvd0Rvd240Qm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBz
cmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93bjRCb3hf
U1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewog
ICBpbnRwdHJfdCBzdHJpZGV4MzsKICAgYXNtIHZvbGF0aWxlICgKICAgICAicGNtcGVxYiAgICAl
JXhtbTQsJSV4bW00ICAgICAgICAgICAgICAgICAgXG4iCkBAIC0zNjgsMTAgKzM4MywxMiBAQCB2
b2lkIFNjYWxlUm93RG93bjRCb3hfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAogICApOwogfQogCi0KICNpZmRlZiBIQVNfU0NBTEVST1dET1dONF9BVlgy
Ci12b2lkIFNjYWxlUm93RG93bjRfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90
IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50
IGRzdF93aWR0aCkgewordm9pZCBTY2FsZVJvd0Rvd240X0FWWDIoY29uc3QgdWludDgqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGRzdF93aWR0aCkgeworICAodm9pZClzcmNfc3RyaWRlOwogICBhc20gdm9sYXRpbGUg
KAogICAgICJ2cGNtcGVxYiAgICUleW1tNSwlJXltbTUsJSV5bW01ICAgICAgICAgICBcbiIKICAg
ICAidnBzcmxkICAgICAkMHgxOCwlJXltbTUsJSV5bW01ICAgICAgICAgICAgXG4iCkBAIC00MDAs
OCArNDE3LDEwIEBAIHZvaWQgU2NhbGVSb3dEb3duNF9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgKTsKIH0KIAotdm9pZCBTY2FsZVJvd0Rvd240Qm94
X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKK3Zv
aWQgU2NhbGVSb3dEb3duNEJveF9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAgICAidnBjbXBlcWIgICAlJXltbTQs
JSV5bW00LCUleW1tNCAgICAgICAgICAgXG4iCiAgICAgInZwc3JsdyAgICAgJDB4ZiwlJXltbTQs
JSV5bW00ICAgICAgICAgICAgIFxuIgpAQCAtNDU1LDE3ICs0NzQsMjAgQEAgdm9pZCBTY2FsZVJv
d0Rvd240Qm94X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LAogfQogI2VuZGlmICAvLyBIQVNfU0NBTEVST1dET1dONF9BVlgyCiAKLXZvaWQgU2NhbGVSb3dE
b3duMzRfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCkg
ewotICBhc20gdm9sYXRpbGUgKAotICAgICJtb3ZkcWEgICAgJTAsJSV4bW0zICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICUxLCUleG1tNCAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAlMiwlJXhtbTUgICAgICAgICAgICAgICAgICAgICAg
IFxuIgotICA6Ci0gIDogIm0iKGtTaHVmMCksICAvLyAlMAotICAgICJtIihrU2h1ZjEpLCAgLy8g
JTEKLSAgICAibSIoa1NodWYyKSAgIC8vICUyCi0gICk7Cit2b2lkIFNjYWxlUm93RG93bjM0X1NT
U0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgKHZvaWQp
c3JjX3N0cmlkZTsKKyAgYXNtIHZvbGF0aWxlKAorICAgICAgIm1vdmRxYSAgICAlMCwlJXhtbTMg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAlMSwlJXhtbTQgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAlMiwlJXhtbTUgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgorICAgICAgOgorICAgICAgOiAibSIoa1NodWYwKSwgIC8vICUw
CisgICAgICAgICJtIihrU2h1ZjEpLCAgLy8gJTEKKyAgICAgICAgIm0iKGtTaHVmMikgICAvLyAl
MgorICAgICAgKTsKICAgYXNtIHZvbGF0aWxlICgKICAgICBMQUJFTEFMSUdOCiAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNDkyLDI1ICs1MTQs
MjYgQEAgdm9pZCBTY2FsZVJvd0Rvd24zNF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCiAKIHZvaWQgU2NhbGVSb3dEb3duMzRfMV9Cb3hfU1NTRTMoY29u
c3QgdWludDgqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3B0ciwgaW50IGRzdF93aWR0aCkgewotICBhc20gdm9sYXRpbGUgKAotICAgICJtb3ZkcWEg
ICAgJTAsJSV4bW0yICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGtTaHVmMDEKLSAgICAi
bW92ZHFhICAgICUxLCUleG1tMyAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBrU2h1ZjEx
Ci0gICAgIm1vdmRxYSAgICAlMiwlJXhtbTQgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
a1NodWYyMQotICA6Ci0gIDogIm0iKGtTaHVmMDEpLCAgLy8gJTAKLSAgICAibSIoa1NodWYxMSks
ICAvLyAlMQotICAgICJtIihrU2h1ZjIxKSAgIC8vICUyCi0gICk7Ci0gIGFzbSB2b2xhdGlsZSAo
Ci0gICAgIm1vdmRxYSAgICAlMCwlJXhtbTUgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
a01hZGQwMQotICAgICJtb3ZkcWEgICAgJTEsJSV4bW0wICAgICAgICAgICAgICAgICAgICAgICBc
biIgIC8vIGtNYWRkMTEKLSAgICAibW92ZHFhICAgICUyLCUleG1tMSAgICAgICAgICAgICAgICAg
ICAgICAgXG4iICAvLyBrUm91bmQzNAotICA6Ci0gIDogIm0iKGtNYWRkMDEpLCAgLy8gJTAKLSAg
ICAibSIoa01hZGQxMSksICAvLyAlMQotICAgICJtIihrUm91bmQzNCkgIC8vICUyCi0gICk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIGFzbSB2b2xhdGlsZSgK
KyAgICAgICJtb3ZkcWEgICAgJTAsJSV4bW0yICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8v
IGtTaHVmMDEKKyAgICAgICJtb3ZkcWEgICAgJTEsJSV4bW0zICAgICAgICAgICAgICAgICAgICAg
ICBcbiIgIC8vIGtTaHVmMTEKKyAgICAgICJtb3ZkcWEgICAgJTIsJSV4bW00ICAgICAgICAgICAg
ICAgICAgICAgICBcbiIgIC8vIGtTaHVmMjEKKyAgICAgIDoKKyAgICAgIDogIm0iKGtTaHVmMDEp
LCAgLy8gJTAKKyAgICAgICAgIm0iKGtTaHVmMTEpLCAgLy8gJTEKKyAgICAgICAgIm0iKGtTaHVm
MjEpICAgLy8gJTIKKyAgICAgICk7CisgIGFzbSB2b2xhdGlsZSgKKyAgICAgICJtb3ZkcWEgICAg
JTAsJSV4bW01ICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGtNYWRkMDEKKyAgICAgICJt
b3ZkcWEgICAgJTEsJSV4bW0wICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGtNYWRkMTEK
KyAgICAgICJtb3ZkcWEgICAgJTIsJSV4bW0xICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8v
IGtSb3VuZDM0CisgICAgICA6CisgICAgICA6ICJtIihrTWFkZDAxKSwgIC8vICUwCisgICAgICAg
ICJtIihrTWFkZDExKSwgIC8vICUxCisgICAgICAgICJtIihrUm91bmQzNCkgIC8vICUyCisgICAg
ICApOwogICBhc20gdm9sYXRpbGUgKAogICAgIExBQkVMQUxJR04KICAgIjE6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC01NTcsMjUgKzU4MCwyNiBAQCB2
b2lkIFNjYWxlUm93RG93bjM0XzFfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogCiB2
b2lkIFNjYWxlUm93RG93bjM0XzBfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgp
IHsKLSAgYXNtIHZvbGF0aWxlICgKLSAgICAibW92ZHFhICAgICUwLCUleG1tMiAgICAgICAgICAg
ICAgICAgICAgICAgXG4iICAvLyBrU2h1ZjAxCi0gICAgIm1vdmRxYSAgICAlMSwlJXhtbTMgICAg
ICAgICAgICAgICAgICAgICAgIFxuIiAgLy8ga1NodWYxMQotICAgICJtb3ZkcWEgICAgJTIsJSV4
bW00ICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGtTaHVmMjEKLSAgOgotICA6ICJtIihr
U2h1ZjAxKSwgIC8vICUwCi0gICAgIm0iKGtTaHVmMTEpLCAgLy8gJTEKLSAgICAibSIoa1NodWYy
MSkgICAvLyAlMgotICApOwotICBhc20gdm9sYXRpbGUgKAotICAgICJtb3ZkcWEgICAgJTAsJSV4
bW01ICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIGtNYWRkMDEKLSAgICAibW92ZHFhICAg
ICUxLCUleG1tMCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBrTWFkZDExCi0gICAgIm1v
dmRxYSAgICAlMiwlJXhtbTEgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8ga1JvdW5kMzQK
LSAgOgotICA6ICJtIihrTWFkZDAxKSwgIC8vICUwCi0gICAgIm0iKGtNYWRkMTEpLCAgLy8gJTEK
LSAgICAibSIoa1JvdW5kMzQpICAvLyAlMgotICApOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF93aWR0aCkgeworICBhc20gdm9sYXRpbGUoCisgICAgICAibW92ZHFhICAgICUwLCUl
eG1tMiAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBrU2h1ZjAxCisgICAgICAibW92ZHFh
ICAgICUxLCUleG1tMyAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBrU2h1ZjExCisgICAg
ICAibW92ZHFhICAgICUyLCUleG1tNCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBrU2h1
ZjIxCisgICAgICA6CisgICAgICA6ICJtIihrU2h1ZjAxKSwgIC8vICUwCisgICAgICAgICJtIihr
U2h1ZjExKSwgIC8vICUxCisgICAgICAgICJtIihrU2h1ZjIxKSAgIC8vICUyCisgICAgICApOwor
ICBhc20gdm9sYXRpbGUoCisgICAgICAibW92ZHFhICAgICUwLCUleG1tNSAgICAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyBrTWFkZDAxCisgICAgICAibW92ZHFhICAgICUxLCUleG1tMCAgICAg
ICAgICAgICAgICAgICAgICAgXG4iICAvLyBrTWFkZDExCisgICAgICAibW92ZHFhICAgICUyLCUl
eG1tMSAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBrUm91bmQzNAorICAgICAgOgorICAg
ICAgOiAibSIoa01hZGQwMSksICAvLyAlMAorICAgICAgICAibSIoa01hZGQxMSksICAvLyAlMQor
ICAgICAgICAibSIoa1JvdW5kMzQpICAvLyAlMgorICAgICAgKTsKIAogICBhc20gdm9sYXRpbGUg
KAogICAgIExBQkVMQUxJR04KQEAgLTYyNCw4ICs2NDgsMTEgQEAgdm9pZCBTY2FsZVJvd0Rvd24z
NF8wX0JveF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKICAgKTsKIH0KIAotdm9pZCBTY2Fs
ZVJvd0Rvd24zOF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dp
ZHRoKSB7Cit2b2lkIFNjYWxlUm93RG93bjM4X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgKHZvaWQpc3JjX3N0cmlkZTsKICAgYXNtIHZvbGF0aWxl
ICgKICAgICAibW92ZHFhICAgICUzLCUleG1tNCAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAg
ICAgIm1vdmRxYSAgICAlNCwlJXhtbTUgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtNjU1
LDE4ICs2ODIsMTkgQEAgdm9pZCBTY2FsZVJvd0Rvd24zOF9TU1NFMyhjb25zdCB1aW50OCogc3Jj
X3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAKIHZvaWQgU2NhbGVSb3dEb3duMzhfMl9Cb3hf
U1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCkgewotICBhc20gdm9sYXRpbGUgKAotICAg
ICJtb3ZkcWEgICAgJTAsJSV4bW0yICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92
ZHFhICAgICUxLCUleG1tMyAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxYSAg
ICAlMiwlJXhtbTQgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAgJTMs
JSV4bW01ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgOgotICA6ICJtIihrU2h1ZkFiMCks
ICAgLy8gJTAKLSAgICAibSIoa1NodWZBYjEpLCAgIC8vICUxCi0gICAgIm0iKGtTaHVmQWIyKSwg
ICAvLyAlMgotICAgICJtIihrU2NhbGVBYjIpICAgLy8gJTMKLSAgKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgYXNtIHZvbGF0aWxlKAorICAgICAgIm1vdmRx
YSAgICAlMCwlJXhtbTIgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAg
ICAlMSwlJXhtbTMgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAl
MiwlJXhtbTQgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdmRxYSAgICAlMywl
JXhtbTUgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgOgorICAgICAgOiAibSIoa1No
dWZBYjApLCAgLy8gJTAKKyAgICAgICAgIm0iKGtTaHVmQWIxKSwgIC8vICUxCisgICAgICAgICJt
IihrU2h1ZkFiMiksICAvLyAlMgorICAgICAgICAibSIoa1NjYWxlQWIyKSAgLy8gJTMKKyAgICAg
ICk7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgTEFCRUxBTElHTgogICAiMTogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTcwMCwxNyArNzI4LDE4IEBAIHZv
aWQgU2NhbGVSb3dEb3duMzhfMl9Cb3hfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCiAKIHZv
aWQgU2NhbGVSb3dEb3duMzhfM19Cb3hfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCkg
ewotICBhc20gdm9sYXRpbGUgKAotICAgICJtb3ZkcWEgICAgJTAsJSV4bW0yICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAibW92ZHFhICAgICUxLCUleG1tMyAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgIm1vdmRxYSAgICAlMiwlJXhtbTQgICAgICAgICAgICAgICAgICAgICAg
IFxuIgotICAgICJweG9yICAgICAgJSV4bW01LCUleG1tNSAgICAgICAgICAgICAgICAgICBcbiIK
LSAgOgotICA6ICJtIihrU2h1ZkFjKSwgICAgLy8gJTAKLSAgICAibSIoa1NodWZBYzMpLCAgIC8v
ICUxCi0gICAgIm0iKGtTY2FsZUFjMzMpICAvLyAlMgotICApOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF93aWR0aCkgeworICBhc20gdm9sYXRpbGUoCisgICAgICAibW92ZHFhICAg
ICUwLCUleG1tMiAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICUx
LCUleG1tMyAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICUyLCUl
eG1tNCAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHhvciAgICAgICUleG1tNSwl
JXhtbTUgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICA6CisgICAgICA6ICJtIihrU2h1ZkFj
KSwgICAgLy8gJTAKKyAgICAgICAgIm0iKGtTaHVmQWMzKSwgICAvLyAlMQorICAgICAgICAibSIo
a1NjYWxlQWMzMykgIC8vICUyCisgICAgICApOwogICBhc20gdm9sYXRpbGUgKAogICAgIExBQkVM
QUxJR04KICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CkBAIC03OTAsNyArODE5LDYgQEAgdm9pZCBTY2FsZUFkZFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBz
cmNfcHRyLCB1aW50MTYqIGRzdF9wdHIsIGludCBzcmNfd2lkdGgpIHsKICAgKTsKIH0KIAotCiAj
aWZkZWYgSEFTX1NDQUxFQUREUk9XX0FWWDIKIC8vIFJlYWRzIDMyIGJ5dGVzIGFuZCBhY2N1bXVs
YXRlcyB0byAzMiBzaG9ydHMgYXQgYSB0aW1lLgogdm9pZCBTY2FsZUFkZFJvd19BVlgyKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLCB1aW50MTYqIGRzdF9wdHIsIGludCBzcmNfd2lkdGgpIHsKQEAgLTgy
MywxNyArODUxLDE5IEBAIHZvaWQgU2NhbGVBZGRSb3dfQVZYMihjb25zdCB1aW50OCogc3JjX3B0
ciwgdWludDE2KiBkc3RfcHRyLCBpbnQgc3JjX3dpZHRoKSB7CiAKIC8vIENvbnN0YW50IGZvciBt
YWtpbmcgcGl4ZWxzIHNpZ25lZCB0byBhdm9pZCBwbWFkZHVic3cKIC8vIHNhdHVyYXRpb24uCi1z
dGF0aWMgdXZlYzgga0ZzdWI4MCA9Ci0gIHsgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwg
MHg4MCwgMHg4MCwgMHg4MCwKLSAgICAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgw
LCAweDgwLCAweDgwIH07CitzdGF0aWMgdXZlYzgga0ZzdWI4MCA9IHsweDgwLCAweDgwLCAweDgw
LCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLAorICAgICAgICAgICAgICAgICAgICAgICAg
MHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MH07CiAKIC8vIENv
bnN0YW50IGZvciBtYWtpbmcgcGl4ZWxzIHVuc2lnbmVkIGFuZCBhZGRpbmcgLjUgZm9yIHJvdW5k
aW5nLgotc3RhdGljIHV2ZWMxNiBrRmFkZDQwID0KLSAgeyAweDQwNDAsIDB4NDA0MCwgMHg0MDQw
LCAweDQwNDAsIDB4NDA0MCwgMHg0MDQwLCAweDQwNDAsIDB4NDA0MCB9Oworc3RhdGljIHV2ZWMx
NiBrRmFkZDQwID0gezB4NDA0MCwgMHg0MDQwLCAweDQwNDAsIDB4NDA0MCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAweDQwNDAsIDB4NDA0MCwgMHg0MDQwLCAweDQwNDB9OwogCiAvLyBCaWxp
bmVhciBjb2x1bW4gZmlsdGVyaW5nLiBTU1NFMyB2ZXJzaW9uLgotdm9pZCBTY2FsZUZpbHRlckNv
bHNfU1NTRTModWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgewordm9pZCBT
Y2FsZUZpbHRlckNvbHNfU1NTRTModWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkeCkgewogICBpbnRwdHJfdCB4MCwgeDEsIHRlbXBf
cGl4ZWw7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgIm1vdmQgICAgICAlNiwlJXhtbTIgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgpAQCAtOTI1LDggKzk1NSwxMyBAQCB2b2lkIFNjYWxlRmlsdGVy
Q29sc19TU1NFMyh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCiAKIC8vIFJl
YWRzIDQgcGl4ZWxzLCBkdXBsaWNhdGVzIHRoZW0gYW5kIHdyaXRlcyA4IHBpeGVscy4KIC8vIEFs
aWdubWVudCByZXF1aXJlbWVudDogc3JjX2FyZ2IgMTYgYnl0ZSBhbGlnbmVkLCBkc3RfYXJnYiAx
NiBieXRlIGFsaWduZWQuCi12b2lkIFNjYWxlQ29sc1VwMl9TU0UyKHVpbnQ4KiBkc3RfcHRyLCBj
b25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0
aCwgaW50IHgsIGludCBkeCkgewordm9pZCBTY2FsZUNvbHNVcDJfU1NFMih1aW50OCogZHN0X3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB4LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgpIHsKKyAgKHZvaWQpeDsKKyAgKHZv
aWQpZHg7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgTEFCRUxBTElHTgogICAiMTogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTk1MCw3ICs5ODUsOSBAQCB2
b2lkIFNjYWxlQ29sc1VwMl9TU0UyKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0
ciwKIAogdm9pZCBTY2FsZUFSR0JSb3dEb3duMl9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfd2lkdGgpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgeworICAodm9pZClzcmNfc3RyaWRlOwog
ICBhc20gdm9sYXRpbGUgKAogICAgIExBQkVMQUxJR04KICAgIjE6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC05NzEsNyArMTAwOCw5IEBAIHZvaWQgU2Nh
bGVBUkdCUm93RG93bjJfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCiAKIHZvaWQgU2NhbGVB
UkdCUm93RG93bjJMaW5lYXJfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3dpZHRoKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgKHZvaWQp
c3JjX3N0cmlkZTsKICAgYXNtIHZvbGF0aWxlICgKICAgICBMQUJFTEFMSUdOCiAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtOTk1LDcgKzEwMzQs
OCBAQCB2b2lkIFNjYWxlQVJHQlJvd0Rvd24yTGluZWFyX1NTRTIoY29uc3QgdWludDgqIHNyY19h
cmdiLAogCiB2b2lkIFNjYWxlQVJHQlJvd0Rvd24yQm94X1NTRTIoY29uc3QgdWludDgqIHNyY19h
cmdiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRz
dF93aWR0aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIGFz
bSB2b2xhdGlsZSAoCiAgICAgTEFCRUxBTElHTgogICAiMTogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTEwMjUsMTAgKzEwNjUsMTQgQEAgdm9pZCBTY2Fs
ZUFSR0JSb3dEb3duMkJveF9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKIAogLy8gUmVhZHMg
NCBwaXhlbHMgYXQgYSB0aW1lLgogLy8gQWxpZ25tZW50IHJlcXVpcmVtZW50OiBkc3RfYXJnYiAx
NiBieXRlIGFsaWduZWQuCi12b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuX1NTRTIoY29uc3QgdWlu
dDgqIHNyY19hcmdiLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0ZXB4LCB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfd2lkdGgp
IHsKK3ZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5fU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdGVweCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBpbnRwdHJfdCBzcmNfc3RlcHhfeDQgPSAo
aW50cHRyX3QpKHNyY19zdGVweCk7CiAgIGludHB0cl90IHNyY19zdGVweF94MTI7CisgICh2b2lk
KXNyY19zdHJpZGU7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgImxlYSAgICAgICAiIE1FTUxFQTMo
MHgwMCwxLDQpICIsJTEgICAgICAgIFxuIgogICAgICJsZWEgICAgICAgIiBNRU1MRUE0KDB4MDAs
MSwxLDIpICIsJTQgICAgICBcbiIKQEAgLTEwNTksOCArMTEwMywxMCBAQCB2b2lkIFNjYWxlQVJH
QlJvd0Rvd25FdmVuX1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLCBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKIC8vIEJsZW5kcyBmb3VyIDJ4MiB0byA0eDEuCiAvLyBBbGlnbm1lbnQgcmVxdWlyZW1l
bnQ6IGRzdF9hcmdiIDE2IGJ5dGUgYWxpZ25lZC4KIHZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5C
b3hfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsIGludCBzcmNfc3RlcHgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3dpZHRoKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdGVweCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBpbnRwdHJfdCBzcmNf
c3RlcHhfeDQgPSAoaW50cHRyX3QpKHNyY19zdGVweCk7CiAgIGludHB0cl90IHNyY19zdGVweF94
MTI7CiAgIGludHB0cl90IHJvdzEgPSAoaW50cHRyX3QpKHNyY19zdHJpZGUpOwpAQCAtMTEwMiw4
ICsxMTQ4LDExIEBAIHZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfU1NFMihjb25zdCB1aW50
OCogc3JjX2FyZ2IsCiAgICk7CiB9CiAKLXZvaWQgU2NhbGVBUkdCQ29sc19TU0UyKHVpbnQ4KiBk
c3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgewordm9pZCBTY2FsZUFSR0JDb2xzX1NTRTIo
dWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNy
Y19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4KSB7
CiAgIGludHB0cl90IHgwLCB4MTsKICAgYXNtIHZvbGF0aWxlICgKICAgICAibW92ZCAgICAgICU1
LCUleG1tMiAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC0xMTcxLDggKzEyMjAsMTMgQEAg
dm9pZCBTY2FsZUFSR0JDb2xzX1NTRTIodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3Jj
X2FyZ2IsCiAKIC8vIFJlYWRzIDQgcGl4ZWxzLCBkdXBsaWNhdGVzIHRoZW0gYW5kIHdyaXRlcyA4
IHBpeGVscy4KIC8vIEFsaWdubWVudCByZXF1aXJlbWVudDogc3JjX2FyZ2IgMTYgYnl0ZSBhbGln
bmVkLCBkc3RfYXJnYiAxNiBieXRlIGFsaWduZWQuCi12b2lkIFNjYWxlQVJHQkNvbHNVcDJfU1NF
Mih1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpIHsKK3ZvaWQgU2NhbGVB
UkdCQ29sc1VwMl9TU0UyKHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkeCkgeworICAodm9pZCl4OworICAodm9pZClkeDsKICAg
YXNtIHZvbGF0aWxlICgKICAgICBMQUJFTEFMSUdOCiAgICIxOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtMTE5NywyNiArMTI1MSwyOSBAQCB2b2lkIFNj
YWxlQVJHQkNvbHNVcDJfU1NFMih1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKIAogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgYXJyYW5naW5nIDIgcGl4ZWxzIGludG8gcGFpcnMg
Zm9yIHBtYWRkdWJzdwogc3RhdGljIHV2ZWM4IGtTaHVmZmxlQ29sQVJHQiA9IHsKLSAgMHUsIDR1
LCAxdSwgNXUsIDJ1LCA2dSwgM3UsIDd1LCAgLy8gYmJnZ3JyYWEgMXN0IHBpeGVsCi0gIDh1LCAx
MnUsIDl1LCAxM3UsIDEwdSwgMTR1LCAxMXUsIDE1dSAgLy8gYmJnZ3JyYWEgMm5kIHBpeGVsCisg
ICAgMHUsIDR1LCAgMXUsIDV1LCAgMnUsICA2dSwgIDN1LCAgN3UsICAvLyBiYmdncnJhYSAxc3Qg
cGl4ZWwKKyAgICA4dSwgMTJ1LCA5dSwgMTN1LCAxMHUsIDE0dSwgMTF1LCAxNXUgIC8vIGJiZ2dy
cmFhIDJuZCBwaXhlbAogfTsKIAogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgZHVwbGljYXRpbmcgMiBm
cmFjdGlvbnMgaW50byA4IGJ5dGVzIGVhY2gKIHN0YXRpYyB1dmVjOCBrU2h1ZmZsZUZyYWN0aW9u
cyA9IHsKLSAgMHUsIDB1LCAwdSwgMHUsIDB1LCAwdSwgMHUsIDB1LCA0dSwgNHUsIDR1LCA0dSwg
NHUsIDR1LCA0dSwgNHUsCisgICAgMHUsIDB1LCAwdSwgMHUsIDB1LCAwdSwgMHUsIDB1LCA0dSwg
NHUsIDR1LCA0dSwgNHUsIDR1LCA0dSwgNHUsCiB9OwogCiAvLyBCaWxpbmVhciByb3cgZmlsdGVy
aW5nIGNvbWJpbmVzIDR4MiAtPiA0eDEuIFNTU0UzIHZlcnNpb24KLXZvaWQgU2NhbGVBUkdCRmls
dGVyQ29sc19TU1NFMyh1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4
KSB7Cit2b2lkIFNjYWxlQVJHQkZpbHRlckNvbHNfU1NTRTModWludDgqIGRzdF9hcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkeCkgewogICBpbnRwdHJfdCB4MCwgeDE7Ci0gIGFzbSB2b2xhdGlsZSAoCi0gICAgIm1vdmRx
YSAgICAlMCwlJXhtbTQgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcWEgICAg
JTEsJSV4bW01ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgOgotICA6ICJtIihrU2h1ZmZs
ZUNvbEFSR0IpLCAgLy8gJTAKLSAgICAibSIoa1NodWZmbGVGcmFjdGlvbnMpICAvLyAlMQotICAp
OworICBhc20gdm9sYXRpbGUoCisgICAgICAibW92ZHFhICAgICUwLCUleG1tNCAgICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAibW92ZHFhICAgICUxLCUleG1tNSAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICA6CisgICAgICA6ICJtIihrU2h1ZmZsZUNvbEFSR0IpLCAgIC8v
ICUwCisgICAgICAgICJtIihrU2h1ZmZsZUZyYWN0aW9ucykgIC8vICUxCisgICAgICApOwogCiAg
IGFzbSB2b2xhdGlsZSAoCiAgICAgIm1vdmQgICAgICAlNSwlJXhtbTIgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgpAQCAtMTI4MywzNCArMTM0MCwzMiBAQCB2b2lkIFNjYWxlQVJHQkZpbHRlckNv
bHNfU1NTRTModWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCiAKIC8vIERp
dmlkZSBudW0gYnkgZGl2IGFuZCByZXR1cm4gYXMgMTYuMTYgZml4ZWQgcG9pbnQgcmVzdWx0Lgog
aW50IEZpeGVkRGl2X1g4NihpbnQgbnVtLCBpbnQgZGl2KSB7Ci0gIGFzbSB2b2xhdGlsZSAoCi0g
ICAgImNkcSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJz
aGxkICAgICAgJDB4MTAsJSVlYXgsJSVlZHggICAgICAgICAgICAgICBcbiIKLSAgICAic2hsICAg
ICAgICQweDEwLCUlZWF4ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImlkaXYgICAgICAl
MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3YgICAgICAgJTAsICUl
ZWF4ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICA6ICIrYSIobnVtKSAgLy8gJTAKLSAg
ICA6ICJjIihkaXYpICAgLy8gJTEKLSAgICA6ICJtZW1vcnkiLCAiY2MiLCAiZWR4IgotICApOwor
ICBhc20gdm9sYXRpbGUoCisgICAgICAiY2RxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAic2hsZCAgICAgICQweDEwLCUlZWF4LCUlZWR4ICAgICAgICAg
ICAgICAgXG4iCisgICAgICAic2hsICAgICAgICQweDEwLCUlZWF4ICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAiaWRpdiAgICAgICUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAibW92ICAgICAgICUwLCAlJWVheCAgICAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICA6ICIrYSIobnVtKSAgLy8gJTAKKyAgICAgIDogImMiKGRpdikgICAvLyAlMQorICAg
ICAgOiAibWVtb3J5IiwgImNjIiwgImVkeCIpOwogICByZXR1cm4gbnVtOwogfQogCiAvLyBEaXZp
ZGUgbnVtIC0gMSBieSBkaXYgLSAxIGFuZCByZXR1cm4gYXMgMTYuMTYgZml4ZWQgcG9pbnQgcmVz
dWx0LgogaW50IEZpeGVkRGl2MV9YODYoaW50IG51bSwgaW50IGRpdikgewotICBhc20gdm9sYXRp
bGUgKAotICAgICJjZHEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAic2hsZCAgICAgICQweDEwLCUlZWF4LCUlZWR4ICAgICAgICAgICAgICAgXG4iCi0gICAg
InNobCAgICAgICAkMHgxMCwlJWVheCAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdWIg
ICAgICAgJDB4MTAwMDEsJSVlYXggICAgICAgICAgICAgICAgICBcbiIKLSAgICAic2JiICAgICAg
ICQweDAsJSVlZHggICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInN1YiAgICAgICAkMHgx
LCUxICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJpZGl2ICAgICAgJTEgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAibW92ICAgICAgICUwLCAlJWVheCAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgOiAiK2EiKG51bSkgIC8vICUwCi0gICAgOiAiYyIo
ZGl2KSAgIC8vICUxCi0gICAgOiAibWVtb3J5IiwgImNjIiwgImVkeCIKLSAgKTsKKyAgYXNtIHZv
bGF0aWxlKAorICAgICAgImNkcSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIgorICAgICAgInNobGQgICAgICAkMHgxMCwlJWVheCwlJWVkeCAgICAgICAgICAgICAgIFxu
IgorICAgICAgInNobCAgICAgICAkMHgxMCwlJWVheCAgICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgInN1YiAgICAgICAkMHgxMDAwMSwlJWVheCAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgInNiYiAgICAgICAkMHgwLCUlZWR4ICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
InN1YiAgICAgICAkMHgxLCUxICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImlk
aXYgICAgICAlMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1vdiAg
ICAgICAlMCwgJSVlYXggICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgOiAiK2EiKG51
bSkgIC8vICUwCisgICAgICA6ICJjIihkaXYpICAgLy8gJTEKKyAgICAgIDogIm1lbW9yeSIsICJj
YyIsICJlZHgiKTsKICAgcmV0dXJuIG51bTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX21p
cHMuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di9zb3VyY2Uvc2NhbGVfbWlwcy5jYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YWU5NTMwNzNmYThkY2NiYmFlMzE2YWUwMzM2ZjlhNGU2ZmIxNGJkMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfbWlwcy5jYworKysgL2Rl
di9udWxsCkBAIC0xLDY0NCArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAyMDEyIFRoZSBMaWJZ
dXYgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0gKiAg
dGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUg
c291cmNlCi0gKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmln
aHRzIGdyYW50IGNhbiBiZSBmb3VuZAotICogIGluIHRoZSBmaWxlIFBBVEVOVFMuIEFsbCBjb250
cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQotICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JT
IGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotICovCi0KLSNpbmNsdWRlICJs
aWJ5dXYvYmFzaWNfdHlwZXMuaCIKLSNpbmNsdWRlICJsaWJ5dXYvcm93LmgiCi0KLSNpZmRlZiBf
X2NwbHVzcGx1cwotbmFtZXNwYWNlIGxpYnl1diB7Ci1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi0v
LyBUaGlzIG1vZHVsZSBpcyBmb3IgR0NDIE1JUFMgRFNQUjIKLSNpZiAhZGVmaW5lZChMSUJZVVZf
RElTQUJMRV9NSVBTKSAmJiBcCi0gICAgZGVmaW5lZChfX21pcHNfZHNwKSAmJiAoX19taXBzX2Rz
cF9yZXYgPj0gMikgJiYgXAotICAgIChfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTMyKQotCi12
b2lkIFNjYWxlUm93RG93bjJfRFNQUjIoY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rf
d2lkdGgpIHsKLSAgX19hc21fXyBfX3ZvbGF0aWxlX18oCi0gICAgIi5zZXQgcHVzaCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiLnNldCBub3Jlb3JkZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAgInNybCAgICAgICAgICAgICR0
OSwgJVtkc3Rfd2lkdGhdLCA0ICAgICAgICAgICBcbiIgIC8vIGl0ZXJhdGlvbnMgLT4gYnkgMTYK
LSAgICAiYmVxeiAgICAgICAgICAgJHQ5LCAyZiAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICIgbm9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0K
LSAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJsdyAgICAgICAgICAgICAkdDAsIDAoJVtzcmNfcHRyXSkgICAgICAgICAgICAgXG4iICAv
LyB8M3wyfDF8MHwKLSAgICAibHcgICAgICAgICAgICAgJHQxLCA0KCVbc3JjX3B0cl0pICAgICAg
ICAgICAgIFxuIiAgLy8gfDd8Nnw1fDR8Ci0gICAgImx3ICAgICAgICAgICAgICR0MiwgOCglW3Ny
Y19wdHJdKSAgICAgICAgICAgICBcbiIgIC8vIHwxMXwxMHw5fDh8Ci0gICAgImx3ICAgICAgICAg
ICAgICR0MywgMTIoJVtzcmNfcHRyXSkgICAgICAgICAgICBcbiIgIC8vIHwxNXwxNHwxM3wxMnwK
LSAgICAibHcgICAgICAgICAgICAgJHQ0LCAxNiglW3NyY19wdHJdKSAgICAgICAgICAgIFxuIiAg
Ly8gfDE5fDE4fDE3fDE2fAotICAgICJsdyAgICAgICAgICAgICAkdDUsIDIwKCVbc3JjX3B0cl0p
ICAgICAgICAgICAgXG4iICAvLyB8MjN8MjJ8MjF8MjB8Ci0gICAgImx3ICAgICAgICAgICAgICR0
NiwgMjQoJVtzcmNfcHRyXSkgICAgICAgICAgICBcbiIgIC8vIHwyN3wyNnwyNXwyNHwKLSAgICAi
bHcgICAgICAgICAgICAgJHQ3LCAyOCglW3NyY19wdHJdKSAgICAgICAgICAgIFxuIiAgLy8gfDMx
fDMwfDI5fDI4fAotICAgIC8vIFRPRE8oZmJhcmNoYXJkKTogVXNlIG9kZCBwaXhlbHMgaW5zdGVh
ZCBvZiBldmVuLgotICAgICJwcmVjci5xYi5waCAgICAkdDgsICR0MSwgJHQwICAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8Nnw0fDJ8MHwKLSAgICAicHJlY3IucWIucGggICAgJHQwLCAkdDMsICR0
MiAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE0fDEyfDEwfDh8Ci0gICAgInByZWNyLnFiLnBo
ICAgICR0MSwgJHQ1LCAkdDQgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwyMnwyMHwxOHwxNnwK
LSAgICAicHJlY3IucWIucGggICAgJHQyLCAkdDcsICR0NiAgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gfDMwfDI4fDI2fDI0fAotICAgICJhZGRpdSAgICAgICAgICAlW3NyY19wdHJdLCAlW3NyY19w
dHJdLCAzMiAgICAgXG4iCi0gICAgImFkZGl1ICAgICAgICAgICR0OSwgJHQ5LCAtMSAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICAgICAgJHQ4LCAwKCVbZHN0XSkgICAgICAg
ICAgICAgICAgIFxuIgotICAgICJzdyAgICAgICAgICAgICAkdDAsIDQoJVtkc3RdKSAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgInN3ICAgICAgICAgICAgICR0MSwgOCglW2RzdF0pICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAic3cgICAgICAgICAgICAgJHQyLCAxMiglW2RzdF0pICAgICAgICAg
ICAgICAgIFxuIgotICAgICJiZ3R6ICAgICAgICAgICAkdDksIDFiICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgIiBhZGRpdSAgICAgICAgICVbZHN0XSwgJVtkc3RdLCAxNiAgICAgICAg
ICAgICBcbiIKLQotICAiMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgImFuZGkgICAgICAgICAgICR0OSwgJVtkc3Rfd2lkdGhdLCAweGYgICAg
ICAgICBcbiIgIC8vIHJlc2lkdWUKLSAgICAiYmVxeiAgICAgICAgICAgJHQ5LCAzZiAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICIgbm9wICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0KLSAgIjIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICJsYnUgICAgICAgICAgICAkdDAsIDAoJVtzcmNfcHRy
XSkgICAgICAgICAgICAgXG4iCi0gICAgImFkZGl1ICAgICAgICAgICVbc3JjX3B0cl0sICVbc3Jj
X3B0cl0sIDIgICAgICBcbiIKLSAgICAiYWRkaXUgICAgICAgICAgJHQ5LCAkdDksIC0xICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJzYiAgICAgICAgICAgICAkdDAsIDAoJVtkc3RdKSAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgImJndHogICAgICAgICAgICR0OSwgMjFiICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAiIGFkZGl1ICAgICAgICAgJVtkc3RdLCAlW2RzdF0sIDEgICAg
ICAgICAgICAgIFxuIgotCi0gICIzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgotICA6IFtzcmNfcHRyXSAiK3IiIChzcmNfcHRyKSwKLSAgICBbZHN0XSAi
K3IiIChkc3QpCi0gIDogW2RzdF93aWR0aF0gInIiIChkc3Rfd2lkdGgpCi0gIDogInQwIiwgInQx
IiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwKLSAgICAidDYiLCAidDciLCAidDgiLCAidDkiCi0g
ICk7Ci19Ci0KLXZvaWQgU2NhbGVSb3dEb3duMkJveF9EU1BSMihjb25zdCB1aW50OCogc3JjX3B0
ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdCwgaW50IGRzdF93aWR0aCkgewotICBjb25zdCB1aW50OCogdCA9IHNyY19wdHIgKyBz
cmNfc3RyaWRlOwotCi0gIF9fYXNtX18gX192b2xhdGlsZV9fICgKLSAgICAiLnNldCBwdXNoICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIi5zZXQgbm9yZW9yZGVy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAgInNybCAgICAgICAgICAg
ICR0OSwgJVtkc3Rfd2lkdGhdLCAzICAgICAgICAgIFxuIiAgLy8gaXRlcmF0aW9ucyAtPiBzdGVw
IDgKLSAgICAiYmx0eiAgICAgICAgICAgJHQ5LCAyZiAgICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgIiBub3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot
Ci0gICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJsdyAgICAgICAgICAgICAkdDAsIDAoJVtzcmNfcHRyXSkgICAgICAgICAgICBcbiIgIC8v
IHwzfDJ8MXwwfAotICAgICJsdyAgICAgICAgICAgICAkdDEsIDQoJVtzcmNfcHRyXSkgICAgICAg
ICAgICBcbiIgIC8vIHw3fDZ8NXw0fAotICAgICJsdyAgICAgICAgICAgICAkdDIsIDgoJVtzcmNf
cHRyXSkgICAgICAgICAgICBcbiIgIC8vIHwxMXwxMHw5fDh8Ci0gICAgImx3ICAgICAgICAgICAg
ICR0MywgMTIoJVtzcmNfcHRyXSkgICAgICAgICAgIFxuIiAgLy8gfDE1fDE0fDEzfDEyfAotICAg
ICJsdyAgICAgICAgICAgICAkdDQsIDAoJVt0XSkgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwx
OXwxOHwxN3wxNnwKLSAgICAibHcgICAgICAgICAgICAgJHQ1LCA0KCVbdF0pICAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8MjN8MjJ8MjF8MjB8Ci0gICAgImx3ICAgICAgICAgICAgICR0NiwgOCgl
W3RdKSAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDI3fDI2fDI1fDI0fAotICAgICJsdyAgICAg
ICAgICAgICAkdDcsIDEyKCVbdF0pICAgICAgICAgICAgICAgICBcbiIgIC8vIHwzMXwzMHwyOXwy
OHwKLSAgICAiYWRkaXUgICAgICAgICAgJHQ5LCAkdDksIC0xICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgInNybCAgICAgICAgICAgICR0OCwgJHQwLCAxNiAgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gfFh8WHwzfDJ8Ci0gICAgImlucyAgICAgICAgICAgICR0MCwgJHQ0LCAxNiwgMTYgICAgICAg
ICAgICAgIFxuIiAgLy8gfDE3fDE2fDF8MHwKLSAgICAiaW5zICAgICAgICAgICAgJHQ0LCAkdDgs
IDAsIDE2ICAgICAgICAgICAgICAgXG4iICAvLyB8MTl8MTh8M3wyfAotICAgICJyYWRkdS53LnFi
ICAgICAkdDAsICR0MCAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwxNysxNisxKzB8Ci0g
ICAgInJhZGR1LncucWIgICAgICR0NCwgJHQ0ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
fDE5KzE4KzMrMnwKLSAgICAic2hyYV9yLncgICAgICAgJHQwLCAkdDAsIDIgICAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8dDArMnw+PjIKLSAgICAic2hyYV9yLncgICAgICAgJHQ0LCAkdDQsIDIg
ICAgICAgICAgICAgICAgICAgXG4iICAvLyB8dDQrMnw+PjIKLSAgICAic3JsICAgICAgICAgICAg
JHQ4LCAkdDEsIDE2ICAgICAgICAgICAgICAgICAgXG4iICAvLyB8WHxYfDd8NnwKLSAgICAiaW5z
ICAgICAgICAgICAgJHQxLCAkdDUsIDE2LCAxNiAgICAgICAgICAgICAgXG4iICAvLyB8MjF8MjB8
NXw0fAotICAgICJpbnMgICAgICAgICAgICAkdDUsICR0OCwgMCwgMTYgICAgICAgICAgICAgICBc
biIgIC8vIHwyMnwyM3w3fDZ8Ci0gICAgInJhZGR1LncucWIgICAgICR0MSwgJHQxICAgICAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gfDIxKzIwKzUrNHwKLSAgICAicmFkZHUudy5xYiAgICAgJHQ1
LCAkdDUgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MjMrMjIrNys2fAotICAgICJzaHJh
X3IudyAgICAgICAkdDEsICR0MSwgMiAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHx0MSsyfD4+
MgotICAgICJzaHJhX3IudyAgICAgICAkdDUsICR0NSwgMiAgICAgICAgICAgICAgICAgICBcbiIg
IC8vIHx0NSsyfD4+MgotICAgICJzcmwgICAgICAgICAgICAkdDgsICR0MiwgMTYgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIHxYfFh8MTF8MTB8Ci0gICAgImlucyAgICAgICAgICAgICR0MiwgJHQ2
LCAxNiwgMTYgICAgICAgICAgICAgIFxuIiAgLy8gfDI1fDI0fDl8OHwKLSAgICAiaW5zICAgICAg
ICAgICAgJHQ2LCAkdDgsIDAsIDE2ICAgICAgICAgICAgICAgXG4iICAvLyB8Mjd8MjZ8MTF8MTB8
Ci0gICAgInJhZGR1LncucWIgICAgICR0MiwgJHQyICAgICAgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gfDI1KzI0KzkrOHwKLSAgICAicmFkZHUudy5xYiAgICAgJHQ2LCAkdDYgICAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyB8MjcrMjYrMTErMTB8Ci0gICAgInNocmFfci53ICAgICAgICR0Miwg
JHQyLCAyICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfHQyKzJ8Pj4yCi0gICAgInNocmFfci53
ICAgICAgICR0NiwgJHQ2LCAyICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfHQ1KzJ8Pj4yCi0g
ICAgInNybCAgICAgICAgICAgICR0OCwgJHQzLCAxNiAgICAgICAgICAgICAgICAgIFxuIiAgLy8g
fFh8WHwxNXwxNHwKLSAgICAiaW5zICAgICAgICAgICAgJHQzLCAkdDcsIDE2LCAxNiAgICAgICAg
ICAgICAgXG4iICAvLyB8Mjl8Mjh8MTN8MTJ8Ci0gICAgImlucyAgICAgICAgICAgICR0NywgJHQ4
LCAwLCAxNiAgICAgICAgICAgICAgIFxuIiAgLy8gfDMxfDMwfDE1fDE0fAotICAgICJyYWRkdS53
LnFiICAgICAkdDMsICR0MyAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwyOSsyOCsxMysx
MnwKLSAgICAicmFkZHUudy5xYiAgICAgJHQ3LCAkdDcgICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvLyB8MzErMzArMTUrMTR8Ci0gICAgInNocmFfci53ICAgICAgICR0MywgJHQzLCAyICAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gfHQzKzJ8Pj4yCi0gICAgInNocmFfci53ICAgICAgICR0Nywg
JHQ3LCAyICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfHQ3KzJ8Pj4yCi0gICAgImFkZGl1ICAg
ICAgICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDE2ICAgIFxuIgotICAgICJhZGRpdSAgICAg
ICAgICAlW3RdLCAlW3RdLCAxNiAgICAgICAgICAgICAgICBcbiIKLSAgICAic2IgICAgICAgICAg
ICAgJHQwLCAwKCVbZHN0XSkgICAgICAgICAgICAgICAgXG4iCi0gICAgInNiICAgICAgICAgICAg
ICR0NCwgMSglW2RzdF0pICAgICAgICAgICAgICAgIFxuIgotICAgICJzYiAgICAgICAgICAgICAk
dDEsIDIoJVtkc3RdKSAgICAgICAgICAgICAgICBcbiIKLSAgICAic2IgICAgICAgICAgICAgJHQ1
LCAzKCVbZHN0XSkgICAgICAgICAgICAgICAgXG4iCi0gICAgInNiICAgICAgICAgICAgICR0Miwg
NCglW2RzdF0pICAgICAgICAgICAgICAgIFxuIgotICAgICJzYiAgICAgICAgICAgICAkdDYsIDUo
JVtkc3RdKSAgICAgICAgICAgICAgICBcbiIKLSAgICAic2IgICAgICAgICAgICAgJHQzLCA2KCVb
ZHN0XSkgICAgICAgICAgICAgICAgXG4iCi0gICAgInNiICAgICAgICAgICAgICR0NywgNyglW2Rz
dF0pICAgICAgICAgICAgICAgIFxuIgotICAgICJiZ3R6ICAgICAgICAgICAkdDksIDFiICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAiIGFkZGl1ICAgICAgICAgJVtkc3RdLCAlW2RzdF0s
IDggICAgICAgICAgICAgXG4iCi0KLSAgIjI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgImFuZGkgICAgICAgICAgICR0OSwgJVtkc3Rfd2lkdGhd
LCAweDcgICAgICAgIFxuIiAgLy8geCA9IHJlc2lkdWUKLSAgICAiYmVxeiAgICAgICAgICAgJHQ5
LCAzZiAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIiBub3AgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAgIjIxOiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsd3IgICAgICAgICAgICAkdDEsIDAo
JVtzcmNfcHRyXSkgICAgICAgICAgICBcbiIKLSAgICAibHdsICAgICAgICAgICAgJHQxLCAzKCVb
c3JjX3B0cl0pICAgICAgICAgICAgXG4iCi0gICAgImx3ciAgICAgICAgICAgICR0MiwgMCglW3Rd
KSAgICAgICAgICAgICAgICAgIFxuIgotICAgICJsd2wgICAgICAgICAgICAkdDIsIDMoJVt0XSkg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3JsICAgICAgICAgICAgJHQ4LCAkdDEsIDE2ICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgImlucyAgICAgICAgICAgICR0MSwgJHQyLCAxNiwgMTYg
ICAgICAgICAgICAgIFxuIgotICAgICJpbnMgICAgICAgICAgICAkdDIsICR0OCwgMCwgMTYgICAg
ICAgICAgICAgICBcbiIKLSAgICAicmFkZHUudy5xYiAgICAgJHQxLCAkdDEgICAgICAgICAgICAg
ICAgICAgICAgXG4iCi0gICAgInJhZGR1LncucWIgICAgICR0MiwgJHQyICAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJzaHJhX3IudyAgICAgICAkdDEsICR0MSwgMiAgICAgICAgICAgICAg
ICAgICBcbiIKLSAgICAic2hyYV9yLncgICAgICAgJHQyLCAkdDIsIDIgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgInNiICAgICAgICAgICAgICR0MSwgMCglW2RzdF0pICAgICAgICAgICAgICAg
IFxuIgotICAgICJzYiAgICAgICAgICAgICAkdDIsIDEoJVtkc3RdKSAgICAgICAgICAgICAgICBc
biIKLSAgICAiYWRkaXUgICAgICAgICAgJVtzcmNfcHRyXSwgJVtzcmNfcHRyXSwgNCAgICAgXG4i
Ci0gICAgImFkZGl1ICAgICAgICAgICR0OSwgJHQ5LCAtMiAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICJhZGRpdSAgICAgICAgICAlW3RdLCAlW3RdLCA0ICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAiYmd0eiAgICAgICAgICAgJHQ5LCAyMWIgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
IiBhZGRpdSAgICAgICAgICVbZHN0XSwgJVtkc3RdLCAyICAgICAgICAgICAgIFxuIgotCi0gICIz
OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICIu
c2V0IHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLQotICA6IFtz
cmNfcHRyXSAiK3IiIChzcmNfcHRyKSwKLSAgICBbZHN0XSAiK3IiIChkc3QpLCBbdF0gIityIiAo
dCkKLSAgOiBbZHN0X3dpZHRoXSAiciIgKGRzdF93aWR0aCkKLSAgOiAidDAiLCAidDEiLCAidDIi
LCAidDMiLCAidDQiLCAidDUiLAotICAgICJ0NiIsICJ0NyIsICJ0OCIsICJ0OSIKLSAgKTsKLX0K
LQotdm9pZCBTY2FsZVJvd0Rvd240X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQg
ZHN0X3dpZHRoKSB7Ci0gIF9fYXNtX18gX192b2xhdGlsZV9fICgKLSAgICAgICIuc2V0IHB1c2gg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIuc2V0IG5vcmVv
cmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLQotICAgICAgInNybCAgICAg
ICAgICAgICR0OSwgJVtkc3Rfd2lkdGhdLCAzICAgICAgICAgIFxuIgotICAgICAgImJlcXogICAg
ICAgICAgICR0OSwgMmYgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgIiBub3AgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAgICIxOiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAibHcgICAg
ICAgICAgICAgJHQxLCAwKCVbc3JjX3B0cl0pICAgICAgICAgICAgXG4iICAvLyB8M3wyfDF8MHwK
LSAgICAgICJsdyAgICAgICAgICAgICAkdDIsIDQoJVtzcmNfcHRyXSkgICAgICAgICAgICBcbiIg
IC8vIHw3fDZ8NXw0fAotICAgICAgImx3ICAgICAgICAgICAgICR0MywgOCglW3NyY19wdHJdKSAg
ICAgICAgICAgIFxuIiAgLy8gfDExfDEwfDl8OHwKLSAgICAgICJsdyAgICAgICAgICAgICAkdDQs
IDEyKCVbc3JjX3B0cl0pICAgICAgICAgICBcbiIgIC8vIHwxNXwxNHwxM3wxMnwKLSAgICAgICJs
dyAgICAgICAgICAgICAkdDUsIDE2KCVbc3JjX3B0cl0pICAgICAgICAgICBcbiIgIC8vIHwxOXwx
OHwxN3wxNnwKLSAgICAgICJsdyAgICAgICAgICAgICAkdDYsIDIwKCVbc3JjX3B0cl0pICAgICAg
ICAgICBcbiIgIC8vIHwyM3wyMnwyMXwyMHwKLSAgICAgICJsdyAgICAgICAgICAgICAkdDcsIDI0
KCVbc3JjX3B0cl0pICAgICAgICAgICBcbiIgIC8vIHwyN3wyNnwyNXwyNHwKLSAgICAgICJsdyAg
ICAgICAgICAgICAkdDgsIDI4KCVbc3JjX3B0cl0pICAgICAgICAgICBcbiIgIC8vIHwzMXwzMHwy
OXwyOHwKLSAgICAgICJwcmVjci5xYi5waCAgICAkdDEsICR0MiwgJHQxICAgICAgICAgICAgICAg
ICBcbiIgIC8vIHw2fDR8MnwwfAotICAgICAgInByZWNyLnFiLnBoICAgICR0MiwgJHQ0LCAkdDMg
ICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE0fDEyfDEwfDh8Ci0gICAgICAicHJlY3IucWIucGgg
ICAgJHQ1LCAkdDYsICR0NSAgICAgICAgICAgICAgICAgXG4iICAvLyB8MjJ8MjB8MTh8MTZ8Ci0g
ICAgICAicHJlY3IucWIucGggICAgJHQ2LCAkdDgsICR0NyAgICAgICAgICAgICAgICAgXG4iICAv
LyB8MzB8Mjh8MjZ8MjR8Ci0gICAgICAicHJlY3IucWIucGggICAgJHQxLCAkdDIsICR0MSAgICAg
ICAgICAgICAgICAgXG4iICAvLyB8MTJ8OHw0fDB8Ci0gICAgICAicHJlY3IucWIucGggICAgJHQ1
LCAkdDYsICR0NSAgICAgICAgICAgICAgICAgXG4iICAvLyB8Mjh8MjR8MjB8MTZ8Ci0gICAgICAi
YWRkaXUgICAgICAgICAgJVtzcmNfcHRyXSwgJVtzcmNfcHRyXSwgMzIgICAgXG4iCi0gICAgICAi
YWRkaXUgICAgICAgICAgJHQ5LCAkdDksIC0xICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAi
c3cgICAgICAgICAgICAgJHQxLCAwKCVbZHN0XSkgICAgICAgICAgICAgICAgXG4iCi0gICAgICAi
c3cgICAgICAgICAgICAgJHQ1LCA0KCVbZHN0XSkgICAgICAgICAgICAgICAgXG4iCi0gICAgICAi
Ymd0eiAgICAgICAgICAgJHQ5LCAxYiAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAi
IGFkZGl1ICAgICAgICAgJVtkc3RdLCAlW2RzdF0sIDggICAgICAgICAgICAgXG4iCi0KLSAgICAi
MjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAg
ICJhbmRpICAgICAgICAgICAkdDksICVbZHN0X3dpZHRoXSwgNyAgICAgICAgICBcbiIgIC8vIHJl
c2lkdWUKLSAgICAgICJiZXF6ICAgICAgICAgICAkdDksIDNmICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgICIgbm9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKLQotICAgICIyMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICAgImxidSAgICAgICAgICAgICR0MSwgMCglW3NyY19wdHJdKSAgICAgICAg
ICAgIFxuIgotICAgICAgImFkZGl1ICAgICAgICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDQg
ICAgIFxuIgotICAgICAgImFkZGl1ICAgICAgICAgICR0OSwgJHQ5LCAtMSAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICAgInNiICAgICAgICAgICAgICR0MSwgMCglW2RzdF0pICAgICAgICAgICAg
ICAgIFxuIgotICAgICAgImJndHogICAgICAgICAgICR0OSwgMjFiICAgICAgICAgICAgICAgICAg
ICAgIFxuIgotICAgICAgIiBhZGRpdSAgICAgICAgICVbZHN0XSwgJVtkc3RdLCAxICAgICAgICAg
ICAgIFxuIgotCi0gICAgIjM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgICA6IFtzcmNfcHRyXSAiK3IiIChzcmNfcHRyKSwKLSAgICAgICAgW2Rz
dF0gIityIiAoZHN0KQotICAgICAgOiBbZHN0X3dpZHRoXSAiciIgKGRzdF93aWR0aCkKLSAgICAg
IDogInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwKLSAgICAgICAgInQ2IiwgInQ3IiwgInQ4
IiwgInQ5IgotICApOwotfQotCi12b2lkIFNjYWxlUm93RG93bjRCb3hfRFNQUjIoY29uc3QgdWlu
dDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpIHsKLSAgaW50cHRyX3Qgc3RyaWRlID0g
c3JjX3N0cmlkZTsKLSAgY29uc3QgdWludDgqIHMxID0gc3JjX3B0ciArIHN0cmlkZTsKLSAgY29u
c3QgdWludDgqIHMyID0gczEgKyBzdHJpZGU7Ci0gIGNvbnN0IHVpbnQ4KiBzMyA9IHMyICsgc3Ry
aWRlOwotCi0gIF9fYXNtX18gX192b2xhdGlsZV9fICgKLSAgICAgICIuc2V0IHB1c2ggICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAiLnNldCBub3Jlb3JkZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAgICAic3JsICAgICAgICAgICAkdDks
ICVbZHN0X3dpZHRoXSwgMSAgICAgICAgIFxuIgotICAgICAgImFuZGkgICAgICAgICAgJHQ4LCAl
W2RzdF93aWR0aF0sIDEgICAgICAgICBcbiIKLQotICAgICAiMTogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJsdyAgICAgICAgICAgICR0MCwgMCgl
W3NyY19wdHJdKSAgICAgICAgICAgXG4iICAvLyB8M3wyfDF8MHwKLSAgICAgICJsdyAgICAgICAg
ICAgICR0MSwgMCglW3MxXSkgICAgICAgICAgICAgICAgXG4iICAvLyB8N3w2fDV8NHwKLSAgICAg
ICJsdyAgICAgICAgICAgICR0MiwgMCglW3MyXSkgICAgICAgICAgICAgICAgXG4iICAvLyB8MTF8
MTB8OXw4fAotICAgICAgImx3ICAgICAgICAgICAgJHQzLCAwKCVbczNdKSAgICAgICAgICAgICAg
ICBcbiIgIC8vIHwxNXwxNHwxM3wxMnwKLSAgICAgICJsdyAgICAgICAgICAgICR0NCwgNCglW3Ny
Y19wdHJdKSAgICAgICAgICAgXG4iICAvLyB8MTl8MTh8MTd8MTZ8Ci0gICAgICAibHcgICAgICAg
ICAgICAkdDUsIDQoJVtzMV0pICAgICAgICAgICAgICAgIFxuIiAgLy8gfDIzfDIyfDIxfDIwfAot
ICAgICAgImx3ICAgICAgICAgICAgJHQ2LCA0KCVbczJdKSAgICAgICAgICAgICAgICBcbiIgIC8v
IHwyN3wyNnwyNXwyNHwKLSAgICAgICJsdyAgICAgICAgICAgICR0NywgNCglW3MzXSkgICAgICAg
ICAgICAgICAgXG4iICAvLyB8MzF8MzB8Mjl8Mjh8Ci0gICAgICAicmFkZHUudy5xYiAgICAkdDAs
ICR0MCAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDMgKyAyICsgMSArIDB8Ci0gICAgICAi
cmFkZHUudy5xYiAgICAkdDEsICR0MSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDcgKyA2
ICsgNSArIDR8Ci0gICAgICAicmFkZHUudy5xYiAgICAkdDIsICR0MiAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgLy8gfDExICsgMTAgKyA5ICsgOHwKLSAgICAgICJyYWRkdS53LnFiICAgICR0Mywg
JHQzICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MTUgKyAxNCArIDEzICsgMTJ8Ci0gICAg
ICAicmFkZHUudy5xYiAgICAkdDQsICR0NCAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE5
ICsgMTggKyAxNyArIDE2fAotICAgICAgInJhZGR1LncucWIgICAgJHQ1LCAkdDUgICAgICAgICAg
ICAgICAgICAgICBcbiIgIC8vIHwyMyArIDIyICsgMjEgKyAyMHwKLSAgICAgICJyYWRkdS53LnFi
ICAgICR0NiwgJHQ2ICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MjcgKyAyNiArIDI1ICsg
MjR8Ci0gICAgICAicmFkZHUudy5xYiAgICAkdDcsICR0NyAgICAgICAgICAgICAgICAgICAgIFxu
IiAgLy8gfDMxICsgMzAgKyAyOSArIDI4fAotICAgICAgImFkZCAgICAgICAgICAgJHQwLCAkdDAs
ICR0MSAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJhZGQgICAgICAgICAgICR0MSwgJHQyLCAk
dDMgICAgICAgICAgICAgICAgXG4iCi0gICAgICAiYWRkICAgICAgICAgICAkdDAsICR0MCwgJHQx
ICAgICAgICAgICAgICAgIFxuIgotICAgICAgImFkZCAgICAgICAgICAgJHQ0LCAkdDQsICR0NSAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgICJhZGQgICAgICAgICAgICR0NiwgJHQ2LCAkdDcgICAg
ICAgICAgICAgICAgXG4iCi0gICAgICAiYWRkICAgICAgICAgICAkdDQsICR0NCwgJHQ2ICAgICAg
ICAgICAgICAgIFxuIgotICAgICAgInNocmFfci53ICAgICAgJHQwLCAkdDAsIDQgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAgICJzaHJhX3IudyAgICAgICR0NCwgJHQ0LCA0ICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgICAic2IgICAgICAgICAgICAkdDAsIDAoJVtkc3RdKSAgICAgICAgICAg
ICAgIFxuIgotICAgICAgInNiICAgICAgICAgICAgJHQ0LCAxKCVbZHN0XSkgICAgICAgICAgICAg
ICBcbiIKLSAgICAgICJhZGRpdSAgICAgICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDggICAg
XG4iCi0gICAgICAiYWRkaXUgICAgICAgICAlW3MxXSwgJVtzMV0sIDggICAgICAgICAgICAgIFxu
IgotICAgICAgImFkZGl1ICAgICAgICAgJVtzMl0sICVbczJdLCA4ICAgICAgICAgICAgICBcbiIK
LSAgICAgICJhZGRpdSAgICAgICAgICVbczNdLCAlW3MzXSwgOCAgICAgICAgICAgICAgXG4iCi0g
ICAgICAiYWRkaXUgICAgICAgICAkdDksICR0OSwgLTEgICAgICAgICAgICAgICAgIFxuIgotICAg
ICAgImJndHogICAgICAgICAgJHQ5LCAxYiAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAg
ICIgYWRkaXUgICAgICAgICVbZHN0XSwgJVtkc3RdLCAyICAgICAgICAgICAgXG4iCi0gICAgICAi
YmVxeiAgICAgICAgICAkdDgsIDJmICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgIiBu
b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLQotICAgICAgImx3
ICAgICAgICAgICAgJHQwLCAwKCVbc3JjX3B0cl0pICAgICAgICAgICBcbiIgIC8vIHwzfDJ8MXww
fAotICAgICAgImx3ICAgICAgICAgICAgJHQxLCAwKCVbczFdKSAgICAgICAgICAgICAgICBcbiIg
IC8vIHw3fDZ8NXw0fAotICAgICAgImx3ICAgICAgICAgICAgJHQyLCAwKCVbczJdKSAgICAgICAg
ICAgICAgICBcbiIgIC8vIHwxMXwxMHw5fDh8Ci0gICAgICAibHcgICAgICAgICAgICAkdDMsIDAo
JVtzM10pICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE1fDE0fDEzfDEyfAotICAgICAgInJhZGR1
LncucWIgICAgJHQwLCAkdDAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwzICsgMiArIDEg
KyAwfAotICAgICAgInJhZGR1LncucWIgICAgJHQxLCAkdDEgICAgICAgICAgICAgICAgICAgICBc
biIgIC8vIHw3ICsgNiArIDUgKyA0fAotICAgICAgInJhZGR1LncucWIgICAgJHQyLCAkdDIgICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwxMSArIDEwICsgOSArIDh8Ci0gICAgICAicmFkZHUu
dy5xYiAgICAkdDMsICR0MyAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE1ICsgMTQgKyAx
MyArIDEyfAotICAgICAgImFkZCAgICAgICAgICAgJHQwLCAkdDAsICR0MSAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgICJhZGQgICAgICAgICAgICR0MSwgJHQyLCAkdDMgICAgICAgICAgICAgICAg
XG4iCi0gICAgICAiYWRkICAgICAgICAgICAkdDAsICR0MCwgJHQxICAgICAgICAgICAgICAgIFxu
IgotICAgICAgInNocmFfci53ICAgICAgJHQwLCAkdDAsIDQgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAgICJzYiAgICAgICAgICAgICR0MCwgMCglW2RzdF0pICAgICAgICAgICAgICAgXG4iCi0K
LSAgICAgICIyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0g
ICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0g
ICAgICA6IFtzcmNfcHRyXSAiK3IiIChzcmNfcHRyKSwKLSAgICAgICAgW2RzdF0gIityIiAoZHN0
KSwKLSAgICAgICAgW3MxXSAiK3IiIChzMSksCi0gICAgICAgIFtzMl0gIityIiAoczIpLAotICAg
ICAgICBbczNdICIrciIgKHMzKQotICAgICAgOiBbZHN0X3dpZHRoXSAiciIgKGRzdF93aWR0aCkK
LSAgICAgIDogInQwIiwgInQxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IiwKLSAgICAgICAgInQ2
IiwidDciLCAidDgiLCAidDkiCi0gICk7Ci19Ci0KLXZvaWQgU2NhbGVSb3dEb3duMzRfRFNQUjIo
Y29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKSB7Ci0gIF9fYXNtX18gX192
b2xhdGlsZV9fICgKLSAgICAgICIuc2V0IHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgICIuc2V0IG5vcmVvcmRlciAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiMTogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJsdyAgICAgICAgICAgICAgJHQx
LCAwKCVbc3JjX3B0cl0pICAgICAgICAgICAgICAgICBcbiIgIC8vIHwzfDJ8MXwwfAotICAgICAg
Imx3ICAgICAgICAgICAgICAkdDIsIDQoJVtzcmNfcHRyXSkgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gfDd8Nnw1fDR8Ci0gICAgICAibHcgICAgICAgICAgICAgICR0MywgOCglW3NyY19wdHJdKSAg
ICAgICAgICAgICAgICAgXG4iICAvLyB8MTF8MTB8OXw4fAotICAgICAgImx3ICAgICAgICAgICAg
ICAkdDQsIDEyKCVbc3JjX3B0cl0pICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE1fDE0fDEzfDEy
fAotICAgICAgImx3ICAgICAgICAgICAgICAkdDUsIDE2KCVbc3JjX3B0cl0pICAgICAgICAgICAg
ICAgIFxuIiAgLy8gfDE5fDE4fDE3fDE2fAotICAgICAgImx3ICAgICAgICAgICAgICAkdDYsIDIw
KCVbc3JjX3B0cl0pICAgICAgICAgICAgICAgIFxuIiAgLy8gfDIzfDIyfDIxfDIwfAotICAgICAg
Imx3ICAgICAgICAgICAgICAkdDcsIDI0KCVbc3JjX3B0cl0pICAgICAgICAgICAgICAgIFxuIiAg
Ly8gfDI3fDI2fDI1fDI0fAotICAgICAgImx3ICAgICAgICAgICAgICAkdDgsIDI4KCVbc3JjX3B0
cl0pICAgICAgICAgICAgICAgIFxuIiAgLy8gfDMxfDMwfDI5fDI4fAotICAgICAgInByZWNycS5x
Yi5waCAgICAkdDAsICR0MiwgJHQ0ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDd8NXwx
NXwxM3wKLSAgICAgICJwcmVjcnEucWIucGggICAgJHQ5LCAkdDYsICR0OCAgICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIHwyM3wyMXwzMXwzMHwKLSAgICAgICJhZGRpdSAgICAgICAgICAgJVtk
c3Rfd2lkdGhdLCAlW2RzdF93aWR0aF0sIC0yNCAgICBcbiIKLSAgICAgICJpbnMgICAgICAgICAg
ICAgJHQxLCAkdDEsIDgsIDE2ICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwzfDF8MHxYfAot
ICAgICAgImlucyAgICAgICAgICAgICAkdDQsICR0MCwgOCwgMTYgICAgICAgICAgICAgICAgICAg
IFxuIiAgLy8gfFh8MTV8MTN8MTJ8Ci0gICAgICAiaW5zICAgICAgICAgICAgICR0NSwgJHQ1LCA4
LCAxNiAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MTl8MTd8MTZ8WHwKLSAgICAgICJpbnMg
ICAgICAgICAgICAgJHQ4LCAkdDksIDgsIDE2ICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxY
fDMxfDI5fDI4fAotICAgICAgImFkZGl1ICAgICAgICAgICAlW3NyY19wdHJdLCAlW3NyY19wdHJd
LCAzMiAgICAgICAgIFxuIgotICAgICAgInBhY2tybC5waCAgICAgICAkdDAsICR0MywgJHQwICAg
ICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDl8OHw3fDV8Ci0gICAgICAicGFja3JsLnBoICAg
ICAgICR0OSwgJHQ3LCAkdDkgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MjV8MjR8MjN8
MjF8Ci0gICAgICAicHJlcGVuZCAgICAgICAgICR0MSwgJHQyLCA4ICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iICAvLyB8NHwzfDF8MHwKLSAgICAgICJwcmVwZW5kICAgICAgICAgJHQzLCAkdDQs
IDI0ICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwxNXwxM3wxMnwxMXwKLSAgICAgICJw
cmVwZW5kICAgICAgICAgJHQ1LCAkdDYsIDggICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8v
IHwyMHwxOXwxN3wxNnwKLSAgICAgICJwcmVwZW5kICAgICAgICAgJHQ3LCAkdDgsIDI0ICAgICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHwzMXwyOXwyOHwyN3wKLSAgICAgICJzdyAgICAgICAg
ICAgICAgJHQxLCAwKCVbZHN0XSkgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzdyAg
ICAgICAgICAgICAgJHQwLCA0KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAg
ICJzdyAgICAgICAgICAgICAgJHQzLCA4KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAgICJzdyAgICAgICAgICAgICAgJHQ1LCAxMiglW2RzdF0pICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgICJzdyAgICAgICAgICAgICAgJHQ5LCAxNiglW2RzdF0pICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAgICJzdyAgICAgICAgICAgICAgJHQ3LCAyMCglW2RzdF0pICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgICJibmV6ICAgICAgICAgICAgJVtkc3Rfd2lkdGhdLCAx
YiAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIgYWRkaXUgICAgICAgICAgJVtkc3RdLCAl
W2RzdF0sIDI0ICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIuc2V0IHBvcCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgIDogW3NyY19wdHJdICIr
ciIgKHNyY19wdHIpLAotICAgICAgICBbZHN0XSAiK3IiIChkc3QpLAotICAgICAgICBbZHN0X3dp
ZHRoXSAiK3IiIChkc3Rfd2lkdGgpCi0gICAgICA6Ci0gICAgICA6ICJ0MCIsICJ0MSIsICJ0MiIs
ICJ0MyIsICJ0NCIsICJ0NSIsCi0gICAgICAgICJ0NiIsInQ3IiwgInQ4IiwgInQ5IgotICApOwot
fQotCi12b2lkIFNjYWxlUm93RG93bjM0XzBfQm94X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGQsIGludCBkc3Rfd2lkdGgpIHsKLSAgX19hc21fXyBfX3ZvbGF0aWxlX18gKAotICAg
ICAgIi5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgICAiLnNldCBub3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgICJyZXBsLnBoICAgICAgICAgICAkdDMsIDMgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIiAgLy8gMHgwMDAzMDAwMwotCi0gICAgIjE6ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJsdyAgICAgICAgICAgICAg
ICAkdDAsIDAoJVtzcmNfcHRyXSkgICAgICAgICAgICAgIFxuIiAgLy8gfFMzfFMyfFMxfFMwfAot
ICAgICAgImx3eCAgICAgICAgICAgICAgICR0MSwgJVtzcmNfc3RyaWRlXSglW3NyY19wdHJdKSAg
XG4iICAvLyB8VDN8VDJ8VDF8VDB8Ci0gICAgICAicm90ciAgICAgICAgICAgICAgJHQyLCAkdDAs
IDggICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxTMHxTM3xTMnxTMXwKLSAgICAgICJyb3Ry
ICAgICAgICAgICAgICAkdDYsICR0MSwgOCAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFQw
fFQzfFQyfFQxfAotICAgICAgIm11bGV1X3MucGgucWJsICAgICR0NCwgJHQyLCAkdDMgICAgICAg
ICAgICAgICAgICAgXG4iICAvLyB8UzAqM3xTMyozfAotICAgICAgIm11bGV1X3MucGgucWJsICAg
ICR0NSwgJHQ2LCAkdDMgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8VDAqM3xUMyozfAotICAg
ICAgImFuZGkgICAgICAgICAgICAgICR0MCwgJHQyLCAweEZGRkYgICAgICAgICAgICAgICAgXG4i
ICAvLyB8MHwwfFMyfFMxfAotICAgICAgImFuZGkgICAgICAgICAgICAgICR0MSwgJHQ2LCAweEZG
RkYgICAgICAgICAgICAgICAgXG4iICAvLyB8MHwwfFQyfFQxfAotICAgICAgInJhZGR1LncucWIg
ICAgICAgICR0MCwgJHQwICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAicmFkZHUu
dy5xYiAgICAgICAgJHQxLCAkdDEgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJz
aHJhX3IudyAgICAgICAgICAkdDAsICR0MCwgMSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICAgInNocmFfci53ICAgICAgICAgICR0MSwgJHQxLCAxICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgICAicHJlY2V1LnBoLnFiciAgICAgJHQyLCAkdDIgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIgIC8vIHwwfFMyfDB8UzF8Ci0gICAgICAicHJlY2V1LnBoLnFiciAgICAgJHQ2LCAkdDYg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwwfFQyfDB8VDF8Ci0gICAgICAicm90ciAg
ICAgICAgICAgICAgJHQyLCAkdDIsIDE2ICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwwfFMx
fDB8UzJ8Ci0gICAgICAicm90ciAgICAgICAgICAgICAgJHQ2LCAkdDYsIDE2ICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIHwwfFQxfDB8VDJ8Ci0gICAgICAiYWRkdS5waCAgICAgICAgICAgJHQy
LCAkdDIsICR0NCAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJhZGR1LnBoICAgICAgICAg
ICAkdDYsICR0NiwgJHQ1ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInNsbCAgICAgICAg
ICAgICAgICR0NSwgJHQwLCAxICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAiYWRkICAg
ICAgICAgICAgICAgJHQwLCAkdDUsICR0MCAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJz
aHJhX3IucGggICAgICAgICAkdDIsICR0MiwgMiAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICAgInNocmFfci5waCAgICAgICAgICR0NiwgJHQ2LCAyICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgICAic2hsbC5waCAgICAgICAgICAgJHQ0LCAkdDIsIDEgICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgICJhZGRxLnBoICAgICAgICAgICAkdDQsICR0NCwgJHQyICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICAgImFkZHUgICAgICAgICAgICAgICR0MCwgJHQwLCAkdDEgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgICAiYWRkaXUgICAgICAgICAgICAgJVtzcmNfcHRyXSwgJVtz
cmNfcHRyXSwgNCAgICAgICBcbiIKLSAgICAgICJzaHJhX3IudyAgICAgICAgICAkdDAsICR0MCwg
MiAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImFkZHUucGggICAgICAgICAgICR0Niwg
JHQ2LCAkdDQgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic2hyYV9yLnBoICAgICAgICAg
JHQ2LCAkdDYsIDIgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzcmwgICAgICAgICAg
ICAgICAkdDEsICR0NiwgMTYgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImFkZGl1ICAg
ICAgICAgICAgICVbZHN0X3dpZHRoXSwgJVtkc3Rfd2lkdGhdLCAtMyAgXG4iCi0gICAgICAic2Ig
ICAgICAgICAgICAgICAgJHQxLCAwKCVbZF0pICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAg
ICJzYiAgICAgICAgICAgICAgICAkdDAsIDEoJVtkXSkgICAgICAgICAgICAgICAgICAgIFxuIgot
ICAgICAgInNiICAgICAgICAgICAgICAgICR0NiwgMiglW2RdKSAgICAgICAgICAgICAgICAgICAg
XG4iCi0gICAgICAiYmd0eiAgICAgICAgICAgICAgJVtkc3Rfd2lkdGhdLCAxYiAgICAgICAgICAg
ICAgICBcbiIKLSAgICAgICIgYWRkaXUgICAgICAgICAgICAlW2RdLCAlW2RdLCAzICAgICAgICAg
ICAgICAgICAgIFxuIgotICAgICIzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgICAiLnNldCBwb3AgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgIDogW3NyY19wdHJdICIrciIgKHNyY19wdHIp
LAotICAgICAgICBbc3JjX3N0cmlkZV0gIityIiAoc3JjX3N0cmlkZSksCi0gICAgICAgIFtkXSAi
K3IiIChkKSwKLSAgICAgICAgW2RzdF93aWR0aF0gIityIiAoZHN0X3dpZHRoKQotICAgICAgOgot
ICAgICAgOiAidDAiLCAidDEiLCAidDIiLCAidDMiLAotICAgICAgICAidDQiLCAidDUiLCAidDYi
Ci0gICk7Ci19Ci0KLXZvaWQgU2NhbGVSb3dEb3duMzRfMV9Cb3hfRFNQUjIoY29uc3QgdWludDgq
IHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZCwgaW50IGRzdF93aWR0aCkgewotICBfX2FzbV9fIF9fdm9sYXRpbGVf
XyAoCi0gICAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgICJyZXBsLnBoICAgICAgICAgICAkdDIsIDMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyAweDAwMDMwMDAzCi0KLSAgICAiMTogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAi
bHcgICAgICAgICAgICAgICAgJHQwLCAwKCVbc3JjX3B0cl0pICAgICAgICAgICAgICAgIFxuIiAg
Ly8gfFMzfFMyfFMxfFMwfAotICAgICAgImx3eCAgICAgICAgICAgICAgICR0MSwgJVtzcmNfc3Ry
aWRlXSglW3NyY19wdHJdKSAgICBcbiIgIC8vIHxUM3xUMnxUMXxUMHwKLSAgICAgICJyb3RyICAg
ICAgICAgICAgICAkdDQsICR0MCwgOCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8UzB8
UzN8UzJ8UzF8Ci0gICAgICAicm90ciAgICAgICAgICAgICAgJHQ2LCAkdDEsIDggICAgICAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gfFQwfFQzfFQyfFQxfAotICAgICAgIm11bGV1X3MucGgucWJs
ICAgICR0MywgJHQ0LCAkdDIgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxTMCozfFMzKjN8
Ci0gICAgICAibXVsZXVfcy5waC5xYmwgICAgJHQ1LCAkdDYsICR0MiAgICAgICAgICAgICAgICAg
ICAgIFxuIiAgLy8gfFQwKjN8VDMqM3wKLSAgICAgICJhbmRpICAgICAgICAgICAgICAkdDAsICR0
NCwgMHhGRkZGICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MHwwfFMyfFMxfAotICAgICAgImFu
ZGkgICAgICAgICAgICAgICR0MSwgJHQ2LCAweEZGRkYgICAgICAgICAgICAgICAgICBcbiIgIC8v
IHwwfDB8VDJ8VDF8Ci0gICAgICAicmFkZHUudy5xYiAgICAgICAgJHQwLCAkdDAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgICAgInJhZGR1LncucWIgICAgICAgICR0MSwgJHQxICAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzaHJhX3IudyAgICAgICAgICAkdDAs
ICR0MCwgMSAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic2hyYV9yLncgICAgICAg
ICAgJHQxLCAkdDEsIDEgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInByZWNldS5w
aC5xYnIgICAgICR0NCwgJHQ0ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwwfFMy
fDB8UzF8Ci0gICAgICAicHJlY2V1LnBoLnFiciAgICAgJHQ2LCAkdDYgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgLy8gfDB8VDJ8MHxUMXwKLSAgICAgICJyb3RyICAgICAgICAgICAgICAk
dDQsICR0NCwgMTYgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MHxTMXwwfFMyfAotICAg
ICAgInJvdHIgICAgICAgICAgICAgICR0NiwgJHQ2LCAxNiAgICAgICAgICAgICAgICAgICAgICBc
biIgIC8vIHwwfFQxfDB8VDJ8Ci0gICAgICAiYWRkdS5waCAgICAgICAgICAgJHQ0LCAkdDQsICR0
MyAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImFkZHUucGggICAgICAgICAgICR0Niwg
JHQ2LCAkdDUgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzaHJhX3IucGggICAgICAg
ICAkdDYsICR0NiwgMiAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic2hyYV9yLnBo
ICAgICAgICAgJHQ0LCAkdDQsIDIgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImFk
ZHUucGggICAgICAgICAgICR0NiwgJHQ2LCAkdDQgICAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAgICJhZGRpdSAgICAgICAgICAgICAlW3NyY19wdHJdLCAlW3NyY19wdHJdLCA0ICAgICAgICAg
XG4iCi0gICAgICAic2hyYV9yLnBoICAgICAgICAgJHQ2LCAkdDYsIDEgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICAgImFkZHUgICAgICAgICAgICAgICR0MCwgJHQwLCAkdDEgICAgICAg
ICAgICAgICAgICAgICBcbiIKLSAgICAgICJhZGRpdSAgICAgICAgICAgICAlW2RzdF93aWR0aF0s
ICVbZHN0X3dpZHRoXSwgLTMgICAgXG4iCi0gICAgICAic2hyYV9yLncgICAgICAgICAgJHQwLCAk
dDAsIDEgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInNybCAgICAgICAgICAgICAg
ICR0MSwgJHQ2LCAxNiAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzYiAgICAgICAg
ICAgICAgICAkdDEsIDAoJVtkXSkgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic2Ig
ICAgICAgICAgICAgICAgJHQwLCAxKCVbZF0pICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICAgInNiICAgICAgICAgICAgICAgICR0NiwgMiglW2RdKSAgICAgICAgICAgICAgICAgICAgICBc
biIKLSAgICAgICJiZ3R6ICAgICAgICAgICAgICAlW2RzdF93aWR0aF0sIDFiICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgICAiIGFkZGl1ICAgICAgICAgICAgJVtkXSwgJVtkXSwgMyAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICIzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIuc2V0IHBvcCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICA6IFtzcmNfcHRyXSAiK3IiIChz
cmNfcHRyKSwKLSAgICAgICAgW3NyY19zdHJpZGVdICIrciIgKHNyY19zdHJpZGUpLAotICAgICAg
ICBbZF0gIityIiAoZCksCi0gICAgICAgIFtkc3Rfd2lkdGhdICIrciIgKGRzdF93aWR0aCkKLSAg
ICAgIDoKLSAgICAgIDogInQwIiwgInQxIiwgInQyIiwgInQzIiwKLSAgICAgICAgInQ0IiwgInQ1
IiwgInQ2IgotICApOwotfQotCi12b2lkIFNjYWxlUm93RG93bjM4X0RTUFIyKGNvbnN0IHVpbnQ4
KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCkgewotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAo
Ci0gICAgICAiLnNldCBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKLQotICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAgICJsdyAgICAgICAgICR0MCwgMCglW3NyY19wdHJdKSAgICAgICAgICAgICAg
ICAgXG4iICAvLyB8M3wyfDF8MHwKLSAgICAgICJsdyAgICAgICAgICR0MSwgNCglW3NyY19wdHJd
KSAgICAgICAgICAgICAgICAgXG4iICAvLyB8N3w2fDV8NHwKLSAgICAgICJsdyAgICAgICAgICR0
MiwgOCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICAgXG4iICAvLyB8MTF8MTB8OXw4fAotICAg
ICAgImx3ICAgICAgICAgJHQzLCAxMiglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBcbiIgIC8v
IHwxNXwxNHwxM3wxMnwKLSAgICAgICJsdyAgICAgICAgICR0NCwgMTYoJVtzcmNfcHRyXSkgICAg
ICAgICAgICAgICAgXG4iICAvLyB8MTl8MTh8MTd8MTZ8Ci0gICAgICAibHcgICAgICAgICAkdDUs
IDIwKCVbc3JjX3B0cl0pICAgICAgICAgICAgICAgIFxuIiAgLy8gfDIzfDIyfDIxfDIwfAotICAg
ICAgImx3ICAgICAgICAgJHQ2LCAyNCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBcbiIgIC8v
IHwyN3wyNnwyNXwyNHwKLSAgICAgICJsdyAgICAgICAgICR0NywgMjgoJVtzcmNfcHRyXSkgICAg
ICAgICAgICAgICAgXG4iICAvLyB8MzF8MzB8Mjl8Mjh8Ci0gICAgICAid3NiaCAgICAgICAkdDAs
ICR0MCAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDJ8M3wwfDF8Ci0gICAgICAi
d3NiaCAgICAgICAkdDYsICR0NiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDI2
fDI3fDI0fDI1fAotICAgICAgInNybCAgICAgICAgJHQwLCAkdDAsIDggICAgICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIHxYfDJ8M3wwfAotICAgICAgInNybCAgICAgICAgJHQzLCAkdDMsIDE2
ICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxYfFh8MTV8MTR8Ci0gICAgICAic3JsICAg
ICAgICAkdDUsICR0NSwgMTYgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFh8WHwyM3wy
MnwKLSAgICAgICJzcmwgICAgICAgICR0NywgJHQ3LCAxNiAgICAgICAgICAgICAgICAgICAgICAg
XG4iICAvLyB8WHxYfDMxfDMwfAotICAgICAgImlucyAgICAgICAgJHQxLCAkdDIsIDI0LCA4ICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIHw4fDZ8NXw0fAotICAgICAgImlucyAgICAgICAgJHQ2
LCAkdDUsIDAsIDggICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwyNnwyN3wyNHwyMnwKLSAg
ICAgICJpbnMgICAgICAgICR0MSwgJHQwLCAwLCAxNiAgICAgICAgICAgICAgICAgICAgXG4iICAv
LyB8OHw2fDN8MHwKLSAgICAgICJpbnMgICAgICAgICR0NiwgJHQ3LCAyNCwgOCAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyB8MzB8Mjd8MjR8MjJ8Ci0gICAgICAicHJlcGVuZCAgICAkdDIsICR0
MywgMjQgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFh8MTV8MTR8MTF8Ci0gICAgICAi
aW5zICAgICAgICAkdDQsICR0NCwgMTYsIDggICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDE5
fDE2fDE3fFh8Ci0gICAgICAiaW5zICAgICAgICAkdDQsICR0MiwgMCwgMTYgICAgICAgICAgICAg
ICAgICAgIFxuIiAgLy8gfDE5fDE2fDE0fDExfAotICAgICAgImFkZGl1ICAgICAgJVtzcmNfcHRy
XSwgJVtzcmNfcHRyXSwgMzIgICAgICAgICBcbiIKLSAgICAgICJhZGRpdSAgICAgICVbZHN0X3dp
ZHRoXSwgJVtkc3Rfd2lkdGhdLCAtMTIgICAgXG4iCi0gICAgICAiYWRkaXUgICAgICAkdDgsJVtk
c3Rfd2lkdGhdLCAtMTIgICAgICAgICAgICAgIFxuIgotICAgICAgInN3ICAgICAgICAgJHQxLCAw
KCVbZHN0XSkgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzdyAgICAgICAgICR0NCwg
NCglW2RzdF0pICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAic3cgICAgICAgICAkdDYs
IDgoJVtkc3RdKSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgImJnZXogICAgICAgJHQ4
LCAxYiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIgYWRkaXUgICAgICVb
ZHN0XSwgJVtkc3RdLCAxMiAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAiLnNldCBwb3AgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgOiBbc3JjX3B0cl0g
IityIiAoc3JjX3B0ciksCi0gICAgICAgIFtkc3RdICIrciIgKGRzdCksCi0gICAgICAgIFtkc3Rf
d2lkdGhdICIrciIgKGRzdF93aWR0aCkKLSAgICAgIDoKLSAgICAgIDogInQwIiwgInQxIiwgInQy
IiwgInQzIiwgInQ0IiwKLSAgICAgICAgInQ1IiwgInQ2IiwgInQ3IiwgInQ4IgotICApOwotfQot
Ci12b2lkIFNjYWxlUm93RG93bjM4XzJfQm94X0RTUFIyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKLSAgaW50cHRyX3Qgc3RyaWRlID0gc3JjX3N0
cmlkZTsKLSAgY29uc3QgdWludDgqIHQgPSBzcmNfcHRyICsgc3RyaWRlOwotICBjb25zdCBpbnQg
YyA9IDB4MkFBQTsKLQotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCi0gICAgICAiLnNldCBwdXNo
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIuc2V0
IG5vcmVvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotCi0gICAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK
LSAgICAgICJsdyAgICAgICAgICAgICAgJHQwLCAwKCVbc3JjX3B0cl0pICAgICAgICAgICAgICAg
IFxuIiAgLy8gfFMzfFMyfFMxfFMwfAotICAgICAgImx3ICAgICAgICAgICAgICAkdDEsIDQoJVtz
cmNfcHRyXSkgICAgICAgICAgICAgICAgXG4iICAvLyB8Uzd8UzZ8UzV8UzR8Ci0gICAgICAibHcg
ICAgICAgICAgICAgICR0MiwgMCglW3RdKSAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxU
M3xUMnxUMXxUMHwKLSAgICAgICJsdyAgICAgICAgICAgICAgJHQzLCA0KCVbdF0pICAgICAgICAg
ICAgICAgICAgICAgIFxuIiAgLy8gfFQ3fFQ2fFQ1fFQ0fAotICAgICAgInJvdHIgICAgICAgICAg
ICAkdDEsICR0MSwgMTYgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8UzV8UzR8Uzd8UzZ8
Ci0gICAgICAicGFja3JsLnBoICAgICAgICR0NCwgJHQxLCAkdDMgICAgICAgICAgICAgICAgICAg
ICBcbiIgIC8vIHxTN3xTNnxUN3xUNnwKLSAgICAgICJwYWNrcmwucGggICAgICAgJHQ1LCAkdDMs
ICR0MSAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFQ1fFQ0fFM1fFM0fAotICAgICAgInJh
ZGR1LncucWIgICAgICAkdDQsICR0NCAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBT
NytTNitUNytUNgotICAgICAgInJhZGR1LncucWIgICAgICAkdDUsICR0NSAgICAgICAgICAgICAg
ICAgICAgICAgICAgXG4iICAvLyBUNStUNCtTNStTNAotICAgICAgInByZWNycS5xYi5waCAgICAk
dDYsICR0MCwgJHQyICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8UzN8UzF8VDN8VDF8Ci0g
ICAgICAicHJlY3JxLnFiLnBoICAgICR0NiwgJHQ2LCAkdDYgICAgICAgICAgICAgICAgICAgICBc
biIgIC8vIHxTM3xUM3xTM3xUM3wKLSAgICAgICJzcmwgICAgICAgICAgICAgJHQ0LCAkdDQsIDIg
ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gdDQgLyA0Ci0gICAgICAic3JsICAgICAgICAg
ICAgICR0NiwgJHQ2LCAxNiAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHwwfDB8UzN8VDN8
Ci0gICAgICAicmFkZHUudy5xYiAgICAgICR0NiwgJHQ2ICAgICAgICAgICAgICAgICAgICAgICAg
ICBcbiIgIC8vIDArMCtTMytUMwotICAgICAgImFkZHUgICAgICAgICAgICAkdDYsICR0NSwgJHQ2
ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAibXVsICAgICAgICAgICAgICR0NiwgJHQ2
LCAlW2NdICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHQ2ICogMHgyQUFBCi0gICAgICAic2xs
ICAgICAgICAgICAgICR0MCwgJHQwLCA4ICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxT
MnxTMXxTMHwwfAotICAgICAgInNsbCAgICAgICAgICAgICAkdDIsICR0MiwgOCAgICAgICAgICAg
ICAgICAgICAgICAgXG4iICAvLyB8VDJ8VDF8VDB8MHwKLSAgICAgICJyYWRkdS53LnFiICAgICAg
JHQwLCAkdDAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gUzIrUzErUzArMAotICAg
ICAgInJhZGR1LncucWIgICAgICAkdDIsICR0MiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
ICAvLyBUMitUMStUMCswCi0gICAgICAiYWRkdSAgICAgICAgICAgICR0MCwgJHQwLCAkdDIgICAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJtdWwgICAgICAgICAgICAgJHQwLCAkdDAsICVb
Y10gICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gdDAgKiAweDJBQUEKLSAgICAgICJhZGRpdSAg
ICAgICAgICAgJVtzcmNfcHRyXSwgJVtzcmNfcHRyXSwgOCAgICAgICAgIFxuIgotICAgICAgImFk
ZGl1ICAgICAgICAgICAlW3RdLCAlW3RdLCA4ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAg
ICAiYWRkaXUgICAgICAgICAgICVbZHN0X3dpZHRoXSwgJVtkc3Rfd2lkdGhdLCAtMyAgICBcbiIK
LSAgICAgICJhZGRpdSAgICAgICAgICAgJVtkc3RfcHRyXSwgJVtkc3RfcHRyXSwgMyAgICAgICAg
IFxuIgotICAgICAgInNybCAgICAgICAgICAgICAkdDYsICR0NiwgMTYgICAgICAgICAgICAgICAg
ICAgICAgXG4iCi0gICAgICAic3JsICAgICAgICAgICAgICR0MCwgJHQwLCAxNiAgICAgICAgICAg
ICAgICAgICAgICBcbiIKLSAgICAgICJzYiAgICAgICAgICAgICAgJHQ0LCAtMSglW2RzdF9wdHJd
KSAgICAgICAgICAgICAgIFxuIgotICAgICAgInNiICAgICAgICAgICAgICAkdDYsIC0yKCVbZHN0
X3B0cl0pICAgICAgICAgICAgICAgXG4iCi0gICAgICAiYmd0eiAgICAgICAgICAgICVbZHN0X3dp
ZHRoXSwgMWIgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICIgc2IgICAgICAgICAgICAgJHQw
LCAtMyglW2RzdF9wdHJdKSAgICAgICAgICAgICAgIFxuIgotICAgICAgIi5zZXQgcG9wICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICA6IFtzcmNfcHRy
XSAiK3IiIChzcmNfcHRyKSwKLSAgICAgICAgW2RzdF9wdHJdICIrciIgKGRzdF9wdHIpLAotICAg
ICAgICBbdF0gIityIiAodCksCi0gICAgICAgIFtkc3Rfd2lkdGhdICIrciIgKGRzdF93aWR0aCkK
LSAgICAgIDogW2NdICJyIiAoYykKLSAgICAgIDogInQwIiwgInQxIiwgInQyIiwgInQzIiwgInQ0
IiwgInQ1IiwgInQ2IgotICApOwotfQotCi12b2lkIFNjYWxlUm93RG93bjM4XzNfQm94X0RTUFIy
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKLSAgaW50cHRyX3Qgc3RyaWRlID0gc3JjX3N0
cmlkZTsKLSAgY29uc3QgdWludDgqIHMxID0gc3JjX3B0ciArIHN0cmlkZTsKLSAgc3RyaWRlICs9
IHN0cmlkZTsKLSAgY29uc3QgdWludDgqIHMyID0gc3JjX3B0ciArIHN0cmlkZTsKLSAgY29uc3Qg
aW50IGMxID0gMHgxQzcxOwotICBjb25zdCBpbnQgYzIgPSAweDJBQUE7Ci0KLSAgX19hc21fXyBf
X3ZvbGF0aWxlX18gKAotICAgICAgIi5zZXQgcHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgICAiLnNldCBub3Jlb3JkZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLQotICAgICIxOiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAibHcgICAgICAgICAgICAgICR0
MCwgMCglW3NyY19wdHJdKSAgICAgICAgICAgICAgICBcbiIgIC8vIHxTM3xTMnxTMXxTMHwKLSAg
ICAgICJsdyAgICAgICAgICAgICAgJHQxLCA0KCVbc3JjX3B0cl0pICAgICAgICAgICAgICAgIFxu
IiAgLy8gfFM3fFM2fFM1fFM0fAotICAgICAgImx3ICAgICAgICAgICAgICAkdDIsIDAoJVtzMV0p
ICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8VDN8VDJ8VDF8VDB8Ci0gICAgICAibHcgICAg
ICAgICAgICAgICR0MywgNCglW3MxXSkgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxUN3xU
NnxUNXxUNHwKLSAgICAgICJsdyAgICAgICAgICAgICAgJHQ0LCAwKCVbczJdKSAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgLy8gfFIzfFIyfFIxfFIwfAotICAgICAgImx3ICAgICAgICAgICAgICAk
dDUsIDQoJVtzMl0pICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8Ujd8UjZ8UjV8UjR8Ci0g
ICAgICAicm90ciAgICAgICAgICAgICR0MSwgJHQxLCAxNiAgICAgICAgICAgICAgICAgICAgICBc
biIgIC8vIHxTNXxTNHxTN3xTNnwKLSAgICAgICJwYWNrcmwucGggICAgICAgJHQ2LCAkdDEsICR0
MyAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFM3fFM2fFQ3fFQ2fAotICAgICAgInJhZGR1
LncucWIgICAgICAkdDYsICR0NiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyBTNytT
NitUNytUNgotICAgICAgInBhY2tybC5waCAgICAgICAkdDcsICR0MywgJHQxICAgICAgICAgICAg
ICAgICAgICAgXG4iICAvLyB8VDV8VDR8UzV8UzR8Ci0gICAgICAicmFkZHUudy5xYiAgICAgICR0
NywgJHQ3ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIFQ1K1Q0K1M1K1M0Ci0gICAg
ICAic2xsICAgICAgICAgICAgICR0OCwgJHQ1LCAxNiAgICAgICAgICAgICAgICAgICAgICBcbiIg
IC8vIHxSNXxSNHwwfDB8Ci0gICAgICAicmFkZHUudy5xYiAgICAgICR0OCwgJHQ4ICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIgIC8vIFI1K1I0Ci0gICAgICAiYWRkdSAgICAgICAgICAgICR0
NywgJHQ3LCAkdDggICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzcmwgICAgICAgICAg
ICAgJHQ4LCAkdDUsIDE2ICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfDB8MHxSN3xSNnwK
LSAgICAgICJyYWRkdS53LnFiICAgICAgJHQ4LCAkdDggICAgICAgICAgICAgICAgICAgICAgICAg
IFxuIiAgLy8gUjcgKyBSNgotICAgICAgImFkZHUgICAgICAgICAgICAkdDYsICR0NiwgJHQ4ICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAibXVsICAgICAgICAgICAgICR0NiwgJHQ2LCAl
W2MyXSAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHQ2ICogMHgyQUFBCi0gICAgICAicHJlY3Jx
LnFiLnBoICAgICR0OCwgJHQwLCAkdDIgICAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHxTM3xT
MXxUM3xUMXwKLSAgICAgICJwcmVjcnEucWIucGggICAgJHQ4LCAkdDgsICR0NCAgICAgICAgICAg
ICAgICAgICAgIFxuIiAgLy8gfFMzfFQzfFIzfFIxfAotICAgICAgInNybCAgICAgICAgICAgICAk
dDgsICR0OCwgOCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8MHxTM3xUM3xSM3wKLSAg
ICAgICJyYWRkdS53LnFiICAgICAgJHQ4LCAkdDggICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IiAgLy8gUzMgKyBUMyArIFIzCi0gICAgICAiYWRkdSAgICAgICAgICAgICR0NywgJHQ3LCAkdDgg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJtdWwgICAgICAgICAgICAgJHQ3LCAkdDcs
ICVbYzFdICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gdDcgKiAweDFDNzEKLSAgICAgICJzbGwg
ICAgICAgICAgICAgJHQwLCAkdDAsIDggICAgICAgICAgICAgICAgICAgICAgIFxuIiAgLy8gfFMy
fFMxfFMwfDB8Ci0gICAgICAic2xsICAgICAgICAgICAgICR0MiwgJHQyLCA4ICAgICAgICAgICAg
ICAgICAgICAgICBcbiIgIC8vIHxUMnxUMXxUMHwwfAotICAgICAgInNsbCAgICAgICAgICAgICAk
dDQsICR0NCwgOCAgICAgICAgICAgICAgICAgICAgICAgXG4iICAvLyB8UjJ8UjF8UjB8MHwKLSAg
ICAgICJyYWRkdS53LnFiICAgICAgJHQwLCAkdDAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICAgInJhZGR1LncucWIgICAgICAkdDIsICR0MiAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgICAicmFkZHUudy5xYiAgICAgICR0NCwgJHQ0ICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAgICJhZGR1ICAgICAgICAgICAgJHQwLCAkdDAsICR0MiAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICAgImFkZHUgICAgICAgICAgICAkdDAsICR0MCwgJHQ0ICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgICAibXVsICAgICAgICAgICAgICR0MCwgJHQwLCAl
W2MxXSAgICAgICAgICAgICAgICAgICBcbiIgIC8vIHQwICogMHgxQzcxCi0gICAgICAiYWRkaXUg
ICAgICAgICAgICVbc3JjX3B0cl0sICVbc3JjX3B0cl0sIDggICAgICAgICBcbiIKLSAgICAgICJh
ZGRpdSAgICAgICAgICAgJVtzMV0sICVbczFdLCA4ICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICAgImFkZGl1ICAgICAgICAgICAlW3MyXSwgJVtzMl0sIDggICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgICAiYWRkaXUgICAgICAgICAgICVbZHN0X3dpZHRoXSwgJVtkc3Rfd2lkdGhdLCAtMyAg
ICBcbiIKLSAgICAgICJhZGRpdSAgICAgICAgICAgJVtkc3RfcHRyXSwgJVtkc3RfcHRyXSwgMyAg
ICAgICAgIFxuIgotICAgICAgInNybCAgICAgICAgICAgICAkdDYsICR0NiwgMTYgICAgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgICAic3JsICAgICAgICAgICAgICR0NywgJHQ3LCAxNiAgICAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAgICJzcmwgICAgICAgICAgICAgJHQwLCAkdDAsIDE2
ICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgInNiICAgICAgICAgICAgICAkdDYsIC0x
KCVbZHN0X3B0cl0pICAgICAgICAgICAgICAgXG4iCi0gICAgICAic2IgICAgICAgICAgICAgICR0
NywgLTIoJVtkc3RfcHRyXSkgICAgICAgICAgICAgICBcbiIKLSAgICAgICJiZ3R6ICAgICAgICAg
ICAgJVtkc3Rfd2lkdGhdLCAxYiAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgIiBzYiAgICAg
ICAgICAgICAkdDAsIC0zKCVbZHN0X3B0cl0pICAgICAgICAgICAgICAgXG4iCi0gICAgICAiLnNl
dCBwb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAg
IDogW3NyY19wdHJdICIrciIgKHNyY19wdHIpLAotICAgICAgICBbZHN0X3B0cl0gIityIiAoZHN0
X3B0ciksCi0gICAgICAgIFtzMV0gIityIiAoczEpLAotICAgICAgICBbczJdICIrciIgKHMyKSwK
LSAgICAgICAgW2RzdF93aWR0aF0gIityIiAoZHN0X3dpZHRoKQotICAgICAgOiBbYzFdICJyIiAo
YzEpLCBbYzJdICJyIiAoYzIpCi0gICAgICA6ICJ0MCIsICJ0MSIsICJ0MiIsICJ0MyIsICJ0NCIs
Ci0gICAgICAgICJ0NSIsICJ0NiIsICJ0NyIsICJ0OCIKLSAgKTsKLX0KLQotI2VuZGlmICAvLyBk
ZWZpbmVkKF9fbWlwc19kc3ApICYmIChfX21pcHNfZHNwX3JldiA+PSAyKQotCi0jaWZkZWYgX19j
cGx1c3BsdXMKLX0gIC8vIGV4dGVybiAiQyIKLX0gIC8vIG5hbWVzcGFjZSBsaWJ5dXYKLSNlbmRp
ZgotCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfbXNhLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX21zYS5jYwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZmNkMTBmYzU1MzU5N2RlMmEyMmFjMTBjMDJlMzE3NTFhNjY2YmU5Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvc291cmNlL3NjYWxlX21zYS5jYwpAQCAtMCwwICsxLDU1MyBAQAorLyoKKyAqICBD
b3B5cmlnaHQgMjAxNiBUaGUgTGliWXV2IFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZQorICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQorICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50
ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKKyAqICBpbiB0aGUg
ZmlsZSBQQVRFTlRTLiBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKKyAqICBi
ZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJl
ZS4KKyAqLworCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisKKyNpbmNsdWRlICJsaWJ5dXYvc2NhbGVf
cm93LmgiCisKKy8vIFRoaXMgbW9kdWxlIGlzIGZvciBHQ0MgTVNBCisjaWYgIWRlZmluZWQoTElC
WVVWX0RJU0FCTEVfTVNBKSAmJiBkZWZpbmVkKF9fbWlwc19tc2EpCisjaW5jbHVkZSAibGlieXV2
L21hY3Jvc19tc2EuaCIKKworI2lmZGVmIF9fY3BsdXNwbHVzCituYW1lc3BhY2UgbGlieXV2IHsK
K2V4dGVybiAiQyIgeworI2VuZGlmCisKK3ZvaWQgU2NhbGVBUkdCUm93RG93bjJfTVNBKGNvbnN0
IHVpbnQ4X3QqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90
IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3RfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgaW50IHg7
CisgIHYxNnU4IHNyYzAsIHNyYzEsIGRzdDA7CisgICh2b2lkKXNyY19zdHJpZGU7CisKKyAgZm9y
ICh4ID0gMDsgeCA8IGRzdF93aWR0aDsgeCArPSA0KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21z
YV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IsIDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRf
YigodjE2aTgqKXNyY19hcmdiLCAxNik7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV9wY2tvZF93
KCh2NGkzMilzcmMxLCAodjRpMzIpc3JjMCk7CisgICAgU1RfVUIoZHN0MCwgZHN0X2FyZ2IpOwor
ICAgIHNyY19hcmdiICs9IDMyOworICAgIGRzdF9hcmdiICs9IDE2OworICB9Cit9CisKK3ZvaWQg
U2NhbGVBUkdCUm93RG93bjJMaW5lYXJfTVNBKGNvbnN0IHVpbnQ4X3QqIHNyY19hcmdiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3RfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgaW50IHg7CisgIHYx
NnU4IHNyYzAsIHNyYzEsIHZlYzAsIHZlYzEsIGRzdDA7CisgICh2b2lkKXNyY19zdHJpZGU7CisK
KyAgZm9yICh4ID0gMDsgeCA8IGRzdF93aWR0aDsgeCArPSA0KSB7CisgICAgc3JjMCA9ICh2MTZ1
OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX2FyZ2IsIDApOworICAgIHNyYzEgPSAodjE2dTgpX19t
c2FfbGRfYigodjE2aTgqKXNyY19hcmdiLCAxNik7CisgICAgdmVjMCA9ICh2MTZ1OClfX21zYV9w
Y2tldl93KCh2NGkzMilzcmMxLCAodjRpMzIpc3JjMCk7CisgICAgdmVjMSA9ICh2MTZ1OClfX21z
YV9wY2tvZF93KCh2NGkzMilzcmMxLCAodjRpMzIpc3JjMCk7CisgICAgZHN0MCA9ICh2MTZ1OClf
X21zYV9hdmVyX3VfYigodjE2dTgpdmVjMCwgKHYxNnU4KXZlYzEpOworICAgIFNUX1VCKGRzdDAs
IGRzdF9hcmdiKTsKKyAgICBzcmNfYXJnYiArPSAzMjsKKyAgICBkc3RfYXJnYiArPSAxNjsKKyAg
fQorfQorCit2b2lkIFNjYWxlQVJHQlJvd0Rvd24yQm94X01TQShjb25zdCB1aW50OF90KiBzcmNf
YXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIGludCB4OworICBj
b25zdCB1aW50OF90KiBzID0gc3JjX2FyZ2I7CisgIGNvbnN0IHVpbnQ4X3QqIHQgPSBzcmNfYXJn
YiArIHNyY19zdHJpZGU7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHZlYzAsIHZl
YzEsIHZlYzIsIHZlYzMsIGRzdDA7CisgIHY4dTE2IHJlZzAsIHJlZzEsIHJlZzIsIHJlZzM7Cisg
IHYxNmk4IHNodWZmbGVyID0gezAsIDQsIDEsIDUsIDIsIDYsIDMsIDcsIDgsIDEyLCA5LCAxMywg
MTAsIDE0LCAxMSwgMTV9OworCisgIGZvciAoeCA9IDA7IHggPCBkc3Rfd2lkdGg7IHggKz0gNCkg
eworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDApOworICAgIHNyYzEg
PSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMsIDE2KTsKKyAgICBzcmMyID0gKHYxNnU4KV9f
bXNhX2xkX2IoKHYxNmk4Kil0LCAwKTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYx
Nmk4Kil0LCAxNik7CisgICAgdmVjMCA9ICh2MTZ1OClfX21zYV92c2hmX2Ioc2h1ZmZsZXIsICh2
MTZpOClzcmMwLCAodjE2aTgpc3JjMCk7CisgICAgdmVjMSA9ICh2MTZ1OClfX21zYV92c2hmX2Io
c2h1ZmZsZXIsICh2MTZpOClzcmMxLCAodjE2aTgpc3JjMSk7CisgICAgdmVjMiA9ICh2MTZ1OClf
X21zYV92c2hmX2Ioc2h1ZmZsZXIsICh2MTZpOClzcmMyLCAodjE2aTgpc3JjMik7CisgICAgdmVj
MyA9ICh2MTZ1OClfX21zYV92c2hmX2Ioc2h1ZmZsZXIsICh2MTZpOClzcmMzLCAodjE2aTgpc3Jj
Myk7CisgICAgcmVnMCA9IF9fbXNhX2hhZGRfdV9oKHZlYzAsIHZlYzApOworICAgIHJlZzEgPSBf
X21zYV9oYWRkX3VfaCh2ZWMxLCB2ZWMxKTsKKyAgICByZWcyID0gX19tc2FfaGFkZF91X2godmVj
MiwgdmVjMik7CisgICAgcmVnMyA9IF9fbXNhX2hhZGRfdV9oKHZlYzMsIHZlYzMpOworICAgIHJl
ZzAgKz0gcmVnMjsKKyAgICByZWcxICs9IHJlZzM7CisgICAgcmVnMCA9ICh2OHUxNilfX21zYV9z
cmFyaV9oKCh2OGkxNilyZWcwLCAyKTsKKyAgICByZWcxID0gKHY4dTE2KV9fbXNhX3NyYXJpX2go
KHY4aTE2KXJlZzEsIDIpOworICAgIGRzdDAgPSAodjE2dTgpX19tc2FfcGNrZXZfYigodjE2aTgp
cmVnMSwgKHYxNmk4KXJlZzApOworICAgIFNUX1VCKGRzdDAsIGRzdF9hcmdiKTsKKyAgICBzICs9
IDMyOworICAgIHQgKz0gMzI7CisgICAgZHN0X2FyZ2IgKz0gMTY7CisgIH0KK30KKwordm9pZCBT
Y2FsZUFSR0JSb3dEb3duRXZlbl9NU0EoY29uc3QgdWludDhfdCogc3JjX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludDMyX3Qgc3JjX3N0ZXB4LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDhfdCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIGludCB4OworICBpbnQzMl90IHN0ZXB4ID0gc3JjX3N0
ZXB4ICogNDsKKyAgaW50MzJfdCBkYXRhMCwgZGF0YTEsIGRhdGEyLCBkYXRhMzsKKyAgKHZvaWQp
c3JjX3N0cmlkZTsKKworICBmb3IgKHggPSAwOyB4IDwgZHN0X3dpZHRoOyB4ICs9IDQpIHsKKyAg
ICBkYXRhMCA9IExXKHNyY19hcmdiKTsKKyAgICBkYXRhMSA9IExXKHNyY19hcmdiICsgc3RlcHgp
OworICAgIGRhdGEyID0gTFcoc3JjX2FyZ2IgKyBzdGVweCAqIDIpOworICAgIGRhdGEzID0gTFco
c3JjX2FyZ2IgKyBzdGVweCAqIDMpOworICAgIFNXKGRhdGEwLCBkc3RfYXJnYik7CisgICAgU1co
ZGF0YTEsIGRzdF9hcmdiICsgNCk7CisgICAgU1coZGF0YTIsIGRzdF9hcmdiICsgOCk7CisgICAg
U1coZGF0YTMsIGRzdF9hcmdiICsgMTIpOworICAgIHNyY19hcmdiICs9IHN0ZXB4ICogNDsKKyAg
ICBkc3RfYXJnYiArPSAxNjsKKyAgfQorfQorCit2b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94
X01TQShjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfc3RlcHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dp
ZHRoKSB7CisgIGludCB4OworICBjb25zdCB1aW50OCogbnh0X2FyZ2IgPSBzcmNfYXJnYiArIHNy
Y19zdHJpZGU7CisgIGludDMyX3Qgc3RlcHggPSBzcmNfc3RlcHggKiA0OworICBpbnQ2NF90IGRh
dGEwLCBkYXRhMSwgZGF0YTIsIGRhdGEzOworICB2MTZ1OCBzcmMwID0gezB9LCBzcmMxID0gezB9
LCBzcmMyID0gezB9LCBzcmMzID0gezB9OworICB2MTZ1OCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMz
OworICB2OHUxNiByZWcwLCByZWcxLCByZWcyLCByZWczLCByZWc0LCByZWc1LCByZWc2LCByZWc3
OworICB2MTZ1OCBkc3QwOworCisgIGZvciAoeCA9IDA7IHggPCBkc3Rfd2lkdGg7IHggKz0gNCkg
eworICAgIGRhdGEwID0gTEQoc3JjX2FyZ2IpOworICAgIGRhdGExID0gTEQoc3JjX2FyZ2IgKyBz
dGVweCk7CisgICAgZGF0YTIgPSBMRChzcmNfYXJnYiArIHN0ZXB4ICogMik7CisgICAgZGF0YTMg
PSBMRChzcmNfYXJnYiArIHN0ZXB4ICogMyk7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9pbnNl
cnRfZCgodjJpNjQpc3JjMCwgMCwgZGF0YTApOworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfaW5z
ZXJ0X2QoKHYyaTY0KXNyYzAsIDEsIGRhdGExKTsKKyAgICBzcmMxID0gKHYxNnU4KV9fbXNhX2lu
c2VydF9kKCh2Mmk2NClzcmMxLCAwLCBkYXRhMik7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9p
bnNlcnRfZCgodjJpNjQpc3JjMSwgMSwgZGF0YTMpOworICAgIGRhdGEwID0gTEQobnh0X2FyZ2Ip
OworICAgIGRhdGExID0gTEQobnh0X2FyZ2IgKyBzdGVweCk7CisgICAgZGF0YTIgPSBMRChueHRf
YXJnYiArIHN0ZXB4ICogMik7CisgICAgZGF0YTMgPSBMRChueHRfYXJnYiArIHN0ZXB4ICogMyk7
CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9pbnNlcnRfZCgodjJpNjQpc3JjMiwgMCwgZGF0YTAp
OworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfaW5zZXJ0X2QoKHYyaTY0KXNyYzIsIDEsIGRhdGEx
KTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNhX2luc2VydF9kKCh2Mmk2NClzcmMzLCAwLCBkYXRh
Mik7CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9pbnNlcnRfZCgodjJpNjQpc3JjMywgMSwgZGF0
YTMpOworICAgIHZlYzAgPSAodjE2dTgpX19tc2FfaWx2cl9iKCh2MTZpOClzcmMyLCAodjE2aTgp
c3JjMCk7CisgICAgdmVjMSA9ICh2MTZ1OClfX21zYV9pbHZyX2IoKHYxNmk4KXNyYzMsICh2MTZp
OClzcmMxKTsKKyAgICB2ZWMyID0gKHYxNnU4KV9fbXNhX2lsdmxfYigodjE2aTgpc3JjMiwgKHYx
Nmk4KXNyYzApOworICAgIHZlYzMgPSAodjE2dTgpX19tc2FfaWx2bF9iKCh2MTZpOClzcmMzLCAo
djE2aTgpc3JjMSk7CisgICAgcmVnMCA9IF9fbXNhX2hhZGRfdV9oKHZlYzAsIHZlYzApOworICAg
IHJlZzEgPSBfX21zYV9oYWRkX3VfaCh2ZWMxLCB2ZWMxKTsKKyAgICByZWcyID0gX19tc2FfaGFk
ZF91X2godmVjMiwgdmVjMik7CisgICAgcmVnMyA9IF9fbXNhX2hhZGRfdV9oKHZlYzMsIHZlYzMp
OworICAgIHJlZzQgPSAodjh1MTYpX19tc2FfcGNrZXZfZCgodjJpNjQpcmVnMiwgKHYyaTY0KXJl
ZzApOworICAgIHJlZzUgPSAodjh1MTYpX19tc2FfcGNrZXZfZCgodjJpNjQpcmVnMywgKHYyaTY0
KXJlZzEpOworICAgIHJlZzYgPSAodjh1MTYpX19tc2FfcGNrb2RfZCgodjJpNjQpcmVnMiwgKHYy
aTY0KXJlZzApOworICAgIHJlZzcgPSAodjh1MTYpX19tc2FfcGNrb2RfZCgodjJpNjQpcmVnMywg
KHYyaTY0KXJlZzEpOworICAgIHJlZzQgKz0gcmVnNjsKKyAgICByZWc1ICs9IHJlZzc7CisgICAg
cmVnNCA9ICh2OHUxNilfX21zYV9zcmFyaV9oKCh2OGkxNilyZWc0LCAyKTsKKyAgICByZWc1ID0g
KHY4dTE2KV9fbXNhX3NyYXJpX2goKHY4aTE2KXJlZzUsIDIpOworICAgIGRzdDAgPSAodjE2dTgp
X19tc2FfcGNrZXZfYigodjE2aTgpcmVnNSwgKHYxNmk4KXJlZzQpOworICAgIFNUX1VCKGRzdDAs
IGRzdF9hcmdiKTsKKyAgICBzcmNfYXJnYiArPSBzdGVweCAqIDQ7CisgICAgbnh0X2FyZ2IgKz0g
c3RlcHggKiA0OworICAgIGRzdF9hcmdiICs9IDE2OworICB9Cit9CisKK3ZvaWQgU2NhbGVSb3dE
b3duMl9NU0EoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAg
cHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRz
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgeworICBpbnQgeDsKKyAg
djE2dTggc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgZHN0MCwgZHN0MTsKKyAgKHZvaWQpc3JjX3N0
cmlkZTsKKworICBmb3IgKHggPSAwOyB4IDwgZHN0X3dpZHRoOyB4ICs9IDMyKSB7CisgICAgc3Jj
MCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX3B0ciwgMCk7CisgICAgc3JjMSA9ICh2
MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX3B0ciwgMTYpOworICAgIHNyYzIgPSAodjE2dTgp
X19tc2FfbGRfYigodjE2aTgqKXNyY19wdHIsIDMyKTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNh
X2xkX2IoKHYxNmk4KilzcmNfcHRyLCA0OCk7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV9wY2tv
ZF9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3JjMCk7CisgICAgZHN0MSA9ICh2MTZ1OClfX21zYV9w
Y2tvZF9iKCh2MTZpOClzcmMzLCAodjE2aTgpc3JjMik7CisgICAgU1RfVUIyKGRzdDAsIGRzdDEs
IGRzdCwgMTYpOworICAgIHNyY19wdHIgKz0gNjQ7CisgICAgZHN0ICs9IDMyOworICB9Cit9CisK
K3ZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9NU0EoY29uc3QgdWludDhfdCogc3JjX3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF93aWR0aCkgeworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwg
c3JjMiwgc3JjMywgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgZHN0MCwgZHN0MTsKKyAgKHZvaWQp
c3JjX3N0cmlkZTsKKworICBmb3IgKHggPSAwOyB4IDwgZHN0X3dpZHRoOyB4ICs9IDMyKSB7Cisg
ICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX3B0ciwgMCk7CisgICAgc3Jj
MSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3JjX3B0ciwgMTYpOworICAgIHNyYzIgPSAo
djE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19wdHIsIDMyKTsKKyAgICBzcmMzID0gKHYxNnU4
KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfcHRyLCA0OCk7CisgICAgdmVjMCA9ICh2MTZ1OClfX21z
YV9wY2tldl9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3JjMCk7CisgICAgdmVjMiA9ICh2MTZ1OClf
X21zYV9wY2tldl9iKCh2MTZpOClzcmMzLCAodjE2aTgpc3JjMik7CisgICAgdmVjMSA9ICh2MTZ1
OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3JjMCk7CisgICAgdmVjMyA9ICh2
MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOClzcmMzLCAodjE2aTgpc3JjMik7CisgICAgZHN0MCA9
IF9fbXNhX2F2ZXJfdV9iKHZlYzEsIHZlYzApOworICAgIGRzdDEgPSBfX21zYV9hdmVyX3VfYih2
ZWMzLCB2ZWMyKTsKKyAgICBTVF9VQjIoZHN0MCwgZHN0MSwgZHN0LCAxNik7CisgICAgc3JjX3B0
ciArPSA2NDsKKyAgICBkc3QgKz0gMzI7CisgIH0KK30KKwordm9pZCBTY2FsZVJvd0Rvd24yQm94
X01TQShjb25zdCB1aW50OF90KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCog
ZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIGludCB4
OworICBjb25zdCB1aW50OF90KiBzID0gc3JjX3B0cjsKKyAgY29uc3QgdWludDhfdCogdCA9IHNy
Y19wdHIgKyBzcmNfc3RyaWRlOworICB2MTZ1OCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0
LCBzcmM1LCBzcmM2LCBzcmM3LCBkc3QwLCBkc3QxOworICB2OHUxNiB2ZWMwLCB2ZWMxLCB2ZWMy
LCB2ZWMzOworCisgIGZvciAoeCA9IDA7IHggPCBkc3Rfd2lkdGg7IHggKz0gMzIpIHsKKyAgICBz
cmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzcmMxID0gKHYxNnU4
KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAxNik7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9sZF9i
KCh2MTZpOCopcywgMzIpOworICAgIHNyYzMgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXMs
IDQ4KTsKKyAgICBzcmM0ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0LCAwKTsKKyAgICBz
cmM1ID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0LCAxNik7CisgICAgc3JjNiA9ICh2MTZ1
OClfX21zYV9sZF9iKCh2MTZpOCopdCwgMzIpOworICAgIHNyYzcgPSAodjE2dTgpX19tc2FfbGRf
YigodjE2aTgqKXQsIDQ4KTsKKyAgICB2ZWMwID0gX19tc2FfaGFkZF91X2goc3JjMCwgc3JjMCk7
CisgICAgdmVjMSA9IF9fbXNhX2hhZGRfdV9oKHNyYzEsIHNyYzEpOworICAgIHZlYzIgPSBfX21z
YV9oYWRkX3VfaChzcmMyLCBzcmMyKTsKKyAgICB2ZWMzID0gX19tc2FfaGFkZF91X2goc3JjMywg
c3JjMyk7CisgICAgdmVjMCArPSBfX21zYV9oYWRkX3VfaChzcmM0LCBzcmM0KTsKKyAgICB2ZWMx
ICs9IF9fbXNhX2hhZGRfdV9oKHNyYzUsIHNyYzUpOworICAgIHZlYzIgKz0gX19tc2FfaGFkZF91
X2goc3JjNiwgc3JjNik7CisgICAgdmVjMyArPSBfX21zYV9oYWRkX3VfaChzcmM3LCBzcmM3KTsK
KyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX3NyYXJpX2goKHY4aTE2KXZlYzAsIDIpOworICAgIHZl
YzEgPSAodjh1MTYpX19tc2Ffc3JhcmlfaCgodjhpMTYpdmVjMSwgMik7CisgICAgdmVjMiA9ICh2
OHUxNilfX21zYV9zcmFyaV9oKCh2OGkxNil2ZWMyLCAyKTsKKyAgICB2ZWMzID0gKHY4dTE2KV9f
bXNhX3NyYXJpX2goKHY4aTE2KXZlYzMsIDIpOworICAgIGRzdDAgPSAodjE2dTgpX19tc2FfcGNr
ZXZfYigodjE2aTgpdmVjMSwgKHYxNmk4KXZlYzApOworICAgIGRzdDEgPSAodjE2dTgpX19tc2Ff
cGNrZXZfYigodjE2aTgpdmVjMywgKHYxNmk4KXZlYzIpOworICAgIFNUX1VCMihkc3QwLCBkc3Qx
LCBkc3QsIDE2KTsKKyAgICBzICs9IDY0OworICAgIHQgKz0gNjQ7CisgICAgZHN0ICs9IDMyOwor
ICB9Cit9CisKK3ZvaWQgU2NhbGVSb3dEb3duNF9NU0EoY29uc3QgdWludDhfdCogc3JjX3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCkgeworICBpbnQgeDsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgdmVj
MCwgdmVjMSwgZHN0MDsKKyAgKHZvaWQpc3JjX3N0cmlkZTsKKworICBmb3IgKHggPSAwOyB4IDwg
ZHN0X3dpZHRoOyB4ICs9IDE2KSB7CisgICAgc3JjMCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZp
OCopc3JjX3B0ciwgMCk7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopc3Jj
X3B0ciwgMTYpOworICAgIHNyYzIgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19wdHIs
IDMyKTsKKyAgICBzcmMzID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzcmNfcHRyLCA0OCk7
CisgICAgdmVjMCA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmMxLCAodjE2aTgpc3Jj
MCk7CisgICAgdmVjMSA9ICh2MTZ1OClfX21zYV9wY2tldl9iKCh2MTZpOClzcmMzLCAodjE2aTgp
c3JjMik7CisgICAgZHN0MCA9ICh2MTZ1OClfX21zYV9wY2tvZF9iKCh2MTZpOCl2ZWMxLCAodjE2
aTgpdmVjMCk7CisgICAgU1RfVUIoZHN0MCwgZHN0KTsKKyAgICBzcmNfcHRyICs9IDY0OworICAg
IGRzdCArPSAxNjsKKyAgfQorfQorCit2b2lkIFNjYWxlUm93RG93bjRCb3hfTVNBKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiBkc3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgaW50IHg7CisgIGNvbnN0IHVp
bnQ4X3QqIHMgPSBzcmNfcHRyOworICBjb25zdCB1aW50OF90KiB0MCA9IHMgKyBzcmNfc3RyaWRl
OworICBjb25zdCB1aW50OF90KiB0MSA9IHMgKyBzcmNfc3RyaWRlICogMjsKKyAgY29uc3QgdWlu
dDhfdCogdDIgPSBzICsgc3JjX3N0cmlkZSAqIDM7CisgIHYxNnU4IHNyYzAsIHNyYzEsIHNyYzIs
IHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIGRzdDA7CisgIHY4dTE2IHZlYzAsIHZlYzEs
IHZlYzIsIHZlYzM7CisgIHY0dTMyIHJlZzAsIHJlZzEsIHJlZzIsIHJlZzM7CisKKyAgZm9yICh4
ID0gMDsgeCA8IGRzdF93aWR0aDsgeCArPSAxNikgeworICAgIHNyYzAgPSAodjE2dTgpX19tc2Ff
bGRfYigodjE2aTgqKXMsIDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgq
KXMsIDE2KTsKKyAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAzMik7Cisg
ICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopcywgNDgpOworICAgIHNyYzQgPSAo
djE2dTgpX19tc2FfbGRfYigodjE2aTgqKXQwLCAwKTsKKyAgICBzcmM1ID0gKHYxNnU4KV9fbXNh
X2xkX2IoKHYxNmk4Kil0MCwgMTYpOworICAgIHNyYzYgPSAodjE2dTgpX19tc2FfbGRfYigodjE2
aTgqKXQwLCAzMik7CisgICAgc3JjNyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopdDAsIDQ4
KTsKKyAgICB2ZWMwID0gX19tc2FfaGFkZF91X2goc3JjMCwgc3JjMCk7CisgICAgdmVjMSA9IF9f
bXNhX2hhZGRfdV9oKHNyYzEsIHNyYzEpOworICAgIHZlYzIgPSBfX21zYV9oYWRkX3VfaChzcmMy
LCBzcmMyKTsKKyAgICB2ZWMzID0gX19tc2FfaGFkZF91X2goc3JjMywgc3JjMyk7CisgICAgdmVj
MCArPSBfX21zYV9oYWRkX3VfaChzcmM0LCBzcmM0KTsKKyAgICB2ZWMxICs9IF9fbXNhX2hhZGRf
dV9oKHNyYzUsIHNyYzUpOworICAgIHZlYzIgKz0gX19tc2FfaGFkZF91X2goc3JjNiwgc3JjNik7
CisgICAgdmVjMyArPSBfX21zYV9oYWRkX3VfaChzcmM3LCBzcmM3KTsKKyAgICBzcmMwID0gKHYx
NnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0MSwgMCk7CisgICAgc3JjMSA9ICh2MTZ1OClfX21zYV9s
ZF9iKCh2MTZpOCopdDEsIDE2KTsKKyAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4
Kil0MSwgMzIpOworICAgIHNyYzMgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXQxLCA0OCk7
CisgICAgc3JjNCA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopdDIsIDApOworICAgIHNyYzUg
PSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXQyLCAxNik7CisgICAgc3JjNiA9ICh2MTZ1OClf
X21zYV9sZF9iKCh2MTZpOCopdDIsIDMyKTsKKyAgICBzcmM3ID0gKHYxNnU4KV9fbXNhX2xkX2Io
KHYxNmk4Kil0MiwgNDgpOworICAgIHZlYzAgKz0gX19tc2FfaGFkZF91X2goc3JjMCwgc3JjMCk7
CisgICAgdmVjMSArPSBfX21zYV9oYWRkX3VfaChzcmMxLCBzcmMxKTsKKyAgICB2ZWMyICs9IF9f
bXNhX2hhZGRfdV9oKHNyYzIsIHNyYzIpOworICAgIHZlYzMgKz0gX19tc2FfaGFkZF91X2goc3Jj
Mywgc3JjMyk7CisgICAgdmVjMCArPSBfX21zYV9oYWRkX3VfaChzcmM0LCBzcmM0KTsKKyAgICB2
ZWMxICs9IF9fbXNhX2hhZGRfdV9oKHNyYzUsIHNyYzUpOworICAgIHZlYzIgKz0gX19tc2FfaGFk
ZF91X2goc3JjNiwgc3JjNik7CisgICAgdmVjMyArPSBfX21zYV9oYWRkX3VfaChzcmM3LCBzcmM3
KTsKKyAgICByZWcwID0gX19tc2FfaGFkZF91X3codmVjMCwgdmVjMCk7CisgICAgcmVnMSA9IF9f
bXNhX2hhZGRfdV93KHZlYzEsIHZlYzEpOworICAgIHJlZzIgPSBfX21zYV9oYWRkX3Vfdyh2ZWMy
LCB2ZWMyKTsKKyAgICByZWczID0gX19tc2FfaGFkZF91X3codmVjMywgdmVjMyk7CisgICAgcmVn
MCA9ICh2NHUzMilfX21zYV9zcmFyaV93KCh2NGkzMilyZWcwLCA0KTsKKyAgICByZWcxID0gKHY0
dTMyKV9fbXNhX3NyYXJpX3coKHY0aTMyKXJlZzEsIDQpOworICAgIHJlZzIgPSAodjR1MzIpX19t
c2Ffc3JhcmlfdygodjRpMzIpcmVnMiwgNCk7CisgICAgcmVnMyA9ICh2NHUzMilfX21zYV9zcmFy
aV93KCh2NGkzMilyZWczLCA0KTsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX3Bja2V2X2goKHY4
aTE2KXJlZzEsICh2OGkxNilyZWcwKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNhX3Bja2V2X2go
KHY4aTE2KXJlZzMsICh2OGkxNilyZWcyKTsKKyAgICBkc3QwID0gKHYxNnU4KV9fbXNhX3Bja2V2
X2IoKHYxNmk4KXZlYzEsICh2MTZpOCl2ZWMwKTsKKyAgICBTVF9VQihkc3QwLCBkc3QpOworICAg
IHMgKz0gNjQ7CisgICAgdDAgKz0gNjQ7CisgICAgdDEgKz0gNjQ7CisgICAgdDIgKz0gNjQ7Cisg
ICAgZHN0ICs9IDE2OworICB9Cit9CisKK3ZvaWQgU2NhbGVSb3dEb3duMzhfTVNBKGNvbnN0IHVp
bnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgaW50IHgsIHdpZHRoOworICB1aW50NjRf
dCBkc3QwOworICB1aW50MzJfdCBkc3QxOworICB2MTZ1OCBzcmMwLCBzcmMxLCB2ZWMwOworICB2
MTZpOCBtYXNrID0gezAsIDMsIDYsIDgsIDExLCAxNCwgMTYsIDE5LCAyMiwgMjQsIDI3LCAzMCwg
MCwgMCwgMCwgMH07CisgICh2b2lkKXNyY19zdHJpZGU7CisKKyAgYXNzZXJ0KGRzdF93aWR0aCAl
IDMgPT0gMCk7CisgIHdpZHRoID0gZHN0X3dpZHRoIC8gMzsKKworICBmb3IgKHggPSAwOyB4IDwg
d2lkdGg7IHggKz0gNCkgeworICAgIHNyYzAgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNy
Y19wdHIsIDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgqKXNyY19wdHIs
IDE2KTsKKyAgICB2ZWMwID0gKHYxNnU4KV9fbXNhX3ZzaGZfYihtYXNrLCAodjE2aTgpc3JjMSwg
KHYxNmk4KXNyYzApOworICAgIGRzdDAgPSBfX21zYV9jb3B5X3VfZCgodjJpNjQpdmVjMCwgMCk7
CisgICAgZHN0MSA9IF9fbXNhX2NvcHlfdV93KCh2NGkzMil2ZWMwLCAyKTsKKyAgICBTRChkc3Qw
LCBkc3QpOworICAgIFNXKGRzdDEsIGRzdCArIDgpOworICAgIHNyY19wdHIgKz0gMzI7CisgICAg
ZHN0ICs9IDEyOworICB9Cit9CisKK3ZvaWQgU2NhbGVSb3dEb3duMzhfMl9Cb3hfTVNBKGNvbnN0
IHVpbnQ4X3QqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRz
dF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7Cisg
IGludCB4LCB3aWR0aDsKKyAgY29uc3QgdWludDhfdCogcyA9IHNyY19wdHI7CisgIGNvbnN0IHVp
bnQ4X3QqIHQgPSBzcmNfcHRyICsgc3JjX3N0cmlkZTsKKyAgdWludDY0X3QgZHN0MDsKKyAgdWlu
dDMyX3QgZHN0MTsKKyAgdjE2dTggc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgb3V0OworICB2OHUx
NiB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3OworICB2NHUz
MiB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzLCB0bXA0OworICB2OGkxNiB6ZXJvID0gezB9OworICB2
OGkxNiBtYXNrID0gezAsIDEsIDIsIDgsIDMsIDQsIDUsIDl9OworICB2MTZpOCBkc3RfbWFzayA9
IHswLCAyLCAxNiwgNCwgNiwgMTgsIDgsIDEwLCAyMCwgMTIsIDE0LCAyMiwgMCwgMCwgMCwgMH07
CisgIHY0dTMyIGNvbnN0XzB4MkFBQSA9ICh2NHUzMilfX21zYV9maWxsX3coMHgyQUFBKTsKKyAg
djR1MzIgY29uc3RfMHg0MDAwID0gKHY0dTMyKV9fbXNhX2ZpbGxfdygweDQwMDApOworCisgIGFz
c2VydCgoZHN0X3dpZHRoICUgMyA9PSAwKSAmJiAoZHN0X3dpZHRoID4gMCkpOworICB3aWR0aCA9
IGRzdF93aWR0aCAvIDM7CisKKyAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4ICs9IDQpIHsKKyAg
ICBzcmMwID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAwKTsKKyAgICBzcmMxID0gKHYx
NnU4KV9fbXNhX2xkX2IoKHYxNmk4KilzLCAxNik7CisgICAgc3JjMiA9ICh2MTZ1OClfX21zYV9s
ZF9iKCh2MTZpOCopdCwgMCk7CisgICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCop
dCwgMTYpOworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfaWx2cl9iKCh2MTZpOClzcmMyLCAodjE2
aTgpc3JjMCk7CisgICAgdmVjMSA9ICh2OHUxNilfX21zYV9pbHZsX2IoKHYxNmk4KXNyYzIsICh2
MTZpOClzcmMwKTsKKyAgICB2ZWMyID0gKHY4dTE2KV9fbXNhX2lsdnJfYigodjE2aTgpc3JjMywg
KHYxNmk4KXNyYzEpOworICAgIHZlYzMgPSAodjh1MTYpX19tc2FfaWx2bF9iKCh2MTZpOClzcmMz
LCAodjE2aTgpc3JjMSk7CisgICAgdmVjMCA9IF9fbXNhX2hhZGRfdV9oKCh2MTZ1OCl2ZWMwLCAo
djE2dTgpdmVjMCk7CisgICAgdmVjMSA9IF9fbXNhX2hhZGRfdV9oKCh2MTZ1OCl2ZWMxLCAodjE2
dTgpdmVjMSk7CisgICAgdmVjMiA9IF9fbXNhX2hhZGRfdV9oKCh2MTZ1OCl2ZWMyLCAodjE2dTgp
dmVjMik7CisgICAgdmVjMyA9IF9fbXNhX2hhZGRfdV9oKCh2MTZ1OCl2ZWMzLCAodjE2dTgpdmVj
Myk7CisgICAgdmVjNCA9ICh2OHUxNilfX21zYV92c2hmX2gobWFzaywgemVybywgKHY4aTE2KXZl
YzApOworICAgIHZlYzUgPSAodjh1MTYpX19tc2FfdnNoZl9oKG1hc2ssIHplcm8sICh2OGkxNil2
ZWMxKTsKKyAgICB2ZWM2ID0gKHY4dTE2KV9fbXNhX3ZzaGZfaChtYXNrLCB6ZXJvLCAodjhpMTYp
dmVjMik7CisgICAgdmVjNyA9ICh2OHUxNilfX21zYV92c2hmX2gobWFzaywgemVybywgKHY4aTE2
KXZlYzMpOworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfcGNrb2RfdygodjRpMzIpdmVjMSwgKHY0
aTMyKXZlYzApOworICAgIHZlYzEgPSAodjh1MTYpX19tc2FfcGNrb2RfdygodjRpMzIpdmVjMywg
KHY0aTMyKXZlYzIpOworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfcGNrb2RfdygodjRpMzIpdmVj
MSwgKHY0aTMyKXZlYzApOworICAgIHRtcDAgPSBfX21zYV9oYWRkX3Vfdyh2ZWM0LCB2ZWM0KTsK
KyAgICB0bXAxID0gX19tc2FfaGFkZF91X3codmVjNSwgdmVjNSk7CisgICAgdG1wMiA9IF9fbXNh
X2hhZGRfdV93KHZlYzYsIHZlYzYpOworICAgIHRtcDMgPSBfX21zYV9oYWRkX3Vfdyh2ZWM3LCB2
ZWM3KTsKKyAgICB0bXA0ID0gX19tc2FfaGFkZF91X3codmVjMCwgdmVjMCk7CisgICAgdmVjMCA9
ICh2OHUxNilfX21zYV9wY2tldl9oKCh2OGkxNil0bXAxLCAodjhpMTYpdG1wMCk7CisgICAgdmVj
MSA9ICh2OHUxNilfX21zYV9wY2tldl9oKCh2OGkxNil0bXAzLCAodjhpMTYpdG1wMik7CisgICAg
dG1wMCA9IF9fbXNhX2hhZGRfdV93KHZlYzAsIHZlYzApOworICAgIHRtcDEgPSBfX21zYV9oYWRk
X3Vfdyh2ZWMxLCB2ZWMxKTsKKyAgICB0bXAwICo9IGNvbnN0XzB4MkFBQTsKKyAgICB0bXAxICo9
IGNvbnN0XzB4MkFBQTsKKyAgICB0bXA0ICo9IGNvbnN0XzB4NDAwMDsKKyAgICB0bXAwID0gKHY0
dTMyKV9fbXNhX3NyYWlfdygodjRpMzIpdG1wMCwgMTYpOworICAgIHRtcDEgPSAodjR1MzIpX19t
c2Ffc3JhaV93KCh2NGkzMil0bXAxLCAxNik7CisgICAgdG1wNCA9ICh2NHUzMilfX21zYV9zcmFp
X3coKHY0aTMyKXRtcDQsIDE2KTsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX3Bja2V2X2goKHY4
aTE2KXRtcDEsICh2OGkxNil0bXAwKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9fbXNhX3Bja2V2X2go
KHY4aTE2KXRtcDQsICh2OGkxNil0bXA0KTsKKyAgICBvdXQgPSAodjE2dTgpX19tc2FfdnNoZl9i
KGRzdF9tYXNrLCAodjE2aTgpdmVjMSwgKHYxNmk4KXZlYzApOworICAgIGRzdDAgPSBfX21zYV9j
b3B5X3VfZCgodjJpNjQpb3V0LCAwKTsKKyAgICBkc3QxID0gX19tc2FfY29weV91X3coKHY0aTMy
KW91dCwgMik7CisgICAgU0QoZHN0MCwgZHN0X3B0cik7CisgICAgU1coZHN0MSwgZHN0X3B0ciAr
IDgpOworICAgIHMgKz0gMzI7CisgICAgdCArPSAzMjsKKyAgICBkc3RfcHRyICs9IDEyOworICB9
Cit9CisKK3ZvaWQgU2NhbGVSb3dEb3duMzhfM19Cb3hfTVNBKGNvbnN0IHVpbnQ4X3QqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QqIGRzdF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgIGludCB4LCB3aWR0aDsK
KyAgY29uc3QgdWludDhfdCogcyA9IHNyY19wdHI7CisgIGNvbnN0IHVpbnQ4X3QqIHQwID0gcyAr
IHNyY19zdHJpZGU7CisgIGNvbnN0IHVpbnQ4X3QqIHQxID0gcyArIHNyY19zdHJpZGUgKiAyOwor
ICB1aW50NjRfdCBkc3QwOworICB1aW50MzJfdCBkc3QxOworICB2MTZ1OCBzcmMwLCBzcmMxLCBz
cmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBvdXQ7CisgIHY4dTE2IHZlYzAsIHZlYzEsIHZlYzIsIHZl
YzMsIHZlYzQsIHZlYzUsIHZlYzYsIHZlYzc7CisgIHY0dTMyIHRtcDAsIHRtcDEsIHRtcDIsIHRt
cDMsIHRtcDQ7CisgIHY4dTE2IHplcm8gPSB7MH07CisgIHY4aTE2IG1hc2sgPSB7MCwgMSwgMiwg
OCwgMywgNCwgNSwgOX07CisgIHYxNmk4IGRzdF9tYXNrID0gezAsIDIsIDE2LCA0LCA2LCAxOCwg
OCwgMTAsIDIwLCAxMiwgMTQsIDIyLCAwLCAwLCAwLCAwfTsKKyAgdjR1MzIgY29uc3RfMHgxQzcx
ID0gKHY0dTMyKV9fbXNhX2ZpbGxfdygweDFDNzEpOworICB2NHUzMiBjb25zdF8weDJBQUEgPSAo
djR1MzIpX19tc2FfZmlsbF93KDB4MkFBQSk7CisKKyAgYXNzZXJ0KChkc3Rfd2lkdGggJSAzID09
IDApICYmIChkc3Rfd2lkdGggPiAwKSk7CisgIHdpZHRoID0gZHN0X3dpZHRoIC8gMzsKKworICBm
b3IgKHggPSAwOyB4IDwgd2lkdGg7IHggKz0gNCkgeworICAgIHNyYzAgPSAodjE2dTgpX19tc2Ff
bGRfYigodjE2aTgqKXMsIDApOworICAgIHNyYzEgPSAodjE2dTgpX19tc2FfbGRfYigodjE2aTgq
KXMsIDE2KTsKKyAgICBzcmMyID0gKHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0MCwgMCk7Cisg
ICAgc3JjMyA9ICh2MTZ1OClfX21zYV9sZF9iKCh2MTZpOCopdDAsIDE2KTsKKyAgICBzcmM0ID0g
KHYxNnU4KV9fbXNhX2xkX2IoKHYxNmk4Kil0MSwgMCk7CisgICAgc3JjNSA9ICh2MTZ1OClfX21z
YV9sZF9iKCh2MTZpOCopdDEsIDE2KTsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNhX2lsdnJfYigo
djE2aTgpc3JjMiwgKHYxNmk4KXNyYzApOworICAgIHZlYzEgPSAodjh1MTYpX19tc2FfaWx2bF9i
KCh2MTZpOClzcmMyLCAodjE2aTgpc3JjMCk7CisgICAgdmVjMiA9ICh2OHUxNilfX21zYV9pbHZy
X2IoKHYxNmk4KXNyYzMsICh2MTZpOClzcmMxKTsKKyAgICB2ZWMzID0gKHY4dTE2KV9fbXNhX2ls
dmxfYigodjE2aTgpc3JjMywgKHYxNmk4KXNyYzEpOworICAgIHZlYzQgPSAodjh1MTYpX19tc2Ff
aWx2cl9iKCh2MTZpOCl6ZXJvLCAodjE2aTgpc3JjNCk7CisgICAgdmVjNSA9ICh2OHUxNilfX21z
YV9pbHZsX2IoKHYxNmk4KXplcm8sICh2MTZpOClzcmM0KTsKKyAgICB2ZWM2ID0gKHY4dTE2KV9f
bXNhX2lsdnJfYigodjE2aTgpemVybywgKHYxNmk4KXNyYzUpOworICAgIHZlYzcgPSAodjh1MTYp
X19tc2FfaWx2bF9iKCh2MTZpOCl6ZXJvLCAodjE2aTgpc3JjNSk7CisgICAgdmVjMCA9IF9fbXNh
X2hhZGRfdV9oKCh2MTZ1OCl2ZWMwLCAodjE2dTgpdmVjMCk7CisgICAgdmVjMSA9IF9fbXNhX2hh
ZGRfdV9oKCh2MTZ1OCl2ZWMxLCAodjE2dTgpdmVjMSk7CisgICAgdmVjMiA9IF9fbXNhX2hhZGRf
dV9oKCh2MTZ1OCl2ZWMyLCAodjE2dTgpdmVjMik7CisgICAgdmVjMyA9IF9fbXNhX2hhZGRfdV9o
KCh2MTZ1OCl2ZWMzLCAodjE2dTgpdmVjMyk7CisgICAgdmVjMCArPSBfX21zYV9oYWRkX3VfaCgo
djE2dTgpdmVjNCwgKHYxNnU4KXZlYzQpOworICAgIHZlYzEgKz0gX19tc2FfaGFkZF91X2goKHYx
NnU4KXZlYzUsICh2MTZ1OCl2ZWM1KTsKKyAgICB2ZWMyICs9IF9fbXNhX2hhZGRfdV9oKCh2MTZ1
OCl2ZWM2LCAodjE2dTgpdmVjNik7CisgICAgdmVjMyArPSBfX21zYV9oYWRkX3VfaCgodjE2dTgp
dmVjNywgKHYxNnU4KXZlYzcpOworICAgIHZlYzQgPSAodjh1MTYpX19tc2FfdnNoZl9oKG1hc2ss
ICh2OGkxNil6ZXJvLCAodjhpMTYpdmVjMCk7CisgICAgdmVjNSA9ICh2OHUxNilfX21zYV92c2hm
X2gobWFzaywgKHY4aTE2KXplcm8sICh2OGkxNil2ZWMxKTsKKyAgICB2ZWM2ID0gKHY4dTE2KV9f
bXNhX3ZzaGZfaChtYXNrLCAodjhpMTYpemVybywgKHY4aTE2KXZlYzIpOworICAgIHZlYzcgPSAo
djh1MTYpX19tc2FfdnNoZl9oKG1hc2ssICh2OGkxNil6ZXJvLCAodjhpMTYpdmVjMyk7CisgICAg
dmVjMCA9ICh2OHUxNilfX21zYV9wY2tvZF93KCh2NGkzMil2ZWMxLCAodjRpMzIpdmVjMCk7Cisg
ICAgdmVjMSA9ICh2OHUxNilfX21zYV9wY2tvZF93KCh2NGkzMil2ZWMzLCAodjRpMzIpdmVjMik7
CisgICAgdmVjMCA9ICh2OHUxNilfX21zYV9wY2tvZF93KCh2NGkzMil2ZWMxLCAodjRpMzIpdmVj
MCk7CisgICAgdG1wMCA9IF9fbXNhX2hhZGRfdV93KHZlYzQsIHZlYzQpOworICAgIHRtcDEgPSBf
X21zYV9oYWRkX3Vfdyh2ZWM1LCB2ZWM1KTsKKyAgICB0bXAyID0gX19tc2FfaGFkZF91X3codmVj
NiwgdmVjNik7CisgICAgdG1wMyA9IF9fbXNhX2hhZGRfdV93KHZlYzcsIHZlYzcpOworICAgIHRt
cDQgPSBfX21zYV9oYWRkX3Vfdyh2ZWMwLCB2ZWMwKTsKKyAgICB2ZWMwID0gKHY4dTE2KV9fbXNh
X3Bja2V2X2goKHY4aTE2KXRtcDEsICh2OGkxNil0bXAwKTsKKyAgICB2ZWMxID0gKHY4dTE2KV9f
bXNhX3Bja2V2X2goKHY4aTE2KXRtcDMsICh2OGkxNil0bXAyKTsKKyAgICB0bXAwID0gX19tc2Ff
aGFkZF91X3codmVjMCwgdmVjMCk7CisgICAgdG1wMSA9IF9fbXNhX2hhZGRfdV93KHZlYzEsIHZl
YzEpOworICAgIHRtcDAgKj0gY29uc3RfMHgxQzcxOworICAgIHRtcDEgKj0gY29uc3RfMHgxQzcx
OworICAgIHRtcDQgKj0gY29uc3RfMHgyQUFBOworICAgIHRtcDAgPSAodjR1MzIpX19tc2Ffc3Jh
aV93KCh2NGkzMil0bXAwLCAxNik7CisgICAgdG1wMSA9ICh2NHUzMilfX21zYV9zcmFpX3coKHY0
aTMyKXRtcDEsIDE2KTsKKyAgICB0bXA0ID0gKHY0dTMyKV9fbXNhX3NyYWlfdygodjRpMzIpdG1w
NCwgMTYpOworICAgIHZlYzAgPSAodjh1MTYpX19tc2FfcGNrZXZfaCgodjhpMTYpdG1wMSwgKHY4
aTE2KXRtcDApOworICAgIHZlYzEgPSAodjh1MTYpX19tc2FfcGNrZXZfaCgodjhpMTYpdG1wNCwg
KHY4aTE2KXRtcDQpOworICAgIG91dCA9ICh2MTZ1OClfX21zYV92c2hmX2IoZHN0X21hc2ssICh2
MTZpOCl2ZWMxLCAodjE2aTgpdmVjMCk7CisgICAgZHN0MCA9IF9fbXNhX2NvcHlfdV9kKCh2Mmk2
NClvdXQsIDApOworICAgIGRzdDEgPSBfX21zYV9jb3B5X3VfdygodjRpMzIpb3V0LCAyKTsKKyAg
ICBTRChkc3QwLCBkc3RfcHRyKTsKKyAgICBTVyhkc3QxLCBkc3RfcHRyICsgOCk7CisgICAgcyAr
PSAzMjsKKyAgICB0MCArPSAzMjsKKyAgICB0MSArPSAzMjsKKyAgICBkc3RfcHRyICs9IDEyOwor
ICB9Cit9CisKK3ZvaWQgU2NhbGVBZGRSb3dfTVNBKGNvbnN0IHVpbnQ4X3QqIHNyY19wdHIsIHVp
bnQxNl90KiBkc3RfcHRyLCBpbnQgc3JjX3dpZHRoKSB7CisgIGludCB4OworICB2MTZ1OCBzcmMw
OworICB2OHUxNiBkc3QwLCBkc3QxOworICB2MTZpOCB6ZXJvID0gezB9OworCisgIGFzc2VydChz
cmNfd2lkdGggPiAwKTsKKworICBmb3IgKHggPSAwOyB4IDwgc3JjX3dpZHRoOyB4ICs9IDE2KSB7
CisgICAgc3JjMCA9IExEX1VCKHNyY19wdHIpOworICAgIGRzdDAgPSAodjh1MTYpX19tc2FfbGRf
aCgodjhpMTYqKWRzdF9wdHIsIDApOworICAgIGRzdDEgPSAodjh1MTYpX19tc2FfbGRfaCgodjhp
MTYqKWRzdF9wdHIsIDE2KTsKKyAgICBkc3QwICs9ICh2OHUxNilfX21zYV9pbHZyX2IoemVybywg
KHYxNmk4KXNyYzApOworICAgIGRzdDEgKz0gKHY4dTE2KV9fbXNhX2lsdmxfYih6ZXJvLCAodjE2
aTgpc3JjMCk7CisgICAgU1RfVUgyKGRzdDAsIGRzdDEsIGRzdF9wdHIsIDgpOworICAgIHNyY19w
dHIgKz0gMTY7CisgICAgZHN0X3B0ciArPSAxNjsKKyAgfQorfQorCisjaWZkZWYgX19jcGx1c3Bs
dXMKK30gIC8vIGV4dGVybiAiQyIKK30gIC8vIG5hbWVzcGFjZSBsaWJ5dXYKKyNlbmRpZgorCisj
ZW5kaWYgIC8vICFkZWZpbmVkKExJQllVVl9ESVNBQkxFX01TQSkgJiYgZGVmaW5lZChfX21pcHNf
bXNhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX25lb24uY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfbmVvbi5jYwpp
bmRleCAzMGJjMjJlNGZiOTg3ZDA3ZWFhNTRmZTA5OGZjMzA1NTk1NjcyYTA0Li45YjRkY2UzM2Y5
MDBjOWM4OGJkMWZiZmRmMDRkZTVmMmU3NWVmYTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfbmVv
bi5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di9zb3VyY2Uvc2NhbGVfbmVvbi5jYwpAQCAtMjMsOCArMjMsMTEgQEAgZXh0ZXJuICJD
IiB7CiAvLyBQcm92aWRlZCBieSBGcml0eiBLb2VuaWcKIAogLy8gUmVhZCAzMngxIHRocm93IGF3
YXkgZXZlbiBwaXhlbHMsIGFuZCB3cml0ZSAxNngxLgotdm9pZCBTY2FsZVJvd0Rvd24yX05FT04o
Y29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCkgewordm9pZCBTY2FsZVJvd0Rv
d24yX05FT04oY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Qs
CisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgICh2b2lkKXNyY19z
dHJpZGU7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgogICAgIC8vIGxvYWQgZXZlbiBwaXhlbHMgaW50byBxMCwgb2Rk
IGludG8gcTEKQEAgLTQzLDggKzQ2LDExIEBAIHZvaWQgU2NhbGVSb3dEb3duMl9ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIH0KIAogLy8gUmVhZCAzMngx
IGF2ZXJhZ2UgZG93biBhbmQgd3JpdGUgMTZ4MS4KLXZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9O
RU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQgU2Nh
bGVSb3dEb3duMkxpbmVhcl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF93aWR0aCkgeworICAodm9pZClzcmNfc3RyaWRlOwogICBhc20gdm9sYXRpbGUgKAog
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBN
RU1BQ0NFU1MoMCkKQEAgLTY2LDggKzcyLDEwIEBAIHZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9O
RU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIH0KIAogLy8g
UmVhZCAzMngyIGF2ZXJhZ2UgZG93biBhbmQgd3JpdGUgMTZ4MS4KLXZvaWQgU2NhbGVSb3dEb3du
MkJveF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpIHsKK3Zv
aWQgU2NhbGVSb3dEb3duMkJveF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgIC8vIGNoYW5nZSB0aGUgc3RyaWRlIHRv
IHJvdyAyIHBvaW50ZXIKICAgICAiYWRkICAgICAgICAlMSwgJTAgICAgICAgICAgICAgICAgICAg
ICAgICAgXG4iCkBAIC05NSw4ICsxMDMsMTEgQEAgdm9pZCBTY2FsZVJvd0Rvd24yQm94X05FT04o
Y29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICApOwogfQogCi12
b2lkIFNjYWxlUm93RG93bjRfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRz
dF93aWR0aCkgewordm9pZCBTY2FsZVJvd0Rvd240X05FT04oY29uc3QgdWludDgqIHNyY19wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF93aWR0aCkgeworICAodm9pZClzcmNfc3RyaWRlOwogICBhc20gdm9sYXRpbGUgKAog
ICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBN
RU1BQ0NFU1MoMCkKQEAgLTExMywxMiArMTI0LDE0IEBAIHZvaWQgU2NhbGVSb3dEb3duNF9ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgKTsKIH0KIAot
dm9pZCBTY2FsZVJvd0Rvd240Qm94X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIs
IGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQgU2NhbGVSb3dEb3duNEJveF9ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgY29uc3QgdWludDgqIHNyY19w
dHIxID0gc3JjX3B0ciArIHNyY19zdHJpZGU7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyMiA9IHNy
Y19wdHIgKyBzcmNfc3RyaWRlICogMjsKICAgY29uc3QgdWludDgqIHNyY19wdHIzID0gc3JjX3B0
ciArIHNyY19zdHJpZGUgKiAzOwotYXNtIHZvbGF0aWxlICgKKyAgYXNtIHZvbGF0aWxlICgKICAg
IjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgTUVN
QUNDRVNTKDApCiAgICAgInZsZDEuOCAgICAge3EwfSwgWyUwXSEgICAgICAgICAgICAgICAgICAg
IFxuIiAgIC8vIGxvYWQgdXAgMTZ4NApAQCAtMTU1LDcgKzE2OCw5IEBAIGFzbSB2b2xhdGlsZSAo
CiAvLyBQb2ludCBzYW1wbGVzIDMyIHBpeGVscyB0byAyNCBwaXhlbHMuCiB2b2lkIFNjYWxlUm93
RG93bjM0X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7Cisg
ICh2b2lkKXNyY19zdHJpZGU7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICIxOiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIE1FTUFDQ0VTUygwKQpAQCAtMTc1
LDcgKzE5MCw4IEBAIHZvaWQgU2NhbGVSb3dEb3duMzRfTkVPTihjb25zdCB1aW50OCogc3JjX3B0
ciwKIAogdm9pZCBTY2FsZVJvd0Rvd24zNF8wX0JveF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dp
ZHRoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBhc20gdm9s
YXRpbGUgKAogICAgICJ2bW92LnU4ICAgIGQyNCwgIzMgICAgICAgICAgICAgICAgICAgICAgICBc
biIKICAgICAiYWRkICAgICAgICAlMywgJTAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBA
IC0yMzQsNyArMjUwLDggQEAgdm9pZCBTY2FsZVJvd0Rvd24zNF8wX0JveF9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLAogCiB2b2lkIFNjYWxlUm93RG93bjM0XzFfQm94X05FT04oY29uc3QgdWlu
dDgqIHNyY19wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIs
IGludCBkc3Rfd2lkdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7
CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgInZtb3YudTggICAgZDI0LCAjMyAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgogICAgICJhZGQgICAgICAgICUzLCAlMCAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKQEAgLTI3NCwyMSArMjkxLDIwIEBAIHZvaWQgU2NhbGVSb3dEb3duMzRfMV9Cb3hf
TkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKIH0KIAogI2RlZmluZSBIQVNfU0NBTEVST1dET1dO
MzhfTkVPTgotc3RhdGljIHV2ZWM4IGtTaHVmMzggPQotICB7IDAsIDMsIDYsIDgsIDExLCAxNCwg
MTYsIDE5LCAyMiwgMjQsIDI3LCAzMCwgMCwgMCwgMCwgMCB9Owotc3RhdGljIHV2ZWM4IGtTaHVm
MzhfMiA9Ci0gIHsgMCwgOCwgMTYsIDIsIDEwLCAxNywgNCwgMTIsIDE4LCA2LCAxNCwgMTksIDAs
IDAsIDAsIDAgfTsKLXN0YXRpYyB2ZWMxNiBrTXVsdDM4X0RpdjYgPQotICB7IDY1NTM2IC8gMTIs
IDY1NTM2IC8gMTIsIDY1NTM2IC8gMTIsIDY1NTM2IC8gMTIsCi0gICAgNjU1MzYgLyAxMiwgNjU1
MzYgLyAxMiwgNjU1MzYgLyAxMiwgNjU1MzYgLyAxMiB9Owotc3RhdGljIHZlYzE2IGtNdWx0Mzhf
RGl2OSA9Ci0gIHsgNjU1MzYgLyAxOCwgNjU1MzYgLyAxOCwgNjU1MzYgLyAxOCwgNjU1MzYgLyAx
OCwKLSAgICA2NTUzNiAvIDE4LCA2NTUzNiAvIDE4LCA2NTUzNiAvIDE4LCA2NTUzNiAvIDE4IH07
CitzdGF0aWMgdXZlYzgga1NodWYzOCA9IHswLCAzLCA2LCA4LCAxMSwgMTQsIDE2LCAxOSwgMjIs
IDI0LCAyNywgMzAsIDAsIDAsIDAsIDB9Oworc3RhdGljIHV2ZWM4IGtTaHVmMzhfMiA9IHswLCAg
OCwgMTYsIDIsICAxMCwgMTcsIDQsIDEyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAxOCwg
NiwgMTQsIDE5LCAwLCAgMCwgIDAsIDB9Oworc3RhdGljIHZlYzE2IGtNdWx0MzhfRGl2NiA9IHs2
NTUzNiAvIDEyLCA2NTUzNiAvIDEyLCA2NTUzNiAvIDEyLCA2NTUzNiAvIDEyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA2NTUzNiAvIDEyLCA2NTUzNiAvIDEyLCA2NTUzNiAvIDEyLCA2
NTUzNiAvIDEyfTsKK3N0YXRpYyB2ZWMxNiBrTXVsdDM4X0RpdjkgPSB7NjU1MzYgLyAxOCwgNjU1
MzYgLyAxOCwgNjU1MzYgLyAxOCwgNjU1MzYgLyAxOCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNjU1MzYgLyAxOCwgNjU1MzYgLyAxOCwgNjU1MzYgLyAxOCwgNjU1MzYgLyAxOH07CiAK
IC8vIDMyIC0+IDEyCiB2b2lkIFNjYWxlUm93RG93bjM4X05FT04oY29uc3QgdWludDgqIHNyY19w
dHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgICh2b2lkKXNyY19zdHJpZGU7CiAgIGFzbSB2b2xh
dGlsZSAoCiAgICAgTUVNQUNDRVNTKDMpCiAgICAgInZsZDEuOCAgICAge3EzfSwgWyUzXSAgICAg
ICAgICAgICAgICAgICAgIFxuIgpAQCAtMzE0LDcgKzMzMCw4IEBAIHZvaWQgU2NhbGVSb3dEb3du
MzhfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKIC8vIDMyeDMgLT4gMTJ4MQogdm9pZCBPTUlU
RlAgU2NhbGVSb3dEb3duMzhfM19Cb3hfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQg
ZHN0X3dpZHRoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoKSB7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyMSA9IHNyY19wdHIgKyBzcmNfc3RyaWRl
ICogMjsKIAogICBhc20gdm9sYXRpbGUgKApAQCAtNDMzLDcgKzQ1MCw4IEBAIHZvaWQgT01JVEZQ
IFNjYWxlUm93RG93bjM4XzNfQm94X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsCiAvLyAzMngy
IC0+IDEyeDEKIHZvaWQgU2NhbGVSb3dEb3duMzhfMl9Cb3hfTkVPTihjb25zdCB1aW50OCogc3Jj
X3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRz
dF93aWR0aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgYXNt
IHZvbGF0aWxlICgKICAgICBNRU1BQ0NFU1MoNCkKICAgICAidmxkMS4xNiAgICB7cTEzfSwgWyU0
XSAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC01MzAsOCArNTQ4LDExIEBAIHZvaWQgU2NhbGVS
b3dEb3duMzhfMl9Cb3hfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKICAgKTsKIH0KIAotdm9p
ZCBTY2FsZUFkZFJvd3NfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19z
dHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0X3B0ciwgaW50IHNyY193aWR0
aCwgaW50IHNyY19oZWlnaHQpIHsKK3ZvaWQgU2NhbGVBZGRSb3dzX05FT04oY29uc3QgdWludDgq
IHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVp
Z2h0KSB7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfdG1wOwogICBhc20gdm9sYXRpbGUgKAogICAiMTog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTU2Myw2ICs1
ODQsNyBAQCB2b2lkIFNjYWxlQWRkUm93c19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKICAgKTsKIH0KIAorLy8gY2xhbmctZm9ybWF0IG9mZgogLy8gVE9E
TyhZYW5nIFpoYW5nKTogSW52ZXN0aWdhdGUgbGVzcyBsb2FkIGluc3RydWN0aW9ucyBmb3IKIC8v
IHRoZSB4L2R4IHN0ZXBwaW5nCiAjZGVmaW5lIExPQUQyX0RBVEE4X0xBTkUobikgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC01NzEsMTMgKzU5MywxNyBAQCB2b2lkIFNj
YWxlQWRkUm93c19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKICAgICAiYWRkICAgICAgICAlMywgJTMsICU0ICAgICAgICAgICAgICAgICAgICAgXG4iICAg
ICAgICAgICAgIFwKICAgICBNRU1BQ0NFU1MoNikgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICAidmxkMi44ICAgICB7ZDZbIiNuIl0sIGQ3WyIjbiJd
fSwgWyU2XSAgICAgXG4iCisvLyBjbGFuZy1mb3JtYXQgb24KIAogLy8gVGhlIE5FT04gdmVyc2lv
biBtaW1pY3MgdGhpcyBmb3JtdWxhIChmcm9tIHJvd19jb21tb24uY2MpOgogLy8gI2RlZmluZSBC
TEVOREVSKGEsIGIsIGYpICh1aW50OCkoKGludCkoYSkgKwogLy8gICAgKCgoKGludCkoKGYpKSAq
ICgoaW50KShiKSAtIChpbnQpKGEpKSkgKyAweDgwMDApID4+IDE2KSkKIAotdm9pZCBTY2FsZUZp
bHRlckNvbHNfTkVPTih1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpIHsKK3Zv
aWQgU2NhbGVGaWx0ZXJDb2xzX05FT04odWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGR4KSB7CiAgIGludCBkeF9vZmZzZXRbNF0gPSB7MCwg
MSwgMiwgM307CiAgIGludCogdG1wID0gZHhfb2Zmc2V0OwogICBjb25zdCB1aW50OCogc3JjX3Rt
cCA9IHNyY19wdHI7CkBAIC02NDAsOCArNjY2LDEwIEBAIHZvaWQgU2NhbGVGaWx0ZXJDb2xzX05F
T04odWludDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogCiAvLyAxNngyIC0+IDE2
eDEKIHZvaWQgU2NhbGVGaWx0ZXJSb3dzX05FT04odWludDgqIGRzdF9wdHIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHNvdXJjZV95
X2ZyYWN0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IHNvdXJjZV95X2ZyYWN0aW9uKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAg
ImNtcCAgICAgICAgICAlNCwgIzAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJiZXEg
ICAgICAgICAgMTAwZiAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTczNyw4ICs3NjUs
MTEgQEAgdm9pZCBTY2FsZUZpbHRlclJvd3NfTkVPTih1aW50OCogZHN0X3B0ciwKICAgKTsKIH0K
IAotdm9pZCBTY2FsZUFSR0JSb3dEb3duMl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
LCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd24yX05FT04oY29uc3QgdWlu
dDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19z
dHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CisgICh2b2lkKXNyY19zdHJpZGU7
CiAgIGFzbSB2b2xhdGlsZSAoCiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgogICAgIC8vIGxvYWQgZXZlbiBwaXhlbHMgaW50byBxMCwgb2RkIGludG8g
cTEKQEAgLTc2MCw4ICs3OTEsMTEgQEAgdm9pZCBTY2FsZUFSR0JSb3dEb3duMl9ORU9OKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgKTsKIH0KIAotdm9pZCBT
Y2FsZUFSR0JSb3dEb3duMkxpbmVhcl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgcHRyZGlm
Zl90IHNyY19zdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9hcmdiLCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd24yTGluZWFy
X05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3dpZHRoKSB7CisgICh2b2lkKXNyY19zdHJpZGU7CiAgIGFzbSB2b2xhdGlsZSAo
CiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAg
IE1FTUFDQ0VTUygwKQpAQCAtNzg4LDggKzgyMiwxMCBAQCB2b2lkIFNjYWxlQVJHQlJvd0Rvd24y
TGluZWFyX05FT04oY29uc3QgdWludDgqIHNyY19hcmdiLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
ICAgKTsKIH0KIAotdm9pZCBTY2FsZUFSR0JSb3dEb3duMkJveF9ORU9OKGNvbnN0IHVpbnQ4KiBz
cmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50OCogZHN0LCBpbnQgZHN0X3dpZHRoKSB7Cit2b2lkIFNjYWxlQVJHQlJvd0Rvd24y
Qm94X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDgqIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dp
ZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgLy8gY2hhbmdlIHRoZSBzdHJpZGUgdG8gcm93
IDIgcG9pbnRlcgogICAgICJhZGQgICAgICAgICUxLCAlMSwgJTAgICAgICAgICAgICAgICAgICAg
ICBcbiIKQEAgLTgyOSw4ICs4NjUsMTIgQEAgdm9pZCBTY2FsZUFSR0JSb3dEb3duMkJveF9ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIAogLy8gUmVhZHMg
NCBwaXhlbHMgYXQgYSB0aW1lLgogLy8gQWxpZ25tZW50IHJlcXVpcmVtZW50OiBzcmNfYXJnYiA0
IGJ5dGUgYWxpZ25lZC4KLXZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5fTkVPTihjb25zdCB1aW50
OCogc3JjX2FyZ2IsICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc3JjX3N0ZXB4LCB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfd2lkdGgp
IHsKK3ZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5fTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdGVweCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgeworICAodm9pZClzcmNfc3RyaWRlOwogICBhc20g
dm9sYXRpbGUgKAogICAgICJtb3YgICAgICAgIHIxMiwgJTMsIGxzbCAjMiAgICAgICAgICAgICAg
ICBcbiIKICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i
CkBAIC04NTYsOSArODk2LDExIEBAIHZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5fTkVPTihjb25z
dCB1aW50OCogc3JjX2FyZ2IsICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIAogLy8gUmVhZHMgNCBw
aXhlbHMgYXQgYSB0aW1lLgogLy8gQWxpZ25tZW50IHJlcXVpcmVtZW50OiBzcmNfYXJnYiA0IGJ5
dGUgYWxpZ25lZC4KLXZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfTkVPTihjb25zdCB1aW50
OCogc3JjX2FyZ2IsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAordm9pZCBTY2FsZUFSR0JSb3dEb3du
RXZlbkJveF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX3N0ZXB4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgIm1v
diAgICAgICAgcjEyLCAlNCwgbHNsICMyICAgICAgICAgICAgICAgIFxuIgogICAgICJhZGQgICAg
ICAgICUxLCAlMSwgJTAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTkwMiwxNyArOTQ0LDIy
IEBAIHZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfTkVPTihjb25zdCB1aW50OCogc3JjX2Fy
Z2IsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICApOwogfQogCisvLyBjbGFuZy1mb3JtYXQgb2Zm
CiAvLyBUT0RPKFlhbmcgWmhhbmcpOiBJbnZlc3RpZ2F0ZSBsZXNzIGxvYWQgaW5zdHJ1Y3Rpb25z
IGZvcgogLy8gdGhlIHgvZHggc3RlcHBpbmcKLSNkZWZpbmUgTE9BRDFfREFUQTMyX0xBTkUoZG4s
IG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAibHNyICAgICAgICAlNSwg
JTMsICMxNiAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgIFwKLSAgICAiYWRkICAg
ICAgICAlNiwgJTEsICU1LCBsc2wgIzIgICAgICAgICAgICAgXG4iICAgICAgICAgICAgIFwKLSAg
ICAiYWRkICAgICAgICAlMywgJTMsICU0ICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAg
ICAgIFwKLSAgICBNRU1BQ0NFU1MoNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAidmxkMS4zMiAgICB7IiNkbiJbIiNuIl19LCBbJTZdICAgICAg
ICAgICAgXG4iCi0KLXZvaWQgU2NhbGVBUkdCQ29sc19ORU9OKHVpbnQ4KiBkc3RfYXJnYiwgY29u
c3QgdWludDgqIHNyY19hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0
aCwgaW50IHgsIGludCBkeCkgeworI2RlZmluZSBMT0FEMV9EQVRBMzJfTEFORShkbiwgbikgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAibHNyICAgICAgICAlNSwgJTMsICMxNiAgICAg
ICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAorICAiYWRkICAgICAgICAlNiwgJTEsICU1
LCBsc2wgIzIgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAorICAiYWRkICAgICAgICAlMywg
JTMsICU0ICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAorICBNRU1BQ0NFU1Mo
NikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAidmxk
MS4zMiAgICB7IiAjZG4gIlsiICNuICJdfSwgWyU2XSAgICAgICAgXG4iCisvLyBjbGFuZy1mb3Jt
YXQgb24KKwordm9pZCBTY2FsZUFSR0JDb2xzX05FT04odWludDgqIGRzdF9hcmdiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAor
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4KSB7CiAgIGludCB0bXA7CiAgIGNvbnN0IHVp
bnQ4KiBzcmNfdG1wID0gc3JjX2FyZ2I7CiAgIGFzbSB2b2xhdGlsZSAoCkBAIC05NDQsMTcgKzk5
MSwyMiBAQCB2b2lkIFNjYWxlQVJHQkNvbHNfTkVPTih1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKIAogI3VuZGVmIExPQUQxX0RBVEEzMl9MQU5FCiAKKy8vIGNsYW5nLWZv
cm1hdCBvZmYKIC8vIFRPRE8oWWFuZyBaaGFuZyk6IEludmVzdGlnYXRlIGxlc3MgbG9hZCBpbnN0
cnVjdGlvbnMgZm9yCiAvLyB0aGUgeC9keCBzdGVwcGluZwotI2RlZmluZSBMT0FEMl9EQVRBMzJf
TEFORShkbjEsIGRuMiwgbikgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJsc3IgICAg
ICAgICU1LCAlMywgIzE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgXAotICAg
ICJhZGQgICAgICAgICU2LCAlMSwgJTUsIGxzbCAjMiAgICAgICAgICAgICAgICAgICAgXG4iICAg
ICAgXAotICAgICJhZGQgICAgICAgICUzLCAlMywgJTQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iICAgICAgXAotICAgIE1FTUFDQ0VTUyg2KSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICJ2bGQyLjMyICAgIHsiI2RuMSJbIiNuIl0sICIj
ZG4yIlsiI24iXX0sIFslNl0gICAgXG4iCi0KLXZvaWQgU2NhbGVBUkdCRmlsdGVyQ29sc19ORU9O
KHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgeworI2RlZmluZSBM
T0FEMl9EQVRBMzJfTEFORShkbjEsIGRuMiwgbikgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgImxzciAgICAgICAgJTUsICUzLCAjMTYgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIgICAgICAgICAgICBcCisgICJhZGQgICAgICAgICU2LCAlMSwgJTUsIGxzbCAjMiAgICAgICAg
ICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAorICAiYWRkICAgICAgICAlMywgJTMsICU0ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgIFwKKyAgTUVNQUNDRVNTKDYp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICJ2bGQyLjMyICAgIHsiICNkbjEgIlsiICNuICJdLCAiICNkbjIgIlsiICNuICJdfSwgWyU2XSAg
ICBcbiIKKy8vIGNsYW5nLWZvcm1hdCBvbgorCit2b2lkIFNjYWxlQVJHQkZpbHRlckNvbHNfTkVP
Tih1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dp
ZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHgpIHsKICAgaW50IGR4X29mZnNldFs0XSA9IHswLCAxLCAy
LCAzfTsKICAgaW50KiB0bXAgPSBkeF9vZmZzZXQ7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfdG1wID0g
c3JjX2FyZ2I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfbmVvbjY0LmNjIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3NjYWxlX25l
b242NC5jYwppbmRleCBlZmExZmE5MGYwNDM1NmJmMjMwMmE3MDU2OGJmZDNhNTI3YmNiZDk5Li4x
ZmY1ZjJiZmU1ZTMyYzE2YjRlZDIwMDkyZDI4MzE0NzQ5ODM1MTczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uv
c2NhbGVfbmVvbjY0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9zY2FsZV9uZW9uNjQuY2MKQEAgLTgsOCArOCw4IEBA
CiAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291
cmNlIHRyZWUuCiAgKi8KIAotI2luY2x1ZGUgImxpYnl1di9zY2FsZS5oIgogI2luY2x1ZGUgImxp
Ynl1di9yb3cuaCIKKyNpbmNsdWRlICJsaWJ5dXYvc2NhbGUuaCIKICNpbmNsdWRlICJsaWJ5dXYv
c2NhbGVfcm93LmgiCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpAQCAtMjEsOCArMjEsMTEgQEAgZXh0
ZXJuICJDIiB7CiAjaWYgIWRlZmluZWQoTElCWVVWX0RJU0FCTEVfTkVPTikgJiYgZGVmaW5lZChf
X2FhcmNoNjRfXykKIAogLy8gUmVhZCAzMngxIHRocm93IGF3YXkgZXZlbiBwaXhlbHMsIGFuZCB3
cml0ZSAxNngxLgotdm9pZCBTY2FsZVJvd0Rvd24yX05FT04oY29uc3QgdWludDgqIHNyY19wdHIs
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRz
dCwgaW50IGRzdF93aWR0aCkgewordm9pZCBTY2FsZVJvd0Rvd24yX05FT04oY29uc3QgdWludDgq
IHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZHN0X3dpZHRoKSB7CisgICh2b2lkKXNyY19zdHJpZGU7CiAgIGFzbSB2b2xhdGls
ZSAoCiAgICIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgog
ICAgIC8vIGxvYWQgZXZlbiBwaXhlbHMgaW50byB2MCwgb2RkIGludG8gdjEKQEAgLTQxLDggKzQ0
LDExIEBAIHZvaWQgU2NhbGVSb3dEb3duMl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKIH0KIAogLy8gUmVhZCAzMngxIGF2ZXJhZ2UgZG93biBhbmQgd3Jp
dGUgMTZ4MS4KLXZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9ORU9O
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCog
ZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgeworICAo
dm9pZClzcmNfc3RyaWRlOwogICBhc20gdm9sYXRpbGUgKAogICAiMTogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBNRU1BQ0NFU1MoMCkKQEAgLTY0LDgg
KzcwLDEwIEBAIHZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIH0KIAogLy8gUmVhZCAzMngyIGF2ZXJhZ2UgZG93
biBhbmQgd3JpdGUgMTZ4MS4KLXZvaWQgU2NhbGVSb3dEb3duMkJveF9ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lkdGgpIHsKK3ZvaWQgU2NhbGVSb3dEb3duMkJveF9O
RU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBhc20gdm9s
YXRpbGUgKAogICAgIC8vIGNoYW5nZSB0aGUgc3RyaWRlIHRvIHJvdyAyIHBvaW50ZXIKICAgICAi
YWRkICAgICAgICAlMSwgJTEsICUwICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC05Myw4ICsx
MDEsMTEgQEAgdm9pZCBTY2FsZVJvd0Rvd24yQm94X05FT04oY29uc3QgdWludDgqIHNyY19wdHIs
IHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICApOwogfQogCi12b2lkIFNjYWxlUm93RG93bjRfTkVP
Tihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCkgewordm9pZCBTY2Fs
ZVJvd0Rvd240X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgeworICAo
dm9pZClzcmNfc3RyaWRlOwogICBhc20gdm9sYXRpbGUgKAogICAiMTogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBNRU1BQ0NFU1MoMCkKQEAgLTExMSwx
MiArMTIyLDE0IEBAIHZvaWQgU2NhbGVSb3dEb3duNF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgKTsKIH0KIAotdm9pZCBTY2FsZVJvd0Rvd240Qm94
X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKK3Zv
aWQgU2NhbGVSb3dEb3duNEJveF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgpIHsKICAgY29uc3QgdWludDgqIHNyY19wdHIxID0gc3JjX3B0ciArIHNyY19z
dHJpZGU7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyMiA9IHNyY19wdHIgKyBzcmNfc3RyaWRlICog
MjsKICAgY29uc3QgdWludDgqIHNyY19wdHIzID0gc3JjX3B0ciArIHNyY19zdHJpZGUgKiAzOwot
YXNtIHZvbGF0aWxlICgKKyAgYXNtIHZvbGF0aWxlICgKICAgIjE6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgTUVNQUNDRVNTKDApCiAgICAgImxkMSAg
ICAge3YwLjE2Yn0sIFslMF0sICMxNiAgICAgICAgICAgICAgIFxuIiAgIC8vIGxvYWQgdXAgMTZ4
NApAQCAtMTUyLDE1ICsxNjUsMTcgQEAgYXNtIHZvbGF0aWxlICgKIC8vIFBvaW50IHNhbXBsZXMg
MzIgcGl4ZWxzIHRvIDI0IHBpeGVscy4KIHZvaWQgU2NhbGVSb3dEb3duMzRfTkVPTihjb25zdCB1
aW50OCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93
aWR0aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgKHZvaWQpc3JjX3N0cmlkZTsK
ICAgYXNtIHZvbGF0aWxlICgKICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKICAgICBNRU1BQ0NFU1MoMCkKLSAgICAibGQ0ICAgICAgIHt2
MC44Yix2MS44Yix2Mi44Yix2My44Yn0sIFslMF0sICMzMiAgICAgICAgICAgICAgICBcbiIgIC8v
IHNyYyBsaW5lIDAKKyAgICAibGQ0ICAgICAgIHt2MC44Yix2MS44Yix2Mi44Yix2My44Yn0sIFsl
MF0sICMzMiAgICBcbiIgIC8vIHNyYyBsaW5lIDAKICAgICAic3VicyAgICAgICV3MiwgJXcyLCAj
MjQgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAib3JyICAgICAgIHYyLjE2Yiwg
djMuMTZiLCB2My4xNmIgICAgICAgICAgICAgICAgICBcbiIgIC8vIG9yZGVyIHYwLCB2MSwgdjIK
ICAgICBNRU1BQ0NFU1MoMSkKLSAgICAic3QzICAgICAgIHt2MC44Yix2MS44Yix2Mi44Yn0sIFsl
MV0sICMyNCAgICAgICAgICAgICAgICBcbiIKKyAgICAic3QzICAgICAgIHt2MC44Yix2MS44Yix2
Mi44Yn0sIFslMV0sICMyNCAgICAgICAgICBcbiIKICAgICAiYi5ndCAgICAgIDFiICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgOiAiK3IiKHNyY19wdHIpLCAgICAg
ICAgICAvLyAlMAogICAgICIrciIoZHN0X3B0ciksICAgICAgICAgIC8vICUxCkBAIC0xNzIsMTUg
KzE4NywxNiBAQCB2b2lkIFNjYWxlUm93RG93bjM0X05FT04oY29uc3QgdWludDgqIHNyY19wdHIs
CiAKIHZvaWQgU2NhbGVSb3dEb3duMzRfMF9Cb3hfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0
aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgYXNtIHZvbGF0
aWxlICgKICAgICAibW92aSAgICAgIHYyMC44YiwgIzMgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcbiIKICAgICAiYWRkICAgICAgICUzLCAlMywgJTAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcbiIKICAgICBNRU1BQ0NFU1MoMCkKLSAgICAibGQ0ICAgICAgIHt2MC44Yix2
MS44Yix2Mi44Yix2My44Yn0sIFslMF0sICMzMiAgICAgICAgICAgICAgICBcbiIgIC8vIHNyYyBs
aW5lIDAKKyAgICAibGQ0ICAgICAgIHt2MC44Yix2MS44Yix2Mi44Yix2My44Yn0sIFslMF0sICMz
MiAgICBcbiIgIC8vIHNyYyBsaW5lIDAKICAgICBNRU1BQ0NFU1MoMykKLSAgICAibGQ0ICAgICAg
IHt2NC44Yix2NS44Yix2Ni44Yix2Ny44Yn0sIFslM10sICMzMiAgICAgICAgICAgICAgICBcbiIg
IC8vIHNyYyBsaW5lIDEKKyAgICAibGQ0ICAgICAgIHt2NC44Yix2NS44Yix2Ni44Yix2Ny44Yn0s
IFslM10sICMzMiAgICBcbiIgIC8vIHNyYyBsaW5lIDEKICAgICAic3VicyAgICAgICAgICV3Miwg
JXcyLCAjMjQgICAgICAgICAgICAgICAgICAgICAgICBcbiIKIAogICAgIC8vIGZpbHRlciBzcmMg
bGluZSAwIHdpdGggc3JjIGxpbmUgMQpAQCAtMjMyLDcgKzI0OCw4IEBAIHZvaWQgU2NhbGVSb3dE
b3duMzRfMF9Cb3hfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwKIAogdm9pZCBTY2FsZVJvd0Rv
d24zNF8xX0JveF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBhc20gdm9sYXRpbGUgKAogICAgICJtb3ZpICAg
ICAgdjIwLjhiLCAjMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICJhZGQg
ICAgICAgJTMsICUzLCAlMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtMjcz
LDI5ICsyOTAsMjggQEAgdm9pZCBTY2FsZVJvd0Rvd24zNF8xX0JveF9ORU9OKGNvbnN0IHVpbnQ4
KiBzcmNfcHRyLAogICApOwogfQogCi1zdGF0aWMgdXZlYzgga1NodWYzOCA9Ci0gIHsgMCwgMywg
NiwgOCwgMTEsIDE0LCAxNiwgMTksIDIyLCAyNCwgMjcsIDMwLCAwLCAwLCAwLCAwIH07Ci1zdGF0
aWMgdXZlYzgga1NodWYzOF8yID0KLSAgeyAwLCAxNiwgMzIsIDIsIDE4LCAzMywgNCwgMjAsIDM0
LCA2LCAyMiwgMzUsIDAsIDAsIDAsIDAgfTsKLXN0YXRpYyB2ZWMxNiBrTXVsdDM4X0RpdjYgPQot
ICB7IDY1NTM2IC8gMTIsIDY1NTM2IC8gMTIsIDY1NTM2IC8gMTIsIDY1NTM2IC8gMTIsCi0gICAg
NjU1MzYgLyAxMiwgNjU1MzYgLyAxMiwgNjU1MzYgLyAxMiwgNjU1MzYgLyAxMiB9Owotc3RhdGlj
IHZlYzE2IGtNdWx0MzhfRGl2OSA9Ci0gIHsgNjU1MzYgLyAxOCwgNjU1MzYgLyAxOCwgNjU1MzYg
LyAxOCwgNjU1MzYgLyAxOCwKLSAgICA2NTUzNiAvIDE4LCA2NTUzNiAvIDE4LCA2NTUzNiAvIDE4
LCA2NTUzNiAvIDE4IH07CitzdGF0aWMgdXZlYzgga1NodWYzOCA9IHswLCAzLCA2LCA4LCAxMSwg
MTQsIDE2LCAxOSwgMjIsIDI0LCAyNywgMzAsIDAsIDAsIDAsIDB9Oworc3RhdGljIHV2ZWM4IGtT
aHVmMzhfMiA9IHswLCAgMTYsIDMyLCAyLCAgMTgsIDMzLCA0LCAyMCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgMzQsIDYsICAyMiwgMzUsIDAsICAwLCAgMCwgMH07CitzdGF0aWMgdmVjMTYg
a011bHQzOF9EaXY2ID0gezY1NTM2IC8gMTIsIDY1NTM2IC8gMTIsIDY1NTM2IC8gMTIsIDY1NTM2
IC8gMTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY1NTM2IC8gMTIsIDY1NTM2IC8g
MTIsIDY1NTM2IC8gMTIsIDY1NTM2IC8gMTJ9Oworc3RhdGljIHZlYzE2IGtNdWx0MzhfRGl2OSA9
IHs2NTUzNiAvIDE4LCA2NTUzNiAvIDE4LCA2NTUzNiAvIDE4LCA2NTUzNiAvIDE4LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA2NTUzNiAvIDE4LCA2NTUzNiAvIDE4LCA2NTUzNiAvIDE4
LCA2NTUzNiAvIDE4fTsKIAogLy8gMzIgLT4gMTIKIHZvaWQgU2NhbGVSb3dEb3duMzhfTkVPTihj
b25zdCB1aW50OCogc3JjX3B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50
IGRzdF93aWR0aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKKyAgKHZvaWQpc3JjX3N0
cmlkZTsKICAgYXNtIHZvbGF0aWxlICgKICAgICBNRU1BQ0NFU1MoMykKICAgICAibGQxICAgICAg
IHt2My4xNmJ9LCBbJTNdICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgIjE6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBNRU1B
Q0NFU1MoMCkKLSAgICAibGQxICAgICAgIHt2MC4xNmIsdjEuMTZifSwgWyUwXSwgIzMyICAgICAg
ICAgICAgIFxuIgorICAgICJsZDEgICAgICAge3YwLjE2Yix2MS4xNmJ9LCBbJTBdLCAjMzIgICAg
ICAgICAgICAgIFxuIgogICAgICJzdWJzICAgICAgJXcyLCAldzIsICMxMiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJ0YmwgICAgICAgdjIuMTZiLCB7djAuMTZiLHYxLjE2Yn0s
IHYzLjE2YiAgICAgICAgXG4iCisgICAgInRibCAgICAgICB2Mi4xNmIsIHt2MC4xNmIsdjEuMTZi
fSwgdjMuMTZiICAgICAgICAgXG4iCiAgICAgTUVNQUNDRVNTKDEpCiAgICAgInN0MSAgICAgICB7
djIuOGJ9LCBbJTFdLCAjOCAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAgICAgTUVNQUNDRVNT
KDEpCkBAIC0zMTIsNyArMzI4LDggQEAgdm9pZCBTY2FsZVJvd0Rvd24zOF9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLAogLy8gMzJ4MyAtPiAxMngxCiB2b2lkIE9NSVRGUCBTY2FsZVJvd0Rvd24z
OF8zX0JveF9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgY29u
c3QgdWludDgqIHNyY19wdHIxID0gc3JjX3B0ciArIHNyY19zdHJpZGUgKiAyOwogICBwdHJkaWZm
X3QgdG1wX3NyY19zdHJpZGUgPSBzcmNfc3RyaWRlOwogCkBAIC00NDEsNyArNDU4LDggQEAgdm9p
ZCBPTUlURlAgU2NhbGVSb3dEb3duMzhfM19Cb3hfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwK
IC8vIDMyeDIgLT4gMTJ4MQogdm9pZCBTY2FsZVJvd0Rvd24zOF8yX0JveF9ORU9OKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRy
LCBpbnQgZHN0X3dpZHRoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgq
IGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkg
ewogICAvLyBUT0RPKGZiYXJjaGFyZCk6IHVzZSBzcmNfc3RyaWRlIGRpcmVjdGx5IGZvciBjbGFu
ZyAzLjUrLgogICBwdHJkaWZmX3QgdG1wX3NyY19zdHJpZGUgPSBzcmNfc3RyaWRlOwogICBhc20g
dm9sYXRpbGUgKApAQCAtNTQ1LDggKzU2MywxMSBAQCB2b2lkIFNjYWxlUm93RG93bjM4XzJfQm94
X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsCiAgICk7CiB9CiAKLXZvaWQgU2NhbGVBZGRSb3dz
X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICB1aW50MTYqIGRzdF9wdHIsIGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVp
Z2h0KSB7Cit2b2lkIFNjYWxlQWRkUm93c19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgdWludDE2KiBkc3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCkgewogICBjb25z
dCB1aW50OCogc3JjX3RtcDsKICAgYXNtIHZvbGF0aWxlICgKICAgIjE6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBAIC01NzgsMjcgKzU5OSwzMiBAQCB2b2lk
IFNjYWxlQWRkUm93c19ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKICAgKTsKIH0KIAorLy8gY2xhbmctZm9ybWF0IG9mZgogLy8gVE9ETyhZYW5nIFpoYW5n
KTogSW52ZXN0aWdhdGUgbGVzcyBsb2FkIGluc3RydWN0aW9ucyBmb3IKIC8vIHRoZSB4L2R4IHN0
ZXBwaW5nCi0jZGVmaW5lIExPQUQyX0RBVEE4X0xBTkUobikgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgImxzciAgICAgICAgJTUsICUzLCAjMTYgICAgICAgICAgICAg
ICAgICAgIFxuIiAgICAgICAgICAgICBcCi0gICAgImFkZCAgICAgICAgJTYsICUxLCAlNSAgICAg
ICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgICBcCi0gICAgImFkZCAgICAgICAgJTMsICUz
LCAlNCAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAgICBcCi0gICAgTUVNQUNDRVNT
KDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ImxkMiAgICAgICAge3Y0LmIsIHY1LmJ9WyIjbiJdLCBbJTZdICAgICAgXG4iCisjZGVmaW5lIExP
QUQyX0RBVEE4X0xBTkUobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJs
c3IgICAgICAgICU1LCAlMywgIzE2ICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBc
CisgICJhZGQgICAgICAgICU2LCAlMSwgJTUgICAgICAgICAgICAgICAgICAgICBcbiIgICAgICAg
ICAgICBcCisgICJhZGQgICAgICAgICUzLCAlMywgJTQgICAgICAgICAgICAgICAgICAgICBcbiIg
ICAgICAgICAgICBcCisgIE1FTUFDQ0VTUyg2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICJsZDIgICAgICAgIHt2NC5iLCB2NS5ifVsiICNuICJdLCBb
JTZdICAgICBcbiIKKy8vIGNsYW5nLWZvcm1hdCBvbgogCiAvLyBUaGUgTkVPTiB2ZXJzaW9uIG1p
bWljcyB0aGlzIGZvcm11bGEgKGZyb20gcm93X2NvbW1vbi5jYyk6CiAvLyAjZGVmaW5lIEJMRU5E
RVIoYSwgYiwgZikgKHVpbnQ4KSgoaW50KShhKSArCiAvLyAgICAoKCgoaW50KSgoZikpICogKChp
bnQpKGIpIC0gKGludCkoYSkpKSArIDB4ODAwMCkgPj4gMTYpKQogCi12b2lkIFNjYWxlRmlsdGVy
Q29sc19ORU9OKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3JjX3B0ciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBkeCkgewordm9pZCBT
Y2FsZUZpbHRlckNvbHNfTkVPTih1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHgpIHsKICAgaW50IGR4X29mZnNldFs0XSA9IHswLCAxLCAy
LCAzfTsKICAgaW50KiB0bXAgPSBkeF9vZmZzZXQ7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfdG1wID0g
c3JjX3B0cjsKLSAgaW50NjQgZHN0X3dpZHRoNjQgPSAoaW50NjQpIGRzdF93aWR0aDsgIC8vIFdv
cmsgYXJvdW5kIGlvcyA2NCBiaXQgd2FybmluZy4KLSAgaW50NjQgeDY0ID0gKGludDY0KSB4Owot
ICBpbnQ2NCBkeDY0ID0gKGludDY0KSBkeDsKKyAgaW50NjQgZHN0X3dpZHRoNjQgPSAoaW50NjQp
ZHN0X3dpZHRoOyAgLy8gV29yayBhcm91bmQgaW9zIDY0IGJpdCB3YXJuaW5nLgorICBpbnQ2NCB4
NjQgPSAoaW50NjQpeDsKKyAgaW50NjQgZHg2NCA9IChpbnQ2NClkeDsKICAgYXNtIHZvbGF0aWxl
ICgKICAgICAiZHVwICAgICAgICB2MC40cywgJXczICAgICAgICAgICAgICAgICAgICAgXG4iICAv
LyB4CiAgICAgImR1cCAgICAgICAgdjEuNHMsICV3NCAgICAgICAgICAgICAgICAgICAgIFxuIiAg
Ly8gZHgKQEAgLTY1OCw5ICs2ODQsMTEgQEAgdm9pZCBTY2FsZUZpbHRlckNvbHNfTkVPTih1aW50
OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCiAKIC8vIDE2eDIgLT4gMTZ4MQogdm9p
ZCBTY2FsZUZpbHRlclJvd3NfTkVPTih1aW50OCogZHN0X3B0ciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgc291cmNlX3lfZnJhY3Rp
b24pIHsKLSAgICBpbnQgeV9mcmFjdGlvbiA9IDI1NiAtIHNvdXJjZV95X2ZyYWN0aW9uOworICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb3Vy
Y2VfeV9mcmFjdGlvbikgeworICBpbnQgeV9mcmFjdGlvbiA9IDI1NiAtIHNvdXJjZV95X2ZyYWN0
aW9uOwogICBhc20gdm9sYXRpbGUgKAogICAgICJjbXAgICAgICAgICAgJXc0LCAjMCAgICAgICAg
ICAgICAgICAgICAgICBcbiIKICAgICAiYi5lcSAgICAgICAgIDEwMGYgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCkBAIC03NTYsOCArNzg0LDExIEBAIHZvaWQgU2NhbGVGaWx0ZXJSb3dzX05F
T04odWludDgqIGRzdF9wdHIsCiAgICk7CiB9CiAKLXZvaWQgU2NhbGVBUkdCUm93RG93bjJfTkVP
Tihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdCwgaW50IGRzdF93aWR0aCkgewordm9pZCBTY2Fs
ZUFSR0JSb3dEb3duMl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4KiBkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93
aWR0aCkgeworICAodm9pZClzcmNfc3RyaWRlOwogICBhc20gdm9sYXRpbGUgKAogICAiMTogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKICAgICAvLyBsb2FkIGV2
ZW4gcGl4ZWxzIGludG8gcTAsIG9kZCBpbnRvIHExCkBAIC03NzksOCArODEwLDExIEBAIHZvaWQg
U2NhbGVBUkdCUm93RG93bjJfTkVPTihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCiAgICk7CiB9CiAKLXZvaWQgU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfTkVPTihj
b25zdCB1aW50OCogc3JjX2FyZ2IsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCkgewor
dm9pZCBTY2FsZUFSR0JSb3dEb3duMkxpbmVhcl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgeworICAodm9pZClz
cmNfc3RyaWRlOwogICBhc20gdm9sYXRpbGUgKAogICAiMTogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKICAgICBNRU1BQ0NFU1MgKDApCkBAIC04MDYsOCArODQw
LDEwIEBAIHZvaWQgU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfTkVPTihjb25zdCB1aW50OCogc3Jj
X2FyZ2IsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogICApOwogfQogCi12b2lkIFNjYWxlQVJHQlJv
d0Rvd24yQm94X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3QsIGludCBkc3Rfd2lk
dGgpIHsKK3ZvaWQgU2NhbGVBUkdCUm93RG93bjJCb3hfTkVPTihjb25zdCB1aW50OCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAgYXNtIHZvbGF0aWxlICgKICAg
ICAvLyBjaGFuZ2UgdGhlIHN0cmlkZSB0byByb3cgMiBwb2ludGVyCiAgICAgImFkZCAgICAgICAg
JTEsICUxLCAlMCAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtODQzLDggKzg3OSwxMiBAQCB2
b2lkIFNjYWxlQVJHQlJvd0Rvd24yQm94X05FT04oY29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAogCiAvLyBSZWFkcyA0IHBpeGVscyBhdCBhIHRpbWUuCiAvLyBBbGln
bm1lbnQgcmVxdWlyZW1lbnQ6IHNyY19hcmdiIDQgYnl0ZSBhbGlnbmVkLgotdm9pZCBTY2FsZUFS
R0JSb3dEb3duRXZlbl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgIHB0cmRpZmZfdCBzcmNf
c3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RlcHgsIHVp
bnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCkgewordm9pZCBTY2FsZUFSR0JSb3dEb3duRXZl
bl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0ZXB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7
CisgICh2b2lkKXNyY19zdHJpZGU7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICIxOiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgIE1FTUFDQ0VTUygwKQpAQCAt
ODcxLDkgKzkxMSwxMSBAQCB2b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuX05FT04oY29uc3QgdWlu
dDgqIHNyY19hcmdiLCAgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAvLyBBbGlnbm1lbnQgcmVxdWly
ZW1lbnQ6IHNyY19hcmdiIDQgYnl0ZSBhbGlnbmVkLgogLy8gVE9ETyhZYW5nIFpoYW5nKTogTWln
aHQgYmUgd29ydGggYW5vdGhlciBvcHRpbWl6YXRpb24gcGFzcyBpbiBmdXR1cmUuCiAvLyBJdCBj
b3VsZCBiZSB1cGdyYWRlZCB0byA4IHBpeGVscyBhdCBhIHRpbWUgdG8gc3RhcnQgd2l0aC4KLXZv
aWQgU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAordm9pZCBTY2FsZUFSR0JSb3dEb3duRXZlbkJveF9ORU9OKGNv
bnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dHJkaWZmX3Qgc3JjX3N0cmlkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgc3JjX3N0ZXB4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwgaW50IGRzdF93aWR0aCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZHN0X3dpZHRoKSB7CiAgIGFzbSB2b2xhdGlsZSAoCiAgICAgImFkZCAgICAgICAgJTEsICUx
LCAlMCAgICAgICAgICAgICAgICAgICAgIFxuIgogICAiMTogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTkyMCwyMSArOTYyLDI2IEBAIHZvaWQgU2NhbGVB
UkdCUm93RG93bkV2ZW5Cb3hfTkVPTihjb25zdCB1aW50OCogc3JjX2FyZ2IsIHB0cmRpZmZfdCBz
cmNfc3RyaWRlLAogICApOwogfQogCisvLyBjbGFuZy1mb3JtYXQgb2ZmCiAvLyBUT0RPKFlhbmcg
WmhhbmcpOiBJbnZlc3RpZ2F0ZSBsZXNzIGxvYWQgaW5zdHJ1Y3Rpb25zIGZvcgogLy8gdGhlIHgv
ZHggc3RlcHBpbmcKLSNkZWZpbmUgTE9BRDFfREFUQTMyX0xBTkUodm4sIG4pICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAibHNyICAgICAgICAlNSwgJTMsICMxNiAgICAgICAg
ICAgICAgICAgICAgXG4iICAgICAgICAgICAgIFwKLSAgICAiYWRkICAgICAgICAlNiwgJTEsICU1
LCBsc2wgIzIgICAgICAgICAgICAgXG4iICAgICAgICAgICAgIFwKLSAgICAiYWRkICAgICAgICAl
MywgJTMsICU0ICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgIFwKLSAgICBNRU1B
Q0NFU1MoNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAibGQxICAgICAgICB7IiN2biIuc31bIiNuIl0sIFslNl0gICAgICAgICAgXG4iCi0KLXZv
aWQgU2NhbGVBUkdCQ29sc19ORU9OKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19h
cmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGludCBk
eCkgeworI2RlZmluZSBMT0FEMV9EQVRBMzJfTEFORSh2biwgbikgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAibHNyICAgICAgICAlNSwgJTMsICMxNiAgICAgICAgICAgICAgICAgICAg
XG4iICAgICAgICAgICAgXAorICAiYWRkICAgICAgICAlNiwgJTEsICU1LCBsc2wgIzIgICAgICAg
ICAgICAgXG4iICAgICAgICAgICAgXAorICAiYWRkICAgICAgICAlMywgJTMsICU0ICAgICAgICAg
ICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAorICBNRU1BQ0NFU1MoNikgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICJsZDEgICAgICAgIHsiICN2biAi
LnN9WyIgI24gIl0sIFslNl0gICAgICAgXG4iCisvLyBjbGFuZy1mb3JtYXQgb24KKwordm9pZCBT
Y2FsZUFSR0JDb2xzX05FT04odWludDgqIGRzdF9hcmdiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGR4KSB7CiAgIGNvbnN0IHVpbnQ4KiBzcmNfdG1wID0gc3JjX2FyZ2I7Ci0g
IGludDY0IGRzdF93aWR0aDY0ID0gKGludDY0KSBkc3Rfd2lkdGg7ICAvLyBXb3JrIGFyb3VuZCBp
b3MgNjQgYml0IHdhcm5pbmcuCi0gIGludDY0IHg2NCA9IChpbnQ2NCkgeDsKLSAgaW50NjQgZHg2
NCA9IChpbnQ2NCkgZHg7CisgIGludDY0IGRzdF93aWR0aDY0ID0gKGludDY0KWRzdF93aWR0aDsg
IC8vIFdvcmsgYXJvdW5kIGlvcyA2NCBiaXQgd2FybmluZy4KKyAgaW50NjQgeDY0ID0gKGludDY0
KXg7CisgIGludDY0IGR4NjQgPSAoaW50NjQpZHg7CiAgIGludDY0IHRtcDY0OwogICBhc20gdm9s
YXRpbGUgKAogICAiMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
biIKQEAgLTk2NSwyMyArMTAxMiwyOCBAQCB2b2lkIFNjYWxlQVJHQkNvbHNfTkVPTih1aW50OCog
ZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKIAogI3VuZGVmIExPQUQxX0RBVEEzMl9M
QU5FCiAKKy8vIGNsYW5nLWZvcm1hdCBvZmYKIC8vIFRPRE8oWWFuZyBaaGFuZyk6IEludmVzdGln
YXRlIGxlc3MgbG9hZCBpbnN0cnVjdGlvbnMgZm9yCiAvLyB0aGUgeC9keCBzdGVwcGluZwotI2Rl
ZmluZSBMT0FEMl9EQVRBMzJfTEFORSh2bjEsIHZuMiwgbikgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICJsc3IgICAgICAgICU1LCAlMywgIzE2ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iICAgICAgXAotICAgICJhZGQgICAgICAgICU2LCAlMSwgJTUsIGxzbCAjMiAgICAgICAg
ICAgICAgICAgICAgXG4iICAgICAgXAotICAgICJhZGQgICAgICAgICUzLCAlMywgJTQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgXAotICAgIE1FTUFDQ0VTUyg2KSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJsZDIgICAgICAg
IHsiI3ZuMSIucywgIiN2bjIiLnN9WyIjbiJdLCBbJTZdICAgICAgXG4iCi0KLXZvaWQgU2NhbGVB
UkdCRmlsdGVyQ29sc19ORU9OKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IHgsIGlu
dCBkeCkgeworI2RlZmluZSBMT0FEMl9EQVRBMzJfTEFORSh2bjEsIHZuMiwgbikgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgImxzciAgICAgICAgJTUsICUzLCAjMTYgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIgICAgICAgICAgICBcCisgICJhZGQgICAgICAgICU2LCAlMSwg
JTUsIGxzbCAjMiAgICAgICAgICAgICAgICAgICAgXG4iICAgICAgICAgICAgXAorICAiYWRkICAg
ICAgICAlMywgJTMsICU0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIiAgICAgICAgICAg
IFwKKyAgTUVNQUNDRVNTKDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICJsZDIgICAgICAgIHsiICN2bjEgIi5zLCAiICN2bjIgIi5zfVsi
ICNuICJdLCBbJTZdICBcbiIKKy8vIGNsYW5nLWZvcm1hdCBvbgorCit2b2lkIFNjYWxlQVJHQkZp
bHRlckNvbHNfTkVPTih1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgpIHsKICAgaW50IGR4X29mZnNldFs0
XSA9IHswLCAxLCAyLCAzfTsKICAgaW50KiB0bXAgPSBkeF9vZmZzZXQ7CiAgIGNvbnN0IHVpbnQ4
KiBzcmNfdG1wID0gc3JjX2FyZ2I7Ci0gIGludDY0IGRzdF93aWR0aDY0ID0gKGludDY0KSBkc3Rf
d2lkdGg7ICAvLyBXb3JrIGFyb3VuZCBpb3MgNjQgYml0IHdhcm5pbmcuCi0gIGludDY0IHg2NCA9
IChpbnQ2NCkgeDsKLSAgaW50NjQgZHg2NCA9IChpbnQ2NCkgZHg7CisgIGludDY0IGRzdF93aWR0
aDY0ID0gKGludDY0KWRzdF93aWR0aDsgIC8vIFdvcmsgYXJvdW5kIGlvcyA2NCBiaXQgd2Fybmlu
Zy4KKyAgaW50NjQgeDY0ID0gKGludDY0KXg7CisgIGludDY0IGR4NjQgPSAoaW50NjQpZHg7CiAg
IGFzbSB2b2xhdGlsZSAoCiAgICAgImR1cCAgICAgICAgdjAuNHMsICV3MyAgICAgICAgICAgICAg
ICAgICAgIFxuIiAgLy8geAogICAgICJkdXAgICAgICAgIHYxLjRzLCAldzQgICAgICAgICAgICAg
ICAgICAgICBcbiIgIC8vIGR4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uvc2NhbGVfd2luLmNjIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3Nj
YWxlX3dpbi5jYwppbmRleCBmMTcwOTczNjVjYzA3YzA2NDAyMzg1OTIyMDhkNjc3MDA3NTIyYmY1
Li4wYzViM2ExZTExNjc1YzA5ZDM5NTZhNmNjYmRjZjI5MTEwZmY5MWZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3Vy
Y2Uvc2NhbGVfd2luLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L3NvdXJjZS9zY2FsZV93aW4uY2MKQEAgLTIwLDk0ICsyMCw4OSBA
QCBleHRlcm4gIkMiIHsKICNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJMRV9YODYpICYmIGRlZmlu
ZWQoX01fSVg4NikKIAogLy8gT2Zmc2V0cyBmb3Igc291cmNlIGJ5dGVzIDAgdG8gOQotc3RhdGlj
IHV2ZWM4IGtTaHVmMCA9Ci0gIHsgMCwgMSwgMywgNCwgNSwgNywgOCwgOSwgMTI4LCAxMjgsIDEy
OCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjggfTsKK3N0YXRpYyB1dmVjOCBrU2h1ZjAgPSB7MCwg
ICAxLCAgIDMsICAgNCwgICA1LCAgIDcsICAgOCwgICA5LAorICAgICAgICAgICAgICAgICAgICAg
ICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOH07CiAKIC8vIE9mZnNldHMg
Zm9yIHNvdXJjZSBieXRlcyAxMSB0byAyMCB3aXRoIDggc3VidHJhY3RlZCA9IDMgdG8gMTIuCi1z
dGF0aWMgdXZlYzgga1NodWYxID0KLSAgeyAzLCA0LCA1LCA3LCA4LCA5LCAxMSwgMTIsIDEyOCwg
MTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4IH07CitzdGF0aWMgdXZlYzgga1NodWYx
ID0gezMsICAgNCwgICA1LCAgIDcsICAgOCwgICA5LCAgIDExLCAgMTIsCisgICAgICAgICAgICAg
ICAgICAgICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4fTsKIAogLy8g
T2Zmc2V0cyBmb3Igc291cmNlIGJ5dGVzIDIxIHRvIDMxIHdpdGggMTYgc3VidHJhY3RlZCA9IDUg
dG8gMzEuCi1zdGF0aWMgdXZlYzgga1NodWYyID0KLSAgeyA1LCA3LCA4LCA5LCAxMSwgMTIsIDEz
LCAxNSwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjggfTsKK3N0YXRpYyB1
dmVjOCBrU2h1ZjIgPSB7NSwgICA3LCAgIDgsICAgOSwgICAxMSwgIDEyLCAgMTMsICAxNSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAx
Mjh9OwogCiAvLyBPZmZzZXRzIGZvciBzb3VyY2UgYnl0ZXMgMCB0byAxMAotc3RhdGljIHV2ZWM4
IGtTaHVmMDEgPQotICB7IDAsIDEsIDEsIDIsIDIsIDMsIDQsIDUsIDUsIDYsIDYsIDcsIDgsIDks
IDksIDEwIH07CitzdGF0aWMgdXZlYzgga1NodWYwMSA9IHswLCAxLCAxLCAyLCAyLCAzLCA0LCA1
LCA1LCA2LCA2LCA3LCA4LCA5LCA5LCAxMH07CiAKIC8vIE9mZnNldHMgZm9yIHNvdXJjZSBieXRl
cyAxMCB0byAyMSB3aXRoIDggc3VidHJhY3RlZCA9IDMgdG8gMTMuCi1zdGF0aWMgdXZlYzgga1No
dWYxMSA9Ci0gIHsgMiwgMywgNCwgNSwgNSwgNiwgNiwgNywgOCwgOSwgOSwgMTAsIDEwLCAxMSwg
MTIsIDEzIH07CitzdGF0aWMgdXZlYzgga1NodWYxMSA9IHsyLCAzLCA0LCA1LCA1LCA2LCA2LCA3
LCA4LCA5LCA5LCAxMCwgMTAsIDExLCAxMiwgMTN9OwogCiAvLyBPZmZzZXRzIGZvciBzb3VyY2Ug
Ynl0ZXMgMjEgdG8gMzEgd2l0aCAxNiBzdWJ0cmFjdGVkID0gNSB0byAzMS4KLXN0YXRpYyB1dmVj
OCBrU2h1ZjIxID0KLSAgeyA1LCA2LCA2LCA3LCA4LCA5LCA5LCAxMCwgMTAsIDExLCAxMiwgMTMs
IDEzLCAxNCwgMTQsIDE1IH07CitzdGF0aWMgdXZlYzgga1NodWYyMSA9IHs1LCAgNiwgIDYsICA3
LCAgOCwgIDksICA5LCAgMTAsCisgICAgICAgICAgICAgICAgICAgICAgICAxMCwgMTEsIDEyLCAx
MywgMTMsIDE0LCAxNCwgMTV9OwogCiAvLyBDb2VmZmljaWVudHMgZm9yIHNvdXJjZSBieXRlcyAw
IHRvIDEwCi1zdGF0aWMgdXZlYzgga01hZGQwMSA9Ci0gIHsgMywgMSwgMiwgMiwgMSwgMywgMywg
MSwgMiwgMiwgMSwgMywgMywgMSwgMiwgMiB9Oworc3RhdGljIHV2ZWM4IGtNYWRkMDEgPSB7Mywg
MSwgMiwgMiwgMSwgMywgMywgMSwgMiwgMiwgMSwgMywgMywgMSwgMiwgMn07CiAKIC8vIENvZWZm
aWNpZW50cyBmb3Igc291cmNlIGJ5dGVzIDEwIHRvIDIxCi1zdGF0aWMgdXZlYzgga01hZGQxMSA9
Ci0gIHsgMSwgMywgMywgMSwgMiwgMiwgMSwgMywgMywgMSwgMiwgMiwgMSwgMywgMywgMSB9Owor
c3RhdGljIHV2ZWM4IGtNYWRkMTEgPSB7MSwgMywgMywgMSwgMiwgMiwgMSwgMywgMywgMSwgMiwg
MiwgMSwgMywgMywgMX07CiAKIC8vIENvZWZmaWNpZW50cyBmb3Igc291cmNlIGJ5dGVzIDIxIHRv
IDMxCi1zdGF0aWMgdXZlYzgga01hZGQyMSA9Ci0gIHsgMiwgMiwgMSwgMywgMywgMSwgMiwgMiwg
MSwgMywgMywgMSwgMiwgMiwgMSwgMyB9Oworc3RhdGljIHV2ZWM4IGtNYWRkMjEgPSB7MiwgMiwg
MSwgMywgMywgMSwgMiwgMiwgMSwgMywgMywgMSwgMiwgMiwgMSwgM307CiAKIC8vIENvZWZmaWNp
ZW50cyBmb3Igc291cmNlIGJ5dGVzIDIxIHRvIDMxCi1zdGF0aWMgdmVjMTYga1JvdW5kMzQgPQot
ICB7IDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIgfTsKK3N0YXRpYyB2ZWMxNiBrUm91bmQzNCA9IHsy
LCAyLCAyLCAyLCAyLCAyLCAyLCAyfTsKIAotc3RhdGljIHV2ZWM4IGtTaHVmMzhhID0KLSAgeyAw
LCAzLCA2LCA4LCAxMSwgMTQsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4
LCAxMjgsIDEyOCB9Oworc3RhdGljIHV2ZWM4IGtTaHVmMzhhID0gezAsICAgMywgICA2LCAgIDgs
ICAgMTEsICAxNCwgIDEyOCwgMTI4LAorICAgICAgICAgICAgICAgICAgICAgICAgIDEyOCwgMTI4
LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4fTsKIAotc3RhdGljIHV2ZWM4IGtTaHVmMzhi
ID0KLSAgeyAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAwLCAzLCA2LCA4LCAxMSwgMTQs
IDEyOCwgMTI4LCAxMjgsIDEyOCB9Oworc3RhdGljIHV2ZWM4IGtTaHVmMzhiID0gezEyOCwgMTI4
LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDAsICAgMywKKyAgICAgICAgICAgICAgICAgICAgICAgICA2
LCAgIDgsICAgMTEsICAxNCwgIDEyOCwgMTI4LCAxMjgsIDEyOH07CiAKIC8vIEFycmFuZ2Ugd29y
ZHMgMCwzLDYgaW50byAwLDEsMgotc3RhdGljIHV2ZWM4IGtTaHVmQWMgPQotICB7IDAsIDEsIDYs
IDcsIDEyLCAxMywgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwg
MTI4IH07CitzdGF0aWMgdXZlYzgga1NodWZBYyA9IHswLCAgIDEsICAgNiwgICA3LCAgIDEyLCAg
MTMsICAxMjgsIDEyOCwKKyAgICAgICAgICAgICAgICAgICAgICAgIDEyOCwgMTI4LCAxMjgsIDEy
OCwgMTI4LCAxMjgsIDEyOCwgMTI4fTsKIAogLy8gQXJyYW5nZSB3b3JkcyAwLDMsNiBpbnRvIDMs
NCw1Ci1zdGF0aWMgdXZlYzgga1NodWZBYzMgPQotICB7IDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4
LCAxMjgsIDAsIDEsIDYsIDcsIDEyLCAxMywgMTI4LCAxMjgsIDEyOCwgMTI4IH07CitzdGF0aWMg
dXZlYzgga1NodWZBYzMgPSB7MTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMCwgICAxLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIDYsICAgNywgICAxMiwgIDEzLCAgMTI4LCAxMjgsIDEy
OCwgMTI4fTsKIAogLy8gU2NhbGluZyB2YWx1ZXMgZm9yIGJveGVzIG9mIDN4MyBhbmQgMngzCi1z
dGF0aWMgdXZlYzE2IGtTY2FsZUFjMzMgPQotICB7IDY1NTM2IC8gOSwgNjU1MzYgLyA5LCA2NTUz
NiAvIDYsIDY1NTM2IC8gOSwgNjU1MzYgLyA5LCA2NTUzNiAvIDYsIDAsIDAgfTsKK3N0YXRpYyB1
dmVjMTYga1NjYWxlQWMzMyA9IHs2NTUzNiAvIDksIDY1NTM2IC8gOSwgNjU1MzYgLyA2LCA2NTUz
NiAvIDksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjU1MzYgLyA5LCA2NTUzNiAvIDYs
IDAsICAgICAgICAgMH07CiAKIC8vIEFycmFuZ2UgZmlyc3QgdmFsdWUgZm9yIHBpeGVscyAwLDEs
MiwzLDQsNQotc3RhdGljIHV2ZWM4IGtTaHVmQWIwID0KLSAgeyAwLCAxMjgsIDMsIDEyOCwgNiwg
MTI4LCA4LCAxMjgsIDExLCAxMjgsIDE0LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCB9Oworc3Rh
dGljIHV2ZWM4IGtTaHVmQWIwID0gezAsICAxMjgsIDMsICAxMjgsIDYsICAgMTI4LCA4LCAgIDEy
OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAxMSwgMTI4LCAxNCwgMTI4LCAxMjgsIDEyOCwg
MTI4LCAxMjh9OwogCiAvLyBBcnJhbmdlIHNlY29uZCB2YWx1ZSBmb3IgcGl4ZWxzIDAsMSwyLDMs
NCw1Ci1zdGF0aWMgdXZlYzgga1NodWZBYjEgPQotICB7IDEsIDEyOCwgNCwgMTI4LCA3LCAxMjgs
IDksIDEyOCwgMTIsIDEyOCwgMTUsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4IH07CitzdGF0aWMg
dXZlYzgga1NodWZBYjEgPSB7MSwgIDEyOCwgNCwgIDEyOCwgNywgICAxMjgsIDksICAgMTI4LAor
ICAgICAgICAgICAgICAgICAgICAgICAgIDEyLCAxMjgsIDE1LCAxMjgsIDEyOCwgMTI4LCAxMjgs
IDEyOH07CiAKIC8vIEFycmFuZ2UgdGhpcmQgdmFsdWUgZm9yIHBpeGVscyAwLDEsMiwzLDQsNQot
c3RhdGljIHV2ZWM4IGtTaHVmQWIyID0KLSAgeyAyLCAxMjgsIDUsIDEyOCwgMTI4LCAxMjgsIDEw
LCAxMjgsIDEzLCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjggfTsKK3N0YXRpYyB1
dmVjOCBrU2h1ZkFiMiA9IHsyLCAgMTI4LCA1LCAgIDEyOCwgMTI4LCAxMjgsIDEwLCAgMTI4LAor
ICAgICAgICAgICAgICAgICAgICAgICAgIDEzLCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4
LCAxMjh9OwogCiAvLyBTY2FsaW5nIHZhbHVlcyBmb3IgYm94ZXMgb2YgM3gyIGFuZCAyeDIKLXN0
YXRpYyB1dmVjMTYga1NjYWxlQWIyID0KLSAgeyA2NTUzNiAvIDMsIDY1NTM2IC8gMywgNjU1MzYg
LyAyLCA2NTUzNiAvIDMsIDY1NTM2IC8gMywgNjU1MzYgLyAyLCAwLCAwIH07CitzdGF0aWMgdXZl
YzE2IGtTY2FsZUFiMiA9IHs2NTUzNiAvIDMsIDY1NTM2IC8gMywgNjU1MzYgLyAyLCA2NTUzNiAv
IDMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICA2NTUzNiAvIDMsIDY1NTM2IC8gMiwgMCwg
ICAgICAgICAwfTsKIAogLy8gUmVhZHMgMzIgcGl4ZWxzLCB0aHJvd3MgaGFsZiBhd2F5IGFuZCB3
cml0ZXMgMTYgcGl4ZWxzLgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgU2NhbGVSb3dEb3duMl9T
U1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKK19fZGVj
bHNwZWMobmFrZWQpIHZvaWQgU2NhbGVSb3dEb3duMl9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3dpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCAr
IDRdICAgICAgICAvLyBzcmNfcHRyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gc3JjX3N0cmlkZSBpZ25vcmVkCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0g
ICAgICAgLy8gZHN0X3B0cgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAgICAgIC8v
IGRzdF93aWR0aAorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIHNyY19wdHIKKyAg
ICAvLyBzcmNfc3RyaWRlIGlnbm9yZWQKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDEyXSAg
Ly8gZHN0X3B0cgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAvLyBkc3Rfd2lkdGgK
IAogICB3bG9vcDoKICAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdCiAgICAgbW92ZHF1ICAgICB4
bW0xLCBbZWF4ICsgMTZdCiAgICAgbGVhICAgICAgICBlYXgsICBbZWF4ICsgMzJdCi0gICAgcHNy
bHcgICAgICB4bW0wLCA4ICAgICAgICAgICAgICAgLy8gaXNvbGF0ZSBvZGQgcGl4ZWxzLgorICAg
IHBzcmx3ICAgICAgeG1tMCwgOCAgICAgICAgICAvLyBpc29sYXRlIG9kZCBwaXhlbHMuCiAgICAg
cHNybHcgICAgICB4bW0xLCA4CiAgICAgcGFja3Vzd2IgICB4bW0wLCB4bW0xCiAgICAgbW92ZHF1
ICAgICBbZWR4XSwgeG1tMApAQCAtMTIwLDI3ICsxMTUsMjggQEAgdm9pZCBTY2FsZVJvd0Rvd24y
X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIH0KIAog
Ly8gQmxlbmRzIDMyeDEgcmVjdGFuZ2xlIHRvIDE2eDEuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9p
ZCBTY2FsZVJvd0Rvd24yTGluZWFyX1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZm
X3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3B0ciwgaW50IGRzdF93aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBTY2FsZVJvd0Rv
d24yTGluZWFyX1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3Rf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0g
ICAgICAgIC8vIHNyY19wdHIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyBzcmNfc3RyaWRlCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0gICAgICAgLy8gZHN0
X3B0cgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAgICAgIC8vIGRzdF93aWR0aAor
ICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIHNyY19wdHIKKyAgICAvLyBzcmNfc3Ry
aWRlCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0gIC8vIGRzdF9wdHIKKyAgICBtb3Yg
ICAgICAgIGVjeCwgW2VzcCArIDE2XSAgLy8gZHN0X3dpZHRoCiAKLSAgICBwY21wZXFiICAgIHht
bTQsIHhtbTQgICAgICAgICAgICAvLyBjb25zdGFudCAweDAxMDEKKyAgICBwY21wZXFiICAgIHht
bTQsIHhtbTQgIC8vIGNvbnN0YW50IDB4MDEwMQogICAgIHBzcmx3ICAgICAgeG1tNCwgMTUKICAg
ICBwYWNrdXN3YiAgIHhtbTQsIHhtbTQKLSAgICBweG9yICAgICAgIHhtbTUsIHhtbTUgICAgICAg
ICAgICAvLyBjb25zdGFudCAwCisgICAgcHhvciAgICAgICB4bW01LCB4bW01ICAvLyBjb25zdGFu
dCAwCiAKICAgd2xvb3A6CiAgICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XQogICAgIG1vdmRxdSAg
ICAgeG1tMSwgW2VheCArIDE2XQogICAgIGxlYSAgICAgICAgZWF4LCAgW2VheCArIDMyXQotICAg
IHBtYWRkdWJzdyAgeG1tMCwgeG1tNCAgICAgIC8vIGhvcml6b250YWwgYWRkCisgICAgcG1hZGR1
YnN3ICB4bW0wLCB4bW00ICAvLyBob3Jpem9udGFsIGFkZAogICAgIHBtYWRkdWJzdyAgeG1tMSwg
eG1tNAotICAgIHBhdmd3ICAgICAgeG1tMCwgeG1tNSAgICAgIC8vICh4ICsgMSkgLyAyCisgICAg
cGF2Z3cgICAgICB4bW0wLCB4bW01ICAgICAgIC8vICh4ICsgMSkgLyAyCiAgICAgcGF2Z3cgICAg
ICB4bW0xLCB4bW01CiAgICAgcGFja3Vzd2IgICB4bW0wLCB4bW0xCiAgICAgbW92ZHF1ICAgICBb
ZWR4XSwgeG1tMApAQCAtMTUzLDIwICsxNDksMjEgQEAgdm9pZCBTY2FsZVJvd0Rvd24yTGluZWFy
X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIH0KIAog
Ly8gQmxlbmRzIDMyeDIgcmVjdGFuZ2xlIHRvIDE2eDEuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9p
ZCBTY2FsZVJvd0Rvd24yQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwg
aW50IGRzdF93aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBTY2FsZVJvd0Rvd24yQm94
X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAg
X19hc20gewogICAgIHB1c2ggICAgICAgZXNpCi0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0
ICsgNF0gICAgLy8gc3JjX3B0cgotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAg
IC8vIHNyY19zdHJpZGUKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyAxMl0gICAvLyBk
c3RfcHRyCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA0ICsgMTZdICAgLy8gZHN0X3dpZHRo
CisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gIC8vIHNyY19wdHIKKyAgICBtb3Yg
ICAgICAgIGVzaSwgW2VzcCArIDQgKyA4XSAgLy8gc3JjX3N0cmlkZQorICAgIG1vdiAgICAgICAg
ZWR4LCBbZXNwICsgNCArIDEyXSAgLy8gZHN0X3B0cgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNw
ICsgNCArIDE2XSAgLy8gZHN0X3dpZHRoCiAKLSAgICBwY21wZXFiICAgIHhtbTQsIHhtbTQgICAg
ICAgICAgICAvLyBjb25zdGFudCAweDAxMDEKKyAgICBwY21wZXFiICAgIHhtbTQsIHhtbTQgIC8v
IGNvbnN0YW50IDB4MDEwMQogICAgIHBzcmx3ICAgICAgeG1tNCwgMTUKICAgICBwYWNrdXN3YiAg
IHhtbTQsIHhtbTQKLSAgICBweG9yICAgICAgIHhtbTUsIHhtbTUgICAgICAgICAgICAvLyBjb25z
dGFudCAwCisgICAgcHhvciAgICAgICB4bW01LCB4bW01ICAvLyBjb25zdGFudCAwCiAKICAgd2xv
b3A6CiAgICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XQpAQCAtMTc0LDE1ICsxNzEsMTUgQEAgdm9p
ZCBTY2FsZVJvd0Rvd24yQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qg
c3JjX3N0cmlkZSwKICAgICBtb3ZkcXUgICAgIHhtbTIsIFtlYXggKyBlc2ldCiAgICAgbW92ZHF1
ICAgICB4bW0zLCBbZWF4ICsgZXNpICsgMTZdCiAgICAgbGVhICAgICAgICBlYXgsICBbZWF4ICsg
MzJdCi0gICAgcG1hZGR1YnN3ICB4bW0wLCB4bW00ICAgICAgLy8gaG9yaXpvbnRhbCBhZGQKKyAg
ICBwbWFkZHVic3cgIHhtbTAsIHhtbTQgIC8vIGhvcml6b250YWwgYWRkCiAgICAgcG1hZGR1YnN3
ICB4bW0xLCB4bW00CiAgICAgcG1hZGR1YnN3ICB4bW0yLCB4bW00CiAgICAgcG1hZGR1YnN3ICB4
bW0zLCB4bW00Ci0gICAgcGFkZHcgICAgICB4bW0wLCB4bW0yICAgICAgLy8gdmVydGljYWwgYWRk
CisgICAgcGFkZHcgICAgICB4bW0wLCB4bW0yICAvLyB2ZXJ0aWNhbCBhZGQKICAgICBwYWRkdyAg
ICAgIHhtbTEsIHhtbTMKICAgICBwc3JsdyAgICAgIHhtbTAsIDEKICAgICBwc3JsdyAgICAgIHht
bTEsIDEKLSAgICBwYXZndyAgICAgIHhtbTAsIHhtbTUgICAgICAvLyAoeCArIDEpIC8gMgorICAg
IHBhdmd3ICAgICAgeG1tMCwgeG1tNSAgLy8gKHggKyAxKSAvIDIKICAgICBwYXZndyAgICAgIHht
bTEsIHhtbTUKICAgICBwYWNrdXN3YiAgIHhtbTAsIHhtbTEKICAgICBtb3ZkcXUgICAgIFtlZHhd
LCB4bW0wCkBAIC0xOTcsMjMgKzE5NCwyNCBAQCB2b2lkIFNjYWxlUm93RG93bjJCb3hfU1NTRTMo
Y29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAogCiAjaWZkZWYgSEFT
X1NDQUxFUk9XRE9XTjJfQVZYMgogLy8gUmVhZHMgNjQgcGl4ZWxzLCB0aHJvd3MgaGFsZiBhd2F5
IGFuZCB3cml0ZXMgMzIgcGl4ZWxzLgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgU2NhbGVSb3dE
b3duMl9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7Citf
X2RlY2xzcGVjKG5ha2VkKSB2b2lkIFNjYWxlUm93RG93bjJfQVZYMihjb25zdCB1aW50OCogc3Jj
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZf
dCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X3dpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCAr
IDRdICAgICAgICAvLyBzcmNfcHRyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gc3JjX3N0cmlkZSBpZ25vcmVkCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0g
ICAgICAgLy8gZHN0X3B0cgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAgICAgIC8v
IGRzdF93aWR0aAorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIHNyY19wdHIKKyAg
ICAvLyBzcmNfc3RyaWRlIGlnbm9yZWQKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDEyXSAg
Ly8gZHN0X3B0cgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAvLyBkc3Rfd2lkdGgK
IAogICB3bG9vcDoKICAgICB2bW92ZHF1ICAgICB5bW0wLCBbZWF4XQogICAgIHZtb3ZkcXUgICAg
IHltbTEsIFtlYXggKyAzMl0KICAgICBsZWEgICAgICAgICBlYXgsICBbZWF4ICsgNjRdCi0gICAg
dnBzcmx3ICAgICAgeW1tMCwgeW1tMCwgOCAgICAgICAgLy8gaXNvbGF0ZSBvZGQgcGl4ZWxzLgor
ICAgIHZwc3JsdyAgICAgIHltbTAsIHltbTAsIDggIC8vIGlzb2xhdGUgb2RkIHBpeGVscy4KICAg
ICB2cHNybHcgICAgICB5bW0xLCB5bW0xLCA4CiAgICAgdnBhY2t1c3diICAgeW1tMCwgeW1tMCwg
eW1tMQotICAgIHZwZXJtcSAgICAgIHltbTAsIHltbTAsIDB4ZDggICAgIC8vIHVubXV0YXRlIHZw
YWNrdXN3YgorICAgIHZwZXJtcSAgICAgIHltbTAsIHltbTAsIDB4ZDggICAgICAgLy8gdW5tdXRh
dGUgdnBhY2t1c3diCiAgICAgdm1vdmRxdSAgICAgW2VkeF0sIHltbTAKICAgICBsZWEgICAgICAg
ICBlZHgsIFtlZHggKyAzMl0KICAgICBzdWIgICAgICAgICBlY3gsIDMyCkBAIC0yMjUsMzAgKzIy
MywzMSBAQCB2b2lkIFNjYWxlUm93RG93bjJfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRy
ZGlmZl90IHNyY19zdHJpZGUsCiB9CiAKIC8vIEJsZW5kcyA2NHgxIHJlY3RhbmdsZSB0byAzMngx
LgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgU2NhbGVSb3dEb3duMkxpbmVhcl9BVlgyKGNvbnN0
IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7CitfX2RlY2xzcGVj
KG5ha2VkKSB2b2lkIFNjYWxlUm93RG93bjJMaW5lYXJfQVZYMihjb25zdCB1aW50OCogc3JjX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRp
ZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAg
ICAgICBlYXgsIFtlc3AgKyA0XSAgICAgICAgLy8gc3JjX3B0cgotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBzcmNfc3RyaWRlCi0gICAgbW92ICAgICAgICAgZWR4LCBb
ZXNwICsgMTJdICAgICAgIC8vIGRzdF9wdHIKLSAgICBtb3YgICAgICAgICBlY3gsIFtlc3AgKyAx
Nl0gICAgICAgLy8gZHN0X3dpZHRoCisgICAgbW92ICAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8v
IHNyY19wdHIKKyAgICAvLyBzcmNfc3RyaWRlCisgICAgbW92ICAgICAgICAgZWR4LCBbZXNwICsg
MTJdICAvLyBkc3RfcHRyCisgICAgbW92ICAgICAgICAgZWN4LCBbZXNwICsgMTZdICAvLyBkc3Rf
d2lkdGgKIAotICAgIHZwY21wZXFiICAgIHltbTQsIHltbTQsIHltbTQgICAgICAvLyAnMScgY29u
c3RhbnQsIDhiCisgICAgdnBjbXBlcWIgICAgeW1tNCwgeW1tNCwgeW1tNCAgLy8gJzEnIGNvbnN0
YW50LCA4YgogICAgIHZwc3JsdyAgICAgIHltbTQsIHltbTQsIDE1CiAgICAgdnBhY2t1c3diICAg
eW1tNCwgeW1tNCwgeW1tNAotICAgIHZweG9yICAgICAgIHltbTUsIHltbTUsIHltbTUgICAgICAv
LyBjb25zdGFudCAwCisgICAgdnB4b3IgICAgICAgeW1tNSwgeW1tNSwgeW1tNSAgLy8gY29uc3Rh
bnQgMAogCiAgIHdsb29wOgogICAgIHZtb3ZkcXUgICAgIHltbTAsIFtlYXhdCiAgICAgdm1vdmRx
dSAgICAgeW1tMSwgW2VheCArIDMyXQogICAgIGxlYSAgICAgICAgIGVheCwgIFtlYXggKyA2NF0K
LSAgICB2cG1hZGR1YnN3ICB5bW0wLCB5bW0wLCB5bW00ICAgICAgLy8gaG9yaXpvbnRhbCBhZGQK
KyAgICB2cG1hZGR1YnN3ICB5bW0wLCB5bW0wLCB5bW00ICAvLyBob3Jpem9udGFsIGFkZAogICAg
IHZwbWFkZHVic3cgIHltbTEsIHltbTEsIHltbTQKLSAgICB2cGF2Z3cgICAgICB5bW0wLCB5bW0w
LCB5bW01ICAgICAgLy8gKHggKyAxKSAvIDIKKyAgICB2cGF2Z3cgICAgICB5bW0wLCB5bW0wLCB5
bW01ICAvLyAoeCArIDEpIC8gMgogICAgIHZwYXZndyAgICAgIHltbTEsIHltbTEsIHltbTUKICAg
ICB2cGFja3Vzd2IgICB5bW0wLCB5bW0wLCB5bW0xCi0gICAgdnBlcm1xICAgICAgeW1tMCwgeW1t
MCwgMHhkOCAgICAgIC8vIHVubXV0YXRlIHZwYWNrdXN3YgorICAgIHZwZXJtcSAgICAgIHltbTAs
IHltbTAsIDB4ZDggICAgICAgLy8gdW5tdXRhdGUgdnBhY2t1c3diCiAgICAgdm1vdmRxdSAgICAg
W2VkeF0sIHltbTAKICAgICBsZWEgICAgICAgICBlZHgsIFtlZHggKyAzMl0KICAgICBzdWIgICAg
ICAgICBlY3gsIDMyCkBAIC0yNjIsMjAgKzI2MSwyMSBAQCB2b2lkIFNjYWxlUm93RG93bjJMaW5l
YXJfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAvLyBG
b3Igcm91bmRpbmcsIGF2ZXJhZ2UgPSAoc3VtICsgMikgLyA0CiAvLyBiZWNvbWVzIGF2ZXJhZ2Uo
KHN1bSA+PiAxKSwgMCkKIC8vIEJsZW5kcyA2NHgyIHJlY3RhbmdsZSB0byAzMngxLgotX19kZWNs
c3BlYyhuYWtlZCkKLXZvaWQgU2NhbGVSb3dEb3duMkJveF9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFNj
YWxlUm93RG93bjJCb3hfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dp
ZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgICBlc2kKLSAgICBtb3YgICAgICAgICBl
YXgsIFtlc3AgKyA0ICsgNF0gICAgLy8gc3JjX3B0cgotICAgIG1vdiAgICAgICAgIGVzaSwgW2Vz
cCArIDQgKyA4XSAgICAvLyBzcmNfc3RyaWRlCi0gICAgbW92ICAgICAgICAgZWR4LCBbZXNwICsg
NCArIDEyXSAgIC8vIGRzdF9wdHIKLSAgICBtb3YgICAgICAgICBlY3gsIFtlc3AgKyA0ICsgMTZd
ICAgLy8gZHN0X3dpZHRoCisgICAgbW92ICAgICAgICAgZWF4LCBbZXNwICsgNCArIDRdICAvLyBz
cmNfcHRyCisgICAgbW92ICAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAvLyBzcmNfc3RyaWRl
CisgICAgbW92ICAgICAgICAgZWR4LCBbZXNwICsgNCArIDEyXSAgLy8gZHN0X3B0cgorICAgIG1v
diAgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gIC8vIGRzdF93aWR0aAogCi0gICAgdnBjbXBl
cWIgICAgeW1tNCwgeW1tNCwgeW1tNCAgICAgIC8vICcxJyBjb25zdGFudCwgOGIKKyAgICB2cGNt
cGVxYiAgICB5bW00LCB5bW00LCB5bW00ICAvLyAnMScgY29uc3RhbnQsIDhiCiAgICAgdnBzcmx3
ICAgICAgeW1tNCwgeW1tNCwgMTUKICAgICB2cGFja3Vzd2IgICB5bW00LCB5bW00LCB5bW00Ci0g
ICAgdnB4b3IgICAgICAgeW1tNSwgeW1tNSwgeW1tNSAgICAgIC8vIGNvbnN0YW50IDAKKyAgICB2
cHhvciAgICAgICB5bW01LCB5bW01LCB5bW01ICAvLyBjb25zdGFudCAwCiAKICAgd2xvb3A6CiAg
ICAgdm1vdmRxdSAgICAgeW1tMCwgW2VheF0KQEAgLTI4MywxOCArMjgzLDE4IEBAIHZvaWQgU2Nh
bGVSb3dEb3duMkJveF9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0
cmlkZSwKICAgICB2bW92ZHF1ICAgICB5bW0yLCBbZWF4ICsgZXNpXQogICAgIHZtb3ZkcXUgICAg
IHltbTMsIFtlYXggKyBlc2kgKyAzMl0KICAgICBsZWEgICAgICAgICBlYXgsICBbZWF4ICsgNjRd
Ci0gICAgdnBtYWRkdWJzdyAgeW1tMCwgeW1tMCwgeW1tNCAgICAgIC8vIGhvcml6b250YWwgYWRk
CisgICAgdnBtYWRkdWJzdyAgeW1tMCwgeW1tMCwgeW1tNCAgLy8gaG9yaXpvbnRhbCBhZGQKICAg
ICB2cG1hZGR1YnN3ICB5bW0xLCB5bW0xLCB5bW00CiAgICAgdnBtYWRkdWJzdyAgeW1tMiwgeW1t
MiwgeW1tNAogICAgIHZwbWFkZHVic3cgIHltbTMsIHltbTMsIHltbTQKLSAgICB2cGFkZHcgICAg
ICB5bW0wLCB5bW0wLCB5bW0yICAgICAgLy8gdmVydGljYWwgYWRkCisgICAgdnBhZGR3ICAgICAg
eW1tMCwgeW1tMCwgeW1tMiAgLy8gdmVydGljYWwgYWRkCiAgICAgdnBhZGR3ICAgICAgeW1tMSwg
eW1tMSwgeW1tMwotICAgIHZwc3JsdyAgICAgIHltbTAsIHltbTAsIDEgICAgICAgICAvLyAoeCAr
IDIpIC8gNCA9ICh4IC8gMiArIDEpIC8gMgorICAgIHZwc3JsdyAgICAgIHltbTAsIHltbTAsIDEg
IC8vICh4ICsgMikgLyA0ID0gKHggLyAyICsgMSkgLyAyCiAgICAgdnBzcmx3ICAgICAgeW1tMSwg
eW1tMSwgMQotICAgIHZwYXZndyAgICAgIHltbTAsIHltbTAsIHltbTUgICAgICAvLyAoeCArIDEp
IC8gMgorICAgIHZwYXZndyAgICAgIHltbTAsIHltbTAsIHltbTUgIC8vICh4ICsgMSkgLyAyCiAg
ICAgdnBhdmd3ICAgICAgeW1tMSwgeW1tMSwgeW1tNQogICAgIHZwYWNrdXN3YiAgIHltbTAsIHlt
bTAsIHltbTEKLSAgICB2cGVybXEgICAgICB5bW0wLCB5bW0wLCAweGQ4ICAgICAgLy8gdW5tdXRh
dGUgdnBhY2t1c3diCisgICAgdnBlcm1xICAgICAgeW1tMCwgeW1tMCwgMHhkOCAgLy8gdW5tdXRh
dGUgdnBhY2t1c3diCiAgICAgdm1vdmRxdSAgICAgW2VkeF0sIHltbTAKICAgICBsZWEgICAgICAg
ICBlZHgsIFtlZHggKyAzMl0KICAgICBzdWIgICAgICAgICBlY3gsIDMyCkBAIC0zMDgsMTUgKzMw
OCwxNiBAQCB2b2lkIFNjYWxlUm93RG93bjJCb3hfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwg
cHRyZGlmZl90IHNyY19zdHJpZGUsCiAjZW5kaWYgIC8vIEhBU19TQ0FMRVJPV0RPV04yX0FWWDIK
IAogLy8gUG9pbnQgc2FtcGxlcyAzMiBwaXhlbHMgdG8gOCBwaXhlbHMuCi1fX2RlY2xzcGVjKG5h
a2VkKQotdm9pZCBTY2FsZVJvd0Rvd240X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRy
LCBpbnQgZHN0X3dpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFNjYWxlUm93RG93bjRf
U1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBfX2FzbSB7Ci0g
ICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgICAgICAgLy8gc3JjX3B0cgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNyY19zdHJpZGUgaWdub3JlZAotICAgIG1v
diAgICAgICAgZWR4LCBbZXNwICsgMTJdICAgICAgIC8vIGRzdF9wdHIKLSAgICBtb3YgICAgICAg
IGVjeCwgW2VzcCArIDE2XSAgICAgICAvLyBkc3Rfd2lkdGgKLSAgICBwY21wZXFiICAgIHhtbTUs
IHhtbTUgICAgICAgICAgICAvLyBnZW5lcmF0ZSBtYXNrIDB4MDBmZjAwMDAKKyAgICBtb3YgICAg
ICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfcHRyCisgICAgLy8gc3JjX3N0cmlkZSBpZ25vcmVk
CisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0gIC8vIGRzdF9wdHIKKyAgICBtb3YgICAg
ICAgIGVjeCwgW2VzcCArIDE2XSAgLy8gZHN0X3dpZHRoCisgICAgcGNtcGVxYiAgICB4bW01LCB4
bW01ICAgICAgIC8vIGdlbmVyYXRlIG1hc2sgMHgwMGZmMDAwMAogICAgIHBzcmxkICAgICAgeG1t
NSwgMjQKICAgICBwc2xsZCAgICAgIHhtbTUsIDE2CiAKQEAgLTMzOSw1MCArMzQwLDUxIEBAIHZv
aWQgU2NhbGVSb3dEb3duNF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNy
Y19zdHJpZGUsCiB9CiAKIC8vIEJsZW5kcyAzMng0IHJlY3RhbmdsZSB0byA4eDEuCi1fX2RlY2xz
cGVjKG5ha2VkKQotdm9pZCBTY2FsZVJvd0Rvd240Qm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFNj
YWxlUm93RG93bjRCb3hfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlc2kKICAgICBwdXNoICAgICAg
IGVkaQotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgOCArIDRdICAgIC8vIHNyY19wdHIKLSAg
ICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDggKyA4XSAgICAvLyBzcmNfc3RyaWRlCi0gICAgbW92
ICAgICAgICBlZHgsIFtlc3AgKyA4ICsgMTJdICAgLy8gZHN0X3B0cgotICAgIG1vdiAgICAgICAg
ZWN4LCBbZXNwICsgOCArIDE2XSAgIC8vIGRzdF93aWR0aAorICAgIG1vdiAgICAgICAgZWF4LCBb
ZXNwICsgOCArIDRdICAvLyBzcmNfcHRyCisgICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsg
OF0gIC8vIHNyY19zdHJpZGUKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDggKyAxMl0gIC8v
IGRzdF9wdHIKKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDggKyAxNl0gIC8vIGRzdF93aWR0
aAogICAgIGxlYSAgICAgICAgZWRpLCBbZXNpICsgZXNpICogMl0gIC8vIHNyY19zdHJpZGUgKiAz
Ci0gICAgcGNtcGVxYiAgICB4bW00LCB4bW00ICAgICAgICAgICAgLy8gY29uc3RhbnQgMHgwMTAx
CisgICAgcGNtcGVxYiAgICB4bW00LCB4bW00ICAvLyBjb25zdGFudCAweDAxMDEKICAgICBwc3Js
dyAgICAgIHhtbTQsIDE1CiAgICAgbW92ZHFhICAgICB4bW01LCB4bW00CiAgICAgcGFja3Vzd2Ig
ICB4bW00LCB4bW00Ci0gICAgcHNsbHcgICAgICB4bW01LCAzICAgICAgICAgICAgICAgLy8gY29u
c3RhbnQgMHgwMDA4CisgICAgcHNsbHcgICAgICB4bW01LCAzICAvLyBjb25zdGFudCAweDAwMDgK
IAogICB3bG9vcDoKLSAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdICAgICAgICAgICAvLyBhdmVy
YWdlIHJvd3MKKyAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdICAvLyBhdmVyYWdlIHJvd3MKICAg
ICBtb3ZkcXUgICAgIHhtbTEsIFtlYXggKyAxNl0KICAgICBtb3ZkcXUgICAgIHhtbTIsIFtlYXgg
KyBlc2ldCiAgICAgbW92ZHF1ICAgICB4bW0zLCBbZWF4ICsgZXNpICsgMTZdCi0gICAgcG1hZGR1
YnN3ICB4bW0wLCB4bW00ICAgICAgLy8gaG9yaXpvbnRhbCBhZGQKKyAgICBwbWFkZHVic3cgIHht
bTAsIHhtbTQgIC8vIGhvcml6b250YWwgYWRkCiAgICAgcG1hZGR1YnN3ICB4bW0xLCB4bW00CiAg
ICAgcG1hZGR1YnN3ICB4bW0yLCB4bW00CiAgICAgcG1hZGR1YnN3ICB4bW0zLCB4bW00Ci0gICAg
cGFkZHcgICAgICB4bW0wLCB4bW0yICAgICAgLy8gdmVydGljYWwgYWRkIHJvd3MgMCwgMQorICAg
IHBhZGR3ICAgICAgeG1tMCwgeG1tMiAgLy8gdmVydGljYWwgYWRkIHJvd3MgMCwgMQogICAgIHBh
ZGR3ICAgICAgeG1tMSwgeG1tMwogICAgIG1vdmRxdSAgICAgeG1tMiwgW2VheCArIGVzaSAqIDJd
CiAgICAgbW92ZHF1ICAgICB4bW0zLCBbZWF4ICsgZXNpICogMiArIDE2XQogICAgIHBtYWRkdWJz
dyAgeG1tMiwgeG1tNAogICAgIHBtYWRkdWJzdyAgeG1tMywgeG1tNAotICAgIHBhZGR3ICAgICAg
eG1tMCwgeG1tMiAgICAgIC8vIGFkZCByb3cgMgorICAgIHBhZGR3ICAgICAgeG1tMCwgeG1tMiAg
Ly8gYWRkIHJvdyAyCiAgICAgcGFkZHcgICAgICB4bW0xLCB4bW0zCiAgICAgbW92ZHF1ICAgICB4
bW0yLCBbZWF4ICsgZWRpXQogICAgIG1vdmRxdSAgICAgeG1tMywgW2VheCArIGVkaSArIDE2XQog
ICAgIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMzJdCiAgICAgcG1hZGR1YnN3ICB4bW0yLCB4bW00
CiAgICAgcG1hZGR1YnN3ICB4bW0zLCB4bW00Ci0gICAgcGFkZHcgICAgICB4bW0wLCB4bW0yICAg
ICAgLy8gYWRkIHJvdyAzCisgICAgcGFkZHcgICAgICB4bW0wLCB4bW0yICAvLyBhZGQgcm93IDMK
ICAgICBwYWRkdyAgICAgIHhtbTEsIHhtbTMKICAgICBwaGFkZHcgICAgIHhtbTAsIHhtbTEKLSAg
ICBwYWRkdyAgICAgIHhtbTAsIHhtbTUgICAgICAvLyArIDggZm9yIHJvdW5kCi0gICAgcHNybHcg
ICAgICB4bW0wLCA0ICAgICAgICAgLy8gLzE2IGZvciBhdmVyYWdlIG9mIDQgKiA0CisgICAgcGFk
ZHcgICAgICB4bW0wLCB4bW01ICAvLyArIDggZm9yIHJvdW5kCisgICAgcHNybHcgICAgICB4bW0w
LCA0ICAvLyAvMTYgZm9yIGF2ZXJhZ2Ugb2YgNCAqIDQKICAgICBwYWNrdXN3YiAgIHhtbTAsIHht
bTAKICAgICBtb3ZxICAgICAgIHF3b3JkIHB0ciBbZWR4XSwgeG1tMAogICAgIGxlYSAgICAgICAg
ZWR4LCBbZWR4ICsgOF0KQEAgLTM5NywxNSArMzk5LDE2IEBAIHZvaWQgU2NhbGVSb3dEb3duNEJv
eF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAKICNp
ZmRlZiBIQVNfU0NBTEVST1dET1dONF9BVlgyCiAvLyBQb2ludCBzYW1wbGVzIDY0IHBpeGVscyB0
byAxNiBwaXhlbHMuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBTY2FsZVJvd0Rvd240X0FWWDIo
Y29uc3QgdWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKK19fZGVjbHNwZWMo
bmFrZWQpIHZvaWQgU2NhbGVSb3dEb3duNF9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rf
d2lkdGgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAgICAgIGVheCwgW2VzcCArIDRdICAgICAg
ICAvLyBzcmNfcHRyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNy
Y19zdHJpZGUgaWdub3JlZAotICAgIG1vdiAgICAgICAgIGVkeCwgW2VzcCArIDEyXSAgICAgICAv
LyBkc3RfcHRyCi0gICAgbW92ICAgICAgICAgZWN4LCBbZXNwICsgMTZdICAgICAgIC8vIGRzdF93
aWR0aAotICAgIHZwY21wZXFiICAgIHltbTUsIHltbTUsIHltbTUgICAgICAvLyBnZW5lcmF0ZSBt
YXNrIDB4MDBmZjAwMDAKKyAgICBtb3YgICAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX3B0
cgorICAgIC8vIHNyY19zdHJpZGUgaWdub3JlZAorICAgIG1vdiAgICAgICAgIGVkeCwgW2VzcCAr
IDEyXSAgLy8gZHN0X3B0cgorICAgIG1vdiAgICAgICAgIGVjeCwgW2VzcCArIDE2XSAgLy8gZHN0
X3dpZHRoCisgICAgdnBjbXBlcWIgICAgeW1tNSwgeW1tNSwgeW1tNSAgLy8gZ2VuZXJhdGUgbWFz
ayAweDAwZmYwMDAwCiAgICAgdnBzcmxkICAgICAgeW1tNSwgeW1tNSwgMjQKICAgICB2cHNsbGQg
ICAgICB5bW01LCB5bW01LCAxNgogCkBAIC00MTYsMTAgKzQxOSwxMCBAQCB2b2lkIFNjYWxlUm93
RG93bjRfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiAg
ICAgdnBhbmQgICAgICAgeW1tMCwgeW1tMCwgeW1tNQogICAgIHZwYW5kICAgICAgIHltbTEsIHlt
bTEsIHltbTUKICAgICB2cGFja3Vzd2IgICB5bW0wLCB5bW0wLCB5bW0xCi0gICAgdnBlcm1xICAg
ICAgeW1tMCwgeW1tMCwgMHhkOCAgICAgIC8vIHVubXV0YXRlIHZwYWNrdXN3YgorICAgIHZwZXJt
cSAgICAgIHltbTAsIHltbTAsIDB4ZDggIC8vIHVubXV0YXRlIHZwYWNrdXN3YgogICAgIHZwc3Js
dyAgICAgIHltbTAsIHltbTAsIDgKICAgICB2cGFja3Vzd2IgICB5bW0wLCB5bW0wLCB5bW0wCi0g
ICAgdnBlcm1xICAgICAgeW1tMCwgeW1tMCwgMHhkOCAgICAgIC8vIHVubXV0YXRlIHZwYWNrdXN3
YgorICAgIHZwZXJtcSAgICAgIHltbTAsIHltbTAsIDB4ZDggICAgICAgLy8gdW5tdXRhdGUgdnBh
Y2t1c3diCiAgICAgdm1vdmRxdSAgICAgW2VkeF0sIHhtbTAKICAgICBsZWEgICAgICAgICBlZHgs
IFtlZHggKyAxNl0KICAgICBzdWIgICAgICAgICBlY3gsIDE2CkBAIC00MzEsNTIgKzQzNCw1MyBA
QCB2b2lkIFNjYWxlUm93RG93bjRfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwgcHRyZGlmZl90
IHNyY19zdHJpZGUsCiB9CiAKIC8vIEJsZW5kcyA2NHg0IHJlY3RhbmdsZSB0byAxNngxLgotX19k
ZWNsc3BlYyhuYWtlZCkKLXZvaWQgU2NhbGVSb3dEb3duNEJveF9BVlgyKGNvbnN0IHVpbnQ4KiBz
cmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dpZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lk
IFNjYWxlUm93RG93bjRCb3hfQVZYMihjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgICBlc2kKICAgICBwdXNoICAgICAg
ICBlZGkKLSAgICBtb3YgICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0gICAgLy8gc3JjX3B0cgot
ICAgIG1vdiAgICAgICAgIGVzaSwgW2VzcCArIDggKyA4XSAgICAvLyBzcmNfc3RyaWRlCi0gICAg
bW92ICAgICAgICAgZWR4LCBbZXNwICsgOCArIDEyXSAgIC8vIGRzdF9wdHIKLSAgICBtb3YgICAg
ICAgICBlY3gsIFtlc3AgKyA4ICsgMTZdICAgLy8gZHN0X3dpZHRoCisgICAgbW92ICAgICAgICAg
ZWF4LCBbZXNwICsgOCArIDRdICAvLyBzcmNfcHRyCisgICAgbW92ICAgICAgICAgZXNpLCBbZXNw
ICsgOCArIDhdICAvLyBzcmNfc3RyaWRlCisgICAgbW92ICAgICAgICAgZWR4LCBbZXNwICsgOCAr
IDEyXSAgLy8gZHN0X3B0cgorICAgIG1vdiAgICAgICAgIGVjeCwgW2VzcCArIDggKyAxNl0gIC8v
IGRzdF93aWR0aAogICAgIGxlYSAgICAgICAgIGVkaSwgW2VzaSArIGVzaSAqIDJdICAvLyBzcmNf
c3RyaWRlICogMwotICAgIHZwY21wZXFiICAgIHltbTQsIHltbTQsIHltbTQgICAgICAgICAgICAv
LyBjb25zdGFudCAweDAxMDEKKyAgICB2cGNtcGVxYiAgICB5bW00LCB5bW00LCB5bW00ICAvLyBj
b25zdGFudCAweDAxMDEKICAgICB2cHNybHcgICAgICB5bW00LCB5bW00LCAxNQotICAgIHZwc2xs
dyAgICAgIHltbTUsIHltbTQsIDMgICAgICAgICAgICAgICAvLyBjb25zdGFudCAweDAwMDgKKyAg
ICB2cHNsbHcgICAgICB5bW01LCB5bW00LCAzICAvLyBjb25zdGFudCAweDAwMDgKICAgICB2cGFj
a3Vzd2IgICB5bW00LCB5bW00LCB5bW00CiAKICAgd2xvb3A6Ci0gICAgdm1vdmRxdSAgICAgeW1t
MCwgW2VheF0gICAgICAgICAgIC8vIGF2ZXJhZ2Ugcm93cworICAgIHZtb3ZkcXUgICAgIHltbTAs
IFtlYXhdICAvLyBhdmVyYWdlIHJvd3MKICAgICB2bW92ZHF1ICAgICB5bW0xLCBbZWF4ICsgMzJd
CiAgICAgdm1vdmRxdSAgICAgeW1tMiwgW2VheCArIGVzaV0KICAgICB2bW92ZHF1ICAgICB5bW0z
LCBbZWF4ICsgZXNpICsgMzJdCi0gICAgdnBtYWRkdWJzdyAgeW1tMCwgeW1tMCwgeW1tNCAgICAg
IC8vIGhvcml6b250YWwgYWRkCisgICAgdnBtYWRkdWJzdyAgeW1tMCwgeW1tMCwgeW1tNCAgLy8g
aG9yaXpvbnRhbCBhZGQKICAgICB2cG1hZGR1YnN3ICB5bW0xLCB5bW0xLCB5bW00CiAgICAgdnBt
YWRkdWJzdyAgeW1tMiwgeW1tMiwgeW1tNAogICAgIHZwbWFkZHVic3cgIHltbTMsIHltbTMsIHlt
bTQKLSAgICB2cGFkZHcgICAgICB5bW0wLCB5bW0wLCB5bW0yICAgICAgLy8gdmVydGljYWwgYWRk
IHJvd3MgMCwgMQorICAgIHZwYWRkdyAgICAgIHltbTAsIHltbTAsIHltbTIgIC8vIHZlcnRpY2Fs
IGFkZCByb3dzIDAsIDEKICAgICB2cGFkZHcgICAgICB5bW0xLCB5bW0xLCB5bW0zCiAgICAgdm1v
dmRxdSAgICAgeW1tMiwgW2VheCArIGVzaSAqIDJdCiAgICAgdm1vdmRxdSAgICAgeW1tMywgW2Vh
eCArIGVzaSAqIDIgKyAzMl0KICAgICB2cG1hZGR1YnN3ICB5bW0yLCB5bW0yLCB5bW00CiAgICAg
dnBtYWRkdWJzdyAgeW1tMywgeW1tMywgeW1tNAotICAgIHZwYWRkdyAgICAgIHltbTAsIHltbTAs
IHltbTIgICAgICAvLyBhZGQgcm93IDIKKyAgICB2cGFkZHcgICAgICB5bW0wLCB5bW0wLCB5bW0y
ICAvLyBhZGQgcm93IDIKICAgICB2cGFkZHcgICAgICB5bW0xLCB5bW0xLCB5bW0zCiAgICAgdm1v
dmRxdSAgICAgeW1tMiwgW2VheCArIGVkaV0KICAgICB2bW92ZHF1ICAgICB5bW0zLCBbZWF4ICsg
ZWRpICsgMzJdCiAgICAgbGVhICAgICAgICAgZWF4LCAgW2VheCArIDY0XQogICAgIHZwbWFkZHVi
c3cgIHltbTIsIHltbTIsIHltbTQKICAgICB2cG1hZGR1YnN3ICB5bW0zLCB5bW0zLCB5bW00Ci0g
ICAgdnBhZGR3ICAgICAgeW1tMCwgeW1tMCwgeW1tMiAgICAgIC8vIGFkZCByb3cgMworICAgIHZw
YWRkdyAgICAgIHltbTAsIHltbTAsIHltbTIgIC8vIGFkZCByb3cgMwogICAgIHZwYWRkdyAgICAg
IHltbTEsIHltbTEsIHltbTMKLSAgICB2cGhhZGR3ICAgICB5bW0wLCB5bW0wLCB5bW0xICAgICAg
Ly8gbXV0YXRlcwotICAgIHZwZXJtcSAgICAgIHltbTAsIHltbTAsIDB4ZDggICAgICAvLyB1bm11
dGF0ZSB2cGhhZGR3Ci0gICAgdnBhZGR3ICAgICAgeW1tMCwgeW1tMCwgeW1tNSAgICAgIC8vICsg
OCBmb3Igcm91bmQKLSAgICB2cHNybHcgICAgICB5bW0wLCB5bW0wLCA0ICAgICAgICAgLy8gLzMy
IGZvciBhdmVyYWdlIG9mIDQgKiA0CisgICAgdnBoYWRkdyAgICAgeW1tMCwgeW1tMCwgeW1tMSAg
Ly8gbXV0YXRlcworICAgIHZwZXJtcSAgICAgIHltbTAsIHltbTAsIDB4ZDggIC8vIHVubXV0YXRl
IHZwaGFkZHcKKyAgICB2cGFkZHcgICAgICB5bW0wLCB5bW0wLCB5bW01ICAvLyArIDggZm9yIHJv
dW5kCisgICAgdnBzcmx3ICAgICAgeW1tMCwgeW1tMCwgNCAgLy8gLzMyIGZvciBhdmVyYWdlIG9m
IDQgKiA0CiAgICAgdnBhY2t1c3diICAgeW1tMCwgeW1tMCwgeW1tMAotICAgIHZwZXJtcSAgICAg
IHltbTAsIHltbTAsIDB4ZDggICAgICAvLyB1bm11dGF0ZSB2cGFja3Vzd2IKKyAgICB2cGVybXEg
ICAgICB5bW0wLCB5bW0wLCAweGQ4ICAvLyB1bm11dGF0ZSB2cGFja3Vzd2IKICAgICB2bW92ZHF1
ICAgICBbZWR4XSwgeG1tMAogICAgIGxlYSAgICAgICAgIGVkeCwgW2VkeCArIDE2XQogICAgIHN1
YiAgICAgICAgIGVjeCwgMTYKQEAgLTQ5NCwxNCArNDk4LDE1IEBAIHZvaWQgU2NhbGVSb3dEb3du
NEJveF9BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIC8v
IFByb2R1Y2VzIHRocmVlIDggYnl0ZSB2YWx1ZXMuIEZvciBlYWNoIDggYnl0ZXMsIDE2IGJ5dGVz
IGFyZSByZWFkLgogLy8gVGhlbiBzaHVmZmxlZCB0byBkbyB0aGUgc2NhbGluZy4KIAotX19kZWNs
c3BlYyhuYWtlZCkKLXZvaWQgU2NhbGVSb3dEb3duMzRfU1NTRTMoY29uc3QgdWludDgqIHNyY19w
dHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBTY2Fs
ZVJvd0Rvd24zNF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7
CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgICAgICAvLyBzcmNf
cHRyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3JjX3N0cmlkZSBp
Z25vcmVkCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0gICAgICAgLy8gZHN0X3B0cgot
ICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAgICAgIC8vIGRzdF93aWR0aAorICAgIG1v
diAgICAgICAgZWF4LCBbZXNwICsgNF0gICAvLyBzcmNfcHRyCisgICAgLy8gc3JjX3N0cmlkZSBp
Z25vcmVkCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0gIC8vIGRzdF9wdHIKKyAgICBt
b3YgICAgICAgIGVjeCwgW2VzcCArIDE2XSAgLy8gZHN0X3dpZHRoCiAgICAgbW92ZHFhICAgICB4
bW0zLCB4bW13b3JkIHB0ciBrU2h1ZjAKICAgICBtb3ZkcWEgICAgIHhtbTQsIHhtbXdvcmQgcHRy
IGtTaHVmMQogICAgIG1vdmRxYSAgICAgeG1tNSwgeG1td29yZCBwdHIga1NodWYyCkBAIC01NDEs
MTYgKzU0NiwxNiBAQCB2b2lkIFNjYWxlUm93RG93bjM0X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKIC8vIHhtbTcga1JvdW5kMzQKIAogLy8gTm90ZSB0
aGF0IG1vdmRxYStwYWxpZ24gbWF5IGJlIGJldHRlciB0aGFuIG1vdmRxdS4KLV9fZGVjbHNwZWMo
bmFrZWQpCi12b2lkIFNjYWxlUm93RG93bjM0XzFfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBk
c3Rfd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgU2NhbGVSb3dEb3duMzRfMV9Cb3hf
U1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93
aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVzaCAgICAgICBlc2kKLSAgICBtb3YgICAgICAgIGVh
eCwgW2VzcCArIDQgKyA0XSAgICAvLyBzcmNfcHRyCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3Ag
KyA0ICsgOF0gICAgLy8gc3JjX3N0cmlkZQotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCAr
IDEyXSAgIC8vIGRzdF9wdHIKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gICAv
LyBkc3Rfd2lkdGgKKyAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgLy8gc3JjX3B0
cgorICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAvLyBzcmNfc3RyaWRlCisgICAg
bW92ICAgICAgICBlZHgsIFtlc3AgKyA0ICsgMTJdICAvLyBkc3RfcHRyCisgICAgbW92ICAgICAg
ICBlY3gsIFtlc3AgKyA0ICsgMTZdICAvLyBkc3Rfd2lkdGgKICAgICBtb3ZkcWEgICAgIHhtbTIs
IHhtbXdvcmQgcHRyIGtTaHVmMDEKICAgICBtb3ZkcWEgICAgIHhtbTMsIHhtbXdvcmQgcHRyIGtT
aHVmMTEKICAgICBtb3ZkcWEgICAgIHhtbTQsIHhtbXdvcmQgcHRyIGtTaHVmMjEKQEAgLTU1OSw3
ICs1NjQsNyBAQCB2b2lkIFNjYWxlUm93RG93bjM0XzFfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBz
cmNfcHRyLAogICAgIG1vdmRxYSAgICAgeG1tNywgeG1td29yZCBwdHIga1JvdW5kMzQKIAogICB3
bG9vcDoKLSAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdICAgICAgICAgICAvLyBwaXhlbHMgMC4u
NworICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0gIC8vIHBpeGVscyAwLi43CiAgICAgbW92ZHF1
ICAgICB4bW0xLCBbZWF4ICsgZXNpXQogICAgIHBhdmdiICAgICAgeG1tMCwgeG1tMQogICAgIHBz
aHVmYiAgICAgeG1tMCwgeG1tMgpAQCAtNTY4LDcgKzU3Myw3IEBAIHZvaWQgU2NhbGVSb3dEb3du
MzRfMV9Cb3hfU1NTRTMoY29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgcHNybHcgICAgICB4bW0w
LCAyCiAgICAgcGFja3Vzd2IgICB4bW0wLCB4bW0wCiAgICAgbW92cSAgICAgICBxd29yZCBwdHIg
W2VkeF0sIHhtbTAKLSAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXggKyA4XSAgICAgICAvLyBwaXhl
bHMgOC4uMTUKKyAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXggKyA4XSAgLy8gcGl4ZWxzIDguLjE1
CiAgICAgbW92ZHF1ICAgICB4bW0xLCBbZWF4ICsgZXNpICsgOF0KICAgICBwYXZnYiAgICAgIHht
bTAsIHhtbTEKICAgICBwc2h1ZmIgICAgIHhtbTAsIHhtbTMKQEAgLTU3Nyw3ICs1ODIsNyBAQCB2
b2lkIFNjYWxlUm93RG93bjM0XzFfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICAg
IHBzcmx3ICAgICAgeG1tMCwgMgogICAgIHBhY2t1c3diICAgeG1tMCwgeG1tMAogICAgIG1vdnEg
ICAgICAgcXdvcmQgcHRyIFtlZHggKyA4XSwgeG1tMAotICAgIG1vdmRxdSAgICAgeG1tMCwgW2Vh
eCArIDE2XSAgICAgIC8vIHBpeGVscyAxNi4uMjMKKyAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXgg
KyAxNl0gIC8vIHBpeGVscyAxNi4uMjMKICAgICBtb3ZkcXUgICAgIHhtbTEsIFtlYXggKyBlc2kg
KyAxNl0KICAgICBsZWEgICAgICAgIGVheCwgW2VheCArIDMyXQogICAgIHBhdmdiICAgICAgeG1t
MCwgeG1tMQpAQCAtNTk4LDE2ICs2MDMsMTYgQEAgdm9pZCBTY2FsZVJvd0Rvd24zNF8xX0JveF9T
U1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKIH0KIAogLy8gTm90ZSB0aGF0IG1vdmRxYStwYWxp
Z24gbWF5IGJlIGJldHRlciB0aGFuIG1vdmRxdS4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFNj
YWxlUm93RG93bjM0XzBfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKK19f
ZGVjbHNwZWMobmFrZWQpIHZvaWQgU2NhbGVSb3dEb3duMzRfMF9Cb3hfU1NTRTMoY29uc3QgdWlu
dDgqIHNyY19wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBfX2Fz
bSB7CiAgICAgcHVzaCAgICAgICBlc2kKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0
XSAgICAvLyBzcmNfcHRyCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA0ICsgOF0gICAgLy8g
c3JjX3N0cmlkZQotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDEyXSAgIC8vIGRzdF9w
dHIKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gICAvLyBkc3Rfd2lkdGgKKyAg
ICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgLy8gc3JjX3B0cgorICAgIG1vdiAgICAg
ICAgZXNpLCBbZXNwICsgNCArIDhdICAvLyBzcmNfc3RyaWRlCisgICAgbW92ICAgICAgICBlZHgs
IFtlc3AgKyA0ICsgMTJdICAvLyBkc3RfcHRyCisgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA0
ICsgMTZdICAvLyBkc3Rfd2lkdGgKICAgICBtb3ZkcWEgICAgIHhtbTIsIHhtbXdvcmQgcHRyIGtT
aHVmMDEKICAgICBtb3ZkcWEgICAgIHhtbTMsIHhtbXdvcmQgcHRyIGtTaHVmMTEKICAgICBtb3Zk
cWEgICAgIHhtbTQsIHhtbXdvcmQgcHRyIGtTaHVmMjEKQEAgLTYxNiw3ICs2MjEsNyBAQCB2b2lk
IFNjYWxlUm93RG93bjM0XzBfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICAgIG1v
dmRxYSAgICAgeG1tNywgeG1td29yZCBwdHIga1JvdW5kMzQKIAogICB3bG9vcDoKLSAgICBtb3Zk
cXUgICAgIHhtbTAsIFtlYXhdICAgICAgICAgICAvLyBwaXhlbHMgMC4uNworICAgIG1vdmRxdSAg
ICAgeG1tMCwgW2VheF0gIC8vIHBpeGVscyAwLi43CiAgICAgbW92ZHF1ICAgICB4bW0xLCBbZWF4
ICsgZXNpXQogICAgIHBhdmdiICAgICAgeG1tMSwgeG1tMAogICAgIHBhdmdiICAgICAgeG1tMCwg
eG1tMQpAQCAtNjI2LDcgKzYzMSw3IEBAIHZvaWQgU2NhbGVSb3dEb3duMzRfMF9Cb3hfU1NTRTMo
Y29uc3QgdWludDgqIHNyY19wdHIsCiAgICAgcHNybHcgICAgICB4bW0wLCAyCiAgICAgcGFja3Vz
d2IgICB4bW0wLCB4bW0wCiAgICAgbW92cSAgICAgICBxd29yZCBwdHIgW2VkeF0sIHhtbTAKLSAg
ICBtb3ZkcXUgICAgIHhtbTAsIFtlYXggKyA4XSAgICAgICAvLyBwaXhlbHMgOC4uMTUKKyAgICBt
b3ZkcXUgICAgIHhtbTAsIFtlYXggKyA4XSAgLy8gcGl4ZWxzIDguLjE1CiAgICAgbW92ZHF1ICAg
ICB4bW0xLCBbZWF4ICsgZXNpICsgOF0KICAgICBwYXZnYiAgICAgIHhtbTEsIHhtbTAKICAgICBw
YXZnYiAgICAgIHhtbTAsIHhtbTEKQEAgLTYzNiw3ICs2NDEsNyBAQCB2b2lkIFNjYWxlUm93RG93
bjM0XzBfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogICAgIHBzcmx3ICAgICAgeG1t
MCwgMgogICAgIHBhY2t1c3diICAgeG1tMCwgeG1tMAogICAgIG1vdnEgICAgICAgcXdvcmQgcHRy
IFtlZHggKyA4XSwgeG1tMAotICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheCArIDE2XSAgICAgIC8v
IHBpeGVscyAxNi4uMjMKKyAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXggKyAxNl0gIC8vIHBpeGVs
cyAxNi4uMjMKICAgICBtb3ZkcXUgICAgIHhtbTEsIFtlYXggKyBlc2kgKyAxNl0KICAgICBsZWEg
ICAgICAgIGVheCwgW2VheCArIDMyXQogICAgIHBhdmdiICAgICAgeG1tMSwgeG1tMApAQCAtNjYw
LDI2ICs2NjUsMjcgQEAgdm9pZCBTY2FsZVJvd0Rvd24zNF8wX0JveF9TU1NFMyhjb25zdCB1aW50
OCogc3JjX3B0ciwKIC8vIDMvOCBwb2ludCBzYW1wbGVyCiAKIC8vIFNjYWxlIDMyIHBpeGVscyB0
byAxMgotX19kZWNsc3BlYyhuYWtlZCkKLXZvaWQgU2NhbGVSb3dEb3duMzhfU1NTRTMoY29uc3Qg
dWludDgqIHNyY19wdHIsIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OCogZHN0X3B0ciwgaW50IGRzdF93aWR0aCkgeworX19kZWNsc3BlYyhuYWtl
ZCkgdm9pZCBTY2FsZVJvd0Rvd24zOF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJp
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3dpZHRoKSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAg
ICAgICAvLyBzcmNfcHRyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
c3JjX3N0cmlkZSBpZ25vcmVkCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0gICAgICAg
Ly8gZHN0X3B0cgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAgICAgIC8vIGRzdF93
aWR0aAorICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gIC8vIHNyY19wdHIKKyAgICAvLyBz
cmNfc3RyaWRlIGlnbm9yZWQKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDEyXSAgLy8gZHN0
X3B0cgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAvLyBkc3Rfd2lkdGgKICAgICBt
b3ZkcWEgICAgIHhtbTQsIHhtbXdvcmQgcHRyIGtTaHVmMzhhCiAgICAgbW92ZHFhICAgICB4bW01
LCB4bW13b3JkIHB0ciBrU2h1ZjM4YgogCiAgIHhsb29wOgotICAgIG1vdmRxdSAgICAgeG1tMCwg
W2VheF0gICAgICAgICAgIC8vIDE2IHBpeGVscyAtPiAwLDEsMiwzLDQsNQotICAgIG1vdmRxdSAg
ICAgeG1tMSwgW2VheCArIDE2XSAgICAgIC8vIDE2IHBpeGVscyAtPiA2LDcsOCw5LDEwLDExCisg
ICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgLy8gMTYgcGl4ZWxzIC0+IDAsMSwyLDMsNCw1Cisg
ICAgbW92ZHF1ICAgICB4bW0xLCBbZWF4ICsgMTZdICAvLyAxNiBwaXhlbHMgLT4gNiw3LDgsOSwx
MCwxMQogICAgIGxlYSAgICAgICAgZWF4LCBbZWF4ICsgMzJdCiAgICAgcHNodWZiICAgICB4bW0w
LCB4bW00CiAgICAgcHNodWZiICAgICB4bW0xLCB4bW01CiAgICAgcGFkZHVzYiAgICB4bW0wLCB4
bW0xCiAKLSAgICBtb3ZxICAgICAgIHF3b3JkIHB0ciBbZWR4XSwgeG1tMCAgLy8gd3JpdGUgMTIg
cGl4ZWxzCisgICAgbW92cSAgICAgICBxd29yZCBwdHIgW2VkeF0sIHhtbTAgICAgICAgLy8gd3Jp
dGUgMTIgcGl4ZWxzCiAgICAgbW92aGxwcyAgICB4bW0xLCB4bW0wCiAgICAgbW92ZCAgICAgICBb
ZWR4ICsgOF0sIHhtbTEKICAgICBsZWEgICAgICAgIGVkeCwgW2VkeCArIDEyXQpAQCAtNjkxLDIz
ICs2OTcsMjMgQEAgdm9pZCBTY2FsZVJvd0Rvd24zOF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0
ciwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiB9CiAKIC8vIFNjYWxlIDE2eDMgcGl4ZWxzIHRvIDZ4
MSB3aXRoIGludGVycG9sYXRpb24KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFNjYWxlUm93RG93
bjM4XzNfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsIGludCBkc3Rfd2lkdGgpIHsKK19fZGVjbHNwZWMo
bmFrZWQpIHZvaWQgU2NhbGVSb3dEb3duMzhfM19Cb3hfU1NTRTMoY29uc3QgdWludDgqIHNyY19w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0
cmRpZmZfdCBzcmNfc3RyaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OCogZHN0X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBfX2FzbSB7CiAgICAg
cHVzaCAgICAgICBlc2kKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgICAvLyBz
cmNfcHRyCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA0ICsgOF0gICAgLy8gc3JjX3N0cmlk
ZQotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNCArIDEyXSAgIC8vIGRzdF9wdHIKLSAgICBt
b3YgICAgICAgIGVjeCwgW2VzcCArIDQgKyAxNl0gICAvLyBkc3Rfd2lkdGgKKyAgICBtb3YgICAg
ICAgIGVheCwgW2VzcCArIDQgKyA0XSAgLy8gc3JjX3B0cgorICAgIG1vdiAgICAgICAgZXNpLCBb
ZXNwICsgNCArIDhdICAvLyBzcmNfc3RyaWRlCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA0
ICsgMTJdICAvLyBkc3RfcHRyCisgICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA0ICsgMTZdICAv
LyBkc3Rfd2lkdGgKICAgICBtb3ZkcWEgICAgIHhtbTIsIHhtbXdvcmQgcHRyIGtTaHVmQWMKICAg
ICBtb3ZkcWEgICAgIHhtbTMsIHhtbXdvcmQgcHRyIGtTaHVmQWMzCiAgICAgbW92ZHFhICAgICB4
bW00LCB4bW13b3JkIHB0ciBrU2NhbGVBYzMzCiAgICAgcHhvciAgICAgICB4bW01LCB4bW01CiAK
ICAgeGxvb3A6Ci0gICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XSAgICAgICAgICAgLy8gc3VtIHVw
IDMgcm93cyBpbnRvIHhtbTAvMQorICAgIG1vdmRxdSAgICAgeG1tMCwgW2VheF0gIC8vIHN1bSB1
cCAzIHJvd3MgaW50byB4bW0wLzEKICAgICBtb3ZkcXUgICAgIHhtbTYsIFtlYXggKyBlc2ldCiAg
ICAgbW92aGxwcyAgICB4bW0xLCB4bW0wCiAgICAgbW92aGxwcyAgICB4bW03LCB4bW02CkBAIC03
MjUsMTQgKzczMSwxNCBAQCB2b2lkIFNjYWxlUm93RG93bjM4XzNfQm94X1NTU0UzKGNvbnN0IHVp
bnQ4KiBzcmNfcHRyLAogICAgIHBhZGR1c3cgICAgeG1tMCwgeG1tNgogICAgIHBhZGR1c3cgICAg
eG1tMSwgeG1tNwogCi0gICAgbW92ZHFhICAgICB4bW02LCB4bW0wICAgICAgICAgICAgLy8gOCBw
aXhlbHMgLT4gMCwxLDIgb2YgeG1tNgorICAgIG1vdmRxYSAgICAgeG1tNiwgeG1tMCAgLy8gOCBw
aXhlbHMgLT4gMCwxLDIgb2YgeG1tNgogICAgIHBzcmxkcSAgICAgeG1tMCwgMgogICAgIHBhZGR1
c3cgICAgeG1tNiwgeG1tMAogICAgIHBzcmxkcSAgICAgeG1tMCwgMgogICAgIHBhZGR1c3cgICAg
eG1tNiwgeG1tMAogICAgIHBzaHVmYiAgICAgeG1tNiwgeG1tMgogCi0gICAgbW92ZHFhICAgICB4
bW03LCB4bW0xICAgICAgICAgICAgLy8gOCBwaXhlbHMgLT4gMyw0LDUgb2YgeG1tNgorICAgIG1v
dmRxYSAgICAgeG1tNywgeG1tMSAgLy8gOCBwaXhlbHMgLT4gMyw0LDUgb2YgeG1tNgogICAgIHBz
cmxkcSAgICAgeG1tMSwgMgogICAgIHBhZGR1c3cgICAgeG1tNywgeG1tMQogICAgIHBzcmxkcSAg
ICAgeG1tMSwgMgpAQCAtNzQwLDEwICs3NDYsMTAgQEAgdm9pZCBTY2FsZVJvd0Rvd24zOF8zX0Jv
eF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKICAgICBwc2h1ZmIgICAgIHhtbTcsIHhtbTMK
ICAgICBwYWRkdXN3ICAgIHhtbTYsIHhtbTcKIAotICAgIHBtdWxodXcgICAgeG1tNiwgeG1tNCAg
ICAgICAgICAgIC8vIGRpdmlkZSBieSA5LDksNiwgOSw5LDYKKyAgICBwbXVsaHV3ICAgIHhtbTYs
IHhtbTQgIC8vIGRpdmlkZSBieSA5LDksNiwgOSw5LDYKICAgICBwYWNrdXN3YiAgIHhtbTYsIHht
bTYKIAotICAgIG1vdmQgICAgICAgW2VkeF0sIHhtbTYgICAgICAgICAgIC8vIHdyaXRlIDYgcGl4
ZWxzCisgICAgbW92ZCAgICAgICBbZWR4XSwgeG1tNiAgLy8gd3JpdGUgNiBwaXhlbHMKICAgICBw
c3JscSAgICAgIHhtbTYsIDE2CiAgICAgbW92ZCAgICAgICBbZWR4ICsgMl0sIHhtbTYKICAgICBs
ZWEgICAgICAgIGVkeCwgW2VkeCArIDZdCkBAIC03NTYsMjggKzc2MiwyOCBAQCB2b2lkIFNjYWxl
Um93RG93bjM4XzNfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogfQogCiAvLyBTY2Fs
ZSAxNngyIHBpeGVscyB0byA2eDEgd2l0aCBpbnRlcnBvbGF0aW9uCi1fX2RlY2xzcGVjKG5ha2Vk
KQotdm9pZCBTY2FsZVJvd0Rvd24zOF8yX0JveF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfcHRyLCBpbnQgZHN0X3dp
ZHRoKSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFNjYWxlUm93RG93bjM4XzJfQm94X1NTU0Uz
KGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9wdHIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgp
IHsKICAgX19hc20gewogICAgIHB1c2ggICAgICAgZXNpCi0gICAgbW92ICAgICAgICBlYXgsIFtl
c3AgKyA0ICsgNF0gICAgLy8gc3JjX3B0cgotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCAr
IDhdICAgIC8vIHNyY19zdHJpZGUKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyAxMl0g
ICAvLyBkc3RfcHRyCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyA0ICsgMTZdICAgLy8gZHN0
X3dpZHRoCisgICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA0ICsgNF0gIC8vIHNyY19wdHIKKyAg
ICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDQgKyA4XSAgLy8gc3JjX3N0cmlkZQorICAgIG1vdiAg
ICAgICAgZWR4LCBbZXNwICsgNCArIDEyXSAgLy8gZHN0X3B0cgorICAgIG1vdiAgICAgICAgZWN4
LCBbZXNwICsgNCArIDE2XSAgLy8gZHN0X3dpZHRoCiAgICAgbW92ZHFhICAgICB4bW0yLCB4bW13
b3JkIHB0ciBrU2h1ZkFiMAogICAgIG1vdmRxYSAgICAgeG1tMywgeG1td29yZCBwdHIga1NodWZB
YjEKICAgICBtb3ZkcWEgICAgIHhtbTQsIHhtbXdvcmQgcHRyIGtTaHVmQWIyCiAgICAgbW92ZHFh
ICAgICB4bW01LCB4bW13b3JkIHB0ciBrU2NhbGVBYjIKIAogICB4bG9vcDoKLSAgICBtb3ZkcXUg
ICAgIHhtbTAsIFtlYXhdICAgICAgICAgICAvLyBhdmVyYWdlIDIgcm93cyBpbnRvIHhtbTAKKyAg
ICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdICAvLyBhdmVyYWdlIDIgcm93cyBpbnRvIHhtbTAKICAg
ICBtb3ZkcXUgICAgIHhtbTEsIFtlYXggKyBlc2ldCiAgICAgbGVhICAgICAgICBlYXgsIFtlYXgg
KyAxNl0KICAgICBwYXZnYiAgICAgIHhtbTAsIHhtbTEKIAotICAgIG1vdmRxYSAgICAgeG1tMSwg
eG1tMCAgICAgICAgICAgIC8vIDE2IHBpeGVscyAtPiAwLDEsMiwzLDQsNSBvZiB4bW0xCisgICAg
bW92ZHFhICAgICB4bW0xLCB4bW0wICAvLyAxNiBwaXhlbHMgLT4gMCwxLDIsMyw0LDUgb2YgeG1t
MQogICAgIHBzaHVmYiAgICAgeG1tMSwgeG1tMgogICAgIG1vdmRxYSAgICAgeG1tNiwgeG1tMAog
ICAgIHBzaHVmYiAgICAgeG1tNiwgeG1tMwpAQCAtNzg1LDEwICs3OTEsMTAgQEAgdm9pZCBTY2Fs
ZVJvd0Rvd24zOF8yX0JveF9TU1NFMyhjb25zdCB1aW50OCogc3JjX3B0ciwKICAgICBwc2h1ZmIg
ICAgIHhtbTAsIHhtbTQKICAgICBwYWRkdXN3ICAgIHhtbTEsIHhtbTAKIAotICAgIHBtdWxodXcg
ICAgeG1tMSwgeG1tNSAgICAgICAgICAgIC8vIGRpdmlkZSBieSAzLDMsMiwgMywzLDIKKyAgICBw
bXVsaHV3ICAgIHhtbTEsIHhtbTUgIC8vIGRpdmlkZSBieSAzLDMsMiwgMywzLDIKICAgICBwYWNr
dXN3YiAgIHhtbTEsIHhtbTEKIAotICAgIG1vdmQgICAgICAgW2VkeF0sIHhtbTEgICAgICAgICAg
IC8vIHdyaXRlIDYgcGl4ZWxzCisgICAgbW92ZCAgICAgICBbZWR4XSwgeG1tMSAgLy8gd3JpdGUg
NiBwaXhlbHMKICAgICBwc3JscSAgICAgIHhtbTEsIDE2CiAgICAgbW92ZCAgICAgICBbZWR4ICsg
Ml0sIHhtbTEKICAgICBsZWEgICAgICAgIGVkeCwgW2VkeCArIDZdCkBAIC04MDEsMjYgKzgwNywy
NyBAQCB2b2lkIFNjYWxlUm93RG93bjM4XzJfQm94X1NTU0UzKGNvbnN0IHVpbnQ4KiBzcmNfcHRy
LAogfQogCiAvLyBSZWFkcyAxNiBieXRlcyBhbmQgYWNjdW11bGF0ZXMgdG8gMTYgc2hvcnRzIGF0
IGEgdGltZS4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFNjYWxlQWRkUm93X1NTRTIoY29uc3Qg
dWludDgqIHNyY19wdHIsIHVpbnQxNiogZHN0X3B0ciwgaW50IHNyY193aWR0aCkgeworX19kZWNs
c3BlYyhuYWtlZCkgdm9pZCBTY2FsZUFkZFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0X3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoKSB7
CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgLy8gc3JjX3B0cgot
ICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAvLyBkc3RfcHRyCisgICAgbW92ICAgICAg
ICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX3B0cgorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsg
OF0gIC8vIGRzdF9wdHIKICAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgLy8gc3JjX3dp
ZHRoCiAgICAgcHhvciAgICAgICB4bW01LCB4bW01CiAKLSAgLy8gc3VtIHJvd3MKKyAgICAvLyBz
dW0gcm93cwogICB4bG9vcDoKLSAgICBtb3ZkcXUgICAgIHhtbTMsIFtlYXhdICAgICAgIC8vIHJl
YWQgMTYgYnl0ZXMKKyAgICBtb3ZkcXUgICAgIHhtbTMsIFtlYXhdICAvLyByZWFkIDE2IGJ5dGVz
CiAgICAgbGVhICAgICAgICBlYXgsIFtlYXggKyAxNl0KLSAgICBtb3ZkcXUgICAgIHhtbTAsIFtl
ZHhdICAgICAgIC8vIHJlYWQgMTYgd29yZHMgZnJvbSBkZXN0aW5hdGlvbgorICAgIG1vdmRxdSAg
ICAgeG1tMCwgW2VkeF0gIC8vIHJlYWQgMTYgd29yZHMgZnJvbSBkZXN0aW5hdGlvbgogICAgIG1v
dmRxdSAgICAgeG1tMSwgW2VkeCArIDE2XQogICAgIG1vdmRxYSAgICAgeG1tMiwgeG1tMwogICAg
IHB1bnBja2xidyAgeG1tMiwgeG1tNQogICAgIHB1bnBja2hidyAgeG1tMywgeG1tNQotICAgIHBh
ZGR1c3cgICAgeG1tMCwgeG1tMiAgICAgICAgLy8gc3VtIDE2IHdvcmRzCisgICAgcGFkZHVzdyAg
ICB4bW0wLCB4bW0yICAvLyBzdW0gMTYgd29yZHMKICAgICBwYWRkdXN3ICAgIHhtbTEsIHhtbTMK
LSAgICBtb3ZkcXUgICAgIFtlZHhdLCB4bW0wICAgICAgIC8vIHdyaXRlIDE2IHdvcmRzIHRvIGRl
c3RpbmF0aW9uCisgICAgbW92ZHF1ICAgICBbZWR4XSwgeG1tMCAgLy8gd3JpdGUgMTYgd29yZHMg
dG8gZGVzdGluYXRpb24KICAgICBtb3ZkcXUgICAgIFtlZHggKyAxNl0sIHhtbTEKICAgICBsZWEg
ICAgICAgIGVkeCwgW2VkeCArIDMyXQogICAgIHN1YiAgICAgICAgZWN4LCAxNgpAQCAtODMxLDI0
ICs4MzgsMjUgQEAgdm9pZCBTY2FsZUFkZFJvd19TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLCB1
aW50MTYqIGRzdF9wdHIsIGludCBzcmNfd2lkdGgpIHsKIAogI2lmZGVmIEhBU19TQ0FMRUFERFJP
V19BVlgyCiAvLyBSZWFkcyAzMiBieXRlcyBhbmQgYWNjdW11bGF0ZXMgdG8gMzIgc2hvcnRzIGF0
IGEgdGltZS4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFNjYWxlQWRkUm93X0FWWDIoY29uc3Qg
dWludDgqIHNyY19wdHIsIHVpbnQxNiogZHN0X3B0ciwgaW50IHNyY193aWR0aCkgeworX19kZWNs
c3BlYyhuYWtlZCkgdm9pZCBTY2FsZUFkZFJvd19BVlgyKGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogZHN0X3B0ciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoKSB7
CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgICBlYXgsIFtlc3AgKyA0XSAgIC8vIHNyY19wdHIK
LSAgICBtb3YgICAgICAgICBlZHgsIFtlc3AgKyA4XSAgIC8vIGRzdF9wdHIKKyAgICBtb3YgICAg
ICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX3B0cgorICAgIG1vdiAgICAgICAgIGVkeCwgW2Vz
cCArIDhdICAvLyBkc3RfcHRyCiAgICAgbW92ICAgICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyBz
cmNfd2lkdGgKICAgICB2cHhvciAgICAgICB5bW01LCB5bW01LCB5bW01CiAKLSAgLy8gc3VtIHJv
d3MKKyAgICAvLyBzdW0gcm93cwogICB4bG9vcDoKLSAgICB2bW92ZHF1ICAgICB5bW0zLCBbZWF4
XSAgICAgICAvLyByZWFkIDMyIGJ5dGVzCisgICAgdm1vdmRxdSAgICAgeW1tMywgW2VheF0gIC8v
IHJlYWQgMzIgYnl0ZXMKICAgICBsZWEgICAgICAgICBlYXgsIFtlYXggKyAzMl0KICAgICB2cGVy
bXEgICAgICB5bW0zLCB5bW0zLCAweGQ4ICAvLyB1bm11dGF0ZSBmb3IgdnB1bnBjawogICAgIHZw
dW5wY2tsYncgIHltbTIsIHltbTMsIHltbTUKICAgICB2cHVucGNraGJ3ICB5bW0zLCB5bW0zLCB5
bW01Ci0gICAgdnBhZGR1c3cgICAgeW1tMCwgeW1tMiwgW2VkeF0gLy8gc3VtIDE2IHdvcmRzCisg
ICAgdnBhZGR1c3cgICAgeW1tMCwgeW1tMiwgW2VkeF0gIC8vIHN1bSAxNiB3b3JkcwogICAgIHZw
YWRkdXN3ICAgIHltbTEsIHltbTMsIFtlZHggKyAzMl0KLSAgICB2bW92ZHF1ICAgICBbZWR4XSwg
eW1tMCAgICAgICAvLyB3cml0ZSAzMiB3b3JkcyB0byBkZXN0aW5hdGlvbgorICAgIHZtb3ZkcXUg
ICAgIFtlZHhdLCB5bW0wICAvLyB3cml0ZSAzMiB3b3JkcyB0byBkZXN0aW5hdGlvbgogICAgIHZt
b3ZkcXUgICAgIFtlZHggKyAzMl0sIHltbTEKICAgICBsZWEgICAgICAgICBlZHgsIFtlZHggKyA2
NF0KICAgICBzdWIgICAgICAgICBlY3gsIDMyCkBAIC04NjIsODYgKzg3MCw4NyBAQCB2b2lkIFNj
YWxlQWRkUm93X0FWWDIoY29uc3QgdWludDgqIHNyY19wdHIsIHVpbnQxNiogZHN0X3B0ciwgaW50
IHNyY193aWR0aCkgewogCiAvLyBDb25zdGFudCBmb3IgbWFraW5nIHBpeGVscyBzaWduZWQgdG8g
YXZvaWQgcG1hZGR1YnN3CiAvLyBzYXR1cmF0aW9uLgotc3RhdGljIHV2ZWM4IGtGc3ViODAgPQot
ICB7IDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAsCi0gICAg
MHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCB9Oworc3RhdGlj
IHV2ZWM4IGtGc3ViODAgPSB7MHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4MCwgMHg4
MCwgMHg4MCwKKyAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAsIDB4ODAsIDB4ODAsIDB4ODAs
IDB4ODAsIDB4ODAsIDB4ODAsIDB4ODB9OwogCiAvLyBDb25zdGFudCBmb3IgbWFraW5nIHBpeGVs
cyB1bnNpZ25lZCBhbmQgYWRkaW5nIC41IGZvciByb3VuZGluZy4KLXN0YXRpYyB1dmVjMTYga0Zh
ZGQ0MCA9Ci0gIHsgMHg0MDQwLCAweDQwNDAsIDB4NDA0MCwgMHg0MDQwLCAweDQwNDAsIDB4NDA0
MCwgMHg0MDQwLCAweDQwNDAgfTsKK3N0YXRpYyB1dmVjMTYga0ZhZGQ0MCA9IHsweDQwNDAsIDB4
NDA0MCwgMHg0MDQwLCAweDQwNDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgMHg0MDQwLCAw
eDQwNDAsIDB4NDA0MCwgMHg0MDQwfTsKIAogLy8gQmlsaW5lYXIgY29sdW1uIGZpbHRlcmluZy4g
U1NTRTMgdmVyc2lvbi4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFNjYWxlRmlsdGVyQ29sc19T
U1NFMyh1aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgeCwgaW50IGR4KSB7CitfX2RlY2xzcGVj
KG5ha2VkKSB2b2lkIFNjYWxlRmlsdGVyQ29sc19TU1NFMyh1aW50OCogZHN0X3B0ciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNf
cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz
dF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4
KSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVieAogICAgIHB1c2ggICAgICAgZXNpCiAg
ICAgcHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDEyICsgNF0gICAg
Ly8gZHN0X3B0cgotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgMTIgKyA4XSAgICAvLyBzcmNf
cHRyCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxMiArIDEyXSAgIC8vIGRzdF93aWR0aAor
ICAgIG1vdiAgICAgICAgZWRpLCBbZXNwICsgMTIgKyA0XSAgLy8gZHN0X3B0cgorICAgIG1vdiAg
ICAgICAgZXNpLCBbZXNwICsgMTIgKyA4XSAgLy8gc3JjX3B0cgorICAgIG1vdiAgICAgICAgZWN4
LCBbZXNwICsgMTIgKyAxMl0gIC8vIGRzdF93aWR0aAogICAgIG1vdmQgICAgICAgeG1tMiwgW2Vz
cCArIDEyICsgMTZdICAvLyB4CiAgICAgbW92ZCAgICAgICB4bW0zLCBbZXNwICsgMTIgKyAyMF0g
IC8vIGR4Ci0gICAgbW92ICAgICAgICBlYXgsIDB4MDQwNDAwMDAgICAgICAvLyBzaHVmZmxlIHRv
IGxpbmUgdXAgZnJhY3Rpb25zIHdpdGggcGl4ZWwuCisgICAgbW92ICAgICAgICBlYXgsIDB4MDQw
NDAwMDAgIC8vIHNodWZmbGUgdG8gbGluZSB1cCBmcmFjdGlvbnMgd2l0aCBwaXhlbC4KICAgICBt
b3ZkICAgICAgIHhtbTUsIGVheAotICAgIHBjbXBlcWIgICAgeG1tNiwgeG1tNiAgICAgICAgICAg
Ly8gZ2VuZXJhdGUgMHgwMDdmIGZvciBpbnZlcnRpbmcgZnJhY3Rpb24uCisgICAgcGNtcGVxYiAg
ICB4bW02LCB4bW02ICAvLyBnZW5lcmF0ZSAweDAwN2YgZm9yIGludmVydGluZyBmcmFjdGlvbi4K
ICAgICBwc3JsdyAgICAgIHhtbTYsIDkKLSAgICBwY21wZXFiICAgIHhtbTcsIHhtbTcgICAgICAg
ICAgIC8vIGdlbmVyYXRlIDB4MDAwMQorICAgIHBjbXBlcWIgICAgeG1tNywgeG1tNyAgLy8gZ2Vu
ZXJhdGUgMHgwMDAxCiAgICAgcHNybHcgICAgICB4bW03LCAxNQotICAgIHBleHRydyAgICAgZWF4
LCB4bW0yLCAxICAgICAgICAgLy8gZ2V0IHgwIGludGVnZXIuIHByZXJvbGwKKyAgICBwZXh0cncg
ICAgIGVheCwgeG1tMiwgMSAgLy8gZ2V0IHgwIGludGVnZXIuIHByZXJvbGwKICAgICBzdWIgICAg
ICAgIGVjeCwgMgogICAgIGpsICAgICAgICAgeGxvb3AyOQogCi0gICAgbW92ZHFhICAgICB4bW0w
LCB4bW0yICAgICAgICAgICAvLyB4MSA9IHgwICsgZHgKKyAgICBtb3ZkcWEgICAgIHhtbTAsIHht
bTIgIC8vIHgxID0geDAgKyBkeAogICAgIHBhZGRkICAgICAgeG1tMCwgeG1tMwotICAgIHB1bnBj
a2xkcSAgeG1tMiwgeG1tMCAgICAgICAgICAgLy8geDAgeDEKLSAgICBwdW5wY2tsZHEgIHhtbTMs
IHhtbTMgICAgICAgICAgIC8vIGR4IGR4Ci0gICAgcGFkZGQgICAgICB4bW0zLCB4bW0zICAgICAg
ICAgICAvLyBkeCAqIDIsIGR4ICogMgotICAgIHBleHRydyAgICAgZWR4LCB4bW0yLCAzICAgICAg
ICAgLy8gZ2V0IHgxIGludGVnZXIuIHByZXJvbGwKKyAgICBwdW5wY2tsZHEgIHhtbTIsIHhtbTAg
IC8vIHgwIHgxCisgICAgcHVucGNrbGRxICB4bW0zLCB4bW0zICAvLyBkeCBkeAorICAgIHBhZGRk
ICAgICAgeG1tMywgeG1tMyAgLy8gZHggKiAyLCBkeCAqIDIKKyAgICBwZXh0cncgICAgIGVkeCwg
eG1tMiwgMyAgLy8gZ2V0IHgxIGludGVnZXIuIHByZXJvbGwKIAogICAgIC8vIDIgUGl4ZWwgbG9v
cC4KICAgeGxvb3AyOgotICAgIG1vdmRxYSAgICAgeG1tMSwgeG1tMiAgICAgICAgICAgLy8geDAs
IHgxIGZyYWN0aW9ucy4KLSAgICBwYWRkZCAgICAgIHhtbTIsIHhtbTMgICAgICAgICAgIC8vIHgg
Kz0gZHgKKyAgICBtb3ZkcWEgICAgIHhtbTEsIHhtbTIgIC8vIHgwLCB4MSBmcmFjdGlvbnMuCisg
ICAgcGFkZGQgICAgICB4bW0yLCB4bW0zICAvLyB4ICs9IGR4CiAgICAgbW92enggICAgICBlYngs
IHdvcmQgcHRyIFtlc2kgKyBlYXhdICAvLyAyIHNvdXJjZSB4MCBwaXhlbHMKICAgICBtb3ZkICAg
ICAgIHhtbTAsIGVieAotICAgIHBzcmx3ICAgICAgeG1tMSwgOSAgICAgICAgICAgICAgLy8gNyBi
aXQgZnJhY3Rpb25zLgorICAgIHBzcmx3ICAgICAgeG1tMSwgOSAgLy8gNyBiaXQgZnJhY3Rpb25z
LgogICAgIG1vdnp4ICAgICAgZWJ4LCB3b3JkIHB0ciBbZXNpICsgZWR4XSAgLy8gMiBzb3VyY2Ug
eDEgcGl4ZWxzCiAgICAgbW92ZCAgICAgICB4bW00LCBlYngKLSAgICBwc2h1ZmIgICAgIHhtbTEs
IHhtbTUgICAgICAgICAgIC8vIDAwMTEKKyAgICBwc2h1ZmIgICAgIHhtbTEsIHhtbTUgIC8vIDAw
MTEKICAgICBwdW5wY2tsd2QgIHhtbTAsIHhtbTQKICAgICBwc3ViYiAgICAgIHhtbTAsIHhtbXdv
cmQgcHRyIGtGc3ViODAgIC8vIG1ha2UgcGl4ZWxzIHNpZ25lZC4KLSAgICBweG9yICAgICAgIHht
bTEsIHhtbTYgICAgICAgICAgIC8vIDAuLjdmIGFuZCA3Zi4uMAotICAgIHBhZGR1c2IgICAgeG1t
MSwgeG1tNyAgICAgICAgICAgLy8gKzEgc28gMC4uN2YgYW5kIDgwLi4xCi0gICAgcG1hZGR1YnN3
ICB4bW0xLCB4bW0wICAgICAgICAgICAvLyAxNiBiaXQsIDIgcGl4ZWxzLgotICAgIHBleHRydyAg
ICAgZWF4LCB4bW0yLCAxICAgICAgICAgLy8gZ2V0IHgwIGludGVnZXIuIG5leHQgaXRlcmF0aW9u
LgotICAgIHBleHRydyAgICAgZWR4LCB4bW0yLCAzICAgICAgICAgLy8gZ2V0IHgxIGludGVnZXIu
IG5leHQgaXRlcmF0aW9uLgorICAgIHB4b3IgICAgICAgeG1tMSwgeG1tNiAgLy8gMC4uN2YgYW5k
IDdmLi4wCisgICAgcGFkZHVzYiAgICB4bW0xLCB4bW03ICAvLyArMSBzbyAwLi43ZiBhbmQgODAu
LjEKKyAgICBwbWFkZHVic3cgIHhtbTEsIHhtbTAgIC8vIDE2IGJpdCwgMiBwaXhlbHMuCisgICAg
cGV4dHJ3ICAgICBlYXgsIHhtbTIsIDEgIC8vIGdldCB4MCBpbnRlZ2VyLiBuZXh0IGl0ZXJhdGlv
bi4KKyAgICBwZXh0cncgICAgIGVkeCwgeG1tMiwgMyAgLy8gZ2V0IHgxIGludGVnZXIuIG5leHQg
aXRlcmF0aW9uLgogICAgIHBhZGR3ICAgICAgeG1tMSwgeG1td29yZCBwdHIga0ZhZGQ0MCAgLy8g
bWFrZSBwaXhlbHMgdW5zaWduZWQgYW5kIHJvdW5kLgotICAgIHBzcmx3ICAgICAgeG1tMSwgNyAg
ICAgICAgICAgICAgLy8gOC43IGZpeGVkIHBvaW50IHRvIGxvdyA4IGJpdHMuCi0gICAgcGFja3Vz
d2IgICB4bW0xLCB4bW0xICAgICAgICAgICAvLyA4IGJpdHMsIDIgcGl4ZWxzLgorICAgIHBzcmx3
ICAgICAgeG1tMSwgNyAgLy8gOC43IGZpeGVkIHBvaW50IHRvIGxvdyA4IGJpdHMuCisgICAgcGFj
a3Vzd2IgICB4bW0xLCB4bW0xICAvLyA4IGJpdHMsIDIgcGl4ZWxzLgogICAgIG1vdmQgICAgICAg
ZWJ4LCB4bW0xCiAgICAgbW92ICAgICAgICBbZWRpXSwgYngKICAgICBsZWEgICAgICAgIGVkaSwg
W2VkaSArIDJdCi0gICAgc3ViICAgICAgICBlY3gsIDIgICAgICAgICAgICAgICAvLyAyIHBpeGVs
cworICAgIHN1YiAgICAgICAgZWN4LCAyICAvLyAyIHBpeGVscwogICAgIGpnZSAgICAgICAgeGxv
b3AyCiAKICB4bG9vcDI5OgogICAgIGFkZCAgICAgICAgZWN4LCAyIC0gMQogICAgIGpsICAgICAg
ICAgeGxvb3A5OQogCi0gICAgLy8gMSBwaXhlbCByZW1haW5kZXIKKyAgICAgICAgLy8gMSBwaXhl
bCByZW1haW5kZXIKICAgICBtb3Z6eCAgICAgIGVieCwgd29yZCBwdHIgW2VzaSArIGVheF0gIC8v
IDIgc291cmNlIHgwIHBpeGVscwogICAgIG1vdmQgICAgICAgeG1tMCwgZWJ4Ci0gICAgcHNybHcg
ICAgICB4bW0yLCA5ICAgICAgICAgICAgICAvLyA3IGJpdCBmcmFjdGlvbnMuCi0gICAgcHNodWZi
ICAgICB4bW0yLCB4bW01ICAgICAgICAgICAvLyAwMDExCisgICAgcHNybHcgICAgICB4bW0yLCA5
ICAvLyA3IGJpdCBmcmFjdGlvbnMuCisgICAgcHNodWZiICAgICB4bW0yLCB4bW01ICAvLyAwMDEx
CiAgICAgcHN1YmIgICAgICB4bW0wLCB4bW13b3JkIHB0ciBrRnN1YjgwICAvLyBtYWtlIHBpeGVs
cyBzaWduZWQuCi0gICAgcHhvciAgICAgICB4bW0yLCB4bW02ICAgICAgICAgICAvLyAwLi43ZiBh
bmQgN2YuLjAKLSAgICBwYWRkdXNiICAgIHhtbTIsIHhtbTcgICAgICAgICAgIC8vICsxIHNvIDAu
LjdmIGFuZCA4MC4uMQotICAgIHBtYWRkdWJzdyAgeG1tMiwgeG1tMCAgICAgICAgICAgLy8gMTYg
Yml0CisgICAgcHhvciAgICAgICB4bW0yLCB4bW02ICAvLyAwLi43ZiBhbmQgN2YuLjAKKyAgICBw
YWRkdXNiICAgIHhtbTIsIHhtbTcgIC8vICsxIHNvIDAuLjdmIGFuZCA4MC4uMQorICAgIHBtYWRk
dWJzdyAgeG1tMiwgeG1tMCAgLy8gMTYgYml0CiAgICAgcGFkZHcgICAgICB4bW0yLCB4bW13b3Jk
IHB0ciBrRmFkZDQwICAvLyBtYWtlIHBpeGVscyB1bnNpZ25lZCBhbmQgcm91bmQuCi0gICAgcHNy
bHcgICAgICB4bW0yLCA3ICAgICAgICAgICAgICAvLyA4LjcgZml4ZWQgcG9pbnQgdG8gbG93IDgg
Yml0cy4KLSAgICBwYWNrdXN3YiAgIHhtbTIsIHhtbTIgICAgICAgICAgIC8vIDggYml0cworICAg
IHBzcmx3ICAgICAgeG1tMiwgNyAgLy8gOC43IGZpeGVkIHBvaW50IHRvIGxvdyA4IGJpdHMuCisg
ICAgcGFja3Vzd2IgICB4bW0yLCB4bW0yICAvLyA4IGJpdHMKICAgICBtb3ZkICAgICAgIGVieCwg
eG1tMgogICAgIG1vdiAgICAgICAgW2VkaV0sIGJsCiAKQEAgLTk1NSwxMyArOTY0LDE1IEBAIHZv
aWQgU2NhbGVGaWx0ZXJDb2xzX1NTU0UzKHVpbnQ4KiBkc3RfcHRyLCBjb25zdCB1aW50OCogc3Jj
X3B0ciwKIH0KIAogLy8gUmVhZHMgMTYgcGl4ZWxzLCBkdXBsaWNhdGVzIHRoZW0gYW5kIHdyaXRl
cyAzMiBwaXhlbHMuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBTY2FsZUNvbHNVcDJfU1NFMih1
aW50OCogZHN0X3B0ciwgY29uc3QgdWludDgqIHNyY19wdHIsCi0gICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZv
aWQgU2NhbGVDb2xzVXAyX1NTRTIodWludDgqIGRzdF9wdHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGR4KSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAg
IGVkeCwgW2VzcCArIDRdICAgIC8vIGRzdF9wdHIKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCAr
IDhdICAgIC8vIHNyY19wdHIKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgIC8vIGRz
dF93aWR0aAorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgNF0gIC8vIGRzdF9wdHIKKyAgICBt
b3YgICAgICAgIGVheCwgW2VzcCArIDhdICAvLyBzcmNfcHRyCisgICAgbW92ICAgICAgICBlY3gs
IFtlc3AgKyAxMl0gIC8vIGRzdF93aWR0aAogCiAgIHdsb29wOgogICAgIG1vdmRxdSAgICAgeG1t
MCwgW2VheF0KQEAgLTk4MCwxNSArOTkxLDE1IEBAIHZvaWQgU2NhbGVDb2xzVXAyX1NTRTIodWlu
dDgqIGRzdF9wdHIsIGNvbnN0IHVpbnQ4KiBzcmNfcHRyLAogfQogCiAvLyBSZWFkcyA4IHBpeGVs
cywgdGhyb3dzIGhhbGYgYXdheSBhbmQgd3JpdGVzIDQgZXZlbiBwaXhlbHMgKDAsIDIsIDQsIDYp
Ci1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBTY2FsZUFSR0JSb3dEb3duMl9TU0UyKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3Jj
X3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGlu
dCBkc3Rfd2lkdGgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgU2NhbGVBUkdCUm93RG93bjJf
U1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgpIHsKICAg
X19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAgICAgIC8vIHNyY19hcmdi
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3JjX3N0cmlkZSBpZ25v
cmVkCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0gICAgICAgLy8gZHN0X2FyZ2IKLSAg
ICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDE2XSAgICAgICAvLyBkc3Rfd2lkdGgKKyAgICBtb3Yg
ICAgICAgIGVheCwgW2VzcCArIDRdICAgLy8gc3JjX2FyZ2IKKyAgICAvLyBzcmNfc3RyaWRlIGln
bm9yZWQKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDEyXSAgLy8gZHN0X2FyZ2IKKyAgICBt
b3YgICAgICAgIGVjeCwgW2VzcCArIDE2XSAgLy8gZHN0X3dpZHRoCiAKICAgd2xvb3A6CiAgICAg
bW92ZHF1ICAgICB4bW0wLCBbZWF4XQpAQCAtMTAwNSwyMyArMTAxNiwyMyBAQCB2b2lkIFNjYWxl
QVJHQlJvd0Rvd24yX1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLAogfQogCiAvLyBCbGVuZHMg
OHgxIHJlY3RhbmdsZSB0byA0eDEuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBTY2FsZUFSR0JS
b3dEb3duMkxpbmVhcl9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsIGludCBkc3Rfd2lkdGgpIHsKK19f
ZGVjbHNwZWMobmFrZWQpIHZvaWQgU2NhbGVBUkdCUm93RG93bjJMaW5lYXJfU1NFMihjb25zdCB1
aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHRyZGlmZl90IHNyY19zdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgp
IHsKICAgX19hc20gewotICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgNF0gICAgICAgIC8vIHNy
Y19hcmdiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3JjX3N0cmlk
ZSBpZ25vcmVkCi0gICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyAxMl0gICAgICAgLy8gZHN0X2Fy
Z2IKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDE2XSAgICAgICAvLyBkc3Rfd2lkdGgKKyAg
ICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAvLyBzcmNfYXJnYgorICAgIC8vIHNyY19zdHJp
ZGUgaWdub3JlZAorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgMTJdICAvLyBkc3RfYXJnYgor
ICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTZdICAvLyBkc3Rfd2lkdGgKIAogICB3bG9vcDoK
ICAgICBtb3ZkcXUgICAgIHhtbTAsIFtlYXhdCiAgICAgbW92ZHF1ICAgICB4bW0xLCBbZWF4ICsg
MTZdCiAgICAgbGVhICAgICAgICBlYXgsICBbZWF4ICsgMzJdCiAgICAgbW92ZHFhICAgICB4bW0y
LCB4bW0wCi0gICAgc2h1ZnBzICAgICB4bW0wLCB4bW0xLCAweDg4ICAgICAgLy8gZXZlbiBwaXhl
bHMKLSAgICBzaHVmcHMgICAgIHhtbTIsIHhtbTEsIDB4ZGQgICAgICAvLyBvZGQgcGl4ZWxzCisg
ICAgc2h1ZnBzICAgICB4bW0wLCB4bW0xLCAweDg4ICAvLyBldmVuIHBpeGVscworICAgIHNodWZw
cyAgICAgeG1tMiwgeG1tMSwgMHhkZCAgICAgICAvLyBvZGQgcGl4ZWxzCiAgICAgcGF2Z2IgICAg
ICB4bW0wLCB4bW0yCiAgICAgbW92ZHF1ICAgICBbZWR4XSwgeG1tMAogICAgIGxlYSAgICAgICAg
ZWR4LCBbZWR4ICsgMTZdCkBAIC0xMDMzLDE2ICsxMDQ0LDE2IEBAIHZvaWQgU2NhbGVBUkdCUm93
RG93bjJMaW5lYXJfU1NFMihjb25zdCB1aW50OCogc3JjX2FyZ2IsCiB9CiAKIC8vIEJsZW5kcyA4
eDIgcmVjdGFuZ2xlIHRvIDR4MS4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFNjYWxlQVJHQlJv
d0Rvd24yQm94X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB0cmRpZmZfdCBzcmNfc3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCkgeworX19kZWNsc3BlYyhu
YWtlZCkgdm9pZCBTY2FsZUFSR0JSb3dEb3duMkJveF9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJn
YiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJk
aWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCkgewogICBfX2FzbSB7CiAgICAgcHVz
aCAgICAgICBlc2kKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDQgKyA0XSAgICAvLyBzcmNf
YXJnYgotICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgNCArIDhdICAgIC8vIHNyY19zdHJpZGUK
LSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDQgKyAxMl0gICAvLyBkc3RfYXJnYgotICAgIG1v
diAgICAgICAgZWN4LCBbZXNwICsgNCArIDE2XSAgIC8vIGRzdF93aWR0aAorICAgIG1vdiAgICAg
ICAgZWF4LCBbZXNwICsgNCArIDRdICAvLyBzcmNfYXJnYgorICAgIG1vdiAgICAgICAgZXNpLCBb
ZXNwICsgNCArIDhdICAvLyBzcmNfc3RyaWRlCisgICAgbW92ICAgICAgICBlZHgsIFtlc3AgKyA0
ICsgMTJdICAvLyBkc3RfYXJnYgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgNCArIDE2XSAg
Ly8gZHN0X3dpZHRoCiAKICAgd2xvb3A6CiAgICAgbW92ZHF1ICAgICB4bW0wLCBbZWF4XQpAQCAt
MTA1MCwxMSArMTA2MSwxMSBAQCB2b2lkIFNjYWxlQVJHQlJvd0Rvd24yQm94X1NTRTIoY29uc3Qg
dWludDgqIHNyY19hcmdiLAogICAgIG1vdmRxdSAgICAgeG1tMiwgW2VheCArIGVzaV0KICAgICBt
b3ZkcXUgICAgIHhtbTMsIFtlYXggKyBlc2kgKyAxNl0KICAgICBsZWEgICAgICAgIGVheCwgIFtl
YXggKyAzMl0KLSAgICBwYXZnYiAgICAgIHhtbTAsIHhtbTIgICAgICAgICAgICAvLyBhdmVyYWdl
IHJvd3MKKyAgICBwYXZnYiAgICAgIHhtbTAsIHhtbTIgIC8vIGF2ZXJhZ2Ugcm93cwogICAgIHBh
dmdiICAgICAgeG1tMSwgeG1tMwotICAgIG1vdmRxYSAgICAgeG1tMiwgeG1tMCAgICAgICAgICAg
IC8vIGF2ZXJhZ2UgY29sdW1ucyAoOCB0byA0IHBpeGVscykKLSAgICBzaHVmcHMgICAgIHhtbTAs
IHhtbTEsIDB4ODggICAgICAvLyBldmVuIHBpeGVscwotICAgIHNodWZwcyAgICAgeG1tMiwgeG1t
MSwgMHhkZCAgICAgIC8vIG9kZCBwaXhlbHMKKyAgICBtb3ZkcWEgICAgIHhtbTIsIHhtbTAgIC8v
IGF2ZXJhZ2UgY29sdW1ucyAoOCB0byA0IHBpeGVscykKKyAgICBzaHVmcHMgICAgIHhtbTAsIHht
bTEsIDB4ODggIC8vIGV2ZW4gcGl4ZWxzCisgICAgc2h1ZnBzICAgICB4bW0yLCB4bW0xLCAweGRk
ICAvLyBvZGQgcGl4ZWxzCiAgICAgcGF2Z2IgICAgICB4bW0wLCB4bW0yCiAgICAgbW92ZHF1ICAg
ICBbZWR4XSwgeG1tMAogICAgIGxlYSAgICAgICAgZWR4LCBbZWR4ICsgMTZdCkBAIC0xMDY3LDE4
ICsxMDc4LDE5IEBAIHZvaWQgU2NhbGVBUkdCUm93RG93bjJCb3hfU1NFMihjb25zdCB1aW50OCog
c3JjX2FyZ2IsCiB9CiAKIC8vIFJlYWRzIDQgcGl4ZWxzIGF0IGEgdGltZS4KLV9fZGVjbHNwZWMo
bmFrZWQpCi12b2lkIFNjYWxlQVJHQlJvd0Rvd25FdmVuX1NTRTIoY29uc3QgdWludDgqIHNyY19h
cmdiLCBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3JjX3N0ZXB4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBk
c3RfYXJnYiwgaW50IGRzdF93aWR0aCkgeworX19kZWNsc3BlYyhuYWtlZCkgdm9pZCBTY2FsZUFS
R0JSb3dEb3duRXZlbl9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3Jj
X3N0ZXB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZHN0X3dpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVi
eAogICAgIHB1c2ggICAgICAgZWRpCi0gICAgbW92ICAgICAgICBlYXgsIFtlc3AgKyA4ICsgNF0g
ICAgLy8gc3JjX2FyZ2IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBz
cmNfc3RyaWRlIGlnbm9yZWQKLSAgICBtb3YgICAgICAgIGVieCwgW2VzcCArIDggKyAxMl0gICAv
LyBzcmNfc3RlcHgKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDggKyAxNl0gICAvLyBkc3Rf
YXJnYgotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDIwXSAgIC8vIGRzdF93aWR0aAor
ICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgOCArIDRdICAgLy8gc3JjX2FyZ2IKKyAgICAvLyBz
cmNfc3RyaWRlIGlnbm9yZWQKKyAgICBtb3YgICAgICAgIGVieCwgW2VzcCArIDggKyAxMl0gIC8v
IHNyY19zdGVweAorICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOCArIDE2XSAgLy8gZHN0X2Fy
Z2IKKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDggKyAyMF0gIC8vIGRzdF93aWR0aAogICAg
IGxlYSAgICAgICAgZWJ4LCBbZWJ4ICogNF0KICAgICBsZWEgICAgICAgIGVkaSwgW2VieCArIGVi
eCAqIDJdCiAKQEAgLTExMDMsMjEgKzExMTUsMjEgQEAgdm9pZCBTY2FsZUFSR0JSb3dEb3duRXZl
bl9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgcHRyZGlmZl90IHNyY19zdHJpZGUsCiB9CiAK
IC8vIEJsZW5kcyBmb3VyIDJ4MiB0byA0eDEuCi1fX2RlY2xzcGVjKG5ha2VkKQotdm9pZCBTY2Fs
ZUFSR0JSb3dEb3duRXZlbkJveF9TU0UyKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0ZXB4LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwgaW50IGRzdF93aWR0aCkgeworX19k
ZWNsc3BlYyhuYWtlZCkgdm9pZCBTY2FsZUFSR0JSb3dEb3duRXZlbkJveF9TU0UyKGNvbnN0IHVp
bnQ4KiBzcmNfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdHJkaWZmX3Qgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3N0ZXB4LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4KiBkc3RfYXJnYiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZHN0X3dpZHRoKSB7CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVieAogICAgIHB1c2ggICAg
ICAgZXNpCiAgICAgcHVzaCAgICAgICBlZGkKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDEy
ICsgNF0gICAgLy8gc3JjX2FyZ2IKLSAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDEyICsgOF0g
ICAgLy8gc3JjX3N0cmlkZQotICAgIG1vdiAgICAgICAgZWJ4LCBbZXNwICsgMTIgKyAxMl0gICAv
LyBzcmNfc3RlcHgKLSAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDEyICsgMTZdICAgLy8gZHN0
X2FyZ2IKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyICsgMjBdICAgLy8gZHN0X3dpZHRo
Ci0gICAgbGVhICAgICAgICBlc2ksIFtlYXggKyBlc2ldICAgICAgIC8vIHJvdzEgcG9pbnRlcgor
ICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgMTIgKyA0XSAgLy8gc3JjX2FyZ2IKKyAgICBtb3Yg
ICAgICAgIGVzaSwgW2VzcCArIDEyICsgOF0gIC8vIHNyY19zdHJpZGUKKyAgICBtb3YgICAgICAg
IGVieCwgW2VzcCArIDEyICsgMTJdICAvLyBzcmNfc3RlcHgKKyAgICBtb3YgICAgICAgIGVkeCwg
W2VzcCArIDEyICsgMTZdICAvLyBkc3RfYXJnYgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsg
MTIgKyAyMF0gIC8vIGRzdF93aWR0aAorICAgIGxlYSAgICAgICAgZXNpLCBbZWF4ICsgZXNpXSAg
Ly8gcm93MSBwb2ludGVyCiAgICAgbGVhICAgICAgICBlYngsIFtlYnggKiA0XQogICAgIGxlYSAg
ICAgICAgZWRpLCBbZWJ4ICsgZWJ4ICogMl0KIApAQCAtMTEzMiwxMSArMTE0NCwxMSBAQCB2b2lk
IFNjYWxlQVJHQlJvd0Rvd25FdmVuQm94X1NTRTIoY29uc3QgdWludDgqIHNyY19hcmdiLAogICAg
IG1vdnEgICAgICAgeG1tMywgcXdvcmQgcHRyIFtlc2kgKyBlYnggKiAyXQogICAgIG1vdmhwcyAg
ICAgeG1tMywgcXdvcmQgcHRyIFtlc2kgKyBlZGldCiAgICAgbGVhICAgICAgICBlc2ksICBbZXNp
ICsgZWJ4ICogNF0KLSAgICBwYXZnYiAgICAgIHhtbTAsIHhtbTIgICAgICAgICAgICAvLyBhdmVy
YWdlIHJvd3MKKyAgICBwYXZnYiAgICAgIHhtbTAsIHhtbTIgIC8vIGF2ZXJhZ2Ugcm93cwogICAg
IHBhdmdiICAgICAgeG1tMSwgeG1tMwotICAgIG1vdmRxYSAgICAgeG1tMiwgeG1tMCAgICAgICAg
ICAgIC8vIGF2ZXJhZ2UgY29sdW1ucyAoOCB0byA0IHBpeGVscykKLSAgICBzaHVmcHMgICAgIHht
bTAsIHhtbTEsIDB4ODggICAgICAvLyBldmVuIHBpeGVscwotICAgIHNodWZwcyAgICAgeG1tMiwg
eG1tMSwgMHhkZCAgICAgIC8vIG9kZCBwaXhlbHMKKyAgICBtb3ZkcWEgICAgIHhtbTIsIHhtbTAg
IC8vIGF2ZXJhZ2UgY29sdW1ucyAoOCB0byA0IHBpeGVscykKKyAgICBzaHVmcHMgICAgIHhtbTAs
IHhtbTEsIDB4ODggIC8vIGV2ZW4gcGl4ZWxzCisgICAgc2h1ZnBzICAgICB4bW0yLCB4bW0xLCAw
eGRkICAvLyBvZGQgcGl4ZWxzCiAgICAgcGF2Z2IgICAgICB4bW0wLCB4bW0yCiAgICAgbW92ZHF1
ICAgICBbZWR4XSwgeG1tMAogICAgIGxlYSAgICAgICAgZWR4LCBbZWR4ICsgMTZdCkBAIC0xMTUx
LDI5ICsxMTYzLDMxIEBAIHZvaWQgU2NhbGVBUkdCUm93RG93bkV2ZW5Cb3hfU1NFMihjb25zdCB1
aW50OCogc3JjX2FyZ2IsCiB9CiAKIC8vIENvbHVtbiBzY2FsaW5nIHVuZmlsdGVyZWQuIFNTRTIg
dmVyc2lvbi4KLV9fZGVjbHNwZWMobmFrZWQpCi12b2lkIFNjYWxlQVJHQkNvbHNfU1NFMih1aW50
OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkc3Rfd2lkdGgsIGludCB4LCBpbnQgZHgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZv
aWQgU2NhbGVBUkdCQ29sc19TU0UyKHVpbnQ4KiBkc3RfYXJnYiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgeCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkeCkgewogICBfX2FzbSB7CiAgICAgcHVz
aCAgICAgICBlZGkKICAgICBwdXNoICAgICAgIGVzaQotICAgIG1vdiAgICAgICAgZWRpLCBbZXNw
ICsgOCArIDRdICAgIC8vIGRzdF9hcmdiCi0gICAgbW92ICAgICAgICBlc2ksIFtlc3AgKyA4ICsg
OF0gICAgLy8gc3JjX2FyZ2IKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDggKyAxMl0gICAv
LyBkc3Rfd2lkdGgKKyAgICBtb3YgICAgICAgIGVkaSwgW2VzcCArIDggKyA0XSAgLy8gZHN0X2Fy
Z2IKKyAgICBtb3YgICAgICAgIGVzaSwgW2VzcCArIDggKyA4XSAgLy8gc3JjX2FyZ2IKKyAgICBt
b3YgICAgICAgIGVjeCwgW2VzcCArIDggKyAxMl0gIC8vIGRzdF93aWR0aAogICAgIG1vdmQgICAg
ICAgeG1tMiwgW2VzcCArIDggKyAxNl0gIC8vIHgKICAgICBtb3ZkICAgICAgIHhtbTMsIFtlc3Ag
KyA4ICsgMjBdICAvLyBkeAogCi0gICAgcHNodWZkICAgICB4bW0yLCB4bW0yLCAwICAgICAgICAg
Ly8geDAgeDAgeDAgeDAKLSAgICBwc2h1ZmQgICAgIHhtbTAsIHhtbTMsIDB4MTEgICAgICAvLyBk
eCAgMCBkeCAgMAorICAgIHBzaHVmZCAgICAgeG1tMiwgeG1tMiwgMCAgLy8geDAgeDAgeDAgeDAK
KyAgICBwc2h1ZmQgICAgIHhtbTAsIHhtbTMsIDB4MTEgIC8vIGR4ICAwIGR4ICAwCiAgICAgcGFk
ZGQgICAgICB4bW0yLCB4bW0wCi0gICAgcGFkZGQgICAgICB4bW0zLCB4bW0zICAgICAgICAgICAg
Ly8gMCwgMCwgMCwgIGR4ICogMgotICAgIHBzaHVmZCAgICAgeG1tMCwgeG1tMywgMHgwNSAgICAg
IC8vIGR4ICogMiwgZHggKiAyLCAwLCAwCi0gICAgcGFkZGQgICAgICB4bW0yLCB4bW0wICAgICAg
ICAgICAgLy8geDMgeDIgeDEgeDAKLSAgICBwYWRkZCAgICAgIHhtbTMsIHhtbTMgICAgICAgICAg
ICAvLyAwLCAwLCAwLCAgZHggKiA0Ci0gICAgcHNodWZkICAgICB4bW0zLCB4bW0zLCAwICAgICAg
ICAgLy8gZHggKiA0LCBkeCAqIDQsIGR4ICogNCwgZHggKiA0CisgICAgcGFkZGQgICAgICB4bW0z
LCB4bW0zICAvLyAwLCAwLCAwLCAgZHggKiAyCisgICAgcHNodWZkICAgICB4bW0wLCB4bW0zLCAw
eDA1ICAvLyBkeCAqIDIsIGR4ICogMiwgMCwgMAorICAgIHBhZGRkICAgICAgeG1tMiwgeG1tMCAg
Ly8geDMgeDIgeDEgeDAKKyAgICBwYWRkZCAgICAgIHhtbTMsIHhtbTMgIC8vIDAsIDAsIDAsICBk
eCAqIDQKKyAgICBwc2h1ZmQgICAgIHhtbTMsIHhtbTMsIDAgIC8vIGR4ICogNCwgZHggKiA0LCBk
eCAqIDQsIGR4ICogNAogCi0gICAgcGV4dHJ3ICAgICBlYXgsIHhtbTIsIDEgICAgICAgICAgLy8g
Z2V0IHgwIGludGVnZXIuCi0gICAgcGV4dHJ3ICAgICBlZHgsIHhtbTIsIDMgICAgICAgICAgLy8g
Z2V0IHgxIGludGVnZXIuCisgICAgcGV4dHJ3ICAgICBlYXgsIHhtbTIsIDEgIC8vIGdldCB4MCBp
bnRlZ2VyLgorICAgIHBleHRydyAgICAgZWR4LCB4bW0yLCAzICAvLyBnZXQgeDEgaW50ZWdlci4K
IAogICAgIGNtcCAgICAgICAgZWN4LCAwCiAgICAgamxlICAgICAgICB4bG9vcDk5CkBAIC0xMTg0
LDIwICsxMTk4LDIwIEBAIHZvaWQgU2NhbGVBUkdCQ29sc19TU0UyKHVpbnQ4KiBkc3RfYXJnYiwg
Y29uc3QgdWludDgqIHNyY19hcmdiLAogIHhsb29wNDoKICAgICBtb3ZkICAgICAgIHhtbTAsIFtl
c2kgKyBlYXggKiA0XSAgLy8gMSBzb3VyY2UgeDAgcGl4ZWxzCiAgICAgbW92ZCAgICAgICB4bW0x
LCBbZXNpICsgZWR4ICogNF0gIC8vIDEgc291cmNlIHgxIHBpeGVscwotICAgIHBleHRydyAgICAg
ZWF4LCB4bW0yLCA1ICAgICAgICAgICAvLyBnZXQgeDIgaW50ZWdlci4KLSAgICBwZXh0cncgICAg
IGVkeCwgeG1tMiwgNyAgICAgICAgICAgLy8gZ2V0IHgzIGludGVnZXIuCi0gICAgcGFkZGQgICAg
ICB4bW0yLCB4bW0zICAgICAgICAgICAgIC8vIHggKz0gZHgKLSAgICBwdW5wY2tsZHEgIHhtbTAs
IHhtbTEgICAgICAgICAgICAgLy8geDAgeDEKKyAgICBwZXh0cncgICAgIGVheCwgeG1tMiwgNSAg
Ly8gZ2V0IHgyIGludGVnZXIuCisgICAgcGV4dHJ3ICAgICBlZHgsIHhtbTIsIDcgIC8vIGdldCB4
MyBpbnRlZ2VyLgorICAgIHBhZGRkICAgICAgeG1tMiwgeG1tMyAgLy8geCArPSBkeAorICAgIHB1
bnBja2xkcSAgeG1tMCwgeG1tMSAgLy8geDAgeDEKIAogICAgIG1vdmQgICAgICAgeG1tMSwgW2Vz
aSArIGVheCAqIDRdICAvLyAxIHNvdXJjZSB4MiBwaXhlbHMKICAgICBtb3ZkICAgICAgIHhtbTQs
IFtlc2kgKyBlZHggKiA0XSAgLy8gMSBzb3VyY2UgeDMgcGl4ZWxzCi0gICAgcGV4dHJ3ICAgICBl
YXgsIHhtbTIsIDEgICAgICAgICAgIC8vIGdldCB4MCBpbnRlZ2VyLiBuZXh0IGl0ZXJhdGlvbi4K
LSAgICBwZXh0cncgICAgIGVkeCwgeG1tMiwgMyAgICAgICAgICAgLy8gZ2V0IHgxIGludGVnZXIu
IG5leHQgaXRlcmF0aW9uLgotICAgIHB1bnBja2xkcSAgeG1tMSwgeG1tNCAgICAgICAgICAgICAv
LyB4MiB4MwotICAgIHB1bnBja2xxZHEgeG1tMCwgeG1tMSAgICAgICAgICAgICAvLyB4MCB4MSB4
MiB4MworICAgIHBleHRydyAgICAgZWF4LCB4bW0yLCAxICAvLyBnZXQgeDAgaW50ZWdlci4gbmV4
dCBpdGVyYXRpb24uCisgICAgcGV4dHJ3ICAgICBlZHgsIHhtbTIsIDMgIC8vIGdldCB4MSBpbnRl
Z2VyLiBuZXh0IGl0ZXJhdGlvbi4KKyAgICBwdW5wY2tsZHEgIHhtbTEsIHhtbTQgIC8vIHgyIHgz
CisgICAgcHVucGNrbHFkcSB4bW0wLCB4bW0xICAvLyB4MCB4MSB4MiB4MwogICAgIG1vdmRxdSAg
ICAgW2VkaV0sIHhtbTAKICAgICBsZWEgICAgICAgIGVkaSwgW2VkaSArIDE2XQotICAgIHN1YiAg
ICAgICAgZWN4LCA0ICAgICAgICAgICAgICAgICAvLyA0IHBpeGVscworICAgIHN1YiAgICAgICAg
ZWN4LCA0ICAvLyA0IHBpeGVscwogICAgIGpnZSAgICAgICAgeGxvb3A0CiAKICB4bG9vcDQ5OgpA
QCAtMTIwNyw4ICsxMjIxLDggQEAgdm9pZCBTY2FsZUFSR0JDb2xzX1NTRTIodWludDgqIGRzdF9h
cmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCiAgICAgLy8gMiBQaXhlbHMuCiAgICAgbW92ZCAg
ICAgICB4bW0wLCBbZXNpICsgZWF4ICogNF0gIC8vIDEgc291cmNlIHgwIHBpeGVscwogICAgIG1v
dmQgICAgICAgeG1tMSwgW2VzaSArIGVkeCAqIDRdICAvLyAxIHNvdXJjZSB4MSBwaXhlbHMKLSAg
ICBwZXh0cncgICAgIGVheCwgeG1tMiwgNSAgICAgICAgICAgLy8gZ2V0IHgyIGludGVnZXIuCi0g
ICAgcHVucGNrbGRxICB4bW0wLCB4bW0xICAgICAgICAgICAgIC8vIHgwIHgxCisgICAgcGV4dHJ3
ICAgICBlYXgsIHhtbTIsIDUgIC8vIGdldCB4MiBpbnRlZ2VyLgorICAgIHB1bnBja2xkcSAgeG1t
MCwgeG1tMSAgLy8geDAgeDEKIAogICAgIG1vdnEgICAgICAgcXdvcmQgcHRyIFtlZGldLCB4bW0w
CiAgICAgbGVhICAgICAgICBlZGksIFtlZGkgKyA4XQpAQCAtMTIzMyw1OSArMTI0Nyw2MSBAQCB2
b2lkIFNjYWxlQVJHQkNvbHNfU1NFMih1aW50OCogZHN0X2FyZ2IsIGNvbnN0IHVpbnQ4KiBzcmNf
YXJnYiwKIAogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgYXJyYW5naW5nIDIgcGl4ZWxzIGludG8gcGFp
cnMgZm9yIHBtYWRkdWJzdwogc3RhdGljIHV2ZWM4IGtTaHVmZmxlQ29sQVJHQiA9IHsKLSAgMHUs
IDR1LCAxdSwgNXUsIDJ1LCA2dSwgM3UsIDd1LCAgLy8gYmJnZ3JyYWEgMXN0IHBpeGVsCi0gIDh1
LCAxMnUsIDl1LCAxM3UsIDEwdSwgMTR1LCAxMXUsIDE1dSAgLy8gYmJnZ3JyYWEgMm5kIHBpeGVs
CisgICAgMHUsIDR1LCAgMXUsIDV1LCAgMnUsICA2dSwgIDN1LCAgN3UsICAvLyBiYmdncnJhYSAx
c3QgcGl4ZWwKKyAgICA4dSwgMTJ1LCA5dSwgMTN1LCAxMHUsIDE0dSwgMTF1LCAxNXUgIC8vIGJi
Z2dycmFhIDJuZCBwaXhlbAogfTsKIAogLy8gU2h1ZmZsZSB0YWJsZSBmb3IgZHVwbGljYXRpbmcg
MiBmcmFjdGlvbnMgaW50byA4IGJ5dGVzIGVhY2gKIHN0YXRpYyB1dmVjOCBrU2h1ZmZsZUZyYWN0
aW9ucyA9IHsKLSAgMHUsIDB1LCAwdSwgMHUsIDB1LCAwdSwgMHUsIDB1LCA0dSwgNHUsIDR1LCA0
dSwgNHUsIDR1LCA0dSwgNHUsCisgICAgMHUsIDB1LCAwdSwgMHUsIDB1LCAwdSwgMHUsIDB1LCA0
dSwgNHUsIDR1LCA0dSwgNHUsIDR1LCA0dSwgNHUsCiB9OwogCi1fX2RlY2xzcGVjKG5ha2VkKQot
dm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzX1NTU0UzKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3QgdWlu
dDgqIHNyY19hcmdiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lk
dGgsIGludCB4LCBpbnQgZHgpIHsKK19fZGVjbHNwZWMobmFrZWQpIHZvaWQgU2NhbGVBUkdCRmls
dGVyQ29sc19TU1NFMyh1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19hcmdiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGR4KSB7
CiAgIF9fYXNtIHsKICAgICBwdXNoICAgICAgIGVzaQogICAgIHB1c2ggICAgICAgZWRpCi0gICAg
bW92ICAgICAgICBlZGksIFtlc3AgKyA4ICsgNF0gICAgLy8gZHN0X2FyZ2IKLSAgICBtb3YgICAg
ICAgIGVzaSwgW2VzcCArIDggKyA4XSAgICAvLyBzcmNfYXJnYgotICAgIG1vdiAgICAgICAgZWN4
LCBbZXNwICsgOCArIDEyXSAgIC8vIGRzdF93aWR0aAorICAgIG1vdiAgICAgICAgZWRpLCBbZXNw
ICsgOCArIDRdICAvLyBkc3RfYXJnYgorICAgIG1vdiAgICAgICAgZXNpLCBbZXNwICsgOCArIDhd
ICAvLyBzcmNfYXJnYgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOCArIDEyXSAgLy8gZHN0
X3dpZHRoCiAgICAgbW92ZCAgICAgICB4bW0yLCBbZXNwICsgOCArIDE2XSAgLy8geAogICAgIG1v
dmQgICAgICAgeG1tMywgW2VzcCArIDggKyAyMF0gIC8vIGR4CiAgICAgbW92ZHFhICAgICB4bW00
LCB4bW13b3JkIHB0ciBrU2h1ZmZsZUNvbEFSR0IKICAgICBtb3ZkcWEgICAgIHhtbTUsIHhtbXdv
cmQgcHRyIGtTaHVmZmxlRnJhY3Rpb25zCi0gICAgcGNtcGVxYiAgICB4bW02LCB4bW02ICAgICAg
ICAgICAvLyBnZW5lcmF0ZSAweDAwN2YgZm9yIGludmVydGluZyBmcmFjdGlvbi4KKyAgICBwY21w
ZXFiICAgIHhtbTYsIHhtbTYgIC8vIGdlbmVyYXRlIDB4MDA3ZiBmb3IgaW52ZXJ0aW5nIGZyYWN0
aW9uLgogICAgIHBzcmx3ICAgICAgeG1tNiwgOQotICAgIHBleHRydyAgICAgZWF4LCB4bW0yLCAx
ICAgICAgICAgLy8gZ2V0IHgwIGludGVnZXIuIHByZXJvbGwKKyAgICBwZXh0cncgICAgIGVheCwg
eG1tMiwgMSAgLy8gZ2V0IHgwIGludGVnZXIuIHByZXJvbGwKICAgICBzdWIgICAgICAgIGVjeCwg
MgogICAgIGpsICAgICAgICAgeGxvb3AyOQogCi0gICAgbW92ZHFhICAgICB4bW0wLCB4bW0yICAg
ICAgICAgICAvLyB4MSA9IHgwICsgZHgKKyAgICBtb3ZkcWEgICAgIHhtbTAsIHhtbTIgIC8vIHgx
ID0geDAgKyBkeAogICAgIHBhZGRkICAgICAgeG1tMCwgeG1tMwotICAgIHB1bnBja2xkcSAgeG1t
MiwgeG1tMCAgICAgICAgICAgLy8geDAgeDEKLSAgICBwdW5wY2tsZHEgIHhtbTMsIHhtbTMgICAg
ICAgICAgIC8vIGR4IGR4Ci0gICAgcGFkZGQgICAgICB4bW0zLCB4bW0zICAgICAgICAgICAvLyBk
eCAqIDIsIGR4ICogMgotICAgIHBleHRydyAgICAgZWR4LCB4bW0yLCAzICAgICAgICAgLy8gZ2V0
IHgxIGludGVnZXIuIHByZXJvbGwKKyAgICBwdW5wY2tsZHEgIHhtbTIsIHhtbTAgIC8vIHgwIHgx
CisgICAgcHVucGNrbGRxICB4bW0zLCB4bW0zICAvLyBkeCBkeAorICAgIHBhZGRkICAgICAgeG1t
MywgeG1tMyAgLy8gZHggKiAyLCBkeCAqIDIKKyAgICBwZXh0cncgICAgIGVkeCwgeG1tMiwgMyAg
Ly8gZ2V0IHgxIGludGVnZXIuIHByZXJvbGwKIAogICAgIC8vIDIgUGl4ZWwgbG9vcC4KICAgeGxv
b3AyOgotICAgIG1vdmRxYSAgICAgeG1tMSwgeG1tMiAgICAgICAgICAgLy8geDAsIHgxIGZyYWN0
aW9ucy4KLSAgICBwYWRkZCAgICAgIHhtbTIsIHhtbTMgICAgICAgICAgIC8vIHggKz0gZHgKKyAg
ICBtb3ZkcWEgICAgIHhtbTEsIHhtbTIgIC8vIHgwLCB4MSBmcmFjdGlvbnMuCisgICAgcGFkZGQg
ICAgICB4bW0yLCB4bW0zICAvLyB4ICs9IGR4CiAgICAgbW92cSAgICAgICB4bW0wLCBxd29yZCBw
dHIgW2VzaSArIGVheCAqIDRdICAvLyAyIHNvdXJjZSB4MCBwaXhlbHMKLSAgICBwc3JsdyAgICAg
IHhtbTEsIDkgICAgICAgICAgICAgIC8vIDcgYml0IGZyYWN0aW9ucy4KKyAgICBwc3JsdyAgICAg
IHhtbTEsIDkgIC8vIDcgYml0IGZyYWN0aW9ucy4KICAgICBtb3ZocHMgICAgIHhtbTAsIHF3b3Jk
IHB0ciBbZXNpICsgZWR4ICogNF0gIC8vIDIgc291cmNlIHgxIHBpeGVscwotICAgIHBzaHVmYiAg
ICAgeG1tMSwgeG1tNSAgICAgICAgICAgLy8gMDAwMDAwMDAxMTExMTExMQotICAgIHBzaHVmYiAg
ICAgeG1tMCwgeG1tNCAgICAgICAgICAgLy8gYXJyYW5nZSBwaXhlbHMgaW50byBwYWlycwotICAg
IHB4b3IgICAgICAgeG1tMSwgeG1tNiAgICAgICAgICAgLy8gMC4uN2YgYW5kIDdmLi4wCi0gICAg
cG1hZGR1YnN3ICB4bW0wLCB4bW0xICAgICAgICAgICAvLyBhcmdiX2FyZ2IgMTYgYml0LCAyIHBp
eGVscy4KLSAgICBwZXh0cncgICAgIGVheCwgeG1tMiwgMSAgICAgICAgIC8vIGdldCB4MCBpbnRl
Z2VyLiBuZXh0IGl0ZXJhdGlvbi4KLSAgICBwZXh0cncgICAgIGVkeCwgeG1tMiwgMyAgICAgICAg
IC8vIGdldCB4MSBpbnRlZ2VyLiBuZXh0IGl0ZXJhdGlvbi4KLSAgICBwc3JsdyAgICAgIHhtbTAs
IDcgICAgICAgICAgICAgIC8vIGFyZ2IgOC43IGZpeGVkIHBvaW50IHRvIGxvdyA4IGJpdHMuCi0g
ICAgcGFja3Vzd2IgICB4bW0wLCB4bW0wICAgICAgICAgICAvLyBhcmdiX2FyZ2IgOCBiaXRzLCAy
IHBpeGVscy4KKyAgICBwc2h1ZmIgICAgIHhtbTEsIHhtbTUgIC8vIDAwMDAwMDAwMTExMTExMTEK
KyAgICBwc2h1ZmIgICAgIHhtbTAsIHhtbTQgIC8vIGFycmFuZ2UgcGl4ZWxzIGludG8gcGFpcnMK
KyAgICBweG9yICAgICAgIHhtbTEsIHhtbTYgIC8vIDAuLjdmIGFuZCA3Zi4uMAorICAgIHBtYWRk
dWJzdyAgeG1tMCwgeG1tMSAgLy8gYXJnYl9hcmdiIDE2IGJpdCwgMiBwaXhlbHMuCisgICAgcGV4
dHJ3ICAgICBlYXgsIHhtbTIsIDEgIC8vIGdldCB4MCBpbnRlZ2VyLiBuZXh0IGl0ZXJhdGlvbi4K
KyAgICBwZXh0cncgICAgIGVkeCwgeG1tMiwgMyAgLy8gZ2V0IHgxIGludGVnZXIuIG5leHQgaXRl
cmF0aW9uLgorICAgIHBzcmx3ICAgICAgeG1tMCwgNyAgLy8gYXJnYiA4LjcgZml4ZWQgcG9pbnQg
dG8gbG93IDggYml0cy4KKyAgICBwYWNrdXN3YiAgIHhtbTAsIHhtbTAgIC8vIGFyZ2JfYXJnYiA4
IGJpdHMsIDIgcGl4ZWxzLgogICAgIG1vdnEgICAgICAgcXdvcmQgcHRyIFtlZGldLCB4bW0wCiAg
ICAgbGVhICAgICAgICBlZGksIFtlZGkgKyA4XQotICAgIHN1YiAgICAgICAgZWN4LCAyICAgICAg
ICAgICAgICAgLy8gMiBwaXhlbHMKKyAgICBzdWIgICAgICAgIGVjeCwgMiAgLy8gMiBwaXhlbHMK
ICAgICBqZ2UgICAgICAgIHhsb29wMgogCiAgeGxvb3AyOToKQEAgLTEyOTMsMTUgKzEzMDksMTUg
QEAgdm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzX1NTU0UzKHVpbnQ4KiBkc3RfYXJnYiwgY29uc3Qg
dWludDgqIHNyY19hcmdiLAogICAgIGFkZCAgICAgICAgZWN4LCAyIC0gMQogICAgIGpsICAgICAg
ICAgeGxvb3A5OQogCi0gICAgLy8gMSBwaXhlbCByZW1haW5kZXIKLSAgICBwc3JsdyAgICAgIHht
bTIsIDkgICAgICAgICAgICAgIC8vIDcgYml0IGZyYWN0aW9ucy4KKyAgICAgICAgLy8gMSBwaXhl
bCByZW1haW5kZXIKKyAgICBwc3JsdyAgICAgIHhtbTIsIDkgIC8vIDcgYml0IGZyYWN0aW9ucy4K
ICAgICBtb3ZxICAgICAgIHhtbTAsIHF3b3JkIHB0ciBbZXNpICsgZWF4ICogNF0gIC8vIDIgc291
cmNlIHgwIHBpeGVscwotICAgIHBzaHVmYiAgICAgeG1tMiwgeG1tNSAgICAgICAgICAgLy8gMDAw
MDAwMDAKLSAgICBwc2h1ZmIgICAgIHhtbTAsIHhtbTQgICAgICAgICAgIC8vIGFycmFuZ2UgcGl4
ZWxzIGludG8gcGFpcnMKLSAgICBweG9yICAgICAgIHhtbTIsIHhtbTYgICAgICAgICAgIC8vIDAu
LjdmIGFuZCA3Zi4uMAotICAgIHBtYWRkdWJzdyAgeG1tMCwgeG1tMiAgICAgICAgICAgLy8gYXJn
YiAxNiBiaXQsIDEgcGl4ZWwuCisgICAgcHNodWZiICAgICB4bW0yLCB4bW01ICAvLyAwMDAwMDAw
MAorICAgIHBzaHVmYiAgICAgeG1tMCwgeG1tNCAgLy8gYXJyYW5nZSBwaXhlbHMgaW50byBwYWly
cworICAgIHB4b3IgICAgICAgeG1tMiwgeG1tNiAgLy8gMC4uN2YgYW5kIDdmLi4wCisgICAgcG1h
ZGR1YnN3ICB4bW0wLCB4bW0yICAvLyBhcmdiIDE2IGJpdCwgMSBwaXhlbC4KICAgICBwc3JsdyAg
ICAgIHhtbTAsIDcKLSAgICBwYWNrdXN3YiAgIHhtbTAsIHhtbTAgICAgICAgICAgIC8vIGFyZ2Ig
OCBiaXRzLCAxIHBpeGVsLgorICAgIHBhY2t1c3diICAgeG1tMCwgeG1tMCAgLy8gYXJnYiA4IGJp
dHMsIDEgcGl4ZWwuCiAgICAgbW92ZCAgICAgICBbZWRpXSwgeG1tMAogCiAgeGxvb3A5OToKQEAg
LTEzMTMsMTMgKzEzMjksMTUgQEAgdm9pZCBTY2FsZUFSR0JGaWx0ZXJDb2xzX1NTU0UzKHVpbnQ4
KiBkc3RfYXJnYiwgY29uc3QgdWludDgqIHNyY19hcmdiLAogfQogCiAvLyBSZWFkcyA0IHBpeGVs
cywgZHVwbGljYXRlcyB0aGVtIGFuZCB3cml0ZXMgOCBwaXhlbHMuCi1fX2RlY2xzcGVjKG5ha2Vk
KQotdm9pZCBTY2FsZUFSR0JDb2xzVXAyX1NTRTIodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50
OCogc3JjX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBp
bnQgeCwgaW50IGR4KSB7CitfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIFNjYWxlQVJHQkNvbHNVcDJf
U1NFMih1aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHgpIHsKICAgX19hc20gewotICAgIG1vdiAgICAg
ICAgZWR4LCBbZXNwICsgNF0gICAgLy8gZHN0X2FyZ2IKLSAgICBtb3YgICAgICAgIGVheCwgW2Vz
cCArIDhdICAgIC8vIHNyY19hcmdiCi0gICAgbW92ICAgICAgICBlY3gsIFtlc3AgKyAxMl0gICAv
LyBkc3Rfd2lkdGgKKyAgICBtb3YgICAgICAgIGVkeCwgW2VzcCArIDRdICAvLyBkc3RfYXJnYgor
ICAgIG1vdiAgICAgICAgZWF4LCBbZXNwICsgOF0gIC8vIHNyY19hcmdiCisgICAgbW92ICAgICAg
ICBlY3gsIFtlc3AgKyAxMl0gIC8vIGRzdF93aWR0aAogCiAgIHdsb29wOgogICAgIG1vdmRxdSAg
ICAgeG1tMCwgW2VheF0KQEAgLTEzMzgsMTIgKzEzNTYsMTEgQEAgdm9pZCBTY2FsZUFSR0JDb2xz
VXAyX1NTRTIodWludDgqIGRzdF9hcmdiLCBjb25zdCB1aW50OCogc3JjX2FyZ2IsCiB9CiAKIC8v
IERpdmlkZSBudW0gYnkgZGl2IGFuZCByZXR1cm4gYXMgMTYuMTYgZml4ZWQgcG9pbnQgcmVzdWx0
LgotX19kZWNsc3BlYyhuYWtlZCkKLWludCBGaXhlZERpdl9YODYoaW50IG51bSwgaW50IGRpdikg
eworX19kZWNsc3BlYyhuYWtlZCkgaW50IEZpeGVkRGl2X1g4NihpbnQgbnVtLCBpbnQgZGl2KSB7
CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgIC8vIG51bQotICAg
IGNkcSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXh0ZW5kIG51bSB0byA2NCBiaXRzCi0g
ICAgc2hsZCAgICAgICBlZHgsIGVheCwgMTYgICAgICAvLyAzMi4xNgorICAgIG1vdiAgICAgICAg
ZWF4LCBbZXNwICsgNF0gIC8vIG51bQorICAgIGNkcSAgLy8gZXh0ZW5kIG51bSB0byA2NCBiaXRz
CisgICAgc2hsZCAgICAgICBlZHgsIGVheCwgMTYgIC8vIDMyLjE2CiAgICAgc2hsICAgICAgICBl
YXgsIDE2CiAgICAgaWRpdiAgICAgICBkd29yZCBwdHIgW2VzcCArIDhdCiAgICAgcmV0CkBAIC0x
MzUxLDEzICsxMzY4LDEyIEBAIGludCBGaXhlZERpdl9YODYoaW50IG51bSwgaW50IGRpdikgewog
fQogCiAvLyBEaXZpZGUgbnVtIGJ5IGRpdiBhbmQgcmV0dXJuIGFzIDE2LjE2IGZpeGVkIHBvaW50
IHJlc3VsdC4KLV9fZGVjbHNwZWMobmFrZWQpCi1pbnQgRml4ZWREaXYxX1g4NihpbnQgbnVtLCBp
bnQgZGl2KSB7CitfX2RlY2xzcGVjKG5ha2VkKSBpbnQgRml4ZWREaXYxX1g4NihpbnQgbnVtLCBp
bnQgZGl2KSB7CiAgIF9fYXNtIHsKLSAgICBtb3YgICAgICAgIGVheCwgW2VzcCArIDRdICAgIC8v
IG51bQotICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgOF0gICAgLy8gZGVub20KLSAgICBjZHEg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGV4dGVuZCBudW0gdG8gNjQgYml0cwotICAgIHNo
bGQgICAgICAgZWR4LCBlYXgsIDE2ICAgICAgLy8gMzIuMTYKKyAgICBtb3YgICAgICAgIGVheCwg
W2VzcCArIDRdICAvLyBudW0KKyAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDhdICAvLyBkZW5v
bQorICAgIGNkcSAgLy8gZXh0ZW5kIG51bSB0byA2NCBiaXRzCisgICAgc2hsZCAgICAgICBlZHgs
IGVheCwgMTYgIC8vIDMyLjE2CiAgICAgc2hsICAgICAgICBlYXgsIDE2CiAgICAgc3ViICAgICAg
ICBlYXgsIDB4MDAwMTAwMDEKICAgICBzYmIgICAgICAgIGVkeCwgMApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNl
L3ZpZGVvX2NvbW1vbi5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3NvdXJjZS92aWRlb19jb21tb24uY2MKaW5kZXggMDBmYjcxZTE4YmZi
YThiOGNjNjZlMWM3MjllOGY0NmE2OTZjMTBkMS4uM2U5YzZhMjk1MDIyY2E3MmYwNzBmMjQ2MGI0
M2YzYjg1N2RlMDE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvc291cmNlL3ZpZGVvX2NvbW1vbi5jYworKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zb3VyY2Uv
dmlkZW9fY29tbW9uLmNjCkBAIC04LDcgKzgsNiBAQAogICogIGJlIGZvdW5kIGluIHRoZSBBVVRI
T1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgogICovCiAKLQogI2luY2x1
ZGUgImxpYnl1di92aWRlb19jb21tb24uaCIKIAogI2lmZGVmIF9fY3BsdXNwbHVzCkBAIC0yNCwy
NCArMjMsMjQgQEAgc3RydWN0IEZvdXJDQ0FsaWFzRW50cnkgewogfTsKIAogc3RhdGljIGNvbnN0
IHN0cnVjdCBGb3VyQ0NBbGlhc0VudHJ5IGtGb3VyQ0NBbGlhc2VzW10gPSB7Ci0gIHtGT1VSQ0Nf
SVlVViwgRk9VUkNDX0k0MjB9LAotICB7Rk9VUkNDX1lVMTIsIEZPVVJDQ19JNDIwfSwKLSAge0ZP
VVJDQ19ZVTE2LCBGT1VSQ0NfSTQyMn0sCi0gIHtGT1VSQ0NfWVUyNCwgRk9VUkNDX0k0NDR9LAot
ICB7Rk9VUkNDX1lVWVYsIEZPVVJDQ19ZVVkyfSwKLSAge0ZPVVJDQ19ZVVZTLCBGT1VSQ0NfWVVZ
Mn0sICAvLyBrQ01QaXhlbEZvcm1hdF80MjJZcENiQ3I4X3l1dnMKLSAge0ZPVVJDQ19IRFlDLCBG
T1VSQ0NfVVlWWX0sCi0gIHtGT1VSQ0NfMlZVWSwgRk9VUkNDX1VZVll9LCAgLy8ga0NNUGl4ZWxG
b3JtYXRfNDIyWXBDYkNyOAotICB7Rk9VUkNDX0pQRUcsIEZPVVJDQ19NSlBHfSwgIC8vIE5vdGU6
IEpQRUcgaGFzIERIVCB3aGlsZSBNSlBHIGRvZXMgbm90LgotICB7Rk9VUkNDX0RNQjEsIEZPVVJD
Q19NSlBHfSwKLSAge0ZPVVJDQ19CQTgxLCBGT1VSQ0NfQkdHUn0sICAvLyBkZXByZWNhdGVkLgot
ICB7Rk9VUkNDX1JHQjMsIEZPVVJDQ19SQVcgfSwKLSAge0ZPVVJDQ19CR1IzLCBGT1VSQ0NfMjRC
R30sCi0gIHtGT1VSQ0NfQ00zMiwgRk9VUkNDX0JHUkF9LCAgLy8ga0NNUGl4ZWxGb3JtYXRfMzJB
UkdCCi0gIHtGT1VSQ0NfQ00yNCwgRk9VUkNDX1JBVyB9LCAgLy8ga0NNUGl4ZWxGb3JtYXRfMjRS
R0IKLSAge0ZPVVJDQ19MNTU1LCBGT1VSQ0NfUkdCT30sICAvLyBrQ01QaXhlbEZvcm1hdF8xNkxF
NTU1Ci0gIHtGT1VSQ0NfTDU2NSwgRk9VUkNDX1JHQlB9LCAgLy8ga0NNUGl4ZWxGb3JtYXRfMTZM
RTU2NQotICB7Rk9VUkNDXzU1NTEsIEZPVVJDQ19SR0JPfSwgIC8vIGtDTVBpeGVsRm9ybWF0XzE2
TEU1NTUxCisgICAge0ZPVVJDQ19JWVVWLCBGT1VSQ0NfSTQyMH0sCisgICAge0ZPVVJDQ19ZVTEy
LCBGT1VSQ0NfSTQyMH0sCisgICAge0ZPVVJDQ19ZVTE2LCBGT1VSQ0NfSTQyMn0sCisgICAge0ZP
VVJDQ19ZVTI0LCBGT1VSQ0NfSTQ0NH0sCisgICAge0ZPVVJDQ19ZVVlWLCBGT1VSQ0NfWVVZMn0s
CisgICAge0ZPVVJDQ19ZVVZTLCBGT1VSQ0NfWVVZMn0sICAvLyBrQ01QaXhlbEZvcm1hdF80MjJZ
cENiQ3I4X3l1dnMKKyAgICB7Rk9VUkNDX0hEWUMsIEZPVVJDQ19VWVZZfSwKKyAgICB7Rk9VUkND
XzJWVVksIEZPVVJDQ19VWVZZfSwgIC8vIGtDTVBpeGVsRm9ybWF0XzQyMllwQ2JDcjgKKyAgICB7
Rk9VUkNDX0pQRUcsIEZPVVJDQ19NSlBHfSwgIC8vIE5vdGU6IEpQRUcgaGFzIERIVCB3aGlsZSBN
SlBHIGRvZXMgbm90LgorICAgIHtGT1VSQ0NfRE1CMSwgRk9VUkNDX01KUEd9LAorICAgIHtGT1VS
Q0NfQkE4MSwgRk9VUkNDX0JHR1J9LCAgLy8gZGVwcmVjYXRlZC4KKyAgICB7Rk9VUkNDX1JHQjMs
IEZPVVJDQ19SQVd9LAorICAgIHtGT1VSQ0NfQkdSMywgRk9VUkNDXzI0Qkd9LAorICAgIHtGT1VS
Q0NfQ00zMiwgRk9VUkNDX0JHUkF9LCAgLy8ga0NNUGl4ZWxGb3JtYXRfMzJBUkdCCisgICAge0ZP
VVJDQ19DTTI0LCBGT1VSQ0NfUkFXfSwgICAvLyBrQ01QaXhlbEZvcm1hdF8yNFJHQgorICAgIHtG
T1VSQ0NfTDU1NSwgRk9VUkNDX1JHQk99LCAgLy8ga0NNUGl4ZWxGb3JtYXRfMTZMRTU1NQorICAg
IHtGT1VSQ0NfTDU2NSwgRk9VUkNDX1JHQlB9LCAgLy8ga0NNUGl4ZWxGb3JtYXRfMTZMRTU2NQor
ICAgIHtGT1VSQ0NfNTU1MSwgRk9VUkNDX1JHQk99LCAgLy8ga0NNUGl4ZWxGb3JtYXRfMTZMRTU1
NTEKIH07CiAvLyBUT0RPKGZiYXJjaGFyZCk6IENvbnNpZGVyIG1hcHBpbmcga0NNUGl4ZWxGb3Jt
YXRfMzJCR1JBIHRvIEZPVVJDQ19BUkdCLgogLy8gIHtGT1VSQ0NfQkdSQSwgRk9VUkNDX0FSR0J9
LCAgLy8ga0NNUGl4ZWxGb3JtYXRfMzJCR1JBCkBAIC02Miw0ICs2MSwzIEBAIHVpbnQzMiBDYW5v
bmljYWxGb3VyQ0ModWludDMyIGZvdXJjYykgewogfSAgLy8gZXh0ZXJuICJDIgogfSAgLy8gbmFt
ZXNwYWNlIGxpYnl1dgogI2VuZGlmCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3N5bmNfY2hyb21pdW0ucHkgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di9zeW5jX2No
cm9taXVtLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA0ZTUxYjZiZDZiNTJiYjQw
NWI5Mzg1YzkxMWZkYzgzYzUwOGI5NmRlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L3N5bmNfY2hyb21pdW0ucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNTQgKzAs
MCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jIENvcHlyaWdodCAyMDE0IFRoZSBMaWJZdXYg
UHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBVc2Ugb2YgdGhpcyBz
b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0jIHRoYXQgY2Fu
IGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQot
IyB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQg
Y2FuIGJlIGZvdW5kCi0jIGluIHRoZSBmaWxlIFBBVEVOVFMuIEFsbCBjb250cmlidXRpbmcgcHJv
amVjdCBhdXRob3JzIG1heQotIyBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSBy
b290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLQotIiIiU2NyaXB0IHRvIGRvd25sb2FkIGEgQ2hyb21p
dW0gY2hlY2tvdXQgaW50byB0aGUgd29ya3NwYWNlLgotCi1UaGUgc2NyaXB0IGRvd25sb2FkcyBh
IGZ1bGwgQ2hyb21pdW0gR2l0IGNsb25lIGFuZCBpdHMgREVQUy4KLQotVGhlIGZvbGxvd2luZyBl
bnZpcm9ubWVudCB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byBhbHRlciB0aGUgYmVoYXZpb3I6Ci0q
IENIUk9NSVVNX05PX0hJU1RPUlkgLSBJZiBzZXQgdG8gMSwgYSBHaXQgY2hlY2tvdXQgd2l0aCBu
byBoaXN0b3J5IHdpbGwgYmUKLSAgZG93bmxvYWRlZC4gVGhpcyBpcyBjb25zdW1lcyBsZXNzIGJh
bmR3aWR0aCBhbmQgZGlzayBzcGFjZSBidXQgaXMga25vd24gdG8gYmUKLSAgc2xvd2VyIGluIGdl
bmVyYWwgaWYgeW91IGhhdmUgYSBoaWdoLXNwZWVkIGNvbm5lY3Rpb24uCi0KLUFmdGVyIGEgc3Vj
Y2Vzc2Z1bCBzeW5jIGhhcyBjb21wbGV0ZWQsIGEgLmxhc3Rfc3luY19jaHJvbWl1bSBmaWxlIGlz
IHdyaXR0ZW4gdG8KLXRoZSBjaHJvbWl1bSBkaXJlY3RvcnkuIFdoaWxlIGl0IGV4aXN0cywgbm8g
bW9yZSBnY2xpZW50IHN5bmMgb3BlcmF0aW9ucyB3aWxsIGJlCi1wZXJmb3JtZWQgdW50aWwgdGhl
IC0tdGFyZ2V0LXJldmlzaW9uIGNoYW5nZXMgb3IgdGhlIFNDUklQVF9WRVJTSU9OIGNvbnN0YW50
IGlzCi1pbmNyZW1lbnRlZC4gVGhlIGZpbGUgY2FuIGJlIHJlbW92ZWQgbWFudWFsbHkgdG8gZm9y
Y2UgYSBuZXcgc3luYy4KLSIiIgotCi1pbXBvcnQgYXJncGFyc2UKLWltcG9ydCBvcwotaW1wb3J0
IHN1YnByb2Nlc3MKLWltcG9ydCBzeXMKLQotIyBCdW1wIHRoaXMgd2hlbmV2ZXIgdGhlIGFsZ29y
aXRobSBjaGFuZ2VzIGFuZCB5b3UgbmVlZCBib3RzL2RldnMgdG8gcmUtc3luYywKLSMgaWdub3Jp
bmcgdGhlIC5sYXN0X3N5bmNfY2hyb21pdW0gZmlsZQotU0NSSVBUX1ZFUlNJT04gPSA0Ci0KLVJP
T1RfRElSID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCi1DSFJP
TUlVTV9OT19ISVNUT1JZID0gJ0NIUk9NSVVNX05PX0hJU1RPUlknCi0KLWRlZiBfcGFyc2VfZ2Ns
aWVudF9kaWN0KCk6Ci0gIGdjbGllbnRfZGljdCA9IHt9Ci0gIHRyeToKLSAgICBtYWluX2djbGll
bnQgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKFJPT1RfRElSKSwgJy5nY2xpZW50JykK
LSAgICB3aXRoIG9wZW4obWFpbl9nY2xpZW50LCAncmInKSBhcyBkZXBzX2NvbnRlbnQ6Ci0gICAg
ICBleGVjKGRlcHNfY29udGVudCwgZ2NsaWVudF9kaWN0KQotICBleGNlcHQgRXhjZXB0aW9uIGFz
IGU6Ci0gICAgcHJpbnQgPj4gc3lzLnN0ZGVyciwgJ2Vycm9yIHdoaWxlIHBhcnNpbmcgLmdjbGll
bnQ6JywgZQotICByZXR1cm4gZ2NsaWVudF9kaWN0Ci0KLQotZGVmIGdldF9jYWNoZV9kaXIoKToK
LSAgcmV0dXJuIF9wYXJzZV9nY2xpZW50X2RpY3QoKS5nZXQoJ2NhY2hlX2RpcicpCi0KLQotZGVm
IGdldF90YXJnZXRfb3NfbGlzdCgpOgotICByZXR1cm4gJywnLmpvaW4oX3BhcnNlX2djbGllbnRf
ZGljdCgpLmdldCgndGFyZ2V0X29zJywgW10pKQotCi0KLWRlZiBtYWluKCk6Ci0gIENSX0RJUiA9
IG9zLnBhdGguam9pbihST09UX0RJUiwgJ2Nocm9taXVtJykKLQotICBwID0gYXJncGFyc2UuQXJn
dW1lbnRQYXJzZXIoKQotICBwLmFkZF9hcmd1bWVudCgnLS10YXJnZXQtcmV2aXNpb24nLCByZXF1
aXJlZD1UcnVlLAotICAgICAgICAgICAgICAgICBoZWxwPSdUaGUgdGFyZ2V0IGNocm9taXVtIGdp
dCByZXZpc2lvbiBbUkVRVUlSRURdJykKLSAgcC5hZGRfYXJndW1lbnQoJy0tY2hyb21pdW0tZGly
JywgZGVmYXVsdD1DUl9ESVIsCi0gICAgICAgICAgICAgICAgIGhlbHA9KCdUaGUgcGF0aCB0byB0
aGUgY2hyb21pdW0gZGlyZWN0b3J5IHRvIHN5bmMgJwotICAgICAgICAgICAgICAgICAgICAgICAn
KGRlZmF1bHQ6ICUoZGVmYXVsdClyKScpKQotICBvcHRzID0gcC5wYXJzZV9hcmdzKCkKLSAgb3B0
cy5jaHJvbWl1bV9kaXIgPSBvcy5wYXRoLmFic3BhdGgob3B0cy5jaHJvbWl1bV9kaXIpCi0KLSAg
dGFyZ2V0X29zX2xpc3QgPSBnZXRfdGFyZ2V0X29zX2xpc3QoKQotCi0gICMgRG8gYSBxdWljayBj
aGVjayB0byBzZWUgaWYgd2Ugd2VyZSBzdWNjZXNzZnVsIGxhc3QgdGltZSB0byBtYWtlIHJ1bmhv
b2tzCi0gICMgc29vcGVyIGZhc3QuCi0gIGZsYWdfZmlsZSA9IG9zLnBhdGguam9pbihvcHRzLmNo
cm9taXVtX2RpciwgJy5sYXN0X3N5bmNfY2hyb21pdW0nKQotICBmbGFnX2ZpbGVfY29udGVudCA9
ICdcbicuam9pbihbCi0gICAgc3RyKFNDUklQVF9WRVJTSU9OKSwKLSAgICBvcHRzLnRhcmdldF9y
ZXZpc2lvbiwKLSAgICByZXByKHRhcmdldF9vc19saXN0KSwKLSAgXSkKLSAgaWYgKG9zLnBhdGgu
ZXhpc3RzKG9zLnBhdGguam9pbihvcHRzLmNocm9taXVtX2RpciwgJ3NyYycpKSBhbmQKLSAgICAg
IG9zLnBhdGguZXhpc3RzKGZsYWdfZmlsZSkpOgotICAgIHdpdGggb3BlbihmbGFnX2ZpbGUsICdy
JykgYXMgZjoKLSAgICAgIGlmIGYucmVhZCgpID09IGZsYWdfZmlsZV9jb250ZW50OgotICAgICAg
ICBwcmludCAnQ2hyb21pdW0gYWxyZWFkeSB1cCB0byBkYXRlOiAnLCBvcHRzLnRhcmdldF9yZXZp
c2lvbgotICAgICAgICByZXR1cm4gMAotICAgIG9zLnVubGluayhmbGFnX2ZpbGUpCi0KLSAgZW52
ID0gb3MuZW52aXJvbi5jb3B5KCkKLQotICAjIEF2b2lkIGRvd25sb2FkaW5nIE5hQ2wgdG9vbGNo
YWluIGFzIHBhcnQgb2YgdGhlIENocm9taXVtIGhvb2tzLgotICBlbnZbJ0dZUF9DSFJPTUlVTV9O
T19BQ1RJT04nXSA9ICcxJwotICBnY2xpZW50X2NtZCA9ICdnY2xpZW50LmJhdCcgaWYgc3lzLnBs
YXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpIGVsc2UgJ2djbGllbnQnCi0gIGFyZ3MgPSBbCi0gICAg
ICBnY2xpZW50X2NtZCwgJ3N5bmMnLCAnLS1mb3JjZScsICctLXJldmlzaW9uJywgJ3NyY0AnK29w
dHMudGFyZ2V0X3JldmlzaW9uCi0gIF0KLQotICBpZiBvcy5lbnZpcm9uLmdldCgnQ0hST01FX0hF
QURMRVNTJykgPT0gJzEnOgotICAgICMgUnVubmluZyBvbiBhIGJ1aWxkYm90LgotICAgIGFyZ3Mu
YXBwZW5kKCctdnZ2JykKLQotICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCd3aW4nKToK
LSAgICAgIGNhY2hlX3BhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5zcGxpdGRyaXZlKFJPT1Rf
RElSKVswXSArIG9zLnBhdGguc2VwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
YicsICdnaXQtY2FjaGUnKQotICAgIGVsc2U6Ci0gICAgICBjYWNoZV9wYXRoID0gJy9iL2dpdC1j
YWNoZScKLSAgZWxzZToKLSAgICAjIFN1cHBvcnQgZGV2ZWxvcGVycyBzZXR0aW5nIHRoZSBjYWNo
ZV9kaXIgaW4gLmdjbGllbnQuCi0gICAgY2FjaGVfcGF0aCA9IGdldF9jYWNoZV9kaXIoKQotCi0g
ICMgQWxsb3cgZm9yIHVzZXJzIHdpdGggcG9vciBpbnRlcm5ldCBjb25uZWN0aW9ucyB0byBkb3du
bG9hZCBhIEdpdCBjbG9uZQotICAjIHdpdGhvdXQgaGlzdG9yeSAoc2F2ZXMgc2V2ZXJhbCBnaWdz
IGJ1dCBpcyBnZW5lcmFsbHkgc2xvd2VyIGFuZCBkb2Vzbid0IHdvcmsKLSAgIyB3aXRoIHRoZSBH
aXQgY2FjaGUpLgotICBpZiBvcy5lbnZpcm9uLmdldChDSFJPTUlVTV9OT19ISVNUT1JZKSA9PSAn
MSc6Ci0gICAgaWYgY2FjaGVfcGF0aDoKLSAgICAgIHByaW50ID4+IHN5cy5zdGRlcnIsICgKLSAg
ICAgICAgICAnWW91IGNhbm5vdCB1c2UgIm5vLWhpc3RvcnkiIG1vZGUgZm9yIHN5bmNpbmcgQ2hy
b21lIChpLmUuIHNldCB0aGUgJwotICAgICAgICAgICclcyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0
byAxKSB3aGVuIHlvdSBoYXZlIGNhY2hlX2RpciBjb25maWd1cmVkIGluICcKLSAgICAgICAgICAn
eW91ciAuZ2NsaWVudC4nICUgQ0hST01JVU1fTk9fSElTVE9SWSkKLSAgICAgIHJldHVybiAxCi0g
ICAgYXJncy5hcHBlbmQoJy0tbm8taGlzdG9yeScpCi0gICAgZ2NsaWVudF9lbnRyaWVzX2ZpbGUg
PSBvcy5wYXRoLmpvaW4ob3B0cy5jaHJvbWl1bV9kaXIsICcuZ2NsaWVudF9lbnRyaWVzJykKLSAg
ZWxzZToKLSAgICAjIFdyaXRlIGEgdGVtcG9yYXJ5IC5nY2xpZW50IGZpbGUgdGhhdCBoYXMgdGhl
IGNhY2hlX2RpciB2YXJpYWJsZSBhZGRlZC4KLSAgICBnY2xpZW50ZmlsZSA9IG9zLnBhdGguam9p
bihvcHRzLmNocm9taXVtX2RpciwgJy5nY2xpZW50JykKLSAgICB3aXRoIG9wZW4oZ2NsaWVudGZp
bGUsICdyYicpIGFzIHNwZWM6Ci0gICAgICBzcGVjID0gc3BlYy5yZWFkKCkuc3BsaXRsaW5lcygp
Ci0gICAgICBzcGVjWy0xXSA9ICdjYWNoZV9kaXIgPSAlcicgJSAoY2FjaGVfcGF0aCwpCi0gICAg
d2l0aCBvcGVuKGdjbGllbnRmaWxlICsgJy50bXAnLCAnd2InKSBhcyBmOgotICAgICAgZi53cml0
ZSgnXG4nLmpvaW4oc3BlYykpCi0KLSAgICBhcmdzICs9IFsKLSAgICAgICctLWdjbGllbnRmaWxl
JywgJy5nY2xpZW50LnRtcCcsCi0gICAgICAnLS1kZWxldGVfdW52ZXJzaW9uZWRfdHJlZXMnLCAn
LS1yZXNldCcsICctLXVwc3RyZWFtJwotICAgIF0KLSAgICBnY2xpZW50X2VudHJpZXNfZmlsZSA9
IG9zLnBhdGguam9pbihvcHRzLmNocm9taXVtX2RpciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnLmdjbGllbnQudG1wX2VudHJpZXMnKQotCi0gICMgVG8gYXZvaWQg
Z2NsaWVudCBzeW5jIHByb2JsZW1zIHdoZW4gREVQUyBlbnRyaWVzIGhhdmUgYmVlbiByZW1vdmVk
IHdlIG11c3QKLSAgIyB3aXBlIHRoZSBnY2xpZW50J3MgZW50cmllcyBmaWxlIHRoYXQgY29udGFp
bnMgY2FjaGVkIFVSTHMgZm9yIGFsbCBERVBTLgotICBpZiBvcy5wYXRoLmV4aXN0cyhnY2xpZW50
X2VudHJpZXNfZmlsZSk6Ci0gICAgb3MudW5saW5rKGdjbGllbnRfZW50cmllc19maWxlKQotCi0g
IGlmIHRhcmdldF9vc19saXN0OgotICAgIGFyZ3MgKz0gWyctLWRlcHM9JyArIHRhcmdldF9vc19s
aXN0XQotCi0gIHByaW50ICdSdW5uaW5nICIlcyIgaW4gJXMnICUgKCcgJy5qb2luKGFyZ3MpLCBv
cHRzLmNocm9taXVtX2RpcikKLSAgcmV0ID0gc3VicHJvY2Vzcy5jYWxsKGFyZ3MsIGN3ZD1vcHRz
LmNocm9taXVtX2RpciwgZW52PWVudikKLSAgaWYgcmV0ID09IDA6Ci0gICAgd2l0aCBvcGVuKGZs
YWdfZmlsZSwgJ3diJykgYXMgZjoKLSAgICAgIGYud3JpdGUoZmxhZ19maWxlX2NvbnRlbnQpCi0K
LSAgcmV0dXJuIHJldAotCi0KLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gIHN5cy5leGl0
KG1haW4oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L3RoaXJkX3BhcnR5L2dmbGFncy9CVUlMRC5nbiBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3RoaXJkX3BhcnR5
L2dmbGFncy9CVUlMRC5nbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjlhMDcyMzJj
YzUxN2ViMTY2YzFlZThlMGZhYzUwNzUzZmE3MmE0OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvQlVJTEQuZ24KKysrIC9kZXYv
bnVsbApAQCAtMSw3NiArMCwwIEBACi0jCi0jIENvcHlyaWdodCAyMDE0IFRoZSBMaWJZdXYgUHJv
amVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBVc2Ugb2YgdGhpcyBzb3Vy
Y2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0jIHRoYXQgY2FuIGJl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotIyB0
cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2Fu
IGJlIGZvdW5kCi0jIGluIHRoZSBmaWxlIFBBVEVOVFMuIEFsbCBjb250cmlidXRpbmcgcHJvamVj
dCBhdXRob3JzIG1heQotIyBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290
IG9mIHRoZSBzb3VyY2UgdHJlZS4KLQotIyBUaGlzIGlzIGEgY29weSBvZiBXZWJSVEMncyBCVUlM
RC5nbi4KLQotaWYgKGlzX3dpbikgewotICBnZmxhZ3NfZ2VuX2FyY2hfcm9vdCA9ICJnZW4vd2lu
IgotfSBlbHNlIHsKLSAgZ2ZsYWdzX2dlbl9hcmNoX3Jvb3QgPSAiZ2VuL3Bvc2l4IgotfQotCi1j
b25maWcoImdmbGFnc19jb25maWciKSB7Ci0gIGluY2x1ZGVfZGlycyA9IFsKLSAgICAiJGdmbGFn
c19nZW5fYXJjaF9yb290L2luY2x1ZGUiLCAgIyBGb3IgY29uZmlndXJlZCBmaWxlcy4KLSAgICAi
c3JjL3NyYyIsICAjIEZvciBldmVyeXRoaW5nIGVsc2UuCi0gIF0KLQotICBkZWZpbmVzID0gWwot
ICAgICMgVGhlc2UgbWFjcm9zIGV4aXN0IHNvIGZsYWdzIGFuZCBzeW1ib2xzIGFyZSBwcm9wZXJs
eSBleHBvcnRlZCB3aGVuCi0gICAgIyBidWlsZGluZyBETExzLiBTaW5jZSB3ZSBkb24ndCBidWls
ZCBETExzLCB3ZSBuZWVkIHRvIGRpc2FibGUgdGhlbS4KLSAgICAiR0ZMQUdTX0RMTF9ERUNMPSIs
Ci0gICAgIkdGTEFHU19ETExfREVDTEFSRV9GTEFHPSIsCi0gICAgIkdGTEFHU19ETExfREVGSU5F
X0ZMQUc9IiwKLSAgXQotCi0gICMgR04gb3JkZXJzIGZsYWdzIG9uIGEgdGFyZ2V0IGJlZm9yZSBm
bGFncyBmcm9tIGNvbmZpZ3MuIFRoZSBkZWZhdWx0IGNvbmZpZwotICAjIGFkZHMgLVdhbGwsIGFu
ZCB0aGlzIGZsYWcgaGF2ZSB0byBiZSBhZnRlciAtV2FsbCAtLSBzbyB0aGV5IG5lZWQgdG8KLSAg
IyBjb21lIGZyb20gYSBjb25maWcgYW5kIGNhbid0IGJlIG9uIHRoZSB0YXJnZXQgZGlyZWN0bHku
Ci0gIGlmIChpc19jbGFuZykgewotICAgIGNmbGFncyA9IFsgIi1Xbm8tdW51c2VkLWxvY2FsLXR5
cGVkZWYiIF0KLSAgfQotfQotCi1zb3VyY2Vfc2V0KCJnZmxhZ3MiKSB7Ci0gIGNmbGFncyA9IFtd
Ci0gIHNvdXJjZXMgPSBbCi0gICAgInNyYy9zcmMvZ2ZsYWdzLmNjIiwKLSAgICAic3JjL3NyYy9n
ZmxhZ3NfY29tcGxldGlvbnMuY2MiLAotICAgICJzcmMvc3JjL2dmbGFnc19yZXBvcnRpbmcuY2Mi
LAotICBdCi0gIGlmIChpc193aW4pIHsKLSAgICBzb3VyY2VzICs9IFsgInNyYy9zcmMvd2luZG93
c19wb3J0LmNjIiBdCi0KLSAgICBjZmxhZ3MgKz0gWwotICAgICAgIi93ZDQwMDUiLCAgIyBXSU4z
Ml9MRUFOX0FORF9NRUFOLgotICAgICAgIi93ZDQyNjciLCAgIyBDb252ZXJzaW9uIGZyb20gc2l6
ZV90IHRvICJ0eXBlIi4KLSAgICBdCi0gIH0KLQotICBpbmNsdWRlX2RpcnMgPSBbCi0gICAgIiRn
ZmxhZ3NfZ2VuX2FyY2hfcm9vdC9pbmNsdWRlL2dmbGFncyIsICAjIEZvciBjb25maWd1cmVkIGZp
bGVzLgotICAgICIkZ2ZsYWdzX2dlbl9hcmNoX3Jvb3QvaW5jbHVkZS9wcml2YXRlIiwgICMgRm9y
IGNvbmZpZy5oCi0gIF0KLQotICBwdWJsaWNfY29uZmlncyA9IFsgIjpnZmxhZ3NfY29uZmlnIiBd
Ci0KLSAgY29uZmlncyAtPSBbICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpjaHJvbWl1bV9jb2Rl
IiBdCi0gIGNvbmZpZ3MgKz0gWyAiLy9idWlsZC9jb25maWcvY29tcGlsZXI6bm9fY2hyb21pdW1f
Y29kZSIgXQotCi0gIGlmIChpc193aW4pIHsKLSAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29u
ZmlnL3dpbjp1bmljb2RlIiBdCi0gIH0KLQotICBpZiAoaXNfY2xhbmcpIHsKLSAgICAjIFRPRE8o
YW5kcmV3KTogTG9vayBpbnRvIGZpeGluZyB0aGlzIHdhcm5pbmcgdXBzdHJlYW06Ci0gICAgIyBo
dHRwOi8vY29kZS5nb29nbGUuY29tL3Avd2VicnRjL2lzc3Vlcy9kZXRhaWw/aWQ9NzYwCi0gICAg
Y29uZmlncyAtPSBbICIvL2J1aWxkL2NvbmZpZy9jbGFuZzpleHRyYV93YXJuaW5ncyIgXQotICAg
IGNmbGFncyArPSBbICItV25vLW1pY3Jvc29mdC1pbmNsdWRlIiBdCi0gIH0KLX0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3RoaXJkX3BhcnR5L2dmbGFncy9MSUNFTlNFIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2ZsYWdzL0xJQ0VOU0UKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxNWIwYzI0MTM0ZGU4Y2UwMTg1YWMyMmNiMmRk
OTZlMjM5MTFmYWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
dGhpcmRfcGFydHkvZ2ZsYWdzL0xJQ0VOU0UKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBA
Ci1Db3B5cmlnaHQgKGMpIDIwMDYsIEdvb2dsZSBJbmMuCi1BbGwgcmlnaHRzIHJlc2VydmVkLgot
Ci1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLW1ldDoKLQotICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLW5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKLWNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKLWluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLWRpc3RyaWJ1dGlvbi4KLSAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLWNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi10
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
Ci1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCi0iQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAotTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi1BIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCi1TUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCi1MSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLURBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi1PRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2ZsYWdzL1JF
QURNRS5saWJ5dXYgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvUkVBRE1FLmxpYnl1dgpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNWIzYmMyZGI3MWJkZjRlZmNmNGVhODk0MTczOGQwNmU2MWE0NjM5
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0
eS9nZmxhZ3MvUkVBRE1FLmxpYnl1dgorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLVVS
TDogaHR0cHM6Ly9naXRodWIuY29tL2dmbGFncy9nZmxhZ3MKLVZlcnNpb246IDIuMS4yCi1MaWNl
bnNlOiBOZXcgQlNECi1MaWNlbnNlIEZpbGU6IExJQ0VOU0UKLQotRGVzY3JpcHRpb246Ci1UaGUg
Z2ZsYWdzIHBhY2thZ2UgY29udGFpbnMgYSBsaWJyYXJ5IHRoYXQgaW1wbGVtZW50cyBjb21tYW5k
bGluZQotZmxhZ3MgcHJvY2Vzc2luZy4gQXMgc3VjaCBpdCdzIGEgcmVwbGFjZW1lbnQgZm9yIGdl
dG9wdCgpLiBJdCBoYXMKLWluY3JlYXNlZCBmbGV4aWJpbGl0eSwgaW5jbHVkaW5nIGJ1aWx0LWlu
IHN1cHBvcnQgZm9yIEMrKyB0eXBlcyBsaWtlCi1zdHJpbmcsIGFuZCB0aGUgYWJpbGl0eSB0byBk
ZWZpbmUgZmxhZ3MgaW4gdGhlIHNvdXJjZSBmaWxlIGluIHdoaWNoCi10aGV5J3JlIHVzZWQuCi0K
LUxvY2FsIE1vZGlmaWNhdGlvbnM6IE5vbmUKLQotCi1Ib3cgdG8gdXBkYXRlIHBsYXRmb3JtIGNv
bmZpZ3VyYXRpb24gZmlsZXM6Ci1UaGUgZ2VuLyBkaXJlY3RvcnkgY29udGFpbnMgcHJlLWdlbmVy
YXRlZCBjb25maWd1cmF0aW9uIGhlYWRlciBmaWxlcy4KLUhpc3RvcmljYWxseSwgYWxsIG9wZXJh
dGluZyBzeXN0ZW1zIGFuZCBhcmNoaXRlY3R1cmVzIGhhdmUgZ2VuZXJhdGVkCi1zaW1pbGFyIGNv
bmZpZ3VyYXRpb25zIGV4Y2VwdCBmb3IgV2luZG93cy4gVGhpcyBpcyB3aHkgdGhlcmUncyBvbmx5
Ci1wb3NpeCBhbmQgd2luIGRpcmVjdG9yaWVzIGJlbG93IGdlbi8uCi1XaGVuIHJvbGxpbmcgZ2Zs
YWdzIHRvIGEgbmV3ZXIgdmVyc2lvbiwgaXQncyBhIGdvb2QgaWRlYSB0byBjaGVjayBpZgotbmV3
IGNvbmZpZ3VyYXRpb24gZmlsZXMgbmVlZHMgdG8gYmUgZ2VuZXJhdGVkIGFzIHdlbGwuCi1EbyB0
aGlzIGJ5IHJ1bm5pbmcgLi9jb25maWd1cmUgaW4gdGhlIG5ld2x5IGNoZWNrZWQgb3V0IHZlcnNp
b24gb2YKLWdmbGFncy4gVGhlbiBkaWZmIHRoZSBnZW5lcmF0ZWQgZmlsZXMgd2l0aCB0aGUgb25l
cyBiZWxvdyBnZW4vLgotSWYgeW91IG5vdGljZSBhIGRpZmYsIHVwZGF0ZSB0aGUgZmlsZXMgd2l0
aCB0aGUgdXBkYXRlZCBvbmVzLgotSWYgeW91IHN1c3BlY3QgcGxhdGZvcm0gZGVwZW5kZW5kIGNo
YW5nZXMgb3RoZXIgdGhhbiBXaW5kb3dzLCB5b3UnbGwKLWhhdmUgdG8gY2hlY2tvdXQgZ2ZsYWdz
IG9uIHRoZSBvdGhlciBwbGF0Zm9ybXMgYXMgd2VsbCBhbmQgcnVuCi0uL2NvbmZpZ3VyZSB0aGVy
ZSB0b28uCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3Bvc2l4L2luY2x1ZGUvZ2Zs
YWdzL2dmbGFncy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2ZsYWdzL2dlbi9wb3NpeC9pbmNsdWRlL2dmbGFncy9n
ZmxhZ3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGRiMzhmNWM4NjgyNmIzMWVl
YjFhZjE1ZWE2YmVjOTdkYWZkYmZkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3Bvc2l4L2luY2x1ZGUvZ2ZsYWdzL2dm
bGFncy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTczICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykg
MjAwNiwgR29vZ2xlIEluYy4KLS8vIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLwotLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0vLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCi0vLyBtZXQ6Ci0vLwotLy8gICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS8vIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLS8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKLS8vIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLS8vIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLS8vIGRpc3RyaWJ1dGlvbi4K
LS8vICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKLS8vIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0vLyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotLy8KLS8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLS8vICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
Ci0vLyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKLS8vIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0vLyBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLS8vIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKLS8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAotLy8gREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0vLyBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0v
LyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLS8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLS8vIC0tLQotLy8gUmV2YW1wZWQgYW5k
IHJlb3JnYW5pemVkIGJ5IENyYWlnIFNpbHZlcnN0ZWluCi0vLwotLy8gVGhpcyBpcyB0aGUgZmls
ZSB0aGF0IHNob3VsZCBiZSBpbmNsdWRlZCBieSBhbnkgZmlsZSB3aGljaCBkZWNsYXJlcwotLy8g
b3IgZGVmaW5lcyBhIGNvbW1hbmQgbGluZSBmbGFnIG9yIHdhbnRzIHRvIHBhcnNlIGNvbW1hbmQg
bGluZSBmbGFncwotLy8gb3IgcHJpbnQgYSBwcm9ncmFtIHVzYWdlIG1lc3NhZ2UgKHdoaWNoIHdp
bGwgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dAotLy8gZmxhZ3MpLiAgRXhlY3V0aXZlIHN1bW1h
cnksIGluIHRoZSBmb3JtIG9mIGFuIGV4YW1wbGUgZm9vLmNjIGZpbGU6Ci0vLwotLy8gICAgI2lu
Y2x1ZGUgImZvby5oIiAgICAgICAgIC8vIGZvby5oIGhhcyBhIGxpbmUgIkRFQ0xBUkVfaW50MzIo
c3RhcnQpOyIKLS8vICAgICNpbmNsdWRlICJ2YWxpZGF0b3JzLmgiICAvLyBoeXBvdGhldGljYWwg
ZmlsZSBkZWZpbmluZyBWYWxpZGF0ZUlzRmlsZSgpCi0vLwotLy8gICAgREVGSU5FX2ludDMyKGVu
ZCwgMTAwMCwgIlRoZSBsYXN0IHJlY29yZCB0byByZWFkIik7Ci0vLwotLy8gICAgREVGSU5FX3N0
cmluZyhmaWxlbmFtZSwgIm15X2ZpbGUudHh0IiwgIlRoZSBmaWxlIHRvIHJlYWQiKTsKLS8vICAg
IC8vIENyYXNoIGlmIHRoZSBzcGVjaWZpZWQgZmlsZSBkb2VzIG5vdCBleGlzdC4KLS8vICAgIHN0
YXRpYyBib29sIGR1bW15ID0gUmVnaXN0ZXJGbGFnVmFsaWRhdG9yKCZGTEFHU19maWxlbmFtZSwK
LS8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZWYWxpZGF0
ZUlzRmlsZSk7Ci0vLwotLy8gICAgREVDTEFSRV9ib29sKHZlcmJvc2UpOyAvLyBzb21lIG90aGVy
IGZpbGUgaGFzIGEgREVGSU5FX2Jvb2wodmVyYm9zZSwgLi4uKQotLy8KLS8vICAgIHZvaWQgTXlG
dW5jKCkgewotLy8gICAgICBpZiAoRkxBR1NfdmVyYm9zZSkgcHJpbnRmKCJSZWNvcmRzICVkLSVk
XG4iLCBGTEFHU19zdGFydCwgRkxBR1NfZW5kKTsKLS8vICAgIH0KLS8vCi0vLyAgICBUaGVuLCBh
dCB0aGUgY29tbWFuZC1saW5lOgotLy8gICAgICAgLi9mb28gLS1ub3ZlcmJvc2UgLS1zdGFydD01
IC0tZW5kPTEwMAotLy8KLS8vIEZvciBtb3JlIGRldGFpbHMsIHNlZQotLy8gICAgZG9jL2dmbGFn
cy5odG1sCi0vLwotLy8gLS0tIEEgbm90ZSBhYm91dCB0aHJlYWQtc2FmZXR5OgotLy8KLS8vIFdl
IGRlc2NyaWJlIG1hbnkgZnVuY3Rpb25zIGluIHRoaXMgcm91dGluZSBhcyBiZWluZyB0aHJlYWQt
aG9zdGlsZSwKLS8vIHRocmVhZC1jb21wYXRpYmxlLCBvciB0aHJlYWQtc2FmZS4gIEhlcmUgYXJl
IHRoZSBtZWFuaW5ncyB3ZSB1c2U6Ci0vLwotLy8gdGhyZWFkLXNhZmU6IGl0IGlzIHNhZmUgZm9y
IG11bHRpcGxlIHRocmVhZHMgdG8gY2FsbCB0aGlzIHJvdXRpbmUKLS8vICAgKG9yLCB3aGVuIHJl
ZmVycmluZyB0byBhIGNsYXNzLCBtZXRob2RzIG9mIHRoaXMgY2xhc3MpCi0vLyAgIGNvbmN1cnJl
bnRseS4KLS8vIHRocmVhZC1ob3N0aWxlOiBpdCBpcyBub3Qgc2FmZSBmb3IgbXVsdGlwbGUgdGhy
ZWFkcyB0byBjYWxsIHRoaXMKLS8vICAgcm91dGluZSAob3IgbWV0aG9kcyBvZiB0aGlzIGNsYXNz
KSBjb25jdXJyZW50bHkuICBJbiBnZmxhZ3MsCi0vLyAgIG1vc3QgdGhyZWFkLWhvc3RpbGUgcm91
dGluZXMgYXJlIGludGVuZGVkIHRvIGJlIGNhbGxlZCBlYXJseSBpbiwKLS8vICAgb3IgZXZlbiBi
ZWZvcmUsIG1haW4oKSAtLSB0aGF0IGlzLCBiZWZvcmUgdGhyZWFkcyBhcmUgc3Bhd25lZC4KLS8v
IHRocmVhZC1jb21wYXRpYmxlOiBpdCBpcyBzYWZlIGZvciBtdWx0aXBsZSB0aHJlYWRzIHRvIHJl
YWQgZnJvbQotLy8gICB0aGlzIHZhcmlhYmxlICh3aGVuIGFwcGxpZWQgdG8gdmFyaWFibGVzKSwg
b3IgdG8gY2FsbCBjb25zdAotLy8gICBtZXRob2RzIG9mIHRoaXMgY2xhc3MgKHdoZW4gYXBwbGll
ZCB0byBjbGFzc2VzKSwgYXMgbG9uZyBhcyBubwotLy8gICBvdGhlciB0aHJlYWQgaXMgd3JpdGlu
ZyB0byB0aGUgdmFyaWFibGUgb3IgY2FsbGluZyBub24tY29uc3QKLS8vICAgbWV0aG9kcyBvZiB0
aGlzIGNsYXNzLgotCi0jaWZuZGVmIEdGTEFHU19HRkxBR1NfSF8KLSNkZWZpbmUgR0ZMQUdTX0dG
TEFHU19IXwotCi0jaW5jbHVkZSA8c3RyaW5nPgotI2luY2x1ZGUgPHZlY3Rvcj4KLQotI2luY2x1
ZGUgImdmbGFnc19kZWNsYXJlLmgiIC8vIElXWVUgcHJhZ21hOiBleHBvcnQKLQotCi0vLyBXZSBh
bHdheXMgd2FudCB0byBleHBvcnQgdmFyaWFibGVzIGRlZmluZWQgaW4gdXNlciBjb2RlCi0jaWZu
ZGVmIEdGTEFHU19ETExfREVGSU5FX0ZMQUcKLSMgIGlmZGVmIF9NU0NfVkVSCi0jICAgIGRlZmlu
ZSBHRkxBR1NfRExMX0RFRklORV9GTEFHIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQotIyAgZWxzZQot
IyAgICBkZWZpbmUgR0ZMQUdTX0RMTF9ERUZJTkVfRkxBRwotIyAgZW5kaWYKLSNlbmRpZgotCi0K
LW5hbWVzcGFjZSBHRkxBR1NfTkFNRVNQQUNFIHsKLQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gVG8g
YWN0dWFsbHkgZGVmaW5lIGEgZmxhZyBpbiBhIGZpbGUsIHVzZSBERUZJTkVfYm9vbCwKLS8vIERF
RklORV9zdHJpbmcsIGV0Yy4gYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUuICBZb3UgbWF5IGFs
c28gZmluZAotLy8gaXQgdXNlZnVsIHRvIHJlZ2lzdGVyIGEgdmFsaWRhdG9yIHdpdGggdGhlIGZs
YWcuICBUaGlzIGVuc3VyZXMgdGhhdAotLy8gd2hlbiB0aGUgZmxhZyBpcyBwYXJzZWQgZnJvbSB0
aGUgY29tbWFuZGxpbmUsIG9yIGlzIGxhdGVyIHNldCB2aWEKLS8vIFNldENvbW1hbmRMaW5lT3B0
aW9uLCB3ZSBjYWxsIHRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uLiBJdCBpcyBfbm90XwotLy8gY2Fs
bGVkIHdoZW4geW91IGFzc2lnbiB0aGUgdmFsdWUgdG8gdGhlIGZsYWcgZGlyZWN0bHkgdXNpbmcg
dGhlID0gb3BlcmF0b3IuCi0vLwotLy8gVGhlIHZhbGlkYXRpb24gZnVuY3Rpb24gc2hvdWxkIHJl
dHVybiB0cnVlIGlmIHRoZSBmbGFnIHZhbHVlIGlzIHZhbGlkLCBhbmQKLS8vIGZhbHNlIG90aGVy
d2lzZS4gSWYgdGhlIGZ1bmN0aW9uIHJldHVybnMgZmFsc2UgZm9yIHRoZSBuZXcgc2V0dGluZyBv
ZiB0aGUKLS8vIGZsYWcsIHRoZSBmbGFnIHdpbGwgcmV0YWluIGl0cyBjdXJyZW50IHZhbHVlLiBJ
ZiBpdCByZXR1cm5zIGZhbHNlIGZvciB0aGUKLS8vIGRlZmF1bHQgdmFsdWUsIFBhcnNlQ29tbWFu
ZExpbmVGbGFncygpIHdpbGwgZGllLgotLy8KLS8vIFRoaXMgZnVuY3Rpb24gaXMgc2FmZSB0byBj
YWxsIGF0IGdsb2JhbCBjb25zdHJ1Y3QgdGltZSAoYXMgaW4gdGhlCi0vLyBleGFtcGxlIGJlbG93
KS4KLS8vCi0vLyBFeGFtcGxlIHVzZToKLS8vICAgIHN0YXRpYyBib29sIFZhbGlkYXRlUG9ydChj
b25zdCBjaGFyKiBmbGFnbmFtZSwgaW50MzIgdmFsdWUpIHsKLS8vICAgICAgIGlmICh2YWx1ZSA+
IDAgJiYgdmFsdWUgPCAzMjc2OCkgICAvLyB2YWx1ZSBpcyBvawotLy8gICAgICAgICByZXR1cm4g
dHJ1ZTsKLS8vICAgICAgIHByaW50ZigiSW52YWxpZCB2YWx1ZSBmb3IgLS0lczogJWRcbiIsIGZs
YWduYW1lLCAoaW50KXZhbHVlKTsKLS8vICAgICAgIHJldHVybiBmYWxzZTsKLS8vICAgIH0KLS8v
ICAgIERFRklORV9pbnQzMihwb3J0LCAwLCAiV2hhdCBwb3J0IHRvIGxpc3RlbiBvbiIpOwotLy8g
ICAgc3RhdGljIGJvb2wgZHVtbXkgPSBSZWdpc3RlckZsYWdWYWxpZGF0b3IoJkZMQUdTX3BvcnQs
ICZWYWxpZGF0ZVBvcnQpOwotCi0vLyBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bGx5IHJlZ2lz
dGVyZWQsIGZhbHNlIGlmIG5vdCAoYmVjYXVzZSB0aGUKLS8vIGZpcnN0IGFyZ3VtZW50IGRvZXNu
J3QgcG9pbnQgdG8gYSBjb21tYW5kLWxpbmUgZmxhZywgb3IgYmVjYXVzZSBhCi0vLyB2YWxpZGF0
b3IgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGZvciB0aGlzIGZsYWcpLgotZXh0ZXJuIEdGTEFHU19E
TExfREVDTCBib29sIFJlZ2lzdGVyRmxhZ1ZhbGlkYXRvcihjb25zdCBib29sKiAgICAgICAgZmxh
ZywgYm9vbCAoKnZhbGlkYXRlX2ZuKShjb25zdCBjaGFyKiwgYm9vbCkpOwotZXh0ZXJuIEdGTEFH
U19ETExfREVDTCBib29sIFJlZ2lzdGVyRmxhZ1ZhbGlkYXRvcihjb25zdCBpbnQzMiogICAgICAg
ZmxhZywgYm9vbCAoKnZhbGlkYXRlX2ZuKShjb25zdCBjaGFyKiwgaW50MzIpKTsKLWV4dGVybiBH
RkxBR1NfRExMX0RFQ0wgYm9vbCBSZWdpc3RlckZsYWdWYWxpZGF0b3IoY29uc3QgaW50NjQqICAg
ICAgIGZsYWcsIGJvb2wgKCp2YWxpZGF0ZV9mbikoY29uc3QgY2hhciosIGludDY0KSk7Ci1leHRl
cm4gR0ZMQUdTX0RMTF9ERUNMIGJvb2wgUmVnaXN0ZXJGbGFnVmFsaWRhdG9yKGNvbnN0IHVpbnQ2
NCogICAgICBmbGFnLCBib29sICgqdmFsaWRhdGVfZm4pKGNvbnN0IGNoYXIqLCB1aW50NjQpKTsK
LWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgYm9vbCBSZWdpc3RlckZsYWdWYWxpZGF0b3IoY29uc3Qg
ZG91YmxlKiAgICAgIGZsYWcsIGJvb2wgKCp2YWxpZGF0ZV9mbikoY29uc3QgY2hhciosIGRvdWJs
ZSkpOwotZXh0ZXJuIEdGTEFHU19ETExfREVDTCBib29sIFJlZ2lzdGVyRmxhZ1ZhbGlkYXRvcihj
b25zdCBzdGQ6OnN0cmluZyogZmxhZywgYm9vbCAoKnZhbGlkYXRlX2ZuKShjb25zdCBjaGFyKiwg
Y29uc3Qgc3RkOjpzdHJpbmcmKSk7Ci0KLS8vIENvbnZlbmllbmNlIG1hY3JvIGZvciB0aGUgcmVn
aXN0cmF0aW9uIG9mIGEgZmxhZyB2YWxpZGF0b3IKLSNkZWZpbmUgREVGSU5FX3ZhbGlkYXRvcihu
YW1lLCB2YWxpZGF0b3IpIFwKLSAgICBzdGF0aWMgY29uc3QgYm9vbCBuYW1lIyNfdmFsaWRhdG9y
X3JlZ2lzdGVyZWQgPSBcCi0gICAgICAgICAgICBHRkxBR1NfTkFNRVNQQUNFOjpSZWdpc3RlckZs
YWdWYWxpZGF0b3IoJkZMQUdTXyMjbmFtZSwgdmFsaWRhdG9yKQotCi0KLS8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0vLyBUaGVzZSBtZXRob2RzIGFyZSB0aGUgYmVzdCB3YXkgdG8gZ2V0IGFjY2VzcyB0byBpbmZv
IGFib3V0IHRoZQotLy8gbGlzdCBvZiBjb21tYW5kbGluZSBmbGFncy4gIE5vdGUgdGhhdCB0aGVz
ZSByb3V0aW5lcyBhcmUgcHJldHR5IHNsb3cuCi0vLyAgIEdldEFsbEZsYWdzOiBtb3N0bHktY29t
cGxldGUgaW5mbyBhYm91dCB0aGUgbGlzdCwgc29ydGVkIGJ5IGZpbGUuCi0vLyAgIFNob3dVc2Fn
ZVdpdGhGbGFnczogcHJldHR5LXByaW50cyB0aGUgbGlzdCB0byBzdGRvdXQgKHdoYXQgLS1oZWxw
IGRvZXMpCi0vLyAgIFNob3dVc2FnZVdpdGhGbGFnc1Jlc3RyaWN0OiBsaW1pdCB0byBmaWxlbmFt
ZXMgd2l0aCByZXN0cmljdCBhcyBhIHN1YnN0cgotLy8KLS8vIEluIGFkZGl0aW9uIHRvIGFjY2Vz
c2luZyBmbGFncywgeW91IGNhbiBhbHNvIGFjY2VzcyBhcmd2WzBdICh0aGUgcHJvZ3JhbQotLy8g
bmFtZSkgYW5kIGFyZ3YgKHRoZSBlbnRpcmUgY29tbWFuZGxpbmUpLCB3aGljaCB3ZSBzb2NrIGF3
YXkgYSBjb3B5IG9mLgotLy8gVGhlc2UgdmFyaWFibGVzIGFyZSBzdGF0aWMsIHNvIHlvdSBzaG91
bGQgb25seSBzZXQgdGhlbSBvbmNlLgotLy8KLS8vIE5vIG5lZWQgdG8gZXhwb3J0IHRoaXMgZGF0
YSBvbmx5IHN0cnVjdHVyZSBmcm9tIERMTCwgYXZvaWRpbmcgVlMgd2FybmluZyA0MjUxLgotc3Ry
dWN0IENvbW1hbmRMaW5lRmxhZ0luZm8gewotICBzdGQ6OnN0cmluZyBuYW1lOyAgICAgICAgICAg
IC8vIHRoZSBuYW1lIG9mIHRoZSBmbGFnCi0gIHN0ZDo6c3RyaW5nIHR5cGU7ICAgICAgICAgICAg
Ly8gdGhlIHR5cGUgb2YgdGhlIGZsYWc6IGludDMyLCBldGMKLSAgc3RkOjpzdHJpbmcgZGVzY3Jp
cHRpb247ICAgICAvLyB0aGUgImhlbHAgdGV4dCIgYXNzb2NpYXRlZCB3aXRoIHRoZSBmbGFnCi0g
IHN0ZDo6c3RyaW5nIGN1cnJlbnRfdmFsdWU7ICAgLy8gdGhlIGN1cnJlbnQgdmFsdWUsIGFzIGEg
c3RyaW5nCi0gIHN0ZDo6c3RyaW5nIGRlZmF1bHRfdmFsdWU7ICAgLy8gdGhlIGRlZmF1bHQgdmFs
dWUsIGFzIGEgc3RyaW5nCi0gIHN0ZDo6c3RyaW5nIGZpbGVuYW1lOyAgICAgICAgLy8gJ2NsZWFu
ZWQnIHZlcnNpb24gb2YgZmlsZW5hbWUgaG9sZGluZyB0aGUgZmxhZwotICBib29sIGhhc192YWxp
ZGF0b3JfZm47ICAgICAgIC8vIHRydWUgaWYgUmVnaXN0ZXJGbGFnVmFsaWRhdG9yIGNhbGxlZCBv
biB0aGlzIGZsYWcKLSAgYm9vbCBpc19kZWZhdWx0OyAgICAgICAgICAgICAvLyB0cnVlIGlmIHRo
ZSBmbGFnIGhhcyB0aGUgZGVmYXVsdCB2YWx1ZSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBoYXMgbm90IGJlZW4gc2V0IGV4cGxpY2l0bHkgZnJvbSB0aGUgY21kbGluZQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yIHZpYSBTZXRDb21tYW5kTGluZU9w
dGlvbgotICBjb25zdCB2b2lkKiBmbGFnX3B0cjsgICAgICAgIC8vIHBvaW50ZXIgdG8gdGhlIGZs
YWcncyBjdXJyZW50IHZhbHVlIChpLmUuIEZMQUdTX2ZvbykKLX07Ci0KLS8vIFVzaW5nIHRoaXMg
aW5zaWRlIG9mIGEgdmFsaWRhdG9yIGlzIGEgcmVjaXBlIGZvciBhIGRlYWRsb2NrLgotLy8gVE9E
Tyh1c2VyKSBGaXggbG9ja2luZyB3aGVuIHZhbGlkYXRvcnMgYXJlIHJ1bm5pbmcsIHRvIG1ha2Ug
aXQgc2FmZSB0bwotLy8gY2FsbCB2YWxpZGF0b3JzIGR1cmluZyBQYXJzZUFsbEZsYWdzLgotLy8g
QWxzbyBtYWtlIHN1cmUgdGhlbiB0byB1bmNvbW1lbnQgdGhlIGNvcnJlc3BvbmRpbmcgdW5pdCB0
ZXN0IGluCi0vLyBnZmxhZ3NfdW5pdHRlc3Quc2gKLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgdm9p
ZCBHZXRBbGxGbGFncyhzdGQ6OnZlY3RvcjxDb21tYW5kTGluZUZsYWdJbmZvPiogT1VUUFVUKTsK
LS8vIFRoZXNlIHR3byBhcmUgYWN0dWFsbHkgZGVmaW5lZCBpbiBnZmxhZ3NfcmVwb3J0aW5nLmNj
LgotZXh0ZXJuIEdGTEFHU19ETExfREVDTCB2b2lkIFNob3dVc2FnZVdpdGhGbGFncyhjb25zdCBj
aGFyICphcmd2MCk7ICAvLyB3aGF0IC0taGVscCBkb2VzCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNM
IHZvaWQgU2hvd1VzYWdlV2l0aEZsYWdzUmVzdHJpY3QoY29uc3QgY2hhciAqYXJndjAsIGNvbnN0
IGNoYXIgKnJlc3RyaWN0KTsKLQotLy8gQ3JlYXRlIGEgZGVzY3JpcHRpdmUgc3RyaW5nIGZvciBh
IGZsYWcuCi0vLyBHb2VzIHRvIHNvbWUgdHJvdWJsZSB0byBtYWtlIHByZXR0eSBsaW5lIGJyZWFr
cy4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgc3RkOjpzdHJpbmcgRGVzY3JpYmVPbmVGbGFnKGNv
bnN0IENvbW1hbmRMaW5lRmxhZ0luZm8mIGZsYWcpOwotCi0vLyBUaHJlYWQtaG9zdGlsZTsgbWVh
bnQgdG8gYmUgY2FsbGVkIGJlZm9yZSBhbnkgdGhyZWFkcyBhcmUgc3Bhd25lZC4KLWV4dGVybiBH
RkxBR1NfRExMX0RFQ0wgdm9pZCBTZXRBcmd2KGludCBhcmdjLCBjb25zdCBjaGFyKiogYXJndik7
Ci0KLS8vIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSB0aHJlYWQtc2FmZSBhcyBsb25nIGFz
IFNldEFyZ3YoKSBpcwotLy8gb25seSBjYWxsZWQgYmVmb3JlIGFueSB0aHJlYWRzIHN0YXJ0Lgot
ZXh0ZXJuIEdGTEFHU19ETExfREVDTCBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mIEdl
dEFyZ3ZzKCk7Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGNvbnN0IGNoYXIqIEdldEFyZ3YoKTsg
ICAgICAgICAgICAgICAgICAgICAgLy8gYWxsIG9mIGFyZ3YgYXMgYSBzdHJpbmcKLWV4dGVybiBH
RkxBR1NfRExMX0RFQ0wgY29uc3QgY2hhciogR2V0QXJndjAoKTsgICAgICAgICAgICAgICAgICAg
ICAvLyBvbmx5IGFyZ3YwCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIHVpbnQzMiBHZXRBcmd2U3Vt
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2ltcGxlIGNoZWNrc3VtIG9mIGFyZ3YKLWV4
dGVybiBHRkxBR1NfRExMX0RFQ0wgY29uc3QgY2hhciogUHJvZ3JhbUludm9jYXRpb25OYW1lKCk7
ICAgICAgICAvLyBhcmd2MCwgb3IgIlVOS05PV04iIGlmIG5vdCBzZXQKLWV4dGVybiBHRkxBR1Nf
RExMX0RFQ0wgY29uc3QgY2hhciogUHJvZ3JhbUludm9jYXRpb25TaG9ydE5hbWUoKTsgICAvLyBi
YXNlbmFtZShhcmd2MCkKLQotLy8gUHJvZ3JhbVVzYWdlKCkgaXMgdGhyZWFkLXNhZmUgYXMgbG9u
ZyBhcyBTZXRVc2FnZU1lc3NhZ2UoKSBpcyBvbmx5Ci0vLyBjYWxsZWQgYmVmb3JlIGFueSB0aHJl
YWRzIHN0YXJ0LgotZXh0ZXJuIEdGTEFHU19ETExfREVDTCBjb25zdCBjaGFyKiBQcm9ncmFtVXNh
Z2UoKTsgICAgICAgICAgICAgICAgIC8vIHN0cmluZyBzZXQgYnkgU2V0VXNhZ2VNZXNzYWdlKCkK
LQotLy8gVmVyc2lvblN0cmluZygpIGlzIHRocmVhZC1zYWZlIGFzIGxvbmcgYXMgU2V0VmVyc2lv
blN0cmluZygpIGlzIG9ubHkKLS8vIGNhbGxlZCBiZWZvcmUgYW55IHRocmVhZHMgc3RhcnQuCi1l
eHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGNvbnN0IGNoYXIqIFZlcnNpb25TdHJpbmcoKTsgICAgICAg
ICAgICAgICAgLy8gc3RyaW5nIHNldCBieSBTZXRWZXJzaW9uU3RyaW5nKCkKLQotCi0KLS8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0vLyBOb3JtYWxseSB5b3UgYWNjZXNzIGNvbW1hbmRsaW5lIGZsYWdzIGJ5IGp1
c3Qgc2F5aW5nICJpZiAoRkxBR1NfZm9vKSIKLS8vIG9yIHdoYXRldmVyLCBhbmQgc2V0IHRoZW0g
YnkgY2FsbGluZyAiRkxBR1NfZm9vID0gYmFyIiAob3IsIG1vcmUKLS8vIGNvbW1vbmx5LCB2aWEg
dGhlIERFRklORV9mb28gbWFjcm8pLiAgQnV0IGlmIHlvdSBuZWVkIGEgYml0IG1vcmUKLS8vIGNv
bnRyb2wsIHdlIGhhdmUgcHJvZ3JhbW1hdGljIHdheXMgdG8gZ2V0L3NldCB0aGUgZmxhZ3MgYXMg
d2VsbC4KLS8vIFRoZXNlIHByb2dyYW1tYXRpYyB3YXlzIHRvIGFjY2VzcyBmbGFncyBhcmUgdGhy
ZWFkLXNhZmUsIGJ1dCBkaXJlY3QKLS8vIGFjY2VzcyBpcyBvbmx5IHRocmVhZC1jb21wYXRpYmxl
LgotCi0vLyBSZXR1cm4gdHJ1ZSBpZmYgdGhlIGZsYWduYW1lIHdhcyBmb3VuZC4KLS8vIE9VVFBV
VCBpcyBzZXQgdG8gdGhlIGZsYWcncyB2YWx1ZSwgb3IgdW5jaGFuZ2VkIGlmIHdlIHJldHVybiBm
YWxzZS4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgYm9vbCBHZXRDb21tYW5kTGluZU9wdGlvbihj
b25zdCBjaGFyKiBuYW1lLCBzdGQ6OnN0cmluZyogT1VUUFVUKTsKLQotLy8gUmV0dXJuIHRydWUg
aWZmIHRoZSBmbGFnbmFtZSB3YXMgZm91bmQuIE9VVFBVVCBpcyBzZXQgdG8gdGhlIGZsYWcncwot
Ly8gQ29tbWFuZExpbmVGbGFnSW5mbyBvciB1bmNoYW5nZWQgaWYgd2UgcmV0dXJuIGZhbHNlLgot
ZXh0ZXJuIEdGTEFHU19ETExfREVDTCBib29sIEdldENvbW1hbmRMaW5lRmxhZ0luZm8oY29uc3Qg
Y2hhciogbmFtZSwgQ29tbWFuZExpbmVGbGFnSW5mbyogT1VUUFVUKTsKLQotLy8gUmV0dXJuIHRo
ZSBDb21tYW5kTGluZUZsYWdJbmZvIG9mIHRoZSBmbGFnbmFtZS4gIGV4aXQoKSBpZiBuYW1lIG5v
dCBmb3VuZC4KLS8vIEV4YW1wbGUgdXNhZ2UsIHRvIGNoZWNrIGlmIGEgZmxhZydzIHZhbHVlIGlz
IGN1cnJlbnRseSB0aGUgZGVmYXVsdCB2YWx1ZToKLS8vICAgaWYgKEdldENvbW1hbmRMaW5lRmxh
Z0luZm9PckRpZSgiZm9vIikuaXNfZGVmYXVsdCkgLi4uCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNM
IENvbW1hbmRMaW5lRmxhZ0luZm8gR2V0Q29tbWFuZExpbmVGbGFnSW5mb09yRGllKGNvbnN0IGNo
YXIqIG5hbWUpOwotCi1lbnVtIEdGTEFHU19ETExfREVDTCBGbGFnU2V0dGluZ01vZGUgewotICAv
LyB1cGRhdGUgdGhlIGZsYWcncyB2YWx1ZSAoY2FuIGNhbGwgdGhpcyBtdWx0aXBsZSB0aW1lcyku
Ci0gIFNFVF9GTEFHU19WQUxVRSwKLSAgLy8gdXBkYXRlIHRoZSBmbGFnJ3MgdmFsdWUsIGJ1dCAq
b25seSBpZiogaXQgaGFzIG5vdCB5ZXQgYmVlbiB1cGRhdGVkCi0gIC8vIHdpdGggU0VUX0ZMQUdT
X1ZBTFVFLCBTRVRfRkxBR19JRl9ERUZBVUxULCBvciAiRkxBR1NfeHh4ID0gbm9uZGVmIi4KLSAg
U0VUX0ZMQUdfSUZfREVGQVVMVCwKLSAgLy8gc2V0IHRoZSBmbGFnJ3MgZGVmYXVsdCB2YWx1ZSB0
byB0aGlzLiAgSWYgdGhlIGZsYWcgaGFzIG5vdCB5ZXQgdXBkYXRlZAotICAvLyB5ZXQgKHZpYSBT
RVRfRkxBR1NfVkFMVUUsIFNFVF9GTEFHX0lGX0RFRkFVTFQsIG9yICJGTEFHU194eHggPSBub25k
ZWYiKQotICAvLyBjaGFuZ2UgdGhlIGZsYWcncyBjdXJyZW50IHZhbHVlIHRvIHRoZSBuZXcgZGVm
YXVsdCB2YWx1ZSBhcyB3ZWxsLgotICBTRVRfRkxBR1NfREVGQVVMVAotfTsKLQotLy8gU2V0IGEg
cGFydGljdWxhciBmbGFnICgiY29tbWFuZCBsaW5lIG9wdGlvbiIpLiAgUmV0dXJucyBhIHN0cmlu
ZwotLy8gZGVzY3JpYmluZyB0aGUgbmV3IHZhbHVlIHRoYXQgdGhlIG9wdGlvbiBoYXMgYmVlbiBz
ZXQgdG8uICBUaGUKLS8vIHJldHVybiB2YWx1ZSBBUEkgaXMgbm90IHdlbGwtc3BlY2lmaWVkLCBz
byBiYXNpY2FsbHkganVzdCBkZXBlbmQgb24KLS8vIGl0IHRvIGJlIGVtcHR5IGlmIHRoZSBzZXR0
aW5nIGZhaWxlZCBmb3Igc29tZSByZWFzb24gLS0gdGhlIG5hbWUgaXMKLS8vIG5vdCBhIHZhbGlk
IGZsYWcgbmFtZSwgb3IgdGhlIHZhbHVlIGlzIG5vdCBhIHZhbGlkIHZhbHVlIC0tIGFuZAotLy8g
bm9uLWVtcHR5IGVsc2UuCi0KLS8vIFNldENvbW1hbmRMaW5lT3B0aW9uIHVzZXMgc2V0X21vZGUg
PT0gU0VUX0ZMQUdTX1ZBTFVFICh0aGUgY29tbW9uIGNhc2UpCi1leHRlcm4gR0ZMQUdTX0RMTF9E
RUNMIHN0ZDo6c3RyaW5nIFNldENvbW1hbmRMaW5lT3B0aW9uICAgICAgICAoY29uc3QgY2hhciog
bmFtZSwgY29uc3QgY2hhciogdmFsdWUpOwotZXh0ZXJuIEdGTEFHU19ETExfREVDTCBzdGQ6OnN0
cmluZyBTZXRDb21tYW5kTGluZU9wdGlvbldpdGhNb2RlKGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0
IGNoYXIqIHZhbHVlLCBGbGFnU2V0dGluZ01vZGUgc2V0X21vZGUpOwotCi0KLS8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0vLyBTYXZlcyB0aGUgc3RhdGVzICh2YWx1ZSwgZGVmYXVsdCB2YWx1ZSwgd2hldGhlciB0
aGUgdXNlciBoYXMgc2V0Ci0vLyB0aGUgZmxhZywgcmVnaXN0ZXJlZCB2YWxpZGF0b3JzLCBldGMp
IG9mIGFsbCBmbGFncywgYW5kIHJlc3RvcmVzCi0vLyB0aGVtIHdoZW4gdGhlIEZsYWdTYXZlciBp
cyBkZXN0cm95ZWQuICBUaGlzIGlzIHZlcnkgdXNlZnVsIGluCi0vLyB0ZXN0cywgc2F5LCB3aGVu
IHlvdSB3YW50IHRvIGxldCB5b3VyIHRlc3RzIGNoYW5nZSB0aGUgZmxhZ3MsIGJ1dAotLy8gbWFr
ZSBzdXJlIHRoYXQgdGhleSBnZXQgcmV2ZXJ0ZWQgdG8gdGhlIG9yaWdpbmFsIHN0YXRlcyB3aGVu
IHlvdXIKLS8vIHRlc3QgaXMgY29tcGxldGUuCi0vLwotLy8gRXhhbXBsZSB1c2FnZToKLS8vICAg
dm9pZCBUZXN0Rm9vKCkgewotLy8gICAgIEZsYWdTYXZlciBzMTsKLS8vICAgICBGTEFHX2ZvbyA9
IGZhbHNlOwotLy8gICAgIEZMQUdfYmFyID0gInNvbWUgdmFsdWUiOwotLy8KLS8vICAgICAvLyB0
ZXN0IGhhcHBlbnMgaGVyZS4gIFlvdSBjYW4gcmV0dXJuIGF0IGFueSB0aW1lCi0vLyAgICAgLy8g
d2l0aG91dCB3b3JyeWluZyBhYm91dCByZXN0b3JpbmcgdGhlIEZMQUcgdmFsdWVzLgotLy8gICB9
Ci0vLwotLy8gTm90ZTogVGhpcyBjbGFzcyBpcyBtYXJrZWQgd2l0aCBHRkxBR1NfQVRUUklCVVRF
X1VOVVNFRCBiZWNhdXNlIGFsbAotLy8gdGhlIHdvcmsgaXMgZG9uZSBpbiB0aGUgY29uc3RydWN0
b3IgYW5kIGRlc3RydWN0b3IsIHNvIGluIHRoZSBzdGFuZGFyZAotLy8gdXNhZ2UgZXhhbXBsZSBh
Ym92ZSwgdGhlIGNvbXBpbGVyIHdvdWxkIGNvbXBsYWluIHRoYXQgaXQncyBhbgotLy8gdW51c2Vk
IHZhcmlhYmxlLgotLy8KLS8vIFRoaXMgY2xhc3MgaXMgdGhyZWFkLXNhZmUuICBIb3dldmVyLCBp
dHMgZGVzdHJ1Y3RvciB3cml0ZXMgdG8KLS8vIGV4YWN0bHkgdGhlIHNldCBvZiBmbGFncyB0aGF0
IGhhdmUgY2hhbmdlZCB2YWx1ZSBkdXJpbmcgaXRzCi0vLyBsaWZldGltZSwgc28gY29uY3VycmVu
dCBfZGlyZWN0XyBhY2Nlc3MgdG8gdGhvc2UgZmxhZ3MKLS8vIChpLmUuIEZMQUdTX2ZvbyBpbnN0
ZWFkIG9mIHtHZXQsU2V0fUNvbW1hbmRMaW5lT3B0aW9uKCkpIGlzIHVuc2FmZS4KLQotY2xhc3Mg
R0ZMQUdTX0RMTF9ERUNMIEZsYWdTYXZlciB7Ci0gcHVibGljOgotICBGbGFnU2F2ZXIoKTsKLSAg
fkZsYWdTYXZlcigpOwotCi0gcHJpdmF0ZToKLSAgY2xhc3MgRmxhZ1NhdmVySW1wbCogaW1wbF87
ICAgLy8gd2UgdXNlIHBpbXBsIGhlcmUgdG8ga2VlcCBBUEkgc3RlYWR5Ci0KLSAgRmxhZ1NhdmVy
KGNvbnN0IEZsYWdTYXZlciYpOyAgLy8gbm8gY29weWluZyEKLSAgdm9pZCBvcGVyYXRvcj0oY29u
c3QgRmxhZ1NhdmVyJik7Ci19X19hdHRyaWJ1dGUoKHVudXNlZCkpOwotCi0vLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotLy8gU29tZSBkZXByZWNhdGVkIG9yIGhvcGVmdWxseS1zb29uLXRvLWJlLWRlcHJlY2F0ZWQg
ZnVuY3Rpb25zLgotCi0vLyBUaGlzIGlzIG9mdGVuIHVzZWQgZm9yIGxvZ2dpbmcuICBUT0RPKGNz
aWx2ZXJzKTogZmlndXJlIG91dCBhIGJldHRlciB3YXkKLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wg
c3RkOjpzdHJpbmcgQ29tbWFuZGxpbmVGbGFnc0ludG9TdHJpbmcoKTsKLS8vIFVzdWFsbHkgd2hl
cmUgdGhpcyBpcyB1c2VkLCBhIEZsYWdTYXZlciBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgotZXh0
ZXJuIEdGTEFHU19ETExfREVDTAotYm9vbCBSZWFkRmxhZ3NGcm9tU3RyaW5nKGNvbnN0IHN0ZDo6
c3RyaW5nJiBmbGFnZmlsZWNvbnRlbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGNoYXIqIHByb2dfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVycm9yc19h
cmVfZmF0YWwpOyAgLy8gdXNlcyBTRVRfRkxBR1NfVkFMVUUKLQotLy8gVGhlc2UgbGV0IHlvdSBt
YW51YWxseSBpbXBsZW1lbnQgLS1mbGFnZmlsZSBmdW5jdGlvbmFsaXR5LgotLy8gREVQUkVDQVRF
RC4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgYm9vbCBBcHBlbmRGbGFnc0ludG9GaWxlKGNvbnN0
IHN0ZDo6c3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgY2hhciogcHJvZ19uYW1lKTsKLWV4dGVybiBH
RkxBR1NfRExMX0RFQ0wgYm9vbCBSZWFkRnJvbUZsYWdzRmlsZShjb25zdCBzdGQ6OnN0cmluZyYg
ZmlsZW5hbWUsIGNvbnN0IGNoYXIqIHByb2dfbmFtZSwgYm9vbCBlcnJvcnNfYXJlX2ZhdGFsKTsg
ICAvLyB1c2VzIFNFVF9GTEFHU19WQUxVRQotCi0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBVc2VmdWwg
cm91dGluZXMgZm9yIGluaXRpYWxpemluZyBmbGFncyBmcm9tIHRoZSBlbnZpcm9ubWVudC4KLS8v
IEluIGVhY2ggY2FzZSwgaWYgJ3Zhcm5hbWUnIGRvZXMgbm90IGV4aXN0IGluIHRoZSBlbnZpcm9u
bWVudAotLy8gcmV0dXJuIGRlZnZhbC4gIElmICd2YXJuYW1lJyBkb2VzIGV4aXN0IGJ1dCBpcyBu
b3QgdmFsaWQKLS8vIChlLmcuLCBub3QgYSBudW1iZXIgZm9yIGFuIGludDMyIGZsYWcpLCBhYm9y
dCB3aXRoIGFuIGVycm9yLgotLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlLiAgTk9URTog
Zm9yIGJvb2xlYW5zLCBmb3IgdHJ1ZSB1c2UKLS8vICd0JyBvciAnVCcgb3IgJ3RydWUnIG9yICcx
JywgZm9yIGZhbHNlICdmJyBvciAnRicgb3IgJ2ZhbHNlJyBvciAnMCcuCi0KLWV4dGVybiBHRkxB
R1NfRExMX0RFQ0wgYm9vbCBCb29sRnJvbUVudihjb25zdCBjaGFyICp2YXJuYW1lLCBib29sIGRl
ZnZhbCk7Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGludDMyIEludDMyRnJvbUVudihjb25zdCBj
aGFyICp2YXJuYW1lLCBpbnQzMiBkZWZ2YWwpOwotZXh0ZXJuIEdGTEFHU19ETExfREVDTCBpbnQ2
NCBJbnQ2NEZyb21FbnYoY29uc3QgY2hhciAqdmFybmFtZSwgaW50NjQgZGVmdmFsKTsKLWV4dGVy
biBHRkxBR1NfRExMX0RFQ0wgdWludDY0IFVpbnQ2NEZyb21FbnYoY29uc3QgY2hhciAqdmFybmFt
ZSwgdWludDY0IGRlZnZhbCk7Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGRvdWJsZSBEb3VibGVG
cm9tRW52KGNvbnN0IGNoYXIgKnZhcm5hbWUsIGRvdWJsZSBkZWZ2YWwpOwotZXh0ZXJuIEdGTEFH
U19ETExfREVDTCBjb25zdCBjaGFyICpTdHJpbmdGcm9tRW52KGNvbnN0IGNoYXIgKnZhcm5hbWUs
IGNvbnN0IGNoYXIgKmRlZnZhbCk7Ci0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIFRoZSBuZXh0IHR3
byBmdW5jdGlvbnMgcGFyc2UgZ2ZsYWdzIGZyb20gbWFpbigpOgotCi0vLyBTZXQgdGhlICJ1c2Fn
ZSIgbWVzc2FnZSBmb3IgdGhpcyBwcm9ncmFtLiAgRm9yIGV4YW1wbGU6Ci0vLyAgIHN0cmluZyB1
c2FnZSgiVGhpcyBwcm9ncmFtIGRvZXMgbm90aGluZy4gIFNhbXBsZSB1c2FnZTpcbiIpOwotLy8g
ICB1c2FnZSArPSBhcmd2WzBdICsgIiA8dXNlbGVzc2FyZzE+IDx1c2VsZXNzYXJnMj4iOwotLy8g
ICBTZXRVc2FnZU1lc3NhZ2UodXNhZ2UpOwotLy8gRG8gbm90IGluY2x1ZGUgY29tbWFuZGxpbmUg
ZmxhZ3MgaW4gdGhlIHVzYWdlOiB3ZSBkbyB0aGF0IGZvciB5b3UhCi0vLyBUaHJlYWQtaG9zdGls
ZTsgbWVhbnQgdG8gYmUgY2FsbGVkIGJlZm9yZSBhbnkgdGhyZWFkcyBhcmUgc3Bhd25lZC4KLWV4
dGVybiBHRkxBR1NfRExMX0RFQ0wgdm9pZCBTZXRVc2FnZU1lc3NhZ2UoY29uc3Qgc3RkOjpzdHJp
bmcmIHVzYWdlKTsKLQotLy8gU2V0cyB0aGUgdmVyc2lvbiBzdHJpbmcsIHdoaWNoIGlzIGVtaXR0
ZWQgd2l0aCAtLXZlcnNpb24uCi0vLyBGb3IgaW5zdGFuY2U6IFNldFZlcnNpb25TdHJpbmcoIjEu
MyIpOwotLy8gVGhyZWFkLWhvc3RpbGU7IG1lYW50IHRvIGJlIGNhbGxlZCBiZWZvcmUgYW55IHRo
cmVhZHMgYXJlIHNwYXduZWQuCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIHZvaWQgU2V0VmVyc2lv
blN0cmluZyhjb25zdCBzdGQ6OnN0cmluZyYgdmVyc2lvbik7Ci0KLQotLy8gTG9va3MgZm9yIGZs
YWdzIGluIGFyZ3YgYW5kIHBhcnNlcyB0aGVtLiAgUmVhcnJhbmdlcyBhcmd2IHRvIHB1dAotLy8g
ZmxhZ3MgZmlyc3QsIG9yIHJlbW92ZXMgdGhlbSBlbnRpcmVseSBpZiByZW1vdmVfZmxhZ3MgaXMg
dHJ1ZS4KLS8vIElmIGEgZmxhZyBpcyBkZWZpbmVkIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBjb21t
YW5kIGxpbmUgb3IgZmxhZwotLy8gZmlsZSwgdGhlIGxhc3QgZGVmaW5pdGlvbiBpcyB1c2VkLiAg
UmV0dXJucyB0aGUgaW5kZXggKGludG8gYXJndikKLS8vIG9mIHRoZSBmaXJzdCBub24tZmxhZyBh
cmd1bWVudC4KLS8vIFNlZSB0b3Atb2YtZmlsZSBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoaXMgZnVu
Y3Rpb24uCi0jaWZuZGVmIFNXSUcgICAvLyBJbiBzd2lnLCB1c2UgUGFyc2VDb21tYW5kTGluZUZs
YWdzU2NyaXB0KCkgaW5zdGVhZC4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgdWludDMyIFBhcnNl
Q29tbWFuZExpbmVGbGFncyhpbnQgKmFyZ2MsIGNoYXIqKiogYXJndiwgYm9vbCByZW1vdmVfZmxh
Z3MpOwotI2VuZGlmCi0KLQotLy8gQ2FsbHMgdG8gUGFyc2VDb21tYW5kTGluZU5vbkhlbHBGbGFn
cyBhbmQgdGhlbiB0bwotLy8gSGFuZGxlQ29tbWFuZExpbmVIZWxwRmxhZ3MgY2FuIGJlIHVzZWQg
aW5zdGVhZCBvZiBhIGNhbGwgdG8KLS8vIFBhcnNlQ29tbWFuZExpbmVGbGFncyBkdXJpbmcgaW5p
dGlhbGl6YXRpb24sIGluIG9yZGVyIHRvIGFsbG93IGZvcgotLy8gY2hhbmdpbmcgZGVmYXVsdCB2
YWx1ZXMgZm9yIHNvbWUgRkxBR1MgKHZpYQotLy8gZS5nLiBTZXRDb21tYW5kTGluZU9wdGlvbldp
dGhNb2RlIGNhbGxzKSBiZXR3ZWVuIHRoZSB0aW1lIG9mCi0vLyBjb21tYW5kIGxpbmUgcGFyc2lu
ZyBhbmQgdGhlIHRpbWUgb2YgZHVtcGluZyBoZWxwIGluZm9ybWF0aW9uIGZvcgotLy8gdGhlIGZs
YWdzIGFzIGEgcmVzdWx0IG9mIGNvbW1hbmQgbGluZSBwYXJzaW5nLiAgSWYgYSBmbGFnIGlzCi0v
LyBkZWZpbmVkIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBjb21tYW5kIGxpbmUgb3IgZmxhZyBmaWxl
LCB0aGUgbGFzdAotLy8gZGVmaW5pdGlvbiBpcyB1c2VkLiAgUmV0dXJucyB0aGUgaW5kZXggKGlu
dG8gYXJndikgb2YgdGhlIGZpcnN0Ci0vLyBub24tZmxhZyBhcmd1bWVudC4gIChJZiByZW1vdmVf
ZmxhZ3MgaXMgdHJ1ZSwgd2lsbCBhbHdheXMgcmV0dXJuIDEuKQotZXh0ZXJuIEdGTEFHU19ETExf
REVDTCB1aW50MzIgUGFyc2VDb21tYW5kTGluZU5vbkhlbHBGbGFncyhpbnQgKmFyZ2MsIGNoYXIq
KiogYXJndiwgYm9vbCByZW1vdmVfZmxhZ3MpOwotCi0vLyBUaGlzIGlzIGFjdHVhbGx5IGRlZmlu
ZWQgaW4gZ2ZsYWdzX3JlcG9ydGluZy5jYy4KLS8vIFRoaXMgZnVuY3Rpb24gaXMgbWlzbmFtZWQg
KGl0IGFsc28gaGFuZGxlcyAtLXZlcnNpb24sIGV0Yy4pLCBidXQKLS8vIGl0J3MgdG9vIGxhdGUg
dG8gY2hhbmdlIHRoYXQgbm93LiA6LSgKLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgdm9pZCBIYW5k
bGVDb21tYW5kTGluZUhlbHBGbGFncygpOyAgIC8vIGluIGdmbGFnc19yZXBvcnRpbmcuY2MKLQot
Ly8gQWxsb3cgY29tbWFuZCBsaW5lIHJlcGFyc2luZy4gIERpc2FibGVzIHRoZSBlcnJvciBub3Jt
YWxseQotLy8gZ2VuZXJhdGVkIHdoZW4gYW4gdW5rbm93biBmbGFnIGlzIGZvdW5kLCBzaW5jZSBp
dCBtYXkgYmUgZm91bmQgaW4gYQotLy8gbGF0ZXIgcGFyc2UuICBUaHJlYWQtaG9zdGlsZTsgbWVh
bnQgdG8gYmUgY2FsbGVkIGJlZm9yZSBhbnkgdGhyZWFkcwotLy8gYXJlIHNwYXduZWQuCi1leHRl
cm4gR0ZMQUdTX0RMTF9ERUNMIHZvaWQgQWxsb3dDb21tYW5kTGluZVJlcGFyc2luZygpOwotCi0v
LyBSZXBhcnNlIHRoZSBmbGFncyB0aGF0IGhhdmUgbm90IHlldCBiZWVuIHJlY29nbml6ZWQuICBP
bmx5IGZsYWdzCi0vLyByZWdpc3RlcmVkIHNpbmNlIHRoZSBsYXN0IHBhcnNlIHdpbGwgYmUgcmVj
b2duaXplZC4gIEFueSBmbGFnIHZhbHVlCi0vLyBtdXN0IGJlIHByb3ZpZGVkIGFzIHBhcnQgb2Yg
dGhlIGFyZ3VtZW50IHVzaW5nICI9Iiwgbm90IGFzIGEKLS8vIHNlcGFyYXRlIGNvbW1hbmQgbGlu
ZSBhcmd1bWVudCB0aGF0IGZvbGxvd3MgdGhlIGZsYWcgYXJndW1lbnQuCi0vLyBJbnRlbmRlZCBm
b3IgaGFuZGxpbmcgZmxhZ3MgZnJvbSBkeW5hbWljYWxseSBsb2FkZWQgbGlicmFyaWVzLAotLy8g
c2luY2UgdGhlaXIgZmxhZ3MgYXJlIG5vdCByZWdpc3RlcmVkIHVudGlsIHRoZXkgYXJlIGxvYWRl
ZC4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgdm9pZCBSZXBhcnNlQ29tbWFuZExpbmVOb25IZWxw
RmxhZ3MoKTsKLQotLy8gQ2xlYW4gdXAgbWVtb3J5IGFsbG9jYXRlZCBieSBmbGFncy4gIFRoaXMg
aXMgb25seSBuZWVkZWQgdG8gcmVkdWNlCi0vLyB0aGUgcXVhbnRpdHkgb2YgInBvdGVudGlhbGx5
IGxlYWtlZCIgcmVwb3J0cyBlbWl0dGVkIGJ5IG1lbW9yeQotLy8gZGVidWdnaW5nIHRvb2xzIHN1
Y2ggYXMgdmFsZ3JpbmQuICBJdCBpcyBub3QgcmVxdWlyZWQgZm9yIG5vcm1hbAotLy8gb3BlcmF0
aW9uLCBvciBmb3IgdGhlIGdvb2dsZSBwZXJmdG9vbHMgaGVhcC1jaGVja2VyLiAgSXQgbXVzdCBv
bmx5Ci0vLyBiZSBjYWxsZWQgd2hlbiB0aGUgcHJvY2VzcyBpcyBhYm91dCB0byBleGl0LCBhbmQg
YWxsIHRocmVhZHMgdGhhdAotLy8gbWlnaHQgYWNjZXNzIGZsYWdzIGFyZSBxdWllc2NlbnQuICBS
ZWZlcmVuY2luZyBmbGFncyBhZnRlciB0aGlzIGlzCi0vLyBjYWxsZWQgd2lsbCBoYXZlIHVuZXhw
ZWN0ZWQgY29uc2VxdWVuY2VzLiAgVGhpcyBpcyBub3Qgc2FmZSB0byBydW4KLS8vIHdoZW4gbXVs
dGlwbGUgdGhyZWFkcyBtaWdodCBiZSBydW5uaW5nOiB0aGUgZnVuY3Rpb24gaXMKLS8vIHRocmVh
ZC1ob3N0aWxlLgotZXh0ZXJuIEdGTEFHU19ETExfREVDTCB2b2lkIFNodXREb3duQ29tbWFuZExp
bmVGbGFncygpOwotCi0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBOb3cgY29tZSB0aGUgY29tbWFuZCBs
aW5lIGZsYWcgZGVjbGFyYXRpb24vZGVmaW5pdGlvbiBtYWNyb3MgdGhhdAotLy8gd2lsbCBhY3R1
YWxseSBiZSB1c2VkLiAgVGhleSdyZSBraW5kIG9mIGhhaXJ5LiAgQSBtYWpvciByZWFzb24KLS8v
IGZvciB0aGlzIGlzIGluaXRpYWxpemF0aW9uOiB3ZSB3YW50IHBlb3BsZSB0byBiZSBhYmxlIHRv
IGFjY2VzcwotLy8gdmFyaWFibGVzIGluIGdsb2JhbCBjb25zdHJ1Y3RvcnMgYW5kIGhhdmUgdGhh
dCBub3QgY3Jhc2gsIGV2ZW4gaWYKLS8vIHRoZWlyIGdsb2JhbCBjb25zdHJ1Y3RvciBydW5zIGJl
Zm9yZSB0aGUgZ2xvYmFsIGNvbnN0cnVjdG9yIGhlcmUuCi0vLyAoT2J2aW91c2x5LCB3ZSBjYW4n
dCBndWFyYW50ZWUgdGhlIGZsYWdzIHdpbGwgaGF2ZSB0aGUgY29ycmVjdAotLy8gZGVmYXVsdCB2
YWx1ZSBpbiB0aGF0IGNhc2UsIGJ1dCBhdCBsZWFzdCBhY2Nlc3NpbmcgdGhlbSBpcyBzYWZlLikK
LS8vIFRoZSBvbmx5IHdheSB0byBkbyB0aGF0IGlzIGhhdmUgZmxhZ3MgcG9pbnQgdG8gYSBzdGF0
aWMgYnVmZmVyLgotLy8gU28gd2UgbWFrZSBvbmUsIHVzaW5nIGEgdW5pb24gdG8gZW5zdXJlIHBy
b3BlciBhbGlnbm1lbnQsIGFuZAotLy8gdGhlbiB1c2UgcGxhY2VtZW50LW5ldyB0byBhY3R1YWxs
eSBzZXQgdXAgdGhlIGZsYWcgd2l0aCB0aGUKLS8vIGNvcnJlY3QgZGVmYXVsdCB2YWx1ZS4gIElu
IHRoZSBzYW1lIHZlaW4sIHdlIGhhdmUgdG8gd29ycnkgYWJvdXQKLS8vIGZsYWcgYWNjZXNzIGlu
IGdsb2JhbCBkZXN0cnVjdG9ycywgc28gRmxhZ1JlZ2lzdGVyZXIgaGFzIHRvIGJlCi0vLyBjYXJl
ZnVsIG5ldmVyIHRvIGRlc3Ryb3kgdGhlIGZsYWctdmFsdWVzIGl0IGNvbnN0cnVjdHMuCi0vLwot
Ly8gTm90ZSB0aGF0IHdoZW4gd2UgZGVmaW5lIGEgZmxhZyB2YXJpYWJsZSBGTEFHU188bmFtZT4s
IHdlIGFsc28KLS8vIHByZWVtcHRpdmVseSBkZWZpbmUgYSBqdW5rIHZhcmlhYmxlLCBGTEFHU19u
bzxuYW1lPi4gIFRoaXMgaXMgdG8KLS8vIGNhdXNlIGEgbGluay10aW1lIGVycm9yIGlmIHNvbWVv
bmUgdHJpZXMgdG8gZGVmaW5lIDIgZmxhZ3Mgd2l0aAotLy8gbmFtZXMgbGlrZSAibG9nZ2luZyIg
YW5kICJub2xvZ2dpbmciLiAgV2UgZG8gdGhpcyBiZWNhdXNlIGEgYm9vbAotLy8gZmxhZyBGTEFH
IGNhbiBiZSBzZXQgZnJvbSB0aGUgY29tbWFuZCBsaW5lIHRvIHRydWUgd2l0aCBhICItRkxBRyIK
LS8vIGFyZ3VtZW50LCBhbmQgdG8gZmFsc2Ugd2l0aCBhICItbm9GTEFHIiBhcmd1bWVudCwgYW5k
IHNvIHRoaXMgY2FuCi0vLyBwb3RlbnRpYWxseSBhdmVydCBjb25mdXNpb24uCi0vLwotLy8gV2Ug
YWxzbyBwdXQgZmxhZ3MgaW50byB0aGVpciBvd24gbmFtZXNwYWNlLiAgSXQgaXMgcHVycG9zZWZ1
bGx5Ci0vLyBuYW1lZCBpbiBhbiBvcGFxdWUgd2F5IHRoYXQgcGVvcGxlIHNob3VsZCBoYXZlIHRy
b3VibGUgdHlwaW5nCi0vLyBkaXJlY3RseS4gIFRoZSBpZGVhIGlzIHRoYXQgREVGSU5FIHB1dHMg
dGhlIGZsYWcgaW4gdGhlIHdlaXJkCi0vLyBuYW1lc3BhY2UsIGFuZCBERUNMQVJFIGltcG9ydHMg
dGhlIGZsYWcgZnJvbSB0aGVyZSBpbnRvIHRoZSBjdXJyZW50Ci0vLyBuYW1lc3BhY2UuICBUaGUg
bmV0IHJlc3VsdCBpcyB0byBmb3JjZSBwZW9wbGUgdG8gdXNlIERFQ0xBUkUgdG8gZ2V0Ci0vLyBh
Y2Nlc3MgdG8gYSBmbGFnLCByYXRoZXIgdGhhbiBzYXlpbmcgImV4dGVybiBHRkxBR1NfRExMX0RF
Q0wgYm9vbCBGTEFHU193aGF0ZXZlcjsiCi0vLyBvciBzb21lIHN1Y2ggaW5zdGVhZC4gIFdlIHdh
bnQgdGhpcyBzbyB3ZSBjYW4gcHV0IGV4dHJhCi0vLyBmdW5jdGlvbmFsaXR5IChsaWtlIHNhbml0
eS1jaGVja2luZykgaW4gREVDTEFSRSBpZiB3ZSB3YW50LCBhbmQKLS8vIG1ha2Ugc3VyZSBpdCBp
cyBwaWNrZWQgdXAgZXZlcnl3aGVyZS4KLS8vCi0vLyBXZSBhbHNvIHB1dCB0aGUgdHlwZSBvZiB0
aGUgdmFyaWFibGUgaW4gdGhlIG5hbWVzcGFjZSwgc28gdGhhdAotLy8gcGVvcGxlIGNhbid0IERF
Q0xBUkVfaW50MzIgc29tZXRoaW5nIHRoYXQgdGhleSBERUZJTkVfYm9vbCdkCi0vLyBlbHNld2hl
cmUuCi0KLWNsYXNzIEdGTEFHU19ETExfREVDTCBGbGFnUmVnaXN0ZXJlciB7Ci0gcHVibGljOgot
ICBGbGFnUmVnaXN0ZXJlcihjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBjaGFyKiB0eXBlLAotICAg
ICAgICAgICAgICAgICBjb25zdCBjaGFyKiBoZWxwLCBjb25zdCBjaGFyKiBmaWxlbmFtZSwKLSAg
ICAgICAgICAgICAgICAgdm9pZCogY3VycmVudF9zdG9yYWdlLCB2b2lkKiBkZWZ2YWx1ZV9zdG9y
YWdlKTsKLX07Ci0KLS8vIElmIHlvdXIgYXBwbGljYXRpb24gI2RlZmluZXMgU1RSSVBfRkxBR19I
RUxQIHRvIGEgbm9uLXplcm8gdmFsdWUKLS8vIGJlZm9yZSAjaW5jbHVkaW5nIHRoaXMgZmlsZSwg
d2UgcmVtb3ZlIHRoZSBoZWxwIG1lc3NhZ2UgZnJvbSB0aGUKLS8vIGJpbmFyeSBmaWxlLiBUaGlz
IGNhbiByZWR1Y2UgdGhlIHNpemUgb2YgdGhlIHJlc3VsdGluZyBiaW5hcnkKLS8vIHNvbWV3aGF0
LCBhbmQgbWF5IGFsc28gYmUgdXNlZnVsIGZvciBzZWN1cml0eSByZWFzb25zLgotCi1leHRlcm4g
R0ZMQUdTX0RMTF9ERUNMIGNvbnN0IGNoYXIga1N0cmlwcGVkRmxhZ0hlbHBbXTsKLQotCi19IC8v
IG5hbWVzcGFjZSBHRkxBR1NfTkFNRVNQQUNFCi0KLQotI2lmbmRlZiBTV0lHICAvLyBJbiBzd2ln
LCBpZ25vcmUgdGhlIG1haW4gZmxhZyBkZWNsYXJhdGlvbnMKLQotI2lmIGRlZmluZWQoU1RSSVBf
RkxBR19IRUxQKSAmJiBTVFJJUF9GTEFHX0hFTFAgPiAwCi0vLyBOZWVkIHRoaXMgY29uc3RydWN0
IHRvIGF2b2lkIHRoZSAnZGVmaW5lZCBidXQgbm90IHVzZWQnIHdhcm5pbmcuCi0jZGVmaW5lIE1B
WUJFX1NUUklQUEVEX0hFTFAodHh0KSBcCi0gICAoZmFsc2UgPyAodHh0KSA6IEdGTEFHU19OQU1F
U1BBQ0U6OmtTdHJpcHBlZEZsYWdIZWxwKQotI2Vsc2UKLSNkZWZpbmUgTUFZQkVfU1RSSVBQRURf
SEVMUCh0eHQpIHR4dAotI2VuZGlmCi0KLS8vIEVhY2ggY29tbWFuZC1saW5lIGZsYWcgaGFzIHR3
byB2YXJpYWJsZXMgYXNzb2NpYXRlZCB3aXRoIGl0OiBvbmUKLS8vIHdpdGggdGhlIGN1cnJlbnQg
dmFsdWUsIGFuZCBvbmUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZS4gIEhvd2V2ZXIsCi0vLyB3ZSBo
YXZlIGEgdGhpcmQgdmFyaWFibGUsIHdoaWNoIGlzIHdoZXJlIHZhbHVlIGlzIGFzc2lnbmVkOyBp
dCdzIGEKLS8vIGNvbnN0YW50LiAgVGhpcyBndWFyYW50ZWVzIHRoYXQgRkxBR18jI3ZhbHVlIGlz
IGluaXRpYWxpemVkIGF0Ci0vLyBzdGF0aWMgaW5pdGlhbGl6YXRpb24gdGltZSAoZS5nLiBiZWZv
cmUgcHJvZ3JhbS1zdGFydCkgcmF0aGVyIHRoYW4KLS8vIHRoYW4gZ2xvYmFsIGNvbnN0cnVjdGlv
biB0aW1lICh3aGljaCBpcyBhZnRlciBwcm9ncmFtLXN0YXJ0IGJ1dAotLy8gYmVmb3JlIG1haW4p
LCBhdCBsZWFzdCB3aGVuICd2YWx1ZScgaXMgYSBjb21waWxlLXRpbWUgY29uc3RhbnQuICBXZQot
Ly8gdXNlIGEgc21hbGwgdHJpY2sgZm9yIHRoZSAiZGVmYXVsdCB2YWx1ZSIgdmFyaWFibGUsIGFu
ZCBjYWxsIGl0Ci0vLyBGTEFHU19ubzxuYW1lPi4gIFRoaXMgc2VydmVzIHRoZSBzZWNvbmQgcHVy
cG9zZSBvZiBhc3N1cmluZyBhCi0vLyBjb21waWxlIGVycm9yIGlmIHNvbWVvbmUgdHJpZXMgdG8g
ZGVmaW5lIGEgZmxhZyBuYW1lZCBubzxuYW1lPgotLy8gd2hpY2ggaXMgaWxsZWdhbCAoLS1mb28g
YW5kIC0tbm9mb28gYm90aCBhZmZlY3QgdGhlICJmb28iIGZsYWcpLgotI2RlZmluZSBERUZJTkVf
VkFSSUFCTEUodHlwZSwgc2hvcnR0eXBlLCBuYW1lLCB2YWx1ZSwgaGVscCkgICAgICAgICAgICAg
XAotICBuYW1lc3BhY2UgZkwjI3Nob3J0dHlwZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIHN0YXRpYyBjb25zdCB0eXBlIEZMQUdTX25vbm8jI25h
bWUgPSB2YWx1ZTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC8qIFdlIGFsd2F5cyB3
YW50IHRvIGV4cG9ydCBkZWZpbmVkIHZhcmlhYmxlcywgZGxsIG9yIG5vICovICAgICAgICAgXAot
ICAgIEdGTEFHU19ETExfREVGSU5FX0ZMQUcgdHlwZSBGTEFHU18jI25hbWUgPSBGTEFHU19ub25v
IyNuYW1lOyAgICAgICAgXAotICAgIHR5cGUgRkxBR1Nfbm8jI25hbWUgPSBGTEFHU19ub25vIyNu
YW1lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHN0YXRpYyBHRkxBR1NfTkFN
RVNQQUNFOjpGbGFnUmVnaXN0ZXJlciBvXyMjbmFtZSggICAgICAgICAgICAgICAgICAgXAotICAg
ICAgI25hbWUsICN0eXBlLCBNQVlCRV9TVFJJUFBFRF9IRUxQKGhlbHApLCBfX0ZJTEVfXywgICAg
ICAgICAgICAgICAgXAotICAgICAgJkZMQUdTXyMjbmFtZSwgJkZMQUdTX25vIyNuYW1lKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1c2lu
ZyBmTCMjc2hvcnR0eXBlOjpGTEFHU18jI25hbWUKLQotLy8gRm9yIERFRklORV9ib29sLCB3ZSB3
YW50IHRvIGRvIHRoZSBleHRyYSBjaGVjayB0aGF0IHRoZSBwYXNzZWQtaW4KLS8vIHZhbHVlIGlz
IGFjdHVhbGx5IGEgYm9vbCwgYW5kIG5vdCBhIHN0cmluZyBvciBzb21ldGhpbmcgdGhhdCBjYW4g
YmUKLS8vIGNvZXJjZWQgdG8gYSBib29sLiAgVGhlc2UgZGVjbGFyYXRpb25zIChubyBkZWZpbml0
aW9uIG5lZWRlZCEpIHdpbGwKLS8vIGhlbHAgdXMgZG8gdGhhdCwgYW5kIG5ldmVyIGV2YWx1YXRl
IEZyb20sIHdoaWNoIGlzIGltcG9ydGFudC4KLS8vIFdlJ2xsIHVzZSAnc2l6ZW9mKElzQm9vbCh2
YWwpKScgdG8gZGlzdGluZ3Vpc2guIFRoaXMgY29kZSByZXF1aXJlcwotLy8gdGhhdCB0aGUgY29t
cGlsZXIgaGF2ZSBkaWZmZXJlbnQgc2l6ZXMgZm9yIGJvb2wgJiBkb3VibGUuIFNpbmNlCi0vLyB0
aGlzIGlzIG5vdCBndWFyYW50ZWVkIGJ5IHRoZSBzdGFuZGFyZCwgd2UgY2hlY2sgaXQgd2l0aCBh
Ci0vLyBDT01QSUxFX0FTU0VSVC4KLW5hbWVzcGFjZSBmTEIgewotc3RydWN0IENvbXBpbGVBc3Nl
cnQge307Ci10eXBlZGVmIENvbXBpbGVBc3NlcnQgZXhwZWN0ZWRfc2l6ZW9mX2RvdWJsZV9uZXFf
c2l6ZW9mX2Jvb2xbCi0gICAgICAgICAgICAgICAgICAgICAgKHNpemVvZihkb3VibGUpICE9IHNp
emVvZihib29sKSkgPyAxIDogLTFdOwotdGVtcGxhdGU8dHlwZW5hbWUgRnJvbT4gZG91YmxlIEdG
TEFHU19ETExfREVDTCBJc0Jvb2xGbGFnKGNvbnN0IEZyb20mIGZyb20pOwotR0ZMQUdTX0RMTF9E
RUNMIGJvb2wgSXNCb29sRmxhZyhib29sIGZyb20pOwotfSAgLy8gbmFtZXNwYWNlIGZMQgotCi0v
LyBIZXJlIGFyZSB0aGUgYWN0dWFsIERFRklORV8qLW1hY3Jvcy4gVGhlIHJlc3BlY3RpdmUgREVD
TEFSRV8qLW1hY3JvcwotLy8gYXJlIGluIGEgc2VwYXJhdGUgaW5jbHVkZSwgZ2ZsYWdzX2RlY2xh
cmUuaCwgZm9yIHJlZHVjaW5nCi0vLyB0aGUgcGh5c2ljYWwgdHJhbnNpdGl2ZSBzaXplIGZvciBE
RUNMQVJFIHVzZS4KLSNkZWZpbmUgREVGSU5FX2Jvb2wobmFtZSwgdmFsLCB0eHQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbmFtZXNwYWNlIGZMQiB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB0eXBl
ZGVmIDo6ZkxCOjpDb21waWxlQXNzZXJ0IEZMQUdfIyNuYW1lIyNfdmFsdWVfaXNfbm90X2FfYm9v
bFsgICAgIFwKLSAgICAgICAgICAgIChzaXplb2YoOjpmTEI6OklzQm9vbEZsYWcodmFsKSkgIT0g
c2l6ZW9mKGRvdWJsZSkpPyAxOiAtMV07IFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgREVGSU5FX1ZB
UklBQkxFKGJvb2wsIEIsIG5hbWUsIHZhbCwgdHh0KQotCi0jZGVmaW5lIERFRklORV9pbnQzMihu
YW1lLCB2YWwsIHR4dCkgXAotICAgREVGSU5FX1ZBUklBQkxFKEdGTEFHU19OQU1FU1BBQ0U6Omlu
dDMyLCBJLCBcCi0gICAgICAgICAgICAgICAgICAgbmFtZSwgdmFsLCB0eHQpCi0KLSNkZWZpbmUg
REVGSU5FX2ludDY0KG5hbWUsIHZhbCwgdHh0KSBcCi0gICBERUZJTkVfVkFSSUFCTEUoR0ZMQUdT
X05BTUVTUEFDRTo6aW50NjQsIEk2NCwgXAotICAgICAgICAgICAgICAgICAgIG5hbWUsIHZhbCwg
dHh0KQotCi0jZGVmaW5lIERFRklORV91aW50NjQobmFtZSx2YWwsIHR4dCkgXAotICAgREVGSU5F
X1ZBUklBQkxFKEdGTEFHU19OQU1FU1BBQ0U6OnVpbnQ2NCwgVTY0LCBcCi0gICAgICAgICAgICAg
ICAgICAgbmFtZSwgdmFsLCB0eHQpCi0KLSNkZWZpbmUgREVGSU5FX2RvdWJsZShuYW1lLCB2YWws
IHR4dCkgXAotICAgREVGSU5FX1ZBUklBQkxFKGRvdWJsZSwgRCwgbmFtZSwgdmFsLCB0eHQpCi0K
LS8vIFN0cmluZ3MgYXJlIHRyaWNraWVyLCBiZWNhdXNlIHRoZXkncmUgbm90IGEgUE9ELCBzbyB3
ZSBjYW4ndAotLy8gY29uc3RydWN0IHRoZW0gYXQgc3RhdGljLWluaXRpYWxpemF0aW9uIHRpbWUg
KGluc3RlYWQgdGhleSBnZXQKLS8vIGNvbnN0cnVjdGVkIGF0IGdsb2JhbC1jb25zdHJ1Y3RvciB0
aW1lLCB3aGljaCBpcyBtdWNoIGxhdGVyKS4gIFRvCi0vLyB0cnkgdG8gYXZvaWQgY3Jhc2hlcyBp
biB0aGF0IGNhc2UsIHdlIHVzZSBhIGNoYXIgYnVmZmVyIHRvIHN0b3JlCi0vLyB0aGUgc3RyaW5n
LCB3aGljaCB3ZSBjYW4gc3RhdGljLWluaXRpYWxpemUsIGFuZCB0aGVuIHBsYWNlbWVudC1uZXcK
LS8vIGludG8gaXQgbGF0ZXIuICBJdCdzIG5vdCBwZXJmZWN0LCBidXQgdGhlIGJlc3Qgd2UgY2Fu
IGRvLgotCi1uYW1lc3BhY2UgZkxTIHsKLQotaW5saW5lIGNsc3RyaW5nKiBkb250X3Bhc3MwdG9E
RUZJTkVfc3RyaW5nKGNoYXIgKnN0cmluZ3Nwb3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqdmFsdWUpIHsKLSAgcmV0dXJuIG5ldyhzdHJp
bmdzcG90KSBjbHN0cmluZyh2YWx1ZSk7Ci19Ci1pbmxpbmUgY2xzdHJpbmcqIGRvbnRfcGFzczB0
b0RFRklORV9zdHJpbmcoY2hhciAqc3RyaW5nc3BvdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBjbHN0cmluZyAmdmFsdWUpIHsKLSAgcmV0dXJuIG5l
dyhzdHJpbmdzcG90KSBjbHN0cmluZyh2YWx1ZSk7Ci19Ci1pbmxpbmUgY2xzdHJpbmcqIGRvbnRf
cGFzczB0b0RFRklORV9zdHJpbmcoY2hhciAqc3RyaW5nc3BvdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdmFsdWUpOwotfSAgLy8gbmFtZXNwYWNlIGZM
UwotCi0vLyBXZSBuZWVkIHRvIGRlZmluZSBhIHZhciBuYW1lZCBGTEFHU19ubyMjbmFtZSBzbyBw
ZW9wbGUgZG9uJ3QgZGVmaW5lCi0vLyAtLXN0cmluZyBhbmQgLS1ub3N0cmluZy4gIEFuZCB3ZSBu
ZWVkIGEgdGVtcG9yYXJ5IHBsYWNlIHRvIHB1dCB2YWwKLS8vIHNvIHdlIGRvbid0IGhhdmUgdG8g
ZXZhbHVhdGUgaXQgdHdpY2UuICBUd28gZ3JlYXQgbmVlZHMgdGhhdCBnbwotLy8gZ3JlYXQgdG9n
ZXRoZXIhCi0vLyBUaGUgd2VpcmQgJ3VzaW5nJyArICdleHRlcm4nIGluc2lkZSB0aGUgZkxTIG5h
bWVzcGFjZSBpcyB0byB3b3JrIGFyb3VuZAotLy8gYW4gdW5rbm93biBjb21waWxlciBidWcvaXNz
dWUgd2l0aCB0aGUgZ2NjIDQuMi4xIG9uIFNVU0UgMTAuICBTZWUKLS8vICAgIGh0dHA6Ly9jb2Rl
Lmdvb2dsZS5jb20vcC9nb29nbGUtZ2ZsYWdzL2lzc3Vlcy9kZXRhaWw/aWQ9MjAKLSNkZWZpbmUg
REVGSU5FX3N0cmluZyhuYW1lLCB2YWwsIHR4dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIG5hbWVzcGFjZSBmTFMgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVzaW5nIDo6ZkxTOjpjbHN0
cmluZzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBzdGF0aWMgdW5pb24geyB2b2lkKiBhbGlnbjsgY2hhciBzW3NpemVvZihjbHN0cmluZyld
OyB9IHNfIyNuYW1lWzJdOyAgICBcCi0gICAgY2xzdHJpbmcqIGNvbnN0IEZMQUdTX25vIyNuYW1l
ID0gOjpmTFM6OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb250X3Bhc3MwdG9ERUZJTkVfc3RyaW5nKHNfIyNuYW1l
WzBdLnMsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2YWwpOyAgICAgICAgICBcCi0gICAgc3RhdGljIEdGTEFHU19OQU1FU1BB
Q0U6OkZsYWdSZWdpc3RlcmVyIG9fIyNuYW1lKCAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAjbmFtZSwgInN0cmluZyIsIE1BWUJFX1NUUklQUEVEX0hFTFAodHh0KSwgX19GSUxFX18s
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgc18jI25hbWVbMF0ucywgbmV3IChzXyMjbmFtZVsx
XS5zKSBjbHN0cmluZygqRkxBR1Nfbm8jI25hbWUpKTsgICAgICBcCi0gICAgZXh0ZXJuIEdGTEFH
U19ETExfREVGSU5FX0ZMQUcgY2xzdHJpbmcmIEZMQUdTXyMjbmFtZTsgICAgICAgICAgICAgICAg
ICAgXAotICAgIHVzaW5nIGZMUzo6RkxBR1NfIyNuYW1lOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBjbHN0cmluZyYgRkxBR1NfIyNuYW1lID0g
KkZMQUdTX25vIyNuYW1lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICB1c2luZyBmTFM6OkZMQUdTXyMjbmFtZQotCi0jZW5kaWYgIC8vIFNX
SUcKLQotCi0vLyBJbXBvcnQgZ2ZsYWdzIGxpYnJhcnkgc3ltYm9scyBpbnRvIGFsdGVybmF0aXZl
L2RlcHJlY2F0ZWQgbmFtZXNwYWNlKHMpCi0jaW5jbHVkZSAiZ2ZsYWdzX2dmbGFncy5oIgotCi0K
LSNlbmRpZiAgLy8gR0ZMQUdTX0dGTEFHU19IXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2ZsYWdz
L2dlbi9wb3NpeC9pbmNsdWRlL2dmbGFncy9nZmxhZ3NfY29tcGxldGlvbnMuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3RoaXJkX3BhcnR5
L2dmbGFncy9nZW4vcG9zaXgvaW5jbHVkZS9nZmxhZ3MvZ2ZsYWdzX2NvbXBsZXRpb25zLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NTFjMWUwMmQxZmQ5NmFmMjVlNmJiYjc5OWEw
MGRhY2VkNWY1NzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
dGhpcmRfcGFydHkvZ2ZsYWdzL2dlbi9wb3NpeC9pbmNsdWRlL2dmbGFncy9nZmxhZ3NfY29tcGxl
dGlvbnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDEyMSArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMp
IDIwMDgsIEdvb2dsZSBJbmMuCi0vLyBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8KLS8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQotLy8gbWV0OgotLy8KLS8vICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0vLyBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0vLyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCi0vLyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0vLyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0vLyBkaXN0cmlidXRpb24u
Ci0vLyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCi0vLyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotLy8gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0vLyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAotLy8gTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCi0vLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLy8gT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0vLyBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLS8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotLy8gVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
Ly8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotLy8KLS8vIC0tLQotCi0vLwotLy8gSW1w
bGVtZW50IGhlbHBmdWwgYmFzaC1zdHlsZSBjb21tYW5kIGxpbmUgZmxhZyBjb21wbGV0aW9ucwot
Ly8KLS8vICoqIEZ1bmN0aW9uYWwgQVBJOgotLy8gSGFuZGxlQ29tbWFuZExpbmVDb21wbGV0aW9u
cygpIHNob3VsZCBiZSBjYWxsZWQgZWFybHkgZHVyaW5nCi0vLyBwcm9ncmFtIHN0YXJ0dXAsIGJ1
dCBhZnRlciBjb21tYW5kIGxpbmUgZmxhZyBjb2RlIGhhcyBiZWVuCi0vLyBpbml0aWFsaXplZCwg
c3VjaCBhcyB0aGUgYmVnaW5uaW5nIG9mIEhhbmRsZUNvbW1hbmRMaW5lSGVscEZsYWdzKCkuCi0v
LyBJdCBjaGVja3MgdGhlIHZhbHVlIG9mIHRoZSBmbGFnIC0tdGFiX2NvbXBsZXRpb25fd29yZC4g
IElmIHRoaXMKLS8vIGZsYWcgaXMgZW1wdHksIG5vdGhpbmcgaGFwcGVucyBoZXJlLiAgSWYgaXQg
Y29udGFpbnMgYSBzdHJpbmcsCi0vLyBob3dldmVyLCB0aGVuIEhhbmRsZUNvbW1hbmRMaW5lQ29t
cGxldGlvbnMoKSB3aWxsIGhpamFjayB0aGUKLS8vIHByb2Nlc3MsIGF0dGVtcHRpbmcgdG8gaWRl
bnRpZnkgdGhlIGludGVudGlvbiBiZWhpbmQgdGhpcwotLy8gY29tcGxldGlvbi4gIFJlZ2FyZGxl
c3Mgb2YgdGhlIG91dGNvbWUgb2YgdGhpcyBkZWR1Y3Rpb24sIHRoZQotLy8gcHJvY2VzcyB3aWxs
IGJlIHRlcm1pbmF0ZWQsIHNpbWlsYXIgdG8gLS1oZWxwc2hvcnQgZmxhZwotLy8gaGFuZGxpbmcu
Ci0vLwotLy8gKiogT3ZlcnZpZXcgb2YgQmFzaCBjb21wbGV0aW9uczoKLS8vIEJhc2ggY2FuIGJl
IHRvbGQgdG8gcHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZSBjb21wbGV0aW9ucyBmb3IgdGhlCi0v
LyBjdXJyZW50ICdjdXJzb3Igd29yZCcuICBJdCBkb2VzIHRoaXMgYnkgKGluIHRoaXMgY2FzZSkg
aW52b2tpbmcgYQotLy8gY29tbWFuZCB3aXRoIHNvbWUgYWRkaXRpb25hbCBhcmd1bWVudHMgaWRl
bnRpZnlpbmcgdGhlIGNvbW1hbmQKLS8vIGJlaW5nIGV4ZWN1dGVkLCB0aGUgd29yZCBiZWluZyBj
b21wbGV0ZWQsIGFuZCB0aGUgcHJldmlvdXMgd29yZAotLy8gKGlmIGFueSkuICBCYXNoIHRoZW4g
ZXhwZWN0cyBhIHNlcXVlbmNlIG9mIG91dHB1dCBsaW5lcyB0byBiZQotLy8gcHJpbnRlZCB0byBz
dGRvdXQuICBJZiB0aGVzZSBsaW5lcyBhbGwgY29udGFpbiBhIGNvbW1vbiBwcmVmaXgKLS8vIGxv
bmdlciB0aGFuIHRoZSBjdXJzb3Igd29yZCwgYmFzaCB3aWxsIHJlcGxhY2UgdGhlIGN1cnNvciB3
b3JkCi0vLyB3aXRoIHRoYXQgY29tbW9uIHByZWZpeCwgYW5kIGRpc3BsYXkgbm90aGluZy4gIElm
IHRoZXJlIGlzbid0IHN1Y2gKLS8vIGEgY29tbW9uIHByZWZpeCwgYmFzaCB3aWxsIGRpc3BsYXkg
dGhlIGxpbmVzIGluIHBhZ2VzIHVzaW5nICdtb3JlJy4KLS8vCi0vLyAqKiBTdHJhdGVneSB0YWtl
biBmb3IgY29tbWFuZCBsaW5lIGNvbXBsZXRpb25zOgotLy8gSWYgd2UgY2FuIGRlZHVjZSBlaXRo
ZXIgdGhlIGV4YWN0IGZsYWcgaW50ZW5kZWQsIG9yIGEgY29tbW9uIGZsYWcKLS8vIHByZWZpeCwg
d2UnbGwgb3V0cHV0IGV4YWN0bHkgdGhhdC4gIE90aGVyd2lzZSwgaWYgaW5mb3JtYXRpb24KLS8v
IG11c3QgYmUgZGlzcGxheWVkIHRvIHRoZSB1c2VyLCB3ZSdsbCB0YWtlIHRoZSBvcHBvcnR1bml0
eSB0byBhZGQKLS8vIHNvbWUgaGVscGZ1bCBpbmZvcm1hdGlvbiBiZXlvbmQganVzdCB0aGUgZmxh
ZyBuYW1lIChzcGVjaWZpY2FsbHksCi0vLyB3ZSdsbCBpbmNsdWRlIHRoZSBkZWZhdWx0IGZsYWcg
dmFsdWUgYW5kIGFzIG11Y2ggb2YgdGhlIGZsYWcncwotLy8gZGVzY3JpcHRpb24gYXMgY2FuIGZp
dCBvbiBhIHNpbmdsZSB0ZXJtaW5hbCBsaW5lIHdpZHRoLCBhcyBzcGVjaWZpZWQKLS8vIGJ5IHRo
ZSBmbGFnIC0tdGFiX2NvbXBsZXRpb25fY29sdW1ucykuICBGdXJ0aGVybW9yZSwgd2UnbGwgdHJ5
IHRvCi0vLyBtYWtlIGJhc2ggb3JkZXIgdGhlIG91dHB1dCBzdWNoIHRoYXQgdGhlIG1vc3QgdXNl
ZnVsIG9yIHJlbGV2ZW50Ci0vLyBmbGFncyBhcmUgdGhlIG1vc3QgbGlrZWx5IHRvIGJlIHNob3du
IGF0IHRoZSB0b3AuCi0vLwotLy8gKiogQWRkaXRpb25hbCBmZWF0dXJlczoKLS8vIFRvIGFzc2lz
dCBpbiBmaW5kaW5nIHRoYXQgb25lIHJlYWxseSB1c2VmdWwgZmxhZywgc3Vic3RyaW5nIG1hdGNo
aW5nCi0vLyB3YXMgaW1wbGVtZW50ZWQuICBCZWZvcmUgcHJlc3NpbmcgYSA8VEFCPiB0byBnZXQg
Y29tcGxldGlvbiBmb3IgdGhlCi0vLyBjdXJyZW50IHdvcmQsIHlvdSBjYW4gYXBwZW5kIG9uZSBv
ciBtb3JlICc/JyB0byB0aGUgZmxhZyB0byBkbwotLy8gc3Vic3RyaW5nIG1hdGNoaW5nLiAgSGVy
ZSdzIHRoZSBzZW1hbnRpY3M6Ci0vLyAgIC0tZm9vPFRBQj4gICAgIFNob3cgbWUgYWxsIGZsYWdz
IHdpdGggbmFtZXMgcHJlZml4ZWQgYnkgJ2ZvbycKLS8vICAgLS1mb28/PFRBQj4gICAgU2hvdyBt
ZSBhbGwgZmxhZ3Mgd2l0aCAnZm9vJyBzb21ld2hlcmUgaW4gdGhlIG5hbWUKLS8vICAgLS1mb28/
PzxUQUI+ICAgU2FtZSBhcyBwcmlvciBjYXNlLCBidXQgYWxzbyBzZWFyY2ggaW4gbW9kdWxlCi0v
LyAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24gcGF0aCBmb3IgJ2ZvbycKLS8vICAgLS1mb28/
Pz88VEFCPiAgU2FtZSBhcyBwcmlvciBjYXNlLCBidXQgYWxzbyBzZWFyY2ggaW4gZmxhZwotLy8g
ICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbnMgZm9yICdmb28nCi0vLyBGaW5hbGx5LCB3ZSds
bCB0cmltIHRoZSBvdXRwdXQgdG8gYSByZWxhdGl2ZWx5IHNtYWxsIG51bWJlciBvZgotLy8gZmxh
Z3MgdG8ga2VlcCBiYXNoIHF1aWV0IGFib3V0IHRoZSB2ZXJib3NpdHkgb2Ygb3V0cHV0LiAgSWYg
b25lCi0vLyByZWFsbHkgd2FudGVkIHRvIHNlZSBhbGwgcG9zc2libGUgbWF0Y2hlcywgYXBwZW5k
aW5nIGEgJysnIHRvIHRoZQotLy8gc2VhcmNoIHdvcmQgd2lsbCBmb3JjZSB0aGUgZXhoYXVzdGl2
ZSBsaXN0IG9mIG1hdGNoZXMgdG8gYmUgcHJpbnRlZC4KLS8vCi0vLyAqKiBIb3cgdG8gaGF2ZSBi
YXNoIGFjY2VwdCBjb21wbGV0aW9ucyBmcm9tIGEgYmluYXJ5OgotLy8gQmFzaCByZXF1aXJlcyB0
aGF0IGl0IGJlIGluZm9ybWVkIGFib3V0IGVhY2ggY29tbWFuZCB0aGF0IHByb2dyYW1tYXRpYwot
Ly8gY29tcGxldGlvbiBzaG91bGQgYmUgZW5hYmxlZCBmb3IuICBFeGFtcGxlIGFkZGl0aW9uIHRv
IGEgLmJhc2hyYwotLy8gZmlsZSB3b3VsZCBiZSAoeW91ciBwYXRoIHRvIGdmbGFnc19jb21wbGV0
aW9ucy5zaCBmaWxlIG1heSBkaWZmZXIpOgotCi0vKgotJCBjb21wbGV0ZSAtbyBiYXNoZGVmYXVs
dCAtbyBkZWZhdWx0IC1vIG5vc3BhY2UgLUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICcvaG9tZS9idWlsZC9lbmcvYmFzaC9iYXNoX2NvbXBsZXRpb25zLnNoIC0tdGFiX2NvbXBsZXRp
b25fY29sdW1ucyAkQ09MVU1OUycgXAotICB0aW1lICBlbnYgIGJpbmFyeV9uYW1lICBhbm90aGVy
X2JpbmFyeSAgWy4uLl0KLSovCi0KLS8vIFRoaXMgd291bGQgYWxsb3cgdGhlIGZvbGxvd2luZyB0
byB3b3JrOgotLy8gICAkIC9wYXRoL3RvL2JpbmFyeV9uYW1lIC0tdm1vZHVsZTxUQUI+Ci0vLyBP
cjoKLS8vICAgJCAuL2Jpbi9wYXRoL2Fub3RoZXJfYmluYXJ5IC0tZ2ZzX3U8VEFCPgotLy8gKGV0
YykKLS8vCi0vLyBTYWRseSwgaXQgYXBwZWFycyB0aGF0IGJhc2ggZ2l2ZXMgbm8gZWFzeSB3YXkg
dG8gZm9yY2UgdGhpcyBiZWhhdmlvciBmb3IKLS8vIGFsbCBjb21tYW5kcy4gIFRoYXQncyB3aGVy
ZSB0aGUgInRpbWUiIGluIHRoZSBhYm92ZSBleGFtcGxlIGNvbWVzIGluLgotLy8gSWYgeW91IGhh
dmVuJ3Qgc3BlY2lmaWNhbGx5IGFkZGVkIGEgY29tbWFuZCB0byB0aGUgbGlzdCBvZiBjb21wbGV0
aW9uCi0vLyBzdXBwb3J0ZWQgY29tbWFuZHMsIHlvdSBjYW4gc3RpbGwgZ2V0IGNvbXBsZXRpb25z
IGJ5IHByZWZpeGluZyB0aGUKLS8vIGVudGlyZSBjb21tYW5kIHdpdGggImVudiIuCi0vLyAgICQg
ZW52IC9zb21lL2JyYW5kL25ldy9iaW5hcnkgLS12bW9kPFRBQj4KLS8vIEFzc3VtaW5nIHRoYXQg
ImJpbmFyeSIgaXMgYSBuZXdseSBjb21waWxlZCBiaW5hcnksIHRoaXMgc2hvdWxkIHN0aWxsCi0v
LyBwcm9kdWNlIHRoZSBleHBlY3RlZCBjb21wbGV0aW9uIG91dHB1dC4KLQotCi0jaWZuZGVmIEdG
TEFHU19DT01QTEVUSU9OU19IXwotI2RlZmluZSBHRkxBR1NfQ09NUExFVElPTlNfSF8KLQotbmFt
ZXNwYWNlIGdvb2dsZSB7Ci0KLWV4dGVybiB2b2lkIEhhbmRsZUNvbW1hbmRMaW5lQ29tcGxldGlv
bnModm9pZCk7Ci0KLX0KLQotI2VuZGlmICAvLyBHRkxBR1NfQ09NUExFVElPTlNfSF8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3RoaXJkX3BhcnR5L2dmbGFncy9nZW4vcG9zaXgvaW5jbHVkZS9nZmxhZ3MvZ2ZsYWdzX2Rl
Y2xhcmUuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L3RoaXJkX3BhcnR5L2dmbGFncy9nZW4vcG9zaXgvaW5jbHVkZS9nZmxhZ3MvZ2ZsYWdz
X2RlY2xhcmUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTM1YTIwZTc3NWNiZTE5
NzVjM2I2ZmU1YmZkYWY1NTVlNWU5NmJiNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3Bvc2l4L2luY2x1ZGUvZ2ZsYWdz
L2dmbGFnc19kZWNsYXJlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotLy8gQ29w
eXJpZ2h0IChjKSAxOTk5LCBHb29nbGUgSW5jLgotLy8gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8v
Ci0vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLS8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLS8vIG1ldDoKLS8vCi0vLyAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotLy8gbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotLy8gICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotLy8gaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotLy8gZGlz
dHJpYnV0aW9uLgotLy8gICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cwotLy8gY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLS8vIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0vLwotLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwot
Ly8gIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKLS8vIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotLy8gQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLS8vIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAotLy8gU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAotLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0vLyBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLS8vIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLS8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotLy8gLS0tCi0vLwot
Ly8gUmV2YW1wZWQgYW5kIHJlb3JnYW5pemVkIGJ5IENyYWlnIFNpbHZlcnN0ZWluCi0vLwotLy8g
VGhpcyBpcyB0aGUgZmlsZSB0aGF0IHNob3VsZCBiZSBpbmNsdWRlZCBieSBhbnkgZmlsZSB3aGlj
aCBkZWNsYXJlcwotLy8gY29tbWFuZCBsaW5lIGZsYWcuCi0KLSNpZm5kZWYgR0ZMQUdTX0RFQ0xB
UkVfSF8KLSNkZWZpbmUgR0ZMQUdTX0RFQ0xBUkVfSF8KLQotCi0vLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLS8vIE5hbWVzcGFjZSBvZiBnZmxhZ3MgbGlicmFyeSBzeW1ib2xzLgotI2RlZmluZSBHRkxB
R1NfTkFNRVNQQUNFIGdvb2dsZQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIFdpbmRvd3Mg
RExMIGltcG9ydC9leHBvcnQuCi0KLS8vIFdlIGFsd2F5cyB3YW50IHRvIGltcG9ydCB0aGUgc3lt
Ym9scyBvZiB0aGUgZ2ZsYWdzIGxpYnJhcnkKLSNpZm5kZWYgR0ZMQUdTX0RMTF9ERUNMCi0jICBp
ZiAwICYmIGRlZmluZWQoX01TQ19WRVIpCi0jICAgIGRlZmluZSBHRkxBR1NfRExMX0RFQ0wgX19k
ZWNsc3BlYyhkbGxpbXBvcnQpCi0jICBlbHNlCi0jICAgIGRlZmluZSBHRkxBR1NfRExMX0RFQ0wK
LSMgIGVuZGlmCi0jZW5kaWYKLQotLy8gV2UgYWx3YXlzIHdhbnQgdG8gaW1wb3J0IHZhcmlhYmxl
cyBkZWNsYXJlZCBpbiB1c2VyIGNvZGUKLSNpZm5kZWYgR0ZMQUdTX0RMTF9ERUNMQVJFX0ZMQUcK
LSMgIGlmZGVmIF9NU0NfVkVSCi0jICAgIGRlZmluZSBHRkxBR1NfRExMX0RFQ0xBUkVfRkxBRyBf
X2RlY2xzcGVjKGRsbGltcG9ydCkKLSMgIGVsc2UKLSMgICAgZGVmaW5lIEdGTEFHU19ETExfREVD
TEFSRV9GTEFHCi0jICBlbmRpZgotI2VuZGlmCi0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8g
RmxhZyB0eXBlcwotI2luY2x1ZGUgPHN0cmluZz4KLSNpZiAxCi0jICBpbmNsdWRlIDxzdGRpbnQu
aD4gICAgICAgICAgICAgICAgICAgLy8gdGhlIG5vcm1hbCBwbGFjZSB1aW50MzJfdCBpcyBkZWZp
bmVkCi0jZWxpZiAxCi0jICBpbmNsdWRlIDxzeXMvdHlwZXMuaD4gICAgICAgICAgICAgICAgLy8g
dGhlIG5vcm1hbCBwbGFjZSB1X2ludDMyX3QgaXMgZGVmaW5lZAotI2VsaWYgMQotIyAgaW5jbHVk
ZSA8aW50dHlwZXMuaD4gICAgICAgICAgICAgICAgIC8vIGEgdGhpcmQgcGxhY2UgZm9yIHVpbnQz
Ml90IG9yIHVfaW50MzJfdAotI2VuZGlmCi0KLW5hbWVzcGFjZSBHRkxBR1NfTkFNRVNQQUNFIHsK
LQotI2lmIDEgLy8gQzk5Ci10eXBlZGVmIGludDMyX3QgICAgICAgICAgaW50MzI7Ci10eXBlZGVm
IHVpbnQzMl90ICAgICAgICAgdWludDMyOwotdHlwZWRlZiBpbnQ2NF90ICAgICAgICAgIGludDY0
OwotdHlwZWRlZiB1aW50NjRfdCAgICAgICAgIHVpbnQ2NDsKLSNlbGlmIDAgLy8gQlNECi10eXBl
ZGVmIGludDMyX3QgICAgICAgICAgaW50MzI7Ci10eXBlZGVmIHVfaW50MzJfdCAgICAgICAgdWlu
dDMyOwotdHlwZWRlZiBpbnQ2NF90ICAgICAgICAgIGludDY0OwotdHlwZWRlZiB1X2ludDY0X3Qg
ICAgICAgIHVpbnQ2NDsKLSNlbGlmIDAgLy8gV2luZG93cwotdHlwZWRlZiBfX2ludDMyICAgICAg
ICAgIGludDMyOwotdHlwZWRlZiB1bnNpZ25lZCBfX2ludDMyIHVpbnQzMjsKLXR5cGVkZWYgX19p
bnQ2NCAgICAgICAgICBpbnQ2NDsKLXR5cGVkZWYgdW5zaWduZWQgX19pbnQ2NCB1aW50NjQ7Ci0j
ZWxzZQotIyAgZXJyb3IgRG8gbm90IGtub3cgaG93IHRvIGRlZmluZSBhIDMyLWJpdCBpbnRlZ2Vy
IHF1YW50aXR5IG9uIHlvdXIgc3lzdGVtCi0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2UgR0ZMQUdT
X05BTUVTUEFDRQotCi0KLW5hbWVzcGFjZSBmTFMgewotCi0vLyBUaGUgbWVhbmluZyBvZiAic3Ry
aW5nIiBtaWdodCBiZSBkaWZmZXJlbnQgYmV0d2VlbiBub3cgYW5kIHdoZW4gdGhlCi0vLyBtYWNy
b3MgYmVsb3cgZ2V0IGludm9rZWQgKGUuZy4sIGlmIHNvbWVvbmUgaXMgZXhwZXJpbWVudGluZyB3
aXRoCi0vLyBvdGhlciBzdHJpbmcgaW1wbGVtZW50YXRpb25zIHRoYXQgZ2V0IGRlZmluZWQgYWZ0
ZXIgdGhpcyBmaWxlIGlzCi0vLyBpbmNsdWRlZCkuICBTYXZlIHRoZSBjdXJyZW50IG1lYW5pbmcg
bm93IGFuZCB1c2UgaXQgaW4gdGhlIG1hY3Jvcy4KLXR5cGVkZWYgc3RkOjpzdHJpbmcgY2xzdHJp
bmc7Ci0KLX0gLy8gbmFtZXNwYWNlIGZMUwotCi0KLSNkZWZpbmUgREVDTEFSRV9WQVJJQUJMRSh0
eXBlLCBzaG9ydHR5cGUsIG5hbWUpIFwKLSAgLyogV2UgYWx3YXlzIHdhbnQgdG8gaW1wb3J0IGRl
Y2xhcmVkIHZhcmlhYmxlcywgZGxsIG9yIG5vICovIFwKLSAgbmFtZXNwYWNlIGZMIyNzaG9ydHR5
cGUgeyBleHRlcm4gR0ZMQUdTX0RMTF9ERUNMQVJFX0ZMQUcgdHlwZSBGTEFHU18jI25hbWU7IH0g
XAotICB1c2luZyBmTCMjc2hvcnR0eXBlOjpGTEFHU18jI25hbWUKLQotI2RlZmluZSBERUNMQVJF
X2Jvb2wobmFtZSkgXAotICBERUNMQVJFX1ZBUklBQkxFKGJvb2wsIEIsIG5hbWUpCi0KLSNkZWZp
bmUgREVDTEFSRV9pbnQzMihuYW1lKSBcCi0gIERFQ0xBUkVfVkFSSUFCTEUoOjpHRkxBR1NfTkFN
RVNQQUNFOjppbnQzMiwgSSwgbmFtZSkKLQotI2RlZmluZSBERUNMQVJFX2ludDY0KG5hbWUpIFwK
LSAgREVDTEFSRV9WQVJJQUJMRSg6OkdGTEFHU19OQU1FU1BBQ0U6OmludDY0LCBJNjQsIG5hbWUp
Ci0KLSNkZWZpbmUgREVDTEFSRV91aW50NjQobmFtZSkgXAotICBERUNMQVJFX1ZBUklBQkxFKDo6
R0ZMQUdTX05BTUVTUEFDRTo6dWludDY0LCBVNjQsIG5hbWUpCi0KLSNkZWZpbmUgREVDTEFSRV9k
b3VibGUobmFtZSkgXAotICBERUNMQVJFX1ZBUklBQkxFKGRvdWJsZSwgRCwgbmFtZSkKLQotI2Rl
ZmluZSBERUNMQVJFX3N0cmluZyhuYW1lKSBcCi0gIC8qIFdlIGFsd2F5cyB3YW50IHRvIGltcG9y
dCBkZWNsYXJlZCB2YXJpYWJsZXMsIGRsbCBvciBubyAqLyBcCi0gIG5hbWVzcGFjZSBmTFMgeyBc
Ci0gIHVzaW5nIDo6ZkxTOjpjbHN0cmluZzsgXAotICBleHRlcm4gR0ZMQUdTX0RMTF9ERUNMQVJF
X0ZMQUcgOjpmTFM6OmNsc3RyaW5nJiBGTEFHU18jI25hbWU7IFwKLSAgfSBcCi0gIHVzaW5nIGZM
Uzo6RkxBR1NfIyNuYW1lCi0KLQotI2VuZGlmICAvLyBHRkxBR1NfREVDTEFSRV9IXwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvdGhpcmRfcGFydHkvZ2ZsYWdzL2dlbi9wb3NpeC9pbmNsdWRlL2dmbGFncy9nZmxhZ3NfZ2Zs
YWdzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3Bvc2l4L2luY2x1ZGUvZ2ZsYWdzL2dmbGFnc19n
ZmxhZ3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGMxNzgyNWRkNjIzNzFkMGYy
ODI3Y2RmODc3M2I0MDNmZTQxMGY1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3Bvc2l4L2luY2x1ZGUvZ2ZsYWdzL2dm
bGFnc19nZmxhZ3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi0vLyBDb3B5cmln
aHQgKGMpIDIwMTQsIEFuZHJlYXMgU2NodWgKLS8vIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLwot
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0vLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0vLyBtZXQ6Ci0vLwotLy8gICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLS8vIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLS8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKLS8vIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLS8vIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLS8vIGRpc3Ry
aWJ1dGlvbi4KLS8vICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKLS8vIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0vLyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotLy8KLS8vIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLS8v
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLS8vIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0vLyBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKLS8vIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKLS8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotLy8gREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0vLyBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0vLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLS8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLS8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0vLyBJbXBvcnRzIHRoZSBnZmxhZ3MgbGlicmFyeSBzeW1ib2xzIGludG8gYW4g
YWx0ZXJuYXRpdmUvZGVwcmVjYXRlZCBuYW1lc3BhY2UuCi0KLSNpZm5kZWYgR0ZMQUdTX0dGTEFH
U19IXwotIyAgZXJyb3IgVGhlIGludGVybmFsIGhlYWRlciBnZmxhZ3NfZ2ZsYWdzLmggbWF5IG9u
bHkgYmUgaW5jbHVkZWQgYnkgZ2ZsYWdzLmgKLSNlbmRpZgotCi0jaWZuZGVmIEdGTEFHU19OU19H
RkxBR1NfSF8KLSNkZWZpbmUgR0ZMQUdTX05TX0dGTEFHU19IXwotCi0KLW5hbWVzcGFjZSBnZmxh
Z3MgewotCi0KLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OmludDMyOwotdXNpbmcgR0ZMQUdTX05B
TUVTUEFDRTo6dWludDMyOwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6aW50NjQ7Ci11c2luZyBH
RkxBR1NfTkFNRVNQQUNFOjp1aW50NjQ7Ci0KLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OlJlZ2lz
dGVyRmxhZ1ZhbGlkYXRvcjsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkNvbW1hbmRMaW5lRmxh
Z0luZm87Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpHZXRBbGxGbGFnczsKLXVzaW5nIEdGTEFH
U19OQU1FU1BBQ0U6OlNob3dVc2FnZVdpdGhGbGFnczsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6
OlNob3dVc2FnZVdpdGhGbGFnc1Jlc3RyaWN0OwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6RGVz
Y3JpYmVPbmVGbGFnOwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6U2V0QXJndjsKLXVzaW5nIEdG
TEFHU19OQU1FU1BBQ0U6OkdldEFyZ3ZzOwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6R2V0QXJn
djsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkdldEFyZ3YwOwotdXNpbmcgR0ZMQUdTX05BTUVT
UEFDRTo6R2V0QXJndlN1bTsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OlByb2dyYW1JbnZvY2F0
aW9uTmFtZTsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OlByb2dyYW1JbnZvY2F0aW9uU2hvcnRO
YW1lOwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6UHJvZ3JhbVVzYWdlOwotdXNpbmcgR0ZMQUdT
X05BTUVTUEFDRTo6VmVyc2lvblN0cmluZzsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkdldENv
bW1hbmRMaW5lT3B0aW9uOwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6R2V0Q29tbWFuZExpbmVG
bGFnSW5mbzsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkdldENvbW1hbmRMaW5lRmxhZ0luZm9P
ckRpZTsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkZsYWdTZXR0aW5nTW9kZTsKLXVzaW5nIEdG
TEFHU19OQU1FU1BBQ0U6OlNFVF9GTEFHU19WQUxVRTsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6
OlNFVF9GTEFHX0lGX0RFRkFVTFQ7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpTRVRfRkxBR1Nf
REVGQVVMVDsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OlNldENvbW1hbmRMaW5lT3B0aW9uOwot
dXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6U2V0Q29tbWFuZExpbmVPcHRpb25XaXRoTW9kZTsKLXVz
aW5nIEdGTEFHU19OQU1FU1BBQ0U6OkZsYWdTYXZlcjsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6
OkNvbW1hbmRsaW5lRmxhZ3NJbnRvU3RyaW5nOwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6UmVh
ZEZsYWdzRnJvbVN0cmluZzsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkFwcGVuZEZsYWdzSW50
b0ZpbGU7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpSZWFkRnJvbUZsYWdzRmlsZTsKLXVzaW5n
IEdGTEFHU19OQU1FU1BBQ0U6OkJvb2xGcm9tRW52OwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6
SW50MzJGcm9tRW52OwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6SW50NjRGcm9tRW52OwotdXNp
bmcgR0ZMQUdTX05BTUVTUEFDRTo6VWludDY0RnJvbUVudjsKLXVzaW5nIEdGTEFHU19OQU1FU1BB
Q0U6OkRvdWJsZUZyb21FbnY7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpTdHJpbmdGcm9tRW52
OwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6U2V0VXNhZ2VNZXNzYWdlOwotdXNpbmcgR0ZMQUdT
X05BTUVTUEFDRTo6U2V0VmVyc2lvblN0cmluZzsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OlBh
cnNlQ29tbWFuZExpbmVOb25IZWxwRmxhZ3M7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpIYW5k
bGVDb21tYW5kTGluZUhlbHBGbGFnczsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkFsbG93Q29t
bWFuZExpbmVSZXBhcnNpbmc7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpSZXBhcnNlQ29tbWFu
ZExpbmVOb25IZWxwRmxhZ3M7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpTaHV0RG93bkNvbW1h
bmRMaW5lRmxhZ3M7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpGbGFnUmVnaXN0ZXJlcjsKLQot
I2lmbmRlZiBTV0lHCi11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpQYXJzZUNvbW1hbmRMaW5lRmxh
Z3M7Ci0jZW5kaWYKLQotCi19IC8vIG5hbWVzcGFjZSBnZmxhZ3MKLQotCi0jZW5kaWYgIC8vIEdG
TEFHU19OU19HRkxBR1NfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3RoaXJkX3BhcnR5L2dmbGFncy9nZW4vcG9zaXgv
aW5jbHVkZS9wcml2YXRlL2NvbmZpZy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2ZsYWdzL2dlbi9wb3NpeC9pbmNs
dWRlL3ByaXZhdGUvY29uZmlnLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5MmQ2
MWM0YzA2N2VkZGUxZWQ3NzI2YzM2YTY2NmFhOWIwMjE0ZGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2ZsYWdzL2dlbi9wb3NpeC9pbmNs
dWRlL3ByaXZhdGUvY29uZmlnLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAsMCBAQAotLyog
R2VuZXJhdGVkIGZyb20gY29uZmlnLmguaW4gZHVyaW5nIGJ1aWxkIGNvbmZpZ3VyYXRpb24gdXNp
bmcgQ01ha2UuICovCi0KLS8vIE5vdGU6IFRoaXMgaGVhZGVyIGZpbGUgaXMgb25seSB1c2VkIGlu
dGVybmFsbHkuIEl0IGlzIG5vdCBwYXJ0IG9mIHB1YmxpYyBpbnRlcmZhY2UhCi0KLS8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotLy8gU3lzdGVtIGNoZWNrcwotCi0vLyBEZWZpbmUgaWYgeW91IGJ1aWxk
IHRoaXMgbGlicmFyeSBmb3IgYSBNUyBXaW5kb3dzIE9TLgotLyogI3VuZGVmIE9TX1dJTkRPV1Mg
Ki8KLQotLy8gRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c3RkaW50Lmg+IGhlYWRlciBmaWxlLgot
I2RlZmluZSBIQVZFX1NURElOVF9ICi0KLS8vIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90
eXBlcy5oPiBoZWFkZXIgZmlsZS4KLSNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSAotCi0vLyBEZWZp
bmUgaWYgeW91IGhhdmUgdGhlIDxpbnR0eXBlcy5oPiBoZWFkZXIgZmlsZS4KLSNkZWZpbmUgSEFW
RV9JTlRUWVBFU19ICi0KLS8vIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zdGF0Lmg+IGhl
YWRlciBmaWxlLgotI2RlZmluZSBIQVZFX1NZU19TVEFUX0gKLQotLy8gRGVmaW5lIGlmIHlvdSBo
YXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLgotI2RlZmluZSBIQVZFX1VOSVNURF9ICi0K
LS8vIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGZubWF0Y2guaD4gaGVhZGVyIGZpbGUuCi0jZGVm
aW5lIEhBVkVfRk5NQVRDSF9ICi0KLS8vIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHNobHdhcGku
aD4gaGVhZGVyIGZpbGUgKFdpbmRvd3MgMjAwMC9YUCkuCi0vKiAjdW5kZWYgSEFWRV9TSExXQVBJ
X0ggKi8KLQotLy8gRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzdHJ0b2xsIGZ1bmN0aW9uLgotI2Rl
ZmluZSBIQVZFX1NUUlRPTEwKLQotLy8gRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzdHJ0b3EgZnVu
Y3Rpb24uCi0vKiAjdW5kZWYgSEFWRV9TVFJUT1EgKi8KLQotLy8gRGVmaW5lIGlmIHlvdSBoYXZl
IHRoZSA8cHRocmVhZC5oPiBoZWFkZXIgZmlsZS4KLSNkZWZpbmUgSEFWRV9QVEhSRUFECi0KLS8v
IERlZmluZSBpZiB5b3VyIHB0aHJlYWQgbGlicmFyeSBkZWZpbmVzIHRoZSB0eXBlIHB0aHJlYWRf
cndsb2NrX3QKLSNkZWZpbmUgSEFWRV9SV0xPQ0sKLQotLy8gZ2NjIHJlcXVpcmVzIHRoaXMgdG8g
Z2V0IFBSSWQ2NCwgZXRjLgotI2lmIGRlZmluZWQoSEFWRV9JTlRUWVBFU19IKSAmJiAhZGVmaW5l
ZChfX1NURENfRk9STUFUX01BQ1JPUykKLSMgIGRlZmluZSBfX1NURENfRk9STUFUX01BQ1JPUyAx
Ci0jZW5kaWYKLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBQYWNrYWdlIGluZm9ybWF0aW9u
Ci0KLS8vIE5hbWUgb2YgcGFja2FnZS4KLSNkZWZpbmUgUEFDS0FHRSBnZmxhZ3MKLQotLy8gRGVm
aW5lIHRvIHRoZSBmdWxsIG5hbWUgb2YgdGhpcyBwYWNrYWdlLgotI2RlZmluZSBQQUNLQUdFX05B
TUUgZ2ZsYWdzCi0KLS8vIERlZmluZSB0byB0aGUgZnVsbCBuYW1lIGFuZCB2ZXJzaW9uIG9mIHRo
aXMgcGFja2FnZS4KLSNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgZ2ZsYWdzIDIuMi4wCi0KLS8vIERl
ZmluZSB0byB0aGUgb25lIHN5bWJvbCBzaG9ydCBuYW1lIG9mIHRoaXMgcGFja2FnZS4KLSNkZWZp
bmUgUEFDS0FHRV9UQVJOQU1FIGdmbGFncy0yLjIuMAotCi0vLyBEZWZpbmUgdG8gdGhlIHZlcnNp
b24gb2YgdGhpcyBwYWNrYWdlLgotI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gMi4yLjAKLQotLy8g
VmVyc2lvbiBudW1iZXIgb2YgcGFja2FnZS4KLSNkZWZpbmUgVkVSU0lPTiBQQUNLQUdFX1ZFUlNJ
T04KLQotLy8gRGVmaW5lIHRvIHRoZSBhZGRyZXNzIHdoZXJlIGJ1ZyByZXBvcnRzIGZvciB0aGlz
IHBhY2thZ2Ugc2hvdWxkIGJlIHNlbnQuCi0jZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUIGh0dHBz
Oi8vZ2l0aHViLmNvbS9zY2h1aHNjaHVoL2dmbGFncy9pc3N1ZXMKLQotLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0vLyBQYXRoIHNlcGFyYXRvcgotI2lmbmRlZiBQQVRIX1NFUEFSQVRPUgotIyAgaWZk
ZWYgT1NfV0lORE9XUwotIyAgICBkZWZpbmUgUEFUSF9TRVBBUkFUT1IgICdcXCcKLSMgIGVsc2UK
LSMgICAgZGVmaW5lIFBBVEhfU0VQQVJBVE9SICAnLycKLSMgIGVuZGlmCi0jZW5kaWYKLQotLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBXaW5kb3dzCi0KLS8vIFdoZXRoZXIgZ2ZsYWdzIGxpYnJh
cnkgaXMgYSBETEwuCi0jaWZuZGVmIEdGTEFHU19JU19BX0RMTAotIyAgZGVmaW5lIEdGTEFHU19J
U19BX0RMTCAwCi0jZW5kaWYKLQotLy8gQWx3YXlzIGV4cG9ydCBzeW1ib2xzIHdoZW4gY29tcGls
aW5nIGEgc2hhcmVkIGxpYnJhcnkgYXMgdGhpcyBmaWxlIGlzIG9ubHkKLS8vIGluY2x1ZGVkIGJ5
IGludGVybmFsIG1vZHVsZXMgd2hlbiBidWlsZGluZyB0aGUgZ2ZsYWdzIGxpYnJhcnkgaXRzZWxm
LgotLy8gVGhlIGdmbGFnc19kZWNsYXJlLmggaGVhZGVyIGZpbGUgd2lsbCBzZXQgaXQgdG8gaW1w
b3J0IHRoZXNlIHN5bWJvbHMgb3RoZXJ3aXNlLgotI2lmbmRlZiBHRkxBR1NfRExMX0RFQ0wKLSMg
IGlmIEdGTEFHU19JU19BX0RMTCAmJiBkZWZpbmVkKF9NU0NfVkVSKQotIyAgICBkZWZpbmUgR0ZM
QUdTX0RMTF9ERUNMIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQotIyAgZWxzZQotIyAgICBkZWZpbmUg
R0ZMQUdTX0RMTF9ERUNMCi0jICBlbmRpZgotI2VuZGlmCi0vLyBGbGFncyBkZWZpbmVkIGJ5IHRo
ZSBnZmxhZ3MgbGlicmFyeSBpdHNlbGYgbXVzdCBiZSBleHBvcnRlZAotI2lmbmRlZiBHRkxBR1Nf
RExMX0RFRklORV9GTEFHCi0jICBkZWZpbmUgR0ZMQUdTX0RMTF9ERUZJTkVfRkxBRyBHRkxBR1Nf
RExMX0RFQ0wKLSNlbmRpZgotCi0jaWZkZWYgT1NfV0lORE9XUwotLy8gVGhlIHVuaXR0ZXN0cyBp
bXBvcnQgdGhlIHN5bWJvbHMgb2YgdGhlIHNoYXJlZCBnZmxhZ3MgbGlicmFyeQotIyAgaWYgR0ZM
QUdTX0lTX0FfRExMICYmIGRlZmluZWQoX01TQ19WRVIpCi0jICAgIGRlZmluZSBHRkxBR1NfRExM
X0RFQ0xfRk9SX1VOSVRURVNUUyBfX2RlY2xzcGVjKGRsbGltcG9ydCkKLSMgIGVuZGlmCi0jICBp
bmNsdWRlICJ3aW5kb3dzX3BvcnQuaCIKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2Zs
YWdzL2dlbi93aW4vaW5jbHVkZS9nZmxhZ3MvZ2ZsYWdzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2Vu
L3dpbi9pbmNsdWRlL2dmbGFncy9nZmxhZ3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzU3ZWVjNmJlN2NlMmY3MTRkYjljNWU5Y2RiYWI3OGIxMTMzMzdmNi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3dp
bi9pbmNsdWRlL2dmbGFncy9nZmxhZ3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDU3MyArMCwwIEBA
Ci0vLyBDb3B5cmlnaHQgKGMpIDIwMDYsIEdvb2dsZSBJbmMuCi0vLyBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8KLS8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotLy8gbWV0OgotLy8KLS8v
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0vLyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0vLyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0vLyBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0vLyBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
Ci0vLyBkaXN0cmlidXRpb24uCi0vLyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0vLyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotLy8gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLS8vCi0vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCi0vLyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAotLy8gTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0vLyBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLy8g
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCi0vLyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLS8vIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQotLy8gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0vLyAt
LS0KLS8vIFJldmFtcGVkIGFuZCByZW9yZ2FuaXplZCBieSBDcmFpZyBTaWx2ZXJzdGVpbgotLy8K
LS8vIFRoaXMgaXMgdGhlIGZpbGUgdGhhdCBzaG91bGQgYmUgaW5jbHVkZWQgYnkgYW55IGZpbGUg
d2hpY2ggZGVjbGFyZXMKLS8vIG9yIGRlZmluZXMgYSBjb21tYW5kIGxpbmUgZmxhZyBvciB3YW50
cyB0byBwYXJzZSBjb21tYW5kIGxpbmUgZmxhZ3MKLS8vIG9yIHByaW50IGEgcHJvZ3JhbSB1c2Fn
ZSBtZXNzYWdlICh3aGljaCB3aWxsIGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQKLS8vIGZsYWdz
KS4gIEV4ZWN1dGl2ZSBzdW1tYXJ5LCBpbiB0aGUgZm9ybSBvZiBhbiBleGFtcGxlIGZvby5jYyBm
aWxlOgotLy8KLS8vICAgICNpbmNsdWRlICJmb28uaCIgICAgICAgICAvLyBmb28uaCBoYXMgYSBs
aW5lICJERUNMQVJFX2ludDMyKHN0YXJ0KTsiCi0vLyAgICAjaW5jbHVkZSAidmFsaWRhdG9ycy5o
IiAgLy8gaHlwb3RoZXRpY2FsIGZpbGUgZGVmaW5pbmcgVmFsaWRhdGVJc0ZpbGUoKQotLy8KLS8v
ICAgIERFRklORV9pbnQzMihlbmQsIDEwMDAsICJUaGUgbGFzdCByZWNvcmQgdG8gcmVhZCIpOwot
Ly8KLS8vICAgIERFRklORV9zdHJpbmcoZmlsZW5hbWUsICJteV9maWxlLnR4dCIsICJUaGUgZmls
ZSB0byByZWFkIik7Ci0vLyAgICAvLyBDcmFzaCBpZiB0aGUgc3BlY2lmaWVkIGZpbGUgZG9lcyBu
b3QgZXhpc3QuCi0vLyAgICBzdGF0aWMgYm9vbCBkdW1teSA9IFJlZ2lzdGVyRmxhZ1ZhbGlkYXRv
cigmRkxBR1NfZmlsZW5hbWUsCi0vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmVmFsaWRhdGVJc0ZpbGUpOwotLy8KLS8vICAgIERFQ0xBUkVfYm9vbCh2ZXJi
b3NlKTsgLy8gc29tZSBvdGhlciBmaWxlIGhhcyBhIERFRklORV9ib29sKHZlcmJvc2UsIC4uLikK
LS8vCi0vLyAgICB2b2lkIE15RnVuYygpIHsKLS8vICAgICAgaWYgKEZMQUdTX3ZlcmJvc2UpIHBy
aW50ZigiUmVjb3JkcyAlZC0lZFxuIiwgRkxBR1Nfc3RhcnQsIEZMQUdTX2VuZCk7Ci0vLyAgICB9
Ci0vLwotLy8gICAgVGhlbiwgYXQgdGhlIGNvbW1hbmQtbGluZToKLS8vICAgICAgIC4vZm9vIC0t
bm92ZXJib3NlIC0tc3RhcnQ9NSAtLWVuZD0xMDAKLS8vCi0vLyBGb3IgbW9yZSBkZXRhaWxzLCBz
ZWUKLS8vICAgIGRvYy9nZmxhZ3MuaHRtbAotLy8KLS8vIC0tLSBBIG5vdGUgYWJvdXQgdGhyZWFk
LXNhZmV0eToKLS8vCi0vLyBXZSBkZXNjcmliZSBtYW55IGZ1bmN0aW9ucyBpbiB0aGlzIHJvdXRp
bmUgYXMgYmVpbmcgdGhyZWFkLWhvc3RpbGUsCi0vLyB0aHJlYWQtY29tcGF0aWJsZSwgb3IgdGhy
ZWFkLXNhZmUuICBIZXJlIGFyZSB0aGUgbWVhbmluZ3Mgd2UgdXNlOgotLy8KLS8vIHRocmVhZC1z
YWZlOiBpdCBpcyBzYWZlIGZvciBtdWx0aXBsZSB0aHJlYWRzIHRvIGNhbGwgdGhpcyByb3V0aW5l
Ci0vLyAgIChvciwgd2hlbiByZWZlcnJpbmcgdG8gYSBjbGFzcywgbWV0aG9kcyBvZiB0aGlzIGNs
YXNzKQotLy8gICBjb25jdXJyZW50bHkuCi0vLyB0aHJlYWQtaG9zdGlsZTogaXQgaXMgbm90IHNh
ZmUgZm9yIG11bHRpcGxlIHRocmVhZHMgdG8gY2FsbCB0aGlzCi0vLyAgIHJvdXRpbmUgKG9yIG1l
dGhvZHMgb2YgdGhpcyBjbGFzcykgY29uY3VycmVudGx5LiAgSW4gZ2ZsYWdzLAotLy8gICBtb3N0
IHRocmVhZC1ob3N0aWxlIHJvdXRpbmVzIGFyZSBpbnRlbmRlZCB0byBiZSBjYWxsZWQgZWFybHkg
aW4sCi0vLyAgIG9yIGV2ZW4gYmVmb3JlLCBtYWluKCkgLS0gdGhhdCBpcywgYmVmb3JlIHRocmVh
ZHMgYXJlIHNwYXduZWQuCi0vLyB0aHJlYWQtY29tcGF0aWJsZTogaXQgaXMgc2FmZSBmb3IgbXVs
dGlwbGUgdGhyZWFkcyB0byByZWFkIGZyb20KLS8vICAgdGhpcyB2YXJpYWJsZSAod2hlbiBhcHBs
aWVkIHRvIHZhcmlhYmxlcyksIG9yIHRvIGNhbGwgY29uc3QKLS8vICAgbWV0aG9kcyBvZiB0aGlz
IGNsYXNzICh3aGVuIGFwcGxpZWQgdG8gY2xhc3NlcyksIGFzIGxvbmcgYXMgbm8KLS8vICAgb3Ro
ZXIgdGhyZWFkIGlzIHdyaXRpbmcgdG8gdGhlIHZhcmlhYmxlIG9yIGNhbGxpbmcgbm9uLWNvbnN0
Ci0vLyAgIG1ldGhvZHMgb2YgdGhpcyBjbGFzcy4KLQotI2lmbmRlZiBHRkxBR1NfR0ZMQUdTX0hf
Ci0jZGVmaW5lIEdGTEFHU19HRkxBR1NfSF8KLQotI2luY2x1ZGUgPHN0cmluZz4KLSNpbmNsdWRl
IDx2ZWN0b3I+Ci0KLSNpbmNsdWRlICJnZmxhZ3NfZGVjbGFyZS5oIiAvLyBJV1lVIHByYWdtYTog
ZXhwb3J0Ci0KLQotLy8gV2UgYWx3YXlzIHdhbnQgdG8gZXhwb3J0IHZhcmlhYmxlcyBkZWZpbmVk
IGluIHVzZXIgY29kZQotI2lmbmRlZiBHRkxBR1NfRExMX0RFRklORV9GTEFHCi0jICBpZmRlZiBf
TVNDX1ZFUgotIyAgICBkZWZpbmUgR0ZMQUdTX0RMTF9ERUZJTkVfRkxBRyBfX2RlY2xzcGVjKGRs
bGV4cG9ydCkKLSMgIGVsc2UKLSMgICAgZGVmaW5lIEdGTEFHU19ETExfREVGSU5FX0ZMQUcKLSMg
IGVuZGlmCi0jZW5kaWYKLQotCi1uYW1lc3BhY2UgR0ZMQUdTX05BTUVTUEFDRSB7Ci0KLQotLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLS8vIFRvIGFjdHVhbGx5IGRlZmluZSBhIGZsYWcgaW4gYSBmaWxlLCB1c2Ug
REVGSU5FX2Jvb2wsCi0vLyBERUZJTkVfc3RyaW5nLCBldGMuIGF0IHRoZSBib3R0b20gb2YgdGhp
cyBmaWxlLiAgWW91IG1heSBhbHNvIGZpbmQKLS8vIGl0IHVzZWZ1bCB0byByZWdpc3RlciBhIHZh
bGlkYXRvciB3aXRoIHRoZSBmbGFnLiAgVGhpcyBlbnN1cmVzIHRoYXQKLS8vIHdoZW4gdGhlIGZs
YWcgaXMgcGFyc2VkIGZyb20gdGhlIGNvbW1hbmRsaW5lLCBvciBpcyBsYXRlciBzZXQgdmlhCi0v
LyBTZXRDb21tYW5kTGluZU9wdGlvbiwgd2UgY2FsbCB0aGUgdmFsaWRhdGlvbiBmdW5jdGlvbi4g
SXQgaXMgX25vdF8KLS8vIGNhbGxlZCB3aGVuIHlvdSBhc3NpZ24gdGhlIHZhbHVlIHRvIHRoZSBm
bGFnIGRpcmVjdGx5IHVzaW5nIHRoZSA9IG9wZXJhdG9yLgotLy8KLS8vIFRoZSB2YWxpZGF0aW9u
IGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gdHJ1ZSBpZiB0aGUgZmxhZyB2YWx1ZSBpcyB2YWxpZCwg
YW5kCi0vLyBmYWxzZSBvdGhlcndpc2UuIElmIHRoZSBmdW5jdGlvbiByZXR1cm5zIGZhbHNlIGZv
ciB0aGUgbmV3IHNldHRpbmcgb2YgdGhlCi0vLyBmbGFnLCB0aGUgZmxhZyB3aWxsIHJldGFpbiBp
dHMgY3VycmVudCB2YWx1ZS4gSWYgaXQgcmV0dXJucyBmYWxzZSBmb3IgdGhlCi0vLyBkZWZhdWx0
IHZhbHVlLCBQYXJzZUNvbW1hbmRMaW5lRmxhZ3MoKSB3aWxsIGRpZS4KLS8vCi0vLyBUaGlzIGZ1
bmN0aW9uIGlzIHNhZmUgdG8gY2FsbCBhdCBnbG9iYWwgY29uc3RydWN0IHRpbWUgKGFzIGluIHRo
ZQotLy8gZXhhbXBsZSBiZWxvdykuCi0vLwotLy8gRXhhbXBsZSB1c2U6Ci0vLyAgICBzdGF0aWMg
Ym9vbCBWYWxpZGF0ZVBvcnQoY29uc3QgY2hhciogZmxhZ25hbWUsIGludDMyIHZhbHVlKSB7Ci0v
LyAgICAgICBpZiAodmFsdWUgPiAwICYmIHZhbHVlIDwgMzI3NjgpICAgLy8gdmFsdWUgaXMgb2sK
LS8vICAgICAgICAgcmV0dXJuIHRydWU7Ci0vLyAgICAgICBwcmludGYoIkludmFsaWQgdmFsdWUg
Zm9yIC0tJXM6ICVkXG4iLCBmbGFnbmFtZSwgKGludCl2YWx1ZSk7Ci0vLyAgICAgICByZXR1cm4g
ZmFsc2U7Ci0vLyAgICB9Ci0vLyAgICBERUZJTkVfaW50MzIocG9ydCwgMCwgIldoYXQgcG9ydCB0
byBsaXN0ZW4gb24iKTsKLS8vICAgIHN0YXRpYyBib29sIGR1bW15ID0gUmVnaXN0ZXJGbGFnVmFs
aWRhdG9yKCZGTEFHU19wb3J0LCAmVmFsaWRhdGVQb3J0KTsKLQotLy8gUmV0dXJucyB0cnVlIGlm
IHN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkLCBmYWxzZSBpZiBub3QgKGJlY2F1c2UgdGhlCi0vLyBm
aXJzdCBhcmd1bWVudCBkb2Vzbid0IHBvaW50IHRvIGEgY29tbWFuZC1saW5lIGZsYWcsIG9yIGJl
Y2F1c2UgYQotLy8gdmFsaWRhdG9yIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCBmb3IgdGhpcyBmbGFn
KS4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgYm9vbCBSZWdpc3RlckZsYWdWYWxpZGF0b3IoY29u
c3QgYm9vbCogICAgICAgIGZsYWcsIGJvb2wgKCp2YWxpZGF0ZV9mbikoY29uc3QgY2hhciosIGJv
b2wpKTsKLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgYm9vbCBSZWdpc3RlckZsYWdWYWxpZGF0b3Io
Y29uc3QgaW50MzIqICAgICAgIGZsYWcsIGJvb2wgKCp2YWxpZGF0ZV9mbikoY29uc3QgY2hhcios
IGludDMyKSk7Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGJvb2wgUmVnaXN0ZXJGbGFnVmFsaWRh
dG9yKGNvbnN0IGludDY0KiAgICAgICBmbGFnLCBib29sICgqdmFsaWRhdGVfZm4pKGNvbnN0IGNo
YXIqLCBpbnQ2NCkpOwotZXh0ZXJuIEdGTEFHU19ETExfREVDTCBib29sIFJlZ2lzdGVyRmxhZ1Zh
bGlkYXRvcihjb25zdCB1aW50NjQqICAgICAgZmxhZywgYm9vbCAoKnZhbGlkYXRlX2ZuKShjb25z
dCBjaGFyKiwgdWludDY0KSk7Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGJvb2wgUmVnaXN0ZXJG
bGFnVmFsaWRhdG9yKGNvbnN0IGRvdWJsZSogICAgICBmbGFnLCBib29sICgqdmFsaWRhdGVfZm4p
KGNvbnN0IGNoYXIqLCBkb3VibGUpKTsKLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgYm9vbCBSZWdp
c3RlckZsYWdWYWxpZGF0b3IoY29uc3Qgc3RkOjpzdHJpbmcqIGZsYWcsIGJvb2wgKCp2YWxpZGF0
ZV9mbikoY29uc3QgY2hhciosIGNvbnN0IHN0ZDo6c3RyaW5nJikpOwotCi0vLyBDb252ZW5pZW5j
ZSBtYWNybyBmb3IgdGhlIHJlZ2lzdHJhdGlvbiBvZiBhIGZsYWcgdmFsaWRhdG9yCi0jZGVmaW5l
IERFRklORV92YWxpZGF0b3IobmFtZSwgdmFsaWRhdG9yKSBcCi0gICAgc3RhdGljIGNvbnN0IGJv
b2wgbmFtZSMjX3ZhbGlkYXRvcl9yZWdpc3RlcmVkID0gXAotICAgICAgICAgICAgR0ZMQUdTX05B
TUVTUEFDRTo6UmVnaXN0ZXJGbGFnVmFsaWRhdG9yKCZGTEFHU18jI25hbWUsIHZhbGlkYXRvcikK
LQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gVGhlc2UgbWV0aG9kcyBhcmUgdGhlIGJlc3Qgd2F5IHRv
IGdldCBhY2Nlc3MgdG8gaW5mbyBhYm91dCB0aGUKLS8vIGxpc3Qgb2YgY29tbWFuZGxpbmUgZmxh
Z3MuICBOb3RlIHRoYXQgdGhlc2Ugcm91dGluZXMgYXJlIHByZXR0eSBzbG93LgotLy8gICBHZXRB
bGxGbGFnczogbW9zdGx5LWNvbXBsZXRlIGluZm8gYWJvdXQgdGhlIGxpc3QsIHNvcnRlZCBieSBm
aWxlLgotLy8gICBTaG93VXNhZ2VXaXRoRmxhZ3M6IHByZXR0eS1wcmludHMgdGhlIGxpc3QgdG8g
c3Rkb3V0ICh3aGF0IC0taGVscCBkb2VzKQotLy8gICBTaG93VXNhZ2VXaXRoRmxhZ3NSZXN0cmlj
dDogbGltaXQgdG8gZmlsZW5hbWVzIHdpdGggcmVzdHJpY3QgYXMgYSBzdWJzdHIKLS8vCi0vLyBJ
biBhZGRpdGlvbiB0byBhY2Nlc3NpbmcgZmxhZ3MsIHlvdSBjYW4gYWxzbyBhY2Nlc3MgYXJndlsw
XSAodGhlIHByb2dyYW0KLS8vIG5hbWUpIGFuZCBhcmd2ICh0aGUgZW50aXJlIGNvbW1hbmRsaW5l
KSwgd2hpY2ggd2Ugc29jayBhd2F5IGEgY29weSBvZi4KLS8vIFRoZXNlIHZhcmlhYmxlcyBhcmUg
c3RhdGljLCBzbyB5b3Ugc2hvdWxkIG9ubHkgc2V0IHRoZW0gb25jZS4KLS8vCi0vLyBObyBuZWVk
IHRvIGV4cG9ydCB0aGlzIGRhdGEgb25seSBzdHJ1Y3R1cmUgZnJvbSBETEwsIGF2b2lkaW5nIFZT
IHdhcm5pbmcgNDI1MS4KLXN0cnVjdCBDb21tYW5kTGluZUZsYWdJbmZvIHsKLSAgc3RkOjpzdHJp
bmcgbmFtZTsgICAgICAgICAgICAvLyB0aGUgbmFtZSBvZiB0aGUgZmxhZwotICBzdGQ6OnN0cmlu
ZyB0eXBlOyAgICAgICAgICAgIC8vIHRoZSB0eXBlIG9mIHRoZSBmbGFnOiBpbnQzMiwgZXRjCi0g
IHN0ZDo6c3RyaW5nIGRlc2NyaXB0aW9uOyAgICAgLy8gdGhlICJoZWxwIHRleHQiIGFzc29jaWF0
ZWQgd2l0aCB0aGUgZmxhZwotICBzdGQ6OnN0cmluZyBjdXJyZW50X3ZhbHVlOyAgIC8vIHRoZSBj
dXJyZW50IHZhbHVlLCBhcyBhIHN0cmluZwotICBzdGQ6OnN0cmluZyBkZWZhdWx0X3ZhbHVlOyAg
IC8vIHRoZSBkZWZhdWx0IHZhbHVlLCBhcyBhIHN0cmluZwotICBzdGQ6OnN0cmluZyBmaWxlbmFt
ZTsgICAgICAgIC8vICdjbGVhbmVkJyB2ZXJzaW9uIG9mIGZpbGVuYW1lIGhvbGRpbmcgdGhlIGZs
YWcKLSAgYm9vbCBoYXNfdmFsaWRhdG9yX2ZuOyAgICAgICAvLyB0cnVlIGlmIFJlZ2lzdGVyRmxh
Z1ZhbGlkYXRvciBjYWxsZWQgb24gdGhpcyBmbGFnCi0gIGJvb2wgaXNfZGVmYXVsdDsgICAgICAg
ICAgICAgLy8gdHJ1ZSBpZiB0aGUgZmxhZyBoYXMgdGhlIGRlZmF1bHQgdmFsdWUgYW5kCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzIG5vdCBiZWVuIHNldCBleHBsaWNpdGx5
IGZyb20gdGhlIGNtZGxpbmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvciB2
aWEgU2V0Q29tbWFuZExpbmVPcHRpb24KLSAgY29uc3Qgdm9pZCogZmxhZ19wdHI7ICAgICAgICAv
LyBwb2ludGVyIHRvIHRoZSBmbGFnJ3MgY3VycmVudCB2YWx1ZSAoaS5lLiBGTEFHU19mb28pCi19
OwotCi0vLyBVc2luZyB0aGlzIGluc2lkZSBvZiBhIHZhbGlkYXRvciBpcyBhIHJlY2lwZSBmb3Ig
YSBkZWFkbG9jay4KLS8vIFRPRE8odXNlcikgRml4IGxvY2tpbmcgd2hlbiB2YWxpZGF0b3JzIGFy
ZSBydW5uaW5nLCB0byBtYWtlIGl0IHNhZmUgdG8KLS8vIGNhbGwgdmFsaWRhdG9ycyBkdXJpbmcg
UGFyc2VBbGxGbGFncy4KLS8vIEFsc28gbWFrZSBzdXJlIHRoZW4gdG8gdW5jb21tZW50IHRoZSBj
b3JyZXNwb25kaW5nIHVuaXQgdGVzdCBpbgotLy8gZ2ZsYWdzX3VuaXR0ZXN0LnNoCi1leHRlcm4g
R0ZMQUdTX0RMTF9ERUNMIHZvaWQgR2V0QWxsRmxhZ3Moc3RkOjp2ZWN0b3I8Q29tbWFuZExpbmVG
bGFnSW5mbz4qIE9VVFBVVCk7Ci0vLyBUaGVzZSB0d28gYXJlIGFjdHVhbGx5IGRlZmluZWQgaW4g
Z2ZsYWdzX3JlcG9ydGluZy5jYy4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgdm9pZCBTaG93VXNh
Z2VXaXRoRmxhZ3MoY29uc3QgY2hhciAqYXJndjApOyAgLy8gd2hhdCAtLWhlbHAgZG9lcwotZXh0
ZXJuIEdGTEFHU19ETExfREVDTCB2b2lkIFNob3dVc2FnZVdpdGhGbGFnc1Jlc3RyaWN0KGNvbnN0
IGNoYXIgKmFyZ3YwLCBjb25zdCBjaGFyICpyZXN0cmljdCk7Ci0KLS8vIENyZWF0ZSBhIGRlc2Ny
aXB0aXZlIHN0cmluZyBmb3IgYSBmbGFnLgotLy8gR29lcyB0byBzb21lIHRyb3VibGUgdG8gbWFr
ZSBwcmV0dHkgbGluZSBicmVha3MuCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIHN0ZDo6c3RyaW5n
IERlc2NyaWJlT25lRmxhZyhjb25zdCBDb21tYW5kTGluZUZsYWdJbmZvJiBmbGFnKTsKLQotLy8g
VGhyZWFkLWhvc3RpbGU7IG1lYW50IHRvIGJlIGNhbGxlZCBiZWZvcmUgYW55IHRocmVhZHMgYXJl
IHNwYXduZWQuCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIHZvaWQgU2V0QXJndihpbnQgYXJnYywg
Y29uc3QgY2hhcioqIGFyZ3YpOwotCi0vLyBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgdGhy
ZWFkLXNhZmUgYXMgbG9uZyBhcyBTZXRBcmd2KCkgaXMKLS8vIG9ubHkgY2FsbGVkIGJlZm9yZSBh
bnkgdGhyZWFkcyBzdGFydC4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgY29uc3Qgc3RkOjp2ZWN0
b3I8c3RkOjpzdHJpbmc+JiBHZXRBcmd2cygpOwotZXh0ZXJuIEdGTEFHU19ETExfREVDTCBjb25z
dCBjaGFyKiBHZXRBcmd2KCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIGFsbCBvZiBhcmd2IGFz
IGEgc3RyaW5nCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGNvbnN0IGNoYXIqIEdldEFyZ3YwKCk7
ICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBhcmd2MAotZXh0ZXJuIEdGTEFHU19ETExfREVD
TCB1aW50MzIgR2V0QXJndlN1bSgpOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNpbXBsZSBj
aGVja3N1bSBvZiBhcmd2Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGNvbnN0IGNoYXIqIFByb2dy
YW1JbnZvY2F0aW9uTmFtZSgpOyAgICAgICAgLy8gYXJndjAsIG9yICJVTktOT1dOIiBpZiBub3Qg
c2V0Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGNvbnN0IGNoYXIqIFByb2dyYW1JbnZvY2F0aW9u
U2hvcnROYW1lKCk7ICAgLy8gYmFzZW5hbWUoYXJndjApCi0KLS8vIFByb2dyYW1Vc2FnZSgpIGlz
IHRocmVhZC1zYWZlIGFzIGxvbmcgYXMgU2V0VXNhZ2VNZXNzYWdlKCkgaXMgb25seQotLy8gY2Fs
bGVkIGJlZm9yZSBhbnkgdGhyZWFkcyBzdGFydC4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgY29u
c3QgY2hhciogUHJvZ3JhbVVzYWdlKCk7ICAgICAgICAgICAgICAgICAvLyBzdHJpbmcgc2V0IGJ5
IFNldFVzYWdlTWVzc2FnZSgpCi0KLS8vIFZlcnNpb25TdHJpbmcoKSBpcyB0aHJlYWQtc2FmZSBh
cyBsb25nIGFzIFNldFZlcnNpb25TdHJpbmcoKSBpcyBvbmx5Ci0vLyBjYWxsZWQgYmVmb3JlIGFu
eSB0aHJlYWRzIHN0YXJ0LgotZXh0ZXJuIEdGTEFHU19ETExfREVDTCBjb25zdCBjaGFyKiBWZXJz
aW9uU3RyaW5nKCk7ICAgICAgICAgICAgICAgIC8vIHN0cmluZyBzZXQgYnkgU2V0VmVyc2lvblN0
cmluZygpCi0KLQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gTm9ybWFsbHkgeW91IGFjY2VzcyBjb21t
YW5kbGluZSBmbGFncyBieSBqdXN0IHNheWluZyAiaWYgKEZMQUdTX2ZvbykiCi0vLyBvciB3aGF0
ZXZlciwgYW5kIHNldCB0aGVtIGJ5IGNhbGxpbmcgIkZMQUdTX2ZvbyA9IGJhciIgKG9yLCBtb3Jl
Ci0vLyBjb21tb25seSwgdmlhIHRoZSBERUZJTkVfZm9vIG1hY3JvKS4gIEJ1dCBpZiB5b3UgbmVl
ZCBhIGJpdCBtb3JlCi0vLyBjb250cm9sLCB3ZSBoYXZlIHByb2dyYW1tYXRpYyB3YXlzIHRvIGdl
dC9zZXQgdGhlIGZsYWdzIGFzIHdlbGwuCi0vLyBUaGVzZSBwcm9ncmFtbWF0aWMgd2F5cyB0byBh
Y2Nlc3MgZmxhZ3MgYXJlIHRocmVhZC1zYWZlLCBidXQgZGlyZWN0Ci0vLyBhY2Nlc3MgaXMgb25s
eSB0aHJlYWQtY29tcGF0aWJsZS4KLQotLy8gUmV0dXJuIHRydWUgaWZmIHRoZSBmbGFnbmFtZSB3
YXMgZm91bmQuCi0vLyBPVVRQVVQgaXMgc2V0IHRvIHRoZSBmbGFnJ3MgdmFsdWUsIG9yIHVuY2hh
bmdlZCBpZiB3ZSByZXR1cm4gZmFsc2UuCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGJvb2wgR2V0
Q29tbWFuZExpbmVPcHRpb24oY29uc3QgY2hhciogbmFtZSwgc3RkOjpzdHJpbmcqIE9VVFBVVCk7
Ci0KLS8vIFJldHVybiB0cnVlIGlmZiB0aGUgZmxhZ25hbWUgd2FzIGZvdW5kLiBPVVRQVVQgaXMg
c2V0IHRvIHRoZSBmbGFnJ3MKLS8vIENvbW1hbmRMaW5lRmxhZ0luZm8gb3IgdW5jaGFuZ2VkIGlm
IHdlIHJldHVybiBmYWxzZS4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgYm9vbCBHZXRDb21tYW5k
TGluZUZsYWdJbmZvKGNvbnN0IGNoYXIqIG5hbWUsIENvbW1hbmRMaW5lRmxhZ0luZm8qIE9VVFBV
VCk7Ci0KLS8vIFJldHVybiB0aGUgQ29tbWFuZExpbmVGbGFnSW5mbyBvZiB0aGUgZmxhZ25hbWUu
ICBleGl0KCkgaWYgbmFtZSBub3QgZm91bmQuCi0vLyBFeGFtcGxlIHVzYWdlLCB0byBjaGVjayBp
ZiBhIGZsYWcncyB2YWx1ZSBpcyBjdXJyZW50bHkgdGhlIGRlZmF1bHQgdmFsdWU6Ci0vLyAgIGlm
IChHZXRDb21tYW5kTGluZUZsYWdJbmZvT3JEaWUoImZvbyIpLmlzX2RlZmF1bHQpIC4uLgotZXh0
ZXJuIEdGTEFHU19ETExfREVDTCBDb21tYW5kTGluZUZsYWdJbmZvIEdldENvbW1hbmRMaW5lRmxh
Z0luZm9PckRpZShjb25zdCBjaGFyKiBuYW1lKTsKLQotZW51bSBHRkxBR1NfRExMX0RFQ0wgRmxh
Z1NldHRpbmdNb2RlIHsKLSAgLy8gdXBkYXRlIHRoZSBmbGFnJ3MgdmFsdWUgKGNhbiBjYWxsIHRo
aXMgbXVsdGlwbGUgdGltZXMpLgotICBTRVRfRkxBR1NfVkFMVUUsCi0gIC8vIHVwZGF0ZSB0aGUg
ZmxhZydzIHZhbHVlLCBidXQgKm9ubHkgaWYqIGl0IGhhcyBub3QgeWV0IGJlZW4gdXBkYXRlZAot
ICAvLyB3aXRoIFNFVF9GTEFHU19WQUxVRSwgU0VUX0ZMQUdfSUZfREVGQVVMVCwgb3IgIkZMQUdT
X3h4eCA9IG5vbmRlZiIuCi0gIFNFVF9GTEFHX0lGX0RFRkFVTFQsCi0gIC8vIHNldCB0aGUgZmxh
ZydzIGRlZmF1bHQgdmFsdWUgdG8gdGhpcy4gIElmIHRoZSBmbGFnIGhhcyBub3QgeWV0IHVwZGF0
ZWQKLSAgLy8geWV0ICh2aWEgU0VUX0ZMQUdTX1ZBTFVFLCBTRVRfRkxBR19JRl9ERUZBVUxULCBv
ciAiRkxBR1NfeHh4ID0gbm9uZGVmIikKLSAgLy8gY2hhbmdlIHRoZSBmbGFnJ3MgY3VycmVudCB2
YWx1ZSB0byB0aGUgbmV3IGRlZmF1bHQgdmFsdWUgYXMgd2VsbC4KLSAgU0VUX0ZMQUdTX0RFRkFV
TFQKLX07Ci0KLS8vIFNldCBhIHBhcnRpY3VsYXIgZmxhZyAoImNvbW1hbmQgbGluZSBvcHRpb24i
KS4gIFJldHVybnMgYSBzdHJpbmcKLS8vIGRlc2NyaWJpbmcgdGhlIG5ldyB2YWx1ZSB0aGF0IHRo
ZSBvcHRpb24gaGFzIGJlZW4gc2V0IHRvLiAgVGhlCi0vLyByZXR1cm4gdmFsdWUgQVBJIGlzIG5v
dCB3ZWxsLXNwZWNpZmllZCwgc28gYmFzaWNhbGx5IGp1c3QgZGVwZW5kIG9uCi0vLyBpdCB0byBi
ZSBlbXB0eSBpZiB0aGUgc2V0dGluZyBmYWlsZWQgZm9yIHNvbWUgcmVhc29uIC0tIHRoZSBuYW1l
IGlzCi0vLyBub3QgYSB2YWxpZCBmbGFnIG5hbWUsIG9yIHRoZSB2YWx1ZSBpcyBub3QgYSB2YWxp
ZCB2YWx1ZSAtLSBhbmQKLS8vIG5vbi1lbXB0eSBlbHNlLgotCi0vLyBTZXRDb21tYW5kTGluZU9w
dGlvbiB1c2VzIHNldF9tb2RlID09IFNFVF9GTEFHU19WQUxVRSAodGhlIGNvbW1vbiBjYXNlKQot
ZXh0ZXJuIEdGTEFHU19ETExfREVDTCBzdGQ6OnN0cmluZyBTZXRDb21tYW5kTGluZU9wdGlvbiAg
ICAgICAgKGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IGNoYXIqIHZhbHVlKTsKLWV4dGVybiBHRkxB
R1NfRExMX0RFQ0wgc3RkOjpzdHJpbmcgU2V0Q29tbWFuZExpbmVPcHRpb25XaXRoTW9kZShjb25z
dCBjaGFyKiBuYW1lLCBjb25zdCBjaGFyKiB2YWx1ZSwgRmxhZ1NldHRpbmdNb2RlIHNldF9tb2Rl
KTsKLQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gU2F2ZXMgdGhlIHN0YXRlcyAodmFsdWUsIGRlZmF1
bHQgdmFsdWUsIHdoZXRoZXIgdGhlIHVzZXIgaGFzIHNldAotLy8gdGhlIGZsYWcsIHJlZ2lzdGVy
ZWQgdmFsaWRhdG9ycywgZXRjKSBvZiBhbGwgZmxhZ3MsIGFuZCByZXN0b3JlcwotLy8gdGhlbSB3
aGVuIHRoZSBGbGFnU2F2ZXIgaXMgZGVzdHJveWVkLiAgVGhpcyBpcyB2ZXJ5IHVzZWZ1bCBpbgot
Ly8gdGVzdHMsIHNheSwgd2hlbiB5b3Ugd2FudCB0byBsZXQgeW91ciB0ZXN0cyBjaGFuZ2UgdGhl
IGZsYWdzLCBidXQKLS8vIG1ha2Ugc3VyZSB0aGF0IHRoZXkgZ2V0IHJldmVydGVkIHRvIHRoZSBv
cmlnaW5hbCBzdGF0ZXMgd2hlbiB5b3VyCi0vLyB0ZXN0IGlzIGNvbXBsZXRlLgotLy8KLS8vIEV4
YW1wbGUgdXNhZ2U6Ci0vLyAgIHZvaWQgVGVzdEZvbygpIHsKLS8vICAgICBGbGFnU2F2ZXIgczE7
Ci0vLyAgICAgRkxBR19mb28gPSBmYWxzZTsKLS8vICAgICBGTEFHX2JhciA9ICJzb21lIHZhbHVl
IjsKLS8vCi0vLyAgICAgLy8gdGVzdCBoYXBwZW5zIGhlcmUuICBZb3UgY2FuIHJldHVybiBhdCBh
bnkgdGltZQotLy8gICAgIC8vIHdpdGhvdXQgd29ycnlpbmcgYWJvdXQgcmVzdG9yaW5nIHRoZSBG
TEFHIHZhbHVlcy4KLS8vICAgfQotLy8KLS8vIE5vdGU6IFRoaXMgY2xhc3MgaXMgbWFya2VkIHdp
dGggR0ZMQUdTX0FUVFJJQlVURV9VTlVTRUQgYmVjYXVzZSBhbGwKLS8vIHRoZSB3b3JrIGlzIGRv
bmUgaW4gdGhlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yLCBzbyBpbiB0aGUgc3RhbmRhcmQK
LS8vIHVzYWdlIGV4YW1wbGUgYWJvdmUsIHRoZSBjb21waWxlciB3b3VsZCBjb21wbGFpbiB0aGF0
IGl0J3MgYW4KLS8vIHVudXNlZCB2YXJpYWJsZS4KLS8vCi0vLyBUaGlzIGNsYXNzIGlzIHRocmVh
ZC1zYWZlLiAgSG93ZXZlciwgaXRzIGRlc3RydWN0b3Igd3JpdGVzIHRvCi0vLyBleGFjdGx5IHRo
ZSBzZXQgb2YgZmxhZ3MgdGhhdCBoYXZlIGNoYW5nZWQgdmFsdWUgZHVyaW5nIGl0cwotLy8gbGlm
ZXRpbWUsIHNvIGNvbmN1cnJlbnQgX2RpcmVjdF8gYWNjZXNzIHRvIHRob3NlIGZsYWdzCi0vLyAo
aS5lLiBGTEFHU19mb28gaW5zdGVhZCBvZiB7R2V0LFNldH1Db21tYW5kTGluZU9wdGlvbigpKSBp
cyB1bnNhZmUuCi0KLWNsYXNzIEdGTEFHU19ETExfREVDTCBGbGFnU2F2ZXIgewotIHB1YmxpYzoK
LSAgRmxhZ1NhdmVyKCk7Ci0gIH5GbGFnU2F2ZXIoKTsKLQotIHByaXZhdGU6Ci0gIGNsYXNzIEZs
YWdTYXZlckltcGwqIGltcGxfOyAgIC8vIHdlIHVzZSBwaW1wbCBoZXJlIHRvIGtlZXAgQVBJIHN0
ZWFkeQotCi0gIEZsYWdTYXZlcihjb25zdCBGbGFnU2F2ZXImKTsgIC8vIG5vIGNvcHlpbmchCi0g
IHZvaWQgb3BlcmF0b3I9KGNvbnN0IEZsYWdTYXZlciYpOwotfTsKLQotLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LS8vIFNvbWUgZGVwcmVjYXRlZCBvciBob3BlZnVsbHktc29vbi10by1iZS1kZXByZWNhdGVkIGZ1
bmN0aW9ucy4KLQotLy8gVGhpcyBpcyBvZnRlbiB1c2VkIGZvciBsb2dnaW5nLiAgVE9ETyhjc2ls
dmVycyk6IGZpZ3VyZSBvdXQgYSBiZXR0ZXIgd2F5Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIHN0
ZDo6c3RyaW5nIENvbW1hbmRsaW5lRmxhZ3NJbnRvU3RyaW5nKCk7Ci0vLyBVc3VhbGx5IHdoZXJl
IHRoaXMgaXMgdXNlZCwgYSBGbGFnU2F2ZXIgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KLWV4dGVy
biBHRkxBR1NfRExMX0RFQ0wKLWJvb2wgUmVhZEZsYWdzRnJvbVN0cmluZyhjb25zdCBzdGQ6OnN0
cmluZyYgZmxhZ2ZpbGVjb250ZW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyKiBwcm9nX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlcnJvcnNfYXJl
X2ZhdGFsKTsgIC8vIHVzZXMgU0VUX0ZMQUdTX1ZBTFVFCi0KLS8vIFRoZXNlIGxldCB5b3UgbWFu
dWFsbHkgaW1wbGVtZW50IC0tZmxhZ2ZpbGUgZnVuY3Rpb25hbGl0eS4KLS8vIERFUFJFQ0FURUQu
Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIGJvb2wgQXBwZW5kRmxhZ3NJbnRvRmlsZShjb25zdCBz
dGQ6OnN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IGNoYXIqIHByb2dfbmFtZSk7Ci1leHRlcm4gR0ZM
QUdTX0RMTF9ERUNMIGJvb2wgUmVhZEZyb21GbGFnc0ZpbGUoY29uc3Qgc3RkOjpzdHJpbmcmIGZp
bGVuYW1lLCBjb25zdCBjaGFyKiBwcm9nX25hbWUsIGJvb2wgZXJyb3JzX2FyZV9mYXRhbCk7ICAg
Ly8gdXNlcyBTRVRfRkxBR1NfVkFMVUUKLQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gVXNlZnVsIHJv
dXRpbmVzIGZvciBpbml0aWFsaXppbmcgZmxhZ3MgZnJvbSB0aGUgZW52aXJvbm1lbnQuCi0vLyBJ
biBlYWNoIGNhc2UsIGlmICd2YXJuYW1lJyBkb2VzIG5vdCBleGlzdCBpbiB0aGUgZW52aXJvbm1l
bnQKLS8vIHJldHVybiBkZWZ2YWwuICBJZiAndmFybmFtZScgZG9lcyBleGlzdCBidXQgaXMgbm90
IHZhbGlkCi0vLyAoZS5nLiwgbm90IGEgbnVtYmVyIGZvciBhbiBpbnQzMiBmbGFnKSwgYWJvcnQg
d2l0aCBhbiBlcnJvci4KLS8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZS4gIE5PVEU6IGZv
ciBib29sZWFucywgZm9yIHRydWUgdXNlCi0vLyAndCcgb3IgJ1QnIG9yICd0cnVlJyBvciAnMScs
IGZvciBmYWxzZSAnZicgb3IgJ0YnIG9yICdmYWxzZScgb3IgJzAnLgotCi1leHRlcm4gR0ZMQUdT
X0RMTF9ERUNMIGJvb2wgQm9vbEZyb21FbnYoY29uc3QgY2hhciAqdmFybmFtZSwgYm9vbCBkZWZ2
YWwpOwotZXh0ZXJuIEdGTEFHU19ETExfREVDTCBpbnQzMiBJbnQzMkZyb21FbnYoY29uc3QgY2hh
ciAqdmFybmFtZSwgaW50MzIgZGVmdmFsKTsKLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgaW50NjQg
SW50NjRGcm9tRW52KGNvbnN0IGNoYXIgKnZhcm5hbWUsIGludDY0IGRlZnZhbCk7Ci1leHRlcm4g
R0ZMQUdTX0RMTF9ERUNMIHVpbnQ2NCBVaW50NjRGcm9tRW52KGNvbnN0IGNoYXIgKnZhcm5hbWUs
IHVpbnQ2NCBkZWZ2YWwpOwotZXh0ZXJuIEdGTEFHU19ETExfREVDTCBkb3VibGUgRG91YmxlRnJv
bUVudihjb25zdCBjaGFyICp2YXJuYW1lLCBkb3VibGUgZGVmdmFsKTsKLWV4dGVybiBHRkxBR1Nf
RExMX0RFQ0wgY29uc3QgY2hhciAqU3RyaW5nRnJvbUVudihjb25zdCBjaGFyICp2YXJuYW1lLCBj
b25zdCBjaGFyICpkZWZ2YWwpOwotCi0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBUaGUgbmV4dCB0d28g
ZnVuY3Rpb25zIHBhcnNlIGdmbGFncyBmcm9tIG1haW4oKToKLQotLy8gU2V0IHRoZSAidXNhZ2Ui
IG1lc3NhZ2UgZm9yIHRoaXMgcHJvZ3JhbS4gIEZvciBleGFtcGxlOgotLy8gICBzdHJpbmcgdXNh
Z2UoIlRoaXMgcHJvZ3JhbSBkb2VzIG5vdGhpbmcuICBTYW1wbGUgdXNhZ2U6XG4iKTsKLS8vICAg
dXNhZ2UgKz0gYXJndlswXSArICIgPHVzZWxlc3NhcmcxPiA8dXNlbGVzc2FyZzI+IjsKLS8vICAg
U2V0VXNhZ2VNZXNzYWdlKHVzYWdlKTsKLS8vIERvIG5vdCBpbmNsdWRlIGNvbW1hbmRsaW5lIGZs
YWdzIGluIHRoZSB1c2FnZTogd2UgZG8gdGhhdCBmb3IgeW91IQotLy8gVGhyZWFkLWhvc3RpbGU7
IG1lYW50IHRvIGJlIGNhbGxlZCBiZWZvcmUgYW55IHRocmVhZHMgYXJlIHNwYXduZWQuCi1leHRl
cm4gR0ZMQUdTX0RMTF9ERUNMIHZvaWQgU2V0VXNhZ2VNZXNzYWdlKGNvbnN0IHN0ZDo6c3RyaW5n
JiB1c2FnZSk7Ci0KLS8vIFNldHMgdGhlIHZlcnNpb24gc3RyaW5nLCB3aGljaCBpcyBlbWl0dGVk
IHdpdGggLS12ZXJzaW9uLgotLy8gRm9yIGluc3RhbmNlOiBTZXRWZXJzaW9uU3RyaW5nKCIxLjMi
KTsKLS8vIFRocmVhZC1ob3N0aWxlOyBtZWFudCB0byBiZSBjYWxsZWQgYmVmb3JlIGFueSB0aHJl
YWRzIGFyZSBzcGF3bmVkLgotZXh0ZXJuIEdGTEFHU19ETExfREVDTCB2b2lkIFNldFZlcnNpb25T
dHJpbmcoY29uc3Qgc3RkOjpzdHJpbmcmIHZlcnNpb24pOwotCi0KLS8vIExvb2tzIGZvciBmbGFn
cyBpbiBhcmd2IGFuZCBwYXJzZXMgdGhlbS4gIFJlYXJyYW5nZXMgYXJndiB0byBwdXQKLS8vIGZs
YWdzIGZpcnN0LCBvciByZW1vdmVzIHRoZW0gZW50aXJlbHkgaWYgcmVtb3ZlX2ZsYWdzIGlzIHRy
dWUuCi0vLyBJZiBhIGZsYWcgaXMgZGVmaW5lZCBtb3JlIHRoYW4gb25jZSBpbiB0aGUgY29tbWFu
ZCBsaW5lIG9yIGZsYWcKLS8vIGZpbGUsIHRoZSBsYXN0IGRlZmluaXRpb24gaXMgdXNlZC4gIFJl
dHVybnMgdGhlIGluZGV4IChpbnRvIGFyZ3YpCi0vLyBvZiB0aGUgZmlyc3Qgbm9uLWZsYWcgYXJn
dW1lbnQuCi0vLyBTZWUgdG9wLW9mLWZpbGUgZm9yIG1vcmUgZGV0YWlscyBvbiB0aGlzIGZ1bmN0
aW9uLgotI2lmbmRlZiBTV0lHICAgLy8gSW4gc3dpZywgdXNlIFBhcnNlQ29tbWFuZExpbmVGbGFn
c1NjcmlwdCgpIGluc3RlYWQuCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIHVpbnQzMiBQYXJzZUNv
bW1hbmRMaW5lRmxhZ3MoaW50ICphcmdjLCBjaGFyKioqIGFyZ3YsIGJvb2wgcmVtb3ZlX2ZsYWdz
KTsKLSNlbmRpZgotCi0KLS8vIENhbGxzIHRvIFBhcnNlQ29tbWFuZExpbmVOb25IZWxwRmxhZ3Mg
YW5kIHRoZW4gdG8KLS8vIEhhbmRsZUNvbW1hbmRMaW5lSGVscEZsYWdzIGNhbiBiZSB1c2VkIGlu
c3RlYWQgb2YgYSBjYWxsIHRvCi0vLyBQYXJzZUNvbW1hbmRMaW5lRmxhZ3MgZHVyaW5nIGluaXRp
YWxpemF0aW9uLCBpbiBvcmRlciB0byBhbGxvdyBmb3IKLS8vIGNoYW5naW5nIGRlZmF1bHQgdmFs
dWVzIGZvciBzb21lIEZMQUdTICh2aWEKLS8vIGUuZy4gU2V0Q29tbWFuZExpbmVPcHRpb25XaXRo
TW9kZSBjYWxscykgYmV0d2VlbiB0aGUgdGltZSBvZgotLy8gY29tbWFuZCBsaW5lIHBhcnNpbmcg
YW5kIHRoZSB0aW1lIG9mIGR1bXBpbmcgaGVscCBpbmZvcm1hdGlvbiBmb3IKLS8vIHRoZSBmbGFn
cyBhcyBhIHJlc3VsdCBvZiBjb21tYW5kIGxpbmUgcGFyc2luZy4gIElmIGEgZmxhZyBpcwotLy8g
ZGVmaW5lZCBtb3JlIHRoYW4gb25jZSBpbiB0aGUgY29tbWFuZCBsaW5lIG9yIGZsYWcgZmlsZSwg
dGhlIGxhc3QKLS8vIGRlZmluaXRpb24gaXMgdXNlZC4gIFJldHVybnMgdGhlIGluZGV4IChpbnRv
IGFyZ3YpIG9mIHRoZSBmaXJzdAotLy8gbm9uLWZsYWcgYXJndW1lbnQuICAoSWYgcmVtb3ZlX2Zs
YWdzIGlzIHRydWUsIHdpbGwgYWx3YXlzIHJldHVybiAxLikKLWV4dGVybiBHRkxBR1NfRExMX0RF
Q0wgdWludDMyIFBhcnNlQ29tbWFuZExpbmVOb25IZWxwRmxhZ3MoaW50ICphcmdjLCBjaGFyKioq
IGFyZ3YsIGJvb2wgcmVtb3ZlX2ZsYWdzKTsKLQotLy8gVGhpcyBpcyBhY3R1YWxseSBkZWZpbmVk
IGluIGdmbGFnc19yZXBvcnRpbmcuY2MuCi0vLyBUaGlzIGZ1bmN0aW9uIGlzIG1pc25hbWVkIChp
dCBhbHNvIGhhbmRsZXMgLS12ZXJzaW9uLCBldGMuKSwgYnV0Ci0vLyBpdCdzIHRvbyBsYXRlIHRv
IGNoYW5nZSB0aGF0IG5vdy4gOi0oCi1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIHZvaWQgSGFuZGxl
Q29tbWFuZExpbmVIZWxwRmxhZ3MoKTsgICAvLyBpbiBnZmxhZ3NfcmVwb3J0aW5nLmNjCi0KLS8v
IEFsbG93IGNvbW1hbmQgbGluZSByZXBhcnNpbmcuICBEaXNhYmxlcyB0aGUgZXJyb3Igbm9ybWFs
bHkKLS8vIGdlbmVyYXRlZCB3aGVuIGFuIHVua25vd24gZmxhZyBpcyBmb3VuZCwgc2luY2UgaXQg
bWF5IGJlIGZvdW5kIGluIGEKLS8vIGxhdGVyIHBhcnNlLiAgVGhyZWFkLWhvc3RpbGU7IG1lYW50
IHRvIGJlIGNhbGxlZCBiZWZvcmUgYW55IHRocmVhZHMKLS8vIGFyZSBzcGF3bmVkLgotZXh0ZXJu
IEdGTEFHU19ETExfREVDTCB2b2lkIEFsbG93Q29tbWFuZExpbmVSZXBhcnNpbmcoKTsKLQotLy8g
UmVwYXJzZSB0aGUgZmxhZ3MgdGhhdCBoYXZlIG5vdCB5ZXQgYmVlbiByZWNvZ25pemVkLiAgT25s
eSBmbGFncwotLy8gcmVnaXN0ZXJlZCBzaW5jZSB0aGUgbGFzdCBwYXJzZSB3aWxsIGJlIHJlY29n
bml6ZWQuICBBbnkgZmxhZyB2YWx1ZQotLy8gbXVzdCBiZSBwcm92aWRlZCBhcyBwYXJ0IG9mIHRo
ZSBhcmd1bWVudCB1c2luZyAiPSIsIG5vdCBhcyBhCi0vLyBzZXBhcmF0ZSBjb21tYW5kIGxpbmUg
YXJndW1lbnQgdGhhdCBmb2xsb3dzIHRoZSBmbGFnIGFyZ3VtZW50LgotLy8gSW50ZW5kZWQgZm9y
IGhhbmRsaW5nIGZsYWdzIGZyb20gZHluYW1pY2FsbHkgbG9hZGVkIGxpYnJhcmllcywKLS8vIHNp
bmNlIHRoZWlyIGZsYWdzIGFyZSBub3QgcmVnaXN0ZXJlZCB1bnRpbCB0aGV5IGFyZSBsb2FkZWQu
Ci1leHRlcm4gR0ZMQUdTX0RMTF9ERUNMIHZvaWQgUmVwYXJzZUNvbW1hbmRMaW5lTm9uSGVscEZs
YWdzKCk7Ci0KLS8vIENsZWFuIHVwIG1lbW9yeSBhbGxvY2F0ZWQgYnkgZmxhZ3MuICBUaGlzIGlz
IG9ubHkgbmVlZGVkIHRvIHJlZHVjZQotLy8gdGhlIHF1YW50aXR5IG9mICJwb3RlbnRpYWxseSBs
ZWFrZWQiIHJlcG9ydHMgZW1pdHRlZCBieSBtZW1vcnkKLS8vIGRlYnVnZ2luZyB0b29scyBzdWNo
IGFzIHZhbGdyaW5kLiAgSXQgaXMgbm90IHJlcXVpcmVkIGZvciBub3JtYWwKLS8vIG9wZXJhdGlv
biwgb3IgZm9yIHRoZSBnb29nbGUgcGVyZnRvb2xzIGhlYXAtY2hlY2tlci4gIEl0IG11c3Qgb25s
eQotLy8gYmUgY2FsbGVkIHdoZW4gdGhlIHByb2Nlc3MgaXMgYWJvdXQgdG8gZXhpdCwgYW5kIGFs
bCB0aHJlYWRzIHRoYXQKLS8vIG1pZ2h0IGFjY2VzcyBmbGFncyBhcmUgcXVpZXNjZW50LiAgUmVm
ZXJlbmNpbmcgZmxhZ3MgYWZ0ZXIgdGhpcyBpcwotLy8gY2FsbGVkIHdpbGwgaGF2ZSB1bmV4cGVj
dGVkIGNvbnNlcXVlbmNlcy4gIFRoaXMgaXMgbm90IHNhZmUgdG8gcnVuCi0vLyB3aGVuIG11bHRp
cGxlIHRocmVhZHMgbWlnaHQgYmUgcnVubmluZzogdGhlIGZ1bmN0aW9uIGlzCi0vLyB0aHJlYWQt
aG9zdGlsZS4KLWV4dGVybiBHRkxBR1NfRExMX0RFQ0wgdm9pZCBTaHV0RG93bkNvbW1hbmRMaW5l
RmxhZ3MoKTsKLQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gTm93IGNvbWUgdGhlIGNvbW1hbmQgbGlu
ZSBmbGFnIGRlY2xhcmF0aW9uL2RlZmluaXRpb24gbWFjcm9zIHRoYXQKLS8vIHdpbGwgYWN0dWFs
bHkgYmUgdXNlZC4gIFRoZXkncmUga2luZCBvZiBoYWlyeS4gIEEgbWFqb3IgcmVhc29uCi0vLyBm
b3IgdGhpcyBpcyBpbml0aWFsaXphdGlvbjogd2Ugd2FudCBwZW9wbGUgdG8gYmUgYWJsZSB0byBh
Y2Nlc3MKLS8vIHZhcmlhYmxlcyBpbiBnbG9iYWwgY29uc3RydWN0b3JzIGFuZCBoYXZlIHRoYXQg
bm90IGNyYXNoLCBldmVuIGlmCi0vLyB0aGVpciBnbG9iYWwgY29uc3RydWN0b3IgcnVucyBiZWZv
cmUgdGhlIGdsb2JhbCBjb25zdHJ1Y3RvciBoZXJlLgotLy8gKE9idmlvdXNseSwgd2UgY2FuJ3Qg
Z3VhcmFudGVlIHRoZSBmbGFncyB3aWxsIGhhdmUgdGhlIGNvcnJlY3QKLS8vIGRlZmF1bHQgdmFs
dWUgaW4gdGhhdCBjYXNlLCBidXQgYXQgbGVhc3QgYWNjZXNzaW5nIHRoZW0gaXMgc2FmZS4pCi0v
LyBUaGUgb25seSB3YXkgdG8gZG8gdGhhdCBpcyBoYXZlIGZsYWdzIHBvaW50IHRvIGEgc3RhdGlj
IGJ1ZmZlci4KLS8vIFNvIHdlIG1ha2Ugb25lLCB1c2luZyBhIHVuaW9uIHRvIGVuc3VyZSBwcm9w
ZXIgYWxpZ25tZW50LCBhbmQKLS8vIHRoZW4gdXNlIHBsYWNlbWVudC1uZXcgdG8gYWN0dWFsbHkg
c2V0IHVwIHRoZSBmbGFnIHdpdGggdGhlCi0vLyBjb3JyZWN0IGRlZmF1bHQgdmFsdWUuICBJbiB0
aGUgc2FtZSB2ZWluLCB3ZSBoYXZlIHRvIHdvcnJ5IGFib3V0Ci0vLyBmbGFnIGFjY2VzcyBpbiBn
bG9iYWwgZGVzdHJ1Y3RvcnMsIHNvIEZsYWdSZWdpc3RlcmVyIGhhcyB0byBiZQotLy8gY2FyZWZ1
bCBuZXZlciB0byBkZXN0cm95IHRoZSBmbGFnLXZhbHVlcyBpdCBjb25zdHJ1Y3RzLgotLy8KLS8v
IE5vdGUgdGhhdCB3aGVuIHdlIGRlZmluZSBhIGZsYWcgdmFyaWFibGUgRkxBR1NfPG5hbWU+LCB3
ZSBhbHNvCi0vLyBwcmVlbXB0aXZlbHkgZGVmaW5lIGEganVuayB2YXJpYWJsZSwgRkxBR1Nfbm88
bmFtZT4uICBUaGlzIGlzIHRvCi0vLyBjYXVzZSBhIGxpbmstdGltZSBlcnJvciBpZiBzb21lb25l
IHRyaWVzIHRvIGRlZmluZSAyIGZsYWdzIHdpdGgKLS8vIG5hbWVzIGxpa2UgImxvZ2dpbmciIGFu
ZCAibm9sb2dnaW5nIi4gIFdlIGRvIHRoaXMgYmVjYXVzZSBhIGJvb2wKLS8vIGZsYWcgRkxBRyBj
YW4gYmUgc2V0IGZyb20gdGhlIGNvbW1hbmQgbGluZSB0byB0cnVlIHdpdGggYSAiLUZMQUciCi0v
LyBhcmd1bWVudCwgYW5kIHRvIGZhbHNlIHdpdGggYSAiLW5vRkxBRyIgYXJndW1lbnQsIGFuZCBz
byB0aGlzIGNhbgotLy8gcG90ZW50aWFsbHkgYXZlcnQgY29uZnVzaW9uLgotLy8KLS8vIFdlIGFs
c28gcHV0IGZsYWdzIGludG8gdGhlaXIgb3duIG5hbWVzcGFjZS4gIEl0IGlzIHB1cnBvc2VmdWxs
eQotLy8gbmFtZWQgaW4gYW4gb3BhcXVlIHdheSB0aGF0IHBlb3BsZSBzaG91bGQgaGF2ZSB0cm91
YmxlIHR5cGluZwotLy8gZGlyZWN0bHkuICBUaGUgaWRlYSBpcyB0aGF0IERFRklORSBwdXRzIHRo
ZSBmbGFnIGluIHRoZSB3ZWlyZAotLy8gbmFtZXNwYWNlLCBhbmQgREVDTEFSRSBpbXBvcnRzIHRo
ZSBmbGFnIGZyb20gdGhlcmUgaW50byB0aGUgY3VycmVudAotLy8gbmFtZXNwYWNlLiAgVGhlIG5l
dCByZXN1bHQgaXMgdG8gZm9yY2UgcGVvcGxlIHRvIHVzZSBERUNMQVJFIHRvIGdldAotLy8gYWNj
ZXNzIHRvIGEgZmxhZywgcmF0aGVyIHRoYW4gc2F5aW5nICJleHRlcm4gR0ZMQUdTX0RMTF9ERUNM
IGJvb2wgRkxBR1Nfd2hhdGV2ZXI7IgotLy8gb3Igc29tZSBzdWNoIGluc3RlYWQuICBXZSB3YW50
IHRoaXMgc28gd2UgY2FuIHB1dCBleHRyYQotLy8gZnVuY3Rpb25hbGl0eSAobGlrZSBzYW5pdHkt
Y2hlY2tpbmcpIGluIERFQ0xBUkUgaWYgd2Ugd2FudCwgYW5kCi0vLyBtYWtlIHN1cmUgaXQgaXMg
cGlja2VkIHVwIGV2ZXJ5d2hlcmUuCi0vLwotLy8gV2UgYWxzbyBwdXQgdGhlIHR5cGUgb2YgdGhl
IHZhcmlhYmxlIGluIHRoZSBuYW1lc3BhY2UsIHNvIHRoYXQKLS8vIHBlb3BsZSBjYW4ndCBERUNM
QVJFX2ludDMyIHNvbWV0aGluZyB0aGF0IHRoZXkgREVGSU5FX2Jvb2wnZAotLy8gZWxzZXdoZXJl
LgotCi1jbGFzcyBHRkxBR1NfRExMX0RFQ0wgRmxhZ1JlZ2lzdGVyZXIgewotIHB1YmxpYzoKLSAg
RmxhZ1JlZ2lzdGVyZXIoY29uc3QgY2hhciogbmFtZSwgY29uc3QgY2hhciogdHlwZSwKLSAgICAg
ICAgICAgICAgICAgY29uc3QgY2hhciogaGVscCwgY29uc3QgY2hhciogZmlsZW5hbWUsCi0gICAg
ICAgICAgICAgICAgIHZvaWQqIGN1cnJlbnRfc3RvcmFnZSwgdm9pZCogZGVmdmFsdWVfc3RvcmFn
ZSk7Ci19OwotCi0vLyBJZiB5b3VyIGFwcGxpY2F0aW9uICNkZWZpbmVzIFNUUklQX0ZMQUdfSEVM
UCB0byBhIG5vbi16ZXJvIHZhbHVlCi0vLyBiZWZvcmUgI2luY2x1ZGluZyB0aGlzIGZpbGUsIHdl
IHJlbW92ZSB0aGUgaGVscCBtZXNzYWdlIGZyb20gdGhlCi0vLyBiaW5hcnkgZmlsZS4gVGhpcyBj
YW4gcmVkdWNlIHRoZSBzaXplIG9mIHRoZSByZXN1bHRpbmcgYmluYXJ5Ci0vLyBzb21ld2hhdCwg
YW5kIG1heSBhbHNvIGJlIHVzZWZ1bCBmb3Igc2VjdXJpdHkgcmVhc29ucy4KLQotZXh0ZXJuIEdG
TEFHU19ETExfREVDTCBjb25zdCBjaGFyIGtTdHJpcHBlZEZsYWdIZWxwW107Ci0KLQotfSAvLyBu
YW1lc3BhY2UgR0ZMQUdTX05BTUVTUEFDRQotCi0KLSNpZm5kZWYgU1dJRyAgLy8gSW4gc3dpZywg
aWdub3JlIHRoZSBtYWluIGZsYWcgZGVjbGFyYXRpb25zCi0KLSNpZiBkZWZpbmVkKFNUUklQX0ZM
QUdfSEVMUCkgJiYgU1RSSVBfRkxBR19IRUxQID4gMAotLy8gTmVlZCB0aGlzIGNvbnN0cnVjdCB0
byBhdm9pZCB0aGUgJ2RlZmluZWQgYnV0IG5vdCB1c2VkJyB3YXJuaW5nLgotI2RlZmluZSBNQVlC
RV9TVFJJUFBFRF9IRUxQKHR4dCkgXAotICAgKGZhbHNlID8gKHR4dCkgOiBHRkxBR1NfTkFNRVNQ
QUNFOjprU3RyaXBwZWRGbGFnSGVscCkKLSNlbHNlCi0jZGVmaW5lIE1BWUJFX1NUUklQUEVEX0hF
TFAodHh0KSB0eHQKLSNlbmRpZgotCi0vLyBFYWNoIGNvbW1hbmQtbGluZSBmbGFnIGhhcyB0d28g
dmFyaWFibGVzIGFzc29jaWF0ZWQgd2l0aCBpdDogb25lCi0vLyB3aXRoIHRoZSBjdXJyZW50IHZh
bHVlLCBhbmQgb25lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUuICBIb3dldmVyLAotLy8gd2UgaGF2
ZSBhIHRoaXJkIHZhcmlhYmxlLCB3aGljaCBpcyB3aGVyZSB2YWx1ZSBpcyBhc3NpZ25lZDsgaXQn
cyBhCi0vLyBjb25zdGFudC4gIFRoaXMgZ3VhcmFudGVlcyB0aGF0IEZMQUdfIyN2YWx1ZSBpcyBp
bml0aWFsaXplZCBhdAotLy8gc3RhdGljIGluaXRpYWxpemF0aW9uIHRpbWUgKGUuZy4gYmVmb3Jl
IHByb2dyYW0tc3RhcnQpIHJhdGhlciB0aGFuCi0vLyB0aGFuIGdsb2JhbCBjb25zdHJ1Y3Rpb24g
dGltZSAod2hpY2ggaXMgYWZ0ZXIgcHJvZ3JhbS1zdGFydCBidXQKLS8vIGJlZm9yZSBtYWluKSwg
YXQgbGVhc3Qgd2hlbiAndmFsdWUnIGlzIGEgY29tcGlsZS10aW1lIGNvbnN0YW50LiAgV2UKLS8v
IHVzZSBhIHNtYWxsIHRyaWNrIGZvciB0aGUgImRlZmF1bHQgdmFsdWUiIHZhcmlhYmxlLCBhbmQg
Y2FsbCBpdAotLy8gRkxBR1Nfbm88bmFtZT4uICBUaGlzIHNlcnZlcyB0aGUgc2Vjb25kIHB1cnBv
c2Ugb2YgYXNzdXJpbmcgYQotLy8gY29tcGlsZSBlcnJvciBpZiBzb21lb25lIHRyaWVzIHRvIGRl
ZmluZSBhIGZsYWcgbmFtZWQgbm88bmFtZT4KLS8vIHdoaWNoIGlzIGlsbGVnYWwgKC0tZm9vIGFu
ZCAtLW5vZm9vIGJvdGggYWZmZWN0IHRoZSAiZm9vIiBmbGFnKS4KLSNkZWZpbmUgREVGSU5FX1ZB
UklBQkxFKHR5cGUsIHNob3J0dHlwZSwgbmFtZSwgdmFsdWUsIGhlbHApICAgICAgICAgICAgIFwK
LSAgbmFtZXNwYWNlIGZMIyNzaG9ydHR5cGUgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBzdGF0aWMgY29uc3QgdHlwZSBGTEFHU19ub25vIyNuYW1l
ID0gdmFsdWU7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAvKiBXZSBhbHdheXMgd2Fu
dCB0byBleHBvcnQgZGVmaW5lZCB2YXJpYWJsZXMsIGRsbCBvciBubyAqLyAgICAgICAgIFwKLSAg
ICBHRkxBR1NfRExMX0RFRklORV9GTEFHIHR5cGUgRkxBR1NfIyNuYW1lID0gRkxBR1Nfbm9ubyMj
bmFtZTsgICAgICAgIFwKLSAgICB0eXBlIEZMQUdTX25vIyNuYW1lID0gRkxBR1Nfbm9ubyMjbmFt
ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzdGF0aWMgR0ZMQUdTX05BTUVT
UEFDRTo6RmxhZ1JlZ2lzdGVyZXIgb18jI25hbWUoICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICNuYW1lLCAjdHlwZSwgTUFZQkVfU1RSSVBQRURfSEVMUChoZWxwKSwgX19GSUxFX18sICAgICAg
ICAgICAgICAgIFwKLSAgICAgICZGTEFHU18jI25hbWUsICZGTEFHU19ubyMjbmFtZSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdXNpbmcg
ZkwjI3Nob3J0dHlwZTo6RkxBR1NfIyNuYW1lCi0KLS8vIEZvciBERUZJTkVfYm9vbCwgd2Ugd2Fu
dCB0byBkbyB0aGUgZXh0cmEgY2hlY2sgdGhhdCB0aGUgcGFzc2VkLWluCi0vLyB2YWx1ZSBpcyBh
Y3R1YWxseSBhIGJvb2wsIGFuZCBub3QgYSBzdHJpbmcgb3Igc29tZXRoaW5nIHRoYXQgY2FuIGJl
Ci0vLyBjb2VyY2VkIHRvIGEgYm9vbC4gIFRoZXNlIGRlY2xhcmF0aW9ucyAobm8gZGVmaW5pdGlv
biBuZWVkZWQhKSB3aWxsCi0vLyBoZWxwIHVzIGRvIHRoYXQsIGFuZCBuZXZlciBldmFsdWF0ZSBG
cm9tLCB3aGljaCBpcyBpbXBvcnRhbnQuCi0vLyBXZSdsbCB1c2UgJ3NpemVvZihJc0Jvb2wodmFs
KSknIHRvIGRpc3Rpbmd1aXNoLiBUaGlzIGNvZGUgcmVxdWlyZXMKLS8vIHRoYXQgdGhlIGNvbXBp
bGVyIGhhdmUgZGlmZmVyZW50IHNpemVzIGZvciBib29sICYgZG91YmxlLiBTaW5jZQotLy8gdGhp
cyBpcyBub3QgZ3VhcmFudGVlZCBieSB0aGUgc3RhbmRhcmQsIHdlIGNoZWNrIGl0IHdpdGggYQot
Ly8gQ09NUElMRV9BU1NFUlQuCi1uYW1lc3BhY2UgZkxCIHsKLXN0cnVjdCBDb21waWxlQXNzZXJ0
IHt9OwotdHlwZWRlZiBDb21waWxlQXNzZXJ0IGV4cGVjdGVkX3NpemVvZl9kb3VibGVfbmVxX3Np
emVvZl9ib29sWwotICAgICAgICAgICAgICAgICAgICAgIChzaXplb2YoZG91YmxlKSAhPSBzaXpl
b2YoYm9vbCkpID8gMSA6IC0xXTsKLXRlbXBsYXRlPHR5cGVuYW1lIEZyb20+IGRvdWJsZSBHRkxB
R1NfRExMX0RFQ0wgSXNCb29sRmxhZyhjb25zdCBGcm9tJiBmcm9tKTsKLUdGTEFHU19ETExfREVD
TCBib29sIElzQm9vbEZsYWcoYm9vbCBmcm9tKTsKLX0gIC8vIG5hbWVzcGFjZSBmTEIKLQotLy8g
SGVyZSBhcmUgdGhlIGFjdHVhbCBERUZJTkVfKi1tYWNyb3MuIFRoZSByZXNwZWN0aXZlIERFQ0xB
UkVfKi1tYWNyb3MKLS8vIGFyZSBpbiBhIHNlcGFyYXRlIGluY2x1ZGUsIGdmbGFnc19kZWNsYXJl
LmgsIGZvciByZWR1Y2luZwotLy8gdGhlIHBoeXNpY2FsIHRyYW5zaXRpdmUgc2l6ZSBmb3IgREVD
TEFSRSB1c2UuCi0jZGVmaW5lIERFRklORV9ib29sKG5hbWUsIHZhbCwgdHh0KSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG5hbWVzcGFjZSBmTEIgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdHlwZWRl
ZiA6OmZMQjo6Q29tcGlsZUFzc2VydCBGTEFHXyMjbmFtZSMjX3ZhbHVlX2lzX25vdF9hX2Jvb2xb
ICAgICBcCi0gICAgICAgICAgICAoc2l6ZW9mKDo6ZkxCOjpJc0Jvb2xGbGFnKHZhbCkpICE9IHNp
emVvZihkb3VibGUpKT8gMTogLTFdOyBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIERFRklORV9WQVJJ
QUJMRShib29sLCBCLCBuYW1lLCB2YWwsIHR4dCkKLQotI2RlZmluZSBERUZJTkVfaW50MzIobmFt
ZSwgdmFsLCB0eHQpIFwKLSAgIERFRklORV9WQVJJQUJMRShHRkxBR1NfTkFNRVNQQUNFOjppbnQz
MiwgSSwgXAotICAgICAgICAgICAgICAgICAgIG5hbWUsIHZhbCwgdHh0KQotCi0jZGVmaW5lIERF
RklORV9pbnQ2NChuYW1lLCB2YWwsIHR4dCkgXAotICAgREVGSU5FX1ZBUklBQkxFKEdGTEFHU19O
QU1FU1BBQ0U6OmludDY0LCBJNjQsIFwKLSAgICAgICAgICAgICAgICAgICBuYW1lLCB2YWwsIHR4
dCkKLQotI2RlZmluZSBERUZJTkVfdWludDY0KG5hbWUsdmFsLCB0eHQpIFwKLSAgIERFRklORV9W
QVJJQUJMRShHRkxBR1NfTkFNRVNQQUNFOjp1aW50NjQsIFU2NCwgXAotICAgICAgICAgICAgICAg
ICAgIG5hbWUsIHZhbCwgdHh0KQotCi0jZGVmaW5lIERFRklORV9kb3VibGUobmFtZSwgdmFsLCB0
eHQpIFwKLSAgIERFRklORV9WQVJJQUJMRShkb3VibGUsIEQsIG5hbWUsIHZhbCwgdHh0KQotCi0v
LyBTdHJpbmdzIGFyZSB0cmlja2llciwgYmVjYXVzZSB0aGV5J3JlIG5vdCBhIFBPRCwgc28gd2Ug
Y2FuJ3QKLS8vIGNvbnN0cnVjdCB0aGVtIGF0IHN0YXRpYy1pbml0aWFsaXphdGlvbiB0aW1lIChp
bnN0ZWFkIHRoZXkgZ2V0Ci0vLyBjb25zdHJ1Y3RlZCBhdCBnbG9iYWwtY29uc3RydWN0b3IgdGlt
ZSwgd2hpY2ggaXMgbXVjaCBsYXRlcikuICBUbwotLy8gdHJ5IHRvIGF2b2lkIGNyYXNoZXMgaW4g
dGhhdCBjYXNlLCB3ZSB1c2UgYSBjaGFyIGJ1ZmZlciB0byBzdG9yZQotLy8gdGhlIHN0cmluZywg
d2hpY2ggd2UgY2FuIHN0YXRpYy1pbml0aWFsaXplLCBhbmQgdGhlbiBwbGFjZW1lbnQtbmV3Ci0v
LyBpbnRvIGl0IGxhdGVyLiAgSXQncyBub3QgcGVyZmVjdCwgYnV0IHRoZSBiZXN0IHdlIGNhbiBk
by4KLQotbmFtZXNwYWNlIGZMUyB7Ci0KLWlubGluZSBjbHN0cmluZyogZG9udF9wYXNzMHRvREVG
SU5FX3N0cmluZyhjaGFyICpzdHJpbmdzcG90LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnZhbHVlKSB7Ci0gIHJldHVybiBuZXcoc3RyaW5n
c3BvdCkgY2xzdHJpbmcodmFsdWUpOwotfQotaW5saW5lIGNsc3RyaW5nKiBkb250X3Bhc3MwdG9E
RUZJTkVfc3RyaW5nKGNoYXIgKnN0cmluZ3Nwb3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2xzdHJpbmcgJnZhbHVlKSB7Ci0gIHJldHVybiBuZXco
c3RyaW5nc3BvdCkgY2xzdHJpbmcodmFsdWUpOwotfQotaW5saW5lIGNsc3RyaW5nKiBkb250X3Bh
c3MwdG9ERUZJTkVfc3RyaW5nKGNoYXIgKnN0cmluZ3Nwb3QsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHZhbHVlKTsKLX0gIC8vIG5hbWVzcGFjZSBmTFMK
LQotLy8gV2UgbmVlZCB0byBkZWZpbmUgYSB2YXIgbmFtZWQgRkxBR1Nfbm8jI25hbWUgc28gcGVv
cGxlIGRvbid0IGRlZmluZQotLy8gLS1zdHJpbmcgYW5kIC0tbm9zdHJpbmcuICBBbmQgd2UgbmVl
ZCBhIHRlbXBvcmFyeSBwbGFjZSB0byBwdXQgdmFsCi0vLyBzbyB3ZSBkb24ndCBoYXZlIHRvIGV2
YWx1YXRlIGl0IHR3aWNlLiAgVHdvIGdyZWF0IG5lZWRzIHRoYXQgZ28KLS8vIGdyZWF0IHRvZ2V0
aGVyIQotLy8gVGhlIHdlaXJkICd1c2luZycgKyAnZXh0ZXJuJyBpbnNpZGUgdGhlIGZMUyBuYW1l
c3BhY2UgaXMgdG8gd29yayBhcm91bmQKLS8vIGFuIHVua25vd24gY29tcGlsZXIgYnVnL2lzc3Vl
IHdpdGggdGhlIGdjYyA0LjIuMSBvbiBTVVNFIDEwLiAgU2VlCi0vLyAgICBodHRwOi8vY29kZS5n
b29nbGUuY29tL3AvZ29vZ2xlLWdmbGFncy9pc3N1ZXMvZGV0YWlsP2lkPTIwCi0jZGVmaW5lIERF
RklORV9zdHJpbmcobmFtZSwgdmFsLCB0eHQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBuYW1lc3BhY2UgZkxTIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB1c2luZyA6OmZMUzo6Y2xzdHJp
bmc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgc3RhdGljIHVuaW9uIHsgdm9pZCogYWxpZ247IGNoYXIgc1tzaXplb2YoY2xzdHJpbmcpXTsg
fSBzXyMjbmFtZVsyXTsgICAgXAotICAgIGNsc3RyaW5nKiBjb25zdCBGTEFHU19ubyMjbmFtZSA9
IDo6ZkxTOjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG9udF9wYXNzMHRvREVGSU5FX3N0cmluZyhzXyMjbmFtZVsw
XS5zLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdmFsKTsgICAgICAgICAgXAotICAgIHN0YXRpYyBHRkxBR1NfTkFNRVNQQUNF
OjpGbGFnUmVnaXN0ZXJlciBvXyMjbmFtZSggICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgI25hbWUsICJzdHJpbmciLCBNQVlCRV9TVFJJUFBFRF9IRUxQKHR4dCksIF9fRklMRV9fLCAg
ICAgICAgICAgICAgICBcCi0gICAgICAgIHNfIyNuYW1lWzBdLnMsIG5ldyAoc18jI25hbWVbMV0u
cykgY2xzdHJpbmcoKkZMQUdTX25vIyNuYW1lKSk7ICAgICAgXAotICAgIGV4dGVybiBHRkxBR1Nf
RExMX0RFRklORV9GTEFHIGNsc3RyaW5nJiBGTEFHU18jI25hbWU7ICAgICAgICAgICAgICAgICAg
IFwKLSAgICB1c2luZyBmTFM6OkZMQUdTXyMjbmFtZTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgY2xzdHJpbmcmIEZMQUdTXyMjbmFtZSA9ICpG
TEFHU19ubyMjbmFtZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgdXNpbmcgZkxTOjpGTEFHU18jI25hbWUKLQotI2VuZGlmICAvLyBTV0lH
Ci0KLQotLy8gSW1wb3J0IGdmbGFncyBsaWJyYXJ5IHN5bWJvbHMgaW50byBhbHRlcm5hdGl2ZS9k
ZXByZWNhdGVkIG5hbWVzcGFjZShzKQotI2luY2x1ZGUgImdmbGFnc19nZmxhZ3MuaCIKLQotCi0j
ZW5kaWYgIC8vIEdGTEFHU19HRkxBR1NfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3RoaXJkX3BhcnR5L2dmbGFncy9n
ZW4vd2luL2luY2x1ZGUvZ2ZsYWdzL2dmbGFnc19jb21wbGV0aW9ucy5oIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2Zs
YWdzL2dlbi93aW4vaW5jbHVkZS9nZmxhZ3MvZ2ZsYWdzX2NvbXBsZXRpb25zLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NTFjMWUwMmQxZmQ5NmFmMjVlNmJiYjc5OWEwMGRhY2Vk
NWY1NzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRf
cGFydHkvZ2ZsYWdzL2dlbi93aW4vaW5jbHVkZS9nZmxhZ3MvZ2ZsYWdzX2NvbXBsZXRpb25zLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwxMjEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDA4LCBH
b29nbGUgSW5jLgotLy8gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vCi0vLyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLS8v
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKLS8vIG1ldDoKLS8vCi0vLyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotLy8gbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotLy8g
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQotLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotLy8gaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotLy8gZGlzdHJpYnV0aW9uLgotLy8gICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot
Ly8gY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KLS8vIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0vLwotLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotLy8gIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLS8vIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgotLy8gQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLS8vIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotLy8gU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAot
Ly8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCi0vLyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLS8vIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLS8vIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLS8vCi0vLyAtLS0KLQotLy8KLS8vIEltcGxlbWVudCBo
ZWxwZnVsIGJhc2gtc3R5bGUgY29tbWFuZCBsaW5lIGZsYWcgY29tcGxldGlvbnMKLS8vCi0vLyAq
KiBGdW5jdGlvbmFsIEFQSToKLS8vIEhhbmRsZUNvbW1hbmRMaW5lQ29tcGxldGlvbnMoKSBzaG91
bGQgYmUgY2FsbGVkIGVhcmx5IGR1cmluZwotLy8gcHJvZ3JhbSBzdGFydHVwLCBidXQgYWZ0ZXIg
Y29tbWFuZCBsaW5lIGZsYWcgY29kZSBoYXMgYmVlbgotLy8gaW5pdGlhbGl6ZWQsIHN1Y2ggYXMg
dGhlIGJlZ2lubmluZyBvZiBIYW5kbGVDb21tYW5kTGluZUhlbHBGbGFncygpLgotLy8gSXQgY2hl
Y2tzIHRoZSB2YWx1ZSBvZiB0aGUgZmxhZyAtLXRhYl9jb21wbGV0aW9uX3dvcmQuICBJZiB0aGlz
Ci0vLyBmbGFnIGlzIGVtcHR5LCBub3RoaW5nIGhhcHBlbnMgaGVyZS4gIElmIGl0IGNvbnRhaW5z
IGEgc3RyaW5nLAotLy8gaG93ZXZlciwgdGhlbiBIYW5kbGVDb21tYW5kTGluZUNvbXBsZXRpb25z
KCkgd2lsbCBoaWphY2sgdGhlCi0vLyBwcm9jZXNzLCBhdHRlbXB0aW5nIHRvIGlkZW50aWZ5IHRo
ZSBpbnRlbnRpb24gYmVoaW5kIHRoaXMKLS8vIGNvbXBsZXRpb24uICBSZWdhcmRsZXNzIG9mIHRo
ZSBvdXRjb21lIG9mIHRoaXMgZGVkdWN0aW9uLCB0aGUKLS8vIHByb2Nlc3Mgd2lsbCBiZSB0ZXJt
aW5hdGVkLCBzaW1pbGFyIHRvIC0taGVscHNob3J0IGZsYWcKLS8vIGhhbmRsaW5nLgotLy8KLS8v
ICoqIE92ZXJ2aWV3IG9mIEJhc2ggY29tcGxldGlvbnM6Ci0vLyBCYXNoIGNhbiBiZSB0b2xkIHRv
IHByb2dyYW1hdGljYWxseSBkZXRlcm1pbmUgY29tcGxldGlvbnMgZm9yIHRoZQotLy8gY3VycmVu
dCAnY3Vyc29yIHdvcmQnLiAgSXQgZG9lcyB0aGlzIGJ5IChpbiB0aGlzIGNhc2UpIGludm9raW5n
IGEKLS8vIGNvbW1hbmQgd2l0aCBzb21lIGFkZGl0aW9uYWwgYXJndW1lbnRzIGlkZW50aWZ5aW5n
IHRoZSBjb21tYW5kCi0vLyBiZWluZyBleGVjdXRlZCwgdGhlIHdvcmQgYmVpbmcgY29tcGxldGVk
LCBhbmQgdGhlIHByZXZpb3VzIHdvcmQKLS8vIChpZiBhbnkpLiAgQmFzaCB0aGVuIGV4cGVjdHMg
YSBzZXF1ZW5jZSBvZiBvdXRwdXQgbGluZXMgdG8gYmUKLS8vIHByaW50ZWQgdG8gc3Rkb3V0LiAg
SWYgdGhlc2UgbGluZXMgYWxsIGNvbnRhaW4gYSBjb21tb24gcHJlZml4Ci0vLyBsb25nZXIgdGhh
biB0aGUgY3Vyc29yIHdvcmQsIGJhc2ggd2lsbCByZXBsYWNlIHRoZSBjdXJzb3Igd29yZAotLy8g
d2l0aCB0aGF0IGNvbW1vbiBwcmVmaXgsIGFuZCBkaXNwbGF5IG5vdGhpbmcuICBJZiB0aGVyZSBp
c24ndCBzdWNoCi0vLyBhIGNvbW1vbiBwcmVmaXgsIGJhc2ggd2lsbCBkaXNwbGF5IHRoZSBsaW5l
cyBpbiBwYWdlcyB1c2luZyAnbW9yZScuCi0vLwotLy8gKiogU3RyYXRlZ3kgdGFrZW4gZm9yIGNv
bW1hbmQgbGluZSBjb21wbGV0aW9uczoKLS8vIElmIHdlIGNhbiBkZWR1Y2UgZWl0aGVyIHRoZSBl
eGFjdCBmbGFnIGludGVuZGVkLCBvciBhIGNvbW1vbiBmbGFnCi0vLyBwcmVmaXgsIHdlJ2xsIG91
dHB1dCBleGFjdGx5IHRoYXQuICBPdGhlcndpc2UsIGlmIGluZm9ybWF0aW9uCi0vLyBtdXN0IGJl
IGRpc3BsYXllZCB0byB0aGUgdXNlciwgd2UnbGwgdGFrZSB0aGUgb3Bwb3J0dW5pdHkgdG8gYWRk
Ci0vLyBzb21lIGhlbHBmdWwgaW5mb3JtYXRpb24gYmV5b25kIGp1c3QgdGhlIGZsYWcgbmFtZSAo
c3BlY2lmaWNhbGx5LAotLy8gd2UnbGwgaW5jbHVkZSB0aGUgZGVmYXVsdCBmbGFnIHZhbHVlIGFu
ZCBhcyBtdWNoIG9mIHRoZSBmbGFnJ3MKLS8vIGRlc2NyaXB0aW9uIGFzIGNhbiBmaXQgb24gYSBz
aW5nbGUgdGVybWluYWwgbGluZSB3aWR0aCwgYXMgc3BlY2lmaWVkCi0vLyBieSB0aGUgZmxhZyAt
LXRhYl9jb21wbGV0aW9uX2NvbHVtbnMpLiAgRnVydGhlcm1vcmUsIHdlJ2xsIHRyeSB0bwotLy8g
bWFrZSBiYXNoIG9yZGVyIHRoZSBvdXRwdXQgc3VjaCB0aGF0IHRoZSBtb3N0IHVzZWZ1bCBvciBy
ZWxldmVudAotLy8gZmxhZ3MgYXJlIHRoZSBtb3N0IGxpa2VseSB0byBiZSBzaG93biBhdCB0aGUg
dG9wLgotLy8KLS8vICoqIEFkZGl0aW9uYWwgZmVhdHVyZXM6Ci0vLyBUbyBhc3Npc3QgaW4gZmlu
ZGluZyB0aGF0IG9uZSByZWFsbHkgdXNlZnVsIGZsYWcsIHN1YnN0cmluZyBtYXRjaGluZwotLy8g
d2FzIGltcGxlbWVudGVkLiAgQmVmb3JlIHByZXNzaW5nIGEgPFRBQj4gdG8gZ2V0IGNvbXBsZXRp
b24gZm9yIHRoZQotLy8gY3VycmVudCB3b3JkLCB5b3UgY2FuIGFwcGVuZCBvbmUgb3IgbW9yZSAn
PycgdG8gdGhlIGZsYWcgdG8gZG8KLS8vIHN1YnN0cmluZyBtYXRjaGluZy4gIEhlcmUncyB0aGUg
c2VtYW50aWNzOgotLy8gICAtLWZvbzxUQUI+ICAgICBTaG93IG1lIGFsbCBmbGFncyB3aXRoIG5h
bWVzIHByZWZpeGVkIGJ5ICdmb28nCi0vLyAgIC0tZm9vPzxUQUI+ICAgIFNob3cgbWUgYWxsIGZs
YWdzIHdpdGggJ2Zvbycgc29tZXdoZXJlIGluIHRoZSBuYW1lCi0vLyAgIC0tZm9vPz88VEFCPiAg
IFNhbWUgYXMgcHJpb3IgY2FzZSwgYnV0IGFsc28gc2VhcmNoIGluIG1vZHVsZQotLy8gICAgICAg
ICAgICAgICAgICBkZWZpbml0aW9uIHBhdGggZm9yICdmb28nCi0vLyAgIC0tZm9vPz8/PFRBQj4g
IFNhbWUgYXMgcHJpb3IgY2FzZSwgYnV0IGFsc28gc2VhcmNoIGluIGZsYWcKLS8vICAgICAgICAg
ICAgICAgICAgZGVzY3JpcHRpb25zIGZvciAnZm9vJwotLy8gRmluYWxseSwgd2UnbGwgdHJpbSB0
aGUgb3V0cHV0IHRvIGEgcmVsYXRpdmVseSBzbWFsbCBudW1iZXIgb2YKLS8vIGZsYWdzIHRvIGtl
ZXAgYmFzaCBxdWlldCBhYm91dCB0aGUgdmVyYm9zaXR5IG9mIG91dHB1dC4gIElmIG9uZQotLy8g
cmVhbGx5IHdhbnRlZCB0byBzZWUgYWxsIHBvc3NpYmxlIG1hdGNoZXMsIGFwcGVuZGluZyBhICcr
JyB0byB0aGUKLS8vIHNlYXJjaCB3b3JkIHdpbGwgZm9yY2UgdGhlIGV4aGF1c3RpdmUgbGlzdCBv
ZiBtYXRjaGVzIHRvIGJlIHByaW50ZWQuCi0vLwotLy8gKiogSG93IHRvIGhhdmUgYmFzaCBhY2Nl
cHQgY29tcGxldGlvbnMgZnJvbSBhIGJpbmFyeToKLS8vIEJhc2ggcmVxdWlyZXMgdGhhdCBpdCBi
ZSBpbmZvcm1lZCBhYm91dCBlYWNoIGNvbW1hbmQgdGhhdCBwcm9ncmFtbWF0aWMKLS8vIGNvbXBs
ZXRpb24gc2hvdWxkIGJlIGVuYWJsZWQgZm9yLiAgRXhhbXBsZSBhZGRpdGlvbiB0byBhIC5iYXNo
cmMKLS8vIGZpbGUgd291bGQgYmUgKHlvdXIgcGF0aCB0byBnZmxhZ3NfY29tcGxldGlvbnMuc2gg
ZmlsZSBtYXkgZGlmZmVyKToKLQotLyoKLSQgY29tcGxldGUgLW8gYmFzaGRlZmF1bHQgLW8gZGVm
YXVsdCAtbyBub3NwYWNlIC1DICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAnL2hvbWUv
YnVpbGQvZW5nL2Jhc2gvYmFzaF9jb21wbGV0aW9ucy5zaCAtLXRhYl9jb21wbGV0aW9uX2NvbHVt
bnMgJENPTFVNTlMnIFwKLSAgdGltZSAgZW52ICBiaW5hcnlfbmFtZSAgYW5vdGhlcl9iaW5hcnkg
IFsuLi5dCi0qLwotCi0vLyBUaGlzIHdvdWxkIGFsbG93IHRoZSBmb2xsb3dpbmcgdG8gd29yazoK
LS8vICAgJCAvcGF0aC90by9iaW5hcnlfbmFtZSAtLXZtb2R1bGU8VEFCPgotLy8gT3I6Ci0vLyAg
ICQgLi9iaW4vcGF0aC9hbm90aGVyX2JpbmFyeSAtLWdmc191PFRBQj4KLS8vIChldGMpCi0vLwot
Ly8gU2FkbHksIGl0IGFwcGVhcnMgdGhhdCBiYXNoIGdpdmVzIG5vIGVhc3kgd2F5IHRvIGZvcmNl
IHRoaXMgYmVoYXZpb3IgZm9yCi0vLyBhbGwgY29tbWFuZHMuICBUaGF0J3Mgd2hlcmUgdGhlICJ0
aW1lIiBpbiB0aGUgYWJvdmUgZXhhbXBsZSBjb21lcyBpbi4KLS8vIElmIHlvdSBoYXZlbid0IHNw
ZWNpZmljYWxseSBhZGRlZCBhIGNvbW1hbmQgdG8gdGhlIGxpc3Qgb2YgY29tcGxldGlvbgotLy8g
c3VwcG9ydGVkIGNvbW1hbmRzLCB5b3UgY2FuIHN0aWxsIGdldCBjb21wbGV0aW9ucyBieSBwcmVm
aXhpbmcgdGhlCi0vLyBlbnRpcmUgY29tbWFuZCB3aXRoICJlbnYiLgotLy8gICAkIGVudiAvc29t
ZS9icmFuZC9uZXcvYmluYXJ5IC0tdm1vZDxUQUI+Ci0vLyBBc3N1bWluZyB0aGF0ICJiaW5hcnki
IGlzIGEgbmV3bHkgY29tcGlsZWQgYmluYXJ5LCB0aGlzIHNob3VsZCBzdGlsbAotLy8gcHJvZHVj
ZSB0aGUgZXhwZWN0ZWQgY29tcGxldGlvbiBvdXRwdXQuCi0KLQotI2lmbmRlZiBHRkxBR1NfQ09N
UExFVElPTlNfSF8KLSNkZWZpbmUgR0ZMQUdTX0NPTVBMRVRJT05TX0hfCi0KLW5hbWVzcGFjZSBn
b29nbGUgewotCi1leHRlcm4gdm9pZCBIYW5kbGVDb21tYW5kTGluZUNvbXBsZXRpb25zKHZvaWQp
OwotCi19Ci0KLSNlbmRpZiAgLy8gR0ZMQUdTX0NPTVBMRVRJT05TX0hfCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGly
ZF9wYXJ0eS9nZmxhZ3MvZ2VuL3dpbi9pbmNsdWRlL2dmbGFncy9nZmxhZ3NfZGVjbGFyZS5oIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhp
cmRfcGFydHkvZ2ZsYWdzL2dlbi93aW4vaW5jbHVkZS9nZmxhZ3MvZ2ZsYWdzX2RlY2xhcmUuaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJjODQ2NmZkNGM3Njg2Yjc4Y2Q1MjlhZTg0
MDY5N2EzYTdkZjVmOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3dpbi9pbmNsdWRlL2dmbGFncy9nZmxhZ3NfZGVjbGFy
ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTQxICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMTk5
OSwgR29vZ2xlIEluYy4KLS8vIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLwotLy8gUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0vLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCi0vLyBtZXQ6Ci0vLwotLy8gICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS8vIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LS8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKLS8vIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLS8vIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLS8vIGRpc3RyaWJ1dGlvbi4KLS8v
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKLS8vIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCi0vLyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotLy8KLS8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLS8vICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0v
LyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKLS8vIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0vLyBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLS8vIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKLS8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAotLy8gREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0vLyBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0vLyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLS8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLS8vIC0tLQotLy8KLS8vIFJldmFtcGVkIGFu
ZCByZW9yZ2FuaXplZCBieSBDcmFpZyBTaWx2ZXJzdGVpbgotLy8KLS8vIFRoaXMgaXMgdGhlIGZp
bGUgdGhhdCBzaG91bGQgYmUgaW5jbHVkZWQgYnkgYW55IGZpbGUgd2hpY2ggZGVjbGFyZXMKLS8v
IGNvbW1hbmQgbGluZSBmbGFnLgotCi0jaWZuZGVmIEdGTEFHU19ERUNMQVJFX0hfCi0jZGVmaW5l
IEdGTEFHU19ERUNMQVJFX0hfCi0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBOYW1lc3Bh
Y2Ugb2YgZ2ZsYWdzIGxpYnJhcnkgc3ltYm9scy4KLSNkZWZpbmUgR0ZMQUdTX05BTUVTUEFDRSBn
b29nbGUKLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBXaW5kb3dzIERMTCBpbXBvcnQvZXhw
b3J0LgotCi0vLyBXZSBhbHdheXMgd2FudCB0byBpbXBvcnQgdGhlIHN5bWJvbHMgb2YgdGhlIGdm
bGFncyBsaWJyYXJ5Ci0jaWZuZGVmIEdGTEFHU19ETExfREVDTAotIyAgaWYgMCAmJiBkZWZpbmVk
KF9NU0NfVkVSKQotIyAgICBkZWZpbmUgR0ZMQUdTX0RMTF9ERUNMIF9fZGVjbHNwZWMoZGxsaW1w
b3J0KQotIyAgZWxzZQotIyAgICBkZWZpbmUgR0ZMQUdTX0RMTF9ERUNMCi0jICBlbmRpZgotI2Vu
ZGlmCi0KLS8vIFdlIGFsd2F5cyB3YW50IHRvIGltcG9ydCB2YXJpYWJsZXMgZGVjbGFyZWQgaW4g
dXNlciBjb2RlCi0jaWZuZGVmIEdGTEFHU19ETExfREVDTEFSRV9GTEFHCi0jICBpZmRlZiBfTVND
X1ZFUgotIyAgICBkZWZpbmUgR0ZMQUdTX0RMTF9ERUNMQVJFX0ZMQUcgX19kZWNsc3BlYyhkbGxp
bXBvcnQpCi0jICBlbHNlCi0jICAgIGRlZmluZSBHRkxBR1NfRExMX0RFQ0xBUkVfRkxBRwotIyAg
ZW5kaWYKLSNlbmRpZgotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIEZsYWcgdHlwZXMKLSNp
bmNsdWRlIDxzdHJpbmc+Ci0jaWYgMQotIyAgaW5jbHVkZSA8c3RkaW50Lmg+ICAgICAgICAgICAg
ICAgICAgIC8vIHRoZSBub3JtYWwgcGxhY2UgdWludDMyX3QgaXMgZGVmaW5lZAotI2VsaWYgMQot
IyAgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ICAgICAgICAgICAgICAgIC8vIHRoZSBub3JtYWwgcGxh
Y2UgdV9pbnQzMl90IGlzIGRlZmluZWQKLSNlbGlmIDAKLSMgIGluY2x1ZGUgPGludHR5cGVzLmg+
ICAgICAgICAgICAgICAgICAvLyBhIHRoaXJkIHBsYWNlIGZvciB1aW50MzJfdCBvciB1X2ludDMy
X3QKLSNlbmRpZgotCi1uYW1lc3BhY2UgR0ZMQUdTX05BTUVTUEFDRSB7Ci0KLSNpZiAwIC8vIEM5
OQotdHlwZWRlZiBpbnQzMl90ICAgICAgICAgIGludDMyOwotdHlwZWRlZiB1aW50MzJfdCAgICAg
ICAgIHVpbnQzMjsKLXR5cGVkZWYgaW50NjRfdCAgICAgICAgICBpbnQ2NDsKLXR5cGVkZWYgdWlu
dDY0X3QgICAgICAgICB1aW50NjQ7Ci0jZWxpZiAwIC8vIEJTRAotdHlwZWRlZiBpbnQzMl90ICAg
ICAgICAgIGludDMyOwotdHlwZWRlZiB1X2ludDMyX3QgICAgICAgIHVpbnQzMjsKLXR5cGVkZWYg
aW50NjRfdCAgICAgICAgICBpbnQ2NDsKLXR5cGVkZWYgdV9pbnQ2NF90ICAgICAgICB1aW50NjQ7
Ci0jZWxpZiAxIC8vIFdpbmRvd3MKLXR5cGVkZWYgX19pbnQzMiAgICAgICAgICBpbnQzMjsKLXR5
cGVkZWYgdW5zaWduZWQgX19pbnQzMiB1aW50MzI7Ci10eXBlZGVmIF9faW50NjQgICAgICAgICAg
aW50NjQ7Ci10eXBlZGVmIHVuc2lnbmVkIF9faW50NjQgdWludDY0OwotI2Vsc2UKLSMgIGVycm9y
IERvIG5vdCBrbm93IGhvdyB0byBkZWZpbmUgYSAzMi1iaXQgaW50ZWdlciBxdWFudGl0eSBvbiB5
b3VyIHN5c3RlbQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIEdGTEFHU19OQU1FU1BBQ0UKLQot
Ci1uYW1lc3BhY2UgZkxTIHsKLQotLy8gVGhlIG1lYW5pbmcgb2YgInN0cmluZyIgbWlnaHQgYmUg
ZGlmZmVyZW50IGJldHdlZW4gbm93IGFuZCB3aGVuIHRoZQotLy8gbWFjcm9zIGJlbG93IGdldCBp
bnZva2VkIChlLmcuLCBpZiBzb21lb25lIGlzIGV4cGVyaW1lbnRpbmcgd2l0aAotLy8gb3RoZXIg
c3RyaW5nIGltcGxlbWVudGF0aW9ucyB0aGF0IGdldCBkZWZpbmVkIGFmdGVyIHRoaXMgZmlsZSBp
cwotLy8gaW5jbHVkZWQpLiAgU2F2ZSB0aGUgY3VycmVudCBtZWFuaW5nIG5vdyBhbmQgdXNlIGl0
IGluIHRoZSBtYWNyb3MuCi10eXBlZGVmIHN0ZDo6c3RyaW5nIGNsc3RyaW5nOwotCi19IC8vIG5h
bWVzcGFjZSBmTFMKLQotCi0jZGVmaW5lIERFQ0xBUkVfVkFSSUFCTEUodHlwZSwgc2hvcnR0eXBl
LCBuYW1lKSBcCi0gIC8qIFdlIGFsd2F5cyB3YW50IHRvIGltcG9ydCBkZWNsYXJlZCB2YXJpYWJs
ZXMsIGRsbCBvciBubyAqLyBcCi0gIG5hbWVzcGFjZSBmTCMjc2hvcnR0eXBlIHsgZXh0ZXJuIEdG
TEFHU19ETExfREVDTEFSRV9GTEFHIHR5cGUgRkxBR1NfIyNuYW1lOyB9IFwKLSAgdXNpbmcgZkwj
I3Nob3J0dHlwZTo6RkxBR1NfIyNuYW1lCi0KLSNkZWZpbmUgREVDTEFSRV9ib29sKG5hbWUpIFwK
LSAgREVDTEFSRV9WQVJJQUJMRShib29sLCBCLCBuYW1lKQotCi0jZGVmaW5lIERFQ0xBUkVfaW50
MzIobmFtZSkgXAotICBERUNMQVJFX1ZBUklBQkxFKDo6R0ZMQUdTX05BTUVTUEFDRTo6aW50MzIs
IEksIG5hbWUpCi0KLSNkZWZpbmUgREVDTEFSRV9pbnQ2NChuYW1lKSBcCi0gIERFQ0xBUkVfVkFS
SUFCTEUoOjpHRkxBR1NfTkFNRVNQQUNFOjppbnQ2NCwgSTY0LCBuYW1lKQotCi0jZGVmaW5lIERF
Q0xBUkVfdWludDY0KG5hbWUpIFwKLSAgREVDTEFSRV9WQVJJQUJMRSg6OkdGTEFHU19OQU1FU1BB
Q0U6OnVpbnQ2NCwgVTY0LCBuYW1lKQotCi0jZGVmaW5lIERFQ0xBUkVfZG91YmxlKG5hbWUpIFwK
LSAgREVDTEFSRV9WQVJJQUJMRShkb3VibGUsIEQsIG5hbWUpCi0KLSNkZWZpbmUgREVDTEFSRV9z
dHJpbmcobmFtZSkgXAotICAvKiBXZSBhbHdheXMgd2FudCB0byBpbXBvcnQgZGVjbGFyZWQgdmFy
aWFibGVzLCBkbGwgb3Igbm8gKi8gXAotICBuYW1lc3BhY2UgZkxTIHsgXAotICB1c2luZyA6OmZM
Uzo6Y2xzdHJpbmc7IFwKLSAgZXh0ZXJuIEdGTEFHU19ETExfREVDTEFSRV9GTEFHIDo6ZkxTOjpj
bHN0cmluZyYgRkxBR1NfIyNuYW1lOyBcCi0gIH0gXAotICB1c2luZyBmTFM6OkZMQUdTXyMjbmFt
ZQotCi0KLSNlbmRpZiAgLy8gR0ZMQUdTX0RFQ0xBUkVfSF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3RoaXJkX3BhcnR5
L2dmbGFncy9nZW4vd2luL2luY2x1ZGUvZ2ZsYWdzL2dmbGFnc19nZmxhZ3MuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3RoaXJkX3BhcnR5
L2dmbGFncy9nZW4vd2luL2luY2x1ZGUvZ2ZsYWdzL2dmbGFnc19nZmxhZ3MuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGMxNzgyNWRkNjIzNzFkMGYyODI3Y2RmODc3M2I0MDNmZTQx
MGY1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9w
YXJ0eS9nZmxhZ3MvZ2VuL3dpbi9pbmNsdWRlL2dmbGFncy9nZmxhZ3NfZ2ZsYWdzLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDE0LCBBbmRyZWFz
IFNjaHVoCi0vLyBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8KLS8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotLy8gbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQotLy8gbWV0OgotLy8KLS8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0vLyBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0vLyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0vLyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCi0vLyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0vLyBkaXN0cmlidXRpb24uCi0vLyAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0vLyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQotLy8gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0vLyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotLy8gTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCi0vLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLy8gT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0vLyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKLS8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotLy8gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotLy8gKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gSW1wb3J0
cyB0aGUgZ2ZsYWdzIGxpYnJhcnkgc3ltYm9scyBpbnRvIGFuIGFsdGVybmF0aXZlL2RlcHJlY2F0
ZWQgbmFtZXNwYWNlLgotCi0jaWZuZGVmIEdGTEFHU19HRkxBR1NfSF8KLSMgIGVycm9yIFRoZSBp
bnRlcm5hbCBoZWFkZXIgZ2ZsYWdzX2dmbGFncy5oIG1heSBvbmx5IGJlIGluY2x1ZGVkIGJ5IGdm
bGFncy5oCi0jZW5kaWYKLQotI2lmbmRlZiBHRkxBR1NfTlNfR0ZMQUdTX0hfCi0jZGVmaW5lIEdG
TEFHU19OU19HRkxBR1NfSF8KLQotCi1uYW1lc3BhY2UgZ2ZsYWdzIHsKLQotCi11c2luZyBHRkxB
R1NfTkFNRVNQQUNFOjppbnQzMjsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OnVpbnQzMjsKLXVz
aW5nIEdGTEFHU19OQU1FU1BBQ0U6OmludDY0OwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6dWlu
dDY0OwotCi11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpSZWdpc3RlckZsYWdWYWxpZGF0b3I7Ci11
c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpDb21tYW5kTGluZUZsYWdJbmZvOwotdXNpbmcgR0ZMQUdT
X05BTUVTUEFDRTo6R2V0QWxsRmxhZ3M7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpTaG93VXNh
Z2VXaXRoRmxhZ3M7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpTaG93VXNhZ2VXaXRoRmxhZ3NS
ZXN0cmljdDsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkRlc2NyaWJlT25lRmxhZzsKLXVzaW5n
IEdGTEFHU19OQU1FU1BBQ0U6OlNldEFyZ3Y7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpHZXRB
cmd2czsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkdldEFyZ3Y7Ci11c2luZyBHRkxBR1NfTkFN
RVNQQUNFOjpHZXRBcmd2MDsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkdldEFyZ3ZTdW07Ci11
c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpQcm9ncmFtSW52b2NhdGlvbk5hbWU7Ci11c2luZyBHRkxB
R1NfTkFNRVNQQUNFOjpQcm9ncmFtSW52b2NhdGlvblNob3J0TmFtZTsKLXVzaW5nIEdGTEFHU19O
QU1FU1BBQ0U6OlByb2dyYW1Vc2FnZTsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OlZlcnNpb25T
dHJpbmc7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpHZXRDb21tYW5kTGluZU9wdGlvbjsKLXVz
aW5nIEdGTEFHU19OQU1FU1BBQ0U6OkdldENvbW1hbmRMaW5lRmxhZ0luZm87Ci11c2luZyBHRkxB
R1NfTkFNRVNQQUNFOjpHZXRDb21tYW5kTGluZUZsYWdJbmZvT3JEaWU7Ci11c2luZyBHRkxBR1Nf
TkFNRVNQQUNFOjpGbGFnU2V0dGluZ01vZGU7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpTRVRf
RkxBR1NfVkFMVUU7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpTRVRfRkxBR19JRl9ERUZBVUxU
OwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6U0VUX0ZMQUdTX0RFRkFVTFQ7Ci11c2luZyBHRkxB
R1NfTkFNRVNQQUNFOjpTZXRDb21tYW5kTGluZU9wdGlvbjsKLXVzaW5nIEdGTEFHU19OQU1FU1BB
Q0U6OlNldENvbW1hbmRMaW5lT3B0aW9uV2l0aE1vZGU7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNF
OjpGbGFnU2F2ZXI7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpDb21tYW5kbGluZUZsYWdzSW50
b1N0cmluZzsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OlJlYWRGbGFnc0Zyb21TdHJpbmc7Ci11
c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpBcHBlbmRGbGFnc0ludG9GaWxlOwotdXNpbmcgR0ZMQUdT
X05BTUVTUEFDRTo6UmVhZEZyb21GbGFnc0ZpbGU7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpC
b29sRnJvbUVudjsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OkludDMyRnJvbUVudjsKLXVzaW5n
IEdGTEFHU19OQU1FU1BBQ0U6OkludDY0RnJvbUVudjsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6
OlVpbnQ2NEZyb21FbnY7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpEb3VibGVGcm9tRW52Owot
dXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6U3RyaW5nRnJvbUVudjsKLXVzaW5nIEdGTEFHU19OQU1F
U1BBQ0U6OlNldFVzYWdlTWVzc2FnZTsKLXVzaW5nIEdGTEFHU19OQU1FU1BBQ0U6OlNldFZlcnNp
b25TdHJpbmc7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpQYXJzZUNvbW1hbmRMaW5lTm9uSGVs
cEZsYWdzOwotdXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6SGFuZGxlQ29tbWFuZExpbmVIZWxwRmxh
Z3M7Ci11c2luZyBHRkxBR1NfTkFNRVNQQUNFOjpBbGxvd0NvbW1hbmRMaW5lUmVwYXJzaW5nOwot
dXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6UmVwYXJzZUNvbW1hbmRMaW5lTm9uSGVscEZsYWdzOwot
dXNpbmcgR0ZMQUdTX05BTUVTUEFDRTo6U2h1dERvd25Db21tYW5kTGluZUZsYWdzOwotdXNpbmcg
R0ZMQUdTX05BTUVTUEFDRTo6RmxhZ1JlZ2lzdGVyZXI7Ci0KLSNpZm5kZWYgU1dJRwotdXNpbmcg
R0ZMQUdTX05BTUVTUEFDRTo6UGFyc2VDb21tYW5kTGluZUZsYWdzOwotI2VuZGlmCi0KLQotfSAv
LyBuYW1lc3BhY2UgZ2ZsYWdzCi0KLQotI2VuZGlmICAvLyBHRkxBR1NfTlNfR0ZMQUdTX0hfCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3dpbi9pbmNsdWRlL3ByaXZhdGUvY29uZmln
LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2VuL3dpbi9pbmNsdWRlL3ByaXZhdGUvY29uZmlnLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1NDE1ODBlYWIwNjU2ODQ5M2VjYzY2MTE1ZjA5
ZmI3NWUwZDhlNGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
dGhpcmRfcGFydHkvZ2ZsYWdzL2dlbi93aW4vaW5jbHVkZS9wcml2YXRlL2NvbmZpZy5oCisrKyAv
ZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLS8qIEdlbmVyYXRlZCBmcm9tIGNvbmZpZy5oLmlu
IGR1cmluZyBidWlsZCBjb25maWd1cmF0aW9uIHVzaW5nIENNYWtlLiAqLwotCi0vLyBOb3RlOiBU
aGlzIGhlYWRlciBmaWxlIGlzIG9ubHkgdXNlZCBpbnRlcm5hbGx5LiBJdCBpcyBub3QgcGFydCBv
ZiBwdWJsaWMgaW50ZXJmYWNlIQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIFN5c3RlbSBj
aGVja3MKLQotLy8gRGVmaW5lIGlmIHlvdSBidWlsZCB0aGlzIGxpYnJhcnkgZm9yIGEgTVMgV2lu
ZG93cyBPUy4KLSNkZWZpbmUgT1NfV0lORE9XUwotCi0vLyBEZWZpbmUgaWYgeW91IGhhdmUgdGhl
IDxzdGRpbnQuaD4gaGVhZGVyIGZpbGUuCi0jZGVmaW5lIEhBVkVfU1RESU5UX0gKLQotLy8gRGVm
aW5lIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLgotI2RlZmluZSBI
QVZFX1NZU19UWVBFU19ICi0KLS8vIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGludHR5cGVzLmg+
IGhlYWRlciBmaWxlLgotLyogI3VuZGVmIEhBVkVfSU5UVFlQRVNfSCAqLwotCi0vLyBEZWZpbmUg
aWYgeW91IGhhdmUgdGhlIDxzeXMvc3RhdC5oPiBoZWFkZXIgZmlsZS4KLSNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9ICi0KLS8vIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIg
ZmlsZS4KLS8qICN1bmRlZiBIQVZFX1VOSVNURF9IICovCi0KLS8vIERlZmluZSBpZiB5b3UgaGF2
ZSB0aGUgPGZubWF0Y2guaD4gaGVhZGVyIGZpbGUuCi0vKiAjdW5kZWYgSEFWRV9GTk1BVENIX0gg
Ki8KLQotLy8gRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c2hsd2FwaS5oPiBoZWFkZXIgZmlsZSAo
V2luZG93cyAyMDAwL1hQKS4KLSNkZWZpbmUgSEFWRV9TSExXQVBJX0gKLQotLy8gRGVmaW5lIGlm
IHlvdSBoYXZlIHRoZSBzdHJ0b2xsIGZ1bmN0aW9uLgotLyogI3VuZGVmIEhBVkVfU1RSVE9MTCAq
LwotCi0vLyBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cnRvcSBmdW5jdGlvbi4KLS8qICN1bmRl
ZiBIQVZFX1NUUlRPUSAqLwotCi0vLyBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxwdGhyZWFkLmg+
IGhlYWRlciBmaWxlLgotLyogI3VuZGVmIEhBVkVfUFRIUkVBRCAqLwotCi0vLyBEZWZpbmUgaWYg
eW91ciBwdGhyZWFkIGxpYnJhcnkgZGVmaW5lcyB0aGUgdHlwZSBwdGhyZWFkX3J3bG9ja190Ci0v
KiAjdW5kZWYgSEFWRV9SV0xPQ0sgKi8KLQotLy8gZ2NjIHJlcXVpcmVzIHRoaXMgdG8gZ2V0IFBS
SWQ2NCwgZXRjLgotI2lmIGRlZmluZWQoSEFWRV9JTlRUWVBFU19IKSAmJiAhZGVmaW5lZChfX1NU
RENfRk9STUFUX01BQ1JPUykKLSMgIGRlZmluZSBfX1NURENfRk9STUFUX01BQ1JPUyAxCi0jZW5k
aWYKLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyBQYWNrYWdlIGluZm9ybWF0aW9uCi0KLS8v
IE5hbWUgb2YgcGFja2FnZS4KLSNkZWZpbmUgUEFDS0FHRSBnZmxhZ3MKLQotLy8gRGVmaW5lIHRv
IHRoZSBmdWxsIG5hbWUgb2YgdGhpcyBwYWNrYWdlLgotI2RlZmluZSBQQUNLQUdFX05BTUUgZ2Zs
YWdzCi0KLS8vIERlZmluZSB0byB0aGUgZnVsbCBuYW1lIGFuZCB2ZXJzaW9uIG9mIHRoaXMgcGFj
a2FnZS4KLSNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgZ2ZsYWdzIDIuMi4wCi0KLS8vIERlZmluZSB0
byB0aGUgb25lIHN5bWJvbCBzaG9ydCBuYW1lIG9mIHRoaXMgcGFja2FnZS4KLSNkZWZpbmUgUEFD
S0FHRV9UQVJOQU1FIGdmbGFncy0yLjIuMAotCi0vLyBEZWZpbmUgdG8gdGhlIHZlcnNpb24gb2Yg
dGhpcyBwYWNrYWdlLgotI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gMi4yLjAKLQotLy8gVmVyc2lv
biBudW1iZXIgb2YgcGFja2FnZS4KLSNkZWZpbmUgVkVSU0lPTiBQQUNLQUdFX1ZFUlNJT04KLQot
Ly8gRGVmaW5lIHRvIHRoZSBhZGRyZXNzIHdoZXJlIGJ1ZyByZXBvcnRzIGZvciB0aGlzIHBhY2th
Z2Ugc2hvdWxkIGJlIHNlbnQuCi0jZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUIGh0dHBzOi8vZ2l0
aHViLmNvbS9zY2h1aHNjaHVoL2dmbGFncy9pc3N1ZXMKLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0vLyBQYXRoIHNlcGFyYXRvcgotI2lmbmRlZiBQQVRIX1NFUEFSQVRPUgotIyAgaWZkZWYgT1Nf
V0lORE9XUwotIyAgICBkZWZpbmUgUEFUSF9TRVBBUkFUT1IgICdcXCcKLSMgIGVsc2UKLSMgICAg
ZGVmaW5lIFBBVEhfU0VQQVJBVE9SICAnLycKLSMgIGVuZGlmCi0jZW5kaWYKLQotLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0vLyBXaW5kb3dzCi0KLS8vIFdoZXRoZXIgZ2ZsYWdzIGxpYnJhcnkgaXMg
YSBETEwuCi0jaWZuZGVmIEdGTEFHU19JU19BX0RMTAotIyAgZGVmaW5lIEdGTEFHU19JU19BX0RM
TCAwCi0jZW5kaWYKLQotLy8gQWx3YXlzIGV4cG9ydCBzeW1ib2xzIHdoZW4gY29tcGlsaW5nIGEg
c2hhcmVkIGxpYnJhcnkgYXMgdGhpcyBmaWxlIGlzIG9ubHkKLS8vIGluY2x1ZGVkIGJ5IGludGVy
bmFsIG1vZHVsZXMgd2hlbiBidWlsZGluZyB0aGUgZ2ZsYWdzIGxpYnJhcnkgaXRzZWxmLgotLy8g
VGhlIGdmbGFnc19kZWNsYXJlLmggaGVhZGVyIGZpbGUgd2lsbCBzZXQgaXQgdG8gaW1wb3J0IHRo
ZXNlIHN5bWJvbHMgb3RoZXJ3aXNlLgotI2lmbmRlZiBHRkxBR1NfRExMX0RFQ0wKLSMgIGlmIEdG
TEFHU19JU19BX0RMTCAmJiBkZWZpbmVkKF9NU0NfVkVSKQotIyAgICBkZWZpbmUgR0ZMQUdTX0RM
TF9ERUNMIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQotIyAgZWxzZQotIyAgICBkZWZpbmUgR0ZMQUdT
X0RMTF9ERUNMCi0jICBlbmRpZgotI2VuZGlmCi0vLyBGbGFncyBkZWZpbmVkIGJ5IHRoZSBnZmxh
Z3MgbGlicmFyeSBpdHNlbGYgbXVzdCBiZSBleHBvcnRlZAotI2lmbmRlZiBHRkxBR1NfRExMX0RF
RklORV9GTEFHCi0jICBkZWZpbmUgR0ZMQUdTX0RMTF9ERUZJTkVfRkxBRyBHRkxBR1NfRExMX0RF
Q0wKLSNlbmRpZgotCi0jaWZkZWYgT1NfV0lORE9XUwotLy8gVGhlIHVuaXR0ZXN0cyBpbXBvcnQg
dGhlIHN5bWJvbHMgb2YgdGhlIHNoYXJlZCBnZmxhZ3MgbGlicmFyeQotIyAgaWYgR0ZMQUdTX0lT
X0FfRExMICYmIGRlZmluZWQoX01TQ19WRVIpCi0jICAgIGRlZmluZSBHRkxBR1NfRExMX0RFQ0xf
Rk9SX1VOSVRURVNUUyBfX2RlY2xzcGVjKGRsbGltcG9ydCkKLSMgIGVuZGlmCi0jICBpbmNsdWRl
ICJ3aW5kb3dzX3BvcnQuaCIKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdGhpcmRfcGFydHkvZ2ZsYWdzL2dm
bGFncy5neXAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxhZ3MvZ2ZsYWdzLmd5cApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzdmMjgxNWFhMzMxNGM5MjVjOTNjMzU1MGM3NjIyODMxODFlYWJiNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90aGlyZF9wYXJ0eS9nZmxh
Z3MvZ2ZsYWdzLmd5cAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLSMKLSMgQ29weXJp
Z2h0IDIwMTQgVGhlIExpYll1diBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0jCi0jIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxl
IGxpY2Vuc2UKLSMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUg
cm9vdCBvZiB0aGUgc291cmNlCi0jIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHBy
b3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSMgaW4gdGhlIGZpbGUgUEFURU5UUy4g
QWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0jIGJlIGZvdW5kIGluIHRoZSBB
VVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotCi0jIFRoaXMgaXMg
YSBjb3B5IG9mIFdlYlJUQydzIGdmbGFncy5neXAuCi0KLXsKLSAgJ3ZhcmlhYmxlcyc6IHsKLSAg
ICAnZ2ZsYWdzX3Jvb3QnOiAnPChERVBUSCkvdGhpcmRfcGFydHkvZ2ZsYWdzJywKLSAgICAnY29u
ZGl0aW9ucyc6IFsKLSAgICAgIFsnT1M9PSJ3aW4iJywgewotICAgICAgICAnZ2ZsYWdzX2dlbl9h
cmNoX3Jvb3QnOiAnPChnZmxhZ3Nfcm9vdCkvZ2VuL3dpbicsCi0gICAgICB9LCB7Ci0gICAgICAg
ICdnZmxhZ3NfZ2VuX2FyY2hfcm9vdCc6ICc8KGdmbGFnc19yb290KS9nZW4vcG9zaXgnLAotICAg
ICAgfV0sCi0gICAgXSwKLSAgfSwKLSAgJ3RhcmdldHMnOiBbCi0gICAgewotICAgICAgJ3Rhcmdl
dF9uYW1lJzogJ2dmbGFncycsCi0gICAgICAndHlwZSc6ICdzdGF0aWNfbGlicmFyeScsCi0gICAg
ICAnaW5jbHVkZV9kaXJzJzogWwotICAgICAgICAnPChnZmxhZ3NfZ2VuX2FyY2hfcm9vdCkvaW5j
bHVkZS9nZmxhZ3MnLCAgIyBGb3IgY29uZmlndXJlZCBmaWxlcy4KLSAgICAgICAgJzwoZ2ZsYWdz
X2dlbl9hcmNoX3Jvb3QpL2luY2x1ZGUvcHJpdmF0ZScsICAjIEZvciBjb25maWcuaAotICAgICAg
ICAnPChnZmxhZ3Nfcm9vdCkvc3JjL3NyYycsICAjIEZvciBldmVyeXRoaW5nIGVsc2UuCi0gICAg
ICBdLAotICAgICAgJ2RlZmluZXMnOiBbCi0gICAgICAgICMgVGhlc2UgbWFjcm9zIGV4aXN0IHNv
IGZsYWdzIGFuZCBzeW1ib2xzIGFyZSBwcm9wZXJseQotICAgICAgICAjIGV4cG9ydGVkIHdoZW4g
YnVpbGRpbmcgRExMcy4gU2luY2Ugd2UgZG9uJ3QgYnVpbGQgRExMcywgd2UKLSAgICAgICAgIyBu
ZWVkIHRvIGRpc2FibGUgdGhlbS4KLSAgICAgICAgJ0dGTEFHU19ETExfREVDTD0nLAotICAgICAg
ICAnR0ZMQUdTX0RMTF9ERUNMQVJFX0ZMQUc9JywKLSAgICAgICAgJ0dGTEFHU19ETExfREVGSU5F
X0ZMQUc9JywKLSAgICAgIF0sCi0gICAgICAnZGlyZWN0X2RlcGVuZGVudF9zZXR0aW5ncyc6IHsK
LSAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKLSAgICAgICAgICAnPChnZmxhZ3NfZ2VuX2FyY2hf
cm9vdCkvaW5jbHVkZScsICAjIEZvciBjb25maWd1cmVkIGZpbGVzLgotICAgICAgICAgICc8KGdm
bGFnc19yb290KS9zcmMvc3JjJywgICMgRm9yIGV2ZXJ5dGhpbmcgZWxzZS4KLSAgICAgICAgXSwK
LSAgICAgICAgJ2RlZmluZXMnOiBbCi0gICAgICAgICAgJ0dGTEFHU19ETExfREVDTD0nLAotICAg
ICAgICAgICdHRkxBR1NfRExMX0RFQ0xBUkVfRkxBRz0nLAotICAgICAgICAgICdHRkxBR1NfRExM
X0RFRklORV9GTEFHPScsCi0gICAgICAgIF0sCi0gICAgICB9LAotICAgICAgJ3NvdXJjZXMnOiBb
Ci0gICAgICAgICdzcmMvc3JjL2dmbGFncy5jYycsCi0gICAgICAgICdzcmMvc3JjL2dmbGFnc19j
b21wbGV0aW9ucy5jYycsCi0gICAgICAgICdzcmMvc3JjL2dmbGFnc19yZXBvcnRpbmcuY2MnLAot
ICAgICAgXSwKLSAgICAgICdjb25kaXRpb25zJzogWwotICAgICAgICBbJ09TPT0id2luIicsIHsK
LSAgICAgICAgICAnc291cmNlcyc6IFsKLSAgICAgICAgICAgICdzcmMvc3JjL3dpbmRvd3NfcG9y
dC5jYycsCi0gICAgICAgICAgXSwKLSAgICAgICAgICAnbXN2c19kaXNhYmxlZF93YXJuaW5ncyc6
IFsKLSAgICAgICAgICAgIDQwMDUsICAjIFdJTjMyX0xFQU5fQU5EX01FQU4gcmVkZWZpbml0aW9u
LgotICAgICAgICAgICAgNDI2NywgICMgQ29udmVyc2lvbiBmcm9tIHNpemVfdCB0byAidHlwZSIu
Ci0gICAgICAgICAgXSwKLSAgICAgICAgICAnY29uZmlndXJhdGlvbnMnOiB7Ci0gICAgICAgICAg
ICAnQ29tbW9uX0Jhc2UnOiB7Ci0gICAgICAgICAgICAgICdtc3ZzX2NvbmZpZ3VyYXRpb25fYXR0
cmlidXRlcyc6IHsKLSAgICAgICAgICAgICAgICAnQ2hhcmFjdGVyU2V0JzogJzInLCAgIyBVc2Ug
TXVsdGktYnl0ZSBDaGFyYWN0ZXIgU2V0LgotICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
fSwKLSAgICAgICAgICB9LAotICAgICAgICB9XSwKLSAgICAgICAgIyBUT0RPKGFuZHJldyk6IExv
b2sgaW50byBmaXhpbmcgdGhpcyB3YXJuaW5nIHVwc3RyZWFtOgotICAgICAgICAjIGh0dHA6Ly9j
b2RlLmdvb2dsZS5jb20vcC93ZWJydGMvaXNzdWVzL2RldGFpbD9pZD03NjAKLSAgICAgICAgWydP
Uz09IndpbiIgYW5kIGNsYW5nPT0xJywgewotICAgICAgICAgICdtc3ZzX3NldHRpbmdzJzogewot
ICAgICAgICAgICAgJ1ZDQ0xDb21waWxlclRvb2wnOiB7Ci0gICAgICAgICAgICAgICdBZGRpdGlv
bmFsT3B0aW9ucyc6IFsKLSAgICAgICAgICAgICAgICAnLVduby1taWNyb3NvZnQtaW5jbHVkZScs
Ci0gICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICB9LAotICAgICAgICAgIH0sCi0gICAgICAg
IH1dLAotICAgICAgICBbJ2NsYW5nPT0xJywgewotICAgICAgICAgICdjZmxhZ3MnOiBbCi0gICAg
ICAgICAgICAnLVduby1taWNyb3NvZnQtaW5jbHVkZScsCi0gICAgICAgICAgXSwKLSAgICAgICAg
fV0sCi0gICAgICBdLAotICAgIH0sCi0gIF0sCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy9PV05FUlMgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29s
cy9PV05FUlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjYTA0NmQ0NWUzYTk5Yjgw
ZjJhNTBjNGI4YjM1NTdlN2FhODAyNGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdG9vbHMvT1dORVJTCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAota2pl
bGxhbmRlckBjaHJvbWl1bS5vcmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL2dldF9sYW5kbWluZXMucHkgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29s
cy9nZXRfbGFuZG1pbmVzLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAzZGM3OGJi
OTczZjY3ZDBkNjc0NGUwZmFiNDZkYmU5ODlkMzA4M2QyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL2dldF9sYW5kbWluZXMucHkKKysrIC9kZXYvbnVs
bApAQCAtMSw1MCArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLSMgQ29weXJpZ2h0IDIw
MTYgVGhlIExpYll1diBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0j
IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vu
c2UKLSMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBv
ZiB0aGUgc291cmNlCi0jIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5
IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSMgaW4gdGhlIGZpbGUgUEFURU5UUy4gQWxsIGNv
bnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0jIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JT
IGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotCi0iIiIKLVRoaXMgZmlsZSBl
bWl0cyB0aGUgbGlzdCBvZiByZWFzb25zIHdoeSBhIHBhcnRpY3VsYXIgYnVpbGQgbmVlZHMgdG8g
YmUgY2xvYmJlcmVkCi0ob3IgYSBsaXN0IG9mICdsYW5kbWluZXMnKS4KLSIiIgotCi1pbXBvcnQg
b3MKLWltcG9ydCBzeXMKLQotc2NyaXB0X2RpciA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLnJl
YWxwYXRoKF9fZmlsZV9fKSkKLWNoZWNrb3V0X3Jvb3QgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0
aC5qb2luKHNjcmlwdF9kaXIsIG9zLnBhcmRpcikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0
aC5qb2luKGNoZWNrb3V0X3Jvb3QsICdidWlsZCcpKQotaW1wb3J0IGxhbmRtaW5lX3V0aWxzCi0K
LQotZGlzdHJpYnV0b3IgPSBsYW5kbWluZV91dGlscy5kaXN0cmlidXRvcgotZ3lwX2RlZmluZXMg
PSBsYW5kbWluZV91dGlscy5neXBfZGVmaW5lcwotZ3lwX21zdnNfdmVyc2lvbiA9IGxhbmRtaW5l
X3V0aWxzLmd5cF9tc3ZzX3ZlcnNpb24KLXBsYXRmb3JtID0gbGFuZG1pbmVfdXRpbHMucGxhdGZv
cm0KLQotCi1kZWYgcHJpbnRfbGFuZG1pbmVzKCk6Ci0gICIiIgotICBBTEwgTEFORE1JTkVTIEFS
RSBFTUlUVEVEIEZST00gSEVSRS4KLSAgIiIiCi0gICMgRE8gTk9UIGFkZCBsYW5kbWluZXMgYXMg
cGFydCBvZiBhIHJlZ3VsYXIgQ0wuIExhbmRtaW5lcyBhcmUgYSBsYXN0LWVmZm9ydAotICAjIGJh
bmRhaWQgZml4IGlmIGEgQ0wgdGhhdCBnb3QgbGFuZGVkIGhhcyBhIGJ1aWxkIGRlcGVuZGVuY3kg
YnVnIGFuZCBhbGwgYm90cwotICAjIG5lZWQgdG8gYmUgY2xlYW5lZCB1cC4gSWYgeW91J3JlIHdy
aXRpbmcgYSBuZXcgQ0wgdGhhdCBjYXVzZXMgYnVpbGQKLSAgIyBkZXBlbmRlbmN5IHByb2JsZW1z
LCBmaXggdGhlIGRlcGVuZGVuY3kgcHJvYmxlbXMgaW5zdGVhZCBvZiBhZGRpbmcgYQotICAjIGxh
bmRtaW5lLgotICAjIFNlZSB0aGUgQ2hyb21pdW0gdmVyc2lvbiBpbiBzcmMvYnVpbGQvZ2V0X2xh
bmRtaW5lcy5weSBmb3IgdXNhZ2UgZXhhbXBsZXMuCi0gIHByaW50ICdDbG9iYmVyIHRvIHJlbW92
ZSBHWVAgYXJ0aWZhY3RzIGFmdGVyIHN3aXRjaGluZyBib3RzIHRvIEdOLicKLSAgcHJpbnQgJ0Fu
b3RoZXIgdHJ5IHRvIHJlbW92ZSBHWVAgYXJ0aWZhY3RzIGFmdGVyIHN3aXRjaGluZyBib3RzIHRv
IEdOLicKLQotCi1kZWYgbWFpbigpOgotICBwcmludF9sYW5kbWluZXMoKQotICByZXR1cm4gMAot
Ci0KLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gIHN5cy5leGl0KG1haW4oKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3Rvb2xzL2dyaXRzZXR0aW5ncy9SRUFETUUgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy9ncml0c2V0dGluZ3MvUkVBRE1FCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTljYjMxZjc0MmQxMDgxMDY1ZWViMjg4NjNk
ZjgyMTM4NmE5YmY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3Rvb2xzL2dyaXRzZXR0aW5ncy9SRUFETUUKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAK
LVRoaXMgaXMgYSBkdW1teSBjb25maWd1cmF0aW9uIGZpbGUgdG8gd29ya2Fyb3VuZCB0aGUgYXNz
dW1wdGlvbiBvZiB0aGUgZ3JpdAotcmVzb3VyY2UgZmlsZSBiZWluZyBsb2NhdGVkIGhlcmUgaW4g
dGhlIENocm9taXVtIGJ1aWxkIHRvb2xjaGFpbi4KLQotVGhpcyBpcyBvbmx5IG5lZWRlZCBmb3Ig
b3VyIEFuZHJvaWQgbmF0aXZlIHRlc3RzIHRvIGJlIGFibGUgdG8gaW5jbHVkZSB0aGUKLWJ1aWxk
L2Fwa190ZXN0Lmd5cGkgR1lQIGZpbGUgYW5kIGRlcGVuZCBvbiB0aGUKLTwoREVQVEgpL3Rlc3Rp
bmcvYW5kcm9pZC9uYXRpdmVfdGVzdC5neXA6bmF0aXZlX3Rlc3RfbmF0aXZlX2NvZGUgdGFyZ2V0
IGluCi1DaHJvbWl1bS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL2dyaXRzZXR0aW5ncy9yZXNvdXJjZV9pZHMg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90
b29scy9ncml0c2V0dGluZ3MvcmVzb3VyY2VfaWRzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiZmRmYmJlOTBiMDI5ZTRjOGMzMTZhODAwZmU1MjhmNDQ1YjY5NGZiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL2dyaXRzZXR0aW5ncy9yZXNv
dXJjZV9pZHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0jIENvcHlyaWdodCAoYykg
MjAxNSBUaGUgV2ViUlRDIHByb2plY3QgYXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSMK
LSMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj
ZW5zZQotIyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290
IG9mIHRoZSBzb3VyY2UKLSMgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVy
dHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotIyBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxs
IGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0jIGJlIGZvdW5kIGluIHRoZSBBVVRI
T1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotCi17Ci0gICJTUkNESVIi
OiAiLi4vLi4iLAotCi0gICJjaHJvbWl1bS9zcmMvbmV0L2Jhc2UvbmV0X3Jlc291cmNlcy5ncmQi
OiB7Ci0gICAgImluY2x1ZGVzIjogWzQwMDBdLAotICB9LAotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvbXNh
bi9PV05FUlMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di90b29scy9tc2FuL09XTkVSUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjAzNTFlN2VhMmFiZGQ3MDljMWVhMmNhOTU4MDhiZGMwZmU3MDA5Ny4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy9tc2FuL09XTkVSUworKysgL2Rldi9u
dWxsCkBAIC0xLDMgKzAsMCBAQAotcGJvc0BjaHJvbWl1bS5vcmcKLWtqZWxsYW5kZXJAY2hyb21p
dW0ub3JnCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL21zYW4vYmxhY2tsaXN0LnR4dCBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL21zYW4vYmxh
Y2tsaXN0LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGI1ZTQyYTdiM2RjYTU4
N2U5M2RiMGY2NmRkNmUyNjUxY2FkOGVhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di90b29scy9tc2FuL2JsYWNrbGlzdC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw5ICswLDAgQEAKLSMgVGhlIHJ1bGVzIGluIHRoaXMgZmlsZSBhcmUgb25seSBhcHBsaWVkIGF0
IGNvbXBpbGUgdGltZS4KLSMgQmVjYXVzZSB0aGUgQ2hyb21lIGJ1aWxkc3lzdGVtIGRvZXMgbm90
IGF1dG9tYXRpY2FsbHkgdG91Y2ggdGhlIGZpbGVzCi0jIG1lbnRpb25lZCBoZXJlLCBjaGFuZ2lu
ZyB0aGlzIGZpbGUgcmVxdWlyZXMgY2xvYmJlcmluZyBhbGwgTVNhbiBib3RzLgotIwotIyBQbGVh
c2UgdGhpbmsgdHdpY2UgYmVmb3JlIHlvdSBhZGQgb3IgcmVtb3ZlIHRoZXNlIHJ1bGVzLgotCi0j
IFRoaXMgaXMgYSBzdHJpcHBlZCBkb3duIGNvcHkgb2YgQ2hyb21pdW0ncyBibGFja2xpc3QudHh0
LCB0byBlbmFibGUKLSMgYWRkaW5nIGxpYnl1di1zcGVjaWZpYyBibGFja2xpc3QgZW50cmllcy4K
LQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdG9vbHMvdWJzYW4vT1dORVJTIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdWJzYW4vT1dORVJTCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjA4NTE5YWJmNjgzZTQ1OWFiMGM2OWEyZGU5YzE0OWRl
ZTBmZTExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xz
L3Vic2FuL09XTkVSUworKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotcGJvc0B3ZWJydGMu
b3JnCi1ramVsbGFuZGVyQHdlYnJ0Yy5vcmcKLWZiYXJjaGFyZEBjaHJvbWl1bS5vcmcKLQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvdG9vbHMvdWJzYW4vYmxhY2tsaXN0LnR4dCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL3Vic2FuL2JsYWNrbGlzdC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiY2IyOTA3M2JjZGY1YjkwYmYyOGZiYjRj
MTQ5N2E5MGFiZWY1M2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvdG9vbHMvdWJzYW4vYmxhY2tsaXN0LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAg
QEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIFVCU2FuIGJsYWNrbGlzdC4KLSMgUGxlYXNlIHRo
aW5rIHR3aWNlIGJlZm9yZSB5b3UgYWRkIG9yIHJlbW92ZSB0aGVzZSBydWxlcy4KLQotIyBUaGlz
IGlzIGEgc3RyaXBwZWQgZG93biBjb3B5IG9mIENocm9taXVtJ3MgYmxhY2tsaXN0LnR4dCwgdG8g
ZW5hYmxlCi0jIGFkZGluZyBXZWJSVEMtc3BlY2lmaWMgYmxhY2tsaXN0IGVudHJpZXMuCi0KLSMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCi0jIFlBU00gZG9lcyBzb21lIGZ1bm55IHRoaW5ncyB0aGF0IFVC
c2FuIGRvZXNuJ3QgbGlrZS4KLSMgaHR0cHM6Ly9jcmJ1Zy5jb20vNDg5OTAxCi1zcmM6Ki90aGly
ZF9wYXJ0eS95YXNtLyoKLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgSWdub3JlIHN5c3RlbSBs
aWJyYXJpZXMuCi1zcmM6Ki91c3IvKgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdWJzYW4vdnB0cl9ibGFja2xp
c3QudHh0IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvdG9vbHMvdWJzYW4vdnB0cl9ibGFja2xpc3QudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4ZWQwNzBjMDVkMmQ5OTdkZWQzNzc1MGY4NzIzYjgxMzZjY2FjMTFjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL3Vic2FuL3ZwdHJf
YmxhY2tsaXN0LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLSMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCi0jIFVCU2FuIHZwdHIgYmxhY2tsaXN0LgotIyBGdW5jdGlvbiBhbmQgdHlwZSBi
YXNlZCBibGFja2xpc3RpbmcgdXNlIGEgbWFuZ2xlZCBuYW1lLCBhbmQgaXQgaXMgZXNwZWNpYWxs
eQotIyB0cmlja3kgdG8gcmVwcmVzZW50IEMrKyB0eXBlcy4gRm9yIG5vdywgYW55IHBvc3NpYmxl
IGNoYW5nZXMgYnkgbmFtZSBtYW5nbGluZ3MKLSMgYXJlIHNpbXBseSByZXByZXNlbnRlZCBhcyB3
aWxkY2FyZCBleHByZXNzaW9ucyBvZiByZWdleHAsIGFuZCB0aHVzIGl0IG1pZ2h0IGJlCi0jIG92
ZXItYmxhY2tsaXN0ZWQuCi0jCi0jIFBsZWFzZSB0aGluayB0d2ljZSBiZWZvcmUgeW91IGFkZCBv
ciByZW1vdmUgdGhlc2UgcnVsZXMuCi0jCi0jIFRoaXMgaXMgYSBzdHJpcHBlZCBkb3duIGNvcHkg
b2YgQ2hyb21pdW0ncyB2cHRyX2JsYWNrbGlzdC50eHQsIHRvIGVuYWJsZQotIyBhZGRpbmcgbGli
eXV2LXNwZWNpZmljIGJsYWNrbGlzdCBlbnRyaWVzLgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwot
IyBVc2luZyByYXcgcG9pbnRlciB2YWx1ZXMuCi0jCi0jIEEgcmF3IHBvaW50ZXIgdmFsdWUgKDE2
KSBpcyB1c2VkIHRvIGluZmVyIHRoZSBmaWVsZCBvZmZzZXQgYnkKLSMgR09PR0xFX1BST1RPQlVG
X0dFTkVSQVRFRF9NRVNTQUdFX0ZJRUxEX09GRlNFVC4KLQotIyBFeGFtcGxlOgotIyBzcmM6Ki90
aGlyZF9wYXJ0eS9wcm90b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL2NvbXBpbGVyL3BsdWdpbi5w
Yi5jYwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di90b29scy92YWxncmluZC1saWJ5dXYvbGlieXV2X3Rlc3RzLmJhdCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rv
b2xzL3ZhbGdyaW5kLWxpYnl1di9saWJ5dXZfdGVzdHMuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBlMzdmMDllYjI1ZjNlMTU0ODYzZTFjMTBhNmVmNDY2ZWJkOWRjZmExLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL3ZhbGdyaW5kLWxp
Ynl1di9saWJ5dXZfdGVzdHMuYmF0CisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotQGVj
aG8gb2ZmDQotOjogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBMaWJZdXYgUHJvamVjdCBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KLTo6DQotOjogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUg
aXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQ0KLTo6IHRoYXQgY2FuIGJlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQ0KLTo6IHRyZWUu
IEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUg
Zm91bmQNCi06OiBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0
IGF1dGhvcnMgbWF5DQotOjogYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9v
dCBvZiB0aGUgc291cmNlIHRyZWUuDQotDQotOjogVGhpcyBzY3JpcHQgaXMgYSBjb3B5IG9mIGNo
cm9tZV90ZXN0cy5iYXQgd2l0aCB0aGUgZm9sbG93aW5nIGNoYW5nZXM6DQotOjogLSBJbnZva2Vz
IGxpYnl1dl90ZXN0cy5weSBpbnN0ZWFkIG9mIGNocm9tZV90ZXN0cy5weQ0KLTo6IC0gQ2hyb21p
dW0ncyBWYWxncmluZCBzY3JpcHRzIGRpcmVjdG9yeSBpcyBhZGRlZCB0byB0aGUgUFlUSE9OUEFU
SCB0byBtYWtlDQotOjogICBpdCBwb3NzaWJsZSB0byBleGVjdXRlIHRoZSBQeXRob24gc2NyaXB0
cyBwcm9wZXJseS4NCi0NCi06OiBUT0RPKHRpbXVycnJyKTogYmF0Y2ggZmlsZXMgJ2V4cG9ydCcg
YWxsIHRoZSB2YXJpYWJsZXMgdG8gdGhlIHBhcmVudCBzaGVsbA0KLXNldCBUSElTRElSPSV+ZHAw
DQotc2V0IFRPT0xfTkFNRT0idW5rbm93biINCi0NCi06OiBHZXQgdGhlIHRvb2wgbmFtZSBhbmQg
cHV0IGl0IGludG8gVE9PTF9OQU1FIHt7ezENCi06OiBOQjogU0hJRlQgY29tbWFuZCBkb2Vzbid0
IG1vZGlmeSAlKg0KLTpQQVJTRV9BUkdTX0xPT1ANCi0gIGlmICUxID09ICgpIEdPVE86VE9PTE5B
TUVfTk9UX0ZPVU5EDQotICBpZiAlMSA9PSAtLXRvb2wgR09UTzpUT09MTkFNRV9GT1VORA0KLSAg
U0hJRlQNCi0gIGdvdG8gOlBBUlNFX0FSR1NfTE9PUA0KLQ0KLTpUT09MTkFNRV9OT1RfRk9VTkQN
Ci1lY2hvICJQbGVhc2Ugc3BlY2lmeSBhIHRvb2wgKHRzYW4gb3IgZHJtZW1vcnkpIGJ5IHVzaW5n
IC0tdG9vbCBmbGFnIg0KLWV4aXQgL0IgMQ0KLQ0KLTpUT09MTkFNRV9GT1VORA0KLVNISUZUDQot
c2V0IFRPT0xfTkFNRT0lMQ0KLTo6IH19fQ0KLWlmICIlVE9PTF9OQU1FJSIgPT0gImRybWVtb3J5
IiAgICAgICAgICBHT1RPIDpTRVRVUF9EUk1FTU9SWQ0KLWlmICIlVE9PTF9OQU1FJSIgPT0gImRy
bWVtb3J5X2xpZ2h0IiAgICBHT1RPIDpTRVRVUF9EUk1FTU9SWQ0KLWlmICIlVE9PTF9OQU1FJSIg
PT0gImRybWVtb3J5X2Z1bGwiICAgICBHT1RPIDpTRVRVUF9EUk1FTU9SWQ0KLWlmICIlVE9PTF9O
QU1FJSIgPT0gImRybWVtb3J5X3BhdHRlcm4iICBHT1RPIDpTRVRVUF9EUk1FTU9SWQ0KLWlmICIl
VE9PTF9OQU1FJSIgPT0gInRzYW4iICAgICBHT1RPIDpTRVRVUF9UU0FODQotZWNobyAiVW5rbm93
biB0b29sOiBgJVRPT0xfTkFNRSVgISBPbmx5IHRzYW4gYW5kIGRybWVtb3J5IGFyZSBzdXBwb3J0
ZWQuIg0KLWV4aXQgL0IgMQ0KLQ0KLTpTRVRVUF9EUk1FTU9SWQ0KLWlmIE5PVCAiJURSTUVNT1JZ
X0NPTU1BTkQlIj09IiIgR09UTyA6UlVOX1RFU1RTDQotOjogU2V0IHVwIERSTUVNT1JZX0NPTU1B
TkQgdG8gaW52b2tlIERyLiBNZW1vcnkge3t7MQ0KLXNldCBEUk1FTU9SWV9QQVRIPSVUSElTRElS
JS4uXC4uXHRoaXJkX3BhcnR5XGRybWVtb3J5DQotc2V0IERSTUVNT1JZX1NGWD0lRFJNRU1PUllf
UEFUSCVcZHJtZW1vcnktd2luZG93cy1zZnguZXhlDQotaWYgRVhJU1QgJURSTUVNT1JZX1NGWCUg
R09UTyBEUk1FTU9SWV9CSU5BUllfT0sNCi1lY2hvICJDYW4ndCBmaW5kIERyLiBNZW1vcnkgZXhl
Y3V0YWJsZXMuIg0KLWVjaG8gIlNlZSBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9kZXZlbG9wZXJz
L2hvdy10b3MvdXNpbmctdmFsZ3JpbmQvZHItbWVtb3J5Ig0KLWVjaG8gImZvciB0aGUgaW5zdHJ1
Y3Rpb25zIG9uIGhvdyB0byBnZXQgdGhlbS4iDQotZXhpdCAvQiAxDQotDQotOkRSTUVNT1JZX0JJ
TkFSWV9PSw0KLSVEUk1FTU9SWV9TRlglIC1vJURSTUVNT1JZX1BBVEglXHVucGFja2VkIC15DQot
c2V0IERSTUVNT1JZX0NPTU1BTkQ9JURSTUVNT1JZX1BBVEglXHVucGFja2VkXGJpblxkcm1lbW9y
eS5leGUNCi06OiB9fX0NCi1nb3RvIDpSVU5fVEVTVFMNCi0NCi06U0VUVVBfVFNBTg0KLTo6IFNl
dCB1cCBQSU5fQ09NTUFORCB0byBpbnZva2UgVFNhbiB7e3sxDQotc2V0IFRTQU5fUEFUSD0lVEhJ
U0RJUiUuLlwuLlx0aGlyZF9wYXJ0eVx0c2FuDQotc2V0IFRTQU5fU0ZYPSVUU0FOX1BBVEglXHRz
YW4teDg2LXdpbmRvd3Mtc2Z4LmV4ZQ0KLWlmIEVYSVNUICVUU0FOX1NGWCUgR09UTyBUU0FOX0JJ
TkFSWV9PSw0KLWVjaG8gIkNhbid0IGZpbmQgVGhyZWFkU2FuaXRpemVyIGV4ZWN1dGFibGVzLiIN
Ci1lY2hvICJTZWUgaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcvZGV2ZWxvcGVycy9ob3ctdG9zL3Vz
aW5nLXZhbGdyaW5kL3RocmVhZHNhbml0aXplci90aHJlYWRzYW5pdGl6ZXItb24td2luZG93cyIN
Ci1lY2hvICJmb3IgdGhlIGluc3RydWN0aW9ucyBvbiBob3cgdG8gZ2V0IHRoZW0uIg0KLWV4aXQg
L0IgMQ0KLQ0KLTpUU0FOX0JJTkFSWV9PSw0KLSVUU0FOX1NGWCUgLW8lVFNBTl9QQVRIJVx1bnBh
Y2tlZCAteQ0KLXNldCBQSU5fQ09NTUFORD0lVFNBTl9QQVRIJVx1bnBhY2tlZFx0c2FuLXg4Ni13
aW5kb3dzXHRzYW4uYmF0DQotOjogfX19DQotZ290byA6UlVOX1RFU1RTDQotDQotOlJVTl9URVNU
Uw0KLXNldCBQWVRIT05QQVRIPSVUSElTRElSJS4uXHB5dGhvblxnb29nbGU7JVRISVNESVIlLi5c
dmFsZ3JpbmQNCi1zZXQgUlVOTklOR19PTl9WQUxHUklORD15ZXMNCi1weXRob24gJVRISVNESVIl
bGlieXV2X3Rlc3RzLnB5ICUqDQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L2xpYnl1
dl90ZXN0cy5weSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di9saWJ5dXZfdGVzdHMucHkKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNzU1CmluZGV4IGJkMjdjZDVjYTZjYzUxZDcyNzNiNDkyNDgyMTMwMjgxOWJh
YWE1YWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMv
dmFsZ3JpbmQtbGlieXV2L2xpYnl1dl90ZXN0cy5weQorKysgL2Rldi9udWxsCkBAIC0xLDEzOCAr
MCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLSMgQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBM
aWJZdXYgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCi0jIHRo
YXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNv
dXJjZQotIyB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMg
Z3JhbnQgY2FuIGJlIGZvdW5kCi0jIGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0
aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSMgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBp
biB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0KLSIiIlJ1bnMgdmFyaW91cyBsaWJ5dXYg
dGVzdHMgdGhyb3VnaCB2YWxncmluZF90ZXN0LnB5LgotCi1UaGlzIHNjcmlwdCBpbmhlcml0cyB0
aGUgY2hyb21lX3Rlc3RzLnB5IGluIENocm9tZSwgYnV0IGFsbG93cyBydW5uaW5nIGFueSB0ZXN0
Ci1pbnN0ZWFkIG9mIG9ubHkgdGhlIGhhcmQtY29kZWQgb25lcy4gSXQgdXNlcyB0aGUgLXQgY21k
bGluZSBmbGFnIHRvIGRvIHRoaXMsIGFuZAotb25seSBzdXBwb3J0cyBzcGVjaWZ5aW5nIGEgc2lu
Z2xlIHRlc3QgZm9yIGVhY2ggcnVuLgotCi1TdXBwcmVzc2lvbiBmaWxlczoKLVRoZSBDaHJvbWUg
dmFsZ3JpbmQgZGlyZWN0b3J5IHdlIHVzZSBhcyBhIERFUFMgZGVwZW5kZW5jeSBjb250YWlucyB0
aGUgZm9sbG93aW5nCi1zdXBwcmVzc2lvbiBmaWxlczoKLSAgdmFsZ3JpbmQvbWVtY2hlY2svc3Vw
cHJlc3Npb25zLnR4dAotICB2YWxncmluZC9tZW1jaGVjay9zdXBwcmVzc2lvbnNfbWFjLnR4dAot
ICB2YWxncmluZC90c2FuL3N1cHByZXNzaW9ucy50eHQKLSAgdmFsZ3JpbmQvdHNhbi9zdXBwcmVz
c2lvbnNfbWFjLnR4dAotICB2YWxncmluZC90c2FuL3N1cHByZXNzaW9uc193aW4zMi50eHQKLVNp
bmNlIHRoZXkncmUgcmVmZXJlbmNlZCBmcm9tIHRoZSBjaHJvbWVfdGVzdHMucHkgc2NyaXB0LCB3
ZSBoYXZlIHNpbWlsYXIgZmlsZXMKLWJlbG93IHRoZSBkaXJlY3Rvcnkgb2YgdGhpcyBzY3JpcHQu
IFdoZW4gZXhlY3V0aW5nLCB0aGlzIHNjcmlwdCB3aWxsIHNldHVwIGJvdGgKLUNocm9tZSdzIHN1
cHByZXNzaW9uIGZpbGVzIGFuZCBvdXIgb3duLCBzbyB3ZSBjYW4gZWFzaWx5IG1haW50YWluIGxp
Ynl1dgotc3BlY2lmaWMgc3VwcHJlc3Npb25zIGluIG91ciBvd24gZmlsZXMuCi0iIiIKLQotaW1w
b3J0IGxvZ2dpbmcKLWltcG9ydCBvcHRwYXJzZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLWlt
cG9ydCBsb2dnaW5nX3V0aWxzCi1pbXBvcnQgcGF0aF91dGlscwotCi1pbXBvcnQgY2hyb21lX3Rl
c3RzCi0KLQotY2xhc3MgTGlieXV2VGVzdChjaHJvbWVfdGVzdHMuQ2hyb21lVGVzdHMpOgotICAi
IiJDbGFzcyB0aGF0IGhhbmRsZXMgc2V0dXAgb2Ygc3VwcHJlc3Npb25zIGZvciBsaWJ5dXYuCi0K
LSAgRXZlcnl0aGluZyBlbHNlIGlzIGluaGVyaXRlZCBmcm9tIGNocm9tZV90ZXN0cy5DaHJvbWVU
ZXN0cy4KLSAgIiIiCi0KLSAgZGVmIF9EZWZhdWx0Q29tbWFuZChzZWxmLCB0b29sLCBleGU9Tm9u
ZSwgdmFsZ3JpbmRfdGVzdF9hcmdzPU5vbmUpOgotICAgICIiIk92ZXJyaWRlIGNvbW1hbmQtYnVp
bGRpbmcgbWV0aG9kIHNvIHdlIGNhbiBhZGQgbW9yZSBzdXBwcmVzc2lvbnMuIiIiCi0gICAgY21k
ID0gY2hyb21lX3Rlc3RzLkNocm9tZVRlc3RzLl9EZWZhdWx0Q29tbWFuZChzZWxmLCB0b29sLCBl
eGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
YWxncmluZF90ZXN0X2FyZ3MpCi0gICAgIyBXaGVuIENocm9tZVRlc3RzLl9EZWZhdWx0Q29tbWFu
ZCBoYXMgZXhlY3V0ZWQsIGl0IGhhcyBzZXR1cCBzdXBwcmVzc2lvbgotICAgICMgZmlsZXMgYmFz
ZWQgb24gd2hhdCdzIGZvdW5kIGluIHRoZSBtZW1jaGVjay8gb3IgdHNhbi8gc3ViZGlyZWN0b3Jp
ZXMgb2YKLSAgICAjIHRoaXMgc2NyaXB0J3MgbG9jYXRpb24uIElmIE1hYyBvciBXaW5kb3dzIGlz
IGV4ZWN1dGluZywgYWRkaXRpb25hbAotICAgICMgcGxhdGZvcm0gc3BlY2lmaWMgZmlsZXMgaGF2
ZSBhbHNvIGJlZW4gYWRkZWQuCi0gICAgIyBTaW5jZSBvbmx5IHRoZSBvbmVzIGxvY2F0ZWQgYmVs
b3cgdGhpcyBkaXJlY3RvcnkgaXMgYWRkZWQsIHdlIG11c3QgYWxzbwotICAgICMgYWRkIHRoZSBv
bmVzIG1haW50YWluZWQgYnkgQ2hyb21lLCBsb2NhdGVkIGluIC4uL3ZhbGdyaW5kLgotCi0gICAg
IyBUaGUgaWRlYSBpcyB0byBsb29rIGZvciAtLXN1cHByZXNzaW9uIGFyZ3VtZW50cyBpbiB0aGUg
Y21kIGxpc3QgYW5kIGFkZCBhCi0gICAgIyBtb2RpZmllZCBjb3B5IG9mIGVhY2ggc3VwcHJlc3Np
b24gZmlsZSwgZm9yIHRoZSBjb3JyZXNwb25kaW5nIGZpbGUgaW4KLSAgICAjIC4uL3ZhbGdyaW5k
LiBJZiB3ZSB3b3VsZCBzaW1wbHkgcmVwbGFjZSAndmFsZ3JpbmQtbGlieXV2JyB3aXRoICd2YWxn
cmluZCcKLSAgICAjIHdlIG1heSBwcm9kdWNlIGludmFsaWQgcGF0aHMgaWYgb3RoZXIgcGFydHMg
b2YgdGhlIHBhdGggY29udGFpbiB0aGF0Ci0gICAgIyBzdHJpbmcuIFRoYXQncyB3aHkgdGhlIGNv
ZGUgYmVsb3cgb25seSByZXBsYWNlcyB0aGUgZW5kIG9mIHRoZSBwYXRoLgotICAgIHNjcmlwdF9k
aXIgPSBwYXRoX3V0aWxzLlNjcmlwdERpcigpCi0gICAgb2xkX2Jhc2UsIF8gPSBvcy5wYXRoLnNw
bGl0KHNjcmlwdF9kaXIpCi0gICAgbmV3X2RpciA9IG9zLnBhdGguam9pbihvbGRfYmFzZSwgJ3Zh
bGdyaW5kJykKLSAgICBhZGRfc3VwcHJlc3Npb25zID0gW10KLSAgICBmb3IgdG9rZW4gaW4gY21k
OgotICAgICAgaWYgJy0tc3VwcHJlc3Npb25zJyBpbiB0b2tlbjoKLSAgICAgICAgYWRkX3N1cHBy
ZXNzaW9ucy5hcHBlbmQodG9rZW4ucmVwbGFjZShzY3JpcHRfZGlyLCBuZXdfZGlyKSkKLSAgICBy
ZXR1cm4gYWRkX3N1cHByZXNzaW9ucyArIGNtZAotCi0KLWRlZiBtYWluKF8pOgotICBwYXJzZXIg
PSBvcHRwYXJzZS5PcHRpb25QYXJzZXIoJ3VzYWdlOiAlcHJvZyAtYiA8ZGlyPiAtdCA8dGVzdD4g
PHRlc3QgYXJncz4nKQotICBwYXJzZXIuZGlzYWJsZV9pbnRlcnNwZXJzZWRfYXJncygpCi0gIHBh
cnNlci5hZGRfb3B0aW9uKCctYicsICctLWJ1aWxkLWRpcicsCi0gICAgICAgICAgICAgICAgICAg
IGhlbHA9KCdMb2NhdGlvbiBvZiB0aGUgY29tcGlsZXIgb3V0cHV0LiBDYW4gb25seSBiZSB1c2Vk
ICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ3doZW4gdGhlIHRlc3QgYXJndW1lbnQgZG9l
cyBub3QgY29udGFpbiB0aGlzIHBhdGguJykpCi0gIHBhcnNlci5hZGRfb3B0aW9uKCItLXRhcmdl
dCIsIGhlbHA9IkRlYnVnIG9yIFJlbGVhc2UiKQotICBwYXJzZXIuYWRkX29wdGlvbignLXQnLCAn
LS10ZXN0JywgaGVscD0nVGVzdCB0byBydW4uJykKLSAgcGFyc2VyLmFkZF9vcHRpb24oJycsICct
LWJhc2VsaW5lJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgaGVscD0nR2VuZXJhdGUgYmFzZWxpbmUgZGF0YSBpbnN0ZWFkIG9mIHZhbGlk
YXRpbmcnKQotICBwYXJzZXIuYWRkX29wdGlvbignJywgJy0tZ3Rlc3RfZmlsdGVyJywKLSAgICAg
ICAgICAgICAgICAgICAgaGVscD0nQWRkaXRpb25hbCBhcmd1bWVudHMgdG8gLS1ndGVzdF9maWx0
ZXInKQotICBwYXJzZXIuYWRkX29wdGlvbignJywgJy0tZ3Rlc3RfcmVwZWF0JywKLSAgICAgICAg
ICAgICAgICAgICAgaGVscD0nQXJndW1lbnQgZm9yIC0tZ3Rlc3RfcmVwZWF0JykKLSAgcGFyc2Vy
LmFkZF9vcHRpb24oIi0tZ3Rlc3Rfc2h1ZmZsZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1
bHQ9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgIGhlbHA9IlJhbmRvbWl6ZSB0ZXN0cycgb3Jk
ZXJzIG9uIGV2ZXJ5IGl0ZXJhdGlvbi4iKQotICBwYXJzZXIuYWRkX29wdGlvbigiLS1ndGVzdF9i
cmVha19vbl9mYWlsdXJlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAg
ICAgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgaGVscD0iRHJvcCBpbiB0byBk
ZWJ1Z2dlciBvbiBhc3NlcnRpb24gZmFpbHVyZS4gQWxzbyAiCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgInVzZWZ1bCBmb3IgZm9yY2luZyB0ZXN0cyB0byBleGl0IHdpdGggYSBzdGFjayBkdW1w
ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAib24gdGhlIGZpcnN0IGFzc2VydGlvbiBmYWls
dXJlIHdoZW4gcnVubmluZyB3aXRoICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiLS1ndGVz
dF9yZXBlYXQ9LTEiKQotICBwYXJzZXIuYWRkX29wdGlvbignLXYnLCAnLS12ZXJib3NlJywgYWN0
aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgaGVs
cD0nVmVyYm9zZSBvdXRwdXQgLSBlbmFibGUgZGVidWcgbG9nIG1lc3NhZ2VzJykKLSAgcGFyc2Vy
LmFkZF9vcHRpb24oJycsICctLXRvb2wnLCBkZXN0PSd2YWxncmluZF90b29sJywgZGVmYXVsdD0n
bWVtY2hlY2snLAotICAgICAgICAgICAgICAgICAgICBoZWxwPSdTcGVjaWZ5IGEgdmFsZ3JpbmQg
dG9vbCB0byBydW4gdGhlIHRlc3RzIHVuZGVyJykKLSAgcGFyc2VyLmFkZF9vcHRpb24oJycsICct
LXRvb2xfZmxhZ3MnLCBkZXN0PSd2YWxncmluZF90b29sX2ZsYWdzJywgZGVmYXVsdD0nJywKLSAg
ICAgICAgICAgICAgICAgICAgaGVscD0nU3BlY2lmeSBjdXN0b20gZmxhZ3MgZm9yIHRoZSBzZWxl
Y3RlZCB2YWxncmluZCB0b29sJykKLSAgcGFyc2VyLmFkZF9vcHRpb24oJycsICctLWtlZXBfbG9n
cycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgIGhlbHA9KCdTdG9yZSBtZW1vcnkgdG9vbCBsb2dzIGluIHRoZSA8dG9vbD4ubG9ncyBkaXJl
Y3RvcnkgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5zdGVhZCBvZiAvdG1wLlxuVGhp
cyBjYW4gYmUgdXNlZnVsIGZvciB0b29sICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rl
dmVsb3BlcnMvbWFpbnRhaW5lcnMuXG5QbGVhc2Ugbm90ZSB0aGF0IHRoZSA8dG9vbD4nCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICcubG9ncyBkaXJlY3Rvcnkgd2lsbCBiZSBjbG9iYmVyZWQg
b24gdG9vbCBzdGFydHVwLicpKQotICBwYXJzZXIuYWRkX29wdGlvbigiLS10ZXN0LWxhdW5jaGVy
LWJvdC1tb2RlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgaGVs
cD0icnVuIHRoZSB0ZXN0cyB3aXRoIC0tdGVzdC1sYXVuY2hlci1ib3QtbW9kZSIpCi0gIHBhcnNl
ci5hZGRfb3B0aW9uKCItLXRlc3QtbGF1bmNoZXItdG90YWwtc2hhcmRzIiwgdHlwZT1pbnQsCi0g
ICAgICAgICAgICAgICAgICAgIGhlbHA9InJ1biB0aGUgdGVzdHMgd2l0aCAtLXRlc3QtbGF1bmNo
ZXItdG90YWwtc2hhcmRzIikKLSAgcGFyc2VyLmFkZF9vcHRpb24oIi0tdGVzdC1sYXVuY2hlci1z
aGFyZC1pbmRleCIsIHR5cGU9aW50LAotICAgICAgICAgICAgICAgICAgICBoZWxwPSJydW4gdGhl
IHRlc3RzIHdpdGggLS10ZXN0LWxhdW5jaGVyLXNoYXJkLWluZGV4IikKLSAgb3B0aW9ucywgYXJn
cyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLQotICBpZiBvcHRpb25zLnZlcmJvc2U6Ci0gICAgbG9n
Z2luZ191dGlscy5jb25maWdfcm9vdChsb2dnaW5nLkRFQlVHKQotICBlbHNlOgotICAgIGxvZ2dp
bmdfdXRpbHMuY29uZmlnX3Jvb3QoKQotCi0gIGlmIG5vdCBvcHRpb25zLnRlc3Q6Ci0gICAgcGFy
c2VyLmVycm9yKCctLXRlc3Qgbm90IHNwZWNpZmllZCcpCi0KLSAgIyBTdXBwb3J0IGJ1aWxkIGRp
ciBib3RoIHdpdGggYW5kIHdpdGhvdXQgdGhlIHRhcmdldC4KLSAgaWYgKG9wdGlvbnMudGFyZ2V0
IGFuZCBvcHRpb25zLmJ1aWxkX2RpciBhbmQKLSAgICAgIG5vdCBvcHRpb25zLmJ1aWxkX2Rpci5l
bmRzd2l0aChvcHRpb25zLnRhcmdldCkpOgotICAgIG9wdGlvbnMuYnVpbGRfZGlyID0gb3MucGF0
aC5qb2luKG9wdGlvbnMuYnVpbGRfZGlyLCBvcHRpb25zLnRhcmdldCkKLQotICAjIElmIC0tYnVp
bGRfZGlyIGlzIHByb3ZpZGVkLCBwcmVwZW5kIGl0IHRvIHRoZSB0ZXN0IGV4ZWN1dGFibGUgaWYg
bmVlZGVkLgotICB0ZXN0X2V4ZWN1dGFibGUgPSBvcHRpb25zLnRlc3QKLSAgaWYgb3B0aW9ucy5i
dWlsZF9kaXIgYW5kIG5vdCB0ZXN0X2V4ZWN1dGFibGUuc3RhcnRzd2l0aChvcHRpb25zLmJ1aWxk
X2Rpcik6Ci0gICAgdGVzdF9leGVjdXRhYmxlID0gb3MucGF0aC5qb2luKG9wdGlvbnMuYnVpbGRf
ZGlyLCB0ZXN0X2V4ZWN1dGFibGUpCi0gIGFyZ3MgPSBbdGVzdF9leGVjdXRhYmxlXSArIGFyZ3MK
LQotICB0ZXN0ID0gTGlieXV2VGVzdChvcHRpb25zLCBhcmdzLCAnY21kbGluZScpCi0gIHJldHVy
biB0ZXN0LlJ1bigpCi0KLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gIHJldHVybl9jb2Rl
ID0gbWFpbihzeXMuYXJndikKLSAgc3lzLmV4aXQocmV0dXJuX2NvZGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29s
cy92YWxncmluZC1saWJ5dXYvbGlieXV2X3Rlc3RzLnNoIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L2xp
Ynl1dl90ZXN0cy5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNGZlZTdkYWVkNjky
NTU5YjE4MzZiZWViOWM4ODY5NjM1OWFmYTQwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di90b29scy92YWxncmluZC1saWJ5dXYvbGlieXV2X3Rlc3RzLnNoCisr
KyAvZGV2L251bGwKQEAgLTEsMTM4ICswLDAgQEAKLSMhL2Jpbi9iYXNoCi0jIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgTGliWXV2IFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSMKLSMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
bGljZW5zZQotIyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSBy
b290IG9mIHRoZSBzb3VyY2UKLSMgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJv
cGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotIyBpbiB0aGUgZmlsZSBQQVRFTlRTLiAg
QWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0jIGJlIGZvdW5kIGluIHRoZSBB
VVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgotCi0jIFNldCB1cCBz
b21lIHBhdGhzIGFuZCByZS1kaXJlY3QgdGhlIGFyZ3VtZW50cyB0byBsaWJ5dXZfdGVzdHMucHkK
LQotIyBUaGlzIHNjcmlwdCBpcyBhIGNvcHkgb2YgdGhlIGNocm9tZV90ZXN0cy5zaCB3cmFwcGVy
IHNjcmlwdCB3aXRoIHRoZSBmb2xsb3dpbmcKLSMgY2hhbmdlczoKLSMgLSBUaGUgbG9jYXRlX3Zh
bGdyaW5kLnNoIG9mIENocm9taXVtJ3MgVmFsZ3JpbmQgc2NyaXB0cyBkaXIgaXMgdXNlZCB0byBs
b2NhdGUKLSMgICB0aGUgVmFsZ3JpbmQgZnJhbWV3b3JrIGluc3RhbGwuCi0jIC0gbGlieXV2X3Rl
c3RzLnB5IGlzIGludm9rZWQgaW5zdGVhZCBvZiBjaHJvbWVfdGVzdHMucHkuCi0jIC0gQ2hyb21p
dW0ncyBWYWxncmluZCBzY3JpcHRzIGRpcmVjdG9yeSBpcyBhZGRlZCB0byB0aGUgUFlUSE9OUEFU
SCB0byBtYWtlIGl0Ci0jICAgcG9zc2libGUgdG8gZXhlY3V0ZSB0aGUgUHl0aG9uIHNjcmlwdHMg
cHJvcGVybHkuCi0KLWV4cG9ydCBUSElTRElSPWBkaXJuYW1lICQwYAotQVJHVl9DT1BZPSIkQCIK
LQotIyBXZSBuZWVkIHRvIHNldCBDSFJPTUVfVkFMR1JJTkQgaWZmIHVzaW5nIE1lbWNoZWNrIG9y
IFRTYW4tVmFsZ3JpbmQ6Ci0jICAgdG9vbHMvdmFsZ3JpbmQtbGlieXV2L2xpYnl1dl90ZXN0cy5z
aCAtLXRvb2wgbWVtY2hlY2sKLSMgb3IKLSMgICB0b29scy92YWxncmluZC1saWJ5dXYvbGlieXV2
X3Rlc3RzLnNoIC0tdG9vbD1tZW1jaGVjawotIyAoc2FtZSBmb3IgIi0tdG9vbD10c2FuIikKLXRv
b2w9Im1lbWNoZWNrIiAgIyBEZWZhdWx0IHRvIG1lbWNoZWNrLgotd2hpbGUgKCggIiQjIiApKQot
ZG8KLSAgaWYgW1sgIiQxIiA9PSAiLS10b29sIiBdXQotICB0aGVuCi0gICAgdG9vbD0iJDIiCi0g
ICAgc2hpZnQKLSAgZWxpZiBbWyAiJDEiID1+IC0tdG9vbD0oLiopIF1dCi0gIHRoZW4KLSAgICB0
b29sPSIke0JBU0hfUkVNQVRDSFsxXX0iCi0gIGZpCi0gIHNoaWZ0Ci1kb25lCi0KLU5FRURTX1ZB
TEdSSU5EPTAKLU5FRURTX0RSTUVNT1JZPTAKLQotY2FzZSAiJHRvb2wiIGluCi0gICJtZW1jaGVj
ayIpCi0gICAgTkVFRFNfVkFMR1JJTkQ9MQotICAgIDs7Ci0gICJ0c2FuIiB8ICJ0c2FuX3J2IikK
LSAgICBpZiBbICJgdW5hbWUgLXNgIiA9PSBDWUdXSU4qIF0KLSAgICB0aGVuCi0gICAgICBORUVE
U19QSU49MQotICAgIGVsc2UKLSAgICAgIE5FRURTX1ZBTEdSSU5EPTEKLSAgICBmaQotICAgIDs7
Ci0gICJkcm1lbW9yeSIgfCAiZHJtZW1vcnlfbGlnaHQiIHwgImRybWVtb3J5X2Z1bGwiIHwgImRy
bWVtb3J5X3BhdHRlcm4iKQotICAgIE5FRURTX0RSTUVNT1JZPTEKLSAgICA7OwotZXNhYwotCi0j
IEZvciBMaWJ5dXYsIHdlJ2xsIHVzZSB0aGUgbG9jYXRlX3ZhbGdyaW5kLnNoIHNjcmlwdCBpbiBD
aHJvbWl1bSdzIFZhbGdyaW5kCi0jIHNjcmlwdHMgZGlyIHRvIGxvY2F0ZSB0aGUgVmFsZ3JpbmQg
ZnJhbWV3b3JrIGluc3RhbGwKLUNIUk9NRV9WQUxHUklORF9TQ1JJUFRTPSRUSElTRElSLy4uL3Zh
bGdyaW5kCi0KLWlmIFsgIiRORUVEU19WQUxHUklORCIgPT0gIjEiIF0KLXRoZW4KLSAgQ0hST01F
X1ZBTEdSSU5EPWBzaCAkQ0hST01FX1ZBTEdSSU5EX1NDUklQVFMvbG9jYXRlX3ZhbGdyaW5kLnNo
YAotICBpZiBbICIkQ0hST01FX1ZBTEdSSU5EIiA9ICIiIF0KLSAgdGhlbgotICAgICMgbG9jYXRl
X3ZhbGdyaW5kLnNoIGZhaWxlZAotICAgIGV4aXQgMQotICBmaQotICBlY2hvICJVc2luZyB2YWxn
cmluZCBiaW5hcmllcyBmcm9tICR7Q0hST01FX1ZBTEdSSU5EfSIKLQotICBQQVRIPSIke0NIUk9N
RV9WQUxHUklORH0vYmluOiRQQVRIIgotICAjIFdlIG5lZWQgdG8gc2V0IHRoZXNlIHZhcmlhYmxl
cyB0byBvdmVycmlkZSBkZWZhdWx0IGxpYiBwYXRocyBoYXJkLWNvZGVkIGludG8KLSAgIyBWYWxn
cmluZCBiaW5hcnkuCi0gIGV4cG9ydCBWQUxHUklORF9MSUI9IiRDSFJPTUVfVkFMR1JJTkQvbGli
L3ZhbGdyaW5kIgotICBleHBvcnQgVkFMR1JJTkRfTElCX0lOTkVSPSIkQ0hST01FX1ZBTEdSSU5E
L2xpYi92YWxncmluZCIKLQotICAjIENsZWFuIHVwIHNvbWUgL3RtcCBkaXJlY3RvcmllcyB0aGF0
IG1pZ2h0IGJlIHN0YWxlIGR1ZSB0byBpbnRlcnJ1cHRlZAotICAjIGNocm9tZV90ZXN0cy5weSBl
eGVjdXRpb24uCi0gICMgRllJOgotICAjICAgLW10aW1lICsxICA8LSBvbmx5IHByaW50IGZpbGVz
IG1vZGlmaWVkIG1vcmUgdGhhbiAyNGggYWdvLAotICAjICAgLXByaW50MC8tMCBhcmUgbmVlZGVk
IHRvIGhhbmRsZSBwb3NzaWJsZSBuZXdsaW5lcyBpbiB0aGUgZmlsZW5hbWVzLgotICBlY2hvICJD
bGVhbnVwIC90bXAgZnJvbSBWYWxncmluZCBzdHVmZiIKLSAgZmluZCAvdG1wIC1tYXhkZXB0aCAx
IFwoXAotICAgICAgICAtbmFtZSAidmdkYi1waXBlLSoiIC1vciAtbmFtZSAidmdfbG9nc18qIiAt
b3IgLW5hbWUgInZhbGdyaW5kLioiIFwKLSAgICAgIFwpIC1tdGltZSArMSAtcHJpbnQwIHwgeGFy
Z3MgLTAgcm0gLXJmCi1maQotCi1pZiBbICIkTkVFRFNfRFJNRU1PUlkiID09ICIxIiBdCi10aGVu
Ci0gIGlmIFsgLXogIiREUk1FTU9SWV9DT01NQU5EIiBdCi0gIHRoZW4KLSAgICBEUk1FTU9SWV9Q
QVRIPSIkVEhJU0RJUi8uLi8uLi90aGlyZF9wYXJ0eS9kcm1lbW9yeSIKLSAgICBEUk1FTU9SWV9T
Rlg9IiREUk1FTU9SWV9QQVRIL2RybWVtb3J5LXdpbmRvd3Mtc2Z4LmV4ZSIKLSAgICBpZiBbICEg
LWYgIiREUk1FTU9SWV9TRlgiIF0KLSAgICB0aGVuCi0gICAgICBlY2hvICJDYW4ndCBmaW5kIERy
LiBNZW1vcnkgZXhlY3V0YWJsZXMuIgotICAgICAgZWNobyAiU2VlIGh0dHA6Ly93d3cuY2hyb21p
dW0ub3JnL2RldmVsb3BlcnMvaG93LXRvcy91c2luZy12YWxncmluZC9kci1tZW1vcnkiCi0gICAg
ICBlY2hvICJmb3IgdGhlIGluc3RydWN0aW9ucyBvbiBob3cgdG8gZ2V0IHRoZW0uIgotICAgICAg
ZXhpdCAxCi0gICAgZmkKLQotICAgIGNobW9kICt4ICIkRFJNRU1PUllfU0ZYIiAgIyBDeWd3aW4g
d29uJ3QgcnVuIGl0IHdpdGhvdXQgK3guCi0gICAgIiREUk1FTU9SWV9TRlgiIC1vIiREUk1FTU9S
WV9QQVRIL3VucGFja2VkIiAteQotICAgIGV4cG9ydCBEUk1FTU9SWV9DT01NQU5EPSIkRFJNRU1P
UllfUEFUSC91bnBhY2tlZC9iaW4vZHJtZW1vcnkuZXhlIgotICBmaQotZmkKLQotaWYgWyAiJE5F
RURTX1BJTiIgPT0gIjEiIF0KLXRoZW4KLSAgaWYgWyAteiAiJFBJTl9DT01NQU5EIiBdCi0gIHRo
ZW4KLSAgICAjIFNldCB1cCBQSU5fQ09NTUFORCB0byBpbnZva2UgVFNhbi4KLSAgICBUU0FOX1BB
VEg9IiRUSElTRElSLy4uLy4uL3RoaXJkX3BhcnR5L3RzYW4iCi0gICAgVFNBTl9TRlg9IiRUU0FO
X1BBVEgvdHNhbi14ODYtd2luZG93cy1zZnguZXhlIgotICAgIGVjaG8gIiRUU0FOX1NGWCIKLSAg
ICBpZiBbICEgLWYgJFRTQU5fU0ZYIF0KLSAgICB0aGVuCi0gICAgICBlY2hvICJDYW4ndCBmaW5k
IFRocmVhZFNhbml0aXplciBleGVjdXRhYmxlcy4iCi0gICAgICBlY2hvICJTZWUgaHR0cDovL3d3
dy5jaHJvbWl1bS5vcmcvZGV2ZWxvcGVycy9ob3ctdG9zL3VzaW5nLXZhbGdyaW5kL3RocmVhZHNh
bml0aXplci90aHJlYWRzYW5pdGl6ZXItb24td2luZG93cyIKLSAgICAgIGVjaG8gImZvciB0aGUg
aW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBnZXQgdGhlbS4iCi0gICAgICBleGl0IDEKLSAgICBmaQot
Ci0gICAgY2htb2QgK3ggIiRUU0FOX1NGWCIgICMgQ3lnd2luIHdvbid0IHJ1biBpdCB3aXRob3V0
ICt4LgotICAgICIkVFNBTl9TRlgiIC1vIiRUU0FOX1BBVEgiL3VucGFja2VkIC15Ci0gICAgZXhw
b3J0IFBJTl9DT01NQU5EPSIkVFNBTl9QQVRIL3VucGFja2VkL3RzYW4teDg2LXdpbmRvd3MvdHNh
bi5iYXQiCi0gIGZpCi1maQotCi0jIEFkZCBDaHJvbWUncyBWYWxncmluZCBzY3JpcHRzIGRpciB0
byB0aGUgUFlUSE9OX1BBVEggc2luY2UgaXQgY29udGFpbnMKLSMgdGhlIHNjcmlwdHMgdGhhdCBh
cmUgbmVlZGVkIGZvciB0aGlzIHNjcmlwdCB0byBydW4KLVBZVEhPTlBBVEg9JFRISVNESVIvLi4v
cHl0aG9uL2dvb2dsZTokQ0hST01FX1ZBTEdSSU5EX1NDUklQVFMgcHl0aG9uIFwKLSAgICAgICAg
ICAgIiRUSElTRElSL2xpYnl1dl90ZXN0cy5weSIgJEFSR1ZfQ09QWQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMv
dmFsZ3JpbmQtbGlieXV2L21lbWNoZWNrL09XTkVSUyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di9tZW1j
aGVjay9PV05FUlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyZThmZmMwZGI4YWFk
NzFhOTM0ZGQxMWU1OTY4YmQ1MTA5ZTU0YjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L21lbWNoZWNrL09XTkVSUworKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSoKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1
di9tZW1jaGVjay9QUkVTVUJNSVQucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy92YWxncmluZC1saWJ5dXYvbWVtY2hlY2svUFJF
U1VCTUlULnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NmZmNGNmY2YxY2RhYjZk
MmExZDcxMGYyYWVlMjU1ZGQ3N2MzYzUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di9tZW1jaGVjay9QUkVTVUJNSVQucHkK
KysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLSMg
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBMaWJZdXYgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIwotIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlCi0jIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotIyB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVs
bGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCi0jIGluIHRoZSBmaWxl
IFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSMgYmUgZm91
bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0K
LSIiIgotQ29waWVkIGZyb20gQ2hyb21lJ3Mgc3JjL3Rvb2xzL3ZhbGdyaW5kL21lbWNoZWNrL1BS
RVNVQk1JVC5weQotCi1TZWUgaHR0cDovL2Rldi5jaHJvbWl1bS5vcmcvZGV2ZWxvcGVycy9ob3ct
dG9zL2RlcG90dG9vbHMvcHJlc3VibWl0LXNjcmlwdHMKLWZvciBtb3JlIGRldGFpbHMgb24gdGhl
IHByZXN1Ym1pdCBBUEkgYnVpbHQgaW50byBnY2wuCi0iIiIKLQotaW1wb3J0IG9zCi1pbXBvcnQg
cmUKLWltcG9ydCBzeXMKLQotZGVmIENoZWNrQ2hhbmdlKGlucHV0X2FwaSwgb3V0cHV0X2FwaSk6
Ci0gICIiIkNoZWNrcyB0aGUgbWVtY2hlY2sgc3VwcHJlc3Npb25zIGZpbGVzIGZvciBiYWQgZGF0
YS4iIiIKLQotICAjIEFkZCB0aGUgcGF0aCB0byB0aGUgQ2hyb21lIHZhbGdyaW5kIGRpciB0byB0
aGUgaW1wb3J0IHBhdGg6Ci0gIHRvb2xzX3ZnX3BhdGggPSBvcy5wYXRoLmpvaW4oaW5wdXRfYXBp
LlByZXN1Ym1pdExvY2FsUGF0aCgpLCAnLi4nLCAnLi4nLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICd2YWxncmluZCcpCi0gIHN5cy5wYXRoLmFwcGVuZCh0b29sc192Z19wYXRoKQot
ICBpbXBvcnQgc3VwcHJlc3Npb25zCi0KLSAgc3VwX3JlZ2V4ID0gcmUuY29tcGlsZSgnc3VwcHJl
c3Npb25zLipcLnR4dCQnKQotICBzdXBwcmVzc2lvbnMgPSB7fQotICBlcnJvcnMgPSBbXQotICBj
aGVja19mb3JfbWVtY2hlY2sgPSBGYWxzZQotICAjIHNraXBfbmV4dF9saW5lIGhhcyAzIHBvc3Np
YmxlIHZhbHVlczoKLSAgIyAtIEZhbHNlOiBkb24ndCBza2lwIHRoZSBuZXh0IGxpbmUuCi0gICMg
LSAnc2tpcF9zdXBwcmVzc2lvbl9uYW1lJzogdGhlIG5leHQgbGluZSBpcyBhIHN1cHByZXNzaW9u
IG5hbWUsIHNraXAuCi0gICMgLSAnc2tpcF9wYXJhbSc6IHRoZSBuZXh0IGxpbmUgaXMgYSBzeXN0
ZW0gY2FsbCBwYXJhbWV0ZXIgZXJyb3IsIHNraXAuCi0gIHNraXBfbmV4dF9saW5lID0gRmFsc2UK
LSAgZm9yIGYgaW4gZmlsdGVyKGxhbWJkYSB4OiBzdXBfcmVnZXguc2VhcmNoKHguTG9jYWxQYXRo
KCkpLAotICAgICAgICAgICAgICAgICAgaW5wdXRfYXBpLkFmZmVjdGVkRmlsZXMoKSk6Ci0gICAg
Zm9yIGxpbmUsIGxpbmVfbnVtIGluIHppcChmLk5ld0NvbnRlbnRzKCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB4cmFuZ2UoMSwgbGVuKGYuTmV3Q29udGVudHMoKSkgKyAxKSk6Ci0g
ICAgICBsaW5lID0gbGluZS5sc3RyaXAoKQotICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCcjJykg
b3Igbm90IGxpbmU6Ci0gICAgICAgIGNvbnRpbnVlCi0KLSAgICAgIGlmIHNraXBfbmV4dF9saW5l
OgotICAgICAgICBpZiBza2lwX25leHRfbGluZSA9PSAnc2tpcF9zdXBwcmVzc2lvbl9uYW1lJzoK
LSAgICAgICAgICBpZiAnaW5zZXJ0X2Ffc3VwcHJlc3Npb25fbmFtZV9oZXJlJyBpbiBsaW5lOgot
ICAgICAgICAgICAgZXJyb3JzLmFwcGVuZCgnImluc2VydF9hX3N1cHByZXNzaW9uX25hbWVfaGVy
ZSIgaXMgbm90IGEgdmFsaWQgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAnc3VwcHJlc3Np
b24gbmFtZScpCi0gICAgICAgICAgaWYgc3VwcHJlc3Npb25zLmhhc19rZXkobGluZSk6Ci0gICAg
ICAgICAgICBpZiBmLkxvY2FsUGF0aCgpID09IHN1cHByZXNzaW9uc1tsaW5lXVsxXToKLSAgICAg
ICAgICAgICAgZXJyb3JzLmFwcGVuZCgnc3VwcHJlc3Npb24gd2l0aCBuYW1lICIlcyIgYXQgJXMg
bGluZSAlcyAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hhcyBhbHJlYWR5IGJlZW4g
ZGVmaW5lZCBhdCBsaW5lICVzJyAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpbmUs
IGYuTG9jYWxQYXRoKCksIGxpbmVfbnVtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dXBwcmVzc2lvbnNbbGluZV1bMV0pKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAg
ZXJyb3JzLmFwcGVuZCgnc3VwcHJlc3Npb24gd2l0aCBuYW1lICIlcyIgYXQgJXMgbGluZSAlcyAn
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hhcyBhbHJlYWR5IGJlZW4gZGVmaW5lZCBh
dCAlcyBsaW5lICVzJyAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpbmUsIGYuTG9j
YWxQYXRoKCksIGxpbmVfbnVtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwcmVz
c2lvbnNbbGluZV1bMF0sIHN1cHByZXNzaW9uc1tsaW5lXVsxXSkpCi0gICAgICAgICAgZWxzZToK
LSAgICAgICAgICAgIHN1cHByZXNzaW9uc1tsaW5lXSA9IChmLCBsaW5lX251bSkKLSAgICAgICAg
ICAgIGNoZWNrX2Zvcl9tZW1jaGVjayA9IFRydWU7Ci0gICAgICAgIHNraXBfbmV4dF9saW5lID0g
RmFsc2UKLSAgICAgICAgY29udGludWUKLSAgICAgIGlmIGNoZWNrX2Zvcl9tZW1jaGVjazoKLSAg
ICAgICAgaWYgbm90IGxpbmUuc3RhcnRzd2l0aCgnTWVtY2hlY2s6Jyk6Ci0gICAgICAgICAgZXJy
b3JzLmFwcGVuZCgnIiVzIiBzaG91bGQgYmUgIk1lbWNoZWNrOi4uLiIgaW4gJXMgbGluZSAlcycg
JQotICAgICAgICAgICAgICAgICAgICAgICAgKGxpbmUsIGYuTG9jYWxQYXRoKCksIGxpbmVfbnVt
KSkKLSAgICAgICAgY2hlY2tfZm9yX21lbWNoZWNrID0gRmFsc2U7Ci0gICAgICBpZiBsaW5lID09
ICd7JzoKLSAgICAgICAgc2tpcF9uZXh0X2xpbmUgPSAnc2tpcF9zdXBwcmVzc2lvbl9uYW1lJwot
ICAgICAgICBjb250aW51ZQotICAgICAgaWYgbGluZSA9PSAiTWVtY2hlY2s6UGFyYW0iOgotICAg
ICAgICBza2lwX25leHRfbGluZSA9ICdza2lwX3BhcmFtJwotICAgICAgICBjb250aW51ZQotCi0g
ICAgICBpZiAobGluZS5zdGFydHN3aXRoKCdmdW46Jykgb3IgbGluZS5zdGFydHN3aXRoKCdvYmo6
Jykgb3IKLSAgICAgICAgICBsaW5lLnN0YXJ0c3dpdGgoJ01lbWNoZWNrOicpIG9yIGxpbmUgPT0g
J30nIG9yCi0gICAgICAgICAgbGluZSA9PSAnLi4uJyk6Ci0gICAgICAgIGNvbnRpbnVlCi0gICAg
ICBlcnJvcnMuYXBwZW5kKCciJXMiIGlzIHByb2JhYmx5IHdyb25nOiAlcyBsaW5lICVzJyAlIChs
aW5lLCBmLkxvY2FsUGF0aCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGluZV9udW0pKQotICBpZiBlcnJvcnM6Ci0gICAgcmV0
dXJuIFtvdXRwdXRfYXBpLlByZXN1Ym1pdEVycm9yKCdcbicuam9pbihlcnJvcnMpKV0KLSAgcmV0
dXJuIFtdCi0KLWRlZiBDaGVja0NoYW5nZU9uVXBsb2FkKGlucHV0X2FwaSwgb3V0cHV0X2FwaSk6
Ci0gIHJldHVybiBDaGVja0NoYW5nZShpbnB1dF9hcGksIG91dHB1dF9hcGkpCi0KLWRlZiBDaGVj
a0NoYW5nZU9uQ29tbWl0KGlucHV0X2FwaSwgb3V0cHV0X2FwaSk6Ci0gIHJldHVybiBDaGVja0No
YW5nZShpbnB1dF9hcGksIG91dHB1dF9hcGkpCi0KLWRlZiBHZXRQcmVmZXJyZWRUcnlTbGF2ZXMo
KToKLSAgIyBXZSBkb24ndCBoYXZlIGFueSBtZW1jaGVjayBzbGF2ZXMgeWV0LCBzbyB0aGVyZSdz
IG5vIHVzZSBmb3IgdGhpcyBtZXRob2QuCi0gICMgV2hlbiB3ZSBoYXZlLCB0aGUgc2xhdmUgbmFt
ZShzKSBzaG91bGQgYmUgcHV0IGludG8gdGhpcyBsaXN0LgotICByZXR1cm4gW10KZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di9tZW1jaGVjay9zdXBwcmVzc2lvbnMudHh0IGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFs
Z3JpbmQtbGlieXV2L21lbWNoZWNrL3N1cHByZXNzaW9ucy50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDNhZDBjOGNjYzU3Mzk3YjhlNzVlNGU4YmRjMmMwMTQzZDJlYzU2YjguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQt
bGlieXV2L21lbWNoZWNrL3N1cHByZXNzaW9ucy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICsw
LDAgQEAKLSMgVGhpcyBmaWxlIGlzIHVzZWQgaW4gYWRkaXRpb24gdG8gdGhlIG9uZSBhbHJlYWR5
IG1haW50YWluZWQgaW4gQ2hyb21lLgotIyBJdCBhY3RzIGFzIGEgcGxhY2UgaG9sZGVyIGZvciBm
dXR1cmUgYWRkaXRpb25zIGZvciB0aGlzIHByb2plY3QuCi0jIEl0IG11c3QgZXhpc3QgZm9yIHRo
ZSBQeXRob24gd3JhcHBlciBzY3JpcHQgdG8gd29yayBwcm9wZXJseS4KLQotCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90
b29scy92YWxncmluZC1saWJ5dXYvbWVtY2hlY2svc3VwcHJlc3Npb25zX21hYy50eHQgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy92
YWxncmluZC1saWJ5dXYvbWVtY2hlY2svc3VwcHJlc3Npb25zX21hYy50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDNhZDBjOGNjYzU3Mzk3YjhlNzVlNGU4YmRjMmMwMTQzZDJlYzU2
YjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFs
Z3JpbmQtbGlieXV2L21lbWNoZWNrL3N1cHByZXNzaW9uc19tYWMudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNSArMCwwIEBACi0jIFRoaXMgZmlsZSBpcyB1c2VkIGluIGFkZGl0aW9uIHRvIHRoZSBv
bmUgYWxyZWFkeSBtYWludGFpbmVkIGluIENocm9tZS4KLSMgSXQgYWN0cyBhcyBhIHBsYWNlIGhv
bGRlciBmb3IgZnV0dXJlIGFkZGl0aW9ucyBmb3IgdGhpcyBwcm9qZWN0LgotIyBJdCBtdXN0IGV4
aXN0IGZvciB0aGUgUHl0aG9uIHdyYXBwZXIgc2NyaXB0IHRvIHdvcmsgcHJvcGVybHkuCi0KLQpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L21lbWNoZWNrL3N1cHByZXNzaW9uc193aW4z
Mi50eHQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di90b29scy92YWxncmluZC1saWJ5dXYvbWVtY2hlY2svc3VwcHJlc3Npb25zX3dpbjMyLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2FkMGM4Y2NjNTczOTdiOGU3NWU0ZThi
ZGMyYzAxNDNkMmVjNTZiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di90b29scy92YWxncmluZC1saWJ5dXYvbWVtY2hlY2svc3VwcHJlc3Npb25zX3dpbjMyLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotIyBUaGlzIGZpbGUgaXMgdXNlZCBpbiBh
ZGRpdGlvbiB0byB0aGUgb25lIGFscmVhZHkgbWFpbnRhaW5lZCBpbiBDaHJvbWUuCi0jIEl0IGFj
dHMgYXMgYSBwbGFjZSBob2xkZXIgZm9yIGZ1dHVyZSBhZGRpdGlvbnMgZm9yIHRoaXMgcHJvamVj
dC4KLSMgSXQgbXVzdCBleGlzdCBmb3IgdGhlIFB5dGhvbiB3cmFwcGVyIHNjcmlwdCB0byB3b3Jr
IHByb3Blcmx5LgotCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di90c2FuL09XTkVS
UyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di90c2FuL09XTkVSUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzJlOGZmYzBkYjhhYWQ3MWE5MzRkZDExZTU5NjhiZDUxMDllNTRiNC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy92YWxncmluZC1saWJ5
dXYvdHNhbi9PV05FUlMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0qCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90
b29scy92YWxncmluZC1saWJ5dXYvdHNhbi9QUkVTVUJNSVQucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29scy92YWxncmluZC1saWJ5
dXYvdHNhbi9QUkVTVUJNSVQucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyNWI2
ZWJjZWU1NTQyZTkxMWJhZGRmMWQ2ZDhhNmI3MWVjMjA3NTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L3RzYW4vUFJFU1VC
TUlULnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uCi0jIENvcHlyaWdodCAoYykgMjAxMiBUaGUgTGliWXV2IFByb2plY3QgQXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQotIyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKLSMgdHJlZS4gQW4gYWRkaXRpb25h
bCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAotIyBpbiB0
aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5Ci0j
IGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0
cmVlLgotCi1pbXBvcnQgb3MKLWltcG9ydCByZQotaW1wb3J0IHN5cwotCi0iIiIKLUNvcGllZCBm
cm9tIENocm9tZSdzIHNyYy90b29scy92YWxncmluZC90c2FuL1BSRVNVQk1JVC5weQotCi1TZWUg
aHR0cDovL2Rldi5jaHJvbWl1bS5vcmcvZGV2ZWxvcGVycy9ob3ctdG9zL2RlcG90dG9vbHMvcHJl
c3VibWl0LXNjcmlwdHMKLWZvciBtb3JlIGRldGFpbHMgb24gdGhlIHByZXN1Ym1pdCBBUEkgYnVp
bHQgaW50byBnY2wuCi0iIiIKLQotZGVmIENoZWNrQ2hhbmdlKGlucHV0X2FwaSwgb3V0cHV0X2Fw
aSk6Ci0gICIiIkNoZWNrcyB0aGUgVFNhbiBzdXBwcmVzc2lvbnMgZmlsZXMgZm9yIGJhZCBzdXBw
cmVzc2lvbnMuIiIiCi0KLSAgIyBBZGQgdGhlIHBhdGggdG8gdGhlIENocm9tZSB2YWxncmluZCBk
aXIgdG8gdGhlIGltcG9ydCBwYXRoOgotICB0b29sc192Z19wYXRoID0gb3MucGF0aC5qb2luKGlu
cHV0X2FwaS5QcmVzdWJtaXRMb2NhbFBhdGgoKSwgJy4uJywgJy4uJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAndmFsZ3JpbmQnKQotICBzeXMucGF0aC5hcHBlbmQodG9vbHNfdmdf
cGF0aCkKLSAgaW1wb3J0IHN1cHByZXNzaW9ucwotCi0gIHJldHVybiBzdXBwcmVzc2lvbnMuUHJl
c3VibWl0Q2hlY2soaW5wdXRfYXBpLCBvdXRwdXRfYXBpKQotCi1kZWYgQ2hlY2tDaGFuZ2VPblVw
bG9hZChpbnB1dF9hcGksIG91dHB1dF9hcGkpOgotICByZXR1cm4gQ2hlY2tDaGFuZ2UoaW5wdXRf
YXBpLCBvdXRwdXRfYXBpKQotCi1kZWYgQ2hlY2tDaGFuZ2VPbkNvbW1pdChpbnB1dF9hcGksIG91
dHB1dF9hcGkpOgotICByZXR1cm4gQ2hlY2tDaGFuZ2UoaW5wdXRfYXBpLCBvdXRwdXRfYXBpKQot
Ci1kZWYgR2V0UHJlZmVycmVkVHJ5U2xhdmVzKCk6Ci0gICMgV2UgZG9uJ3QgaGF2ZSBhbnkgdHNh
biBzbGF2ZXMgeWV0LCBzbyB0aGVyZSdzIG5vIHVzZSBmb3IgdGhpcyBtZXRob2QuCi0gICMgV2hl
biB3ZSBoYXZlLCB0aGUgc2xhdmUgbmFtZShzKSBzaG91bGQgYmUgcHV0IGludG8gdGhpcyBsaXN0
LgotICByZXR1cm4gW10KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di90c2FuL3N1cHBy
ZXNzaW9ucy50eHQgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di90b29scy92YWxncmluZC1saWJ5dXYvdHNhbi9zdXBwcmVzc2lvbnMudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWQwYzhjY2M1NzM5N2I4ZTc1ZTRlOGJkYzJj
MDE0M2QyZWM1NmI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di90c2FuL3N1cHByZXNzaW9ucy50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw1ICswLDAgQEAKLSMgVGhpcyBmaWxlIGlzIHVzZWQgaW4gYWRkaXRpb24gdG8gdGhl
IG9uZSBhbHJlYWR5IG1haW50YWluZWQgaW4gQ2hyb21lLgotIyBJdCBhY3RzIGFzIGEgcGxhY2Ug
aG9sZGVyIGZvciBmdXR1cmUgYWRkaXRpb25zIGZvciB0aGlzIHByb2plY3QuCi0jIEl0IG11c3Qg
ZXhpc3QgZm9yIHRoZSBQeXRob24gd3JhcHBlciBzY3JpcHQgdG8gd29yayBwcm9wZXJseS4KLQot
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di90b29scy92YWxncmluZC1saWJ5dXYvdHNhbi9zdXBwcmVzc2lvbnNfbWFjLnR4
dCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di90c2FuL3N1cHByZXNzaW9uc19tYWMudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWQwYzhjY2M1NzM5N2I4ZTc1ZTRlOGJkYzJjMDE0M2Qy
ZWM1NmI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xz
L3ZhbGdyaW5kLWxpYnl1di90c2FuL3N1cHByZXNzaW9uc19tYWMudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNSArMCwwIEBACi0jIFRoaXMgZmlsZSBpcyB1c2VkIGluIGFkZGl0aW9uIHRvIHRoZSBv
bmUgYWxyZWFkeSBtYWludGFpbmVkIGluIENocm9tZS4KLSMgSXQgYWN0cyBhcyBhIHBsYWNlIGhv
bGRlciBmb3IgZnV0dXJlIGFkZGl0aW9ucyBmb3IgdGhpcyBwcm9qZWN0LgotIyBJdCBtdXN0IGV4
aXN0IGZvciB0aGUgUHl0aG9uIHdyYXBwZXIgc2NyaXB0IHRvIHdvcmsgcHJvcGVybHkuCi0KLQpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvdG9vbHMvdmFsZ3JpbmQtbGlieXV2L3RzYW4vc3VwcHJlc3Npb25zX3dpbjMyLnR4
dCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2
L3Rvb2xzL3ZhbGdyaW5kLWxpYnl1di90c2FuL3N1cHByZXNzaW9uc193aW4zMi50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhZDBjOGNjYzU3Mzk3YjhlNzVlNGU4YmRjMmMwMTQz
ZDJlYzU2YjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9v
bHMvdmFsZ3JpbmQtbGlieXV2L3RzYW4vc3VwcHJlc3Npb25zX3dpbjMyLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDUgKzAsMCBAQAotIyBUaGlzIGZpbGUgaXMgdXNlZCBpbiBhZGRpdGlvbiB0byB0
aGUgb25lIGFscmVhZHkgbWFpbnRhaW5lZCBpbiBDaHJvbWUuCi0jIEl0IGFjdHMgYXMgYSBwbGFj
ZSBob2xkZXIgZm9yIGZ1dHVyZSBhZGRpdGlvbnMgZm9yIHRoaXMgcHJvamVjdC4KLSMgSXQgbXVz
dCBleGlzdCBmb3IgdGhlIFB5dGhvbiB3cmFwcGVyIHNjcmlwdCB0byB3b3JrIHByb3Blcmx5Lgot
Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRf
cGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di9PV05FUlMgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvT1dORVJTCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFjYTA0NmQ0NWUzYTk5YjgwZjJhNTBjNGI4YjM1NTdlN2FhODAyNGMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di90b29sc19saWJ5dXYvT1dORVJTCkBAIC0wLDAgKzEgQEAKK2tqZWxsYW5kZXJAY2hy
b21pdW0ub3JnCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvYXV0b3JvbGxlci9yb2xsX2RlcHMucHkg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90
b29sc19saWJ5dXYvYXV0b3JvbGxlci9yb2xsX2RlcHMucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE2MGRiYmI4
NGZkYWZjMDBlMGE3OTBmMDg4YjJlYjU4YmZlOTczNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xp
Ynl1di9hdXRvcm9sbGVyL3JvbGxfZGVwcy5weQpAQCAtMCwwICsxLDQ4MSBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAyMDE3IFRoZSBMaWJZdXYgUHJvamVjdCBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlCisjIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQorIyB0cmVlLiBBbiBhZGRp
dGlvbmFsIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCisj
IGluIHRoZSBmaWxlIFBBVEVOVFMuIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1h
eQorIyBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3Vy
Y2UgdHJlZS4KKworIyBUaGlzIGlzIGEgbW9kaWZpZWQgY29weSBvZiB0aGUgc2NyaXB0IGluCisj
IGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9leHRlcm5hbC93ZWJydGMvKy9tYXN0
ZXIvdG9vbHMtd2VicnRjL2F1dG9yb2xsZXIvcm9sbF9kZXBzLnB5CisjIGN1c3RvbWl6ZWQgZm9y
IGxpYnl1di4KKworCisiIiJTY3JpcHQgdG8gYXV0b21hdGljYWxseSByb2xsIGRlcGVuZGVuY2ll
cyBpbiB0aGUgbGlieXV2IERFUFMgZmlsZS4iIiIKKworaW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQg
YmFzZTY0CitpbXBvcnQgY29sbGVjdGlvbnMKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3MKK2lt
cG9ydCByZQoraW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB1cmxsaWIKKwor
CisjIFNraXAgdGhlc2UgZGVwZW5kZW5jaWVzIChsaXN0IHdpdGhvdXQgc29sdXRpb24gbmFtZSBw
cmVmaXgpLgorRE9OVF9BVVRPUk9MTF9USEVTRSA9IFsKKyAgJ3NyYy90aGlyZF9wYXJ0eS9nZmxh
Z3Mvc3JjJywKK10KKworTElCWVVWX1VSTCA9ICdodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJj
ZS5jb20vbGlieXV2L2xpYnl1dicKK0NIUk9NSVVNX1NSQ19VUkwgPSAnaHR0cHM6Ly9jaHJvbWl1
bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYycKK0NIUk9NSVVNX0NPTU1JVF9URU1QTEFU
RSA9IENIUk9NSVVNX1NSQ19VUkwgKyAnLysvJXMnCitDSFJPTUlVTV9MT0dfVEVNUExBVEUgPSBD
SFJPTUlVTV9TUkNfVVJMICsgJy8rbG9nLyVzJworQ0hST01JVU1fRklMRV9URU1QTEFURSA9IENI
Uk9NSVVNX1NSQ19VUkwgKyAnLysvJXMvJXMnCisKK0NPTU1JVF9QT1NJVElPTl9SRSA9IHJlLmNv
bXBpbGUoJ15Dci1Db21taXQtUG9zaXRpb246IC4qIyhbMC05XSspLiokJykKK0NMQU5HX1JFVklT
SU9OX1JFID0gcmUuY29tcGlsZShyJ15DTEFOR19SRVZJU0lPTiA9IFwnKFxkKylcJyQnKQorUk9M
TF9CUkFOQ0hfTkFNRSA9ICdyb2xsX2Nocm9taXVtX3JldmlzaW9uJworCitTQ1JJUFRfRElSID0g
b3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCitDSEVDS09VVF9TUkNf
RElSID0gb3MucGF0aC5yZWFscGF0aChvcy5wYXRoLmpvaW4oU0NSSVBUX0RJUiwgb3MucGFyZGly
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBh
cmRpcikpCitDSEVDS09VVF9ST09UX0RJUiA9IG9zLnBhdGgucmVhbHBhdGgob3MucGF0aC5qb2lu
KENIRUNLT1VUX1NSQ19ESVIsIG9zLnBhcmRpcikpCisKK3N5cy5wYXRoLmFwcGVuZChvcy5wYXRo
LmpvaW4oQ0hFQ0tPVVRfU1JDX0RJUiwgJ2J1aWxkJykpCitpbXBvcnQgZmluZF9kZXBvdF90b29s
cworZmluZF9kZXBvdF90b29scy5hZGRfZGVwb3RfdG9vbHNfdG9fcGF0aCgpCitmcm9tIGdjbGll
bnQgaW1wb3J0IEdDbGllbnRLZXl3b3JkcworCitDTEFOR19VUERBVEVfU0NSSVBUX1VSTF9QQVRI
ID0gJ3Rvb2xzL2NsYW5nL3NjcmlwdHMvdXBkYXRlLnB5JworQ0xBTkdfVVBEQVRFX1NDUklQVF9M
T0NBTF9QQVRIID0gb3MucGF0aC5qb2luKENIRUNLT1VUX1NSQ19ESVIsICd0b29scycsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NsYW5nJywgJ3Njcmlw
dHMnLCAndXBkYXRlLnB5JykKKworRGVwc0VudHJ5ID0gY29sbGVjdGlvbnMubmFtZWR0dXBsZSgn
RGVwc0VudHJ5JywgJ3BhdGggdXJsIHJldmlzaW9uJykKK0NoYW5nZWREZXAgPSBjb2xsZWN0aW9u
cy5uYW1lZHR1cGxlKCdDaGFuZ2VkRGVwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdwYXRoIHVybCBjdXJyZW50X3JldiBuZXdfcmV2JykKKworY2xhc3MgUm9sbEVycm9y
KEV4Y2VwdGlvbik6CisgIHBhc3MKKworCitkZWYgUGFyc2VEZXBzRGljdChkZXBzX2NvbnRlbnQp
OgorICBsb2NhbF9zY29wZSA9IHt9CisgIHZhciA9IEdDbGllbnRLZXl3b3Jkcy5WYXJJbXBsKHt9
LCBsb2NhbF9zY29wZSkKKyAgZ2xvYmFsX3Njb3BlID0geworICAgICdWYXInOiB2YXIuTG9va3Vw
LAorICAgICdkZXBzX29zJzoge30sCisgIH0KKyAgZXhlYyhkZXBzX2NvbnRlbnQsIGdsb2JhbF9z
Y29wZSwgbG9jYWxfc2NvcGUpCisgIHJldHVybiBsb2NhbF9zY29wZQorCisKK2RlZiBQYXJzZUxv
Y2FsRGVwc0ZpbGUoZmlsZW5hbWUpOgorICB3aXRoIG9wZW4oZmlsZW5hbWUsICdyYicpIGFzIGY6
CisgICAgZGVwc19jb250ZW50ID0gZi5yZWFkKCkKKyAgcmV0dXJuIFBhcnNlRGVwc0RpY3QoZGVw
c19jb250ZW50KQorCisKK2RlZiBQYXJzZVJlbW90ZUNyRGVwc0ZpbGUocmV2aXNpb24pOgorICBk
ZXBzX2NvbnRlbnQgPSBSZWFkUmVtb3RlQ3JGaWxlKCdERVBTJywgcmV2aXNpb24pCisgIHJldHVy
biBQYXJzZURlcHNEaWN0KGRlcHNfY29udGVudCkKKworCitkZWYgUGFyc2VDb21taXRQb3NpdGlv
bihjb21taXRfbWVzc2FnZSk6CisgIGZvciBsaW5lIGluIHJldmVyc2VkKGNvbW1pdF9tZXNzYWdl
LnNwbGl0bGluZXMoKSk6CisgICAgbSA9IENPTU1JVF9QT1NJVElPTl9SRS5tYXRjaChsaW5lLnN0
cmlwKCkpCisgICAgaWYgbToKKyAgICAgIHJldHVybiBtLmdyb3VwKDEpCisgIGxvZ2dpbmcuZXJy
b3IoJ0ZhaWxlZCB0byBwYXJzZSBjb21taXQgcG9zaXRpb24gaWQgZnJvbTpcbiVzXG4nLAorICAg
ICAgICAgICAgICAgIGNvbW1pdF9tZXNzYWdlKQorICBzeXMuZXhpdCgtMSkKKworCitkZWYgX1J1
bkNvbW1hbmQoY29tbWFuZCwgd29ya2luZ19kaXI9Tm9uZSwgaWdub3JlX2V4aXRfY29kZT1GYWxz
ZSwKKyAgICAgICAgICAgICAgICBleHRyYV9lbnY9Tm9uZSk6CisgICIiIlJ1bnMgYSBjb21tYW5k
IGFuZCByZXR1cm5zIHRoZSBvdXRwdXQgZnJvbSB0aGF0IGNvbW1hbmQuCisKKyAgSWYgdGhlIGNv
bW1hbmQgZmFpbHMgKGV4aXQgY29kZSAhPSAwKSwgdGhlIGZ1bmN0aW9uIHdpbGwgZXhpdCB0aGUg
cHJvY2Vzcy4KKworICBSZXR1cm5zOgorICAgIEEgdHVwbGUgY29udGFpbmluZyB0aGUgc3Rkb3V0
IGFuZCBzdGRlcnIgb3V0cHV0cyBhcyBzdHJpbmdzLgorICAiIiIKKyAgd29ya2luZ19kaXIgPSB3
b3JraW5nX2RpciBvciBDSEVDS09VVF9TUkNfRElSCisgIGxvZ2dpbmcuZGVidWcoJ0NNRDogJXMg
Q1dEOiAlcycsICcgJy5qb2luKGNvbW1hbmQpLCB3b3JraW5nX2RpcikKKyAgZW52ID0gb3MuZW52
aXJvbi5jb3B5KCkKKyAgaWYgZXh0cmFfZW52OgorICAgIGFzc2VydCBhbGwodHlwZSh2YWx1ZSkg
PT0gc3RyIGZvciB2YWx1ZSBpbiBleHRyYV9lbnYudmFsdWVzKCkpCisgICAgbG9nZ2luZy5kZWJ1
ZygnZXh0cmEgZW52OiAlcycsIGV4dHJhX2VudikKKyAgICBlbnYudXBkYXRlKGV4dHJhX2VudikK
KyAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oY29tbWFuZCwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwK
KyAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSwgZW52PWVudiwK
KyAgICAgICAgICAgICAgICAgICAgICAgY3dkPXdvcmtpbmdfZGlyLCB1bml2ZXJzYWxfbmV3bGlu
ZXM9VHJ1ZSkKKyAgc3RkX291dHB1dCA9IHAuc3Rkb3V0LnJlYWQoKQorICBlcnJfb3V0cHV0ID0g
cC5zdGRlcnIucmVhZCgpCisgIHAud2FpdCgpCisgIHAuc3Rkb3V0LmNsb3NlKCkKKyAgcC5zdGRl
cnIuY2xvc2UoKQorICBpZiBub3QgaWdub3JlX2V4aXRfY29kZSBhbmQgcC5yZXR1cm5jb2RlICE9
IDA6CisgICAgbG9nZ2luZy5lcnJvcignQ29tbWFuZCBmYWlsZWQ6ICVzXG4nCisgICAgICAgICAg
ICAgICAgICAnc3Rkb3V0OlxuJXNcbicKKyAgICAgICAgICAgICAgICAgICdzdGRlcnI6XG4lc1xu
JywgJyAnLmpvaW4oY29tbWFuZCksIHN0ZF9vdXRwdXQsIGVycl9vdXRwdXQpCisgICAgc3lzLmV4
aXQocC5yZXR1cm5jb2RlKQorICByZXR1cm4gc3RkX291dHB1dCwgZXJyX291dHB1dAorCisKK2Rl
ZiBfR2V0QnJhbmNoZXMoKToKKyAgIiIiUmV0dXJucyBhIHR1cGxlIG9mIGFjdGl2ZSxicmFuY2hl
cy4KKworICBUaGUgJ2FjdGl2ZScgaXMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUg
YnJhbmNoIGFuZCAnYnJhbmNoZXMnIGlzIGEKKyAgbGlzdCBvZiBhbGwgYnJhbmNoZXMuCisgICIi
IgorICBsaW5lcyA9IF9SdW5Db21tYW5kKFsnZ2l0JywgJ2JyYW5jaCddKVswXS5zcGxpdCgnXG4n
KQorICBicmFuY2hlcyA9IFtdCisgIGFjdGl2ZSA9ICcnCisgIGZvciBsaW5lIGluIGxpbmVzOgor
ICAgIGlmICcqJyBpbiBsaW5lOgorICAgICAgIyBUaGUgYXNzdW1wdGlvbiBpcyB0aGF0IHRoZSBm
aXJzdCBjaGFyIHdpbGwgYWx3YXlzIGJlIHRoZSAnKicuCisgICAgICBhY3RpdmUgPSBsaW5lWzE6
XS5zdHJpcCgpCisgICAgICBicmFuY2hlcy5hcHBlbmQoYWN0aXZlKQorICAgIGVsc2U6CisgICAg
ICBicmFuY2ggPSBsaW5lLnN0cmlwKCkKKyAgICAgIGlmIGJyYW5jaDoKKyAgICAgICAgYnJhbmNo
ZXMuYXBwZW5kKGJyYW5jaCkKKyAgcmV0dXJuIGFjdGl2ZSwgYnJhbmNoZXMKKworCitkZWYgX1Jl
YWRHaXRpbGVzQ29udGVudCh1cmwpOgorICAjIERvd25sb2FkIGFuZCBkZWNvZGUgQkFTRTY0IGNv
bnRlbnQgdW50aWwKKyAgIyBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2dpdGlsZXMvaXNzdWVz
L2RldGFpbD9pZD03IGlzIGZpeGVkLgorICBiYXNlNjRfY29udGVudCA9IFJlYWRVcmxDb250ZW50
KHVybCArICc/Zm9ybWF0PVRFWFQnKQorICByZXR1cm4gYmFzZTY0LmI2NGRlY29kZShiYXNlNjRf
Y29udGVudFswXSkKKworCitkZWYgUmVhZFJlbW90ZUNyRmlsZShwYXRoX2JlbG93X3NyYywgcmV2
aXNpb24pOgorICAiIiJSZWFkcyBhIHJlbW90ZSBDaHJvbWl1bSBmaWxlIG9mIGEgc3BlY2lmaWMg
cmV2aXNpb24uIFJldHVybnMgYSBzdHJpbmcuIiIiCisgIHJldHVybiBfUmVhZEdpdGlsZXNDb250
ZW50KENIUk9NSVVNX0ZJTEVfVEVNUExBVEUgJSAocmV2aXNpb24sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9iZWxvd19zcmMpKQor
CisKK2RlZiBSZWFkUmVtb3RlQ3JDb21taXQocmV2aXNpb24pOgorICAiIiJSZWFkcyBhIHJlbW90
ZSBDaHJvbWl1bSBjb21taXQgbWVzc2FnZS4gUmV0dXJucyBhIHN0cmluZy4iIiIKKyAgcmV0dXJu
IF9SZWFkR2l0aWxlc0NvbnRlbnQoQ0hST01JVU1fQ09NTUlUX1RFTVBMQVRFICUgcmV2aXNpb24p
CisKKworZGVmIFJlYWRVcmxDb250ZW50KHVybCk6CisgICIiIkNvbm5lY3QgdG8gYSByZW1vdGUg
aG9zdCBhbmQgcmVhZCB0aGUgY29udGVudHMuIFJldHVybnMgYSBsaXN0IG9mIGxpbmVzLiIiIgor
ICBjb25uID0gdXJsbGliLnVybG9wZW4odXJsKQorICB0cnk6CisgICAgcmV0dXJuIGNvbm4ucmVh
ZGxpbmVzKCkKKyAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICBsb2dnaW5nLmV4Y2VwdGlvbign
RXJyb3IgY29ubmVjdGluZyB0byAlcy4gRXJyb3I6ICVzJywgdXJsLCBlKQorICAgIHJhaXNlCisg
IGZpbmFsbHk6CisgICAgY29ubi5jbG9zZSgpCisKKworZGVmIEdldE1hdGNoaW5nRGVwc0VudHJp
ZXMoZGVwc2VudHJ5X2RpY3QsIGRpcl9wYXRoKToKKyAgIiIiR2V0cyBhbGwgZGVwcyBlbnRyaWVz
IG1hdGNoaW5nIHRoZSBwcm92aWRlZCBwYXRoLgorCisgIFRoaXMgbGlzdCBtYXkgY29udGFpbiBt
b3JlIHRoYW4gb25lIERlcHNFbnRyeSBvYmplY3QuCisgIEV4YW1wbGU6IGRpcl9wYXRoPSdzcmMv
dGVzdGluZycgd291bGQgZ2l2ZSByZXN1bHRzIGNvbnRhaW5pbmcgYm90aAorICAnc3JjL3Rlc3Rp
bmcvZ3Rlc3QnIGFuZCAnc3JjL3Rlc3RpbmcvZ21vY2snIGRlcHMgZW50cmllcyBmb3IgQ2hyb21p
dW0ncyBERVBTLgorICBFeGFtcGxlIDI6IGRpcl9wYXRoPSdzcmMvYnVpbGQnIHNob3VsZCByZXR1
cm4gJ3NyYy9idWlsZCcgYnV0IG5vdAorICAnc3JjL2J1aWxkdG9vbHMnLgorCisgIFJldHVybnM6
CisgICAgQSBsaXN0IG9mIERlcHNFbnRyeSBvYmplY3RzLgorICAiIiIKKyAgcmVzdWx0ID0gW10K
KyAgZm9yIHBhdGgsIGRlcHNlbnRyeSBpbiBkZXBzZW50cnlfZGljdC5pdGVyaXRlbXMoKToKKyAg
ICBpZiBwYXRoID09IGRpcl9wYXRoOgorICAgICAgcmVzdWx0LmFwcGVuZChkZXBzZW50cnkpCisg
ICAgZWxzZToKKyAgICAgIHBhcnRzID0gcGF0aC5zcGxpdCgnLycpCisgICAgICBpZiBhbGwocGFy
dCA9PSBwYXJ0c1tpXQorICAgICAgICAgICAgIGZvciBpLCBwYXJ0IGluIGVudW1lcmF0ZShkaXJf
cGF0aC5zcGxpdCgnLycpKSk6CisgICAgICAgIHJlc3VsdC5hcHBlbmQoZGVwc2VudHJ5KQorICBy
ZXR1cm4gcmVzdWx0CisKKworZGVmIEJ1aWxkRGVwc2VudHJ5RGljdChkZXBzX2RpY3QpOgorICAi
IiJCdWlsZHMgYSBkaWN0IG9mIHBhdGhzIHRvIERlcHNFbnRyeSBvYmplY3RzIGZyb20gYSByYXcg
cGFyc2VkIGRlcHMgZGljdC4iIiIKKyAgcmVzdWx0ID0ge30KKyAgZGVmIEFkZERlcHNFbnRyaWVz
KGRlcHNfc3ViZGljdCk6CisgICAgZm9yIHBhdGgsIGRlcHNfdXJsIGluIGRlcHNfc3ViZGljdC5p
dGVyaXRlbXMoKToKKyAgICAgIGlmIG5vdCByZXN1bHQuaGFzX2tleShwYXRoKToKKyAgICAgICAg
dXJsLCByZXZpc2lvbiA9IGRlcHNfdXJsLnNwbGl0KCdAJykgaWYgZGVwc191cmwgZWxzZSAoTm9u
ZSwgTm9uZSkKKyAgICAgICAgcmVzdWx0W3BhdGhdID0gRGVwc0VudHJ5KHBhdGgsIHVybCwgcmV2
aXNpb24pCisKKyAgQWRkRGVwc0VudHJpZXMoZGVwc19kaWN0WydkZXBzJ10pCisgIGZvciBkZXBz
X29zIGluIFsnd2luJywgJ21hYycsICd1bml4JywgJ2FuZHJvaWQnLCAnaW9zJywgJ3VuaXgnXToK
KyAgICBBZGREZXBzRW50cmllcyhkZXBzX2RpY3QuZ2V0KCdkZXBzX29zJywge30pLmdldChkZXBz
X29zLCB7fSkpCisgIHJldHVybiByZXN1bHQKKworCitkZWYgQ2FsY3VsYXRlQ2hhbmdlZERlcHMo
bGlieXV2X2RlcHMsIG5ld19jcl9kZXBzKToKKyAgIiIiCisgIENhbGN1bGF0ZSBjaGFuZ2VkIGRl
cHMgZW50cmllcyBiYXNlZCBvbiBlbnRyaWVzIGRlZmluZWQgaW4gdGhlIGxpYnl1diBERVBTCisg
IGZpbGU6CisgICAgIC0gSWYgYSBzaGFyZWQgZGVwZW5kZW5jeSB3aXRoIHRoZSBDaHJvbWl1bSBE
RVBTIGZpbGU6IHJvbGwgaXQgdG8gdGhlIHNhbWUKKyAgICAgICByZXZpc2lvbiBhcyBDaHJvbWl1
bSAoaS5lLiBlbnRyeSBpbiB0aGUgbmV3X2NyX2RlcHMgZGljdCkKKyAgICAgLSBJZiBpdCdzIGEg
Q2hyb21pdW0gc3ViLWRpcmVjdG9yeSwgcm9sbCBpdCB0byB0aGUgSEVBRCByZXZpc2lvbiAobm90
aWNlCisgICAgICAgdGhpcyBtZWFucyBpdCBtYXkgYmUgYWhlYWQgb2YgdGhlIGNocm9taXVtX3Jl
dmlzaW9uLCBidXQgZ2VuZXJhbGx5IHRoZXNlCisgICAgICAgc2hvdWxkIGJlIGNsb3NlKS4KKyAg
ICAgLSBJZiBpdCdzIGFub3RoZXIgREVQUyBlbnRyeSAobm90IHNoYXJlZCB3aXRoIENocm9taXVt
KSwgcm9sbCBpdCB0byBIRUFECisgICAgICAgdW5sZXNzIGl0J3MgY29uZmlndXJlZCB0byBiZSBz
a2lwcGVkLgorCisgIFJldHVybnM6CisgICAgQSBsaXN0IG9mIENoYW5nZWREZXAgb2JqZWN0cyBy
ZXByZXNlbnRpbmcgdGhlIGNoYW5nZWQgZGVwcy4KKyAgIiIiCisgIHJlc3VsdCA9IFtdCisgIGxp
Ynl1dl9lbnRyaWVzID0gQnVpbGREZXBzZW50cnlEaWN0KGxpYnl1dl9kZXBzKQorICBuZXdfY3Jf
ZW50cmllcyA9IEJ1aWxkRGVwc2VudHJ5RGljdChuZXdfY3JfZGVwcykKKyAgZm9yIHBhdGgsIGxp
Ynl1dl9kZXBzX2VudHJ5IGluIGxpYnl1dl9lbnRyaWVzLml0ZXJpdGVtcygpOgorICAgIGlmIHBh
dGggaW4gRE9OVF9BVVRPUk9MTF9USEVTRToKKyAgICAgIGNvbnRpbnVlCisgICAgY3JfZGVwc19l
bnRyeSA9IG5ld19jcl9lbnRyaWVzLmdldChwYXRoKQorICAgIGlmIGNyX2RlcHNfZW50cnk6Cisg
ICAgICAjIFVzZSB0aGUgcmV2aXNpb24gZnJvbSBDaHJvbWl1bSdzIERFUFMgZmlsZS4KKyAgICAg
IG5ld19yZXYgPSBjcl9kZXBzX2VudHJ5LnJldmlzaW9uCisgICAgICBhc3NlcnQgbGlieXV2X2Rl
cHNfZW50cnkudXJsID09IGNyX2RlcHNfZW50cnkudXJsLCAoCisgICAgICAgICdMaWJ5dXYgREVQ
UyBlbnRyeSAlcyBoYXMgYSBkaWZmZXJlbnQgVVJMICglcykgdGhhbiBDaHJvbWl1bSAoJXMpLicg
JQorICAgICAgICAocGF0aCwgbGlieXV2X2RlcHNfZW50cnkudXJsLCBjcl9kZXBzX2VudHJ5LnVy
bCkpCisgICAgZWxzZToKKyAgICAgICMgVXNlIHRoZSBIRUFEIG9mIHRoZSBkZXBzIHJlcG8uCisg
ICAgICBzdGRvdXQsIF8gPSBfUnVuQ29tbWFuZChbJ2dpdCcsICdscy1yZW1vdGUnLCBsaWJ5dXZf
ZGVwc19lbnRyeS51cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hFQUQnXSkK
KyAgICAgIG5ld19yZXYgPSBzdGRvdXQuc3RyaXAoKS5zcGxpdCgnXHQnKVswXQorCisgICAgIyBD
aGVjayBpZiBhbiB1cGRhdGUgaXMgbmVjZXNzYXJ5LgorICAgIGlmIGxpYnl1dl9kZXBzX2VudHJ5
LnJldmlzaW9uICE9IG5ld19yZXY6CisgICAgICBsb2dnaW5nLmRlYnVnKCdSb2xsIGRlcGVuZGVu
Y3kgJXMgdG8gJXMnLCBwYXRoLCBuZXdfcmV2KQorICAgICAgcmVzdWx0LmFwcGVuZChDaGFuZ2Vk
RGVwKHBhdGgsIGxpYnl1dl9kZXBzX2VudHJ5LnVybCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ5dXZfZGVwc19lbnRyeS5yZXZpc2lvbiwgbmV3X3JldikpCisgIHJldHVybiBz
b3J0ZWQocmVzdWx0KQorCisKK2RlZiBDYWxjdWxhdGVDaGFuZ2VkQ2xhbmcobmV3X2NyX3Jldik6
CisgIGRlZiBHZXRDbGFuZ1JldihsaW5lcyk6CisgICAgZm9yIGxpbmUgaW4gbGluZXM6CisgICAg
ICBtYXRjaCA9IENMQU5HX1JFVklTSU9OX1JFLm1hdGNoKGxpbmUpCisgICAgICBpZiBtYXRjaDoK
KyAgICAgICAgcmV0dXJuIG1hdGNoLmdyb3VwKDEpCisgICAgcmFpc2UgUm9sbEVycm9yKCdDb3Vs
ZCBub3QgcGFyc2UgQ2xhbmcgcmV2aXNpb24hJykKKworICB3aXRoIG9wZW4oQ0xBTkdfVVBEQVRF
X1NDUklQVF9MT0NBTF9QQVRILCAncmInKSBhcyBmOgorICAgIGN1cnJlbnRfbGluZXMgPSBmLnJl
YWRsaW5lcygpCisgIGN1cnJlbnRfcmV2ID0gR2V0Q2xhbmdSZXYoY3VycmVudF9saW5lcykKKwor
ICBuZXdfY2xhbmdfdXBkYXRlX3B5ID0gUmVhZFJlbW90ZUNyRmlsZShDTEFOR19VUERBVEVfU0NS
SVBUX1VSTF9QQVRILAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmV3X2NyX3Jldikuc3BsaXRsaW5lcygpCisgIG5ld19yZXYgPSBHZXRDbGFuZ1JldihuZXdf
Y2xhbmdfdXBkYXRlX3B5KQorICByZXR1cm4gQ2hhbmdlZERlcChDTEFOR19VUERBVEVfU0NSSVBU
X0xPQ0FMX1BBVEgsIE5vbmUsIGN1cnJlbnRfcmV2LCBuZXdfcmV2KQorCisKK2RlZiBHZW5lcmF0
ZUNvbW1pdE1lc3NhZ2UoY3VycmVudF9jcl9yZXYsIG5ld19jcl9yZXYsIGN1cnJlbnRfY29tbWl0
X3BvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2NvbW1pdF9wb3MsIGNoYW5nZWRf
ZGVwc19saXN0LCBjbGFuZ19jaGFuZ2UpOgorICBjdXJyZW50X2NyX3JldiA9IGN1cnJlbnRfY3Jf
cmV2WzA6MTBdCisgIG5ld19jcl9yZXYgPSBuZXdfY3JfcmV2WzA6MTBdCisgIHJldl9pbnRlcnZh
bCA9ICclcy4uJXMnICUgKGN1cnJlbnRfY3JfcmV2LCBuZXdfY3JfcmV2KQorICBnaXRfbnVtYmVy
X2ludGVydmFsID0gJyVzOiVzJyAlIChjdXJyZW50X2NvbW1pdF9wb3MsIG5ld19jb21taXRfcG9z
KQorCisgIGNvbW1pdF9tc2cgPSBbJ1JvbGwgY2hyb21pdW1fcmV2aXNpb24gJXMgKCVzKVxuJyAl
IChyZXZfaW50ZXJ2YWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2l0X251bWJlcl9pbnRlcnZhbCldCisgIGNvbW1pdF9tc2cuYXBwZW5kKCdD
aGFuZ2UgbG9nOiAlcycgJSAoQ0hST01JVU1fTE9HX1RFTVBMQVRFICUgcmV2X2ludGVydmFsKSkK
KyAgY29tbWl0X21zZy5hcHBlbmQoJ0Z1bGwgZGlmZjogJXNcbicgJSAoQ0hST01JVU1fQ09NTUlU
X1RFTVBMQVRFICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2
X2ludGVydmFsKSkKKyAgIyBUQlIgZmllbGQgd2lsbCBiZSBlbXB0eSB1bmxlc3MgaW4gc29tZSBj
dXN0b20gY2FzZXMsIHdoZXJlIHNvbWUgZW5naW5lZXJzCisgICMgYXJlIGFkZGVkLgorICB0YnJf
YXV0aG9ycyA9ICcnCisgIGlmIGNoYW5nZWRfZGVwc19saXN0OgorICAgIGNvbW1pdF9tc2cuYXBw
ZW5kKCdDaGFuZ2VkIGRlcGVuZGVuY2llczonKQorCisgICAgZm9yIGMgaW4gY2hhbmdlZF9kZXBz
X2xpc3Q6CisgICAgICBjb21taXRfbXNnLmFwcGVuZCgnKiAlczogJXMvK2xvZy8lcy4uJXMnICUg
KGMucGF0aCwgYy51cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGMuY3VycmVudF9yZXZbMDoxMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGMubmV3X3JldlswOjEwXSkpCisgICAgY2hhbmdlX3Vy
bCA9IENIUk9NSVVNX0ZJTEVfVEVNUExBVEUgJSAocmV2X2ludGVydmFsLCAnREVQUycpCisgICAg
Y29tbWl0X21zZy5hcHBlbmQoJ0RFUFMgZGlmZjogJXNcbicgJSBjaGFuZ2VfdXJsKQorICBlbHNl
OgorICAgIGNvbW1pdF9tc2cuYXBwZW5kKCdObyBkZXBlbmRlbmNpZXMgY2hhbmdlZC4nKQorCisg
IGlmIGNsYW5nX2NoYW5nZS5jdXJyZW50X3JldiAhPSBjbGFuZ19jaGFuZ2UubmV3X3JldjoKKyAg
ICBjb21taXRfbXNnLmFwcGVuZCgnQ2xhbmcgdmVyc2lvbiBjaGFuZ2VkICVzOiVzJyAlCisgICAg
ICAgICAgICAgICAgICAgICAgKGNsYW5nX2NoYW5nZS5jdXJyZW50X3JldiwgY2xhbmdfY2hhbmdl
Lm5ld19yZXYpKQorICAgIGNoYW5nZV91cmwgPSBDSFJPTUlVTV9GSUxFX1RFTVBMQVRFICUgKHJl
dl9pbnRlcnZhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBD
TEFOR19VUERBVEVfU0NSSVBUX1VSTF9QQVRIKQorICAgIGNvbW1pdF9tc2cuYXBwZW5kKCdEZXRh
aWxzOiAlc1xuJyAlIGNoYW5nZV91cmwpCisgIGVsc2U6CisgICAgY29tbWl0X21zZy5hcHBlbmQo
J05vIHVwZGF0ZSB0byBDbGFuZy5cbicpCisKKyAgY29tbWl0X21zZy5hcHBlbmQoJ1RCUj0lcycg
JSB0YnJfYXV0aG9ycykKKyAgY29tbWl0X21zZy5hcHBlbmQoJ0JVRz1Ob25lJykKKyAgcmV0dXJu
ICdcbicuam9pbihjb21taXRfbXNnKQorCisKK2RlZiBVcGRhdGVEZXBzRmlsZShkZXBzX2ZpbGVu
YW1lLCBvbGRfY3JfcmV2aXNpb24sIG5ld19jcl9yZXZpc2lvbiwKKyAgICAgICAgICAgICAgICAg
ICBjaGFuZ2VkX2RlcHMpOgorICAiIiJVcGRhdGUgdGhlIERFUFMgZmlsZSB3aXRoIHRoZSBuZXcg
cmV2aXNpb24uIiIiCisKKyAgIyBVcGRhdGUgdGhlIGNocm9taXVtX3JldmlzaW9uIHZhcmlhYmxl
LgorICB3aXRoIG9wZW4oZGVwc19maWxlbmFtZSwgJ3JiJykgYXMgZGVwc19maWxlOgorICAgIGRl
cHNfY29udGVudCA9IGRlcHNfZmlsZS5yZWFkKCkKKyAgZGVwc19jb250ZW50ID0gZGVwc19jb250
ZW50LnJlcGxhY2Uob2xkX2NyX3JldmlzaW9uLCBuZXdfY3JfcmV2aXNpb24pCisgIHdpdGggb3Bl
bihkZXBzX2ZpbGVuYW1lLCAnd2InKSBhcyBkZXBzX2ZpbGU6CisgICAgZGVwc19maWxlLndyaXRl
KGRlcHNfY29udGVudCkKKworICAjIFVwZGF0ZSBlYWNoIGluZGl2aWR1YWwgREVQUyBlbnRyeS4K
KyAgZm9yIGRlcCBpbiBjaGFuZ2VkX2RlcHM6CisgICAgbG9jYWxfZGVwX2RpciA9IG9zLnBhdGgu
am9pbihDSEVDS09VVF9ST09UX0RJUiwgZGVwLnBhdGgpCisgICAgaWYgbm90IG9zLnBhdGguaXNk
aXIobG9jYWxfZGVwX2Rpcik6CisgICAgICByYWlzZSBSb2xsRXJyb3IoCisgICAgICAgICAgJ0Nh
bm5vdCBmaW5kIGxvY2FsIGRpcmVjdG9yeSAlcy4gRWl0aGVyIHJ1blxuJworICAgICAgICAgICdn
Y2xpZW50IHN5bmMgLS1kZXBzPWFsbFxuJworICAgICAgICAgICdvciBtYWtlIHN1cmUgdGhlIC5n
Y2xpZW50IGZpbGUgZm9yIHlvdXIgc29sdXRpb24gY29udGFpbnMgYWxsICcKKyAgICAgICAgICAn
cGxhdGZvcm1zIGluIHRoZSB0YXJnZXRfb3MgbGlzdCwgaS5lLlxuJworICAgICAgICAgICd0YXJn
ZXRfb3MgPSBbImFuZHJvaWQiLCAidW5peCIsICJtYWMiLCAiaW9zIiwgIndpbiJdO1xuJworICAg
ICAgICAgICdUaGVuIHJ1biAiZ2NsaWVudCBzeW5jIiBhZ2Fpbi4nICUgbG9jYWxfZGVwX2RpcikK
KyAgICBfLCBzdGRlcnIgPSBfUnVuQ29tbWFuZCgKKyAgICAgIFsncm9sbC1kZXAtc3ZuJywgJy0t
bm8tdmVyaWZ5LXJldmlzaW9uJywgZGVwLnBhdGgsIGRlcC5uZXdfcmV2XSwKKyAgICAgIHdvcmtp
bmdfZGlyPUNIRUNLT1VUX1NSQ19ESVIsIGlnbm9yZV9leGl0X2NvZGU9VHJ1ZSkKKyAgICBpZiBz
dGRlcnI6CisgICAgICBsb2dnaW5nLndhcm5pbmcoJ3JvbGwtZGVwLXN2bjogJXMnLCBzdGRlcnIp
CisKKworZGVmIF9Jc1RyZWVDbGVhbigpOgorICBzdGRvdXQsIF8gPSBfUnVuQ29tbWFuZChbJ2dp
dCcsICdzdGF0dXMnLCAnLS1wb3JjZWxhaW4nXSkKKyAgaWYgbGVuKHN0ZG91dCkgPT0gMDoKKyAg
ICByZXR1cm4gVHJ1ZQorCisgIGxvZ2dpbmcuZXJyb3IoJ0RpcnR5L3VudmVyc2lvbmVkIGZpbGVz
OlxuJXMnLCBzdGRvdXQpCisgIHJldHVybiBGYWxzZQorCisKK2RlZiBfRW5zdXJlVXBkYXRlZE1h
c3RlckJyYW5jaChkcnlfcnVuKToKKyAgY3VycmVudF9icmFuY2ggPSBfUnVuQ29tbWFuZCgKKyAg
ICAgIFsnZ2l0JywgJ3Jldi1wYXJzZScsICctLWFiYnJldi1yZWYnLCAnSEVBRCddKVswXS5zcGxp
dGxpbmVzKClbMF0KKyAgaWYgY3VycmVudF9icmFuY2ggIT0gJ21hc3Rlcic6CisgICAgbG9nZ2lu
Zy5lcnJvcignUGxlYXNlIGNoZWNrb3V0IHRoZSBtYXN0ZXIgYnJhbmNoIGFuZCByZS1ydW4gdGhp
cyBzY3JpcHQuJykKKyAgICBpZiBub3QgZHJ5X3J1bjoKKyAgICAgIHN5cy5leGl0KC0xKQorCisg
IGxvZ2dpbmcuaW5mbygnVXBkYXRpbmcgbWFzdGVyIGJyYW5jaC4uLicpCisgIF9SdW5Db21tYW5k
KFsnZ2l0JywgJ3B1bGwnXSkKKworCitkZWYgX0NyZWF0ZVJvbGxCcmFuY2goZHJ5X3J1bik6Cisg
IGxvZ2dpbmcuaW5mbygnQ3JlYXRpbmcgcm9sbCBicmFuY2g6ICVzJywgUk9MTF9CUkFOQ0hfTkFN
RSkKKyAgaWYgbm90IGRyeV9ydW46CisgICAgX1J1bkNvbW1hbmQoWydnaXQnLCAnY2hlY2tvdXQn
LCAnLWInLCBST0xMX0JSQU5DSF9OQU1FXSkKKworCitkZWYgX1JlbW92ZVByZXZpb3VzUm9sbEJy
YW5jaChkcnlfcnVuKToKKyAgYWN0aXZlX2JyYW5jaCwgYnJhbmNoZXMgPSBfR2V0QnJhbmNoZXMo
KQorICBpZiBhY3RpdmVfYnJhbmNoID09IFJPTExfQlJBTkNIX05BTUU6CisgICAgYWN0aXZlX2Jy
YW5jaCA9ICdtYXN0ZXInCisgIGlmIFJPTExfQlJBTkNIX05BTUUgaW4gYnJhbmNoZXM6CisgICAg
bG9nZ2luZy5pbmZvKCdSZW1vdmluZyBwcmV2aW91cyByb2xsIGJyYW5jaCAoJXMpJywgUk9MTF9C
UkFOQ0hfTkFNRSkKKyAgICBpZiBub3QgZHJ5X3J1bjoKKyAgICAgIF9SdW5Db21tYW5kKFsnZ2l0
JywgJ2NoZWNrb3V0JywgYWN0aXZlX2JyYW5jaF0pCisgICAgICBfUnVuQ29tbWFuZChbJ2dpdCcs
ICdicmFuY2gnLCAnLUQnLCBST0xMX0JSQU5DSF9OQU1FXSkKKworCitkZWYgX0xvY2FsQ29tbWl0
KGNvbW1pdF9tc2csIGRyeV9ydW4pOgorICBsb2dnaW5nLmluZm8oJ0NvbW1pdHRpbmcgY2hhbmdl
cyBsb2NhbGx5LicpCisgIGlmIG5vdCBkcnlfcnVuOgorICAgIF9SdW5Db21tYW5kKFsnZ2l0Jywg
J2FkZCcsICctLXVwZGF0ZScsICcuJ10pCisgICAgX1J1bkNvbW1hbmQoWydnaXQnLCAnY29tbWl0
JywgJy1tJywgY29tbWl0X21zZ10pCisKKworZGVmIF9VcGxvYWRDTChkcnlfcnVuLCByaWV0dmVs
ZF9lbWFpbD1Ob25lKToKKyAgbG9nZ2luZy5pbmZvKCdVcGxvYWRpbmcgQ0wuLi4nKQorICBpZiBu
b3QgZHJ5X3J1bjoKKyAgICBjbWQgPSBbJ2dpdCcsICdjbCcsICd1cGxvYWQnLCAnLWYnXQorICAg
IGlmIHJpZXR2ZWxkX2VtYWlsOgorICAgICAgY21kLmFwcGVuZCgnLS1lbWFpbD0lcycgJSByaWV0
dmVsZF9lbWFpbCkKKyAgICBfUnVuQ29tbWFuZChjbWQsIGV4dHJhX2Vudj17J0VESVRPUic6ICd0
cnVlJ30pCisKKworZGVmIF9TZW5kVG9DUShkcnlfcnVuLCBza2lwX2NxKToKKyAgbG9nZ2luZy5p
bmZvKCdTZW5kaW5nIHRoZSBDTCB0byB0aGUgQ1EuLi4nKQorICBpZiBub3QgZHJ5X3J1biBhbmQg
bm90IHNraXBfY3E6CisgICAgX1J1bkNvbW1hbmQoWydnaXQnLCAnY2wnLCAnc2V0X2NvbW1pdCdd
KQorICAgIGxvZ2dpbmcuaW5mbygnU2VudCB0aGUgQ0wgdG8gdGhlIENRLicpCisKKworZGVmIG1h
aW4oKToKKyAgcCA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKKyAgcC5hZGRfYXJndW1lbnQo
Jy0tY2xlYW4nLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAg
ICAgICAgICBoZWxwPSdSZW1vdmVzIGFueSBwcmV2aW91cyBsb2NhbCByb2xsIGJyYW5jaC4nKQor
ICBwLmFkZF9hcmd1bWVudCgnLXInLCAnLS1yZXZpc2lvbicsCisgICAgICAgICAgICAgICAgIGhl
bHA9KCdDaHJvbWl1bSBHaXQgcmV2aXNpb24gdG8gcm9sbCB0by4gRGVmYXVsdHMgdG8gdGhlICcK
KyAgICAgICAgICAgICAgICAgICAgICAgJ0Nocm9taXVtIEhFQUQgcmV2aXNpb24gaWYgb21pdHRl
ZC4nKSkKKyAgcC5hZGRfYXJndW1lbnQoJy11JywgJy0tcmlldHZlbGQtZW1haWwnLAorICAgICAg
ICAgICAgICAgICBoZWxwPSgnRS1tYWlsIGFkZHJlc3MgdG8gdXNlIGZvciBjcmVhdGluZyB0aGUg
Q0wgYXQgUmlldHZlbGQnCisgICAgICAgICAgICAgICAgICAgICAgICdJZiBvbWl0dGVkIGEgcHJl
dmlvdXNseSBjYWNoZWQgb25lIHdpbGwgYmUgdXNlZCBvciBhbiAnCisgICAgICAgICAgICAgICAg
ICAgICAgICdlcnJvciB3aWxsIGJlIHRocm93biBkdXJpbmcgdXBsb2FkLicpKQorICBwLmFkZF9h
cmd1bWVudCgnLS1kcnktcnVuJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwK
KyAgICAgICAgICAgICAgICAgaGVscD0oJ0NhbGN1bGF0ZSBjaGFuZ2VzIGFuZCBtb2RpZnkgREVQ
UywgYnV0IGRvblwndCBjcmVhdGUgJworICAgICAgICAgICAgICAgICAgICAgICAnYW55IGxvY2Fs
IGJyYW5jaCwgY29tbWl0LCB1cGxvYWQgQ0wgb3Igc2VuZCBhbnkgJworICAgICAgICAgICAgICAg
ICAgICAgICAndHJ5am9icy4nKSkKKyAgcC5hZGRfYXJndW1lbnQoJy1pJywgJy0taWdub3JlLXVu
Y2xlYW4td29ya2RpcicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgIGRl
ZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgIGhlbHA9KCdJZ25vcmUgaWYgdGhlIGN1cnJl
bnQgYnJhbmNoIGlzIG5vdCBtYXN0ZXIgb3IgaWYgdGhlcmUgJworICAgICAgICAgICAgICAgICAg
ICAgICAnYXJlIHVuY29tbWl0dGVkIGNoYW5nZXMgKGRlZmF1bHQ6ICUoZGVmYXVsdClzKS4nKSkK
KyAgcC5hZGRfYXJndW1lbnQoJy0tc2tpcC1jcScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1
bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgIGhlbHA9J1NraXAgc2VuZGluZyB0aGUgQ0wgdG8g
dGhlIENRIChkZWZhdWx0OiAlKGRlZmF1bHQpcyknKQorICBwLmFkZF9hcmd1bWVudCgnLXYnLCAn
LS12ZXJib3NlJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAg
ICAgICAgICAgaGVscD0nQmUgZXh0cmEgdmVyYm9zZSBpbiBwcmludGluZyBvZiBsb2cgbWVzc2Fn
ZXMuJykKKyAgb3B0cyA9IHAucGFyc2VfYXJncygpCisKKyAgaWYgb3B0cy52ZXJib3NlOgorICAg
IGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5ERUJVRykKKyAgZWxzZToKKyAgICBs
b2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuSU5GTykKKworICBpZiBub3Qgb3B0cy5p
Z25vcmVfdW5jbGVhbl93b3JrZGlyIGFuZCBub3QgX0lzVHJlZUNsZWFuKCk6CisgICAgbG9nZ2lu
Zy5lcnJvcignUGxlYXNlIGNsZWFuIHlvdXIgbG9jYWwgY2hlY2tvdXQgZmlyc3QuJykKKyAgICBy
ZXR1cm4gMQorCisgIGlmIG9wdHMuY2xlYW46CisgICAgX1JlbW92ZVByZXZpb3VzUm9sbEJyYW5j
aChvcHRzLmRyeV9ydW4pCisKKyAgaWYgbm90IG9wdHMuaWdub3JlX3VuY2xlYW5fd29ya2RpcjoK
KyAgICBfRW5zdXJlVXBkYXRlZE1hc3RlckJyYW5jaChvcHRzLmRyeV9ydW4pCisKKyAgbmV3X2Ny
X3JldiA9IG9wdHMucmV2aXNpb24KKyAgaWYgbm90IG5ld19jcl9yZXY6CisgICAgc3Rkb3V0LCBf
ID0gX1J1bkNvbW1hbmQoWydnaXQnLCAnbHMtcmVtb3RlJywgQ0hST01JVU1fU1JDX1VSTCwgJ0hF
QUQnXSkKKyAgICBoZWFkX3JldiA9IHN0ZG91dC5zdHJpcCgpLnNwbGl0KCdcdCcpWzBdCisgICAg
bG9nZ2luZy5pbmZvKCdObyByZXZpc2lvbiBzcGVjaWZpZWQuIFVzaW5nIEhFQUQ6ICVzJywgaGVh
ZF9yZXYpCisgICAgbmV3X2NyX3JldiA9IGhlYWRfcmV2CisKKyAgZGVwc19maWxlbmFtZSA9IG9z
LnBhdGguam9pbihDSEVDS09VVF9TUkNfRElSLCAnREVQUycpCisgIGxpYnl1dl9kZXBzID0gUGFy
c2VMb2NhbERlcHNGaWxlKGRlcHNfZmlsZW5hbWUpCisgIGN1cnJlbnRfY3JfcmV2ID0gbGlieXV2
X2RlcHNbJ3ZhcnMnXVsnY2hyb21pdW1fcmV2aXNpb24nXQorCisgIGN1cnJlbnRfY29tbWl0X3Bv
cyA9IFBhcnNlQ29tbWl0UG9zaXRpb24oUmVhZFJlbW90ZUNyQ29tbWl0KGN1cnJlbnRfY3JfcmV2
KSkKKyAgbmV3X2NvbW1pdF9wb3MgPSBQYXJzZUNvbW1pdFBvc2l0aW9uKFJlYWRSZW1vdGVDckNv
bW1pdChuZXdfY3JfcmV2KSkKKworICBuZXdfY3JfZGVwcyA9IFBhcnNlUmVtb3RlQ3JEZXBzRmls
ZShuZXdfY3JfcmV2KQorICBjaGFuZ2VkX2RlcHMgPSBDYWxjdWxhdGVDaGFuZ2VkRGVwcyhsaWJ5
dXZfZGVwcywgbmV3X2NyX2RlcHMpCisgIGNsYW5nX2NoYW5nZSA9IENhbGN1bGF0ZUNoYW5nZWRD
bGFuZyhuZXdfY3JfcmV2KQorICBjb21taXRfbXNnID0gR2VuZXJhdGVDb21taXRNZXNzYWdlKGN1
cnJlbnRfY3JfcmV2LCBuZXdfY3JfcmV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGN1cnJlbnRfY29tbWl0X3BvcywgbmV3X2NvbW1pdF9wb3MsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZF9kZXBzLCBjbGFuZ19jaGFuZ2UpCisgIGxv
Z2dpbmcuZGVidWcoJ0NvbW1pdCBtZXNzYWdlOlxuJXMnLCBjb21taXRfbXNnKQorCisgIF9DcmVh
dGVSb2xsQnJhbmNoKG9wdHMuZHJ5X3J1bikKKyAgVXBkYXRlRGVwc0ZpbGUoZGVwc19maWxlbmFt
ZSwgY3VycmVudF9jcl9yZXYsIG5ld19jcl9yZXYsIGNoYW5nZWRfZGVwcykKKyAgX0xvY2FsQ29t
bWl0KGNvbW1pdF9tc2csIG9wdHMuZHJ5X3J1bikKKyAgX1VwbG9hZENMKG9wdHMuZHJ5X3J1biwg
b3B0cy5yaWV0dmVsZF9lbWFpbCkKKyAgX1NlbmRUb0NRKG9wdHMuZHJ5X3J1biwgb3B0cy5za2lw
X2NxKQorICByZXR1cm4gMAorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgIHN5cy5l
eGl0KG1haW4oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di9hdXRvcm9sbGVyL3VuaXR0ZXN0cy9y
b2xsX2RlcHNfdGVzdC5weSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di9hdXRvcm9sbGVyL3VuaXR0ZXN0cy9yb2xsX2Rl
cHNfdGVzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMjVlNDZlMTc4M2Q1NTgyNDQ1ODQ5MGIzOWQ3Mzc1MGY1
OTJhMTFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L2F1dG9yb2xsZXIvdW5pdHRlc3Rz
L3JvbGxfZGVwc190ZXN0LnB5CkBAIC0wLDAgKzEsMTQzIEBACisjIS91c3IvYmluL2VudiBweXRo
b24KKyMgQ29weXJpZ2h0IDIwMTcgVGhlIExpYll1diBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjCisjIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5
IGEgQlNELXN0eWxlIGxpY2Vuc2UKKyMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlCisjIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50
ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKKyMgaW4gdGhlIGZp
bGUgUEFURU5UUy4gQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5CisjIGJlIGZv
dW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgor
CitpbXBvcnQgZ2xvYgoraW1wb3J0IG9zCitpbXBvcnQgc2h1dGlsCitpbXBvcnQgc3lzCitpbXBv
cnQgdGVtcGZpbGUKK2ltcG9ydCB1bml0dGVzdAorCisKK1NDUklQVF9ESVIgPSBvcy5wYXRoLmRp
cm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkKK1BBUkVOVF9ESVIgPSBvcy5wYXRoLmpv
aW4oU0NSSVBUX0RJUiwgb3MucGFyZGlyKQorc3lzLnBhdGguYXBwZW5kKFBBUkVOVF9ESVIpCitp
bXBvcnQgcm9sbF9kZXBzCitmcm9tIHJvbGxfZGVwcyBpbXBvcnQgQ2FsY3VsYXRlQ2hhbmdlZERl
cHMsIEdldE1hdGNoaW5nRGVwc0VudHJpZXMsIFwKKyAgUGFyc2VEZXBzRGljdCwgUGFyc2VMb2Nh
bERlcHNGaWxlLCBVcGRhdGVEZXBzRmlsZQorCisKK1RFU1RfREFUQV9WQVJTID0geworICAnY2hy
b21pdW1fZ2l0JzogJ2h0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbScsCisgICdjaHJv
bWl1bV9yZXZpc2lvbic6ICcxYjljMDk4YTA4ZTQwMTE0ZTQ0YjZjMWVjMzNkZGY5NWM0MGI5MDFk
JywKK30KKworREVQU19FTlRSSUVTID0geworICAnc3JjL2J1aWxkJzogJ2h0dHBzOi8vYnVpbGQu
Y29tJywKKyAgJ3NyYy9idWlsZHRvb2xzJzogJ2h0dHBzOi8vYnVpbGR0b29scy5jb20nLAorICAn
c3JjL3Rlc3RpbmcvZ3Rlc3QnOiAnaHR0cHM6Ly9ndGVzdC5jb20nLAorICAnc3JjL3Rlc3Rpbmcv
Z21vY2snOiAnaHR0cHM6Ly9nbW9jay5jb20nLAorfQorCitCVUlMRF9PTERfUkVWID0gJzUyZjdh
ZmVjYTk5MWQ5NmQ2OGNmMDUwN2UyMGRiZGQ1Yjg0NTY5MWYnCitCVUlMRF9ORVdfUkVWID0gJ0hF
QUQnCitCVUlMRFRPT0xTX09MRF9SRVYgPSAnNjRlMzhmMGNlYmRkZTI3YWEwY2ZiNDA1ZjMzMDA2
MzU4MmY5YWM3NicKK0JVSUxEVE9PTFNfTkVXX1JFViA9ICc1NWFkNjI2YjA4ZWY5NzFmZDgyYTYy
YjdhYmIzMjUzNTk1NDI5NTJiJworCisKK2NsYXNzIFRlc3RFcnJvcihFeGNlcHRpb24pOgorICBw
YXNzCisKKworY2xhc3MgRmFrZUNtZChvYmplY3QpOgorICBkZWYgX19pbml0X18oc2VsZik6Cisg
ICAgc2VsZi5leHBlY3RhdGlvbnMgPSBbXQorCisgIGRlZiBhZGRfZXhwZWN0YXRpb24oc2VsZiwg
KmFyZ3MsICoqa3dhcmdzKToKKyAgICByZXR1cm5zID0ga3dhcmdzLnBvcCgnX3JldHVybnMnLCBO
b25lKQorICAgIHNlbGYuZXhwZWN0YXRpb25zLmFwcGVuZCgoYXJncywga3dhcmdzLCByZXR1cm5z
KSkKKworICBkZWYgX19jYWxsX18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICBpZiBub3Qg
c2VsZi5leHBlY3RhdGlvbnM6CisgICAgICByYWlzZSBUZXN0RXJyb3IoJ0dvdCB1bmV4cGVjdGVk
XG4lc1xuJXMnICUgKGFyZ3MsIGt3YXJncykpCisgICAgZXhwX2FyZ3MsIGV4cF9rd2FyZ3MsIGV4
cF9yZXR1cm5zID0gc2VsZi5leHBlY3RhdGlvbnMucG9wKDApCisgICAgaWYgYXJncyAhPSBleHBf
YXJncyBvciBrd2FyZ3MgIT0gZXhwX2t3YXJnczoKKyAgICAgIG1lc3NhZ2UgPSAnRXhwZWN0ZWQ6
XG4gIGFyZ3M6ICVzXG4gIGt3YXJnczogJXNcbicgJSAoZXhwX2FyZ3MsIGV4cF9rd2FyZ3MpCisg
ICAgICBtZXNzYWdlICs9ICdHb3Q6XG4gIGFyZ3M6ICVzXG4gIGt3YXJnczogJXNcbicgJSAoYXJn
cywga3dhcmdzKQorICAgICAgcmFpc2UgVGVzdEVycm9yKG1lc3NhZ2UpCisgICAgcmV0dXJuIGV4
cF9yZXR1cm5zCisKKworY2xhc3MgVGVzdFJvbGxDaHJvbWl1bVJldmlzaW9uKHVuaXR0ZXN0LlRl
c3RDYXNlKToKKyAgZGVmIHNldFVwKHNlbGYpOgorICAgIHNlbGYuX291dHB1dF9kaXIgPSB0ZW1w
ZmlsZS5ta2R0ZW1wKCkKKyAgICBmb3IgdGVzdF9maWxlIGluIGdsb2IuZ2xvYihvcy5wYXRoLmpv
aW4oU0NSSVBUX0RJUiwgJ3Rlc3RkYXRhJywgJyonKSk6CisgICAgICBzaHV0aWwuY29weSh0ZXN0
X2ZpbGUsIHNlbGYuX291dHB1dF9kaXIpCisgICAgc2VsZi5fbGlieXV2X2RlcHNmaWxlID0gb3Mu
cGF0aC5qb2luKHNlbGYuX291dHB1dF9kaXIsICdERVBTJykKKyAgICBzZWxmLl9vbGRfY3JfZGVw
c2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5fb3V0cHV0X2RpciwgJ0RFUFMuY2hyb21pdW0ub2xk
JykKKyAgICBzZWxmLl9uZXdfY3JfZGVwc2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5fb3V0cHV0
X2RpciwgJ0RFUFMuY2hyb21pdW0ubmV3JykKKworICAgIHNlbGYuZmFrZSA9IEZha2VDbWQoKQor
ICAgIHNlbGYub2xkX1J1bkNvbW1hbmQgPSBnZXRhdHRyKHJvbGxfZGVwcywgJ19SdW5Db21tYW5k
JykKKyAgICBzZXRhdHRyKHJvbGxfZGVwcywgJ19SdW5Db21tYW5kJywgc2VsZi5mYWtlKQorCisg
IGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICBzaHV0aWwucm10cmVlKHNlbGYuX291dHB1dF9kaXIs
IGlnbm9yZV9lcnJvcnM9VHJ1ZSkKKyAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZmFrZS5leHBl
Y3RhdGlvbnMsIFtdKQorICAgIHNldGF0dHIocm9sbF9kZXBzLCAnX1J1bkNvbW1hbmQnLCBzZWxm
Lm9sZF9SdW5Db21tYW5kKQorCisgIGRlZiB0ZXN0VXBkYXRlRGVwc0ZpbGUoc2VsZik6CisgICAg
bmV3X3JldiA9ICdhYWFhYWJiYmJiY2NjY2NkZGRkZGVlZWVlZmZmZmYwMDAwMDExMTExJworCisg
ICAgY3VycmVudF9yZXYgPSBURVNUX0RBVEFfVkFSU1snY2hyb21pdW1fcmV2aXNpb24nXQorICAg
IFVwZGF0ZURlcHNGaWxlKHNlbGYuX2xpYnl1dl9kZXBzZmlsZSwgY3VycmVudF9yZXYsIG5ld19y
ZXYsIFtdKQorICAgIHdpdGggb3BlbihzZWxmLl9saWJ5dXZfZGVwc2ZpbGUpIGFzIGRlcHNfZmls
ZToKKyAgICAgIGRlcHNfY29udGVudHMgPSBkZXBzX2ZpbGUucmVhZCgpCisgICAgICBzZWxmLmFz
c2VydFRydWUobmV3X3JldiBpbiBkZXBzX2NvbnRlbnRzLAorICAgICAgICAgICAgICAgICAgICAg
ICdGYWlsZWQgdG8gZmluZCAlcyBpblxuJXMnICUgKG5ld19yZXYsIGRlcHNfY29udGVudHMpKQor
CisgIGRlZiB0ZXN0UGFyc2VEZXBzRGljdChzZWxmKToKKyAgICB3aXRoIG9wZW4oc2VsZi5fbGli
eXV2X2RlcHNmaWxlKSBhcyBkZXBzX2ZpbGU6CisgICAgICBkZXBzX2NvbnRlbnRzID0gZGVwc19m
aWxlLnJlYWQoKQorICAgIGxvY2FsX3Njb3BlID0gUGFyc2VEZXBzRGljdChkZXBzX2NvbnRlbnRz
KQorICAgIHZhcnNfZGljdCA9IGxvY2FsX3Njb3BlWyd2YXJzJ10KKworICAgIGRlZiBhc3NlcnRW
YXIodmFyaWFibGVfbmFtZSk6CisgICAgICBzZWxmLmFzc2VydEVxdWFscyh2YXJzX2RpY3RbdmFy
aWFibGVfbmFtZV0sIFRFU1RfREFUQV9WQVJTW3ZhcmlhYmxlX25hbWVdKQorICAgIGFzc2VydFZh
cignY2hyb21pdW1fZ2l0JykKKyAgICBhc3NlcnRWYXIoJ2Nocm9taXVtX3JldmlzaW9uJykKKyAg
ICBzZWxmLmFzc2VydEVxdWFscyhsZW4obG9jYWxfc2NvcGVbJ2RlcHMnXSksIDMpCisKKyAgZGVm
IHRlc3RHZXRNYXRjaGluZ0RlcHNFbnRyaWVzUmV0dXJuc1BhdGhJblNpbXBsZUNhc2Uoc2VsZik6
CisgICAgZW50cmllcyA9IEdldE1hdGNoaW5nRGVwc0VudHJpZXMoREVQU19FTlRSSUVTLCAnc3Jj
L3Rlc3RpbmcvZ3Rlc3QnKQorICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxlbihlbnRyaWVzKSwgMSkK
KyAgICBzZWxmLmFzc2VydEVxdWFscyhlbnRyaWVzWzBdLCBERVBTX0VOVFJJRVNbJ3NyYy90ZXN0
aW5nL2d0ZXN0J10pCisKKyAgZGVmIHRlc3RHZXRNYXRjaGluZ0RlcHNFbnRyaWVzSGFuZGxlc1Np
bWlsYXJTdGFydGluZ1BhdGhzKHNlbGYpOgorICAgIGVudHJpZXMgPSBHZXRNYXRjaGluZ0RlcHNF
bnRyaWVzKERFUFNfRU5UUklFUywgJ3NyYy90ZXN0aW5nJykKKyAgICBzZWxmLmFzc2VydEVxdWFs
cyhsZW4oZW50cmllcyksIDIpCisKKyAgZGVmIHRlc3RHZXRNYXRjaGluZ0RlcHNFbnRyaWVzSGFu
ZGxlc1R3b1BhdGhzV2l0aElkZW50aWNhbEZpcnN0UGFydHMoc2VsZik6CisgICAgZW50cmllcyA9
IEdldE1hdGNoaW5nRGVwc0VudHJpZXMoREVQU19FTlRSSUVTLCAnc3JjL2J1aWxkJykKKyAgICBz
ZWxmLmFzc2VydEVxdWFscyhsZW4oZW50cmllcyksIDEpCisgICAgc2VsZi5hc3NlcnRFcXVhbHMo
ZW50cmllc1swXSwgREVQU19FTlRSSUVTWydzcmMvYnVpbGQnXSkKKworICBkZWYgdGVzdENhbGN1
bGF0ZUNoYW5nZWREZXBzKHNlbGYpOgorICAgIF9TZXR1cEdpdExzUmVtb3RlQ2FsbChzZWxmLmZh
a2UsCisgICAgICAgICdodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v
c3JjL2J1aWxkJywgQlVJTERfTkVXX1JFVikKKyAgICBsaWJ5dXZfZGVwcyA9IFBhcnNlTG9jYWxE
ZXBzRmlsZShzZWxmLl9saWJ5dXZfZGVwc2ZpbGUpCisgICAgbmV3X2NyX2RlcHMgPSBQYXJzZUxv
Y2FsRGVwc0ZpbGUoc2VsZi5fbmV3X2NyX2RlcHNmaWxlKQorICAgIGNoYW5nZWRfZGVwcyA9IENh
bGN1bGF0ZUNoYW5nZWREZXBzKGxpYnl1dl9kZXBzLCBuZXdfY3JfZGVwcykKKyAgICBzZWxmLmFz
c2VydEVxdWFscyhsZW4oY2hhbmdlZF9kZXBzKSwgMikKKyAgICBzZWxmLmFzc2VydEVxdWFscyhj
aGFuZ2VkX2RlcHNbMF0ucGF0aCwgJ3NyYy9idWlsZCcpCisgICAgc2VsZi5hc3NlcnRFcXVhbHMo
Y2hhbmdlZF9kZXBzWzBdLmN1cnJlbnRfcmV2LCBCVUlMRF9PTERfUkVWKQorICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKGNoYW5nZWRfZGVwc1swXS5uZXdfcmV2LCBCVUlMRF9ORVdfUkVWKQorCisgICAg
c2VsZi5hc3NlcnRFcXVhbHMoY2hhbmdlZF9kZXBzWzFdLnBhdGgsICdzcmMvYnVpbGR0b29scycp
CisgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hhbmdlZF9kZXBzWzFdLmN1cnJlbnRfcmV2LCBCVUlM
RFRPT0xTX09MRF9SRVYpCisgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hhbmdlZF9kZXBzWzFdLm5l
d19yZXYsIEJVSUxEVE9PTFNfTkVXX1JFVikKKworCitkZWYgX1NldHVwR2l0THNSZW1vdGVDYWxs
KGNtZF9mYWtlLCB1cmwsIHJldmlzaW9uKToKKyAgY21kID0gWydnaXQnLCAnbHMtcmVtb3RlJywg
dXJsLCByZXZpc2lvbl0KKyAgY21kX2Zha2UuYWRkX2V4cGVjdGF0aW9uKGNtZCwgX3JldHVybnM9
KHJldmlzaW9uLCBOb25lKSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICB1bml0
dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di9hdXRvcm9sbGVyL3VuaXR0ZXN0cy90
ZXN0ZGF0YS9ERVBTIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L2F1dG9yb2xsZXIvdW5pdHRlc3RzL3Rlc3RkYXRhL0RF
UFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWZiYjQ4YTczNDQ4ZTUzNDVjMWFlY2RmZTZmNThjZWMyODg0MmIxNAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di9hdXRvcm9sbGVyL3VuaXR0ZXN0cy90ZXN0ZGF0
YS9ERVBTCkBAIC0wLDAgKzEsMjAgQEAKKyMgREVQUyBmaWxlIGZvciB1bml0IHRlc3RzLgorCit2
YXJzID0geworICAnY2hyb21pdW1fZ2l0JzogJ2h0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNl
LmNvbScsCisgICdjaHJvbWl1bV9yZXZpc2lvbic6ICcxYjljMDk4YTA4ZTQwMTE0ZTQ0YjZjMWVj
MzNkZGY5NWM0MGI5MDFkJywKK30KKworZGVwcyA9IHsKKyAgIyBFbnRyeSB0aGF0IGlzIGEgZGly
ZWN0b3J5IGluIENocm9taXVtLCBzbyB3ZSdyZSB1c2luZyBhIEdpdCBzdWJ0cmVlIG1pcnJvciBm
b3IgaXQuCisgICdzcmMvYnVpbGQnOgorICAgIFZhcignY2hyb21pdW1fZ2l0JykgKyAnL2Nocm9t
aXVtL3NyYy9idWlsZCcgKyAnQCcgKyAnNTJmN2FmZWNhOTkxZDk2ZDY4Y2YwNTA3ZTIwZGJkZDVi
ODQ1NjkxZicsCisKKyAgIyBFbnRyeSB0aGF0J3MgYWxzbyBhIERFUFMgZW50cnkgaW4gdGhlIENo
cm9taXVtIERFUFMgZmlsZS4KKyAgJ3NyYy9idWlsZHRvb2xzJzoKKyAgICBWYXIoJ2Nocm9taXVt
X2dpdCcpICsgJy9jaHJvbWl1bS9idWlsZHRvb2xzLmdpdCcgKyAnQCcgKyAnNjRlMzhmMGNlYmRk
ZTI3YWEwY2ZiNDA1ZjMzMDA2MzU4MmY5YWM3NicsCisKKyAgIyBFbnRyeSBvbmx5IHByZXNlbnQg
aW4gbGlieXV2LCBub3QgQ2hyb21pdW0uCisgICdzcmMvdGhpcmRfcGFydHkvZ2ZsYWdzL3NyYyc6
CisgICAgVmFyKCdjaHJvbWl1bV9naXQnKSArICcvZXh0ZXJuYWwvZ2l0aHViLmNvbS9nZmxhZ3Mv
Z2ZsYWdzQDAzYmViY2IwNjVjODNiZWZmODNkNTBhZTAyNWE1NWE0YmY5NGRmY2EnLAorfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvdG9vbHNfbGlieXV2L2F1dG9yb2xsZXIvdW5pdHRlc3RzL3Rlc3RkYXRhL0RFUFMuY2hy
b21pdW0ubmV3IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0
eS9saWJ5dXYvdG9vbHNfbGlieXV2L2F1dG9yb2xsZXIvdW5pdHRlc3RzL3Rlc3RkYXRhL0RFUFMu
Y2hyb21pdW0ubmV3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1MzA4M2NlZWM1ZTc5YzU3NTdmMTJmNzlkNjljZDE4
YTUzZDA5ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvYXV0b3JvbGxlci91bml0dGVz
dHMvdGVzdGRhdGEvREVQUy5jaHJvbWl1bS5uZXcKQEAgLTAsMCArMSwxMyBAQAorIyBERVBTIGZp
bGUgZm9yIHVuaXQgdGVzdHMuCisKK3ZhcnMgPSB7CisgICdjaHJvbWl1bV9naXQnOiAnaHR0cHM6
Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tJywKKworICAjIFRoaXMgaXMgdXBkYXRlZCBjb21w
YXJlZCB0byB0aGUgREVQUy5jaHJvbWl1bS5vbGQgZmlsZS4KKyAgJ2J1aWxkdG9vbHNfcmV2aXNp
b24nOiAnNTVhZDYyNmIwOGVmOTcxZmQ4MmE2MmI3YWJiMzI1MzU5NTQyOTUyYicsCit9CisKK2Rl
cHMgPSB7CisgICdzcmMvYnVpbGR0b29scyc6CisgICAgVmFyKCdjaHJvbWl1bV9naXQnKSArICcv
Y2hyb21pdW0vYnVpbGR0b29scy5naXQnICsgJ0AnICsgIFZhcignYnVpbGR0b29sc19yZXZpc2lv
bicpLAorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L2F1dG9yb2xsZXIvdW5pdHRlc3RzL3Rlc3Rk
YXRhL0RFUFMuY2hyb21pdW0ub2xkIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L2F1dG9yb2xsZXIvdW5pdHRlc3RzL3Rl
c3RkYXRhL0RFUFMuY2hyb21pdW0ub2xkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNmRkYWVjODEzNjk3MWM4OGI5
NDEwZjcxMDc2Yjc1NTAzOGNiYmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvYXV0b3Jv
bGxlci91bml0dGVzdHMvdGVzdGRhdGEvREVQUy5jaHJvbWl1bS5vbGQKQEAgLTAsMCArMSwxMyBA
QAorIyBERVBTIGZpbGUgZm9yIHVuaXQgdGVzdHMuCisKK3ZhcnMgPSB7CisgICdjaHJvbWl1bV9n
aXQnOiAnaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tJywKKworICAjIFRoaXMgaXMg
YW5kIG9sZGVyIHJldmlzaW9uIHRoYW4gREVQUy5jaHJvbWl1bS5uZXcgZmlsZS4KKyAgJ2J1aWxk
dG9vbHNfcmV2aXNpb24nOiAnNjRlMzhmMGNlYmRkZTI3YWEwY2ZiNDA1ZjMzMDA2MzU4MmY5YWM3
NicsCit9CisKK2RlcHMgPSB7CisgICdzcmMvYnVpbGR0b29scyc6CisgICAgVmFyKCdjaHJvbWl1
bV9naXQnKSArICcvY2hyb21pdW0vYnVpbGR0b29scy5naXQnICsgJ0AnICsgIFZhcignYnVpbGR0
b29sc19yZXZpc2lvbicpLAorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L2dldF9sYW5kbWluZXMu
cHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di90b29sc19saWJ5dXYvZ2V0X2xhbmRtaW5lcy5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGM3OGJiOTczZjY3
ZDBkNjc0NGUwZmFiNDZkYmU5ODlkMzA4M2QyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2
L2dldF9sYW5kbWluZXMucHkKQEAgLTAsMCArMSw1MCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
CisjIENvcHlyaWdodCAyMDE2IFRoZSBMaWJZdXYgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlCisjIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQorIyB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVs
bGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCisjIGluIHRoZSBmaWxl
IFBBVEVOVFMuIEFsbCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQorIyBiZSBmb3Vu
ZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KKwor
IiIiCitUaGlzIGZpbGUgZW1pdHMgdGhlIGxpc3Qgb2YgcmVhc29ucyB3aHkgYSBwYXJ0aWN1bGFy
IGJ1aWxkIG5lZWRzIHRvIGJlIGNsb2JiZXJlZAorKG9yIGEgbGlzdCBvZiAnbGFuZG1pbmVzJyku
CisiIiIKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3NjcmlwdF9kaXIgPSBvcy5wYXRoLmRp
cm5hbWUob3MucGF0aC5yZWFscGF0aChfX2ZpbGVfXykpCitjaGVja291dF9yb290ID0gb3MucGF0
aC5hYnNwYXRoKG9zLnBhdGguam9pbihzY3JpcHRfZGlyLCBvcy5wYXJkaXIpKQorc3lzLnBhdGgu
aW5zZXJ0KDAsIG9zLnBhdGguam9pbihjaGVja291dF9yb290LCAnYnVpbGQnKSkKK2ltcG9ydCBs
YW5kbWluZV91dGlscworCisKK2Rpc3RyaWJ1dG9yID0gbGFuZG1pbmVfdXRpbHMuZGlzdHJpYnV0
b3IKK2d5cF9kZWZpbmVzID0gbGFuZG1pbmVfdXRpbHMuZ3lwX2RlZmluZXMKK2d5cF9tc3ZzX3Zl
cnNpb24gPSBsYW5kbWluZV91dGlscy5neXBfbXN2c192ZXJzaW9uCitwbGF0Zm9ybSA9IGxhbmRt
aW5lX3V0aWxzLnBsYXRmb3JtCisKKworZGVmIHByaW50X2xhbmRtaW5lcygpOgorICAiIiIKKyAg
QUxMIExBTkRNSU5FUyBBUkUgRU1JVFRFRCBGUk9NIEhFUkUuCisgICIiIgorICAjIERPIE5PVCBh
ZGQgbGFuZG1pbmVzIGFzIHBhcnQgb2YgYSByZWd1bGFyIENMLiBMYW5kbWluZXMgYXJlIGEgbGFz
dC1lZmZvcnQKKyAgIyBiYW5kYWlkIGZpeCBpZiBhIENMIHRoYXQgZ290IGxhbmRlZCBoYXMgYSBi
dWlsZCBkZXBlbmRlbmN5IGJ1ZyBhbmQgYWxsIGJvdHMKKyAgIyBuZWVkIHRvIGJlIGNsZWFuZWQg
dXAuIElmIHlvdSdyZSB3cml0aW5nIGEgbmV3IENMIHRoYXQgY2F1c2VzIGJ1aWxkCisgICMgZGVw
ZW5kZW5jeSBwcm9ibGVtcywgZml4IHRoZSBkZXBlbmRlbmN5IHByb2JsZW1zIGluc3RlYWQgb2Yg
YWRkaW5nIGEKKyAgIyBsYW5kbWluZS4KKyAgIyBTZWUgdGhlIENocm9taXVtIHZlcnNpb24gaW4g
c3JjL2J1aWxkL2dldF9sYW5kbWluZXMucHkgZm9yIHVzYWdlIGV4YW1wbGVzLgorICBwcmludCAn
Q2xvYmJlciB0byByZW1vdmUgR1lQIGFydGlmYWN0cyBhZnRlciBzd2l0Y2hpbmcgYm90cyB0byBH
Ti4nCisgIHByaW50ICdBbm90aGVyIHRyeSB0byByZW1vdmUgR1lQIGFydGlmYWN0cyBhZnRlciBz
d2l0Y2hpbmcgYm90cyB0byBHTi4nCisKKworZGVmIG1haW4oKToKKyAgcHJpbnRfbGFuZG1pbmVz
KCkKKyAgcmV0dXJuIDAKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICBzeXMuZXhp
dChtYWluKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvbXNhbi9PV05FUlMgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYv
bXNhbi9PV05FUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjAzNTFlN2VhMmFiZGQ3MDljMWVhMmNhOTU4MDhiZGMw
ZmU3MDA5NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di9tc2FuL09XTkVSUwpAQCAtMCww
ICsxLDMgQEAKK3Bib3NAY2hyb21pdW0ub3JnCitramVsbGFuZGVyQGNocm9taXVtLm9yZworCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di90b29sc19saWJ5dXYvbXNhbi9ibGFja2xpc3QudHh0IGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L21zYW4v
YmxhY2tsaXN0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjVlNDJhN2IzZGNhNTg3ZTkzZGIwZjY2ZGQ2ZTI2
NTFjYWQ4ZWFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L21zYW4vYmxhY2tsaXN0LnR4
dApAQCAtMCwwICsxLDkgQEAKKyMgVGhlIHJ1bGVzIGluIHRoaXMgZmlsZSBhcmUgb25seSBhcHBs
aWVkIGF0IGNvbXBpbGUgdGltZS4KKyMgQmVjYXVzZSB0aGUgQ2hyb21lIGJ1aWxkc3lzdGVtIGRv
ZXMgbm90IGF1dG9tYXRpY2FsbHkgdG91Y2ggdGhlIGZpbGVzCisjIG1lbnRpb25lZCBoZXJlLCBj
aGFuZ2luZyB0aGlzIGZpbGUgcmVxdWlyZXMgY2xvYmJlcmluZyBhbGwgTVNhbiBib3RzLgorIwor
IyBQbGVhc2UgdGhpbmsgdHdpY2UgYmVmb3JlIHlvdSBhZGQgb3IgcmVtb3ZlIHRoZXNlIHJ1bGVz
LgorCisjIFRoaXMgaXMgYSBzdHJpcHBlZCBkb3duIGNvcHkgb2YgQ2hyb21pdW0ncyBibGFja2xp
c3QudHh0LCB0byBlbmFibGUKKyMgYWRkaW5nIGxpYnl1di1zcGVjaWZpYyBibGFja2xpc3QgZW50
cmllcy4KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L3Vic2FuL09XTkVSUyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di91
YnNhbi9PV05FUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjYwODUxOWFiZjY4M2U0NTlhYjBjNjlhMmRlOWMxNDlk
ZWUwZmUxMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di91YnNhbi9PV05FUlMKQEAgLTAs
MCArMSw0IEBACitwYm9zQHdlYnJ0Yy5vcmcKK2tqZWxsYW5kZXJAd2VicnRjLm9yZworZmJhcmNo
YXJkQGNocm9taXVtLm9yZworCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdWJzYW4vYmxhY2tsaXN0
LnR4dCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3Rvb2xzX2xpYnl1di91YnNhbi9ibGFja2xpc3QudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiY2IyOTA3
M2JjZGY1YjkwYmYyOGZiYjRjMTQ5N2E5MGFiZWY1M2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19s
aWJ5dXYvdWJzYW4vYmxhY2tsaXN0LnR4dApAQCAtMCwwICsxLDE1IEBACisjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIworIyBVQlNhbiBibGFja2xpc3QuCisjIFBsZWFzZSB0aGluayB0d2ljZSBiZWZvcmUg
eW91IGFkZCBvciByZW1vdmUgdGhlc2UgcnVsZXMuCisKKyMgVGhpcyBpcyBhIHN0cmlwcGVkIGRv
d24gY29weSBvZiBDaHJvbWl1bSdzIGJsYWNrbGlzdC50eHQsIHRvIGVuYWJsZQorIyBhZGRpbmcg
V2ViUlRDLXNwZWNpZmljIGJsYWNrbGlzdCBlbnRyaWVzLgorCisjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IworIyBZQVNNIGRvZXMgc29tZSBmdW5ueSB0aGluZ3MgdGhhdCBVQnNhbiBkb2Vzbid0IGxpa2Uu
CisjIGh0dHBzOi8vY3JidWcuY29tLzQ4OTkwMQorc3JjOiovdGhpcmRfcGFydHkveWFzbS8qCisK
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIElnbm9yZSBzeXN0ZW0gbGlicmFyaWVzLgorc3JjOiov
dXNyLyoKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di91YnNhbi92cHRyX2JsYWNrbGlzdC50eHQgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29s
c19saWJ5dXYvdWJzYW4vdnB0cl9ibGFja2xpc3QudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlZDA3MGMwNWQy
ZDk5N2RlZDM3NzUwZjg3MjNiODEzNmNjYWMxMWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5
dXYvdWJzYW4vdnB0cl9ibGFja2xpc3QudHh0CkBAIC0wLDAgKzEsMjEgQEAKKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCisjIFVCU2FuIHZwdHIgYmxhY2tsaXN0LgorIyBGdW5jdGlvbiBhbmQgdHlwZSBi
YXNlZCBibGFja2xpc3RpbmcgdXNlIGEgbWFuZ2xlZCBuYW1lLCBhbmQgaXQgaXMgZXNwZWNpYWxs
eQorIyB0cmlja3kgdG8gcmVwcmVzZW50IEMrKyB0eXBlcy4gRm9yIG5vdywgYW55IHBvc3NpYmxl
IGNoYW5nZXMgYnkgbmFtZSBtYW5nbGluZ3MKKyMgYXJlIHNpbXBseSByZXByZXNlbnRlZCBhcyB3
aWxkY2FyZCBleHByZXNzaW9ucyBvZiByZWdleHAsIGFuZCB0aHVzIGl0IG1pZ2h0IGJlCisjIG92
ZXItYmxhY2tsaXN0ZWQuCisjCisjIFBsZWFzZSB0aGluayB0d2ljZSBiZWZvcmUgeW91IGFkZCBv
ciByZW1vdmUgdGhlc2UgcnVsZXMuCisjCisjIFRoaXMgaXMgYSBzdHJpcHBlZCBkb3duIGNvcHkg
b2YgQ2hyb21pdW0ncyB2cHRyX2JsYWNrbGlzdC50eHQsIHRvIGVuYWJsZQorIyBhZGRpbmcgbGli
eXV2LXNwZWNpZmljIGJsYWNrbGlzdCBlbnRyaWVzLgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor
IyBVc2luZyByYXcgcG9pbnRlciB2YWx1ZXMuCisjCisjIEEgcmF3IHBvaW50ZXIgdmFsdWUgKDE2
KSBpcyB1c2VkIHRvIGluZmVyIHRoZSBmaWVsZCBvZmZzZXQgYnkKKyMgR09PR0xFX1BST1RPQlVG
X0dFTkVSQVRFRF9NRVNTQUdFX0ZJRUxEX09GRlNFVC4KKworIyBFeGFtcGxlOgorIyBzcmM6Ki90
aGlyZF9wYXJ0eS9wcm90b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL2NvbXBpbGVyL3BsdWdpbi5w
Yi5jYworCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdmFsZ3JpbmQvbGlieXV2X3Rlc3RzLmJhdCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rv
b2xzX2xpYnl1di92YWxncmluZC9saWJ5dXZfdGVzdHMuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzN2YwOWVi
MjVmM2UxNTQ4NjNlMWMxMGE2ZWY0NjZlYmQ5ZGNmYTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19s
aWJ5dXYvdmFsZ3JpbmQvbGlieXV2X3Rlc3RzLmJhdApAQCAtMCwwICsxLDc5IEBACitAZWNobyBv
ZmYNCis6OiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIExpYll1diBQcm9qZWN0IEF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuDQorOjoNCis6OiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlDQorOjogdGhhdCBjYW4gYmUgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlDQorOjogdHJlZS4gQW4g
YWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3Vu
ZA0KKzo6IGluIHRoZSBmaWxlIFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0
aG9ycyBtYXkNCis6OiBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9m
IHRoZSBzb3VyY2UgdHJlZS4NCisNCis6OiBUaGlzIHNjcmlwdCBpcyBhIGNvcHkgb2YgY2hyb21l
X3Rlc3RzLmJhdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoNCis6OiAtIEludm9rZXMgbGli
eXV2X3Rlc3RzLnB5IGluc3RlYWQgb2YgY2hyb21lX3Rlc3RzLnB5DQorOjogLSBDaHJvbWl1bSdz
IFZhbGdyaW5kIHNjcmlwdHMgZGlyZWN0b3J5IGlzIGFkZGVkIHRvIHRoZSBQWVRIT05QQVRIIHRv
IG1ha2UNCis6OiAgIGl0IHBvc3NpYmxlIHRvIGV4ZWN1dGUgdGhlIFB5dGhvbiBzY3JpcHRzIHBy
b3Blcmx5Lg0KKw0KKzo6IFRPRE8odGltdXJycnIpOiBiYXRjaCBmaWxlcyAnZXhwb3J0JyBhbGwg
dGhlIHZhcmlhYmxlcyB0byB0aGUgcGFyZW50IHNoZWxsDQorc2V0IFRISVNESVI9JX5kcDANCitz
ZXQgVE9PTF9OQU1FPSJ1bmtub3duIg0KKw0KKzo6IEdldCB0aGUgdG9vbCBuYW1lIGFuZCBwdXQg
aXQgaW50byBUT09MX05BTUUge3t7MQ0KKzo6IE5COiBTSElGVCBjb21tYW5kIGRvZXNuJ3QgbW9k
aWZ5ICUqDQorOlBBUlNFX0FSR1NfTE9PUA0KKyAgaWYgJTEgPT0gKCkgR09UTzpUT09MTkFNRV9O
T1RfRk9VTkQNCisgIGlmICUxID09IC0tdG9vbCBHT1RPOlRPT0xOQU1FX0ZPVU5EDQorICBTSElG
VA0KKyAgZ290byA6UEFSU0VfQVJHU19MT09QDQorDQorOlRPT0xOQU1FX05PVF9GT1VORA0KK2Vj
aG8gIlBsZWFzZSBzcGVjaWZ5IGEgdG9vbCAodHNhbiBvciBkcm1lbW9yeSkgYnkgdXNpbmcgLS10
b29sIGZsYWciDQorZXhpdCAvQiAxDQorDQorOlRPT0xOQU1FX0ZPVU5EDQorU0hJRlQNCitzZXQg
VE9PTF9OQU1FPSUxDQorOjogfX19DQoraWYgIiVUT09MX05BTUUlIiA9PSAiZHJtZW1vcnkiICAg
ICAgICAgIEdPVE8gOlNFVFVQX0RSTUVNT1JZDQoraWYgIiVUT09MX05BTUUlIiA9PSAiZHJtZW1v
cnlfbGlnaHQiICAgIEdPVE8gOlNFVFVQX0RSTUVNT1JZDQoraWYgIiVUT09MX05BTUUlIiA9PSAi
ZHJtZW1vcnlfZnVsbCIgICAgIEdPVE8gOlNFVFVQX0RSTUVNT1JZDQoraWYgIiVUT09MX05BTUUl
IiA9PSAiZHJtZW1vcnlfcGF0dGVybiIgIEdPVE8gOlNFVFVQX0RSTUVNT1JZDQoraWYgIiVUT09M
X05BTUUlIiA9PSAidHNhbiIgICAgIEdPVE8gOlNFVFVQX1RTQU4NCitlY2hvICJVbmtub3duIHRv
b2w6IGAlVE9PTF9OQU1FJWAhIE9ubHkgdHNhbiBhbmQgZHJtZW1vcnkgYXJlIHN1cHBvcnRlZC4i
DQorZXhpdCAvQiAxDQorDQorOlNFVFVQX0RSTUVNT1JZDQoraWYgTk9UICIlRFJNRU1PUllfQ09N
TUFORCUiPT0iIiBHT1RPIDpSVU5fVEVTVFMNCis6OiBTZXQgdXAgRFJNRU1PUllfQ09NTUFORCB0
byBpbnZva2UgRHIuIE1lbW9yeSB7e3sxDQorc2V0IERSTUVNT1JZX1BBVEg9JVRISVNESVIlLi5c
Li5cdGhpcmRfcGFydHlcZHJtZW1vcnkNCitzZXQgRFJNRU1PUllfU0ZYPSVEUk1FTU9SWV9QQVRI
JVxkcm1lbW9yeS13aW5kb3dzLXNmeC5leGUNCitpZiBFWElTVCAlRFJNRU1PUllfU0ZYJSBHT1RP
IERSTUVNT1JZX0JJTkFSWV9PSw0KK2VjaG8gIkNhbid0IGZpbmQgRHIuIE1lbW9yeSBleGVjdXRh
Ymxlcy4iDQorZWNobyAiU2VlIGh0dHA6Ly93d3cuY2hyb21pdW0ub3JnL2RldmVsb3BlcnMvaG93
LXRvcy91c2luZy12YWxncmluZC9kci1tZW1vcnkiDQorZWNobyAiZm9yIHRoZSBpbnN0cnVjdGlv
bnMgb24gaG93IHRvIGdldCB0aGVtLiINCitleGl0IC9CIDENCisNCis6RFJNRU1PUllfQklOQVJZ
X09LDQorJURSTUVNT1JZX1NGWCUgLW8lRFJNRU1PUllfUEFUSCVcdW5wYWNrZWQgLXkNCitzZXQg
RFJNRU1PUllfQ09NTUFORD0lRFJNRU1PUllfUEFUSCVcdW5wYWNrZWRcYmluXGRybWVtb3J5LmV4
ZQ0KKzo6IH19fQ0KK2dvdG8gOlJVTl9URVNUUw0KKw0KKzpTRVRVUF9UU0FODQorOjogU2V0IHVw
IFBJTl9DT01NQU5EIHRvIGludm9rZSBUU2FuIHt7ezENCitzZXQgVFNBTl9QQVRIPSVUSElTRElS
JS4uXC4uXHRoaXJkX3BhcnR5XHRzYW4NCitzZXQgVFNBTl9TRlg9JVRTQU5fUEFUSCVcdHNhbi14
ODYtd2luZG93cy1zZnguZXhlDQoraWYgRVhJU1QgJVRTQU5fU0ZYJSBHT1RPIFRTQU5fQklOQVJZ
X09LDQorZWNobyAiQ2FuJ3QgZmluZCBUaHJlYWRTYW5pdGl6ZXIgZXhlY3V0YWJsZXMuIg0KK2Vj
aG8gIlNlZSBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9kZXZlbG9wZXJzL2hvdy10b3MvdXNpbmct
dmFsZ3JpbmQvdGhyZWFkc2FuaXRpemVyL3RocmVhZHNhbml0aXplci1vbi13aW5kb3dzIg0KK2Vj
aG8gImZvciB0aGUgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBnZXQgdGhlbS4iDQorZXhpdCAvQiAx
DQorDQorOlRTQU5fQklOQVJZX09LDQorJVRTQU5fU0ZYJSAtbyVUU0FOX1BBVEglXHVucGFja2Vk
IC15DQorc2V0IFBJTl9DT01NQU5EPSVUU0FOX1BBVEglXHVucGFja2VkXHRzYW4teDg2LXdpbmRv
d3NcdHNhbi5iYXQNCis6OiB9fX0NCitnb3RvIDpSVU5fVEVTVFMNCisNCis6UlVOX1RFU1RTDQor
c2V0IFBZVEhPTlBBVEg9JVRISVNESVIlLi5ccHl0aG9uXGdvb2dsZTslVEhJU0RJUiUuLlx2YWxn
cmluZA0KK3NldCBSVU5OSU5HX09OX1ZBTEdSSU5EPXllcw0KK3B5dGhvbiAlVEhJU0RJUiVsaWJ5
dXZfdGVzdHMucHkgJSoNCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdmFsZ3JpbmQvbGlieXV2X3Rl
c3RzLnB5IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvdG9vbHNfbGlieXV2L3ZhbGdyaW5kL2xpYnl1dl90ZXN0cy5weQpuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
NzgwYmQ5NWViNjgxODkxZWQ5NWI2N2U0OWE0YTJkMTRlNzA4NTRkCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
dG9vbHNfbGlieXV2L3ZhbGdyaW5kL2xpYnl1dl90ZXN0cy5weQpAQCAtMCwwICsxLDEzOSBAQAor
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoYykgMjAxMiBUaGUgTGliWXV2IFBy
b2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgVXNlIG9mIHRoaXMgc291
cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZQorIyB0aGF0IGNhbiBi
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UKKyMg
dHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGdyYW50IGNh
biBiZSBmb3VuZAorIyBpbiB0aGUgZmlsZSBQQVRFTlRTLiAgQWxsIGNvbnRyaWJ1dGluZyBwcm9q
ZWN0IGF1dGhvcnMgbWF5CisjIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJv
b3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgorCisiIiJSdW5zIHZhcmlvdXMgbGlieXV2IHRlc3RzIHRo
cm91Z2ggdmFsZ3JpbmRfdGVzdC5weS4KKworVGhpcyBzY3JpcHQgaW5oZXJpdHMgdGhlIGNocm9t
ZV90ZXN0cy5weSBpbiBDaHJvbWUsIGJ1dCBhbGxvd3MgcnVubmluZyBhbnkgdGVzdAoraW5zdGVh
ZCBvZiBvbmx5IHRoZSBoYXJkLWNvZGVkIG9uZXMuIEl0IHVzZXMgdGhlIC10IGNtZGxpbmUgZmxh
ZyB0byBkbyB0aGlzLCBhbmQKK29ubHkgc3VwcG9ydHMgc3BlY2lmeWluZyBhIHNpbmdsZSB0ZXN0
IGZvciBlYWNoIHJ1bi4KKworU3VwcHJlc3Npb24gZmlsZXM6CitUaGUgQ2hyb21lIHZhbGdyaW5k
IGRpcmVjdG9yeSB3ZSB1c2UgYXMgYSBERVBTIGRlcGVuZGVuY3kgY29udGFpbnMgdGhlIGZvbGxv
d2luZworc3VwcHJlc3Npb24gZmlsZXM6CisgIHZhbGdyaW5kL21lbWNoZWNrL3N1cHByZXNzaW9u
cy50eHQKKyAgdmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJlc3Npb25zX21hYy50eHQKKyAgdmFsZ3Jp
bmQvdHNhbi9zdXBwcmVzc2lvbnMudHh0CisgIHZhbGdyaW5kL3RzYW4vc3VwcHJlc3Npb25zX21h
Yy50eHQKKyAgdmFsZ3JpbmQvdHNhbi9zdXBwcmVzc2lvbnNfd2luMzIudHh0CitTaW5jZSB0aGV5
J3JlIHJlZmVyZW5jZWQgZnJvbSB0aGUgY2hyb21lX3Rlc3RzLnB5IHNjcmlwdCwgd2UgaGF2ZSBz
aW1pbGFyIGZpbGVzCitiZWxvdyB0aGUgZGlyZWN0b3J5IG9mIHRoaXMgc2NyaXB0LiBXaGVuIGV4
ZWN1dGluZywgdGhpcyBzY3JpcHQgd2lsbCBzZXR1cCBib3RoCitDaHJvbWUncyBzdXBwcmVzc2lv
biBmaWxlcyBhbmQgb3VyIG93biwgc28gd2UgY2FuIGVhc2lseSBtYWludGFpbiBsaWJ5dXYKK3Nw
ZWNpZmljIHN1cHByZXNzaW9ucyBpbiBvdXIgb3duIGZpbGVzLgorIiIiCisKK2ltcG9ydCBsb2dn
aW5nCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitpbXBvcnQgbG9n
Z2luZ191dGlscworaW1wb3J0IHBhdGhfdXRpbHMKKworaW1wb3J0IGNocm9tZV90ZXN0cworCisK
K2NsYXNzIExpYnl1dlRlc3QoY2hyb21lX3Rlc3RzLkNocm9tZVRlc3RzKToKKyAgIiIiQ2xhc3Mg
dGhhdCBoYW5kbGVzIHNldHVwIG9mIHN1cHByZXNzaW9ucyBmb3IgbGlieXV2LgorCisgIEV2ZXJ5
dGhpbmcgZWxzZSBpcyBpbmhlcml0ZWQgZnJvbSBjaHJvbWVfdGVzdHMuQ2hyb21lVGVzdHMuCisg
ICIiIgorCisgIGRlZiBfRGVmYXVsdENvbW1hbmQoc2VsZiwgdG9vbCwgZXhlPU5vbmUsIHZhbGdy
aW5kX3Rlc3RfYXJncz1Ob25lKToKKyAgICAiIiJPdmVycmlkZSBjb21tYW5kLWJ1aWxkaW5nIG1l
dGhvZCBzbyB3ZSBjYW4gYWRkIG1vcmUgc3VwcHJlc3Npb25zLiIiIgorICAgIGNtZCA9IGNocm9t
ZV90ZXN0cy5DaHJvbWVUZXN0cy5fRGVmYXVsdENvbW1hbmQoc2VsZiwgdG9vbCwgZXhlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsZ3JpbmRf
dGVzdF9hcmdzKQorICAgICMgV2hlbiBDaHJvbWVUZXN0cy5fRGVmYXVsdENvbW1hbmQgaGFzIGV4
ZWN1dGVkLCBpdCBoYXMgc2V0dXAgc3VwcHJlc3Npb24KKyAgICAjIGZpbGVzIGJhc2VkIG9uIHdo
YXQncyBmb3VuZCBpbiB0aGUgbWVtY2hlY2svIG9yIHRzYW4vIHN1YmRpcmVjdG9yaWVzIG9mCisg
ICAgIyB0aGlzIHNjcmlwdCdzIGxvY2F0aW9uLiBJZiBNYWMgb3IgV2luZG93cyBpcyBleGVjdXRp
bmcsIGFkZGl0aW9uYWwKKyAgICAjIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzIGhhdmUgYWxzbyBi
ZWVuIGFkZGVkLgorICAgICMgU2luY2Ugb25seSB0aGUgb25lcyBsb2NhdGVkIGJlbG93IHRoaXMg
ZGlyZWN0b3J5IGlzIGFkZGVkLCB3ZSBtdXN0IGFsc28KKyAgICAjIGFkZCB0aGUgb25lcyBtYWlu
dGFpbmVkIGJ5IENocm9tZSwgbG9jYXRlZCBpbiAuLi8uLi90b29scy92YWxncmluZC4KKworICAg
ICMgVGhlIGlkZWEgaXMgdG8gbG9vayBmb3IgLS1zdXBwcmVzc2lvbiBhcmd1bWVudHMgaW4gdGhl
IGNtZCBsaXN0IGFuZCBhZGQgYQorICAgICMgbW9kaWZpZWQgY29weSBvZiBlYWNoIHN1cHByZXNz
aW9uIGZpbGUsIGZvciB0aGUgY29ycmVzcG9uZGluZyBmaWxlIGluCisgICAgIyAuLi8uLi90b29s
cy92YWxncmluZC4KKyAgICBzY3JpcHRfZGlyID0gcGF0aF91dGlscy5TY3JpcHREaXIoKQorICAg
IG9sZF9iYXNlLCBfID0gb3MucGF0aC5zcGxpdChzY3JpcHRfZGlyKQorCisgICAgY2hlY2tvdXRf
c3JjID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihzY3JpcHRfZGlyLCBvcy5wYXJkaXIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXJk
aXIpKQorICAgIG5ld19kaXIgPSBvcy5wYXRoLmpvaW4oY2hlY2tvdXRfc3JjLCAndG9vbHMnLCAn
dmFsZ3JpbmQnKQorICAgIGFkZF9zdXBwcmVzc2lvbnMgPSBbXQorICAgIGZvciB0b2tlbiBpbiBj
bWQ6CisgICAgICBpZiAnLS1zdXBwcmVzc2lvbnMnIGluIHRva2VuOgorICAgICAgICBhZGRfc3Vw
cHJlc3Npb25zLmFwcGVuZCh0b2tlbi5yZXBsYWNlKHNjcmlwdF9kaXIsIG5ld19kaXIpKQorICAg
IHJldHVybiBhZGRfc3VwcHJlc3Npb25zICsgY21kCisKKworZGVmIG1haW4oXyk6CisgIHBhcnNl
ciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcigndXNhZ2U6ICVwcm9nIC1iIDxkaXI+IC10IDx0ZXN0
PiA8dGVzdCBhcmdzPicpCisgIHBhcnNlci5kaXNhYmxlX2ludGVyc3BlcnNlZF9hcmdzKCkKKyAg
cGFyc2VyLmFkZF9vcHRpb24oJy1iJywgJy0tYnVpbGQtZGlyJywKKyAgICAgICAgICAgICAgICAg
ICAgaGVscD0oJ0xvY2F0aW9uIG9mIHRoZSBjb21waWxlciBvdXRwdXQuIENhbiBvbmx5IGJlIHVz
ZWQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAnd2hlbiB0aGUgdGVzdCBhcmd1bWVudCBk
b2VzIG5vdCBjb250YWluIHRoaXMgcGF0aC4nKSkKKyAgcGFyc2VyLmFkZF9vcHRpb24oIi0tdGFy
Z2V0IiwgaGVscD0iRGVidWcgb3IgUmVsZWFzZSIpCisgIHBhcnNlci5hZGRfb3B0aW9uKCctdCcs
ICctLXRlc3QnLCBoZWxwPSdUZXN0IHRvIHJ1bi4nKQorICBwYXJzZXIuYWRkX29wdGlvbignJywg
Jy0tYmFzZWxpbmUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAg
ICAgICAgICAgICAgICBoZWxwPSdHZW5lcmF0ZSBiYXNlbGluZSBkYXRhIGluc3RlYWQgb2YgdmFs
aWRhdGluZycpCisgIHBhcnNlci5hZGRfb3B0aW9uKCcnLCAnLS1ndGVzdF9maWx0ZXInLAorICAg
ICAgICAgICAgICAgICAgICBoZWxwPSdBZGRpdGlvbmFsIGFyZ3VtZW50cyB0byAtLWd0ZXN0X2Zp
bHRlcicpCisgIHBhcnNlci5hZGRfb3B0aW9uKCcnLCAnLS1ndGVzdF9yZXBlYXQnLAorICAgICAg
ICAgICAgICAgICAgICBoZWxwPSdBcmd1bWVudCBmb3IgLS1ndGVzdF9yZXBlYXQnKQorICBwYXJz
ZXIuYWRkX29wdGlvbigiLS1ndGVzdF9zaHVmZmxlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVm
YXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgaGVscD0iUmFuZG9taXplIHRlc3RzJyBv
cmRlcnMgb24gZXZlcnkgaXRlcmF0aW9uLiIpCisgIHBhcnNlci5hZGRfb3B0aW9uKCItLWd0ZXN0
X2JyZWFrX29uX2ZhaWx1cmUiLCBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAg
ICAgICBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICBoZWxwPSJEcm9wIGluIHRv
IGRlYnVnZ2VyIG9uIGFzc2VydGlvbiBmYWlsdXJlLiBBbHNvICIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAidXNlZnVsIGZvciBmb3JjaW5nIHRlc3RzIHRvIGV4aXQgd2l0aCBhIHN0YWNrIGR1
bXAgIgorICAgICAgICAgICAgICAgICAgICAgICAgICJvbiB0aGUgZmlyc3QgYXNzZXJ0aW9uIGZh
aWx1cmUgd2hlbiBydW5uaW5nIHdpdGggIgorICAgICAgICAgICAgICAgICAgICAgICAgICItLWd0
ZXN0X3JlcGVhdD0tMSIpCisgIHBhcnNlci5hZGRfb3B0aW9uKCctdicsICctLXZlcmJvc2UnLCBh
Y3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICBo
ZWxwPSdWZXJib3NlIG91dHB1dCAtIGVuYWJsZSBkZWJ1ZyBsb2cgbWVzc2FnZXMnKQorICBwYXJz
ZXIuYWRkX29wdGlvbignJywgJy0tdG9vbCcsIGRlc3Q9J3ZhbGdyaW5kX3Rvb2wnLCBkZWZhdWx0
PSdtZW1jaGVjaycsCisgICAgICAgICAgICAgICAgICAgIGhlbHA9J1NwZWNpZnkgYSB2YWxncmlu
ZCB0b29sIHRvIHJ1biB0aGUgdGVzdHMgdW5kZXInKQorICBwYXJzZXIuYWRkX29wdGlvbignJywg
Jy0tdG9vbF9mbGFncycsIGRlc3Q9J3ZhbGdyaW5kX3Rvb2xfZmxhZ3MnLCBkZWZhdWx0PScnLAor
ICAgICAgICAgICAgICAgICAgICBoZWxwPSdTcGVjaWZ5IGN1c3RvbSBmbGFncyBmb3IgdGhlIHNl
bGVjdGVkIHZhbGdyaW5kIHRvb2wnKQorICBwYXJzZXIuYWRkX29wdGlvbignJywgJy0ta2VlcF9s
b2dzJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAg
ICAgICAgaGVscD0oJ1N0b3JlIG1lbW9yeSB0b29sIGxvZ3MgaW4gdGhlIDx0b29sPi5sb2dzIGRp
cmVjdG9yeSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnN0ZWFkIG9mIC90bXAuXG5U
aGlzIGNhbiBiZSB1c2VmdWwgZm9yIHRvb2wgJworICAgICAgICAgICAgICAgICAgICAgICAgICAn
ZGV2ZWxvcGVycy9tYWludGFpbmVycy5cblBsZWFzZSBub3RlIHRoYXQgdGhlIDx0b29sPicKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy5sb2dzIGRpcmVjdG9yeSB3aWxsIGJlIGNsb2JiZXJl
ZCBvbiB0b29sIHN0YXJ0dXAuJykpCisgIHBhcnNlci5hZGRfb3B0aW9uKCItLXRlc3QtbGF1bmNo
ZXItYm90LW1vZGUiLCBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJydW4gdGhlIHRlc3RzIHdpdGggLS10ZXN0LWxhdW5jaGVyLWJvdC1tb2RlIikKKyAgcGFy
c2VyLmFkZF9vcHRpb24oIi0tdGVzdC1sYXVuY2hlci10b3RhbC1zaGFyZHMiLCB0eXBlPWludCwK
KyAgICAgICAgICAgICAgICAgICAgaGVscD0icnVuIHRoZSB0ZXN0cyB3aXRoIC0tdGVzdC1sYXVu
Y2hlci10b3RhbC1zaGFyZHMiKQorICBwYXJzZXIuYWRkX29wdGlvbigiLS10ZXN0LWxhdW5jaGVy
LXNoYXJkLWluZGV4IiwgdHlwZT1pbnQsCisgICAgICAgICAgICAgICAgICAgIGhlbHA9InJ1biB0
aGUgdGVzdHMgd2l0aCAtLXRlc3QtbGF1bmNoZXItc2hhcmQtaW5kZXgiKQorICBvcHRpb25zLCBh
cmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgIGlmIG9wdGlvbnMudmVyYm9zZToKKyAgICBs
b2dnaW5nX3V0aWxzLmNvbmZpZ19yb290KGxvZ2dpbmcuREVCVUcpCisgIGVsc2U6CisgICAgbG9n
Z2luZ191dGlscy5jb25maWdfcm9vdCgpCisKKyAgaWYgbm90IG9wdGlvbnMudGVzdDoKKyAgICBw
YXJzZXIuZXJyb3IoJy0tdGVzdCBub3Qgc3BlY2lmaWVkJykKKworICAjIFN1cHBvcnQgYnVpbGQg
ZGlyIGJvdGggd2l0aCBhbmQgd2l0aG91dCB0aGUgdGFyZ2V0LgorICBpZiAob3B0aW9ucy50YXJn
ZXQgYW5kIG9wdGlvbnMuYnVpbGRfZGlyIGFuZAorICAgICAgbm90IG9wdGlvbnMuYnVpbGRfZGly
LmVuZHN3aXRoKG9wdGlvbnMudGFyZ2V0KSk6CisgICAgb3B0aW9ucy5idWlsZF9kaXIgPSBvcy5w
YXRoLmpvaW4ob3B0aW9ucy5idWlsZF9kaXIsIG9wdGlvbnMudGFyZ2V0KQorCisgICMgSWYgLS1i
dWlsZF9kaXIgaXMgcHJvdmlkZWQsIHByZXBlbmQgaXQgdG8gdGhlIHRlc3QgZXhlY3V0YWJsZSBp
ZiBuZWVkZWQuCisgIHRlc3RfZXhlY3V0YWJsZSA9IG9wdGlvbnMudGVzdAorICBpZiBvcHRpb25z
LmJ1aWxkX2RpciBhbmQgbm90IHRlc3RfZXhlY3V0YWJsZS5zdGFydHN3aXRoKG9wdGlvbnMuYnVp
bGRfZGlyKToKKyAgICB0ZXN0X2V4ZWN1dGFibGUgPSBvcy5wYXRoLmpvaW4ob3B0aW9ucy5idWls
ZF9kaXIsIHRlc3RfZXhlY3V0YWJsZSkKKyAgYXJncyA9IFt0ZXN0X2V4ZWN1dGFibGVdICsgYXJn
cworCisgIHRlc3QgPSBMaWJ5dXZUZXN0KG9wdGlvbnMsIGFyZ3MsICdjbWRsaW5lJykKKyAgcmV0
dXJuIHRlc3QuUnVuKCkKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgcmV0dXJuX2Nv
ZGUgPSBtYWluKHN5cy5hcmd2KQorICBzeXMuZXhpdChyZXR1cm5fY29kZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3Rv
b2xzX2xpYnl1di92YWxncmluZC9saWJ5dXZfdGVzdHMuc2ggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdmFsZ3JpbmQv
bGlieXV2X3Rlc3RzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3NWI1ZTNlZTFiZDM2NTBmMmZkOGY2NGY0ODg2
YmU4ZGJmZGEzZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdmFsZ3JpbmQvbGlieXV2
X3Rlc3RzLnNoCkBAIC0wLDAgKzEsMTAxIEBACisjIS9iaW4vYmFzaAorIyBDb3B5cmlnaHQgKGMp
IDIwMTIgVGhlIExpYll1diBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
CisjIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp
Y2Vuc2UKKyMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9v
dCBvZiB0aGUgc291cmNlCisjIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50ZWxsZWN0dWFsIHByb3Bl
cnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKKyMgaW4gdGhlIGZpbGUgUEFURU5UUy4gIEFs
bCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQorIyBiZSBmb3VuZCBpbiB0aGUgQVVU
SE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KKworIyBTZXQgdXAgc29t
ZSBwYXRocyBhbmQgcmUtZGlyZWN0IHRoZSBhcmd1bWVudHMgdG8gbGlieXV2X3Rlc3RzLnB5CisK
KyMgVGhpcyBzY3JpcHQgaXMgYSBjb3B5IG9mIHRoZSBjaHJvbWVfdGVzdHMuc2ggd3JhcHBlciBz
Y3JpcHQgd2l0aCB0aGUgZm9sbG93aW5nCisjIGNoYW5nZXM6CisjIC0gVGhlIGxvY2F0ZV92YWxn
cmluZC5zaCBvZiBDaHJvbWl1bSdzIFZhbGdyaW5kIHNjcmlwdHMgZGlyIGlzIHVzZWQgdG8gbG9j
YXRlCisjICAgdGhlIFZhbGdyaW5kIGZyYW1ld29yayBpbnN0YWxsLiBJZiBpdCBmYWlscyBhIGZh
bGxiYWNrIHBhdGggaXMgdXNlZCBpbnN0ZWFkCisjICAgKC4uLy4uL2Nocm9taXVtL3NyYy90aGly
ZF9wYXJ0eS92YWxncmluZC9saW51eF94NjQpIGFuZCBhIHdhcm5pbmcgbWVzc2FnZQorIyAgIGlz
IHNob3dlZCBieSB8c2hvd19sb2NhdGVfdmFsZ3JpbmRfZmFpbGVkX3dhcm5pbmd8LgorIyAtIGxp
Ynl1dl90ZXN0cy5weSBpcyBpbnZva2VkIGluc3RlYWQgb2YgY2hyb21lX3Rlc3RzLnB5LgorIyAt
IENocm9taXVtJ3MgVmFsZ3JpbmQgc2NyaXB0cyBkaXJlY3RvcnkgaXMgYWRkZWQgdG8gdGhlIFBZ
VEhPTlBBVEggdG8gbWFrZSBpdAorIyAgIHBvc3NpYmxlIHRvIGV4ZWN1dGUgdGhlIFB5dGhvbiBz
Y3JpcHRzIHByb3Blcmx5LgorCitleHBvcnQgVEhJU0RJUj1gZGlybmFtZSAkMGAKK0FSR1ZfQ09Q
WT0iJEAiCisKKyMgV2UgbmVlZCB0byBzZXQgQ0hST01FX1ZBTEdSSU5EIGlmZiB1c2luZyBNZW1j
aGVjazoKKyMgICB0b29sc19saWJ5dXYvdmFsZ3JpbmQvbGlieXV2X3Rlc3RzLnNoIC0tdG9vbCBt
ZW1jaGVjaworIyBvcgorIyAgIHRvb2xzX2xpYnl1di92YWxncmluZC9saWJ5dXZfdGVzdHMuc2gg
LS10b29sPW1lbWNoZWNrCit0b29sPSJtZW1jaGVjayIgICMgRGVmYXVsdCB0byBtZW1jaGVjay4K
K3doaWxlICgoICIkIyIgKSkKK2RvCisgIGlmIFtbICIkMSIgPT0gIi0tdG9vbCIgXV0KKyAgdGhl
bgorICAgIHRvb2w9IiQyIgorICAgIHNoaWZ0CisgIGVsaWYgW1sgIiQxIiA9fiAtLXRvb2w9KC4q
KSBdXQorICB0aGVuCisgICAgdG9vbD0iJHtCQVNIX1JFTUFUQ0hbMV19IgorICBmaQorICBzaGlm
dAorZG9uZQorCitORUVEU19WQUxHUklORD0wCisKK2Nhc2UgIiR0b29sIiBpbgorICAibWVtY2hl
Y2siKQorICAgIE5FRURTX1ZBTEdSSU5EPTEKKyAgICA7OworZXNhYworCisjIEZvciBsaWJ5dXYs
IHdlJ2xsIHVzZSB0aGUgbG9jYXRlX3ZhbGdyaW5kLnNoIHNjcmlwdCBpbiBDaHJvbWl1bSdzIFZh
bGdyaW5kCisjIHNjcmlwdHMgZGlyIHRvIGxvY2F0ZSB0aGUgVmFsZ3JpbmQgZnJhbWV3b3JrIGlu
c3RhbGwKK0NIUk9NRV9WQUxHUklORF9TQ1JJUFRTPSRUSElTRElSLy4uLy4uL3Rvb2xzL3ZhbGdy
aW5kCisKK2lmIFsgIiRORUVEU19WQUxHUklORCIgPT0gIjEiIF0KK3RoZW4KKyAgQ0hST01FX1ZB
TEdSSU5EPWBzaCAkQ0hST01FX1ZBTEdSSU5EX1NDUklQVFMvbG9jYXRlX3ZhbGdyaW5kLnNoYAor
ICBpZiBbICIkQ0hST01FX1ZBTEdSSU5EIiA9ICIiIF0KKyAgdGhlbgorICAgIENIUk9NRV9WQUxH
UklORD0uLi8uLi9zcmMvdGhpcmRfcGFydHkvdmFsZ3JpbmQvbGludXhfeDY0CisgICAgZWNobwor
ICAgIGVjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tIFdBUk5JTkcgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tIgorICAgIGVjaG8gImxvY2F0ZV92YWxncmluZC5zaCBmYWlsZWQuIgorICAgIGVjaG8g
IlVzaW5nICRDSFJPTUVfVkFMR1JJTkQgYXMgYSBmYWxsYmFjayBsb2NhdGlvbi4iCisgICAgZWNo
byAiVGhpcyBtaWdodCBiZSBiZWNhdXNlOiIKKyAgICBlY2hvICIxKSBUaGlzIGlzIGEgc3dhcm1p
bmcgYm90IgorICAgIGVjaG8gIjIpIFlvdSBoYXZlbid0IHNldCB1cCB0aGUgdmFsZ3JpbmQgYmlu
YXJpZXMgY29ycmVjdGx5LiIKKyAgICBlY2hvICJJbiB0aGlzIGNhc2UsIHBsZWFzZSBtYWtlIHN1
cmUgeW91IGhhdmUgZm9sbG93ZWQgdGhlIGluc3RydWN0aW9ucyBhdCIKKyAgICBlY2hvICJodHRw
Oi8vd3d3LmNocm9taXVtLm9yZy9kZXZlbG9wZXJzL2hvdy10b3MvdXNpbmctdmFsZ3JpbmQvZ2V0
LXZhbGdyaW5kIgorICAgIGVjaG8gIk5vdGljZTogSW4gdGhlIC5nY2xpZW50IGZpbGUsIHlvdSBu
ZWVkIHRvIGFkZCB0aGlzIGZvciB0aGUgJ2xpYnl1diciCisgICAgZWNobyAic29sdXRpb24gc2lu
Y2Ugb3VyIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgaXMgZGlmZmVyZW50IGZyb20gQ2hyb21pdW0nczoi
CisgICAgZWNobyAiXCJjdXN0b21fZGVwc1wiOiB7IgorICAgIGVjaG8gIiAgXCJsaWJ5dXYvdGhp
cmRfcGFydHkvdmFsZ3JpbmRcIjoiCisgICAgZWNobyAiICAgICAgXCJodHRwczovL2Nocm9taXVt
Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vZGVwcy92YWxncmluZC9iaW5hcmllc1wiLCIKKyAg
ICBlY2hvICJ9LCIKKyAgICBlY2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSIKKyAgICBlY2hvCisgIGZpCisgIGVjaG8gIlVzaW5nIHZhbGdy
aW5kIGJpbmFyaWVzIGZyb20gJHtDSFJPTUVfVkFMR1JJTkR9IgorCisgIFBBVEg9IiR7Q0hST01F
X1ZBTEdSSU5EfS9iaW46JFBBVEgiCisgICMgV2UgbmVlZCB0byBzZXQgdGhlc2UgdmFyaWFibGVz
IHRvIG92ZXJyaWRlIGRlZmF1bHQgbGliIHBhdGhzIGhhcmQtY29kZWQgaW50bworICAjIFZhbGdy
aW5kIGJpbmFyeS4KKyAgZXhwb3J0IFZBTEdSSU5EX0xJQj0iJENIUk9NRV9WQUxHUklORC9saWIv
dmFsZ3JpbmQiCisgIGV4cG9ydCBWQUxHUklORF9MSUJfSU5ORVI9IiRDSFJPTUVfVkFMR1JJTkQv
bGliL3ZhbGdyaW5kIgorCisgICMgQ2xlYW4gdXAgc29tZSAvdG1wIGRpcmVjdG9yaWVzIHRoYXQg
bWlnaHQgYmUgc3RhbGUgZHVlIHRvIGludGVycnVwdGVkCisgICMgY2hyb21lX3Rlc3RzLnB5IGV4
ZWN1dGlvbi4KKyAgIyBGWUk6CisgICMgICAtbXRpbWUgKzEgIDwtIG9ubHkgcHJpbnQgZmlsZXMg
bW9kaWZpZWQgbW9yZSB0aGFuIDI0aCBhZ28sCisgICMgICAtcHJpbnQwLy0wIGFyZSBuZWVkZWQg
dG8gaGFuZGxlIHBvc3NpYmxlIG5ld2xpbmVzIGluIHRoZSBmaWxlbmFtZXMuCisgIGVjaG8gIkNs
ZWFudXAgL3RtcCBmcm9tIFZhbGdyaW5kIHN0dWZmIgorICBmaW5kIC90bXAgLW1heGRlcHRoIDEg
XChcCisgICAgICAgIC1uYW1lICJ2Z2RiLXBpcGUtKiIgLW9yIC1uYW1lICJ2Z19sb2dzXyoiIC1v
ciAtbmFtZSAidmFsZ3JpbmQuKiIgXAorICAgICAgXCkgLW10aW1lICsxIC1wcmludDAgfCB4YXJn
cyAtMCBybSAtcmYKK2ZpCisKKyMgQWRkIENocm9tZSdzIFZhbGdyaW5kIHNjcmlwdHMgZGlyIHRv
IHRoZSBQWVRIT05fUEFUSCBzaW5jZSBpdCBjb250YWlucworIyB0aGUgc2NyaXB0cyB0aGF0IGFy
ZSBuZWVkZWQgZm9yIHRoaXMgc2NyaXB0IHRvIHJ1bgorUFlUSE9OUEFUSD0kVEhJU0RJUi8uLi8u
Li90b29scy9weXRob24vZ29vZ2xlOiRDSFJPTUVfVkFMR1JJTkRfU0NSSVBUUyBweXRob24gXAor
ICAgICAgICAgICAiJFRISVNESVIvbGlieXV2X3Rlc3RzLnB5IiAkQVJHVl9DT1BZCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di90b29sc19saWJ5dXYvdmFsZ3JpbmQvbWVtY2hlY2svT1dORVJTIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L3ZhbGdy
aW5kL21lbWNoZWNrL09XTkVSUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MmU4ZmZjMGRiOGFhZDcxYTkzNGRkMTFl
NTk2OGJkNTEwOWU1NGI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L3ZhbGdyaW5kL21l
bWNoZWNrL09XTkVSUwpAQCAtMCwwICsxIEBACisqCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di90b29sc19saWJ5dXYvdmFs
Z3JpbmQvbWVtY2hlY2svUFJFU1VCTUlULnB5IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L3ZhbGdyaW5kL21lbWNoZWNr
L1BSRVNVQk1JVC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzMyOTIxNDhkNjc2NTAxOGRiMWUzNTExYWZmM2U3
NGNjN2MwODZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L3ZhbGdyaW5kL21lbWNoZWNr
L1BSRVNVQk1JVC5weQpAQCAtMCwwICsxLDk5IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMg
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBMaWJZdXYgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlCisjIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQorIyB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVs
bGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCisjIGluIHRoZSBmaWxl
IFBBVEVOVFMuICBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKKyMgYmUgZm91
bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCisK
KyIiIgorQ29waWVkIGZyb20gQ2hyb21lJ3Mgc3JjL3Rvb2xzL3ZhbGdyaW5kL21lbWNoZWNrL1BS
RVNVQk1JVC5weQorCitTZWUgaHR0cDovL2Rldi5jaHJvbWl1bS5vcmcvZGV2ZWxvcGVycy9ob3ct
dG9zL2RlcG90dG9vbHMvcHJlc3VibWl0LXNjcmlwdHMKK2ZvciBtb3JlIGRldGFpbHMgb24gdGhl
IHByZXN1Ym1pdCBBUEkgYnVpbHQgaW50byBnY2wuCisiIiIKKworaW1wb3J0IG9zCitpbXBvcnQg
cmUKK2ltcG9ydCBzeXMKKworZGVmIENoZWNrQ2hhbmdlKGlucHV0X2FwaSwgb3V0cHV0X2FwaSk6
CisgICIiIkNoZWNrcyB0aGUgbWVtY2hlY2sgc3VwcHJlc3Npb25zIGZpbGVzIGZvciBiYWQgZGF0
YS4iIiIKKworICAjIEFkZCB0aGUgcGF0aCB0byB0aGUgQ2hyb21lIHZhbGdyaW5kIGRpciB0byB0
aGUgaW1wb3J0IHBhdGg6CisgIHRvb2xzX3ZnX3BhdGggPSBvcy5wYXRoLmpvaW4oaW5wdXRfYXBp
LlByZXN1Ym1pdExvY2FsUGF0aCgpLCAnLi4nLCAnLi4nLCAnLi4nLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICd0b29scycsICd2YWxncmluZCcpCisgIHN5cy5wYXRoLmFwcGVuZCh0
b29sc192Z19wYXRoKQorICBpbXBvcnQgc3VwcHJlc3Npb25zCisKKyAgc3VwX3JlZ2V4ID0gcmUu
Y29tcGlsZSgnc3VwcHJlc3Npb25zLipcLnR4dCQnKQorICBzdXBwcmVzc2lvbnMgPSB7fQorICBl
cnJvcnMgPSBbXQorICBjaGVja19mb3JfbWVtY2hlY2sgPSBGYWxzZQorICAjIHNraXBfbmV4dF9s
aW5lIGhhcyAzIHBvc3NpYmxlIHZhbHVlczoKKyAgIyAtIEZhbHNlOiBkb24ndCBza2lwIHRoZSBu
ZXh0IGxpbmUuCisgICMgLSAnc2tpcF9zdXBwcmVzc2lvbl9uYW1lJzogdGhlIG5leHQgbGluZSBp
cyBhIHN1cHByZXNzaW9uIG5hbWUsIHNraXAuCisgICMgLSAnc2tpcF9wYXJhbSc6IHRoZSBuZXh0
IGxpbmUgaXMgYSBzeXN0ZW0gY2FsbCBwYXJhbWV0ZXIgZXJyb3IsIHNraXAuCisgIHNraXBfbmV4
dF9saW5lID0gRmFsc2UKKyAgZm9yIGYgaW4gZmlsdGVyKGxhbWJkYSB4OiBzdXBfcmVnZXguc2Vh
cmNoKHguTG9jYWxQYXRoKCkpLAorICAgICAgICAgICAgICAgICAgaW5wdXRfYXBpLkFmZmVjdGVk
RmlsZXMoKSk6CisgICAgZm9yIGxpbmUsIGxpbmVfbnVtIGluIHppcChmLk5ld0NvbnRlbnRzKCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4cmFuZ2UoMSwgbGVuKGYuTmV3Q29udGVu
dHMoKSkgKyAxKSk6CisgICAgICBsaW5lID0gbGluZS5sc3RyaXAoKQorICAgICAgaWYgbGluZS5z
dGFydHN3aXRoKCcjJykgb3Igbm90IGxpbmU6CisgICAgICAgIGNvbnRpbnVlCisKKyAgICAgIGlm
IHNraXBfbmV4dF9saW5lOgorICAgICAgICBpZiBza2lwX25leHRfbGluZSA9PSAnc2tpcF9zdXBw
cmVzc2lvbl9uYW1lJzoKKyAgICAgICAgICBpZiAnaW5zZXJ0X2Ffc3VwcHJlc3Npb25fbmFtZV9o
ZXJlJyBpbiBsaW5lOgorICAgICAgICAgICAgZXJyb3JzLmFwcGVuZCgnImluc2VydF9hX3N1cHBy
ZXNzaW9uX25hbWVfaGVyZSIgaXMgbm90IGEgdmFsaWQgJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAnc3VwcHJlc3Npb24gbmFtZScpCisgICAgICAgICAgaWYgc3VwcHJlc3Npb25zLmhhc19r
ZXkobGluZSk6CisgICAgICAgICAgICBpZiBmLkxvY2FsUGF0aCgpID09IHN1cHByZXNzaW9uc1ts
aW5lXVsxXToKKyAgICAgICAgICAgICAgZXJyb3JzLmFwcGVuZCgnc3VwcHJlc3Npb24gd2l0aCBu
YW1lICIlcyIgYXQgJXMgbGluZSAlcyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hh
cyBhbHJlYWR5IGJlZW4gZGVmaW5lZCBhdCBsaW5lICVzJyAlCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGxpbmUsIGYuTG9jYWxQYXRoKCksIGxpbmVfbnVtLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdXBwcmVzc2lvbnNbbGluZV1bMV0pKQorICAgICAgICAgICAgZWxzZToK
KyAgICAgICAgICAgICAgZXJyb3JzLmFwcGVuZCgnc3VwcHJlc3Npb24gd2l0aCBuYW1lICIlcyIg
YXQgJXMgbGluZSAlcyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hhcyBhbHJlYWR5
IGJlZW4gZGVmaW5lZCBhdCAlcyBsaW5lICVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGxpbmUsIGYuTG9jYWxQYXRoKCksIGxpbmVfbnVtLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdXBwcmVzc2lvbnNbbGluZV1bMF0sIHN1cHByZXNzaW9uc1tsaW5lXVsxXSkpCisg
ICAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHN1cHByZXNzaW9uc1tsaW5lXSA9IChmLCBsaW5l
X251bSkKKyAgICAgICAgICAgIGNoZWNrX2Zvcl9tZW1jaGVjayA9IFRydWU7CisgICAgICAgIHNr
aXBfbmV4dF9saW5lID0gRmFsc2UKKyAgICAgICAgY29udGludWUKKyAgICAgIGlmIGNoZWNrX2Zv
cl9tZW1jaGVjazoKKyAgICAgICAgaWYgbm90IGxpbmUuc3RhcnRzd2l0aCgnTWVtY2hlY2s6Jyk6
CisgICAgICAgICAgZXJyb3JzLmFwcGVuZCgnIiVzIiBzaG91bGQgYmUgIk1lbWNoZWNrOi4uLiIg
aW4gJXMgbGluZSAlcycgJQorICAgICAgICAgICAgICAgICAgICAgICAgKGxpbmUsIGYuTG9jYWxQ
YXRoKCksIGxpbmVfbnVtKSkKKyAgICAgICAgY2hlY2tfZm9yX21lbWNoZWNrID0gRmFsc2U7Cisg
ICAgICBpZiBsaW5lID09ICd7JzoKKyAgICAgICAgc2tpcF9uZXh0X2xpbmUgPSAnc2tpcF9zdXBw
cmVzc2lvbl9uYW1lJworICAgICAgICBjb250aW51ZQorICAgICAgaWYgbGluZSA9PSAiTWVtY2hl
Y2s6UGFyYW0iOgorICAgICAgICBza2lwX25leHRfbGluZSA9ICdza2lwX3BhcmFtJworICAgICAg
ICBjb250aW51ZQorCisgICAgICBpZiAobGluZS5zdGFydHN3aXRoKCdmdW46Jykgb3IgbGluZS5z
dGFydHN3aXRoKCdvYmo6Jykgb3IKKyAgICAgICAgICBsaW5lLnN0YXJ0c3dpdGgoJ01lbWNoZWNr
OicpIG9yIGxpbmUgPT0gJ30nIG9yCisgICAgICAgICAgbGluZSA9PSAnLi4uJyk6CisgICAgICAg
IGNvbnRpbnVlCisgICAgICBlcnJvcnMuYXBwZW5kKCciJXMiIGlzIHByb2JhYmx5IHdyb25nOiAl
cyBsaW5lICVzJyAlIChsaW5lLCBmLkxvY2FsUGF0aCgpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZV9udW0pKQorICBpZiBl
cnJvcnM6CisgICAgcmV0dXJuIFtvdXRwdXRfYXBpLlByZXN1Ym1pdEVycm9yKCdcbicuam9pbihl
cnJvcnMpKV0KKyAgcmV0dXJuIFtdCisKK2RlZiBDaGVja0NoYW5nZU9uVXBsb2FkKGlucHV0X2Fw
aSwgb3V0cHV0X2FwaSk6CisgIHJldHVybiBDaGVja0NoYW5nZShpbnB1dF9hcGksIG91dHB1dF9h
cGkpCisKK2RlZiBDaGVja0NoYW5nZU9uQ29tbWl0KGlucHV0X2FwaSwgb3V0cHV0X2FwaSk6Cisg
IHJldHVybiBDaGVja0NoYW5nZShpbnB1dF9hcGksIG91dHB1dF9hcGkpCisKK2RlZiBHZXRQcmVm
ZXJyZWRUcnlTbGF2ZXMoKToKKyAgIyBXZSBkb24ndCBoYXZlIGFueSBtZW1jaGVjayBzbGF2ZXMg
eWV0LCBzbyB0aGVyZSdzIG5vIHVzZSBmb3IgdGhpcyBtZXRob2QuCisgICMgV2hlbiB3ZSBoYXZl
LCB0aGUgc2xhdmUgbmFtZShzKSBzaG91bGQgYmUgcHV0IGludG8gdGhpcyBsaXN0LgorICByZXR1
cm4gW10KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di92YWxncmluZC9tZW1jaGVjay9zdXBwcmVzc2lv
bnMudHh0IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvdG9vbHNfbGlieXV2L3ZhbGdyaW5kL21lbWNoZWNrL3N1cHByZXNzaW9ucy50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2FkMGM4Y2NjNTczOTdiOGU3NWU0ZThiZGMyYzAxNDNkMmVjNTZiOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3Rvb2xzX2xpYnl1di92YWxncmluZC9tZW1jaGVjay9zdXBwcmVzc2lvbnMudHh0
CkBAIC0wLDAgKzEsNSBAQAorIyBUaGlzIGZpbGUgaXMgdXNlZCBpbiBhZGRpdGlvbiB0byB0aGUg
b25lIGFscmVhZHkgbWFpbnRhaW5lZCBpbiBDaHJvbWUuCisjIEl0IGFjdHMgYXMgYSBwbGFjZSBo
b2xkZXIgZm9yIGZ1dHVyZSBhZGRpdGlvbnMgZm9yIHRoaXMgcHJvamVjdC4KKyMgSXQgbXVzdCBl
eGlzdCBmb3IgdGhlIFB5dGhvbiB3cmFwcGVyIHNjcmlwdCB0byB3b3JrIHByb3Blcmx5LgorCisK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3Rvb2xzX2xpYnl1di92YWxncmluZC9tZW1jaGVjay9zdXBwcmVzc2lvbnNfbWFj
LnR4dCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3Rvb2xzX2xpYnl1di92YWxncmluZC9tZW1jaGVjay9zdXBwcmVzc2lvbnNfbWFjLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zYWQwYzhjY2M1NzM5N2I4ZTc1ZTRlOGJkYzJjMDE0M2QyZWM1NmI4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L3ZhbGdyaW5kL21lbWNoZWNrL3N1cHByZXNzaW9uc19t
YWMudHh0CkBAIC0wLDAgKzEsNSBAQAorIyBUaGlzIGZpbGUgaXMgdXNlZCBpbiBhZGRpdGlvbiB0
byB0aGUgb25lIGFscmVhZHkgbWFpbnRhaW5lZCBpbiBDaHJvbWUuCisjIEl0IGFjdHMgYXMgYSBw
bGFjZSBob2xkZXIgZm9yIGZ1dHVyZSBhZGRpdGlvbnMgZm9yIHRoaXMgcHJvamVjdC4KKyMgSXQg
bXVzdCBleGlzdCBmb3IgdGhlIFB5dGhvbiB3cmFwcGVyIHNjcmlwdCB0byB3b3JrIHByb3Blcmx5
LgorCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di92YWxncmluZC9tZW1jaGVjay9zdXBwcmVzc2lv
bnNfd2luMzIudHh0IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdG9vbHNfbGlieXV2L3ZhbGdyaW5kL21lbWNoZWNrL3N1cHByZXNzaW9uc193
aW4zMi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2FkMGM4Y2NjNTczOTdiOGU3NWU0ZThiZGMyYzAxNDNkMmVj
NTZiOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L3Rvb2xzX2xpYnl1di92YWxncmluZC9tZW1jaGVjay9zdXBw
cmVzc2lvbnNfd2luMzIudHh0CkBAIC0wLDAgKzEsNSBAQAorIyBUaGlzIGZpbGUgaXMgdXNlZCBp
biBhZGRpdGlvbiB0byB0aGUgb25lIGFscmVhZHkgbWFpbnRhaW5lZCBpbiBDaHJvbWUuCisjIEl0
IGFjdHMgYXMgYSBwbGFjZSBob2xkZXIgZm9yIGZ1dHVyZSBhZGRpdGlvbnMgZm9yIHRoaXMgcHJv
amVjdC4KKyMgSXQgbXVzdCBleGlzdCBmb3IgdGhlIFB5dGhvbiB3cmFwcGVyIHNjcmlwdCB0byB3
b3JrIHByb3Blcmx5LgorCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9jb2xvcl90ZXN0LmNjIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90
ZXN0L2NvbG9yX3Rlc3QuY2MKaW5kZXggMzYwNDFkOTk4Mjk4YjQwYTczMTVmZTU2MTYyNDNhZGMw
ZTM4ZjMyYi4uMGFhN2E1NGFjMDEyNWQwZjhhZmJiYzdmMDkzMTg4ZjRjYWZhMmVlYSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvdW5pdF90ZXN0L2NvbG9yX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L2NvbG9yX3Rlc3QuY2MKQEAg
LTEwLDEzICsxMCwxMyBAQAogCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAKKyNpbmNsdWRlICIuLi91
bml0X3Rlc3QvdW5pdF90ZXN0LmgiCiAjaW5jbHVkZSAibGlieXV2L2Jhc2ljX3R5cGVzLmgiCiAj
aW5jbHVkZSAibGlieXV2L2NvbnZlcnQuaCIKICNpbmNsdWRlICJsaWJ5dXYvY29udmVydF9hcmdi
LmgiCiAjaW5jbHVkZSAibGlieXV2L2NvbnZlcnRfZnJvbS5oIgogI2luY2x1ZGUgImxpYnl1di9j
b252ZXJ0X2Zyb21fYXJnYi5oIgogI2luY2x1ZGUgImxpYnl1di9jcHVfaWQuaCIKLSNpbmNsdWRl
ICIuLi91bml0X3Rlc3QvdW5pdF90ZXN0LmgiCiAKIG5hbWVzcGFjZSBsaWJ5dXYgewogCkBAIC0z
OCwxMTAgKzM4LDEwMyBAQCBuYW1lc3BhY2UgbGlieXV2IHsKIAogI2RlZmluZSBURVNUQ1MoVEVT
VE5BTUUsIFlVVlRPQVJHQiwgQVJHQlRPWVVWLCBIUzEsIEhTLCBITiwgRElGRikgICAgICAgICAg
ICAgIFwKICAgVEVTVF9GKExpYllVVkNvbG9yVGVzdCwgVEVTVE5BTUUpIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrUGl4ZWxzID0gYmVu
Y2htYXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfOyAgICAgICAgICAgICAgICAgICAgXAot
ICBjb25zdCBpbnQga0hhbGZQaXhlbHMgPSAoKGJlbmNobWFya193aWR0aF8gKyAxKSAvIDIpICog
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICgoYmVuY2htYXJrX2hlaWdodF8gKyBIUzEp
IC8gSFMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWdu
X2J1ZmZlcl9wYWdlX2VuZChvcmlnX3ksIGtQaXhlbHMpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQob3JpZ191LCBrSGFsZlBp
eGVscyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVy
X3BhZ2VfZW5kKG9yaWdfdiwga0hhbGZQaXhlbHMpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3BpeGVscywga1BpeGVscyAq
IDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9l
bmQodGVtcF95LCBrUGl4ZWxzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHRlbXBfdSwga0hhbGZQaXhlbHMpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZCh0ZW1w
X3YsIGtIYWxmUGl4ZWxzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBh
bGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3BpeGVsc19vcHQsIGtQaXhlbHMgKiA0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9waXhlbHNf
Yywga1BpeGVscyAqIDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3Qg
aW50IGtQaXhlbHMgPSBiZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJrX2hlaWdodF87ICAgICAg
ICAgICAgICAgICAgXAorICAgIGNvbnN0IGludCBrSGFsZlBpeGVscyA9ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKChiZW5jaG1h
cmtfd2lkdGhfICsgMSkgLyAyKSAqICgoYmVuY2htYXJrX2hlaWdodF8gKyBIUzEpIC8gSFMpOyAg
ICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKG9yaWdfeSwga1BpeGVscyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2Vu
ZChvcmlnX3UsIGtIYWxmUGl4ZWxzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQob3JpZ192LCBrSGFsZlBpeGVscyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKG9yaWdf
cGl4ZWxzLCBrUGl4ZWxzICogNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFs
aWduX2J1ZmZlcl9wYWdlX2VuZCh0ZW1wX3ksIGtQaXhlbHMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQodGVtcF91LCBrSGFs
ZlBpeGVscyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVm
ZmVyX3BhZ2VfZW5kKHRlbXBfdiwga0hhbGZQaXhlbHMpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfcGl4ZWxzX29wdCwga1Bp
eGVscyAqIDQpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFn
ZV9lbmQoZHN0X3BpeGVsc19jLCBrUGl4ZWxzICogNCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBNZW1SYW5kb21pemUob3JpZ19waXhlbHMs
IGtQaXhlbHMgKiA0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
TWVtUmFuZG9taXplKG9yaWdfeSwga1BpeGVscyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIE1lbVJhbmRvbWl6ZShvcmlnX3UsIGtIYWxmUGl4ZWxz
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBNZW1SYW5k
b21pemUob3JpZ192LCBrSGFsZlBpeGVscyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgTWVtUmFuZG9taXplKHRlbXBfeSwga1BpeGVscyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIE1lbVJhbmRvbWl6ZSh0
ZW1wX3UsIGtIYWxmUGl4ZWxzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBNZW1SYW5kb21pemUodGVtcF92LCBrSGFsZlBpeGVscyk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgTWVtUmFuZG9taXplKGRzdF9waXhl
bHNfb3B0LCBrUGl4ZWxzICogNCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIE1lbVJhbmRvbWl6ZShkc3RfcGl4ZWxzX2MsIGtQaXhlbHMgKiA0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIE1lbVJhbmRvbWl6ZShvcmlnX3BpeGVscywg
a1BpeGVscyAqIDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBN
ZW1SYW5kb21pemUob3JpZ195LCBrUGl4ZWxzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgTWVtUmFuZG9taXplKG9yaWdfdSwga0hhbGZQaXhlbHMp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIE1lbVJhbmRv
bWl6ZShvcmlnX3YsIGtIYWxmUGl4ZWxzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBNZW1SYW5kb21pemUodGVtcF95LCBrUGl4ZWxzKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgTWVtUmFuZG9taXplKHRl
bXBfdSwga0hhbGZQaXhlbHMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIE1lbVJhbmRvbWl6ZSh0ZW1wX3YsIGtIYWxmUGl4ZWxzKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBNZW1SYW5kb21pemUoZHN0X3BpeGVs
c19vcHQsIGtQaXhlbHMgKiA0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgTWVtUmFuZG9taXplKGRzdF9waXhlbHNfYywga1BpeGVscyAqIDQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgLyogVGhl
IHRlc3QgaXMgb3ZlcmFsbCBmb3IgY29sb3IgY29udmVyc2lvbiBtYXRyaXggYmVpbmcgcmV2ZXJz
aWJsZSwgc28gKi8gICBcCi0gIC8qIHRoaXMgaW5pdGlhbGl6ZXMgdGhlIHBpeGVsIHdpdGggMngy
IGJsb2NrcyB0byBlbGltaW5hdGUgc3Vic2FtcGxpbmcuICovICAgXAotICB1aW50OCogcCA9IG9y
aWdfeTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgZm9yIChpbnQgeSA9IDA7IHkgPCBiZW5jaG1hcmtfaGVpZ2h0XyAtIEhTMTsg
eSArPSBIUykgeyAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9yIChpbnQgeCA9IDA7IHgg
PCBiZW5jaG1hcmtfd2lkdGhfIC0gMTsgeCArPSAyKSB7ICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgdWludDggciA9IHN0YXRpY19jYXN0PHVpbnQ4PihmYXN0cmFuZCgpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHBbMF0gPSByOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICBwWzFdID0gcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgcFtITl0gPSByOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHBbSE4g
KyAxXSA9IHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBwICs9IDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBpZiAoYmVuY2htYXJrX3dpZHRoXyAmIDEpIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB1aW50OCByID0gc3RhdGljX2Nh
c3Q8dWludDg+KGZhc3RyYW5kKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgcFswXSA9IHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHBbSE5dID0gcjsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBw
ICs9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIC8qIFRoZSB0ZXN0IGlzIG92ZXJhbGwgZm9yIGNvbG9yIGNv
bnZlcnNpb24gbWF0cml4IGJlaW5nIHJldmVyc2libGUsIHNvICovIFwKKyAgICAvKiB0aGlzIGlu
aXRpYWxpemVzIHRoZSBwaXhlbCB3aXRoIDJ4MiBibG9ja3MgdG8gZWxpbWluYXRlIHN1YnNhbXBs
aW5nLiAqLyBcCisgICAgdWludDgqIHAgPSBvcmlnX3k7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IHkgPSAwOyB5
IDwgYmVuY2htYXJrX2hlaWdodF8gLSBIUzE7IHkgKz0gSFMpIHsgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgYmVuY2htYXJrX3dpZHRoXyAtIDE7IHggKz0g
MikgeyAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHVpbnQ4IHIgPSBzdGF0aWNfY2Fz
dDx1aW50OD4oZmFzdHJhbmQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
ICAgICBwWzBdID0gcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcFsxXSA9IHI7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHBb
SE5dID0gcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgICBwW0hOICsgMV0gPSByOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcCArPSAyOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgaWYgKGJlbmNobWFya193aWR0
aF8gJiAxKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgICAgdWludDggciA9IHN0YXRpY19jYXN0PHVpbnQ4PihmYXN0cmFuZCgpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHBbMF0gPSByOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg
ICBwW0hOXSA9IHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcCArPSAxOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgICAgcCArPSBITjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgcCArPSBITjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
aWYgKChiZW5jaG1hcmtfaGVpZ2h0XyAmIDEpICYmIEhTID09IDIpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9yIChpbnQgeCA9IDA7IHggPCBiZW5jaG1hcmtf
d2lkdGhfIC0gMTsgeCArPSAyKSB7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgdWlu
dDggciA9IHN0YXRpY19jYXN0PHVpbnQ4PihmYXN0cmFuZCgpKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIHBbMF0gPSByOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBwWzFdID0gcjsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgcCArPSAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoKGJlbmNobWFya19oZWln
aHRfICYgMSkgJiYgSFMgPT0gMikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IGJlbmNobWFya193aWR0aF8gLSAxOyB4ICs9IDIp
IHsgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB1aW50OCByID0gc3RhdGljX2Nhc3Q8
dWludDg+KGZhc3RyYW5kKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgcFswXSA9IHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgIHBbMV0gPSByOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBwICs9
IDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBpZiAoYmVuY2htYXJr
X3dpZHRoXyAmIDEpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICB1aW50OCByID0gc3RhdGljX2Nhc3Q8dWludDg+KGZhc3RyYW5kKCkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcFswXSA9IHI7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgIHAgKz0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgaWYgKGJlbmNobWFya193aWR0aF8gJiAxKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgdWludDggciA9
IHN0YXRpY19jYXN0PHVpbnQ4PihmYXN0cmFuZCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgIHBbMF0gPSByOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBwICs9IDE7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIC8q
IFN0YXJ0IHdpdGggWVVWIGNvbnZlcnRlZCB0byBBUkdCLiAqLyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBZVVZUT0FSR0Iob3JpZ195LCBiZW5jaG1hcmtfd2lkdGhf
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
IG9yaWdfdSwgKGJlbmNobWFya193aWR0aF8gKyAxKSAvIDIsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICBvcmlnX3YsIChiZW5jaG1hcmtfd2lkdGhfICsgMSkg
LyAyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgb3JpZ19w
aXhlbHMsIGJlbmNobWFya193aWR0aF8gKiA0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLyogU3RhcnQgd2l0aCBZVVYgY29u
dmVydGVkIHRvIEFSR0IuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIFlVVlRPQVJHQihvcmlnX3ksIGJlbmNobWFya193aWR0aF8sIG9yaWdfdSwgKGJlbmNobWFy
a193aWR0aF8gKyAxKSAvIDIsICAgIFwKKyAgICAgICAgICAgICAgb3JpZ192LCAoYmVuY2htYXJr
X3dpZHRoXyArIDEpIC8gMiwgb3JpZ19waXhlbHMsICAgICAgICAgICAgICAgICBcCisgICAgICAg
ICAgICAgIGJlbmNobWFya193aWR0aF8gKiA0LCBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtf
aGVpZ2h0Xyk7ICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgQVJHQlRPWVVWKG9y
aWdfcGl4ZWxzLCBiZW5jaG1hcmtfd2lkdGhfICogNCwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICB0ZW1wX3ksIGJlbmNobWFya193aWR0aF8sICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgdGVtcF91LCAo
YmVuY2htYXJrX3dpZHRoXyArIDEpIC8gMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgIHRlbXBfdiwgKGJlbmNobWFya193aWR0aF8gKyAxKSAvIDIsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhf
LCBiZW5jaG1hcmtfaGVpZ2h0Xyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IEFSR0JUT1lVVihvcmlnX3BpeGVscywgYmVuY2htYXJrX3dpZHRoXyAqIDQsIHRlbXBfeSwgYmVu
Y2htYXJrX3dpZHRoXywgICAgIFwKKyAgICAgICAgICAgICAgdGVtcF91LCAoYmVuY2htYXJrX3dp
ZHRoXyArIDEpIC8gMiwgdGVtcF92LCAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAg
ICAgIChiZW5jaG1hcmtfd2lkdGhfICsgMSkgLyAyLCBiZW5jaG1hcmtfd2lkdGhfLCAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0Xyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFnc18pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBZVVZUT0FSR0IodGVtcF95LCBiZW5j
aG1hcmtfd2lkdGhfLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgIHRlbXBfdSwgKGJlbmNobWFya193aWR0aF8gKyAxKSAvIDIsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICB0ZW1wX3YsIChiZW5jaG1hcmtf
d2lkdGhfICsgMSkgLyAyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgZHN0X3BpeGVsc19jLCBiZW5jaG1hcmtfd2lkdGhfICogNCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFy
a19oZWlnaHRfKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFn
cyhiZW5jaG1hcmtfY3B1X2luZm9fKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFnc18pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBZVVZUT0FSR0IodGVtcF95
LCBiZW5jaG1hcmtfd2lkdGhfLCB0ZW1wX3UsIChiZW5jaG1hcmtfd2lkdGhfICsgMSkgLyAyLCAg
ICBcCisgICAgICAgICAgICAgIHRlbXBfdiwgKGJlbmNobWFya193aWR0aF8gKyAxKSAvIDIsIGRz
dF9waXhlbHNfYywgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lk
dGhfICogNCwgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOyAgICAgIFwKKyAg
ICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGlu
dCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zXzsgKytpKSB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBZVVZUT0FSR0IodGVtcF95LCBiZW5jaG1hcmtfd2lkdGhfLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgIHRl
bXBfdSwgKGJlbmNobWFya193aWR0aF8gKyAxKSAvIDIsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICB0ZW1wX3YsIChiZW5jaG1hcmtfd2lkdGhfICsgMSkgLyAy
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgZHN0X3BpeGVs
c19vcHQsIGJlbmNobWFya193aWR0aF8gKiA0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgLyog
VGVzdCBDIGFuZCBTSU1EIG1hdGNoLiAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga1BpeGVscyAqIDQ7ICsr
aSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIEVYUEVDVF9F
UShkc3RfcGl4ZWxzX2NbaV0sIGRzdF9waXhlbHNfb3B0W2ldKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIC8qIFRlc3QgU0lNRCBpcyBj
bG9zZSB0byBvcmlnaW5hbC4gKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IGtQaXhlbHMgKiA0OyArK2kpIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBFWFBFQ1RfTkVBUihzdGF0aWNfY2Fz
dDxpbnQ+KG9yaWdfcGl4ZWxzW2ldKSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfcGl4ZWxzX29wdFtpXSksIERJRkYp
OyAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3Ig
KGludCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zXzsgKytpKSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICBZVVZUT0FSR0IodGVtcF95LCBiZW5jaG1hcmtfd2lkdGhf
LCB0ZW1wX3UsIChiZW5jaG1hcmtfd2lkdGhfICsgMSkgLyAyLCAgXAorICAgICAgICAgICAgICAg
IHRlbXBfdiwgKGJlbmNobWFya193aWR0aF8gKyAxKSAvIDIsIGRzdF9waXhlbHNfb3B0LCAgICAg
ICAgICAgIFwKKyAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfICogNCwgYmVuY2htYXJr
X3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOyAgICBcCisgICAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIC8qIFRlc3QgQyBhbmQgU0lNRCBtYXRjaC4gKi8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtQaXhl
bHMgKiA0OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICBFWFBFQ1RfRVEoZHN0X3BpeGVsc19jW2ldLCBkc3RfcGl4ZWxzX29wdFtpXSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAvKiBUZXN0
IFNJTUQgaXMgY2xvc2UgdG8gb3JpZ2luYWwuICovICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrUGl4ZWxzICogNDsgKytpKSB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgRVhQRUNUX05FQVIo
c3RhdGljX2Nhc3Q8aW50PihvcmlnX3BpeGVsc1tpXSksICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3BpeGVsc19vcHRb
aV0pLCBESUZGKTsgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChv
cmlnX3BpeGVscyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVf
YWxpZ25lZF9idWZmZXJfcGFnZV9lbmQob3JpZ195KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKG9yaWdfdSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVk
X2J1ZmZlcl9wYWdlX2VuZChvcmlnX3YpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQodGVtcF95KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVy
X3BhZ2VfZW5kKHRlbXBfdSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZCh0ZW1wX3YpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9l
bmQoZHN0X3BpeGVsc19vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBm
cmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9waXhlbHNfYyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLX0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9h
bGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3BpeGVscyk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQob3JpZ195KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRf
YnVmZmVyX3BhZ2VfZW5kKG9yaWdfdSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3YpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJf
cGFnZV9lbmQodGVtcF95KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHRlbXBfdSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2Vu
ZCh0ZW1wX3YpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZy
ZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3BpeGVsc19vcHQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9w
aXhlbHNfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0KIAogVEVTVENT
KFRlc3RJNDIwLCBJNDIwVG9BUkdCLCBBUkdCVG9JNDIwLCAxLCAyLCBiZW5jaG1hcmtfd2lkdGhf
LCBFUlJPUl9GVUxMKQogVEVTVENTKFRlc3RJNDIyLCBJNDIyVG9BUkdCLCBBUkdCVG9JNDIyLCAw
LCAxLCAwLCBFUlJPUl9GVUxMKQpAQCAtMTYzLDExICsxNTYsOCBAQCBzdGF0aWMgdm9pZCBZVVZU
b1JHQihpbnQgeSwgaW50IHUsIGludCB2LCBpbnQqIHIsIGludCogZywgaW50KiBiKSB7CiAgIG1l
bXNldChvcmlnX3YsIHYsIGtIYWxmUGl4ZWxzKTsKIAogICAvKiBZVVYgY29udmVydGVkIHRvIEFS
R0IuICovCi0gIEk0MjJUb0FSR0Iob3JpZ195LCBrV2lkdGgsCi0gICAgICAgICAgICAgb3JpZ191
LCAoa1dpZHRoICsgMSkgLyAyLAotICAgICAgICAgICAgIG9yaWdfdiwgKGtXaWR0aCArIDEpIC8g
MiwKLSAgICAgICAgICAgICBvcmlnX3BpeGVscywga1dpZHRoICogNCwKLSAgICAgICAgICAgICBr
V2lkdGgsIGtIZWlnaHQpOworICBJNDIyVG9BUkdCKG9yaWdfeSwga1dpZHRoLCBvcmlnX3UsIChr
V2lkdGggKyAxKSAvIDIsIG9yaWdfdiwgKGtXaWR0aCArIDEpIC8gMiwKKyAgICAgICAgICAgICBv
cmlnX3BpeGVscywga1dpZHRoICogNCwga1dpZHRoLCBrSGVpZ2h0KTsKIAogICAqYiA9IG9yaWdf
cGl4ZWxzWzBdOwogICAqZyA9IG9yaWdfcGl4ZWxzWzFdOwpAQCAtMTg5LDExICsxNzksOCBAQCBz
dGF0aWMgdm9pZCBZVVZKVG9SR0IoaW50IHksIGludCB1LCBpbnQgdiwgaW50KiByLCBpbnQqIGcs
IGludCogYikgewogICBtZW1zZXQob3JpZ192LCB2LCBrSGFsZlBpeGVscyk7CiAKICAgLyogWVVW
IGNvbnZlcnRlZCB0byBBUkdCLiAqLwotICBKNDIyVG9BUkdCKG9yaWdfeSwga1dpZHRoLAotICAg
ICAgICAgICAgIG9yaWdfdSwgKGtXaWR0aCArIDEpIC8gMiwKLSAgICAgICAgICAgICBvcmlnX3Ys
IChrV2lkdGggKyAxKSAvIDIsCi0gICAgICAgICAgICAgb3JpZ19waXhlbHMsIGtXaWR0aCAqIDQs
Ci0gICAgICAgICAgICAga1dpZHRoLCBrSGVpZ2h0KTsKKyAgSjQyMlRvQVJHQihvcmlnX3ksIGtX
aWR0aCwgb3JpZ191LCAoa1dpZHRoICsgMSkgLyAyLCBvcmlnX3YsIChrV2lkdGggKyAxKSAvIDIs
CisgICAgICAgICAgICAgb3JpZ19waXhlbHMsIGtXaWR0aCAqIDQsIGtXaWR0aCwga0hlaWdodCk7
CiAKICAgKmIgPSBvcmlnX3BpeGVsc1swXTsKICAgKmcgPSBvcmlnX3BpeGVsc1sxXTsKQEAgLTI0
OCw3ICsyMzUsNyBAQCBzdGF0aWMgdm9pZCBZSlRvUkdCKGludCB5LCBpbnQqIHIsIGludCogZywg
aW50KiBiKSB7CiAKICNpZiBkZWZpbmVkKENMQU1QTUVUSE9EX0lGKQogc3RhdGljIGludCBSb3Vu
ZFRvQnl0ZShmbG9hdCBmKSB7Ci0gIGludCBpID0gIFJPVU5EKGYpOworICBpbnQgaSA9IFJPVU5E
KGYpOwogICBpZiAoaSA8IDApIHsKICAgICBpID0gMDsKICAgfQpAQCAtMjU5LDUyICsyNDYsNjEg
QEAgc3RhdGljIGludCBSb3VuZFRvQnl0ZShmbG9hdCBmKSB7CiB9CiAjZWxpZiBkZWZpbmVkKENM
QU1QTUVUSE9EX1RBQkxFKQogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2xhbXB0YWJsZVs4
MTFdID0gewotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAot
ICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLAotICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LAotICAxMCwgMTEsIDEy
LCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYs
IDI3LCAyOCwKLSAgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgMzUsIDM2LCAzNywgMzgsIDM5LCA0
MCwgNDEsIDQyLCA0MywgNDQsIDQ1LCA0NiwgNDcsCi0gIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTMs
IDU0LCA1NSwgNTYsIDU3LCA1OCwgNTksIDYwLCA2MSwgNjIsIDYzLCA2NCwgNjUsIDY2LAotICA2
NywgNjgsIDY5LCA3MCwgNzEsIDcyLCA3MywgNzQsIDc1LCA3NiwgNzcsIDc4LCA3OSwgODAsIDgx
LCA4MiwgODMsIDg0LCA4NSwKLSAgODYsIDg3LCA4OCwgODksIDkwLCA5MSwgOTIsIDkzLCA5NCwg
OTUsIDk2LCA5NywgOTgsIDk5LCAxMDAsIDEwMSwgMTAyLCAxMDMsCi0gIDEwNCwgMTA1LCAxMDYs
IDEwNywgMTA4LCAxMDksIDExMCwgMTExLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAx
MTgsCi0gIDExOSwgMTIwLCAxMjEsIDEyMiwgMTIzLCAxMjQsIDEyNSwgMTI2LCAxMjcsIDEyOCwg
MTI5LCAxMzAsIDEzMSwgMTMyLCAxMzMsCi0gIDEzNCwgMTM1LCAxMzYsIDEzNywgMTM4LCAxMzks
IDE0MCwgMTQxLCAxNDIsIDE0MywgMTQ0LCAxNDUsIDE0NiwgMTQ3LCAxNDgsCi0gIDE0OSwgMTUw
LCAxNTEsIDE1MiwgMTUzLCAxNTQsIDE1NSwgMTU2LCAxNTcsIDE1OCwgMTU5LCAxNjAsIDE2MSwg
MTYyLCAxNjMsCi0gIDE2NCwgMTY1LCAxNjYsIDE2NywgMTY4LCAxNjksIDE3MCwgMTcxLCAxNzIs
IDE3MywgMTc0LCAxNzUsIDE3NiwgMTc3LCAxNzgsCi0gIDE3OSwgMTgwLCAxODEsIDE4MiwgMTgz
LCAxODQsIDE4NSwgMTg2LCAxODcsIDE4OCwgMTg5LCAxOTAsIDE5MSwgMTkyLCAxOTMsCi0gIDE5
NCwgMTk1LCAxOTYsIDE5NywgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywgMjA0LCAyMDUs
IDIwNiwgMjA3LCAyMDgsCi0gIDIwOSwgMjEwLCAyMTEsIDIxMiwgMjEzLCAyMTQsIDIxNSwgMjE2
LCAyMTcsIDIxOCwgMjE5LCAyMjAsIDIyMSwgMjIyLCAyMjMsCi0gIDIyNCwgMjI1LCAyMjYsIDIy
NywgMjI4LCAyMjksIDIzMCwgMjMxLCAyMzIsIDIzMywgMjM0LCAyMzUsIDIzNiwgMjM3LCAyMzgs
Ci0gIDIzOSwgMjQwLCAyNDEsIDI0MiwgMjQzLCAyNDQsIDI0NSwgMjQ2LCAyNDcsIDI0OCwgMjQ5
LCAyNTAsIDI1MSwgMjUyLCAyNTMsCi0gIDI1NCwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1
NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAy
NTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1
LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1
NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAy
NTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwg
MjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1
NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAy
NTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwg
MjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0g
IDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAy
NTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwg
MjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUs
IDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAy
NTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwg
MjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUs
IDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1
LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwg
MjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUs
IDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1
LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1
NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUs
IDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1
LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCi0gIDI1NSwgMjU1LCAyNTUsIDI1
NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUs
Ci0gIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1
Ci19OworICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAw
LAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAg
MCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAg
IDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAor
ICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwg
ICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAs
ICAgMCwgICAwLCAgIDAsICAgMCwgICAwLCAgIDAsICAgMCwgICAwLAorICAgIDAsICAgMCwgICAw
LCAgIDAsICAgMCwgICAwLCAgIDAsICAgMSwgICAyLCAgIDMsICAgNCwgICA1LCAgIDYsICAgNywg
ICA4LAorICAgIDksICAgMTAsICAxMSwgIDEyLCAgMTMsICAxNCwgIDE1LCAgMTYsICAxNywgIDE4
LCAgMTksICAyMCwgIDIxLCAgMjIsICAyMywKKyAgICAyNCwgIDI1LCAgMjYsICAyNywgIDI4LCAg
MjksICAzMCwgIDMxLCAgMzIsICAzMywgIDM0LCAgMzUsICAzNiwgIDM3LCAgMzgsCisgICAgMzks
ICA0MCwgIDQxLCAgNDIsICA0MywgIDQ0LCAgNDUsICA0NiwgIDQ3LCAgNDgsICA0OSwgIDUwLCAg
NTEsICA1MiwgIDUzLAorICAgIDU0LCAgNTUsICA1NiwgIDU3LCAgNTgsICA1OSwgIDYwLCAgNjEs
ICA2MiwgIDYzLCAgNjQsICA2NSwgIDY2LCAgNjcsICA2OCwKKyAgICA2OSwgIDcwLCAgNzEsICA3
MiwgIDczLCAgNzQsICA3NSwgIDc2LCAgNzcsICA3OCwgIDc5LCAgODAsICA4MSwgIDgyLCAgODMs
CisgICAgODQsICA4NSwgIDg2LCAgODcsICA4OCwgIDg5LCAgOTAsICA5MSwgIDkyLCAgOTMsICA5
NCwgIDk1LCAgOTYsICA5NywgIDk4LAorICAgIDk5LCAgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQs
IDEwNSwgMTA2LCAxMDcsIDEwOCwgMTA5LCAxMTAsIDExMSwgMTEyLCAxMTMsCisgICAgMTE0LCAx
MTUsIDExNiwgMTE3LCAxMTgsIDExOSwgMTIwLCAxMjEsIDEyMiwgMTIzLCAxMjQsIDEyNSwgMTI2
LCAxMjcsIDEyOCwKKyAgICAxMjksIDEzMCwgMTMxLCAxMzIsIDEzMywgMTM0LCAxMzUsIDEzNiwg
MTM3LCAxMzgsIDEzOSwgMTQwLCAxNDEsIDE0MiwgMTQzLAorICAgIDE0NCwgMTQ1LCAxNDYsIDE0
NywgMTQ4LCAxNDksIDE1MCwgMTUxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMTU3LCAxNTgs
CisgICAgMTU5LCAxNjAsIDE2MSwgMTYyLCAxNjMsIDE2NCwgMTY1LCAxNjYsIDE2NywgMTY4LCAx
NjksIDE3MCwgMTcxLCAxNzIsIDE3MywKKyAgICAxNzQsIDE3NSwgMTc2LCAxNzcsIDE3OCwgMTc5
LCAxODAsIDE4MSwgMTgyLCAxODMsIDE4NCwgMTg1LCAxODYsIDE4NywgMTg4LAorICAgIDE4OSwg
MTkwLCAxOTEsIDE5MiwgMTkzLCAxOTQsIDE5NSwgMTk2LCAxOTcsIDE5OCwgMTk5LCAyMDAsIDIw
MSwgMjAyLCAyMDMsCisgICAgMjA0LCAyMDUsIDIwNiwgMjA3LCAyMDgsIDIwOSwgMjEwLCAyMTEs
IDIxMiwgMjEzLCAyMTQsIDIxNSwgMjE2LCAyMTcsIDIxOCwKKyAgICAyMTksIDIyMCwgMjIxLCAy
MjIsIDIyMywgMjI0LCAyMjUsIDIyNiwgMjI3LCAyMjgsIDIyOSwgMjMwLCAyMzEsIDIzMiwgMjMz
LAorICAgIDIzNCwgMjM1LCAyMzYsIDIzNywgMjM4LCAyMzksIDI0MCwgMjQxLCAyNDIsIDI0Mywg
MjQ0LCAyNDUsIDI0NiwgMjQ3LCAyNDgsCisgICAgMjQ5LCAyNTAsIDI1MSwgMjUyLCAyNTMsIDI1
NCwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwKKyAgICAyNTUs
IDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAy
NTUsIDI1NSwgMjU1LAorICAgIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1
LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAgMjU1LCAyNTUsIDI1NSwg
MjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1
NSwKKyAgICAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUs
IDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LAorICAgIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAy
NTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAgMjU1
LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwg
MjU1LCAyNTUsIDI1NSwKKyAgICAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1
NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LAorICAgIDI1NSwgMjU1LCAyNTUs
IDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAy
NTUsCisgICAgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1
LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwKKyAgICAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwg
MjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LAorICAgIDI1
NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUs
IDI1NSwgMjU1LCAyNTUsCisgICAgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAy
NTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwKKyAgICAyNTUsIDI1NSwgMjU1
LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwg
MjU1LAorICAgIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1
NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUs
IDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwKKyAgICAy
NTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1
LCAyNTUsIDI1NSwgMjU1LAorICAgIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwg
MjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAgMjU1LCAyNTUsIDI1
NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUs
IDI1NSwKKyAgICAyNTV9OwogCiBzdGF0aWMgaW50IFJvdW5kVG9CeXRlKGZsb2F0IGYpIHsKICAg
cmV0dXJuIGNsYW1wdGFibGVbUk9VTkQoZikgKyAyNzZdOwpAQCAtMzE3LDcgKzMxMyw3IEBAIHN0
YXRpYyBpbnQgUm91bmRUb0J5dGUoZmxvYXQgZikgewogI2VsaWYgZGVmaW5lZChDTEFNUE1FVEhP
RF9NQVNLKQogc3RhdGljIGludCBSb3VuZFRvQnl0ZShmbG9hdCBmKSB7CiAgIGludCBpID0gUk9V
TkQoZik7Ci0gIGkgPSAgKCgtKGkpID4+IDMxKSAmIChpKSk7ICAvLyBjbGFtcCB0byAwLgorICBp
ID0gKCgtKGkpID4+IDMxKSAmIChpKSk7ICAgICAgICAgICAgICAgICAgLy8gY2xhbXAgdG8gMC4K
ICAgcmV0dXJuICgoKDI1NSAtIChpKSkgPj4gMzEpIHwgKGkpKSAmIDI1NTsgIC8vIGNsYW1wIHRv
IDI1NS4KIH0KICNlbmRpZgpAQCAtNDMzLDcgKzQyOSw2IEBAIFRFU1RfRihMaWJZVVZDb2xvclRl
c3QsIFRlc3RHcmV5WVVWKSB7CiAgIEVYUEVDVF9FUSgxMzAsIGcxKTsKICAgRVhQRUNUX0VRKDEz
MCwgYjEpOwogCi0KICAgZm9yIChpbnQgeSA9IDA7IHkgPCAyNTY7ICsreSkgewogICAgIFlVVlRv
UkdCUmVmZXJlbmNlKHksIDEyOCwgMTI4LCAmcjAsICZnMCwgJmIwKTsKICAgICBZVVZUb1JHQih5
LCAxMjgsIDEyOCwgJnIxLCAmZzEsICZiMSk7CkBAIC00NzcsNyArNDcyLDE3IEBAIHN0YXRpYyB2
b2lkIFByaW50SGlzdG9ncmFtKGludCByaFsyNTZdLCBpbnQgZ2hbMjU2XSwgaW50IGJoWzI1Nl0p
IHsKIH0KIAogVEVTVF9GKExpYllVVkNvbG9yVGVzdCwgVGVzdEZ1bGxZVVYpIHsKLSAgaW50IHJo
WzI1Nl0gPSB7IDAsIH0sIGdoWzI1Nl0gPSB7IDAsIH0sIGJoWzI1Nl0gPSB7IDAsIH07CisgIGlu
dCByaFsyNTZdID0KKyAgICAgIHsKKyAgICAgICAgICAwLAorICAgICAgfSwKKyAgICAgIGdoWzI1
Nl0gPQorICAgICAgICAgIHsKKyAgICAgICAgICAgICAgMCwKKyAgICAgICAgICB9LAorICAgICAg
YmhbMjU2XSA9IHsKKyAgICAgICAgICAwLAorICAgICAgfTsKICAgZm9yIChpbnQgdSA9IDA7IHUg
PCAyNTY7ICsrdSkgewogICAgIGZvciAoaW50IHYgPSAwOyB2IDwgMjU2OyArK3YpIHsKICAgICAg
IGZvciAoaW50IHkyID0gMDsgeTIgPCAyNTY7ICsreTIpIHsKQEAgLTQ5OCw3ICs1MDMsMTcgQEAg
VEVTVF9GKExpYllVVkNvbG9yVGVzdCwgVGVzdEZ1bGxZVVYpIHsKIH0KIAogVEVTVF9GKExpYllV
VkNvbG9yVGVzdCwgVGVzdEZ1bGxZVVZKKSB7Ci0gIGludCByaFsyNTZdID0geyAwLCB9LCBnaFsy
NTZdID0geyAwLCB9LCBiaFsyNTZdID0geyAwLCB9OworICBpbnQgcmhbMjU2XSA9CisgICAgICB7
CisgICAgICAgICAgMCwKKyAgICAgIH0sCisgICAgICBnaFsyNTZdID0KKyAgICAgICAgICB7Cisg
ICAgICAgICAgICAgIDAsCisgICAgICAgICAgfSwKKyAgICAgIGJoWzI1Nl0gPSB7CisgICAgICAg
ICAgMCwKKyAgICAgIH07CiAgIGZvciAoaW50IHUgPSAwOyB1IDwgMjU2OyArK3UpIHsKICAgICBm
b3IgKGludCB2ID0gMDsgdiA8IDI1NjsgKyt2KSB7CiAgICAgICBmb3IgKGludCB5MiA9IDA7IHky
IDwgMjU2OyArK3kyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3QvY29tcGFyZV90ZXN0LmNjIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90
ZXN0L2NvbXBhcmVfdGVzdC5jYwppbmRleCBlY2RjOGNhYzRmZTRlZDlkMTA2MTljZTcyZjk5ZTM4
ZTg0M2ViNDkxLi44YTliNGY0ZWQxZDgxM2FhMTA1MmI5Yzc1MDViN2ExMjhmZmYyZWZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di91bml0X3Rlc3QvY29tcGFyZV90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9jb21wYXJlX3Rlc3Qu
Y2MKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlICIuLi91bml0X3Rlc3QvdW5pdF90ZXN0Lmgi
CiAjaW5jbHVkZSAibGlieXV2L2Jhc2ljX3R5cGVzLmgiCiAjaW5jbHVkZSAibGlieXV2L2NvbXBh
cmUuaCIKKyNpbmNsdWRlICJsaWJ5dXYvY29tcGFyZV9yb3cuaCIgLyogRm9yIEhhbW1pbmdEaXN0
YW5jZV9DICovCiAjaW5jbHVkZSAibGlieXV2L2NwdV9pZC5oIgogI2luY2x1ZGUgImxpYnl1di92
aWRlb19jb21tb24uaCIKIApAQCAtMzYsNyArMzcsOCBAQCBURVNUX0YoTGliWVVWQmFzZVRlc3Qs
IERqYjJfVGVzdCkgewogICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX2EsIGtNYXhUZXN0KTsK
ICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY19iLCBrTWF4VGVzdCk7CiAKLSAgY29uc3QgY2hh
ciogZm94ID0gIlRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciCisg
IGNvbnN0IGNoYXIqIGZveCA9CisgICAgICAiVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVy
IHRoZSBsYXp5IGRvZyIKICAgICAgICIgYW5kIGZlZWxzIGFzIGlmIGhlIHdlcmUgaW4gdGhlIHNl
dmVudGggaGVhdmVuIG9mIHR5cG9ncmFwaHkiCiAgICAgICAiIHRvZ2V0aGVyIHdpdGggSGVybWFu
biBaYXBmIjsKICAgdWludDMyIGZveGhhc2ggPSBIYXNoRGpiMihyZWludGVycHJldF9jYXN0PGNv
bnN0IHVpbnQ4Kj4oZm94KSwgMTMxLCA1MzgxKTsKQEAgLTE1NSwxOSArMTU3LDE5IEBAIFRFU1Rf
RihMaWJZVVZCYXNlVGVzdCwgQmVuY2htYXJrQVJHQkRldGVjdF9PcHQpIHsKICAgfQogCiAgIHNy
Y19hWzBdID0gMDsKLSAgZm91cmNjID0gQVJHQkRldGVjdChzcmNfYSwgYmVuY2htYXJrX3dpZHRo
XyAqIDQsCi0gICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJr
X2hlaWdodF8pOworICBmb3VyY2MgPSBBUkdCRGV0ZWN0KHNyY19hLCBiZW5jaG1hcmtfd2lkdGhf
ICogNCwgYmVuY2htYXJrX3dpZHRoXywKKyAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtf
aGVpZ2h0Xyk7CiAgIEVYUEVDVF9FUShzdGF0aWNfY2FzdDx1aW50MzI+KGxpYnl1djo6Rk9VUkND
X0JHUkEpLCBmb3VyY2MpOwogICBzcmNfYVswXSA9IDI1NTsKICAgc3JjX2FbM10gPSAwOwotICBm
b3VyY2MgPSBBUkdCRGV0ZWN0KHNyY19hLCBiZW5jaG1hcmtfd2lkdGhfICogNCwKLSAgICAgICAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0Xyk7CisgIGZv
dXJjYyA9IEFSR0JEZXRlY3Qoc3JjX2EsIGJlbmNobWFya193aWR0aF8gKiA0LCBiZW5jaG1hcmtf
d2lkdGhfLAorICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfKTsKICAgRVhQ
RUNUX0VRKHN0YXRpY19jYXN0PHVpbnQzMj4obGlieXV2OjpGT1VSQ0NfQVJHQiksIGZvdXJjYyk7
CiAgIHNyY19hWzNdID0gMjU1OwogCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfOyArK2kpIHsKLSAgICBmb3VyY2MgPSBBUkdCRGV0ZWN0KHNyY19hLCBiZW5jaG1h
cmtfd2lkdGhfICogNCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8s
IGJlbmNobWFya19oZWlnaHRfKTsKKyAgICBmb3VyY2MgPSBBUkdCRGV0ZWN0KHNyY19hLCBiZW5j
aG1hcmtfd2lkdGhfICogNCwgYmVuY2htYXJrX3dpZHRoXywKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJlbmNobWFya19oZWlnaHRfKTsKICAgfQogICBFWFBFQ1RfRVEoMHUsIGZvdXJjYyk7CiAK
QEAgLTE4MywyNCArMTg1LDEyNiBAQCBURVNUX0YoTGliWVVWQmFzZVRlc3QsIEJlbmNobWFya0FS
R0JEZXRlY3RfVW5hbGlnbmVkKSB7CiAgIH0KIAogICBzcmNfYVswICsgMV0gPSAwOwotICBmb3Vy
Y2MgPSBBUkdCRGV0ZWN0KHNyY19hICsgMSwgYmVuY2htYXJrX3dpZHRoXyAqIDQsCi0gICAgICAg
ICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOworICBm
b3VyY2MgPSBBUkdCRGV0ZWN0KHNyY19hICsgMSwgYmVuY2htYXJrX3dpZHRoXyAqIDQsIGJlbmNo
bWFya193aWR0aF8sCisgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8pOwog
ICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMyPihsaWJ5dXY6OkZPVVJDQ19CR1JBKSwgZm91
cmNjKTsKICAgc3JjX2FbMCArIDFdID0gMjU1OwogICBzcmNfYVszICsgMV0gPSAwOwotICBmb3Vy
Y2MgPSBBUkdCRGV0ZWN0KHNyY19hICsgMSwgYmVuY2htYXJrX3dpZHRoXyAqIDQsCi0gICAgICAg
ICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOworICBm
b3VyY2MgPSBBUkdCRGV0ZWN0KHNyY19hICsgMSwgYmVuY2htYXJrX3dpZHRoXyAqIDQsIGJlbmNo
bWFya193aWR0aF8sCisgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8pOwog
ICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMyPihsaWJ5dXY6OkZPVVJDQ19BUkdCKSwgZm91
cmNjKTsKICAgc3JjX2FbMyArIDFdID0gMjU1OwogCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgYmVu
Y2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsKLSAgICBmb3VyY2MgPSBBUkdCRGV0ZWN0KHNyY19h
ICsgMSwgYmVuY2htYXJrX3dpZHRoXyAqIDQsCi0gICAgICAgICAgICAgICAgICAgICAgICBiZW5j
aG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0Xyk7CisgICAgZm91cmNjID0gQVJHQkRldGVj
dChzcmNfYSArIDEsIGJlbmNobWFya193aWR0aF8gKiA0LCBiZW5jaG1hcmtfd2lkdGhfLAorICAg
ICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8pOwogICB9CiAgIEVYUEVDVF9F
USgwdSwgZm91cmNjKTsKIAogICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY19hKTsK
IH0KKworVEVTVF9GKExpYllVVkJhc2VUZXN0LCBCZW5jaG1hcmtIYW1taW5nRGlzdGFuY2VfT3B0
KSB7CisgIGNvbnN0IGludCBrTWF4V2lkdGggPSA0MDk2ICogMzsKKyAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKHNyY19hLCBrTWF4V2lkdGgpOworICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX2Is
IGtNYXhXaWR0aCk7CisgIG1lbXNldChzcmNfYSwgMCwga01heFdpZHRoKTsKKyAgbWVtc2V0KHNy
Y19iLCAwLCBrTWF4V2lkdGgpOworCisgIC8vIFRlc3Qga25vd24gdmFsdWUKKyAgbWVtY3B5KHNy
Y19hLCAidGVzdDAxMjN0ZXN0NDU2NyIsIDE2KTsKKyAgbWVtY3B5KHNyY19iLCAidGljazAxMjN0
b2NrNDU2NyIsIDE2KTsKKyAgdWludDMyIGgxID0gSGFtbWluZ0Rpc3RhbmNlX0Moc3JjX2EsIHNy
Y19iLCAxNik7CisgIEVYUEVDVF9FUSgxNnUsIGgxKTsKKworICAvLyBUZXN0IEMgdnMgT1BUIG9u
IHJhbmRvbSBidWZmZXIKKyAgTWVtUmFuZG9taXplKHNyY19hLCBrTWF4V2lkdGgpOworICBNZW1S
YW5kb21pemUoc3JjX2IsIGtNYXhXaWR0aCk7CisKKyAgdWludDMyIGgwID0gSGFtbWluZ0Rpc3Rh
bmNlX0Moc3JjX2EsIHNyY19iLCBrTWF4V2lkdGgpOworCisgIGludCBjb3VudCA9CisgICAgICBi
ZW5jaG1hcmtfaXRlcmF0aW9uc18gKgorICAgICAgKChiZW5jaG1hcmtfd2lkdGhfICogYmVuY2ht
YXJrX2hlaWdodF8gKyBrTWF4V2lkdGggLSAxKSAvIGtNYXhXaWR0aCk7CisgIGZvciAoaW50IGkg
PSAwOyBpIDwgY291bnQ7ICsraSkgeworI2lmIGRlZmluZWQoSEFTX0hBTU1JTkdESVNUQU5DRV9O
RU9OKQorICAgIGgxID0gSGFtbWluZ0Rpc3RhbmNlX05FT04oc3JjX2EsIHNyY19iLCBrTWF4V2lk
dGgpOworI2VsaWYgZGVmaW5lZChIQVNfSEFNTUlOR0RJU1RBTkNFX1g4NikKKyAgICBoMSA9IEhh
bW1pbmdEaXN0YW5jZV9YODYoc3JjX2EsIHNyY19iLCBrTWF4V2lkdGgpOworI2Vsc2UKKyAgICBo
MSA9IEhhbW1pbmdEaXN0YW5jZV9DKHNyY19hLCBzcmNfYiwga01heFdpZHRoKTsKKyNlbmRpZgor
ICB9CisKKyAgRVhQRUNUX0VRKGgwLCBoMSk7CisKKyAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdl
X2VuZChzcmNfYSk7CisgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX2IpOworfQor
CitURVNUX0YoTGliWVVWQmFzZVRlc3QsIEJlbmNobWFya0hhbW1pbmdEaXN0YW5jZV9DKSB7Cisg
IGNvbnN0IGludCBrTWF4V2lkdGggPSA0MDk2ICogMzsKKyAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5k
KHNyY19hLCBrTWF4V2lkdGgpOworICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX2IsIGtNYXhX
aWR0aCk7CisgIG1lbXNldChzcmNfYSwgMCwga01heFdpZHRoKTsKKyAgbWVtc2V0KHNyY19iLCAw
LCBrTWF4V2lkdGgpOworCisgIC8vIFRlc3Qga25vd24gdmFsdWUKKyAgbWVtY3B5KHNyY19hLCAi
dGVzdDAxMjN0ZXN0NDU2NyIsIDE2KTsKKyAgbWVtY3B5KHNyY19iLCAidGljazAxMjN0b2NrNDU2
NyIsIDE2KTsKKyAgdWludDMyIGgxID0gSGFtbWluZ0Rpc3RhbmNlX0Moc3JjX2EsIHNyY19iLCAx
Nik7CisgIEVYUEVDVF9FUSgxNnUsIGgxKTsKKworICAvLyBUZXN0IEMgdnMgT1BUIG9uIHJhbmRv
bSBidWZmZXIKKyAgTWVtUmFuZG9taXplKHNyY19hLCBrTWF4V2lkdGgpOworICBNZW1SYW5kb21p
emUoc3JjX2IsIGtNYXhXaWR0aCk7CisKKyAgdWludDMyIGgwID0gSGFtbWluZ0Rpc3RhbmNlX0Mo
c3JjX2EsIHNyY19iLCBrTWF4V2lkdGgpOworCisgIGludCBjb3VudCA9CisgICAgICBiZW5jaG1h
cmtfaXRlcmF0aW9uc18gKgorICAgICAgKChiZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJrX2hl
aWdodF8gKyBrTWF4V2lkdGggLSAxKSAvIGtNYXhXaWR0aCk7CisgIGZvciAoaW50IGkgPSAwOyBp
IDwgY291bnQ7ICsraSkgeworICAgIGgxID0gSGFtbWluZ0Rpc3RhbmNlX0Moc3JjX2EsIHNyY19i
LCBrTWF4V2lkdGgpOworICB9CisKKyAgRVhQRUNUX0VRKGgwLCBoMSk7CisKKyAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfYSk7CisgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9l
bmQoc3JjX2IpOworfQorCitURVNUX0YoTGliWVVWQmFzZVRlc3QsIEJlbmNobWFya0hhbW1pbmdE
aXN0YW5jZSkgeworICBjb25zdCBpbnQga01heFdpZHRoID0gNDA5NiAqIDM7CisgIGFsaWduX2J1
ZmZlcl9wYWdlX2VuZChzcmNfYSwga01heFdpZHRoKTsKKyAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5k
KHNyY19iLCBrTWF4V2lkdGgpOworICBtZW1zZXQoc3JjX2EsIDAsIGtNYXhXaWR0aCk7CisgIG1l
bXNldChzcmNfYiwgMCwga01heFdpZHRoKTsKKworICBtZW1jcHkoc3JjX2EsICJ0ZXN0MDEyM3Rl
c3Q0NTY3IiwgMTYpOworICBtZW1jcHkoc3JjX2IsICJ0aWNrMDEyM3RvY2s0NTY3IiwgMTYpOwor
ICB1aW50NjQgaDEgPSBDb21wdXRlSGFtbWluZ0Rpc3RhbmNlKHNyY19hLCBzcmNfYiwgMTYpOwor
ICBFWFBFQ1RfRVEoMTZ1LCBoMSk7CisKKyAgLy8gVGVzdCBDIHZzIE9QVCBvbiByYW5kb20gYnVm
ZmVyCisgIE1lbVJhbmRvbWl6ZShzcmNfYSwga01heFdpZHRoKTsKKyAgTWVtUmFuZG9taXplKHNy
Y19iLCBrTWF4V2lkdGgpOworCisgIHVpbnQzMiBoMCA9IEhhbW1pbmdEaXN0YW5jZV9DKHNyY19h
LCBzcmNfYiwga01heFdpZHRoKTsKKworICBpbnQgY291bnQgPQorICAgICAgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfICoKKyAgICAgICgoYmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRf
ICsga01heFdpZHRoIC0gMSkgLyBrTWF4V2lkdGgpOworICBmb3IgKGludCBpID0gMDsgaSA8IGNv
dW50OyArK2kpIHsKKyAgICBoMSA9IENvbXB1dGVIYW1taW5nRGlzdGFuY2Uoc3JjX2EsIHNyY19i
LCBrTWF4V2lkdGgpOworICB9CisKKyAgRVhQRUNUX0VRKGgwLCBoMSk7CisKKyAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfYSk7CisgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9l
bmQoc3JjX2IpOworfQorCiBURVNUX0YoTGliWVVWQmFzZVRlc3QsIEJlbmNobWFya1N1bVNxdWFy
ZUVycm9yX09wdCkgewogICBjb25zdCBpbnQga01heFdpZHRoID0gNDA5NiAqIDM7CiAgIGFsaWdu
X2J1ZmZlcl9wYWdlX2VuZChzcmNfYSwga01heFdpZHRoKTsKQEAgLTIyMCw4ICszMjQsOSBAQCBU
RVNUX0YoTGliWVVWQmFzZVRlc3QsIEJlbmNobWFya1N1bVNxdWFyZUVycm9yX09wdCkgewogICBt
ZW1zZXQoc3JjX2EsIDAsIGtNYXhXaWR0aCk7CiAgIG1lbXNldChzcmNfYiwgMCwga01heFdpZHRo
KTsKIAotICBpbnQgY291bnQgPSBiZW5jaG1hcmtfaXRlcmF0aW9uc18gKgotICAgICgoYmVuY2ht
YXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfICsga01heFdpZHRoIC0gMSkgLyBrTWF4V2lk
dGgpOworICBpbnQgY291bnQgPQorICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfICoKKyAgICAg
ICgoYmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfICsga01heFdpZHRoIC0gMSkg
LyBrTWF4V2lkdGgpOwogICBmb3IgKGludCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICBo
MSA9IENvbXB1dGVTdW1TcXVhcmVFcnJvcihzcmNfYSwgc3JjX2IsIGtNYXhXaWR0aCk7CiAgIH0K
QEAgLTI4NCw4ICszODksNyBAQCBURVNUX0YoTGliWVVWQmFzZVRlc3QsIEJlbmNobWFya1BzbnJf
T3B0KSB7CiAKICAgZG91YmxlIG9wdF90aW1lID0gZ2V0X3RpbWUoKTsKICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsraSkKLSAgICBDYWxjRnJhbWVQc25yKHNy
Y19hLCBiZW5jaG1hcmtfd2lkdGhfLAotICAgICAgICAgICAgICAgICAgc3JjX2IsIGJlbmNobWFy
a193aWR0aF8sCisgICAgQ2FsY0ZyYW1lUHNucihzcmNfYSwgYmVuY2htYXJrX3dpZHRoXywgc3Jj
X2IsIGJlbmNobWFya193aWR0aF8sCiAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhf
LCBiZW5jaG1hcmtfaGVpZ2h0Xyk7CiAKICAgb3B0X3RpbWUgPSAoZ2V0X3RpbWUoKSAtIG9wdF90
aW1lKSAvIGJlbmNobWFya19pdGVyYXRpb25zXzsKQEAgLTMwOSw4ICs0MTMsNyBAQCBURVNUX0Yo
TGliWVVWQmFzZVRlc3QsIEJlbmNobWFya1BzbnJfVW5hbGlnbmVkKSB7CiAKICAgZG91YmxlIG9w
dF90aW1lID0gZ2V0X3RpbWUoKTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRl
cmF0aW9uc187ICsraSkKLSAgICBDYWxjRnJhbWVQc25yKHNyY19hICsgMSwgYmVuY2htYXJrX3dp
ZHRoXywKLSAgICAgICAgICAgICAgICAgIHNyY19iLCBiZW5jaG1hcmtfd2lkdGhfLAorICAgIENh
bGNGcmFtZVBzbnIoc3JjX2EgKyAxLCBiZW5jaG1hcmtfd2lkdGhfLCBzcmNfYiwgYmVuY2htYXJr
X3dpZHRoXywKICAgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19o
ZWlnaHRfKTsKIAogICBvcHRfdGltZSA9IChnZXRfdGltZSgpIC0gb3B0X3RpbWUpIC8gYmVuY2ht
YXJrX2l0ZXJhdGlvbnNfOwpAQCAtMzM1LDI0ICs0MzgsMjQgQEAgVEVTVF9GKExpYllVVkJhc2VU
ZXN0LCBQc25yKSB7CiAKICAgZG91YmxlIGVycjsKICAgZXJyID0gQ2FsY0ZyYW1lUHNucihzcmNf
YSArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICBzcmNfYiArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgICBrU3JjV2lkdGgsIGtTcmNIZWlnaHQpOworICAgICAgICAgICAgICAgICAgICAgIHNy
Y19iICsga1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRlLCBrU3JjV2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAga1NyY0hlaWdodCk7CiAKICAgRVhQRUNUX0VRKGVyciwga01heFBzbnIp
OwogCiAgIG1lbXNldChzcmNfYSwgMjU1LCBrU3JjUGxhbmVTaXplKTsKIAogICBlcnIgPSBDYWxj
RnJhbWVQc25yKHNyY19hICsga1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRlLAotICAgICAg
ICAgICAgICAgICAgICAgIHNyY19iICsga1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRlLAot
ICAgICAgICAgICAgICAgICAgICAgIGtTcmNXaWR0aCwga1NyY0hlaWdodCk7CisgICAgICAgICAg
ICAgICAgICAgICAgc3JjX2IgKyBrU3JjU3RyaWRlICogYiArIGIsIGtTcmNTdHJpZGUsIGtTcmNX
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICBrU3JjSGVpZ2h0KTsKIAogICBFWFBFQ1RfRVEo
ZXJyLCAwLjApOwogCiAgIG1lbXNldChzcmNfYSwgMSwga1NyY1BsYW5lU2l6ZSk7CiAKICAgZXJy
ID0gQ2FsY0ZyYW1lUHNucihzcmNfYSArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICBzcmNfYiArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBrU3JjV2lkdGgsIGtTcmNIZWlnaHQpOworICAg
ICAgICAgICAgICAgICAgICAgIHNyY19iICsga1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRl
LCBrU3JjV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAga1NyY0hlaWdodCk7CiAKICAgRVhQ
RUNUX0dUKGVyciwgNDguMCk7CiAgIEVYUEVDVF9MVChlcnIsIDQ5LjApOwpAQCAtMzYyLDggKzQ2
NSw4IEBAIFRFU1RfRihMaWJZVVZCYXNlVGVzdCwgUHNucikgewogICB9CiAKICAgZXJyID0gQ2Fs
Y0ZyYW1lUHNucihzcmNfYSArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlkZSwKLSAgICAg
ICAgICAgICAgICAgICAgICBzcmNfYiArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICBrU3JjV2lkdGgsIGtTcmNIZWlnaHQpOworICAgICAgICAg
ICAgICAgICAgICAgIHNyY19iICsga1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRlLCBrU3Jj
V2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAga1NyY0hlaWdodCk7CiAKICAgRVhQRUNUX0dU
KGVyciwgMi4wKTsKICAgaWYgKGtTcmNXaWR0aCAqIGtTcmNIZWlnaHQgPj0gMjU2KSB7CkBAIC0z
ODQsMTQgKzQ4NywxNCBAQCBURVNUX0YoTGliWVVWQmFzZVRlc3QsIFBzbnIpIHsKICAgZG91Ymxl
IGNfZXJyLCBvcHRfZXJyOwogCiAgIGNfZXJyID0gQ2FsY0ZyYW1lUHNucihzcmNfYSArIGtTcmNT
dHJpZGUgKiBiICsgYiwga1NyY1N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHNyY19i
ICsga1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAga1NyY1dpZHRoLCBrU3JjSGVpZ2h0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNyY19i
ICsga1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRlLCBrU3JjV2lkdGgsCisgICAgICAgICAg
ICAgICAgICAgICAgICBrU3JjSGVpZ2h0KTsKIAogICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2Nw
dV9pbmZvXyk7CiAKICAgb3B0X2VyciA9IENhbGNGcmFtZVBzbnIoc3JjX2EgKyBrU3JjU3RyaWRl
ICogYiArIGIsIGtTcmNTdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19iICsg
a1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBrU3JjV2lkdGgsIGtTcmNIZWlnaHQpOworICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNf
YiArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlkZSwga1NyY1dpZHRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBrU3JjSGVpZ2h0KTsKIAogICBFWFBFQ1RfRVEob3B0X2VyciwgY19l
cnIpOwogCkBAIC00MTEsOCArNTE0LDcgQEAgVEVTVF9GKExpYllVVkJhc2VUZXN0LCBESVNBQkxF
RF9CZW5jaG1hcmtTc2ltX09wdCkgewogCiAgIGRvdWJsZSBvcHRfdGltZSA9IGdldF90aW1lKCk7
CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpCi0gICAg
Q2FsY0ZyYW1lU3NpbShzcmNfYSwgYmVuY2htYXJrX3dpZHRoXywKLSAgICAgICAgICAgICAgICAg
IHNyY19iLCBiZW5jaG1hcmtfd2lkdGhfLAorICAgIENhbGNGcmFtZVNzaW0oc3JjX2EsIGJlbmNo
bWFya193aWR0aF8sIHNyY19iLCBiZW5jaG1hcmtfd2lkdGhfLAogICAgICAgICAgICAgICAgICAg
YmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOwogCiAgIG9wdF90aW1lID0gKGdl
dF90aW1lKCkgLSBvcHRfdGltZSkgLyBiZW5jaG1hcmtfaXRlcmF0aW9uc187CkBAIC00MzUsMTQg
KzUzNywxNCBAQCBURVNUX0YoTGliWVVWQmFzZVRlc3QsIFNzaW0pIHsKICAgbWVtc2V0KHNyY19h
LCAwLCBrU3JjUGxhbmVTaXplKTsKICAgbWVtc2V0KHNyY19iLCAwLCBrU3JjUGxhbmVTaXplKTsK
IAotICBpZiAoa1NyY1dpZHRoIDw9OCB8fCBrU3JjSGVpZ2h0IDw9IDgpIHsKKyAgaWYgKGtTcmNX
aWR0aCA8PSA4IHx8IGtTcmNIZWlnaHQgPD0gOCkgewogICAgIHByaW50Zigid2FybmluZyAtIFNz
aW0gc2l6ZSB0b28gc21hbGwuICBUZXN0aW5nIGZ1bmN0aW9uIGV4ZWN1dGVzLlxuIik7CiAgIH0K
IAogICBkb3VibGUgZXJyOwogICBlcnIgPSBDYWxjRnJhbWVTc2ltKHNyY19hICsga1NyY1N0cmlk
ZSAqIGIgKyBiLCBrU3JjU3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHNyY19iICsga1Ny
Y1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIGtTcmNX
aWR0aCwga1NyY0hlaWdodCk7CisgICAgICAgICAgICAgICAgICAgICAgc3JjX2IgKyBrU3JjU3Ry
aWRlICogYiArIGIsIGtTcmNTdHJpZGUsIGtTcmNXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICBrU3JjSGVpZ2h0KTsKIAogICBpZiAoa1NyY1dpZHRoID4gOCAmJiBrU3JjSGVpZ2h0ID4gOCkg
ewogICAgIEVYUEVDVF9FUShlcnIsIDEuMCk7CkBAIC00NTEsOCArNTUzLDggQEAgVEVTVF9GKExp
YllVVkJhc2VUZXN0LCBTc2ltKSB7CiAgIG1lbXNldChzcmNfYSwgMjU1LCBrU3JjUGxhbmVTaXpl
KTsKIAogICBlcnIgPSBDYWxjRnJhbWVTc2ltKHNyY19hICsga1NyY1N0cmlkZSAqIGIgKyBiLCBr
U3JjU3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIHNyY19iICsga1NyY1N0cmlkZSAqIGIg
KyBiLCBrU3JjU3RyaWRlLAotICAgICAgICAgICAgICAgICAgICAgIGtTcmNXaWR0aCwga1NyY0hl
aWdodCk7CisgICAgICAgICAgICAgICAgICAgICAgc3JjX2IgKyBrU3JjU3RyaWRlICogYiArIGIs
IGtTcmNTdHJpZGUsIGtTcmNXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICBrU3JjSGVpZ2h0
KTsKIAogICBpZiAoa1NyY1dpZHRoID4gOCAmJiBrU3JjSGVpZ2h0ID4gOCkgewogICAgIEVYUEVD
VF9MVChlcnIsIDAuMDAwMSk7CkBAIC00NjEsOCArNTYzLDggQEAgVEVTVF9GKExpYllVVkJhc2VU
ZXN0LCBTc2ltKSB7CiAgIG1lbXNldChzcmNfYSwgMSwga1NyY1BsYW5lU2l6ZSk7CiAKICAgZXJy
ID0gQ2FsY0ZyYW1lU3NpbShzcmNfYSArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICBzcmNfYiArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0
cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBrU3JjV2lkdGgsIGtTcmNIZWlnaHQpOworICAg
ICAgICAgICAgICAgICAgICAgIHNyY19iICsga1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRl
LCBrU3JjV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAga1NyY0hlaWdodCk7CiAKICAgaWYg
KGtTcmNXaWR0aCA+IDggJiYga1NyY0hlaWdodCA+IDgpIHsKICAgICBFWFBFQ1RfR1QoZXJyLCAw
LjAwMDEpOwpAQCAtNDc0LDggKzU3Niw4IEBAIFRFU1RfRihMaWJZVVZCYXNlVGVzdCwgU3NpbSkg
ewogICB9CiAKICAgZXJyID0gQ2FsY0ZyYW1lU3NpbShzcmNfYSArIGtTcmNTdHJpZGUgKiBiICsg
Yiwga1NyY1N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBzcmNfYiArIGtTcmNTdHJpZGUg
KiBiICsgYiwga1NyY1N0cmlkZSwKLSAgICAgICAgICAgICAgICAgICAgICBrU3JjV2lkdGgsIGtT
cmNIZWlnaHQpOworICAgICAgICAgICAgICAgICAgICAgIHNyY19iICsga1NyY1N0cmlkZSAqIGIg
KyBiLCBrU3JjU3RyaWRlLCBrU3JjV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAga1NyY0hl
aWdodCk7CiAKICAgaWYgKGtTcmNXaWR0aCA+IDggJiYga1NyY0hlaWdodCA+IDgpIHsKICAgICBF
WFBFQ1RfR1QoZXJyLCAwLjApOwpAQCAtNDkzLDE0ICs1OTUsMTQgQEAgVEVTVF9GKExpYllVVkJh
c2VUZXN0LCBTc2ltKSB7CiAgIGRvdWJsZSBjX2Vyciwgb3B0X2VycjsKIAogICBjX2VyciA9IENh
bGNGcmFtZVNzaW0oc3JjX2EgKyBrU3JjU3RyaWRlICogYiArIGIsIGtTcmNTdHJpZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBzcmNfYiArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGtTcmNXaWR0aCwga1NyY0hlaWdodCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBzcmNfYiArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlk
ZSwga1NyY1dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAga1NyY0hlaWdodCk7CiAKICAg
TWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOwogCiAgIG9wdF9lcnIgPSBDYWxjRnJh
bWVTc2ltKHNyY19hICsga1NyY1N0cmlkZSAqIGIgKyBiLCBrU3JjU3RyaWRlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBzcmNfYiArIGtTcmNTdHJpZGUgKiBiICsgYiwga1NyY1N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAga1NyY1dpZHRoLCBrU3JjSGVpZ2h0KTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3JjX2IgKyBrU3JjU3RyaWRlICogYiArIGIsIGtTcmNTdHJp
ZGUsIGtTcmNXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAga1NyY0hlaWdodCk7CiAK
ICAgaWYgKGtTcmNXaWR0aCA+IDggJiYga1NyY0hlaWdodCA+IDgpIHsKICAgICBFWFBFQ1RfRVEo
b3B0X2VyciwgY19lcnIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L2NvbnZlcnRfdGVzdC5jYyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRf
dGVzdC9jb252ZXJ0X3Rlc3QuY2MKaW5kZXggNmNmMzBhZDBmZjdhZjFiNzQ0MDZhYWQ3YTg5MTM2
M2E1ZWM3NjZkYi4uZGVlYjMwZTQ5ODU1ODg3MDJmMzdlNjQ4Y2U3YzgwMDZiODU2NWI0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9s
aWJ5dXYvdW5pdF90ZXN0L2NvbnZlcnRfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3QvY29udmVydF90ZXN0
LmNjCkBAIC0yMSwxNDcgKzIxLDEyOCBAQAogI2lmZGVmIEhBVkVfSlBFRwogI2luY2x1ZGUgImxp
Ynl1di9tanBlZ19kZWNvZGVyLmgiCiAjZW5kaWYKKyNpbmNsdWRlICIuLi91bml0X3Rlc3QvdW5p
dF90ZXN0LmgiCiAjaW5jbHVkZSAibGlieXV2L3BsYW5hcl9mdW5jdGlvbnMuaCIKICNpbmNsdWRl
ICJsaWJ5dXYvcm90YXRlLmgiCiAjaW5jbHVkZSAibGlieXV2L3ZpZGVvX2NvbW1vbi5oIgotI2lu
Y2x1ZGUgIi4uL3VuaXRfdGVzdC91bml0X3Rlc3QuaCIKIAogbmFtZXNwYWNlIGxpYnl1diB7CiAK
LSNkZWZpbmUgU1VCU0FNUExFKHYsIGEpICgoKCh2KSArIChhKSAtIDEpKSAvIChhKSkKLQotI2Rl
ZmluZSBURVNUUExBTkFSVE9QSShTUkNfRk1UX1BMQU5BUiwgU1JDX1NVQlNBTVBfWCwgU1JDX1NV
QlNBTVBfWSwgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1UX1BMQU5BUiwg
U1VCU0FNUF9YLCBTVUJTQU1QX1ksIFcxMjgwLCBOLCBORUcsIE9GRikgICBcCi1URVNUX0YoTGli
WVVWQ29udmVydFRlc3QsIFNSQ19GTVRfUExBTkFSIyNUbyMjRk1UX1BMQU5BUiMjTikgeyAgICAg
ICAgICAgICAgICAgXAotICBjb25zdCBpbnQga1dpZHRoID0gKChXMTI4MCkgPiAwKSA/IChXMTI4
MCkgOiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtIZWln
aHQgPSBiZW5jaG1hcmtfaGVpZ2h0XzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSwga1dpZHRoICoga0hlaWdodCAr
IE9GRik7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQo
c3JjX3UsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gp
ICogICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1Q
TEUoa0hlaWdodCwgU1JDX1NVQlNBTVBfWSkgKyBPRkYpOyAgICAgICAgICAgICAgXAotICBhbGln
bl9idWZmZXJfcGFnZV9lbmQoc3JjX3YsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lk
dGgsIFNSQ19TVUJTQU1QX1gpICogICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICBTVUJTQU1QTEUoa0hlaWdodCwgU1JDX1NVQlNBTVBfWSkgKyBPRkYpOyAgICAg
ICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3lfYywga1dpZHRoICoga0hl
aWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2Vf
ZW5kKGRzdF91X2MsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gp
ICogICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgU1VC
U0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
YWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF92X2MsICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUo
a1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29wdCwga1dpZHRo
ICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9w
YWdlX2VuZChkc3RfdV9vcHQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FN
UF9YKSAqICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
IFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl9vcHQsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FN
UExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga0hlaWdodDsgKytpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZvciAoaW50
IGogPSAwOyBqIDwga1dpZHRoOyArK2opICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIHNyY195W2kgKiBrV2lkdGggKyBqICsgT0ZGXSA9IChmYXN0cmFu
ZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBp
IDwgU1VCU0FNUExFKGtIZWlnaHQsIFNSQ19TVUJTQU1QX1kpOyArK2kpIHsgICAgICAgICAgICAg
ICAgXAotICAgIGZvciAoaW50IGogPSAwOyBqIDwgU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NVQlNB
TVBfWCk7ICsraikgeyAgICAgICAgICAgICAgIFwKLSAgICAgIHNyY191WyhpICogU1VCU0FNUExF
KGtXaWR0aCwgU1JDX1NVQlNBTVBfWCkpICsgaiArIE9GRl0gPSAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgc3JjX3ZbKGkgKiBTVUJTQU1QTEUoa1dpZHRo
LCBTUkNfU1VCU0FNUF9YKSkgKyBqICsgT0ZGXSA9ICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgbWVtc2V0KGRzdF95X2MsIDEsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChkc3RfdV9jLCAyLCBT
VUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF92X2MsIDMsIFNVQlNBTVBM
RShrV2lkdGgsIFNVQlNBTVBfWCkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X3lfb3B0LCAxMDEsIGtXaWR0aCAqIGtI
ZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRz
dF91X29wdCwgMTAyLCBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQs
IFNVQlNBTVBfWSkpOyAgICAgICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X3Zfb3B0
LCAxMDMsIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKiAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FN
UF9ZKSk7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFncyhkaXNhYmxlX2Nw
dV9mbGFnc18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBTUkNfRk1UX1BMQU5BUiMjVG8jI0ZNVF9QTEFOQVIoc3JjX3kgKyBPRkYsIGtXaWR0aCwgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNyY191ICsgT0ZGLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9Y
KSwgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3Yg
KyBPRkYsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gpLCAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfeV9jLCBrV2lk
dGgsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZHN0X3VfYywgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSwgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF92X2MsIFNVQlNBTVBMRShr
V2lkdGgsIFNVQlNBTVBfWCksICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBrV2lkdGgsIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBN
YXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRl
cmF0aW9uc187ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgU1JDX0ZN
VF9QTEFOQVIjI1RvIyNGTVRfUExBTkFSKHNyY195ICsgT0ZGLCBrV2lkdGgsICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSAr
IE9GRiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gpLCAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY192ICsgT0ZGLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NVQlNBTVBfWCksICAgICAgIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3lfb3B0LCBrV2lkdGgsICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRzdF91X29wdCwgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSwgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfdl9vcHQsIFNVQlNBTVBMRShrV2lkdGgs
IFNVQlNBTVBfWCksICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1dp
ZHRoLCBORUcga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBpbnQgbWF4X2RpZmYgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkg
PCBrSGVpZ2h0OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgZm9yIChpbnQgaiA9IDA7IGogPCBrV2lkdGg7ICsraikgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaW50IGFic19kaWZmID0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfeV9jW2kgKiBrV2lkdGggKyBqXSkgLSAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0
X3lfb3B0W2kgKiBrV2lkdGggKyBqXSkpOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYg
KGFic19kaWZmID4gbWF4X2RpZmYpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIEVYUEVDVF9FUSgwLCBtYXhfZGlmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IFNVQlNBTVBM
RShrSGVpZ2h0LCBTVUJTQU1QX1kpOyArK2kpIHsgICAgICAgICAgICAgICAgICAgIFwKLSAgICBm
b3IgKGludCBqID0gMDsgaiA8IFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCk7ICsraikgeyAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgYWJzX2RpZmYgPSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgIGFi
cyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF91X2NbaSAqICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dp
ZHRoLCBTVUJTQU1QX1gpICsgal0pIC0gICAgICAgICAgICBcCi0gICAgICAgICAgICAgIHN0YXRp
Y19jYXN0PGludD4oZHN0X3Vfb3B0W2kgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNV
QlNBTVBfWCkgKyBqXSkpOyAgICAgICAgICAgIFwKLSAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9k
aWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgIG1heF9kaWZmID0gYWJzX2RpZmY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBFWFBFQ1RfTEUobWF4
X2RpZmYsIDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FN
UF9ZKTsgKytpKSB7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9yIChpbnQgaiA9IDA7IGog
PCBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpOyArK2opIHsgICAgICAgICAgICAgICAgICAg
XAotICAgICAgaW50IGFic19kaWZmID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBhYnMoc3RhdGljX2Nhc3Q8aW50
Pihkc3Rfdl9jW2kgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAr
IGpdKSAtICAgICAgICAgICAgXAotICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF92
X29wdFtpICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICsgal0pKTsg
ICAgICAgICAgICBcCi0gICAgICBpZiAoYWJzX2RpZmYgPiBtYXhfZGlmZikgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBtYXhfZGlmZiA9
IGFic19kaWZmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgRVhQRUNUX0xFKG1heF9kaWZmLCAzKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVf
YWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3lfYyk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF91X2Mp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVk
X2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3lfb3B0KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVy
X3BhZ2VfZW5kKGRzdF91X29wdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl9vcHQpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9l
bmQoc3JjX3kpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBm
cmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY191KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNf
dik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi19CisjZGVmaW5l
IFNVQlNBTVBMRSh2LCBhKSAoKCgodikgKyAoYSktMSkpIC8gKGEpKQorCisjZGVmaW5lIFRFU1RQ
TEFOQVJUT1BJKFNSQ19GTVRfUExBTkFSLCBTUkNfU1VCU0FNUF9YLCBTUkNfU1VCU0FNUF9ZLCAg
ICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwg
U1VCU0FNUF9ZLCBXMTI4MCwgTiwgTkVHLCBPRkYpICBcCisgIFRFU1RfRihMaWJZVVZDb252ZXJ0
VGVzdCwgU1JDX0ZNVF9QTEFOQVIjI1RvIyNGTVRfUExBTkFSIyNOKSB7ICAgICAgICAgICAgICBc
CisgICAgY29uc3QgaW50IGtXaWR0aCA9ICgoVzEyODApID4gMCkgPyAoVzEyODApIDogMTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtIZWlnaHQgPSBiZW5jaG1h
cmtfaGVpZ2h0XzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxp
Z25fYnVmZmVyX3BhZ2VfZW5kKHNyY195LCBrV2lkdGgqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY191LCBTVUJTQU1Q
TEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSAqICAgICAgICAgICBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBTUkNfU1VCU0FNUF9Z
KSArICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0ZGKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5k
KHNyY192LCBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSAqICAgICAgICAgICBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0
LCBTUkNfU1VCU0FNUF9ZKSArICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25f
YnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MsIGtXaWR0aCoga0hlaWdodCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91X2MsIFNVQlNBTVBM
RShrV2lkdGgsIFNVQlNBTVBfWCkgKiAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAg
ICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF92X2MsIFNVQlNBTVBMRShrV2lkdGgs
IFNVQlNBTVBfWCkgKiAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICBcCisgICAg
YWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29wdCwga1dpZHRoKiBrSGVpZ2h0KTsgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91X29wdCwg
U1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqICAgICAgICAgICBcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kp
KTsgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF92X29wdCwgU1VCU0FNUExF
KGtXaWR0aCwgU1VCU0FNUF9YKSAqICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICBc
CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyArK2kpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGtXaWR0
aDsgKytqKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg
IHNyY195W2kgKiBrV2lkdGggKyBqICsgT0ZGXSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAg
ICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTVUJTQU1QTEUoa0hlaWdo
dCwgU1JDX1NVQlNBTVBfWSk7ICsraSkgeyAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBq
ID0gMDsgaiA8IFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gpOyArK2opIHsgICAgICAg
ICAgICBcCisgICAgICAgIHNyY191WyhpICogU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NVQlNBTVBf
WCkpICsgaiArIE9GRl0gPSAgICAgICAgICAgICBcCisgICAgICAgICAgICAoZmFzdHJhbmQoKSAm
IDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgIHNyY192WyhpICogU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NVQlNBTVBfWCkpICsgaiAr
IE9GRl0gPSAgICAgICAgICAgICBcCisgICAgICAgICAgICAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF95X2Ms
IDEsIGtXaWR0aCoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgbWVtc2V0KGRzdF91X2MsIDIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgs
IFNVQlNBTVBfWCkgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICBcCisgICAg
bWVtc2V0KGRzdF92X2MsIDMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBf
WCkgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICBcCisgICAgbWVtc2V0KGRz
dF95X29wdCwgMTAxLCBrV2lkdGgqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgbWVtc2V0KGRzdF91X29wdCwgMTAyLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgIFNVQlNBTVBMRShr
V2lkdGgsIFNVQlNBTVBfWCkgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICBc
CisgICAgbWVtc2V0KGRzdF92X29wdCwgMTAzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNV
QlNBTVBfWCkgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICBcCisgICAgTWFz
a0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgU1JDX0ZNVF9QTEFOQVIjI1RvIyNGTVRfUExBTkFSKCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNyY195ICsg
T0ZGLCBrV2lkdGgsIHNyY191ICsgT0ZGLCBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9Y
KSwgICBcCisgICAgICAgIHNyY192ICsgT0ZGLCBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FN
UF9YKSwgZHN0X3lfYywga1dpZHRoLCAgICAgICBcCisgICAgICAgIGRzdF91X2MsIFNVQlNBTVBM
RShrV2lkdGgsIFNVQlNBTVBfWCksIGRzdF92X2MsICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCksIGtXaWR0aCwgTkVHIGtIZWlnaHQp
OyAgICAgICAgICAgICAgICAgICBcCisgICAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5m
b18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsraSkgeyAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICBTUkNfRk1UX1BMQU5BUiMjVG8jI0ZNVF9QTEFOQVIoICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgc3JjX3kgKyBP
RkYsIGtXaWR0aCwgc3JjX3UgKyBPRkYsIFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gp
LCBcCisgICAgICAgICAgc3JjX3YgKyBPRkYsIFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1Q
X1gpLCBkc3RfeV9vcHQsIGtXaWR0aCwgICBcCisgICAgICAgICAgZHN0X3Vfb3B0LCBTVUJTQU1Q
TEUoa1dpZHRoLCBTVUJTQU1QX1gpLCBkc3Rfdl9vcHQsICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSwga1dpZHRoLCBORUcga0hlaWdodCk7
ICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IG1heF9k
aWZmID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyArK2kpIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBqID0gMDsg
aiA8IGtXaWR0aDsgKytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIGludCBhYnNfZGlmZiA9IGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF95X2NbaSAq
IGtXaWR0aCArIGpdKSAtICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
aWNfY2FzdDxpbnQ+KGRzdF95X29wdFtpICoga1dpZHRoICsgal0pKTsgICAgICBcCisgICAgICAg
IGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgRVhQRUNUX0VRKDAsIG1heF9kaWZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTVUJTQU1QTEUo
a0hlaWdodCwgU1VCU0FNUF9ZKTsgKytpKSB7ICAgICAgICAgICAgICAgICBcCisgICAgICBmb3Ig
KGludCBqID0gMDsgaiA8IFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCk7ICsraikgeyAgICAg
ICAgICAgICAgICBcCisgICAgICAgIGludCBhYnNfZGlmZiA9IGFicyggICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxpbnQ+KGRzdF91X2NbaSAqIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKyBqXSkg
LSBcCisgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgZHN0X3Vfb3B0W2kg
KiBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICsgal0pKTsgICAgICAgICAgICBcCisgICAg
ICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgRVhQRUNUX0xFKG1heF9kaWZmLCAzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTVUJTQU1Q
TEUoa0hlaWdodCwgU1VCU0FNUF9ZKTsgKytpKSB7ICAgICAgICAgICAgICAgICBcCisgICAgICBm
b3IgKGludCBqID0gMDsgaiA8IFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCk7ICsraikgeyAg
ICAgICAgICAgICAgICBcCisgICAgICAgIGludCBhYnNfZGlmZiA9IGFicyggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBzdGF0
aWNfY2FzdDxpbnQ+KGRzdF92X2NbaSAqIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKyBq
XSkgLSBcCisgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgZHN0X3Zfb3B0
W2kgKiBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICsgal0pKTsgICAgICAgICAgICBcCisg
ICAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgRVhQRUNUX0xFKG1heF9kaWZmLCAzKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdl
X2VuZChkc3RfeV9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV9jKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3Rf
dl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV9vcHQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZl
cl9wYWdlX2VuZChkc3Rfdl9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfdSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJl
ZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgIH0KIAotI2RlZmluZSBURVNUUExBTkFSVE9QKFNSQ19GTVRfUExB
TkFSLCBTUkNfU1VCU0FNUF9YLCBTUkNfU1VCU0FNUF9ZLCAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSkgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgVEVTVFBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19T
VUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfIC0gNCwgX0FueSwg
KywgMCkgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVFBMQU5BUlRPUEkoU1JD
X0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtf
d2lkdGhfLCBfVW5hbGlnbmVkLCArLCAxKSAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
VEVTVFBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1Q
X1ksICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNB
TVBfWCwgU1VCU0FNUF9ZLCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBfSW52ZXJ0LCAtLCAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgVEVTVFBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJT
QU1QX1gsIFNSQ19TVUJTQU1QX1ksICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
IEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBfT3B0LCArLCAwKQor
I2RlZmluZSBURVNUUExBTkFSVE9QKFNSQ19GTVRfUExBTkFSLCBTUkNfU1VCU0FNUF9YLCBTUkNf
U1VCU0FNUF9ZLCAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNV
QlNBTVBfWCwgU1VCU0FNUF9ZKSAgICAgICAgICAgICAgICAgICAgXAorICBURVNUUExBTkFSVE9Q
SShTUkNfRk1UX1BMQU5BUiwgU1JDX1NVQlNBTVBfWCwgU1JDX1NVQlNBTVBfWSwgRk1UX1BMQU5B
UiwgXAorICAgICAgICAgICAgICAgICBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgYmVuY2htYXJrX3dp
ZHRoXyAtIDQsIF9BbnksICssIDApICAgXAorICBURVNUUExBTkFSVE9QSShTUkNfRk1UX1BMQU5B
UiwgU1JDX1NVQlNBTVBfWCwgU1JDX1NVQlNBTVBfWSwgRk1UX1BMQU5BUiwgXAorICAgICAgICAg
ICAgICAgICBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgYmVuY2htYXJrX3dpZHRoXywgX1VuYWxpZ25l
ZCwgKywgMSkgXAorICBURVNUUExBTkFSVE9QSShTUkNfRk1UX1BMQU5BUiwgU1JDX1NVQlNBTVBf
WCwgU1JDX1NVQlNBTVBfWSwgRk1UX1BMQU5BUiwgXAorICAgICAgICAgICAgICAgICBTVUJTQU1Q
X1gsIFNVQlNBTVBfWSwgYmVuY2htYXJrX3dpZHRoXywgX0ludmVydCwgLSwgMCkgICAgXAorICBU
RVNUUExBTkFSVE9QSShTUkNfRk1UX1BMQU5BUiwgU1JDX1NVQlNBTVBfWCwgU1JDX1NVQlNBTVBf
WSwgRk1UX1BMQU5BUiwgXAorICAgICAgICAgICAgICAgICBTVUJTQU1QX1gsIFNVQlNBTVBfWSwg
YmVuY2htYXJrX3dpZHRoXywgX09wdCwgKywgMCkKIAogVEVTVFBMQU5BUlRPUChJNDIwLCAyLCAy
LCBJNDIwLCAyLCAyKQogVEVTVFBMQU5BUlRPUChJNDIyLCAyLCAxLCBJNDIwLCAyLCAyKQpAQCAt
MTczLDI1MSArMTU0LDIyMCBAQCBURVNUUExBTkFSVE9QKEk0MjIsIDIsIDEsIEk0MjIsIDIsIDEp
CiBURVNUUExBTkFSVE9QKEk0NDQsIDEsIDEsIEk0NDQsIDEsIDEpCiAKIC8vIFRlc3QgQW5kcm9p
ZCA0MjAgdG8gSTQyMAotI2RlZmluZSBURVNUQVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFBJ
WEVMX1NUUklERSwgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNV
QlNBTVBfWSwgVzEyODAsIE4sIE5FRywgT0ZGLCAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
UE4sIE9GRl9VLCBPRkZfVikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LVRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgU1JDX0ZNVF9QTEFOQVIjI1RvIyNGTVRfUExBTkFS
IyNfIyNQTiMjTikge1wKLSAgY29uc3QgaW50IGtXaWR0aCA9ICgoVzEyODApID4gMCkgPyAoVzEy
ODApIDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrSGVp
Z2h0ID0gYmVuY2htYXJrX2hlaWdodF87ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBjb25zdCBpbnQga1NpemVVViA9IFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJT
QU1QX1gpICogICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICBT
VUJTQU1QTEUoa0hlaWdodCwgU1JDX1NVQlNBTVBfWSk7ICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSwga1dpZHRoICoga0hlaWdodCArIE9GRik7
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3V2
LCBrU2l6ZVVWICogKChQSVhFTF9TVFJJREUgPT0gMykgPyAzIDogMikgKyBPRkYpO1wKLSAgYWxp
Z25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV9jLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBT
VUJTQU1QX1kpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdl
X2VuZChkc3Rfdl9jLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9Y
KSAqICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNV
QlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3Vfb3B0
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKiAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0hlaWdo
dCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJf
cGFnZV9lbmQoZHN0X3Zfb3B0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNB
TVBfWCkgKiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
XAotICB1aW50OCogc3JjX3UgPSBzcmNfdXYgKyBPRkZfVTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgdWludDgqIHNyY192ID0gc3JjX3V2ICsgKFBJ
WEVMX1NUUklERSA9PSAxID8ga1NpemVVViA6IE9GRl9WKTsgICAgICAgICAgICAgICBcCi0gIGlu
dCBzcmNfc3RyaWRlX3V2ID0gIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKiBQSVhFTF9T
VFJJREU7ICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IGtIZWlnaHQ7ICsraSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBmb3IgKGlu
dCBqID0gMDsgaiA8IGtXaWR0aDsgKytqKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBzcmNfeVtpICoga1dpZHRoICsgaiArIE9GRl0gPSAoZmFzdHJh
bmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsg
aSA8IFNVQlNBTVBMRShrSGVpZ2h0LCBTUkNfU1VCU0FNUF9ZKTsgKytpKSB7ICAgICAgICAgICAg
ICAgIFwKLSAgICBmb3IgKGludCBqID0gMDsgaiA8IFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJT
QU1QX1gpOyArK2opIHsgICAgICAgICAgICAgICBcCi0gICAgICBzcmNfdVsoaSAqIHNyY19zdHJp
ZGVfdXYpICsgaiAqIFBJWEVMX1NUUklERSArIE9GRl0gPSAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgIChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHNyY192WyhpICogc3JjX3N0cmlkZV91dikg
KyBqICogUElYRUxfU1RSSURFICsgT0ZGXSA9ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIG1lbXNldChkc3RfeV9jLCAxLCBrV2lkdGggKiBrSGVpZ2h0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X3VfYywgMiwg
U1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChkc3Rfdl9jLCAzLCBTVUJTQU1Q
TEUoa1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF95X29wdCwgMTAxLCBrV2lkdGggKiBr
SGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChk
c3RfdV9vcHQsIDEwMiwgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0
LCBTVUJTQU1QX1kpKTsgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF92X29w
dCwgMTAzLCBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNB
TVBfWSkpOyAgICAgICAgICAgICAgICAgICAgICAgXAotICBNYXNrQ3B1RmxhZ3MoZGlzYWJsZV9j
cHVfZmxhZ3NfKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgU1JDX0ZNVF9QTEFOQVIjI1RvIyNGTVRfUExBTkFSKHNyY195ICsgT0ZGLCBrV2lkdGgsICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzcmNfdSArIE9GRiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NVQlNBTVBf
WCksICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY192
ICsgT0ZGLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSwgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUElYRUxfU1RSSURF
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRzdF95X2MsIGtXaWR0aCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfdV9jLCBTVUJTQU1QTEUo
a1dpZHRoLCBTVUJTQU1QX1gpLCAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZHN0X3ZfYywgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSwgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFncyhiZW5jaG1hcmtfY3B1X2luZm9f
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGlu
dCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zXzsgKytpKSB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBTUkNfRk1UX1BMQU5BUiMjVG8jI0ZNVF9QTEFOQVIoc3JjX3kg
KyBPRkYsIGtXaWR0aCwgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNyY191ICsgT0ZGLCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExF
KGtXaWR0aCwgU1JDX1NVQlNBTVBfWCksICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3JjX3YgKyBPRkYsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRo
LCBTUkNfU1VCU0FNUF9YKSwgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBQSVhFTF9TVFJJREUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3lfb3B0LCBrV2lkdGgsICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRz
dF91X29wdCwgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSwgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkc3Rfdl9vcHQsIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNB
TVBfWCksICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1dpZHRoLCBO
RUcga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBpbnQgbWF4X2RpZmYgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrSGVp
Z2h0OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgZm9yIChpbnQgaiA9IDA7IGogPCBrV2lkdGg7ICsraikgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaW50IGFic19kaWZmID0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfeV9jW2kgKiBrV2lkdGggKyBqXSkgLSAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3lfb3B0
W2kgKiBrV2lkdGggKyBqXSkpOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKGFic19k
aWZmID4gbWF4X2RpZmYpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEVY
UEVDVF9FUSgwLCBtYXhfZGlmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IFNVQlNBTVBMRShrSGVp
Z2h0LCBTVUJTQU1QX1kpOyArK2kpIHsgICAgICAgICAgICAgICAgICAgIFwKLSAgICBmb3IgKGlu
dCBqID0gMDsgaiA8IFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCk7ICsraikgeyAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICBpbnQgYWJzX2RpZmYgPSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgIGFicyhzdGF0
aWNfY2FzdDxpbnQ+KGRzdF91X2NbaSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBT
VUJTQU1QX1gpICsgal0pIC0gICAgICAgICAgICBcCi0gICAgICAgICAgICAgIHN0YXRpY19jYXN0
PGludD4oZHN0X3Vfb3B0W2kgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBf
WCkgKyBqXSkpOyAgICAgICAgICAgIFwKLSAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
IG1heF9kaWZmID0gYWJzX2RpZmY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBFWFBFQ1RfTEUobWF4X2RpZmYs
IDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKTsg
KytpKSB7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9yIChpbnQgaiA9IDA7IGogPCBTVUJT
QU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpOyArK2opIHsgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgaW50IGFic19kaWZmID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3Rf
dl9jW2kgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSArIGpdKSAt
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF92X29wdFtp
ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICsgal0pKTsgICAgICAg
ICAgICBcCi0gICAgICBpZiAoYWJzX2RpZmYgPiBtYXhfZGlmZikgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBtYXhfZGlmZiA9IGFic19k
aWZmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgRVhQRUNUX0xFKG1heF9kaWZmLCAzKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25l
ZF9idWZmZXJfcGFnZV9lbmQoZHN0X3lfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF91X2MpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZl
cl9wYWdlX2VuZChkc3Rfdl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3lfb3B0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2Vf
ZW5kKGRzdF91X29wdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl9vcHQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3Jj
X3kpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2Fs
aWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY191dik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLX0KKyNkZWZpbmUgVEVTVEFQTEFOQVJUT1BJKFNSQ19GTVRfUExBTkFS
LCBQSVhFTF9TVFJJREUsIFNSQ19TVUJTQU1QX1gsICAgICAgICAgIFwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIFNSQ19TVUJTQU1QX1ksIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9Z
LCAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIFcxMjgwLCBOLCBORUcsIE9GRiwgUE4s
IE9GRl9VLCBPRkZfVikgICAgICAgICAgICAgICAgIFwKKyAgVEVTVF9GKExpYllVVkNvbnZlcnRU
ZXN0LCBTUkNfRk1UX1BMQU5BUiMjVG8jI0ZNVF9QTEFOQVIjI18jI1BOIyNOKSB7ICAgICAgIFwK
KyAgICBjb25zdCBpbnQga1dpZHRoID0gKChXMTI4MCkgPiAwKSA/IChXMTI4MCkgOiAxOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga0hlaWdodCA9IGJlbmNobWFy
a19oZWlnaHRfOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25z
dCBpbnQga1NpemVVViA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NVQlNBTVBfWCkg
KiBTVUJTQU1QTEUoa0hlaWdodCwgU1JDX1NVQlNBTVBfWSk7IFwKKyAgICBhbGlnbl9idWZmZXJf
cGFnZV9lbmQoc3JjX3ksIGtXaWR0aCoga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3V2LCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
a1NpemVVViooKFBJWEVMX1NUUklERSA9PSAzKSA/IDMgOiAyKSArIE9GRik7ICAgICAgIFwKKyAg
ICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3lfYywga1dpZHRoKiBrSGVpZ2h0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3VfYywg
U1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqICAgICAgICAgICAgIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kp
KTsgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3ZfYywgU1VCU0FNUExF
KGtXaWR0aCwgU1VCU0FNUF9YKSAqICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAg
IFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3lfb3B0LCBrV2lkdGgqIGtIZWlnaHQp
OyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0
X3Vfb3B0LCBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNV
QlNBTVBfWSkpOyAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3Zfb3B0LCBT
VUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAgIFwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkp
OyAgICAgIFwKKyAgICB1aW50OCogc3JjX3UgPSBzcmNfdXYgKyBPRkZfVTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1aW50OCogc3JjX3YgPSBzcmNf
dXYgKyAoUElYRUxfU1RSSURFID09IDEgPyBrU2l6ZVVWIDogT0ZGX1YpOyAgICAgICAgICAgIFwK
KyAgICBpbnQgc3JjX3N0cmlkZV91diA9IFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKiBQ
SVhFTF9TVFJJREU7ICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtIZWlnaHQ7
ICsraSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGZv
ciAoaW50IGogPSAwOyBqIDwga1dpZHRoOyArK2opICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgc3JjX3lbaSAqIGtXaWR0aCArIGogKyBPRkZdID0gKGZh
c3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0g
MDsgaSA8IFNVQlNBTVBMRShrSGVpZ2h0LCBTUkNfU1VCU0FNUF9ZKTsgKytpKSB7ICAgICAgICAg
ICAgIFwKKyAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NV
QlNBTVBfWCk7ICsraikgeyAgICAgICAgICAgIFwKKyAgICAgICAgc3JjX3VbKGkgKiBzcmNfc3Ry
aWRlX3V2KSArIGogKiBQSVhFTF9TVFJJREUgKyBPRkZdID0gICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgICAgIChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3JjX3ZbKGkgKiBzcmNfc3RyaWRlX3V2KSAr
IGogKiBQSVhFTF9TVFJJREUgKyBPRkZdID0gICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAg
IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBtZW1zZXQoZHN0X3lfYywgMSwga1dpZHRoKiBrSGVpZ2h0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X3VfYywgMiwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqIFNVQlNBTVBMRShrSGVpZ2h0LCBT
VUJTQU1QX1kpKTsgICAgIFwKKyAgICBtZW1zZXQoZHN0X3ZfYywgMywgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgU1VC
U0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kp
KTsgICAgIFwKKyAgICBtZW1zZXQoZHN0X3lfb3B0LCAxMDEsIGtXaWR0aCoga0hlaWdodCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X3Vfb3B0LCAx
MDIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqIFNVQlNBTVBMRShrSGVp
Z2h0LCBTVUJTQU1QX1kpKTsgICAgIFwKKyAgICBtZW1zZXQoZHN0X3Zfb3B0LCAxMDMsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg
ICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJT
QU1QX1kpKTsgICAgIFwKKyAgICBNYXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBTUkNfRk1UX1BMQU5B
UiMjVG8jI0ZNVF9QTEFOQVIoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgc3JjX3kgKyBPRkYsIGtXaWR0aCwgc3JjX3UgKyBPRkYsIFNVQlNBTVBM
RShrV2lkdGgsIFNSQ19TVUJTQU1QX1gpLCAgIFwKKyAgICAgICAgc3JjX3YgKyBPRkYsIFNVQlNB
TVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gpLCBQSVhFTF9TVFJJREUsIGRzdF95X2MsIFwKKyAg
ICAgICAga1dpZHRoLCBkc3RfdV9jLCBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpLCBkc3Rf
dl9jLCAgICAgICAgICAgICAgIFwKKyAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9Y
KSwga1dpZHRoLCBORUcga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgIFwKKyAgICBNYXNrQ3B1
RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25z
XzsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIFNSQ19GTVRfUExBTkFS
IyNUbyMjRk1UX1BMQU5BUiggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgICAgICBzcmNfeSArIE9GRiwga1dpZHRoLCBzcmNfdSArIE9GRiwgU1VCU0FNUExF
KGtXaWR0aCwgU1JDX1NVQlNBTVBfWCksIFwKKyAgICAgICAgICBzcmNfdiArIE9GRiwgU1VCU0FN
UExFKGtXaWR0aCwgU1JDX1NVQlNBTVBfWCksIFBJWEVMX1NUUklERSwgICAgICAgIFwKKyAgICAg
ICAgICBkc3RfeV9vcHQsIGtXaWR0aCwgZHN0X3Vfb3B0LCBTVUJTQU1QTEUoa1dpZHRoLCBTVUJT
QU1QX1gpLCAgICAgICAgIFwKKyAgICAgICAgICBkc3Rfdl9vcHQsIFNVQlNBTVBMRShrV2lkdGgs
IFNVQlNBTVBfWCksIGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAgICAgIFwKKyAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBpbnQgbWF4X2RpZmYgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8
IGtIZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgIGZvciAoaW50IGogPSAwOyBqIDwga1dpZHRoOyArK2opIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaW50IGFic19kaWZmID0gYWJzKHN0YXRp
Y19jYXN0PGludD4oZHN0X3lfY1tpICoga1dpZHRoICsgal0pIC0gICAgICAgIFwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3lfb3B0W2kgKiBrV2lkdGgg
KyBqXSkpOyAgICAgIFwKKyAgICAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICBtYXhfZGlm
ZiA9IGFic19kaWZmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfRVEoMCwgbWF4X2RpZmYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpOyArK2kpIHsgICAgICAg
ICAgICAgICAgIFwKKyAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgU1VCU0FNUExFKGtXaWR0aCwg
U1VCU0FNUF9YKTsgKytqKSB7ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaW50IGFic19kaWZm
ID0gYWJzKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3VfY1tpICogU1VCU0FNUExFKGtX
aWR0aCwgU1VCU0FNUF9YKSArIGpdKSAtIFwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4o
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICBkc3RfdV9vcHRbaSAqIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKyBq
XSkpOyAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICBtYXhf
ZGlmZiA9IGFic19kaWZmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfTEUobWF4X2RpZmYsIDMpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3Ig
KGludCBpID0gMDsgaSA8IFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpOyArK2kpIHsgICAg
ICAgICAgICAgICAgIFwKKyAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgU1VCU0FNUExFKGtXaWR0
aCwgU1VCU0FNUF9YKTsgKytqKSB7ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaW50IGFic19k
aWZmID0gYWJzKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3ZfY1tpICogU1VCU0FNUExF
KGtXaWR0aCwgU1VCU0FNUF9YKSArIGpdKSAtIFwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PGlu
dD4oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgICAgICAgICBkc3Rfdl9vcHRbaSAqIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkg
KyBqXSkpOyAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICBt
YXhfZGlmZiA9IGFic19kaWZmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfTEUobWF4X2RpZmYsIDMpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBm
cmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF91
X2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWdu
ZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF92X2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29wdCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVy
X3BhZ2VfZW5kKGRzdF91X29wdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF92X29wdCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5k
KHNyY195KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVl
X2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY191dik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgfQogCiAjZGVmaW5lIFRFU1RBUExBTkFSVE9QKFNSQ19GTVRfUExB
TkFSLCBQTiwgUElYRUxfU1RSSURFLCBPRkZfVSwgT0ZGX1YsICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICBTUkNfU1VCU0FNUF9YLCBTUkNfU1VCU0FNUF9ZLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1UX1BMQU5BUiwgU1VCU0FN
UF9YLCBTVUJTQU1QX1kpICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVEFQTEFOQVJU
T1BJKFNSQ19GTVRfUExBTkFSLCBQSVhFTF9TVFJJREUsIFNSQ19TVUJTQU1QX1gsICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgICAgICBTUkNfU1VCU0FNUF9ZLCBGTVRfUExBTkFSLCBT
VUJTQU1QX1gsIFNVQlNBTVBfWSwgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgYmVu
Y2htYXJrX3dpZHRoXyAtIDQsIF9BbnksICssIDAsIFBOLCBPRkZfVSwgT0ZGX1YpICAgICAgICBc
Ci0gICAgVEVTVEFQTEFOQVJUT1BJKFNSQ19GTVRfUExBTkFSLCBQSVhFTF9TVFJJREUsIFNSQ19T
VUJTQU1QX1gsICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICBTUkNfU1VCU0FN
UF9ZLCBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgX1VuYWxpZ25lZCwgKywgMSwgUE4sIE9G
Rl9VLCBPRkZfVikgICAgICBcCi0gICAgVEVTVEFQTEFOQVJUT1BJKFNSQ19GTVRfUExBTkFSLCBQ
SVhFTF9TVFJJREUsIFNSQ19TVUJTQU1QX1gsICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICBTUkNfU1VCU0FNUF9ZLCBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgX0ludmVy
dCwgLSwgMCwgUE4sIE9GRl9VLCBPRkZfVikgICAgICAgICBcCi0gICAgVEVTVEFQTEFOQVJUT1BJ
KFNSQ19GTVRfUExBTkFSLCBQSVhFTF9TVFJJREUsIFNSQ19TVUJTQU1QX1gsICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICBTUkNfU1VCU0FNUF9ZLCBGTVRfUExBTkFSLCBTVUJT
QU1QX1gsIFNVQlNBTVBfWSwgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgYmVuY2ht
YXJrX3dpZHRoXywgX09wdCwgKywgMCwgUE4sIE9GRl9VLCBPRkZfVikKKyAgICAgICAgICAgICAg
ICAgICAgICAgU1JDX1NVQlNBTVBfWCwgU1JDX1NVQlNBTVBfWSwgRk1UX1BMQU5BUiwgU1VCU0FN
UF9YLCAgICBcCisgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBfWSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBURVNUQVBMQU5BUlRPUEkoU1JD
X0ZNVF9QTEFOQVIsIFBJWEVMX1NUUklERSwgU1JDX1NVQlNBTVBfWCwgU1JDX1NVQlNBTVBfWSwg
IFwKKyAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBi
ZW5jaG1hcmtfd2lkdGhfIC0gNCwgICAgICBcCisgICAgICAgICAgICAgICAgICBfQW55LCArLCAw
LCBQTiwgT0ZGX1UsIE9GRl9WKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBU
RVNUQVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFBJWEVMX1NUUklERSwgU1JDX1NVQlNBTVBf
WCwgU1JDX1NVQlNBTVBfWSwgIFwKKyAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNB
TVBfWCwgU1VCU0FNUF9ZLCBiZW5jaG1hcmtfd2lkdGhfLCAgICAgICAgICBcCisgICAgICAgICAg
ICAgICAgICBfVW5hbGlnbmVkLCArLCAxLCBQTiwgT0ZGX1UsIE9GRl9WKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICBURVNUQVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFBJWEVMX1NU
UklERSwgU1JDX1NVQlNBTVBfWCwgU1JDX1NVQlNBTVBfWSwgIFwKKyAgICAgICAgICAgICAgICAg
IEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBiZW5jaG1hcmtfd2lkdGhfLCBfSW52
ZXJ0LCBcCisgICAgICAgICAgICAgICAgICAtLCAwLCBQTiwgT0ZGX1UsIE9GRl9WKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBURVNUQVBMQU5BUlRPUEkoU1JDX0ZN
VF9QTEFOQVIsIFBJWEVMX1NUUklERSwgU1JDX1NVQlNBTVBfWCwgU1JDX1NVQlNBTVBfWSwgIFwK
KyAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBiZW5j
aG1hcmtfd2lkdGhfLCBfT3B0LCArLCBcCisgICAgICAgICAgICAgICAgICAwLCBQTiwgT0ZGX1Us
IE9GRl9WKQogCiBURVNUQVBMQU5BUlRPUChBbmRyb2lkNDIwLCBJNDIwLCAxLCAwLCAwLCAyLCAy
LCBJNDIwLCAyLCAyKQogVEVTVEFQTEFOQVJUT1AoQW5kcm9pZDQyMCwgTlYxMiwgMiwgMCwgMSwg
MiwgMiwgSTQyMCwgMiwgMikKIFRFU1RBUExBTkFSVE9QKEFuZHJvaWQ0MjAsIE5WMjEsIDIsIDEs
IDAsIDIsIDIsIEk0MjAsIDIsIDIpCiAKLSNkZWZpbmUgVEVTVFBMQU5BUlRPQlBJKFNSQ19GTVRf
UExBTkFSLCBTUkNfU1VCU0FNUF9YLCBTUkNfU1VCU0FNUF9ZLCAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBXMTI4MCwg
TiwgTkVHLCBPRkYpICAgXAotVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBTUkNfRk1UX1BMQU5B
UiMjVG8jI0ZNVF9QTEFOQVIjI04pIHsgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtX
aWR0aCA9ICgoVzEyODApID4gMCkgPyAoVzEyODApIDogMTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIGNvbnN0IGludCBrSGVpZ2h0ID0gYmVuY2htYXJrX2hlaWdodF87ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9l
bmQoc3JjX3ksIGtXaWR0aCAqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY191LCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBTVUJT
QU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSAqICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNSQ19TVUJTQU1QX1kpICsg
T0ZGKTsgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY192LCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSAqICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQs
IFNSQ19TVUJTQU1QX1kpICsgT0ZGKTsgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKGRzdF95X2MsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdXZfYywgU1VCU0FNUExFKGtXaWR0
aCAqIDIsIFNVQlNBTVBfWCkgKiAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
U1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29wdCwga1dpZHRoICoga0hlaWdodCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdXZf
b3B0LCBTVUJTQU1QTEUoa1dpZHRoICogMiwgU1VCU0FNUF9YKSAqICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyArK2kpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9yIChpbnQg
aiA9IDA7IGogPCBrV2lkdGg7ICsraikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgc3JjX3lbaSAqIGtXaWR0aCArIGogKyBPRkZdID0gKGZhc3RyYW5k
KCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkg
PCBTVUJTQU1QTEUoa0hlaWdodCwgU1JDX1NVQlNBTVBfWSk7ICsraSkgeyAgICAgICAgICAgICAg
ICBcCi0gICAgZm9yIChpbnQgaiA9IDA7IGogPCBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FN
UF9YKTsgKytqKSB7ICAgICAgICAgICAgICAgXAotICAgICAgc3JjX3VbKGkgKiBTVUJTQU1QTEUo
a1dpZHRoLCBTUkNfU1VCU0FNUF9YKSkgKyBqICsgT0ZGXSA9ICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBzcmNfdlsoaSAqIFNVQlNBTVBMRShrV2lkdGgs
IFNSQ19TVUJTQU1QX1gpKSArIGogKyBPRkZdID0gICAgICAgICAgICAgICAgXAotICAgICAgICAg
IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBtZW1zZXQoZHN0X3lfYywgMSwga1dpZHRoICoga0hlaWdodCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF91dl9jLCAyLCBT
VUJTQU1QTEUoa1dpZHRoICogMiwgU1VCU0FNUF9YKSAqICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X3lfb3B0LCAxMDEsIGtXaWR0
aCAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVt
c2V0KGRzdF91dl9vcHQsIDEwMiwgU1VCU0FNUExFKGtXaWR0aCAqIDIsIFNVQlNBTVBfWCkgKiAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShr
SGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAgICAgICAgICAgICAgICAgXAotICBNYXNrQ3B1Rmxh
Z3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgU1JDX0ZNVF9QTEFOQVIjI1RvIyNGTVRfUExBTkFSKHNyY195ICsgT0ZG
LCBrV2lkdGgsICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzcmNfdSArIE9GRiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwg
U1JDX1NVQlNBTVBfWCksICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNyY192ICsgT0ZGLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VC
U0FNUF9YKSwgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZHN0X3lfYywga1dpZHRoLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF91dl9jLCBTVUJTQU1QTEUoa1dpZHRoICogMiwg
U1VCU0FNUF9YKSwgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrV2lkdGgs
IE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBNYXNrQ3B1RmxhZ3Mo
YmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsr
aSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgU1JDX0ZNVF9QTEFOQVIjI1Rv
IyNGTVRfUExBTkFSKHNyY195ICsgT0ZGLCBrV2lkdGgsICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSArIE9GRiwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NVQlNBTVBfWCksICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY192ICsgT0ZGLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
VUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSwgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3lfb3B0LCBrV2lkdGgsICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF91dl9v
cHQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoICogMiwgU1VCU0FNUF9YKSwgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1dpZHRoLCBORUcga0hl
aWdodCk7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBpbnQgbWF4X2RpZmYgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyAr
K2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9y
IChpbnQgaiA9IDA7IGogPCBrV2lkdGg7ICsraikgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgaW50IGFic19kaWZmID0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBhYnMo
c3RhdGljX2Nhc3Q8aW50Pihkc3RfeV9jW2kgKiBrV2lkdGggKyBqXSkgLSAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3lfb3B0W2kgKiBr
V2lkdGggKyBqXSkpOyAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKGFic19kaWZmID4g
bWF4X2RpZmYpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEVYUEVDVF9M
RShtYXhfZGlmZiwgMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IFNVQlNBTVBMRShrSGVpZ2h0LCBT
VUJTQU1QX1kpOyArK2kpIHsgICAgICAgICAgICAgICAgICAgIFwKLSAgICBmb3IgKGludCBqID0g
MDsgaiA8IFNVQlNBTVBMRShrV2lkdGggKiAyLCBTVUJTQU1QX1gpOyArK2opIHsgICAgICAgICAg
ICAgICBcCi0gICAgICBpbnQgYWJzX2RpZmYgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgIGFicyhzdGF0aWNfY2Fz
dDxpbnQ+KGRzdF91dl9jW2kgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoICogMiwgU1VC
U0FNUF9YKSArIGpdKSAtICAgICAgICBcCi0gICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4o
ZHN0X3V2X29wdFtpICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGggKiAyLCBTVUJTQU1QX1gp
ICsgal0pKTsgICAgICAgIFwKLSAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIG1heF9k
aWZmID0gYWJzX2RpZmY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBFWFBFQ1RfTEUobWF4X2RpZmYsIDEpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9jKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0
X3V2X2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2Fs
aWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29wdCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdXZfb3B0
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9i
dWZmZXJfcGFnZV9lbmQoc3JjX3kpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY191KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9w
YWdlX2VuZChzcmNfdik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci19CisjZGVmaW5lIFRFU1RQTEFOQVJUT0JQSShTUkNfRk1UX1BMQU5BUiwgU1JDX1NVQlNBTVBf
WCwgU1JDX1NVQlNBTVBfWSwgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICBGTVRf
UExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgVzEyODAsIE4sIE5FRywgT0ZGKSBcCisgIFRF
U1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgU1JDX0ZNVF9QTEFOQVIjI1RvIyNGTVRfUExBTkFSIyNO
KSB7ICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtXaWR0aCA9ICgoVzEyODApID4gMCkg
PyAoVzEyODApIDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50
IGtIZWlnaHQgPSBiZW5jaG1hcmtfaGVpZ2h0XzsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY195LCBrV2lkdGgqIGtIZWln
aHQgKyBPRkYpOyAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2Vf
ZW5kKHNyY191LCBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSAqICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVp
Z2h0LCBTUkNfU1VCU0FNUF9ZKSArICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxp
Z25fYnVmZmVyX3BhZ2VfZW5kKHNyY192LCBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9Y
KSAqICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNVQlNBTVBMRShrSGVpZ2h0LCBTUkNfU1VCU0FNUF9ZKSArICBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MsIGtXaWR0aCoga0hlaWdo
dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5k
KGRzdF91dl9jLCBTVUJTQU1QTEUoa1dpZHRoICogMiwgU1VCU0FNUF9YKSAqICAgICAgICBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQs
IFNVQlNBTVBfWSkpOyAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29w
dCwga1dpZHRoKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25f
YnVmZmVyX3BhZ2VfZW5kKGRzdF91dl9vcHQsIFNVQlNBTVBMRShrV2lkdGggKiAyLCBTVUJTQU1Q
X1gpICogICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
VUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBrSGVpZ2h0OyArK2kpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGtXaWR0aDsgKytqKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNyY195W2kgKiBrV2lkdGggKyBq
ICsgT0ZGXSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICBcCisgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBTVUJTQU1QTEUoa0hlaWdodCwgU1JDX1NVQlNBTVBfWSk7ICsr
aSkgeyAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBqID0gMDsgaiA8IFNVQlNBTVBMRShr
V2lkdGgsIFNSQ19TVUJTQU1QX1gpOyArK2opIHsgICAgICAgICAgICBcCisgICAgICAgIHNyY191
WyhpICogU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NVQlNBTVBfWCkpICsgaiArIE9GRl0gPSAgICAg
ICAgICAgICBcCisgICAgICAgICAgICAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNyY192WyhpICogU1VC
U0FNUExFKGtXaWR0aCwgU1JDX1NVQlNBTVBfWCkpICsgaiArIE9GRl0gPSAgICAgICAgICAgICBc
CisgICAgICAgICAgICAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF95X2MsIDEsIGtXaWR0aCoga0hlaWdodCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF91
dl9jLCAyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGggKiAyLCBTVUJTQU1QX1gpICogU1VC
U0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyBcCisgICAgbWVtc2V0KGRzdF95X29wdCwgMTAx
LCBrV2lkdGgqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgbWVtc2V0KGRzdF91dl9vcHQsIDEwMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGggKiAyLCBT
VUJTQU1QX1gpICogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyBcCisgICAgTWFza0Nw
dUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgU1JDX0ZNVF9QTEFOQVIjI1RvIyNGTVRfUExBTkFSKCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNyY195ICsgT0ZG
LCBrV2lkdGgsIHNyY191ICsgT0ZGLCBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSwg
ICBcCisgICAgICAgIHNyY192ICsgT0ZGLCBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9Y
KSwgZHN0X3lfYywga1dpZHRoLCAgICAgICBcCisgICAgICAgIGRzdF91dl9jLCBTVUJTQU1QTEUo
a1dpZHRoICogMiwgU1VCU0FNUF9YKSwga1dpZHRoLCBORUcga0hlaWdodCk7ICAgICBcCisgICAg
TWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRl
cmF0aW9uc187ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBTUkNfRk1U
X1BMQU5BUiMjVG8jI0ZNVF9QTEFOQVIoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICAgICAgc3JjX3kgKyBPRkYsIGtXaWR0aCwgc3JjX3UgKyBPRkYsIFNV
QlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gpLCBcCisgICAgICAgICAgc3JjX3YgKyBPRkYs
IFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gpLCBkc3RfeV9vcHQsIGtXaWR0aCwgICBc
CisgICAgICAgICAgZHN0X3V2X29wdCwgU1VCU0FNUExFKGtXaWR0aCAqIDIsIFNVQlNBTVBfWCks
IGtXaWR0aCwgTkVHIGtIZWlnaHQpOyBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50
IG1heF9kaWZmID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyArK2kpIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBq
ID0gMDsgaiA8IGtXaWR0aDsgKytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgIGludCBhYnNfZGlmZiA9IGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF95
X2NbaSAqIGtXaWR0aCArIGpdKSAtICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF95X29wdFtpICoga1dpZHRoICsgal0pKTsgICAgICBcCisg
ICAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgRVhQRUNUX0xFKG1heF9kaWZmLCAxKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTVUJT
QU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKTsgKytpKSB7ICAgICAgICAgICAgICAgICBcCisgICAg
ICBmb3IgKGludCBqID0gMDsgaiA8IFNVQlNBTVBMRShrV2lkdGggKiAyLCBTVUJTQU1QX1gpOyAr
K2opIHsgICAgICAgICAgICBcCisgICAgICAgIGludCBhYnNfZGlmZiA9ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBh
YnMoc3RhdGljX2Nhc3Q8aW50PiggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgIGRzdF91dl9jW2kgKiBTVUJTQU1QTEUoa1dp
ZHRoICogMiwgU1VCU0FNUF9YKSArIGpdKSAtICAgICBcCisgICAgICAgICAgICAgICAgc3RhdGlj
X2Nhc3Q8aW50PiggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgIGRzdF91dl9vcHRbaSAqIFNVQlNBTVBMRShrV2lkdGggKiAy
LCBTVUJTQU1QX1gpICsgal0pKTsgICBcCisgICAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZm
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg
ICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0xFKG1heF9kaWZmLCAx
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9jKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChk
c3RfdXZfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9h
bGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdXZfb3B0
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1
ZmZlcl9wYWdlX2VuZChzcmNfeSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdl
X2VuZChzcmNfdik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0K
IAotI2RlZmluZSBURVNUUExBTkFSVE9CUChTUkNfRk1UX1BMQU5BUiwgU1JDX1NVQlNBTVBfWCwg
U1JDX1NVQlNBTVBfWSwgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1UX1BM
QU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1kpICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
VEVTVFBMQU5BUlRPQlBJKFNSQ19GTVRfUExBTkFSLCBTUkNfU1VCU0FNUF9YLCBTUkNfU1VCU0FN
UF9ZLCAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICBGTVRfUExBTkFSLCBTVUJT
QU1QX1gsIFNVQlNBTVBfWSwgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgYmVuY2htYXJrX3dpZHRoXyAtIDQsIF9BbnksICssIDApICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgVEVTVFBMQU5BUlRPQlBJKFNSQ19GTVRfUExBTkFSLCBTUkNfU1VC
U0FNUF9YLCBTUkNfU1VCU0FNUF9ZLCAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
ICBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgX1VuYWxpZ25lZCwg
KywgMSkgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVFBMQU5BUlRPQlBJKFNSQ19G
TVRfUExBTkFSLCBTUkNfU1VCU0FNUF9YLCBTUkNfU1VCU0FNUF9ZLCAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dp
ZHRoXywgX0ludmVydCwgLSwgMCkgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVT
VFBMQU5BUlRPQlBJKFNSQ19GTVRfUExBTkFSLCBTUkNfU1VCU0FNUF9YLCBTUkNfU1VCU0FNUF9Z
LCAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICBGTVRfUExBTkFSLCBTVUJTQU1Q
X1gsIFNVQlNBTVBfWSwgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgYmVuY2htYXJrX3dpZHRoXywgX09wdCwgKywgMCkKKyNkZWZpbmUgVEVTVFBMQU5BUlRP
QlAoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9Z
KSAgICAgICAgICAgICAgICAgICAgXAorICBURVNUUExBTkFSVE9CUEkoU1JDX0ZNVF9QTEFOQVIs
IFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksIEZNVF9QTEFOQVIsIFwKKyAgICAgICAgICAg
ICAgICAgIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBiZW5jaG1hcmtfd2lkdGhfIC0gNCwgX0FueSwg
KywgMCkgICBcCisgIFRFU1RQTEFOQVJUT0JQSShTUkNfRk1UX1BMQU5BUiwgU1JDX1NVQlNBTVBf
WCwgU1JDX1NVQlNBTVBfWSwgRk1UX1BMQU5BUiwgXAorICAgICAgICAgICAgICAgICAgU1VCU0FN
UF9YLCBTVUJTQU1QX1ksIGJlbmNobWFya193aWR0aF8sIF9VbmFsaWduZWQsICssIDEpIFwKKyAg
VEVTVFBMQU5BUlRPQlBJKFNSQ19GTVRfUExBTkFSLCBTUkNfU1VCU0FNUF9YLCBTUkNfU1VCU0FN
UF9ZLCBGTVRfUExBTkFSLCBcCisgICAgICAgICAgICAgICAgICBTVUJTQU1QX1gsIFNVQlNBTVBf
WSwgYmVuY2htYXJrX3dpZHRoXywgX0ludmVydCwgLSwgMCkgICAgXAorICBURVNUUExBTkFSVE9C
UEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksIEZNVF9QTEFO
QVIsIFwKKyAgICAgICAgICAgICAgICAgIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBiZW5jaG1hcmtf
d2lkdGhfLCBfT3B0LCArLCAwKQogCiBURVNUUExBTkFSVE9CUChJNDIwLCAyLCAyLCBOVjEyLCAy
LCAyKQogVEVTVFBMQU5BUlRPQlAoSTQyMCwgMiwgMiwgTlYyMSwgMiwgMikKQEAgLTQyNSwyMTIg
KzM3NSwxOTIgQEAgVEVTVFBMQU5BUlRPQlAoSTQyMCwgMiwgMiwgTlYyMSwgMiwgMikKICNkZWZp
bmUgVEVTVEJJUExBTkFSVE9QSShTUkNfRk1UX1BMQU5BUiwgU1JDX1NVQlNBTVBfWCwgU1JDX1NV
QlNBTVBfWSwgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgRk1UX1BMQU5BUiwg
U1VCU0FNUF9YLCBTVUJTQU1QX1ksIFcxMjgwLCBOLCBORUcsIE9GRiwgXAogICAgICAgICAgICAg
ICAgICAgICAgICAgIERPWSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLVRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgU1JDX0ZNVF9QTEFOQVIjI1Rv
IyNGTVRfUExBTkFSIyNOKSB7ICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrV2lkdGgg
PSAoKFcxMjgwKSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBjb25zdCBpbnQga0hlaWdodCA9IGJlbmNobWFya19oZWlnaHRfOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNy
Y195LCBrV2lkdGggKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfdXYsIDIgKiBTVUJTQU1QTEUoa1dpZHRoLCBTUkNf
U1VCU0FNUF9YKSAqICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExF
KGtIZWlnaHQsIFNSQ19TVUJTQU1QX1kpICsgT0ZGKTsgICAgICAgICAgICAgIFwKLSAgYWxpZ25f
YnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV9jLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJT
QU1QX1kpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2Vu
ZChkc3Rfdl9jLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAq
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNB
TVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFs
aWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3Vfb3B0LCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKiAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0hlaWdodCwg
U1VCU0FNUF9ZKSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFn
ZV9lbmQoZHN0X3Zfb3B0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBf
WCkgKiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBT
VUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBmb3IgKGludCBpID0gMDsgaSA8IGtIZWlnaHQ7ICsraSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBmb3IgKGludCBqID0gMDsgaiA8IGtXaWR0aDsg
KytqKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBz
cmNfeVtpICoga1dpZHRoICsgaiArIE9GRl0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IFNVQlNBTVBMRShrSGVpZ2h0
LCBTUkNfU1VCU0FNUF9ZKTsgKytpKSB7ICAgICAgICAgICAgICAgIFwKLSAgICBmb3IgKGludCBq
ID0gMDsgaiA8IDIgKiBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKTsgKytqKSB7ICAg
ICAgICAgICBcCi0gICAgICBzcmNfdXZbKGkgKiAyICogU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NV
QlNBTVBfWCkpICsgaiArIE9GRl0gPSAgICAgICAgICAgXAotICAgICAgICAgIChmYXN0cmFuZCgp
ICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBTUkNfRk1UX1BMQU5BUiMjVG8jI0ZNVF9Q
TEFOQVIjI04pIHsgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtXaWR0aCA9ICgoVzEy
ODApID4gMCkgPyAoVzEyODApIDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IGNvbnN0IGludCBrSGVpZ2h0ID0gYmVuY2htYXJrX2hlaWdodF87ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3ksIGtX
aWR0aCoga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25f
YnVmZmVyX3BhZ2VfZW5kKHNyY191diwgMiAqIFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1Q
X1gpICogICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U1VCU0FNUExFKGtIZWlnaHQsIFNSQ19TVUJTQU1QX1kpICsgIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MsIGtXaWR0aCoga0hlaWdo
dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2Vu
ZChkc3RfdV9jLCBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAgICAgIFwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0
LCBTVUJTQU1QX1kpKTsgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF92
X2MsIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKiAgICAgICAgICAgICAgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNB
TVBfWSkpOyAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3lfb3B0LCBr
V2lkdGgqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVm
ZmVyX3BhZ2VfZW5kKGRzdF91X29wdCwgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqICAg
ICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVUJT
QU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFn
ZV9lbmQoZHN0X3Zfb3B0LCBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAg
ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShr
SGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwga0hl
aWdodDsgKytpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgIGZvciAoaW50IGogPSAwOyBqIDwga1dpZHRoOyArK2opICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNyY195W2kgKiBrV2lkdGggKyBqICsgT0ZG
XSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgU1VCU0FNUExFKGtIZWlnaHQsIFNSQ19TVUJTQU1QX1kpOyArK2kpIHsg
ICAgICAgICAgICAgIFwKKyAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMiAqIFNVQlNBTVBMRShr
V2lkdGgsIFNSQ19TVUJTQU1QX1gpOyArK2opIHsgICAgICAgICBcCisgICAgICAgIHNyY191dlso
aSAqIDIgKiBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSkgKyBqICsgT0ZGXSA9ICAg
ICAgICAgXAorICAgICAgICAgICAgKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVt
c2V0KGRzdF95X2MsIDEsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChkc3RfdV9jLCAyLCBTVUJTQU1QTEUoa1dpZHRo
LCBTVUJTQU1QX1gpICogICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF92X2MsIDMsIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNB
TVBfWCkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBtZW1zZXQoZHN0X3lfb3B0LCAxMDEsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF91X29wdCwgMTAyLCBT
VUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X3Zfb3B0LCAxMDMsIFNVQlNBTVBM
RShrV2lkdGgsIFNVQlNBTVBfWCkgKiAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFnc18pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBTUkNfRk1UX1BMQU5B
UiMjVG8jI0ZNVF9QTEFOQVIoc3JjX3kgKyBPRkYsIGtXaWR0aCwgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY191diArIE9GRiwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAyICogU1VCU0FNUExFKGtXaWR0aCwgU1JDX1NVQlNBTVBfWCksICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE9ZID8gZHN0X3lfYyA6IE5VTEws
IGtXaWR0aCwgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRzdF91X2MsIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCksICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfdl9jLCBTVUJTQU1QTEUoa1dpZHRoLCBT
VUJTQU1QX1gpLCAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1dp
ZHRoLCBORUcga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgTWFza0NwdUZs
YWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNf
OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFNSQ19GTVRfUExBTkFS
IyNUbyMjRk1UX1BMQU5BUihzcmNfeSArIE9GRiwga1dpZHRoLCAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3V2ICsgT0ZGLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIgKiBTVUJTQU1QTEUoa1dpZHRoLCBTUkNfU1VCU0FNUF9YKSwgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBET1kgPyBkc3RfeV9vcHQgOiBOVUxM
LCBrV2lkdGgsICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZHN0X3Vfb3B0LCBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpLCAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF92X29wdCwgU1VCU0FNUExFKGtXaWR0aCwg
U1VCU0FNUF9YKSwgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrV2lk
dGgsIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIGludCBtYXhfZGlmZiA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBpZiAoRE9ZKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGtIZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBmb3IgKGludCBqID0gMDsgaiA8IGtX
aWR0aDsgKytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICBpbnQgYWJzX2RpZmYgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRz
dF95X2NbaSAqIGtXaWR0aCArIGpdKSAtICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfeV9vcHRbaSAqIGtXaWR0aCArIGpdKSk7ICAgICAg
ICAgICAgICAgICAgXAorICAgIG1lbXNldChkc3RfeV9jLCAxLCBrV2lkdGgqIGtIZWlnaHQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X3Vf
YywgMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKiBTVUJTQU1Q
TEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgXAorICAgIG1lbXNldChkc3Rfdl9jLCAzLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSAqIFNVQlNBTVBMRShrSGVp
Z2h0LCBTVUJTQU1QX1kpKTsgICAgICBcCisgICAgbWVtc2V0KGRzdF95X29wdCwgMTAxLCBrV2lk
dGgqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1l
bXNldChkc3RfdV9vcHQsIDEwMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9Y
KSAqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICBcCisgICAgbWVtc2V0KGRz
dF92X29wdCwgMTAzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogU1VC
U0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgIFwKKyAgICBNYXNrQ3B1RmxhZ3MoZGlz
YWJsZV9jcHVfZmxhZ3NfKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgU1JDX0ZNVF9QTEFOQVIjI1RvIyNGTVRfUExBTkFSKCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBzcmNfeSArIE9GRiwga1dpZHRo
LCBzcmNfdXYgKyBPRkYsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgMiAqIFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gpLCBET1kgPyBkc3RfeV9j
IDogTlVMTCwga1dpZHRoLCAgICBcCisgICAgICAgIGRzdF91X2MsIFNVQlNBTVBMRShrV2lkdGgs
IFNVQlNBTVBfWCksIGRzdF92X2MsICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBT
VUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpLCBrV2lkdGgsIE5FRyBrSGVpZ2h0KTsgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsraSkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgU1JDX0ZNVF9QTEFOQVIjI1RvIyNGTVRfUExBTkFSKCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICBzcmNfeSArIE9GRiwg
a1dpZHRoLCBzcmNfdXYgKyBPRkYsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgMiAqIFNVQlNBTVBMRShrV2lkdGgsIFNSQ19TVUJTQU1QX1gpLCBET1kgPyBk
c3RfeV9vcHQgOiBOVUxMLCAgICAgICAgXAorICAgICAgICAgIGtXaWR0aCwgZHN0X3Vfb3B0LCBT
VUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpLCBkc3Rfdl9vcHQsICAgICAgICAgIFwKKyAgICAg
ICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpLCBrV2lkdGgsIE5FRyBrSGVpZ2h0KTsg
ICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCBtYXhf
ZGlmZiA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBpZiAoRE9ZKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBpID0g
MDsgaSA8IGtIZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGtXaWR0aDsgKytqKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICBpbnQgYWJzX2RpZmYgPSBh
YnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfeV9jW2kgKiBrV2lkdGggKyBqXSkgLSAgICAgICBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3lfb3B0W2kg
KiBrV2lkdGggKyBqXSkpOyAgICAgXAorICAgICAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZm
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg
ICAgIG1heF9kaWZmID0gYWJzX2RpZmY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBFWFBFQ1RfTEUobWF4X2Rp
ZmYsIDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IFNVQlNB
TVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpOyArK2kpIHsgICAgICAgICAgICAgICAgICBcCisgICAg
ICBmb3IgKGludCBqID0gMDsgaiA8IFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCk7ICsraikg
eyAgICAgICAgICAgICAgICAgXAorICAgICAgICBpbnQgYWJzX2RpZmYgPSBhYnMoICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAg
IHN0YXRpY19jYXN0PGludD4oZHN0X3VfY1tpICogU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9Y
KSArIGpdKSAtICBcCisgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIGRz
dF91X29wdFtpICogU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSArIGpdKSk7ICAgICAgICAg
ICAgIFwKICAgICAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgbWF4X2RpZmYgPSBhYnNf
ZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
ICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgIEVYUEVDVF9MRShtYXhfZGlmZiwgMSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNB
TVBfWSk7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgXAotICAgIGZvciAoaW50IGogPSAwOyBq
IDwgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKTsgKytqKSB7ICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgIGludCBhYnNfZGlmZiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgYWJzKHN0YXRpY19jYXN0PGlu
dD4oZHN0X3VfY1tpICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkg
KyBqXSkgLSAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3Rf
dV9vcHRbaSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSArIGpdKSk7
ICAgICAgICAgICAgXAotICAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgbWF4X2RpZmYg
PSBhYnNfZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEVYUEVDVF9MRShtYXhfZGlmZiwgMSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3Ig
KGludCBpID0gMDsgaSA8IFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpOyArK2kpIHsgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBmb3IgKGludCBqID0gMDsgaiA8IFNVQlNBTVBMRShrV2lk
dGgsIFNVQlNBTVBfWCk7ICsraikgeyAgICAgICAgICAgICAgICAgICBcCi0gICAgICBpbnQgYWJz
X2RpZmYgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgIGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF92X2NbaSAqICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICsgal0pIC0gICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3Zfb3B0W2kgKiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkgKyBqXSkpOyAgICAgICAgICAgIFwKLSAg
ICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIG1heF9kaWZmID0gYWJzX2RpZmY7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSk7ICsraSkgeyAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgU1VCU0FNUExFKGtXaWR0
aCwgU1VCU0FNUF9YKTsgKytqKSB7ICAgICAgICAgICAgICAgICBcCisgICAgICAgIGludCBhYnNf
ZGlmZiA9IGFicyggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3Rfdl9jW2kgKiBTVUJTQU1Q
TEUoa1dpZHRoLCBTVUJTQU1QX1gpICsgal0pIC0gIFwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0
PGludD4oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgZHN0X3Zfb3B0W2kgKiBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1Q
X1gpICsgal0pKTsgICAgICAgICAgICAgXAorICAgICAgICBpZiAoYWJzX2RpZmYgPiBtYXhfZGlm
ZikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgICBtYXhfZGlmZiA9IGFic19kaWZmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgfSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBFWFBFQ1RfTEUobWF4X2RpZmYsIDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdl
X2VuZChkc3RfeV9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3VfYyk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRz
dF92X2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9h
bGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3Vfb3B0
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRf
YnVmZmVyX3BhZ2VfZW5kKGRzdF92X29wdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJf
cGFnZV9lbmQoc3JjX3V2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotfQorICAgIEVYUEVDVF9MRShtYXhfZGlmZiwgMSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3Bh
Z2VfZW5kKGRzdF95X2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV9jKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQo
ZHN0X3ZfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVl
X2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29wdCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV9v
cHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25l
ZF9idWZmZXJfcGFnZV9lbmQoZHN0X3Zfb3B0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY195KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZl
cl9wYWdlX2VuZChzcmNfdXYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICB9CiAKLSNkZWZpbmUgVEVTVEJJUExBTkFSVE9QKFNSQ19GTVRfUExBTkFSLCBTUkNfU1VC
U0FNUF9YLCBTUkNfU1VCU0FNUF9ZLCAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSkgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIFRFU1RCSVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNS
Q19TVUJTQU1QX1ksICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgIEZNVF9QTEFO
QVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfIC0gNCwgX0FueSwgKywgMCwgMSkgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RCSVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIs
IFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBfVW5h
bGlnbmVkLCArLCAxLCAxKSAgICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RCSVBMQU5BUlRP
UEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FN
UF9ZLCAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICBiZW5j
aG1hcmtfd2lkdGhfLCBfSW52ZXJ0LCAtLCAwLCAxKSAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIFRFU1RCSVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19T
VUJTQU1QX1ksICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgIEZNVF9QTEFOQVIs
IFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBfT3B0LCArLCAwLCAxKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIFRFU1RCSVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNS
Q19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBfTnVsbFks
ICssIDAsIDApCisjZGVmaW5lIFRFU1RCSVBMQU5BUlRPUChTUkNfRk1UX1BMQU5BUiwgU1JDX1NV
QlNBTVBfWCwgU1JDX1NVQlNBTVBfWSwgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAg
ICBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSkgICAgICAgICAgICAgICAgICAgICBc
CisgIFRFU1RCSVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19T
VUJTQU1QX1ksIEZNVF9QTEFOQVIsICBcCisgICAgICAgICAgICAgICAgICAgU1VCU0FNUF9YLCBT
VUJTQU1QX1ksIGJlbmNobWFya193aWR0aF8gLSA0LCBfQW55LCArLCAwLCAxKSBcCisgIFRFU1RC
SVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ks
IEZNVF9QTEFOQVIsICBcCisgICAgICAgICAgICAgICAgICAgU1VCU0FNUF9YLCBTVUJTQU1QX1ks
IGJlbmNobWFya193aWR0aF8sIF9VbmFsaWduZWQsICssIDEsICBcCisgICAgICAgICAgICAgICAg
ICAgMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgIFRFU1RCSVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gs
IFNSQ19TVUJTQU1QX1ksIEZNVF9QTEFOQVIsICBcCisgICAgICAgICAgICAgICAgICAgU1VCU0FN
UF9YLCBTVUJTQU1QX1ksIGJlbmNobWFya193aWR0aF8sIF9JbnZlcnQsIC0sIDAsIDEpICBcCisg
IFRFU1RCSVBMQU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJT
QU1QX1ksIEZNVF9QTEFOQVIsICBcCisgICAgICAgICAgICAgICAgICAgU1VCU0FNUF9YLCBTVUJT
QU1QX1ksIGJlbmNobWFya193aWR0aF8sIF9PcHQsICssIDAsIDEpICAgICBcCisgIFRFU1RCSVBM
QU5BUlRPUEkoU1JDX0ZNVF9QTEFOQVIsIFNSQ19TVUJTQU1QX1gsIFNSQ19TVUJTQU1QX1ksIEZN
VF9QTEFOQVIsICBcCisgICAgICAgICAgICAgICAgICAgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIGJl
bmNobWFya193aWR0aF8sIF9OdWxsWSwgKywgMCwgMCkKIAogVEVTVEJJUExBTkFSVE9QKE5WMTIs
IDIsIDIsIEk0MjAsIDIsIDIpCiBURVNUQklQTEFOQVJUT1AoTlYyMSwgMiwgMiwgSTQyMCwgMiwg
MikKIAotI2RlZmluZSBBTElHTklOVChWLCBBTElHTikgKCgoVikgKyAoQUxJR04pIC0gMSkgLyAo
QUxJR04pICogKEFMSUdOKSkKKyNkZWZpbmUgQUxJR05JTlQoViwgQUxJR04pICgoKFYpICsgKEFM
SUdOKS0xKSAvIChBTElHTikgKiAoQUxJR04pKQogCiAjZGVmaW5lIFRFU1RQTEFOQVJUT0JJKEZN
VF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBGTVRfQiwgQlBQX0IsIEFMSUdOLCAgXAog
ICAgICAgICAgICAgICAgICAgICAgICBZQUxJR04sIFcxMjgwLCBESUZGLCBOLCBORUcsIE9GRiwg
Rk1UX0MsIEJQUF9DKSAgICAgICAgIFwKLVRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgRk1UX1BM
QU5BUiMjVG8jI0ZNVF9CIyNOKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0
IGludCBrV2lkdGggPSAoKFcxMjgwKSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga0hlaWdodCA9IEFMSUdOSU5UKGJlbmNobWFy
a19oZWlnaHRfLCBZQUxJR04pOyAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtT
dHJpZGVCID0gQUxJR05JTlQoa1dpZHRoICogQlBQX0IsIEFMSUdOKTsgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIGNvbnN0IGludCBrU3RyaWRlVVYgPSBTVUJTQU1QTEUoa1dpZHRoLCBTVUJT
QU1QX1gpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga1NpemVVViA9
IGtTdHJpZGVVViAqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpOyAgICAgICAgICAgICAg
IFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY195LCBrV2lkdGggKiBrSGVpZ2h0ICsgT0ZG
KTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNf
dSwga1NpemVVViArIE9GRik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBh
bGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3YsIGtTaXplVVYgKyBPRkYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2Ms
IGtTdHJpZGVCICoga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1
ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9vcHQsIGtTdHJpZGVCICoga0hlaWdodCArIE9GRik7ICAg
ICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IGtXaWR0aCAqIGtIZWlnaHQ7ICsr
aSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzcmNfeVtpICsgT0ZG
XSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IGtT
aXplVVY7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBzcmNfdVtpICsgT0ZGXSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3JjX3ZbaSArIE9GRl0gPSAoZmFzdHJhbmQo
KSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF9hcmdiX2MgKyBPRkYsIDEsIGtTdHJpZGVC
ICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChkc3Rf
YXJnYl9vcHQgKyBPRkYsIDEwMSwga1N0cmlkZUIgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBNYXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgRk1UX1BMQU5BUiMjVG8jI0ZN
VF9CKHNyY195ICsgT0ZGLCBrV2lkdGgsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSArIE9GRiwga1N0cmlkZVVWLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgc3Jj
X3YgKyBPRkYsIGtTdHJpZGVVViwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX2MgKyBPRkYsIGtTdHJpZGVCLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBrV2lkdGgsIE5F
RyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBNYXNrQ3B1
RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9u
c187ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRk1UX1BMQU5BUiMj
VG8jI0ZNVF9CKHNyY195ICsgT0ZGLCBrV2lkdGgsICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdSArIE9GRiwga1N0cmlkZVVW
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3JjX3YgKyBPRkYsIGtTdHJpZGVVViwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX29wdCArIE9GRiwga1N0cmlkZUIs
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZN
VF9QTEFOQVIjI1RvIyNGTVRfQiMjTikgeyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBj
b25zdCBpbnQga1dpZHRoID0gKChXMTI4MCkgPiAwKSA/IChXMTI4MCkgOiAxOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtIZWlnaHQgPSBBTElHTklOVChiZW5j
aG1hcmtfaGVpZ2h0XywgWUFMSUdOKTsgICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGlu
dCBrU3RyaWRlQiA9IEFMSUdOSU5UKGtXaWR0aCAqIEJQUF9CLCBBTElHTik7ICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga1N0cmlkZVVWID0gU1VCU0FNUExFKGtXaWR0aCwg
U1VCU0FNUF9YKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtTaXpl
VVYgPSBrU3RyaWRlVVYgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKTsgICAgICAgICAg
ICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSwga1dpZHRoKiBrSGVpZ2h0ICsg
T0ZGKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQo
c3JjX3UsIGtTaXplVVYgKyBPRkYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY192LCBrU2l6ZVVWICsgT0ZGKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJn
Yl9jLCBrU3RyaWRlQioga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAgIFwKKyAgICBhbGln
bl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlQioga0hlaWdodCArIE9GRik7
ICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrV2lkdGggKiBrSGVpZ2h0
OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgc3JjX3lbaSAr
IE9GRl0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkg
PCBrU2l6ZVVWOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgc3JjX3VbaSArIE9GRl0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHNyY192W2kgKyBPRkZdID0gKGZhc3Ry
YW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIG1lbXNldChkc3RfYXJnYl9jICsgT0ZGLCAxLCBrU3Ry
aWRlQiAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQo
ZHN0X2FyZ2Jfb3B0ICsgT0ZGLCAxMDEsIGtTdHJpZGVCICoga0hlaWdodCk7ICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZNVF9QTEFOQVIjI1Rv
IyNGTVRfQihzcmNfeSArIE9GRiwga1dpZHRoLCBzcmNfdSArIE9GRiwga1N0cmlkZVVWLCAgICAg
ICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3YgKyBPRkYsIGtTdHJpZGVVViwg
ZHN0X2FyZ2JfYyArIE9GRiwga1N0cmlkZUIsICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgaW50IG1heF9kaWZmID0gMDsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIC8qIENv
bnZlcnQgdG8gQVJHQiBzbyA1NjUgaXMgZXhwYW5kZWQgdG8gYnl0ZXMgdGhhdCBjYW4gYmUgY29t
cGFyZWQuICovICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2IzMl9jLCBr
V2lkdGggKiBCUFBfQyAgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVy
X3BhZ2VfZW5kKGRzdF9hcmdiMzJfb3B0LCBrV2lkdGggKiBCUFBfQyAgKiBrSGVpZ2h0KTsgICAg
ICAgICAgICBcCi0gIG1lbXNldChkc3RfYXJnYjMyX2MsIDIsIGtXaWR0aCAqIEJQUF9DICAqIGtI
ZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X2FyZ2IzMl9v
cHQsIDEwMiwga1dpZHRoICogQlBQX0MgICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgRk1UX0IjI1RvIyNGTVRfQyhkc3RfYXJnYl9jICsgT0ZGLCBrU3RyaWRlQiwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgZHN0X2FyZ2Iz
Ml9jLCBrV2lkdGggKiBCUFBfQyAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgIGtXaWR0aCwga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgRk1UX0IjI1RvIyNGTVRfQyhkc3RfYXJnYl9vcHQgKyBP
RkYsIGtTdHJpZGVCLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgZHN0X2FyZ2IzMl9vcHQsIGtXaWR0aCAqIEJQUF9DICwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgIGtXaWR0aCwga0hlaWdodCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7
IGkgPCBrV2lkdGggKiBCUFBfQyAqIGtIZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgaW50IGFic19kaWZmID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBhYnMoc3RhdGljX2Nhc3Q8
aW50Pihkc3RfYXJnYjMyX2NbaV0pIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2IzMl9vcHRbaV0pKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
bWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsraSkgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgICAgRk1UX1BMQU5BUiMjVG8jI0ZNVF9CKHNyY195ICsgT0ZGLCBrV2lk
dGgsIHNyY191ICsgT0ZGLCBrU3RyaWRlVVYsICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzcmNfdiArIE9GRiwga1N0cmlkZVVWLCBkc3RfYXJnYl9vcHQgKyBPRkYsICAgICAg
ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAga1N0cmlkZUIsIGtXaWR0aCwgTkVHIGtI
ZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIEVYUEVDVF9MRShtYXhfZGlmZiwgRElGRik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2Fs
aWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY195KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9i
dWZmZXJfcGFnZV9lbmQoc3JjX3YpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9w
YWdlX2VuZChkc3RfYXJnYl9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2IzMl9jKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5k
KGRzdF9hcmdiMzJfb3B0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0KKyAg
ICBpbnQgbWF4X2RpZmYgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgLyogQ29udmVydCB0byBBUkdCIHNvIDU2NSBpcyBl
eHBhbmRlZCB0byBieXRlcyB0aGF0IGNhbiBiZSBjb21wYXJlZC4gKi8gICAgXAorICAgIGFsaWdu
X2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYjMyX2MsIGtXaWR0aCogQlBQX0MqIGtIZWlnaHQpOyAg
ICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2IzMl9vcHQs
IGtXaWR0aCogQlBQX0MqIGtIZWlnaHQpOyAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF9h
cmdiMzJfYywgMiwga1dpZHRoKiBCUFBfQyoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIG1lbXNldChkc3RfYXJnYjMyX29wdCwgMTAyLCBrV2lkdGgqIEJQUF9DKiBr
SGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBGTVRfQiMjVG8jI0ZNVF9DKGRz
dF9hcmdiX2MgKyBPRkYsIGtTdHJpZGVCLCBkc3RfYXJnYjMyX2MsIGtXaWR0aCAqIEJQUF9DLCBc
CisgICAgICAgICAgICAgICAgICAgICBrV2lkdGgsIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZNVF9CIyNUbyMjRk1UX0MoZHN0X2FyZ2Jf
b3B0ICsgT0ZGLCBrU3RyaWRlQiwgZHN0X2FyZ2IzMl9vcHQsICAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgIGtXaWR0aCAqIEJQUF9DLCBrV2lkdGgsIGtIZWlnaHQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrV2lkdGggKiBCUFBf
QyAqIGtIZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgaW50IGFi
c19kaWZmID0gYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2IzMl9jW2ldKSAtICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRz
dF9hcmdiMzJfb3B0W2ldKSk7ICAgICAgICAgICAgICAgICBcCisgICAgICBpZiAoYWJzX2RpZmYg
PiBtYXhfZGlmZikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICBtYXhfZGlmZiA9IGFic19kaWZmOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9MRShtYXhfZGlmZiwgRElGRik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVl
X2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY195KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25l
ZF9idWZmZXJfcGFnZV9lbmQoc3JjX3YpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZl
cl9wYWdlX2VuZChkc3RfYXJnYl9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2IzMl9jKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2Vf
ZW5kKGRzdF9hcmdiMzJfb3B0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0K
IAogI2RlZmluZSBURVNUUExBTkFSVE9CKEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9Z
LCBGTVRfQiwgQlBQX0IsIEFMSUdOLCAgIFwKICAgICAgICAgICAgICAgICAgICAgICBZQUxJR04s
IERJRkYsIEZNVF9DLCBCUFBfQykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
VEVTVFBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBC
UFBfQiwgQUxJR04sICAgICAgXAotICAgICAgICBZQUxJR04sIGJlbmNobWFya193aWR0aF8gLSA0
LCBESUZGLCBfQW55LCArLCAwLCBGTVRfQywgQlBQX0MpICAgICAgICAgIFwKLSAgICBURVNUUExB
TkFSVE9CSShGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIEJQUF9CLCBB
TElHTiwgICAgICBcCi0gICAgICAgIFlBTElHTiwgYmVuY2htYXJrX3dpZHRoXywgRElGRiwgX1Vu
YWxpZ25lZCwgKywgMSwgRk1UX0MsIEJQUF9DKSAgICAgICAgXAotICAgIFRFU1RQTEFOQVJUT0JJ
KEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBGTVRfQiwgQlBQX0IsIEFMSUdOLCAg
ICAgIFwKLSAgICAgICAgWUFMSUdOLCBiZW5jaG1hcmtfd2lkdGhfLCBESUZGLCBfSW52ZXJ0LCAt
LCAwLCBGTVRfQywgQlBQX0MpICAgICAgICAgICBcCi0gICAgVEVTVFBMQU5BUlRPQkkoRk1UX1BM
QU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sICAgICAgXAot
ICAgICAgICBZQUxJR04sIGJlbmNobWFya193aWR0aF8sIERJRkYsIF9PcHQsICssIDAsIEZNVF9D
LCBCUFBfQykKKyAgVEVTVFBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1Q
X1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sICAgICAgICBcCisgICAgICAgICAgICAgICAgIFlBTElH
TiwgYmVuY2htYXJrX3dpZHRoXyAtIDQsIERJRkYsIF9BbnksICssIDAsIEZNVF9DLCBCUFBfQykg
XAorICBURVNUUExBTkFSVE9CSShGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1U
X0IsIEJQUF9CLCBBTElHTiwgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgWUFMSUdOLCBiZW5j
aG1hcmtfd2lkdGhfLCBESUZGLCBfVW5hbGlnbmVkLCArLCAxLCBGTVRfQywgICAgICBcCisgICAg
ICAgICAgICAgICAgIEJQUF9DKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICBURVNUUExBTkFSVE9CSShGTVRfUExBTkFSLCBTVUJTQU1Q
X1gsIFNVQlNBTVBfWSwgRk1UX0IsIEJQUF9CLCBBTElHTiwgICAgICAgIFwKKyAgICAgICAgICAg
ICAgICAgWUFMSUdOLCBiZW5jaG1hcmtfd2lkdGhfLCBESUZGLCBfSW52ZXJ0LCAtLCAwLCBGTVRf
QywgQlBQX0MpICBcCisgIFRFU1RQTEFOQVJUT0JJKEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VC
U0FNUF9ZLCBGTVRfQiwgQlBQX0IsIEFMSUdOLCAgICAgICAgXAorICAgICAgICAgICAgICAgICBZ
QUxJR04sIGJlbmNobWFya193aWR0aF8sIERJRkYsIF9PcHQsICssIDAsIEZNVF9DLCBCUFBfQykK
IAogVEVTVFBMQU5BUlRPQihJNDIwLCAyLCAyLCBBUkdCLCA0LCA0LCAxLCAyLCBBUkdCLCA0KQog
VEVTVFBMQU5BUlRPQihKNDIwLCAyLCAyLCBBUkdCLCA0LCA0LCAxLCAyLCBBUkdCLCA0KQpAQCAt
NjQ2LDYgKzU3Niw3IEBAIFRFU1RQTEFOQVJUT0IoSTQyMCwgMiwgMiwgUkdCNTY1LCAyLCAyLCAx
LCA5LCBBUkdCLCA0KQogVEVTVFBMQU5BUlRPQihJNDIwLCAyLCAyLCBBUkdCMTU1NSwgMiwgMiwg
MSwgOSwgQVJHQiwgNCkKIFRFU1RQTEFOQVJUT0IoSTQyMCwgMiwgMiwgQVJHQjQ0NDQsIDIsIDIs
IDEsIDE3LCBBUkdCLCA0KQogVEVTVFBMQU5BUlRPQihJNDIyLCAyLCAxLCBBUkdCLCA0LCA0LCAx
LCAyLCBBUkdCLCA0KQorVEVTVFBMQU5BUlRPQihJNDIyLCAyLCAxLCBSR0I1NjUsIDIsIDIsIDEs
IDksIEFSR0IsIDQpCiBURVNUUExBTkFSVE9CKEo0MjIsIDIsIDEsIEFSR0IsIDQsIDQsIDEsIDIs
IEFSR0IsIDQpCiBURVNUUExBTkFSVE9CKEo0MjIsIDIsIDEsIEFCR1IsIDQsIDQsIDEsIDIsIEFS
R0IsIDQpCiBURVNUUExBTkFSVE9CKEg0MjIsIDIsIDEsIEFSR0IsIDQsIDQsIDEsIDIsIEFSR0Is
IDQpCkBAIC02NjQsMTUzICs1OTUsMTQzIEBAIFRFU1RQTEFOQVJUT0IoSTQyMCwgMiwgMiwgSTQw
MCwgMSwgMSwgMSwgMCwgQVJHQiwgNCkKIFRFU1RQTEFOQVJUT0IoSjQyMCwgMiwgMiwgSjQwMCwg
MSwgMSwgMSwgMCwgQVJHQiwgNCkKIAogI2RlZmluZSBURVNUUVBMQU5BUlRPQkkoRk1UX1BMQU5B
UiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgWUFMSUdOLCBXMTI4MCwgRElGRiwgTiwgTkVHLCBPRkYsIEFUVEVOKSAg
ICAgICAgICAgICAgICBcCi1URVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZNVF9QTEFOQVIjI1Rv
IyNGTVRfQiMjTikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga1dp
ZHRoID0gKChXMTI4MCkgPiAwKSA/IChXMTI4MCkgOiAxOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgY29uc3QgaW50IGtIZWlnaHQgPSBBTElHTklOVChiZW5jaG1hcmtfaGVpZ2h0
XywgWUFMSUdOKTsgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrU3RyaWRlQiA9
IEFMSUdOSU5UKGtXaWR0aCAqIEJQUF9CLCBBTElHTik7ICAgICAgICAgICAgICAgICAgICAgICAg
XAotICBjb25zdCBpbnQga1N0cmlkZVVWID0gU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtTaXplVVYgPSBrU3RyaWRl
VVYgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKTsgICAgICAgICAgICAgICBcCi0gIGFs
aWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSwga1dpZHRoICoga0hlaWdodCArIE9GRik7ICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3UsIGtTaXpl
VVYgKyBPRkYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVm
ZmVyX3BhZ2VfZW5kKHNyY192LCBrU2l6ZVVWICsgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfYSwga1dpZHRoICoga0hl
aWdodCArIE9GRik7ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFn
ZV9lbmQoZHN0X2FyZ2JfYywga1N0cmlkZUIgKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAg
ICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCwga1N0cmlkZUIgKiBr
SGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga1dp
ZHRoICoga0hlaWdodDsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIHNyY195W2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzcmNfYVtpICsgT0ZGXSA9IChmYXN0cmFuZCgp
ICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IGtTaXplVVY7ICsraSkgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzcmNfdVtpICsg
T0ZGXSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgc3JjX3ZbaSArIE9GRl0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgbWVtc2V0KGRzdF9hcmdiX2MgKyBPRkYsIDEsIGtTdHJpZGVCICoga0hlaWdodCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChkc3RfYXJnYl9vcHQgKyBPRkYs
IDEwMSwga1N0cmlkZUIgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBN
YXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgRk1UX1BMQU5BUiMjVG8jI0ZNVF9CKHNyY195ICsgT0ZG
LCBrV2lkdGgsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICBzcmNfdSArIE9GRiwga1N0cmlkZVVWLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3YgKyBPRkYsIGtTdHJp
ZGVVViwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNyY19hICsgT0ZGLCBrV2lkdGgsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBkc3RfYXJnYl9jICsgT0ZGLCBrU3RyaWRl
QiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
a1dpZHRoLCBORUcga0hlaWdodCwgQVRURU4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJr
X2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIEZN
VF9QTEFOQVIjI1RvIyNGTVRfQihzcmNfeSArIE9GRiwga1dpZHRoLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3UgKyBPRkYs
IGtTdHJpZGVVViwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHNyY192ICsgT0ZGLCBrU3RyaWRlVVYsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfYSArIE9GRiwga1dpZHRo
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgZHN0X2FyZ2Jfb3B0ICsgT0ZGLCBrU3RyaWRlQiwgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGtXaWR0aCwgTkVHIGtIZWlnaHQsIEFUVEVO
KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
aW50IG1heF9kaWZmID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga1dpZHRoICogQlBQ
X0IgKiBrSGVpZ2h0OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludCBh
YnNfZGlmZiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2JfY1tp
ICsgT0ZGXSkgLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBzdGF0
aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX29wdFtpICsgT0ZGXSkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIG1heF9kaWZmID0gYWJzX2Rp
ZmY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgICAgICBZQUxJR04sIFcxMjgwLCBESUZGLCBOLCBORUcsIE9G
RiwgQVRURU4pICAgICAgICAgICAgICAgXAorICBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZN
VF9QTEFOQVIjI1RvIyNGTVRfQiMjTikgeyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBj
b25zdCBpbnQga1dpZHRoID0gKChXMTI4MCkgPiAwKSA/IChXMTI4MCkgOiAxOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtIZWlnaHQgPSBBTElHTklOVChiZW5j
aG1hcmtfaGVpZ2h0XywgWUFMSUdOKTsgICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGlu
dCBrU3RyaWRlQiA9IEFMSUdOSU5UKGtXaWR0aCAqIEJQUF9CLCBBTElHTik7ICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga1N0cmlkZVVWID0gU1VCU0FNUExFKGtXaWR0aCwg
U1VCU0FNUF9YKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtTaXpl
VVYgPSBrU3RyaWRlVVYgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKTsgICAgICAgICAg
ICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSwga1dpZHRoKiBrSGVpZ2h0ICsg
T0ZGKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQo
c3JjX3UsIGtTaXplVVYgKyBPRkYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY192LCBrU2l6ZVVWICsgT0ZGKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfYSwg
a1dpZHRoKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGln
bl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYywga1N0cmlkZUIqIGtIZWlnaHQgKyBPRkYpOyAg
ICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCwg
a1N0cmlkZUIqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkg
PSAwOyBpIDwga1dpZHRoICoga0hlaWdodDsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgIHNyY195W2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBzcmNfYVtpICsgT0ZGXSA9
IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEVY
UEVDVF9MRShtYXhfZGlmZiwgRElGRik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY195
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX3YpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVm
ZmVyX3BhZ2VfZW5kKHNyY19hKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9jKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFn
ZV9lbmQoZHN0X2FyZ2Jfb3B0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
fQorICAgIGZvciAoaW50IGkgPSAwOyBpIDwga1NpemVVVjsgKytpKSB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHNyY191W2kgKyBPRkZdID0gKGZhc3Ry
YW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICBzcmNfdltpICsgT0ZGXSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQo
ZHN0X2FyZ2JfYyArIE9GRiwgMSwga1N0cmlkZUIgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF9hcmdiX29wdCArIE9GRiwgMTAxLCBrU3RyaWRl
QiAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIE1hc2tDcHVGbGFncyhk
aXNhYmxlX2NwdV9mbGFnc18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBGTVRfUExBTkFSIyNUbyMjRk1UX0Ioc3JjX3kgKyBPRkYsIGtXaWR0aCwgc3Jj
X3UgKyBPRkYsIGtTdHJpZGVVViwgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAg
IHNyY192ICsgT0ZGLCBrU3RyaWRlVVYsIHNyY19hICsgT0ZGLCBrV2lkdGgsICAgICAgICAgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfYXJnYl9jICsgT0ZGLCBrU3RyaWRlQiwga1dp
ZHRoLCBORUcga0hlaWdodCwgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQVRURU4p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgTWFz
a0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJh
dGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEZNVF9QTEFO
QVIjI1RvIyNGTVRfQihzcmNfeSArIE9GRiwga1dpZHRoLCBzcmNfdSArIE9GRiwga1N0cmlkZVVW
LCAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3YgKyBPRkYsIGtTdHJp
ZGVVViwgc3JjX2EgKyBPRkYsIGtXaWR0aCwgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRzdF9hcmdiX29wdCArIE9GRiwga1N0cmlkZUIsIGtXaWR0aCwgTkVHIGtIZWlnaHQs
IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVFRFTik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IGludCBtYXhfZGlmZiA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtXaWR0aCAqIEJQ
UF9CICoga0hlaWdodDsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBpbnQg
YWJzX2RpZmYgPSBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9jW2kgKyBPRkZdKSAtICAg
ICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4o
ZHN0X2FyZ2Jfb3B0W2kgKyBPRkZdKSk7ICAgICAgICAgICAgIFwKKyAgICAgIGlmIChhYnNfZGlm
ZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgIG1heF9kaWZmID0gYWJzX2RpZmY7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0xFKG1heF9kaWZmLCBESUZGKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZy
ZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX3kpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY191
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX2EpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVm
ZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9vcHQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9CiAKLSNkZWZpbmUgVEVTVFFQTEFOQVJU
T0IoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04s
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgIFlBTElHTiwgRElGRikgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RRUExBTkFSVE9CSShGTVRfUExB
TkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIEJQUF9CLCBBTElHTiwgICAgIFwKLSAg
ICAgICAgWUFMSUdOLCBiZW5jaG1hcmtfd2lkdGhfIC0gNCwgRElGRiwgX0FueSwgKywgMCwgMCkg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVFFQTEFOQVJUT0JJKEZNVF9QTEFOQVIsIFNV
QlNBTVBfWCwgU1VCU0FNUF9ZLCBGTVRfQiwgQlBQX0IsIEFMSUdOLCAgICAgXAotICAgICAgICBZ
QUxJR04sIGJlbmNobWFya193aWR0aF8sIERJRkYsIF9VbmFsaWduZWQsICssIDEsIDApICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBURVNUUVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9Y
LCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sICAgICBcCi0gICAgICAgIFlBTElHTiwg
YmVuY2htYXJrX3dpZHRoXywgRElGRiwgX0ludmVydCwgLSwgMCwgMCkgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIFRFU1RRUExBTkFSVE9CSShGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNB
TVBfWSwgRk1UX0IsIEJQUF9CLCBBTElHTiwgICAgIFwKLSAgICAgICAgWUFMSUdOLCBiZW5jaG1h
cmtfd2lkdGhfLCBESUZGLCBfT3B0LCArLCAwLCAwKSAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgVEVTVFFQTEFOQVJUT0JJKEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBG
TVRfQiwgQlBQX0IsIEFMSUdOLCAgICAgXAotICAgICAgICBZQUxJR04sIGJlbmNobWFya193aWR0
aF8sIERJRkYsIF9QcmVtdWx0LCArLCAwLCAxKQorI2RlZmluZSBURVNUUVBMQU5BUlRPQihGTVRf
UExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIEJQUF9CLCBBTElHTiwgXAorICAg
ICAgICAgICAgICAgICAgICAgICBZQUxJR04sIERJRkYpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICBURVNUUVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FN
UF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sICAgICAgXAorICAgICAgICAgICAg
ICAgICAgWUFMSUdOLCBiZW5jaG1hcmtfd2lkdGhfIC0gNCwgRElGRiwgX0FueSwgKywgMCwgMCkg
ICAgICAgICAgXAorICBURVNUUVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJT
QU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sICAgICAgXAorICAgICAgICAgICAgICAgICAgWUFM
SUdOLCBiZW5jaG1hcmtfd2lkdGhfLCBESUZGLCBfVW5hbGlnbmVkLCArLCAxLCAwKSAgICAgICAg
XAorICBURVNUUVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZN
VF9CLCBCUFBfQiwgQUxJR04sICAgICAgXAorICAgICAgICAgICAgICAgICAgWUFMSUdOLCBiZW5j
aG1hcmtfd2lkdGhfLCBESUZGLCBfSW52ZXJ0LCAtLCAwLCAwKSAgICAgICAgICAgXAorICBURVNU
UVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBf
QiwgQUxJR04sICAgICAgXAorICAgICAgICAgICAgICAgICAgWUFMSUdOLCBiZW5jaG1hcmtfd2lk
dGhfLCBESUZGLCBfT3B0LCArLCAwLCAwKSAgICAgICAgICAgICAgXAorICBURVNUUVBMQU5BUlRP
QkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04s
ICAgICAgXAorICAgICAgICAgICAgICAgICAgWUFMSUdOLCBiZW5jaG1hcmtfd2lkdGhfLCBESUZG
LCBfUHJlbXVsdCwgKywgMCwgMSkKIAogVEVTVFFQTEFOQVJUT0IoSTQyMEFscGhhLCAyLCAyLCBB
UkdCLCA0LCA0LCAxLCAyKQogVEVTVFFQTEFOQVJUT0IoSTQyMEFscGhhLCAyLCAyLCBBQkdSLCA0
LCA0LCAxLCAyKQogCiAjZGVmaW5lIFRFU1RCSVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FN
UF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgICAgICAgXAogICAgICAgICAgICAgICAgICAg
ICAgICAgIFcxMjgwLCBESUZGLCBOLCBORUcsIE9GRikgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLVRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgRk1UX1BMQU5BUiMjVG8jI0ZNVF9CIyNO
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrV2lkdGggPSAoKFcx
MjgwKSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBjb25zdCBpbnQga0hlaWdodCA9IGJlbmNobWFya19oZWlnaHRfOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtTdHJpZGVCID0ga1dpZHRoICog
QlBQX0I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0
IGludCBrU3RyaWRlVVYgPSBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3ksIGtXaWR0aCAq
IGtIZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVy
X3BhZ2VfZW5kKHNyY191diwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBrU3RyaWRlVVYgKiBTVUJTQU1QTEUo
a0hlaWdodCwgU1VCU0FNUF9ZKSAqIDIgKyBPRkYpOyAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9l
bmQoZHN0X2FyZ2JfYywga1N0cmlkZUIgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCwga1N0cmlkZUIgKiBrSGVp
Z2h0KTsgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga0hlaWdo
dDsgKytpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGZvciAoaW50IGogPSAwOyBqIDwga1dpZHRoOyArK2opICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHNyY195W2kgKiBrV2lkdGggKyBqICsgT0ZGXSA9
IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50
IGkgPSAwOyBpIDwgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSk7ICsraSkgeyAgICAgICAg
ICAgICAgICAgICAgXAotICAgIGZvciAoaW50IGogPSAwOyBqIDwga1N0cmlkZVVWICogMjsgKytq
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHNyY191dltpICog
a1N0cmlkZVVWICogMiArIGogKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAg
ICAgICBcCisgIFRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgRk1UX1BMQU5BUiMjVG8jI0ZNVF9C
IyNOKSB7ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGludCBrV2lkdGggPSAo
KFcxMjgwKSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBjb25zdCBpbnQga0hlaWdodCA9IGJlbmNobWFya19oZWlnaHRfOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtTdHJpZGVCID0ga1dpZHRo
ICogQlBQX0I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNv
bnN0IGludCBrU3RyaWRlVVYgPSBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpOyAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3ksIGtXaWR0
aCoga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVm
ZmVyX3BhZ2VfZW5kKHNyY191diwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICBrU3RyaWRlVVYqIFNVQlNBTVBM
RShrSGVpZ2h0LCBTVUJTQU1QX1kpICogMiArIE9GRik7IFwKKyAgICBhbGlnbl9idWZmZXJfcGFn
ZV9lbmQoZHN0X2FyZ2JfYywga1N0cmlkZUIqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCwga1N0cmlkZUIqIGtI
ZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwga0hl
aWdodDsgKytpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgIGZvciAoaW50IGogPSAwOyBqIDwga1dpZHRoOyArK2opICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNyY195W2kgKiBrV2lkdGggKyBqICsgT0ZG
XSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSk7ICsraSkgeyAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgIGZvciAoaW50IGogPSAwOyBqIDwga1N0cmlkZVVWICogMjsg
KytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHNyY191dltp
ICoga1N0cmlkZVVWICogMiArIGogKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAg
ICAgICAgXAorICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X2FyZ2JfYywgMSwga1N0cmlk
ZUIgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVt
c2V0KGRzdF9hcmdiX29wdCwgMTAxLCBrU3RyaWRlQiAqIGtIZWlnaHQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFnc18pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBGTVRfUExBTkFS
IyNUbyMjRk1UX0Ioc3JjX3kgKyBPRkYsIGtXaWR0aCwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIHNyY191diArIE9GRiwga1N0cmlk
ZVVWICogMiwgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICBkc3RfYXJnYl9jLCBrV2lkdGggKiBCUFBfQiwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAga1dpZHRoLCBORUcga0hlaWdodCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgTWFza0NwdUZsYWdzKGJlbmNobWFya19j
cHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIEZNVF9QTEFOQVIjI1RvIyNGTVRfQihzcmNfeSAr
IE9GRiwga1dpZHRoLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3JjX3V2ICsgT0ZGLCBrU3RyaWRlVVYgKiAyLCAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX29wdCwg
a1dpZHRoICogQlBQX0IsICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBrV2lkdGgsIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIC8qIENvbnZlcnQgdG8gQVJHQiBz
byA1NjUgaXMgZXhwYW5kZWQgdG8gYnl0ZXMgdGhhdCBjYW4gYmUgY29tcGFyZWQuICovICAgICAg
XAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2IzMl9jLCBrV2lkdGggKiA0ICoga0hl
aWdodCk7ICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9h
cmdiMzJfb3B0LCBrV2lkdGggKiA0ICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICBcCi0gIG1l
bXNldChkc3RfYXJnYjMyX2MsIDIsIGtXaWR0aCAqIDQgKiBrSGVpZ2h0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X2FyZ2IzMl9vcHQsIDEwMiwga1dpZHRo
ICogNCAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgRk1UX0IjI1Rv
QVJHQihkc3RfYXJnYl9jLCBrU3RyaWRlQiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgZHN0X2FyZ2IzMl9jLCBrV2lkdGggKiA0LCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgIGtX
aWR0aCwga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgRk1UX0IjI1RvQVJHQihkc3RfYXJnYl9vcHQsIGtTdHJpZGVCLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgZHN0X2FyZ2Iz
Ml9vcHQsIGtXaWR0aCAqIDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgIGtXaWR0aCwga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgaW50IG1heF9kaWZmID0gMDsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAo
aW50IGkgPSAwOyBpIDwga0hlaWdodDsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIGZvciAoaW50IGogPSAwOyBqIDwga1dpZHRoICogNDsgKytq
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBhYnNf
ZGlmZiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2IzMl9jW2kg
KiBrV2lkdGggKiA0ICsgal0pIC0gICAgICAgICAgICAgXAotICAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxpbnQ+KGRzdF9hcmdiMzJfb3B0W2kgKiBrV2lkdGggKiA0ICsgal0pKTsgICAgICAgICAg
IFwKLSAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIG1heF9kaWZmID0gYWJzX2RpZmY7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IG1lbXNldChkc3RfYXJnYl9jLCAxLCBrU3RyaWRlQioga0hlaWdodCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X2FyZ2Jfb3B0LCAxMDEsIGtTdHJp
ZGVCKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgTWFza0Nw
dUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIEZNVF9QTEFOQVIjI1RvIyNGTVRfQihzcmNfeSArIE9GRiwga1dp
ZHRoLCBzcmNfdXYgKyBPRkYsIGtTdHJpZGVVViAqIDIsICAgIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgZHN0X2FyZ2JfYywga1dpZHRoICogQlBQX0IsIGtXaWR0aCwgTkVHIGtIZWlnaHQp
OyAgICBcCisgICAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
YmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgIEZNVF9QTEFOQVIjI1RvIyNGTVRfQihzcmNfeSArIE9GRiwga1dpZHRoLCBzcmNfdXYg
KyBPRkYsIGtTdHJpZGVVViAqIDIsICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0
X2FyZ2Jfb3B0LCBrV2lkdGggKiBCUFBfQiwga1dpZHRoLCAgICAgICAgICAgICAgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLyogQ29udmVy
dCB0byBBUkdCIHNvIDU2NSBpcyBleHBhbmRlZCB0byBieXRlcyB0aGF0IGNhbiBiZSBjb21wYXJl
ZC4gKi8gICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYjMyX2MsIGtXaWR0
aCAqIDQgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFn
ZV9lbmQoZHN0X2FyZ2IzMl9vcHQsIGtXaWR0aCAqIDQgKiBrSGVpZ2h0KTsgICAgICAgICAgICAg
ICBcCisgICAgbWVtc2V0KGRzdF9hcmdiMzJfYywgMiwga1dpZHRoICogNCAqIGtIZWlnaHQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbXNldChkc3RfYXJnYjMyX29wdCwg
MTAyLCBrV2lkdGggKiA0ICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBGTVRfQiMjVG9BUkdCKGRzdF9hcmdiX2MsIGtTdHJpZGVCLCBkc3RfYXJnYjMyX2MsIGtXaWR0
aCAqIDQsIGtXaWR0aCwgICAgICBcCisgICAgICAgICAgICAgICAgICBrSGVpZ2h0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZNVF9C
IyNUb0FSR0IoZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlQiwgZHN0X2FyZ2IzMl9vcHQsIGtXaWR0aCAq
IDQsIGtXaWR0aCwgIFwKKyAgICAgICAgICAgICAgICAgIGtIZWlnaHQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IG1heF9kaWZm
ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwga0hlaWdodDsgKytpKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGZvciAoaW50IGogPSAwOyBq
IDwga1dpZHRoICogNDsgKytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIGludCBhYnNfZGlmZiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgYWJzKHN0YXRpY19jYXN0PGlu
dD4oZHN0X2FyZ2IzMl9jW2kgKiBrV2lkdGggKiA0ICsgal0pIC0gICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiMzJfb3B0W2kgKiBrV2lkdGggKiA0
ICsgal0pKTsgICAgICAgICBcCisgICAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgIG1h
eF9kaWZmID0gYWJzX2RpZmY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IEVYUEVDVF9MRShtYXhfZGlmZiwgRElGRik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNy
Y195KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9h
bGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdXYpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jf
Yyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRf
YnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYjMyX2MpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJf
cGFnZV9lbmQoZHN0X2FyZ2IzMl9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotfQorICAgIEVYUEVDVF9MRShtYXhfZGlmZiwgRElGRik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3Bh
Z2VfZW5kKHNyY195KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdXYpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQo
ZHN0X2FyZ2JfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVl
X2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJn
YjMyX2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25l
ZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2IzMl9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgfQogCi0jZGVmaW5lIFRFU1RCSVBMQU5BUlRPQihGTVRfUExBTkFSLCBTVUJT
QU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIEJQUF9CLCBESUZGKSAgXAotICAgIFRFU1RCSVBMQU5B
UlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8gLSA0LCBESUZG
LCBfQW55LCArLCAwKSAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVEJJUExBTkFSVE9CSShG
TVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIEJQUF9CLCAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgRElGRiwgX1VuYWxpZ25l
ZCwgKywgMSkgICAgICAgICAgICAgICAgIFwKLSAgICBURVNUQklQTEFOQVJUT0JJKEZNVF9QTEFO
QVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBGTVRfQiwgQlBQX0IsICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBESUZGLCBfSW52ZXJ0LCAtLCAwKSAg
ICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RCSVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VC
U0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIERJRkYsIF9PcHQsICssIDApCisjZGVmaW5lIFRF
U1RCSVBMQU5BUlRPQihGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIEJQ
UF9CLCBESUZGKSBcCisgIFRFU1RCSVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBT
VUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAg
YmVuY2htYXJrX3dpZHRoXyAtIDQsIERJRkYsIF9BbnksICssIDApICAgICAgICAgICAgICAgICAg
ICBcCisgIFRFU1RCSVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ks
IEZNVF9CLCBCUFBfQiwgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgYmVuY2htYXJr
X3dpZHRoXywgRElGRiwgX1VuYWxpZ25lZCwgKywgMSkgICAgICAgICAgICAgICAgICBcCisgIFRF
U1RCSVBMQU5BUlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBC
UFBfQiwgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywg
RElGRiwgX0ludmVydCwgLSwgMCkgICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1RCSVBMQU5B
UlRPQkkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgICAg
ICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgRElGRiwgX09w
dCwgKywgMCkKIAogVEVTVEJJUExBTkFSVE9CKE5WMTIsIDIsIDIsIEFSR0IsIDQsIDIpCiBURVNU
QklQTEFOQVJUT0IoTlYyMSwgMiwgMiwgQVJHQiwgNCwgMikKQEAgLTgyMCwxNTEgKzc0MSwxMjkg
QEAgVEVTVEJJUExBTkFSVE9CKE5WMTIsIDIsIDIsIFJHQjU2NSwgMiwgOSkKIC8vIERvIDMgYWxs
b2NhdGlvbnMgZm9yIHl1di4gIGNvbnZlbnRpb25hbCBidXQgc2xvd2VyLgogI2RlZmluZSBURVNU
QVRPUExBTkFSSShGTVRfQSwgQlBQX0EsIFlBTElHTiwgRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBT
VUJTQU1QX1ksIFwKICAgICAgICAgICAgICAgICAgICAgICAgVzEyODAsIERJRkYsIE4sIE5FRywg
T0ZGKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi1URVNUX0YoTGliWVVWQ29udmVy
dFRlc3QsIEZNVF9BIyNUbyMjRk1UX1BMQU5BUiMjTikgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBjb25zdCBpbnQga1dpZHRoID0gKChXMTI4MCkgPiAwKSA/IChXMTI4MCkgOiAxOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtIZWlnaHQgPSBBTElH
TklOVChiZW5jaG1hcmtfaGVpZ2h0XywgWUFMSUdOKTsgICAgICAgICAgICAgICAgICAgICBcCi0g
IGNvbnN0IGludCBrU3RyaWRlVVYgPSBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga1N0cmlkZSA9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIChr
U3RyaWRlVVYgKiBTVUJTQU1QX1ggKiA4ICogQlBQX0EgKyA3KSAvIDg7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfYXJnYiwga1N0cmlk
ZSAqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJf
cGFnZV9lbmQoZHN0X3lfYywga1dpZHRoICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91X2MsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICBrU3RyaWRlVVYgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgICAg
XAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3ZfYywgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGtTdHJp
ZGVVViAqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAgICAgICBcCi0gIGFs
aWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3Vfb3B0LCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGtTdHJpZGVVViAqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsg
ICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl9vcHQsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
a1N0cmlkZVVWICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChkc3RfeV9jLCAxLCBrV2lk
dGggKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBtZW1zZXQoZHN0X3VfYywgMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgIGtTdHJpZGVVViAqIFNVQlNBTVBMRShr
SGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1lbXNl
dChkc3Rfdl9jLCAzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAga1N0cmlkZVVWICogU1VCU0FNUExFKGtIZWlnaHQs
IFNVQlNBTVBfWSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF95
X29wdCwgMTAxLCBrV2lkdGggKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIG1lbXNldChkc3RfdV9vcHQsIDEwMiwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAga1N0cmlkZVVWICog
U1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgbWVtc2V0KGRzdF92X29wdCwgMTAzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICBrU3RyaWRlVVYgKiBTVUJTQU1Q
TEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBm
b3IgKGludCBpID0gMDsgaSA8IGtIZWlnaHQ7ICsraSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBmb3IgKGludCBqID0gMDsgaiA8IGtTdHJpZGU7ICsr
aikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBzcmNf
YXJnYlsoaSAqIGtTdHJpZGUpICsgaiArIE9GRl0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAg
ICAgICAgICAgICAgXAotICBNYXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgRk1UX0EjI1RvIyNGTVRf
UExBTkFSKHNyY19hcmdiICsgT0ZGLCBrU3RyaWRlLCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBkc3RfeV9jLCBrV2lkdGgsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ZHN0X3VfYywga1N0cmlkZVVWLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGRzdF92X2MsIGtTdHJpZGVVViwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBrV2lkdGgs
IE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBNYXNr
Q3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0
aW9uc187ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRk1UX0EjI1Rv
IyNGTVRfUExBTkFSKHNyY19hcmdiICsgT0ZGLCBrU3RyaWRlLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfeV9vcHQsIGtXaWR0aCwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgZHN0X3Vfb3B0LCBrU3RyaWRlVVYsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF92X29wdCwga1N0cmlkZVVWLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBr
V2lkdGgsIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga0hlaWdodDsgKytp
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZvciAo
aW50IGogPSAwOyBqIDwga1dpZHRoOyArK2opIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIEVYUEVDVF9ORUFSKHN0YXRpY19jYXN0PGludD4oZHN0X3lf
Y1tpICoga1dpZHRoICsgal0pLCAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF95X29wdFtpICoga1dpZHRoICsgal0pLCBESUZGKTsgICAg
ICAgICAgXAorICBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZNVF9BIyNUbyMjRk1UX1BMQU5B
UiMjTikgeyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga1dpZHRoID0g
KChXMTI4MCkgPiAwKSA/IChXMTI4MCkgOiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgY29uc3QgaW50IGtIZWlnaHQgPSBBTElHTklOVChiZW5jaG1hcmtfaGVpZ2h0XywgWUFM
SUdOKTsgICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGludCBrU3RyaWRlVVYgPSBTVUJT
QU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBj
b25zdCBpbnQga1N0cmlkZSA9IChrU3RyaWRlVVYgKiBTVUJTQU1QX1ggKiA4ICogQlBQX0EgKyA3
KSAvIDg7ICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiLCBr
U3RyaWRlKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1
ZmZlcl9wYWdlX2VuZChkc3RfeV9jLCBrV2lkdGgqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3VfYywga1N0cmlkZVVW
KiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICBcCisgICAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKGRzdF92X2MsIGtTdHJpZGVVViogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkp
OyAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQsIGtXaWR0aCoga0hlaWdo
dCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQo
ZHN0X3Vfb3B0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGtTdHJpZGVVViogU1VCU0FNUExFKGtIZWlnaHQsIFNV
QlNBTVBfWSkpOyAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl9v
cHQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAga1N0cmlkZVVWKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9Z
KSk7ICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF95X2MsIDEsIGtXaWR0aCoga0hlaWdodCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbXNldChkc3Rf
dV9jLCAyLCBrU3RyaWRlVVYqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpKTsgICAgICAg
ICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X3ZfYywgMywga1N0cmlkZVVWKiBTVUJTQU1QTEUoa0hl
aWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF95X29wdCwg
MTAxLCBrV2lkdGgqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIG1lbXNldChkc3RfdV9vcHQsIDEwMiwga1N0cmlkZVVWKiBTVUJTQU1QTEUoa0hlaWdo
dCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X3Zfb3B0LCAxMDMsIGtT
dHJpZGVVViogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgICAgICBcCisgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyArK2kpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBrU3RyaWRlOyAr
K2opICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3Jj
X2FyZ2JbKGkgKiBrU3RyaWRlKSArIGogKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAg
ICAgICAgICAgICBcCisgICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZNVF9BIyNUbyMjRk1U
X1BMQU5BUihzcmNfYXJnYiArIE9GRiwga1N0cmlkZSwgZHN0X3lfYywga1dpZHRoLCBkc3RfdV9j
LCAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAga1N0cmlkZVVWLCBkc3Rfdl9jLCBrU3Ry
aWRlVVYsIGtXaWR0aCwgTkVHIGtIZWlnaHQpOyBcCisgICAgTWFza0NwdUZsYWdzKGJlbmNobWFy
a19jcHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEZNVF9BIyNUbyMjRk1UX1BMQU5BUihzcmNf
YXJnYiArIE9GRiwga1N0cmlkZSwgZHN0X3lfb3B0LCBrV2lkdGgsICAgICAgICBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZHN0X3Vfb3B0LCBrU3RyaWRlVVYsIGRzdF92X29wdCwga1N0
cmlkZVVWLCAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtXaWR0aCwgTkVH
IGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8
IFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpOyArK2kpIHsgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBmb3IgKGludCBqID0gMDsgaiA8IGtTdHJpZGVVVjsgKytqKSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBFWFBFQ1RfTkVBUihzdGF0aWNfY2Fz
dDxpbnQ+KGRzdF91X2NbaSAqIGtTdHJpZGVVViArIGpdKSwgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfdV9vcHRbaSAqIGtTdHJpZGVVViAr
IGpdKSwgRElGRik7ICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtIZWlnaHQ7ICsr
aSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBmb3Ig
KGludCBqID0gMDsgaiA8IGtXaWR0aDsgKytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgICBFWFBFQ1RfTkVBUihzdGF0aWNfY2FzdDxpbnQ+KGRzdF95
X2NbaSAqIGtXaWR0aCArIGpdKSwgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfeV9vcHRbaSAqIGtXaWR0aCArIGpdKSwgRElGRik7ICAg
ICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBmb3IgKGludCBpID0gMDsgaSA8IFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpOyAr
K2kpIHsgICAgICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGtTdHJp
ZGVVVjsgKytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg
ICBFWFBFQ1RfTkVBUihzdGF0aWNfY2FzdDxpbnQ+KGRzdF91X2NbaSAqIGtTdHJpZGVVViArIGpd
KSwgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihk
c3RfdV9vcHRbaSAqIGtTdHJpZGVVViArIGpdKSwgRElGRik7ICAgICBcCisgICAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSk7
ICsraSkgeyAgICAgICAgICAgICAgICAgICAgXAotICAgIGZvciAoaW50IGogPSAwOyBqIDwga1N0
cmlkZVVWOyArK2opIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgIEVYUEVDVF9ORUFSKHN0YXRpY19jYXN0PGludD4oZHN0X3ZfY1tpICogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGtTdHJpZGVVViArIGpdKSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3Rfdl9vcHRbaSAqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1N0cmlk
ZVVWICsgal0pLCBESUZGKTsgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKTsgKytpKSB7ICAgICAgICAgICAg
ICAgICAgXAorICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBrU3RyaWRlVVY7ICsraikgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgRVhQRUNUX05FQVIoc3Rh
dGljX2Nhc3Q8aW50Pihkc3Rfdl9jW2kgKiBrU3RyaWRlVVYgKyBqXSksICAgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3Zfb3B0W2kgKiBrU3Ry
aWRlVVYgKyBqXSksIERJRkYpOyAgICAgXAorICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWdu
ZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV9jKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZm
ZXJfcGFnZV9lbmQoZHN0X3ZfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29wdCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdl
X2VuZChkc3RfdV9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3Zfb3B0KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNy
Y19hcmdiKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0KKyAgICBm
cmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3Rf
dV9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxp
Z25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3ZfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29wdCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1
ZmZlcl9wYWdlX2VuZChkc3RfdV9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3Zfb3B0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3Bh
Z2VfZW5kKHNyY19hcmdiKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
IH0KICNlbHNlCi0jZGVmaW5lIFRFU1RBVE9QTEFOQVJJKEZNVF9BLCBCUFBfQSwgWUFMSUdOLCBG
TVRfUExBTkFSLCAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgVzEyODAsIERJRkYsIE4sIE5FRywgT0ZGKSAgICAgICAg
IFwKLVRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgRk1UX0EjI1RvIyNGTVRfUExBTkFSIyNOKSB7
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrV2lkdGggPSAoKFcxMjgw
KSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBj
b25zdCBpbnQga0hlaWdodCA9IEFMSUdOSU5UKGJlbmNobWFya19oZWlnaHRfLCBZQUxJR04pOyAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtTdHJpZGVVViA9IFNVQlNBTVBMRShr
V2lkdGgsIFNVQlNBTVBfWCk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGlu
dCBrU3RyaWRlID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgKGtTdHJpZGVVViAqIFNVQlNBTVBfWCAqIDggKiBCUFBfQSAr
IDcpIC8gODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKHNyY19hcmdiLCBrU3RyaWRlICoga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAg
ICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9jLCBrV2lkdGggKiBrSGVpZ2h0
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQo
ZHN0X3V2X2MsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGtTdHJpZGVVViAqIDIgKiBTVUJTQU1QTEUoa0hlaWdo
dCwgU1VCU0FNUF9ZKSk7ICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9v
cHQsIGtXaWR0aCAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGln
bl9idWZmZXJfcGFnZV9lbmQoZHN0X3V2X29wdCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGtTdHJpZGVVViAqIDIg
KiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICBcCi0gIG1lbXNldChkc3Rf
eV9jLCAxLCBrV2lkdGggKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBtZW1zZXQoZHN0X3V2X2MsIDIsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgIGtTdHJpZGVVViAq
IDIgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIG1lbXNldChkc3RfeV9vcHQsIDEwMSwga1dpZHRoICoga0hlaWdodCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X3V2X29wdCwgMTAyLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgIGtTdHJpZGVVViAqIDIgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga0hlaWdodDsgKytp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZvciAo
aW50IGogPSAwOyBqIDwga1N0cmlkZTsgKytqKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIHNyY19hcmdiWyhpICoga1N0cmlkZSkgKyBqICsgT0ZGXSA9
IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFncyhk
aXNhYmxlX2NwdV9mbGFnc18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBGTVRfQSMjVG8jI0ZNVF9QTEFOQVIoc3JjX2FyZ2IgKyBPRkYsIGtTdHJpZGUs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGRzdF95X2MsIGtXaWR0aCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICBkc3RfdXZfYywga1N0cmlkZVVWICogMiwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3V2
X2MgKyBrU3RyaWRlVVYsIGtTdHJpZGVVViAqIDIsICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFncyhiZW5jaG1hcmtfY3B1X2luZm9fKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBp
ID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zXzsgKytpKSB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBGTVRfQSMjVG8jI0ZNVF9QTEFOQVIoc3JjX2FyZ2IgKyBPRkYsIGtT
dHJpZGUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGRzdF95X29wdCwga1dpZHRoLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfdXZfb3B0LCBrU3RyaWRlVVYgKiAy
LCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ZHN0X3V2X29wdCArIGtTdHJpZGVVViwga1N0cmlkZVVWICogMiwgICAgICAgICAgICAgICBcCisj
ZGVmaW5lIFRFU1RBVE9QTEFOQVJJKEZNVF9BLCBCUFBfQSwgWUFMSUdOLCBGTVRfUExBTkFSLCBT
VUJTQU1QX1gsIFNVQlNBTVBfWSwgXAorICAgICAgICAgICAgICAgICAgICAgICBXMTI4MCwgRElG
RiwgTiwgTkVHLCBPRkYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgVEVTVF9G
KExpYllVVkNvbnZlcnRUZXN0LCBGTVRfQSMjVG8jI0ZNVF9QTEFOQVIjI04pIHsgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtXaWR0aCA9ICgoVzEyODApID4gMCkgPyAo
VzEyODApIDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGludCBr
SGVpZ2h0ID0gQUxJR05JTlQoYmVuY2htYXJrX2hlaWdodF8sIFlBTElHTik7ICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBjb25zdCBpbnQga1N0cmlkZVVWID0gU1VCU0FNUExFKGtXaWR0aCwgU1VC
U0FNUF9YKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtTdHJpZGUg
PSAoa1N0cmlkZVVWICogU1VCU0FNUF9YICogOCAqIEJQUF9BICsgNykgLyA4OyAgICAgICAgICAg
XAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfYXJnYiwga1N0cmlkZSoga0hlaWdodCAr
IE9GRik7ICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0
X3lfYywga1dpZHRoKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
YWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91dl9jLCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICBrU3RyaWRlVVYg
KiAyICogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgIFwKKyAgICBhbGlnbl9i
dWZmZXJfcGFnZV9lbmQoZHN0X3lfb3B0LCBrV2lkdGgqIGtIZWlnaHQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91dl9vcHQsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBrU3RyaWRlVVYgKiAyICogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAg
ICAgIFwKKyAgICBtZW1zZXQoZHN0X3lfYywgMSwga1dpZHRoKiBrSGVpZ2h0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF91dl9jLCAyLCBr
U3RyaWRlVVYgKiAyICogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICAgICAgXAor
ICAgIG1lbXNldChkc3RfeV9vcHQsIDEwMSwga1dpZHRoKiBrSGVpZ2h0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X3V2X29wdCwgMTAyLCBrU3Ry
aWRlVVYgKiAyICogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkpOyAgICBcCisgICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyArK2kpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBrU3RyaWRlOyArK2op
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3JjX2Fy
Z2JbKGkgKiBrU3RyaWRlKSArIGogKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAg
ICAgICAgICBcCisgICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZNVF9BIyNUbyMjRk1UX1BM
QU5BUihzcmNfYXJnYiArIE9GRiwga1N0cmlkZSwgZHN0X3lfYywga1dpZHRoLCBkc3RfdXZfYywg
IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAga1N0cmlkZVVWICogMiwgZHN0X3V2X2MgKyBr
U3RyaWRlVVYsIGtTdHJpZGVVViAqIDIsICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGtX
aWR0aCwgTkVHIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyArK2kp
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9yIChp
bnQgaiA9IDA7IGogPCBrV2lkdGg7ICsraikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgRVhQRUNUX05FQVIoc3RhdGljX2Nhc3Q8aW50Pihkc3RfeV9j
W2kgKiBrV2lkdGggKyBqXSksICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
IHN0YXRpY19jYXN0PGludD4oZHN0X3lfb3B0W2kgKiBrV2lkdGggKyBqXSksIERJRkYpOyAgICAg
ICAgICBcCisgICAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
YmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgIEZNVF9BIyNUbyMjRk1UX1BMQU5BUihzcmNfYXJnYiArIE9GRiwga1N0cmlkZSwgZHN0
X3lfb3B0LCBrV2lkdGgsICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0
X3V2X29wdCwga1N0cmlkZVVWICogMiwgZHN0X3V2X29wdCArIGtTdHJpZGVVViwgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGtTdHJpZGVVViAqIDIsIGtXaWR0aCwgTkVHIGtIZWlnaHQp
OyAgICAgICAgICAgICAgIFwKICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJT
QU1QX1kpICogMjsgKytpKSB7ICAgICAgICAgICAgICAgIFwKLSAgICBmb3IgKGludCBqID0gMDsg
aiA8IGtTdHJpZGVVVjsgKytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICBFWFBFQ1RfTkVBUihzdGF0aWNfY2FzdDxpbnQ+KGRzdF91dl9jW2kgKiBrU3Ry
aWRlVVYgKyBqXSksICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8aW50Pihkc3RfdXZfb3B0W2kgKiBrU3RyaWRlVVYgKyBqXSksIERJRkYpOyAgICAgIFwKKyAg
ICBmb3IgKGludCBpID0gMDsgaSA8IGtIZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGtXaWR0aDsg
KytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBF
WFBFQ1RfTkVBUihzdGF0aWNfY2FzdDxpbnQ+KGRzdF95X2NbaSAqIGtXaWR0aCArIGpdKSwgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3Rf
eV9vcHRbaSAqIGtXaWR0aCArIGpdKSwgRElGRik7ICAgICAgICBcCisgICAgICB9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3lfYyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5k
KGRzdF91dl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJl
ZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3V2
X29wdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWdu
ZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLX0KKyAgICBmb3IgKGludCBpID0gMDsgaSA8IFNVQlNBTVBMRShrSGVpZ2h0
LCBTVUJTQU1QX1kpICogMjsgKytpKSB7ICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBq
ID0gMDsgaiA8IGtTdHJpZGVVVjsgKytqKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICBFWFBFQ1RfTkVBUihzdGF0aWNfY2FzdDxpbnQ+KGRzdF91dl9jW2kg
KiBrU3RyaWRlVVYgKyBqXSksICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8aW50Pihkc3RfdXZfb3B0W2kgKiBrU3RyaWRlVVYgKyBqXSksIERJRkYpOyAgICBc
CisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBm
cmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3Rf
dXZfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxp
Z25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3lfb3B0KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF91dl9vcHQp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1
ZmZlcl9wYWdlX2VuZChzcmNfYXJnYik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICB9CiAjZW5kaWYKIAotI2RlZmluZSBURVNUQVRPUExBTkFSKEZNVF9BLCBCUFBfQSwg
WUFMSUdOLCBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgIFwKLSAgICAgICAgICAg
ICAgICAgICAgICBESUZGKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgVEVTVEFUT1BMQU5BUkkoRk1UX0EsIEJQUF9BLCBZQUxJR04sIEZN
VF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICAgXAotICAgICAgICAgICAgICAgICAg
IGJlbmNobWFya193aWR0aF8gLSA0LCBESUZGLCBfQW55LCArLCAwKSAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBURVNUQVRPUExBTkFSSShGTVRfQSwgQlBQX0EsIFlBTElHTiwgRk1UX1BMQU5B
UiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksICAgICBcCi0gICAgICAgICAgICAgICAgICAgYmVuY2ht
YXJrX3dpZHRoXywgRElGRiwgX1VuYWxpZ25lZCwgKywgMSkgICAgICAgICAgICAgICAgICAgXAot
ICAgIFRFU1RBVE9QTEFOQVJJKEZNVF9BLCBCUFBfQSwgWUFMSUdOLCBGTVRfUExBTkFSLCBTVUJT
QU1QX1gsIFNVQlNBTVBfWSwgICAgIFwKLSAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lk
dGhfLCBESUZGLCBfSW52ZXJ0LCAtLCAwKSAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVT
VEFUT1BMQU5BUkkoRk1UX0EsIEJQUF9BLCBZQUxJR04sIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwg
U1VCU0FNUF9ZLCAgICAgXAotICAgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIERJ
RkYsIF9PcHQsICssIDApCisjZGVmaW5lIFRFU1RBVE9QTEFOQVIoRk1UX0EsIEJQUF9BLCBZQUxJ
R04sIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBcCisgICAgICAgICAgICAgICAg
ICAgICAgRElGRikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgIFRFU1RBVE9QTEFOQVJJKEZNVF9BLCBCUFBfQSwgWUFMSUdOLCBGTVRfUExBTkFS
LCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgICAgICBcCisgICAgICAgICAgICAgICAgIGJlbmNobWFy
a193aWR0aF8gLSA0LCBESUZGLCBfQW55LCArLCAwKSAgICAgICAgICAgICAgICAgICAgICBcCisg
IFRFU1RBVE9QTEFOQVJJKEZNVF9BLCBCUFBfQSwgWUFMSUdOLCBGTVRfUExBTkFSLCBTVUJTQU1Q
X1gsIFNVQlNBTVBfWSwgICAgICBcCisgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8s
IERJRkYsIF9VbmFsaWduZWQsICssIDEpICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1RBVE9Q
TEFOQVJJKEZNVF9BLCBCUFBfQSwgWUFMSUdOLCBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNB
TVBfWSwgICAgICBcCisgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIERJRkYsIF9J
bnZlcnQsIC0sIDApICAgICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1RBVE9QTEFOQVJJKEZN
VF9BLCBCUFBfQSwgWUFMSUdOLCBGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgICAg
ICBcCisgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIERJRkYsIF9PcHQsICssIDAp
CiAKIFRFU1RBVE9QTEFOQVIoQVJHQiwgNCwgMSwgSTQyMCwgMiwgMiwgNCkKLSNpZiBkZWZpbmVk
KF9fYXJtX18pIHx8IGRlZmluZWQgKF9fYWFyY2g2NF9fKQorI2lmIGRlZmluZWQoX19hcm1fXykg
fHwgZGVmaW5lZChfX2FhcmNoNjRfXykKIC8vIGFybSB2ZXJzaW9uIHN1YnNhbXBsZXMgYnkgc3Vt
bWluZyA0IHBpeGVscyB0aGVuIG11bHRpcGx5aW5nIGJ5IG1hdHJpeCB3aXRoCiAvLyA0eCBzbWFs
bGVyIGNvZWZmaWNpZW50cyB3aGljaCBhcmUgcm91bmRlZCB0byBuZWFyZXN0IGludGVnZXIuCiBU
RVNUQVRPUExBTkFSKEFSR0IsIDQsIDEsIEo0MjAsIDIsIDIsIDQpCkBAIC05OTEsMTgzICs4OTAs
MTczIEBAIFRFU1RBVE9QTEFOQVIoVVlWWSwgMiwgMSwgSTQyMiwgMiwgMSwgMikKIFRFU1RBVE9Q
TEFOQVIoSTQwMCwgMSwgMSwgSTQyMCwgMiwgMiwgMikKIFRFU1RBVE9QTEFOQVIoSjQwMCwgMSwg
MSwgSjQyMCwgMiwgMiwgMikKIAotI2RlZmluZSBURVNUQVRPQklQTEFOQVJJKEZNVF9BLCBTVUJf
QSwgQlBQX0EsIEZNVF9QTEFOQVIsICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgVzEyODAsIE4sIE5FRywgT0ZGKSAg
ICAgICAgICAgICBcCi1URVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZNVF9BIyNUbyMjRk1UX1BM
QU5BUiMjTikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga1dpZHRo
ID0gKChXMTI4MCkgPiAwKSA/IChXMTI4MCkgOiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgY29uc3QgaW50IGtIZWlnaHQgPSBiZW5jaG1hcmtfaGVpZ2h0XzsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrU3RyaWRlID0gU1VC
U0FNUExFKGtXaWR0aCwgU1VCX0EpICogQlBQX0E7ICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBjb25zdCBpbnQga1N0cmlkZVVWID0gU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdi
LCBrU3RyaWRlICoga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWdu
X2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9jLCBrV2lkdGggKiBrSGVpZ2h0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3V2X2MsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGtTdHJpZGVVViAqIDIgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7
ICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQsIGtXaWR0aCAqIGtI
ZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9l
bmQoZHN0X3V2X29wdCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGtTdHJpZGVVViAqIDIgKiBTVUJTQU1QTEUoa0hl
aWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga0hlaWdo
dDsgKytpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGZvciAoaW50IGogPSAwOyBqIDwga1N0cmlkZTsgKytqKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIHNyY19hcmdiWyhpICoga1N0cmlkZSkgKyBqICsg
T0ZGXSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChk
c3RfeV9jLCAxLCBrV2lkdGggKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X3V2X2MsIDIsIGtTdHJpZGVVViAqIDIgKiBTVUJT
QU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF95X29w
dCwgMTAxLCBrV2lkdGggKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gIG1lbXNldChkc3RfdXZfb3B0LCAxMDIsIGtTdHJpZGVVViAqIDIgKiBTVUJTQU1Q
TEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICAgXAotICBNYXNrQ3B1RmxhZ3MoZGlzYWJsZV9j
cHVfZmxhZ3NfKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgRk1UX0EjI1RvIyNGTVRfUExBTkFSKHNyY19hcmdiICsgT0ZGLCBrU3RyaWRlLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBkc3RfeV9j
LCBrV2lkdGgsIGRzdF91dl9jLCBrU3RyaWRlVVYgKiAyLCAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAga1dpZHRoLCBORUcga0hlaWdodCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkg
PSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIEZNVF9BIyNUbyMjRk1UX1BMQU5BUihzcmNfYXJnYiArIE9GRiwga1N0
cmlkZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgZHN0X3lfb3B0LCBrV2lkdGgsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF91dl9vcHQsIGtTdHJpZGVVViAqIDIs
IGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
aW50IG1heF9kaWZmID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga0hlaWdodDsgKytp
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZvciAo
aW50IGogPSAwOyBqIDwga1dpZHRoOyArK2opIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgIGludCBhYnNfZGlmZiA9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgYWJzKHN0
YXRpY19jYXN0PGludD4oZHN0X3lfY1tpICoga1dpZHRoICsgal0pIC0gICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF95X29wdFtpICoga1dp
ZHRoICsgal0pKTsgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGlmIChhYnNfZGlmZiA+IG1h
eF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgIG1heF9kaWZmID0gYWJzX2RpZmY7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBFWFBFQ1RfTEUo
bWF4X2RpZmYsIDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBTVUJTQU1QTEUoa0hlaWdodCwgU1VC
U0FNUF9ZKTsgKytpKSB7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgZm9yIChpbnQgaiA9IDA7
IGogPCBrU3RyaWRlVVYgKiAyOyArK2opIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgaW50IGFic19kaWZmID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICBhYnMoc3RhdGljX2Nhc3Q8
aW50Pihkc3RfdXZfY1tpICoga1N0cmlkZVVWICogMiArIGpdKSAtICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X3V2X29wdFtpICoga1N0cmlkZVVWICog
MiArIGpdKSk7ICAgICAgICAgICAgXAotICAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
bWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEVYUEVDVF9MRShtYXhfZGlmZiwg
NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2Vu
ZChkc3RfdXZfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZy
ZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3lfb3B0KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF91
dl9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfYXJnYik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi19CisjZGVmaW5lIFRFU1RBVE9CSVBMQU5BUkkoRk1UX0EsIFNVQl9BLCBC
UFBfQSwgRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCAgICAgICAgICBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgU1VCU0FNUF9ZLCBXMTI4MCwgTiwgTkVHLCBPRkYpICAgICAgICAgICAgICAgICAg
ICAgICBcCisgIFRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgRk1UX0EjI1RvIyNGTVRfUExBTkFS
IyNOKSB7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtXaWR0aCA9ICgo
VzEyODApID4gMCkgPyAoVzEyODApIDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgY29uc3QgaW50IGtIZWlnaHQgPSBiZW5jaG1hcmtfaGVpZ2h0XzsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtTdHJpZGUgPSBTVUJTQU1QTEUo
a1dpZHRoLCBTVUJfQSkgKiBCUFBfQTsgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3Qg
aW50IGtTdHJpZGVVViA9IFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCk7ICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiLCBrU3RyaWRl
KiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKGRzdF95X2MsIGtXaWR0aCoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91dl9jLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIGtT
dHJpZGVVViAqIDIgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSk7ICAgICBcCisgICAg
YWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95X29wdCwga1dpZHRoKiBrSGVpZ2h0KTsgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91dl9vcHQs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGtTdHJpZGVVViAqIDIgKiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9Z
KSk7ICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyArK2kpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBqID0gMDsg
aiA8IGtTdHJpZGU7ICsraikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIHNyY19hcmdiWyhpICoga1N0cmlkZSkgKyBqICsgT0ZGXSA9IChmYXN0cmFuZCgp
ICYgMHhmZik7ICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF95X2MsIDEsIGtXaWR0aCog
a0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVt
c2V0KGRzdF91dl9jLCAyLCBrU3RyaWRlVVYgKiAyICogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNB
TVBfWSkpOyAgICAgICBcCisgICAgbWVtc2V0KGRzdF95X29wdCwgMTAxLCBrV2lkdGgqIGtIZWln
aHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF91
dl9vcHQsIDEwMiwga1N0cmlkZVVWICogMiAqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kp
KTsgICBcCisgICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRk1UX0EjI1RvIyNGTVRfUExBTkFS
KHNyY19hcmdiICsgT0ZGLCBrU3RyaWRlLCBkc3RfeV9jLCBrV2lkdGgsIGRzdF91dl9jLCBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGtTdHJpZGVVViAqIDIsIGtXaWR0aCwgTkVHIGtIZWln
aHQpOyAgICAgICAgICAgICAgICBcCisgICAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5m
b18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsraSkgeyAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICBGTVRfQSMjVG8jI0ZNVF9QTEFOQVIoc3JjX2FyZ2IgKyBPRkYs
IGtTdHJpZGUsIGRzdF95X29wdCwga1dpZHRoLCAgICAgICBcCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZHN0X3V2X29wdCwga1N0cmlkZVVWICogMiwga1dpZHRoLCBORUcga0hlaWdodCk7
ICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IG1heF9kaWZmID0gMDsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBrSGVpZ2h0OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGtXaWR0aDsgKytq
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGludCBh
YnNfZGlmZiA9IGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF95X2NbaSAqIGtXaWR0aCArIGpdKSAt
ICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRz
dF95X29wdFtpICoga1dpZHRoICsgal0pKTsgICAgICBcCisgICAgICAgIGlmIChhYnNfZGlmZiA+
IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0xFKG1h
eF9kaWZmLCA0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FN
UF9ZKTsgKytpKSB7ICAgICAgICAgICAgICAgICBcCisgICAgICBmb3IgKGludCBqID0gMDsgaiA8
IGtTdHJpZGVVViAqIDI7ICsraikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgIGludCBhYnNfZGlmZiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBhYnMoc3RhdGljX2Nhc3Q8aW50Pihk
c3RfdXZfY1tpICoga1N0cmlkZVVWICogMiArIGpdKSAtICAgICAgICAgICBcCisgICAgICAgICAg
ICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfdXZfb3B0W2kgKiBrU3RyaWRlVVYgKiAyICsgal0p
KTsgICAgICAgICBcCisgICAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgbWF4X2RpZmYg
PSBhYnNfZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0xFKG1heF9kaWZmLCA0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdXZfYyk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZl
cl9wYWdlX2VuZChkc3RfeV9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdXZfb3B0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfYXJnYik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0KIAog
I2RlZmluZSBURVNUQVRPQklQTEFOQVIoRk1UX0EsIFNVQl9BLCBCUFBfQSwgRk1UX1BMQU5BUiwg
U1VCU0FNUF9YLCBTVUJTQU1QX1kpIFwKLSAgICBURVNUQVRPQklQTEFOQVJJKEZNVF9BLCBTVUJf
QSwgQlBQX0EsIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfIC0gNCwgX0FueSwgKywgMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIFRFU1RBVE9CSVBMQU5BUkkoRk1UX0EsIFNVQl9BLCBCUFBf
QSwgRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgIGJlbmNobWFya193aWR0aF8sIF9VbmFsaWduZWQsICssIDEpICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgVEVTVEFUT0JJUExBTkFSSShGTVRfQSwgU1VCX0EsIEJQUF9BLCBGTVRf
UExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgICAgXAotICAgICAgICAgICAgICAgICAgICAg
YmVuY2htYXJrX3dpZHRoXywgX0ludmVydCwgLSwgMCkgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBURVNUQVRPQklQTEFOQVJJKEZNVF9BLCBTVUJfQSwgQlBQX0EsIEZNVF9QTEFOQVIs
IFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICBcCi0gICAgICAgICAgICAgICAgICAgICBiZW5jaG1h
cmtfd2lkdGhfLCBfT3B0LCArLCAwKQorICBURVNUQVRPQklQTEFOQVJJKEZNVF9BLCBTVUJfQSwg
QlBQX0EsIEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCAgICAgIFwKKyAgICAgICAg
ICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfIC0gNCwgX0FueSwgKywgMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgIFRFU1RBVE9CSVBMQU5BUkkoRk1UX0EsIFNVQl9BLCBCUFBfQSwg
Rk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksICAgICAgXAorICAgICAgICAgICAgICAg
ICAgIGJlbmNobWFya193aWR0aF8sIF9VbmFsaWduZWQsICssIDEpICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgVEVTVEFUT0JJUExBTkFSSShGTVRfQSwgU1VCX0EsIEJQUF9BLCBGTVRfUExB
TkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgICAgICBcCisgICAgICAgICAgICAgICAgICAgYmVu
Y2htYXJrX3dpZHRoXywgX0ludmVydCwgLSwgMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICBURVNUQVRPQklQTEFOQVJJKEZNVF9BLCBTVUJfQSwgQlBQX0EsIEZNVF9QTEFOQVIsIFNV
QlNBTVBfWCwgU1VCU0FNUF9ZLCAgICAgIFwKKyAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtf
d2lkdGhfLCBfT3B0LCArLCAwKQogCiBURVNUQVRPQklQTEFOQVIoQVJHQiwgMSwgNCwgTlYxMiwg
MiwgMikKIFRFU1RBVE9CSVBMQU5BUihBUkdCLCAxLCA0LCBOVjIxLCAyLCAyKQogVEVTVEFUT0JJ
UExBTkFSKFlVWTIsIDIsIDQsIE5WMTIsIDIsIDIpCiBURVNUQVRPQklQTEFOQVIoVVlWWSwgMiwg
NCwgTlYxMiwgMiwgMikKIAotI2RlZmluZSBURVNUQVRPQkkoRk1UX0EsIEJQUF9BLCBTVFJJREVf
QSwgSEVJR0hUX0EsICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgIEZNVF9CLCBCUFBfQiwgU1RSSURFX0IsIEhFSUdIVF9CLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBXMTI4MCwgRElGRiwgTiwgTkVHLCBPRkYpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotVEVTVF9GKExpYllVVkNvbnZlcnRU
ZXN0LCBGTVRfQSMjVG8jI0ZNVF9CIyNOKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgY29uc3QgaW50IGtXaWR0aCA9ICgoVzEyODApID4gMCkgPyAoVzEyODApIDogMTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrSGVpZ2h0ID0gYmVuY2ht
YXJrX2hlaWdodF87ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBj
b25zdCBpbnQga0hlaWdodEEgPSAoa0hlaWdodCArIEhFSUdIVF9BIC0gMSkgLyBIRUlHSFRfQSAq
IEhFSUdIVF9BOyAgICAgICAgIFwKLSAgY29uc3QgaW50IGtIZWlnaHRCID0gKGtIZWlnaHQgKyBI
RUlHSFRfQiAtIDEpIC8gSEVJR0hUX0IgKiBIRUlHSFRfQjsgICAgICAgICBcCi0gIGNvbnN0IGlu
dCBrU3RyaWRlQSA9IChrV2lkdGggKiBCUFBfQSArIFNUUklERV9BIC0gMSkgLyBTVFJJREVfQSAq
IFNUUklERV9BOyAgXAotICBjb25zdCBpbnQga1N0cmlkZUIgPSAoa1dpZHRoICogQlBQX0IgKyBT
VFJJREVfQiAtIDEpIC8gU1RSSURFX0IgKiBTVFJJREVfQjsgIFwKLSAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKHNyY19hcmdiLCBrU3RyaWRlQSAqIGtIZWlnaHRBICsgT0ZGKTsgICAgICAgICAgICAg
ICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9jLCBrU3RyaWRlQiAqIGtI
ZWlnaHRCKTsgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQo
ZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlQiAqIGtIZWlnaHRCKTsgICAgICAgICAgICAgICAgICAgIFwK
LSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlQSAqIGtIZWlnaHRBOyArK2kpIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3JjX2FyZ2JbaSArIE9GRl0gPSAoZmFzdHJh
bmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF9hcmdiX2MsIDEsIGtTdHJpZGVCICoga0hl
aWdodEIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChkc3Rf
YXJnYl9vcHQsIDEwMSwga1N0cmlkZUIgKiBrSGVpZ2h0Qik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBNYXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgRk1UX0EjI1RvIyNGTVRfQihz
cmNfYXJnYiArIE9GRiwga1N0cmlkZUEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgZHN0X2FyZ2JfYywga1N0cmlkZUIsICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgIGtXaWR0aCwg
TkVHIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
TWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIEZNVF9B
IyNUbyMjRk1UX0Ioc3JjX2FyZ2IgKyBPRkYsIGtTdHJpZGVBLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX29wdCwga1N0cmlk
ZUIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAg
ICAgICBrV2lkdGgsIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgaW50IG1heF9kaWZmID0gMDsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZUIgKiBrSGVpZ2h0QjsgKytpKSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGludCBhYnNfZGlmZiA9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2JfY1tpXSkgLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdi
X29wdFtpXSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmIChhYnNf
ZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIG1heF9kaWZmID0gYWJzX2RpZmY7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgRVhQRUNUX0xFKG1heF9kaWZmLCBESUZG
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX2FyZ2IpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRz
dF9hcmdiX2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9h
bGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9vcHQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi19CisjZGVmaW5lIFRFU1RBVE9CSShGTVRfQSwgQlBQX0EsIFNUUklE
RV9BLCBIRUlHSFRfQSwgRk1UX0IsIEJQUF9CLCBTVFJJREVfQiwgIFwKKyAgICAgICAgICAgICAg
ICAgIEhFSUdIVF9CLCBXMTI4MCwgRElGRiwgTiwgTkVHLCBPRkYpICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZNVF9BIyNUbyMjRk1UX0IjI04p
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtXaWR0aCA9ICgo
VzEyODApID4gMCkgPyAoVzEyODApIDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBjb25zdCBpbnQga0hlaWdodCA9IGJlbmNobWFya19oZWlnaHRfOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGludCBrSGVpZ2h0QSA9IChrSGVpZ2h0ICsg
SEVJR0hUX0EgLSAxKSAvIEhFSUdIVF9BICogSEVJR0hUX0E7ICAgICBcCisgICAgY29uc3QgaW50
IGtIZWlnaHRCID0gKGtIZWlnaHQgKyBIRUlHSFRfQiAtIDEpIC8gSEVJR0hUX0IgKiBIRUlHSFRf
QjsgICAgIFwKKyAgICBjb25zdCBpbnQga1N0cmlkZUEgPSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAoa1dpZHRoICogQlBQX0Eg
KyBTVFJJREVfQSAtIDEpIC8gU1RSSURFX0EgKiBTVFJJREVfQTsgICAgICAgICAgICAgICBcCisg
ICAgY29uc3QgaW50IGtTdHJpZGVCID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKGtXaWR0aCAqIEJQUF9CICsgU1RSSURFX0Ig
LSAxKSAvIFNUUklERV9CICogU1RSSURFX0I7ICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1
ZmZlcl9wYWdlX2VuZChzcmNfYXJnYiwga1N0cmlkZUEqIGtIZWlnaHRBICsgT0ZGKTsgICAgICAg
ICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MsIGtTdHJpZGVC
KiBrSGVpZ2h0Qik7ICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9l
bmQoZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlQioga0hlaWdodEIpOyAgICAgICAgICAgICAgICAgXAor
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZUEgKiBrSGVpZ2h0QTsgKytpKSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICBzcmNfYXJnYltpICsgT0ZGXSA9IChmYXN0cmFu
ZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIG1lbXNldChkc3RfYXJnYl9jLCAxLCBrU3RyaWRlQioga0hlaWdodEIp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF9hcmdiX29w
dCwgMTAxLCBrU3RyaWRlQioga0hlaWdodEIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBNYXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZNVF9BIyNUbyMjRk1UX0Ioc3JjX2FyZ2IgKyBP
RkYsIGtTdHJpZGVBLCBkc3RfYXJnYl9jLCBrU3RyaWRlQiwga1dpZHRoLCBcCisgICAgICAgICAg
ICAgICAgICAgICBORUcga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICBGTVRfQSMjVG8jI0ZNVF9CKHNyY19hcmdiICsgT0ZGLCBrU3RyaWRlQSwgZHN0X2Fy
Z2Jfb3B0LCBrU3RyaWRlQiwgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAga1dpZHRoLCBO
RUcga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgaW50IG1heF9kaWZmID0gMDsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsg
aSA8IGtTdHJpZGVCICoga0hlaWdodEI7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgaW50IGFic19kaWZmID0gYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2JfY1tp
XSkgLSAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGlj
X2Nhc3Q8aW50Pihkc3RfYXJnYl9vcHRbaV0pKTsgICAgICAgICAgICAgICAgIFwKKyAgICAgIGlm
IChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgICBtYXhfZGlmZiA9IGFic19kaWZmOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9MRShtYXhfZGlmZiwgRElGRik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJl
ZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfYXJnYik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdi
X2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9i
dWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jfb3B0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgIH0KIAotI2RlZmluZSBURVNUQVRPQlJBTkRPTShGTVRfQSwgQlBQX0EsIFNUUklERV9B
LCBIRUlHSFRfQSwgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgRk1UX0IsIEJQUF9CLCBTVFJJREVfQiwgSEVJR0hUX0IsIERJRkYpICAgICAgICAgICAgICAg
ICBcCi1URVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZNVF9BIyNUbyMjRk1UX0IjI19SYW5kb20p
IHsgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCB0aW1lcyA9IDA7IHRpbWVz
IDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK3RpbWVzKSB7ICAgICAgICAgICAgICAgIFwKLSAg
ICBjb25zdCBpbnQga1dpZHRoID0gKGZhc3RyYW5kKCkgJiA2MykgKyAxOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgY29uc3QgaW50IGtIZWlnaHQgPSAoZmFzdHJhbmQo
KSAmIDMxKSArIDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNvbnN0
IGludCBrSGVpZ2h0QSA9IChrSGVpZ2h0ICsgSEVJR0hUX0EgLSAxKSAvIEhFSUdIVF9BICogSEVJ
R0hUX0E7ICAgICAgIFwKLSAgICBjb25zdCBpbnQga0hlaWdodEIgPSAoa0hlaWdodCArIEhFSUdI
VF9CIC0gMSkgLyBIRUlHSFRfQiAqIEhFSUdIVF9COyAgICAgICBcCi0gICAgY29uc3QgaW50IGtT
dHJpZGVBID0gKGtXaWR0aCAqIEJQUF9BICsgU1RSSURFX0EgLSAxKSAvIFNUUklERV9BICogU1RS
SURFX0E7XAotICAgIGNvbnN0IGludCBrU3RyaWRlQiA9IChrV2lkdGggKiBCUFBfQiArIFNUUklE
RV9CIC0gMSkgLyBTVFJJREVfQiAqIFNUUklERV9CO1wKLSAgICBhbGlnbl9idWZmZXJfcGFnZV9l
bmQoc3JjX2FyZ2IsIGtTdHJpZGVBICoga0hlaWdodEEpOyAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MsIGtTdHJpZGVCICoga0hlaWdo
dEIpOyAgICAgICAgICAgICAgICAgICAgXAotICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3Rf
YXJnYl9vcHQsIGtTdHJpZGVCICoga0hlaWdodEIpOyAgICAgICAgICAgICAgICAgIFwKLSAgICBm
b3IgKGludCBpID0gMDsgaSA8IGtTdHJpZGVBICoga0hlaWdodEE7ICsraSkgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICBzcmNfYXJnYltpXSA9IChmYXN0cmFuZCgpICYgMHhm
Zik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBtZW1zZXQoZHN0X2FyZ2JfYywgMTIzLCBrU3RyaWRlQiAqIGtIZWln
aHRCKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgbWVtc2V0KGRzdF9hcmdi
X29wdCwgMTIzLCBrU3RyaWRlQiAqIGtIZWlnaHRCKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFnc18pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBGTVRfQSMjVG8jI0ZNVF9CKHNyY19h
cmdiLCBrU3RyaWRlQSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgICAgICBkc3RfYXJnYl9jLCBrU3RyaWRlQiwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAga1dpZHRoLCBrSGVp
Z2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBNYXNr
Q3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgRk1UX0EjI1RvIyNGTVRfQihzcmNfYXJnYiwga1N0cmlkZUEs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlQiwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgIGtXaWR0aCwga0hlaWdodCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaW50IG1heF9kaWZmID0gMDsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZUIgKiBrSGVpZ2h0QjsgKytpKSB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBhYnNfZGlmZiA9ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2JfY1tpXSkgLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9h
cmdiX29wdFtpXSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGlmIChh
YnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgIG1heF9kaWZmID0gYWJzX2RpZmY7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0xFKG1heF9kaWZmLCBE
SUZGKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX2FyZ2IpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5k
KGRzdF9hcmdiX2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZnJl
ZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9vcHQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0KKyNkZWZpbmUgVEVT
VEFUT0JSQU5ET00oRk1UX0EsIEJQUF9BLCBTVFJJREVfQSwgSEVJR0hUX0EsIEZNVF9CLCBCUFBf
QiwgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgU1RSSURFX0IsIEhFSUdIVF9CLCBESUZG
KSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0
LCBGTVRfQSMjVG8jI0ZNVF9CIyNfUmFuZG9tKSB7ICAgICAgICAgICAgICAgICAgIFwKKyAgICBm
b3IgKGludCB0aW1lcyA9IDA7IHRpbWVzIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK3RpbWVz
KSB7ICAgICAgICAgIFwKKyAgICAgIGNvbnN0IGludCBrV2lkdGggPSAoZmFzdHJhbmQoKSAmIDYz
KSArIDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGNvbnN0IGludCBrSGVp
Z2h0ID0gKGZhc3RyYW5kKCkgJiAzMSkgKyAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgIGNvbnN0IGludCBrSGVpZ2h0QSA9IChrSGVpZ2h0ICsgSEVJR0hUX0EgLSAxKSAvIEhF
SUdIVF9BICogSEVJR0hUX0E7IFwKKyAgICAgIGNvbnN0IGludCBrSGVpZ2h0QiA9IChrSGVpZ2h0
ICsgSEVJR0hUX0IgLSAxKSAvIEhFSUdIVF9CICogSEVJR0hUX0I7IFwKKyAgICAgIGNvbnN0IGlu
dCBrU3RyaWRlQSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgICAoa1dpZHRoICogQlBQX0EgKyBTVFJJREVfQSAtIDEpIC8gU1RSSURF
X0EgKiBTVFJJREVfQTsgICAgICAgICAgIFwKKyAgICAgIGNvbnN0IGludCBrU3RyaWRlQiA9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg
ICAoa1dpZHRoICogQlBQX0IgKyBTVFJJREVfQiAtIDEpIC8gU1RSSURFX0IgKiBTVFJJREVfQjsg
ICAgICAgICAgIFwKKyAgICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfYXJnYiwga1N0cmlk
ZUEqIGtIZWlnaHRBKTsgICAgICAgICAgICAgICAgIFwKKyAgICAgIGFsaWduX2J1ZmZlcl9wYWdl
X2VuZChkc3RfYXJnYl9jLCBrU3RyaWRlQioga0hlaWdodEIpOyAgICAgICAgICAgICAgIFwKKyAg
ICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9vcHQsIGtTdHJpZGVCKiBrSGVpZ2h0
Qik7ICAgICAgICAgICAgIFwKKyAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZUEgKiBr
SGVpZ2h0QTsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3JjX2FyZ2Jb
aV0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIG1lbXNldChkc3RfYXJnYl9jLCAxMjMsIGtT
dHJpZGVCKiBrSGVpZ2h0Qik7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIG1lbXNl
dChkc3RfYXJnYl9vcHQsIDEyMywga1N0cmlkZUIqIGtIZWlnaHRCKTsgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFnc18pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEZNVF9BIyNUbyMjRk1UX0Ioc3Jj
X2FyZ2IsIGtTdHJpZGVBLCBkc3RfYXJnYl9jLCBrU3RyaWRlQiwga1dpZHRoLCAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgIE1hc2tDcHVGbGFncyhiZW5jaG1hcmtfY3B1X2luZm9fKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEZNVF9BIyNUbyMjRk1U
X0Ioc3JjX2FyZ2IsIGtTdHJpZGVBLCBkc3RfYXJnYl9vcHQsIGtTdHJpZGVCLCBrV2lkdGgsIFwK
KyAgICAgICAgICAgICAgICAgICAgICAga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGludCBtYXhfZGlmZiA9IDA7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGZvciAoaW50
IGkgPSAwOyBpIDwga1N0cmlkZUIgKiBrSGVpZ2h0QjsgKytpKSB7ICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgaW50IGFic19kaWZmID0gYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2Fy
Z2JfY1tpXSkgLSAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PGludD4oZHN0X2FyZ2Jfb3B0W2ldKSk7ICAgICAgICAgICAgIFwKKyAgICAgICAg
aWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgICBtYXhfZGlmZiA9IGFic19kaWZmOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgIEVYUEVDVF9MRShtYXhfZGlmZiwgRElGRik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGZyZWVfYWxpZ25l
ZF9idWZmZXJfcGFnZV9lbmQoc3JjX2FyZ2IpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9l
bmQoZHN0X2FyZ2Jfb3B0KTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgfQogCi0jZGVmaW5lIFRFU1RBVE9CKEZNVF9BLCBCUFBfQSwgU1RSSURFX0Es
IEhFSUdIVF9BLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICBGTVRfQiwgQlBQX0IsIFNUUklERV9CLCBIRUlHSFRfQiwgRElGRikgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBURVNUQVRPQkkoRk1UX0EsIEJQUF9BLCBTVFJJREVfQSwgSEVJR0hUX0Es
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgIEZNVF9CLCBC
UFBfQiwgU1RSSURFX0IsIEhFSUdIVF9CLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfIC0gNCwgRElGRiwgX0FueSwgKywgMCkg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBURVNUQVRPQkkoRk1UX0EsIEJQUF9BLCBT
VFJJREVfQSwgSEVJR0hUX0EsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgIEZNVF9CLCBCUFBfQiwgU1RSSURFX0IsIEhFSUdIVF9CLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBESUZG
LCBfVW5hbGlnbmVkLCArLCAxKSAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBURVNUQVRP
QkkoRk1UX0EsIEJQUF9BLCBTVFJJREVfQSwgSEVJR0hUX0EsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgIEZNVF9CLCBCUFBfQiwgU1RSSURFX0IsIEhFSUdI
VF9CLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICBiZW5j
aG1hcmtfd2lkdGhfLCBESUZGLCBfSW52ZXJ0LCAtLCAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBURVNUQVRPQkkoRk1UX0EsIEJQUF9BLCBTVFJJREVfQSwgSEVJR0hUX0EsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgIEZNVF9CLCBCUFBf
QiwgU1RSSURFX0IsIEhFSUdIVF9CLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBESUZGLCBfT3B0LCArLCAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBURVNUQVRPQlJBTkRPTShGTVRfQSwgQlBQX0Es
IFNUUklERV9BLCBIRUlHSFRfQSwgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgRk1UX0IsIEJQUF9CLCBTVFJJREVfQiwgSEVJR0hUX0IsIERJRkYpCisjZGVm
aW5lIFRFU1RBVE9CKEZNVF9BLCBCUFBfQSwgU1RSSURFX0EsIEhFSUdIVF9BLCBGTVRfQiwgQlBQ
X0IsIFNUUklERV9CLCBcCisgICAgICAgICAgICAgICAgIEhFSUdIVF9CLCBESUZGKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1RBVE9CSShGTVRfQSwg
QlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwgRk1UX0IsIEJQUF9CLCBTVFJJREVfQiwgICAgICBc
CisgICAgICAgICAgICBIRUlHSFRfQiwgYmVuY2htYXJrX3dpZHRoXyAtIDQsIERJRkYsIF9Bbnks
ICssIDApICAgICAgICAgICAgICBcCisgIFRFU1RBVE9CSShGTVRfQSwgQlBQX0EsIFNUUklERV9B
LCBIRUlHSFRfQSwgRk1UX0IsIEJQUF9CLCBTVFJJREVfQiwgICAgICBcCisgICAgICAgICAgICBI
RUlHSFRfQiwgYmVuY2htYXJrX3dpZHRoXywgRElGRiwgX1VuYWxpZ25lZCwgKywgMSkgICAgICAg
ICAgICBcCisgIFRFU1RBVE9CSShGTVRfQSwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwgRk1U
X0IsIEJQUF9CLCBTVFJJREVfQiwgICAgICBcCisgICAgICAgICAgICBIRUlHSFRfQiwgYmVuY2ht
YXJrX3dpZHRoXywgRElGRiwgX0ludmVydCwgLSwgMCkgICAgICAgICAgICAgICBcCisgIFRFU1RB
VE9CSShGTVRfQSwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwgRk1UX0IsIEJQUF9CLCBTVFJJ
REVfQiwgICAgICBcCisgICAgICAgICAgICBIRUlHSFRfQiwgYmVuY2htYXJrX3dpZHRoXywgRElG
RiwgX09wdCwgKywgMCkgICAgICAgICAgICAgICAgICBcCisgIFRFU1RBVE9CUkFORE9NKEZNVF9B
LCBCUFBfQSwgU1RSSURFX0EsIEhFSUdIVF9BLCBGTVRfQiwgQlBQX0IsIFNUUklERV9CLCBcCisg
ICAgICAgICAgICAgICAgIEhFSUdIVF9CLCBESUZGKQogCiBURVNUQVRPQihBUkdCLCA0LCA0LCAx
LCBBUkdCLCA0LCA0LCAxLCAwKQogVEVTVEFUT0IoQVJHQiwgNCwgNCwgMSwgQkdSQSwgNCwgNCwg
MSwgMCkKQEAgLTEyMDEsMTU5ICsxMDkwLDE0NiBAQCBURVNUQVRPQihKNDAwLCAxLCAxLCAxLCBK
NDAwLCAxLCAxLCAxLCAwKQogVEVTVEFUT0IoSTQwMCwgMSwgMSwgMSwgSTQwME1pcnJvciwgMSwg
MSwgMSwgMCkKIFRFU1RBVE9CKEFSR0IsIDQsIDQsIDEsIEFSR0JNaXJyb3IsIDQsIDQsIDEsIDAp
CiAKLSNkZWZpbmUgVEVTVEFUT0JESShGTVRfQSwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgRk1UX0IsIEJQ
UF9CLCBTVFJJREVfQiwgSEVJR0hUX0IsICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgIFcxMjgwLCBESUZGLCBOLCBORUcsIE9GRikgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLVRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgRk1UX0EjI1Rv
IyNGTVRfQiMjRGl0aGVyIyNOKSB7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGlu
dCBrV2lkdGggPSAoKFcxMjgwKSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICBjb25zdCBpbnQga0hlaWdodCA9IGJlbmNobWFya19oZWlnaHRfOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtIZWln
aHRBID0gKGtIZWlnaHQgKyBIRUlHSFRfQSAtIDEpIC8gSEVJR0hUX0EgKiBIRUlHSFRfQTsgICAg
ICAgICBcCi0gIGNvbnN0IGludCBrSGVpZ2h0QiA9IChrSGVpZ2h0ICsgSEVJR0hUX0IgLSAxKSAv
IEhFSUdIVF9CICogSEVJR0hUX0I7ICAgICAgICAgXAotICBjb25zdCBpbnQga1N0cmlkZUEgPSAo
a1dpZHRoICogQlBQX0EgKyBTVFJJREVfQSAtIDEpIC8gU1RSSURFX0EgKiBTVFJJREVfQTsgIFwK
LSAgY29uc3QgaW50IGtTdHJpZGVCID0gKGtXaWR0aCAqIEJQUF9CICsgU1RSSURFX0IgLSAxKSAv
IFNUUklERV9CICogU1RSSURFX0I7ICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfYXJn
Yiwga1N0cmlkZUEgKiBrSGVpZ2h0QSArIE9GRik7ICAgICAgICAgICAgICAgICAgXAotICBhbGln
bl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYywga1N0cmlkZUIgKiBrSGVpZ2h0Qik7ICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCwg
a1N0cmlkZUIgKiBrSGVpZ2h0Qik7ICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkg
PSAwOyBpIDwga1N0cmlkZUEgKiBrSGVpZ2h0QTsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIHNyY19hcmdiW2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIG1lbXNldChkc3RfYXJnYl9jLCAxLCBrU3RyaWRlQiAqIGtIZWlnaHRCKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X2FyZ2Jfb3B0LCAxMDEs
IGtTdHJpZGVCICoga0hlaWdodEIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
TWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIEZNVF9BIyNUbyMjRk1UX0IjI0RpdGhlcihzcmNfYXJn
YiArIE9GRiwga1N0cmlkZUEsICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZHN0X2FyZ2JfYywga1N0cmlkZUIsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGtXaWR0aCwg
TkVHIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFncyhi
ZW5jaG1hcmtfY3B1X2luZm9fKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zXzsgKytp
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBGTVRfQSMjVG8jI0ZNVF9CIyNE
aXRoZXIoc3JjX2FyZ2IgKyBPRkYsIGtTdHJpZGVBLCAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX29wdCwga1N0cmlkZUIsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
VUxMLCBrV2lkdGgsIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGludCBtYXhfZGlmZiA9IDA7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBp
ID0gMDsgaSA8IGtTdHJpZGVCICoga0hlaWdodEI7ICsraSkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICBpbnQgYWJzX2RpZmYgPSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGFicyhzdGF0aWNf
Y2FzdDxpbnQ+KGRzdF9hcmdiX2NbaV0pIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9vcHRbaV0pKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoYWJzX2RpZmYgPiBtYXhfZGlm
ZikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICBtYXhfZGlmZiA9IGFic19kaWZmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBURVNUQVRPQkRJKEZNVF9BLCBCUFBfQSwg
U1RSSURFX0EsIEhFSUdIVF9BLCBGTVRfQiwgQlBQX0IsIFNUUklERV9CLCBcCisgICAgICAgICAg
ICAgICAgICAgSEVJR0hUX0IsIFcxMjgwLCBESUZGLCBOLCBORUcsIE9GRikgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBGTVRfQSMjVG8jI0ZNVF9C
IyNEaXRoZXIjI04pIHsgICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGludCBrV2lkdGgg
PSAoKFcxMjgwKSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgY29uc3QgaW50IGtIZWlnaHQgPSBiZW5jaG1hcmtfaGVpZ2h0XzsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga0hlaWdodEEgPSAoa0hlaWdo
dCArIEhFSUdIVF9BIC0gMSkgLyBIRUlHSFRfQSAqIEhFSUdIVF9BOyAgICAgXAorICAgIGNvbnN0
IGludCBrSGVpZ2h0QiA9IChrSGVpZ2h0ICsgSEVJR0hUX0IgLSAxKSAvIEhFSUdIVF9CICogSEVJ
R0hUX0I7ICAgICBcCisgICAgY29uc3QgaW50IGtTdHJpZGVBID0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKGtXaWR0aCAqIEJQ
UF9BICsgU1RSSURFX0EgLSAxKSAvIFNUUklERV9BICogU1RSSURFX0E7ICAgICAgICAgICAgICAg
XAorICAgIGNvbnN0IGludCBrU3RyaWRlQiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIChrV2lkdGggKiBCUFBfQiArIFNUUklE
RV9CIC0gMSkgLyBTVFJJREVfQiAqIFNUUklERV9COyAgICAgICAgICAgICAgIFwKKyAgICBhbGln
bl9idWZmZXJfcGFnZV9lbmQoc3JjX2FyZ2IsIGtTdHJpZGVBKiBrSGVpZ2h0QSArIE9GRik7ICAg
ICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9jLCBrU3Ry
aWRlQioga0hlaWdodEIpOyAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKGRzdF9hcmdiX29wdCwga1N0cmlkZUIqIGtIZWlnaHRCKTsgICAgICAgICAgICAgICAg
IFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtTdHJpZGVBICoga0hlaWdodEE7ICsraSkgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgc3JjX2FyZ2JbaSArIE9GRl0gPSAoZmFz
dHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X2FyZ2JfYywgMSwga1N0cmlkZUIqIGtIZWln
aHRCKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbXNldChkc3RfYXJn
Yl9vcHQsIDEwMSwga1N0cmlkZUIqIGtIZWlnaHRCKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBGTVRfQSMjVG8jI0ZNVF9CIyNEaXRoZXIo
c3JjX2FyZ2IgKyBPRkYsIGtTdHJpZGVBLCBkc3RfYXJnYl9jLCBrU3RyaWRlQiwgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBrV2lkdGgsIE5FRyBrSGVpZ2h0KTsgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0g
MDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zXzsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgRk1UX0EjI1RvIyNGTVRfQiMjRGl0aGVyKHNyY19hcmdiICsgT0ZGLCBrU3Ry
aWRlQSwgZHN0X2FyZ2Jfb3B0LCAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAga1N0cmlkZUIsIE5VTEwsIGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAgICAgICAgIFwKKyAgICB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIGludCBtYXhfZGlmZiA9IDA7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBrU3RyaWRlQiAqIGtIZWlnaHRCOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgIGludCBhYnNfZGlmZiA9IGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdi
X2NbaV0pIC0gICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PGludD4oZHN0X2FyZ2Jfb3B0W2ldKSk7ICAgICAgICAgICAgICAgICBcCisgICAg
ICBpZiAoYWJzX2RpZmYgPiBtYXhfZGlmZikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgfSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBFWFBFQ1RfTEUobWF4X2RpZmYsIERJ
RkYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX2FyZ2IpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3Rf
YXJnYl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWdu
ZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICB9CisKKyNkZWZpbmUgVEVTVEFUT0JEUkFORE9NKEZNVF9BLCBCUFBfQSwgU1RS
SURFX0EsIEhFSUdIVF9BLCBGTVRfQiwgQlBQX0IsICAgICAgICBcCisgICAgICAgICAgICAgICAg
ICAgICAgICBTVFJJREVfQiwgSEVJR0hUX0IsIERJRkYpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZNVF9BIyNUbyMjRk1UX0IjI0Rp
dGhlcl9SYW5kb20pIHsgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCB0aW1lcyA9IDA7
IHRpbWVzIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK3RpbWVzKSB7ICAgICAgICAgICAgICBc
CisgICAgICBjb25zdCBpbnQga1dpZHRoID0gKGZhc3RyYW5kKCkgJiA2MykgKyAxOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgY29uc3QgaW50IGtIZWlnaHQgPSAoZmFz
dHJhbmQoKSAmIDMxKSArIDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
IGNvbnN0IGludCBrSGVpZ2h0QSA9IChrSGVpZ2h0ICsgSEVJR0hUX0EgLSAxKSAvIEhFSUdIVF9B
ICogSEVJR0hUX0E7ICAgICBcCisgICAgICBjb25zdCBpbnQga0hlaWdodEIgPSAoa0hlaWdodCAr
IEhFSUdIVF9CIC0gMSkgLyBIRUlHSFRfQiAqIEhFSUdIVF9COyAgICAgXAorICAgICAgY29uc3Qg
aW50IGtTdHJpZGVBID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgICAoa1dpZHRoICogQlBQX0EgKyBTVFJJREVfQSAtIDEpIC8g
U1RSSURFX0EgKiBTVFJJREVfQTsgICAgICAgICAgICAgICBcCisgICAgICBjb25zdCBpbnQga1N0
cmlkZUIgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgIChrV2lkdGggKiBCUFBfQiArIFNUUklERV9CIC0gMSkgLyBTVFJJREVf
QiAqIFNUUklERV9COyAgICAgICAgICAgICAgIFwKKyAgICAgIGFsaWduX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfYXJnYiwga1N0cmlkZUEqIGtIZWlnaHRBKTsgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYywga1N0cmlkZUIqIGtIZWlnaHRC
KTsgICAgICAgICAgICAgICAgICAgXAorICAgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9h
cmdiX29wdCwga1N0cmlkZUIqIGtIZWlnaHRCKTsgICAgICAgICAgICAgICAgIFwKKyAgICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZUEgKiBrSGVpZ2h0QTsgKytpKSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgIHNyY19hcmdiW2ldID0gKGZhc3RyYW5kKCkgJiAweGZm
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgfSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgIG1lbXNldChkc3RfYXJnYl9jLCAxMjMsIGtTdHJpZGVCKiBrSGVpZ2h0
Qik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBtZW1zZXQoZHN0X2FyZ2Jf
b3B0LCAxMjMsIGtTdHJpZGVCKiBrSGVpZ2h0Qik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEZNVF9BIyNUbyMjRk1UX0IjI0RpdGhl
cihzcmNfYXJnYiwga1N0cmlkZUEsIGRzdF9hcmdiX2MsIGtTdHJpZGVCLCBOVUxMLCBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAga1dpZHRoLCBrSGVpZ2h0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5m
b18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEZNVF9B
IyNUbyMjRk1UX0IjI0RpdGhlcihzcmNfYXJnYiwga1N0cmlkZUEsIGRzdF9hcmdiX29wdCwga1N0
cmlkZUIsICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwga1dpZHRo
LCBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgaW50IG1heF9kaWZm
ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZUIgKiBrSGVpZ2h0QjsgKytp
KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGludCBhYnNfZGlmZiA9IGFi
cyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX2NbaV0pIC0gICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9vcHRb
aV0pKTsgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYp
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg
ICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICBFWFBFQ1RfTEUobWF4X2RpZmYsIERJRkYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgZnJlZV9hbGlnbmVkX2J1
ZmZlcl9wYWdlX2VuZChzcmNfYXJnYik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3Bh
Z2VfZW5kKGRzdF9hcmdiX29wdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEVYUEVDVF9M
RShtYXhfZGlmZiwgRElGRik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1
ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jfb3B0KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQorICB9CisKKyNkZWZpbmUgVEVTVEFU
T0JEKEZNVF9BLCBCUFBfQSwgU1RSSURFX0EsIEhFSUdIVF9BLCBGTVRfQiwgQlBQX0IsIFNUUklE
RV9CLCBcCisgICAgICAgICAgICAgICAgICBIRUlHSFRfQiwgRElGRikgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBURVNUQVRPQkRJKEZNVF9BLCBCUFBfQSwg
U1RSSURFX0EsIEhFSUdIVF9BLCBGTVRfQiwgQlBQX0IsIFNUUklERV9CLCAgICAgIFwKKyAgICAg
ICAgICAgICBIRUlHSFRfQiwgYmVuY2htYXJrX3dpZHRoXyAtIDQsIERJRkYsIF9BbnksICssIDAp
ICAgICAgICAgICAgICBcCisgIFRFU1RBVE9CREkoRk1UX0EsIEJQUF9BLCBTVFJJREVfQSwgSEVJ
R0hUX0EsIEZNVF9CLCBCUFBfQiwgU1RSSURFX0IsICAgICAgXAorICAgICAgICAgICAgIEhFSUdI
VF9CLCBiZW5jaG1hcmtfd2lkdGhfLCBESUZGLCBfVW5hbGlnbmVkLCArLCAxKSAgICAgICAgICAg
IFwKKyAgVEVTVEFUT0JESShGTVRfQSwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwgRk1UX0Is
IEJQUF9CLCBTVFJJREVfQiwgICAgICBcCisgICAgICAgICAgICAgSEVJR0hUX0IsIGJlbmNobWFy
a193aWR0aF8sIERJRkYsIF9JbnZlcnQsIC0sIDApICAgICAgICAgICAgICAgXAorICBURVNUQVRP
QkRJKEZNVF9BLCBCUFBfQSwgU1RSSURFX0EsIEhFSUdIVF9BLCBGTVRfQiwgQlBQX0IsIFNUUklE
RV9CLCAgICAgIFwKKyAgICAgICAgICAgICBIRUlHSFRfQiwgYmVuY2htYXJrX3dpZHRoXywgRElG
RiwgX09wdCwgKywgMCkgICAgICAgICAgICAgICAgICBcCisgIFRFU1RBVE9CRFJBTkRPTShGTVRf
QSwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwgRk1UX0IsIEJQUF9CLCBTVFJJREVfQiwgXAor
ICAgICAgICAgICAgICAgICAgSEVJR0hUX0IsIERJRkYpCisKK1RFU1RBVE9CRChBUkdCLCA0LCA0
LCAxLCBSR0I1NjUsIDIsIDIsIDEsIDApCiAKLSNkZWZpbmUgVEVTVEFUT0JEUkFORE9NKEZNVF9B
LCBCUFBfQSwgU1RSSURFX0EsIEhFSUdIVF9BLCAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgIEZNVF9CLCBCUFBfQiwgU1RSSURFX0IsIEhFSUdIVF9CLCBESUZG
KSAgICAgICAgICAgICAgICAgXAotVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBGTVRfQSMjVG8j
I0ZNVF9CIyNEaXRoZXJfUmFuZG9tKSB7ICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQg
dGltZXMgPSAwOyB0aW1lcyA8IGJlbmNobWFya19pdGVyYXRpb25zXzsgKyt0aW1lcykgeyAgICAg
ICAgICAgICAgICBcCi0gICAgY29uc3QgaW50IGtXaWR0aCA9IChmYXN0cmFuZCgpICYgNjMpICsg
MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGNvbnN0IGludCBrSGVp
Z2h0ID0gKGZhc3RyYW5kKCkgJiAzMSkgKyAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyNkZWZpbmUgVEVTVFNZTUkoRk1UX0FUT0IsIEJQUF9BLCBTVFJJREVfQSwgSEVJR0hU
X0EsIFcxMjgwLCBOLCBORUcsIE9GRikgICAgICBcCisgIFRFU1RfRihMaWJZVVZDb252ZXJ0VGVz
dCwgRk1UX0FUT0IjI19TeW1ldHJpYyMjTikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGNvbnN0IGludCBrV2lkdGggPSAoKFcxMjgwKSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga0hlaWdodCA9IGJlbmNobWFy
a19oZWlnaHRfOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY29u
c3QgaW50IGtIZWlnaHRBID0gKGtIZWlnaHQgKyBIRUlHSFRfQSAtIDEpIC8gSEVJR0hUX0EgKiBI
RUlHSFRfQTsgICAgICAgXAotICAgIGNvbnN0IGludCBrSGVpZ2h0QiA9IChrSGVpZ2h0ICsgSEVJ
R0hUX0IgLSAxKSAvIEhFSUdIVF9CICogSEVJR0hUX0I7ICAgICAgIFwKLSAgICBjb25zdCBpbnQg
a1N0cmlkZUEgPSAoa1dpZHRoICogQlBQX0EgKyBTVFJJREVfQSAtIDEpIC8gU1RSSURFX0EgKiBT
VFJJREVfQTtcCi0gICAgY29uc3QgaW50IGtTdHJpZGVCID0gKGtXaWR0aCAqIEJQUF9CICsgU1RS
SURFX0IgLSAxKSAvIFNUUklERV9CICogU1RSSURFX0I7XAotICAgIGFsaWduX2J1ZmZlcl9wYWdl
X2VuZChzcmNfYXJnYiwga1N0cmlkZUEgKiBrSGVpZ2h0QSk7ICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYywga1N0cmlkZUIgKiBrSGVp
Z2h0Qik7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRz
dF9hcmdiX29wdCwga1N0cmlkZUIgKiBrSGVpZ2h0Qik7ICAgICAgICAgICAgICAgICAgXAorICAg
IGNvbnN0IGludCBrU3RyaWRlQSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKGtXaWR0aCAqIEJQUF9BICsgU1RSSURFX0Eg
LSAxKSAvIFNUUklERV9BICogU1RSSURFX0E7ICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25f
YnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiLCBrU3RyaWRlQSoga0hlaWdodEEgKyBPRkYpOyAgICAg
ICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9jLCBrU3Ry
aWRlQSoga0hlaWdodEEpOyAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJf
cGFnZV9lbmQoZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlQSoga0hlaWdodEEpOyAgICAgICAgICAgICAg
ICAgICBcCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlQSAqIGtIZWlnaHRBOyArK2kp
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgc3JjX2FyZ2JbaV0gPSAoZmFz
dHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgIHNyY19hcmdiW2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIG1l
bXNldChkc3RfYXJnYl9jLCAxMjMsIGtTdHJpZGVCICoga0hlaWdodEIpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBtZW1zZXQoZHN0X2FyZ2Jfb3B0LCAxMjMsIGtTdHJpZGVC
ICoga0hlaWdodEIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgbWVtc2V0KGRz
dF9hcmdiX2MsIDEsIGtTdHJpZGVBKiBrSGVpZ2h0QSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIG1lbXNldChkc3RfYXJnYl9vcHQsIDEwMSwga1N0cmlkZUEqIGtIZWln
aHRBKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBNYXNrQ3B1RmxhZ3MoZGlz
YWJsZV9jcHVfZmxhZ3NfKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgRk1UX0EjI1RvIyNGTVRfQiMjRGl0aGVyKHNyY19hcmdiLCBrU3RyaWRlQSwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkc3RfYXJnYl9jLCBrU3RyaWRlQiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwga1dpZHRoLCBrSGVpZ2h0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgRk1UX0FUT0Ioc3JjX2FyZ2IgKyBPRkYsIGtTdHJp
ZGVBLCBkc3RfYXJnYl9jLCBrU3RyaWRlQSwga1dpZHRoLCAgICAgICAgICAgXAorICAgICAgICAg
ICAgIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRk1UX0EjI1RvIyNG
TVRfQiMjRGl0aGVyKHNyY19hcmdiLCBrU3RyaWRlQSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfYXJnYl9vcHQsIGtTdHJp
ZGVCLCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCwga1dpZHRoLCBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgaW50IG1heF9kaWZmID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlk
ZUIgKiBrSGVpZ2h0QjsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
IGludCBhYnNfZGlmZiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2Fy
Z2JfY1tpXSkgLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX29wdFtpXSkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIG1heF9kaWZmID0g
YWJzX2RpZmY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGJl
bmNobWFya19pdGVyYXRpb25zXzsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICBGTVRfQVRPQihzcmNfYXJnYiArIE9GRiwga1N0cmlkZUEsIGRzdF9hcmdiX29wdCwga1N0
cmlkZUEsIGtXaWR0aCwgICAgICAgXAorICAgICAgICAgICAgICAgTkVHIGtIZWlnaHQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEZNVF9BVE9CKGRz
dF9hcmdiX2MsIGtTdHJpZGVBLCBkc3RfYXJnYl9jLCBrU3RyaWRlQSwga1dpZHRoLCBORUcga0hl
aWdodCk7IFwKKyAgICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRk1UX0FUT0IoZHN0X2FyZ2Jf
b3B0LCBrU3RyaWRlQSwgZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlQSwga1dpZHRoLCAgICAgICAgICAg
XAorICAgICAgICAgICAgIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtTdHJp
ZGVBICoga0hlaWdodEE7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICBFWFBFQ1RfRVEoc3JjX2FyZ2JbaSArIE9GRl0sIGRzdF9hcmdiX29wdFtpXSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgRVhQRUNUX0VRKGRzdF9hcmdiX2NbaV0sIGRzdF9h
cmdiX29wdFtpXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgRVhQRUNUX0xFKG1heF9kaWZmLCBESUZGKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGZyZWVfYWxpZ25lZF9i
dWZmZXJfcGFnZV9lbmQoc3JjX2FyZ2IpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9w
YWdlX2VuZChkc3RfYXJnYl9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLX0KLQotI2RlZmluZSBURVNUQVRPQkQoRk1UX0EsIEJQ
UF9BLCBTVFJJREVfQSwgSEVJR0hUX0EsICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgIEZNVF9CLCBCUFBfQiwgU1RSSURFX0IsIEhFSUdIVF9CLCBESUZGKSAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVEFUT0JESShGTVRfQSwgQlBQX0EsIFNUUklE
RV9BLCBIRUlHSFRfQSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgRk1UX0IsIEJQUF9CLCBTVFJJREVfQiwgSEVJR0hUX0IsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8gLSA0LCBESUZG
LCBfQW55LCArLCAwKSAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVEFUT0JESShG
TVRfQSwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgRk1UX0IsIEJQUF9CLCBTVFJJREVfQiwgSEVJR0hUX0Is
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgIGJlbmNobWFy
a193aWR0aF8sIERJRkYsIF9VbmFsaWduZWQsICssIDEpICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgVEVTVEFUT0JESShGTVRfQSwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgRk1UX0IsIEJQUF9CLCBT
VFJJREVfQiwgSEVJR0hUX0IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIERJRkYsIF9JbnZlcnQsIC0sIDApICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVEFUT0JESShGTVRfQSwgQlBQX0EsIFNUUklERV9B
LCBIRUlHSFRfQSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgRk1UX0IsIEJQUF9CLCBTVFJJREVfQiwgSEVJR0hUX0IsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIERJRkYsIF9PcHQs
ICssIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVEFUT0JEUkFORE9N
KEZNVF9BLCBCUFBfQSwgU1RSSURFX0EsIEhFSUdIVF9BLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICBGTVRfQiwgQlBQX0IsIFNUUklERV9CLCBIRUlHSFRf
QiwgRElGRikKLQotVEVTVEFUT0JEKEFSR0IsIDQsIDQsIDEsIFJHQjU2NSwgMiwgMiwgMSwgMCkK
LQotI2RlZmluZSBURVNUU1lNSShGTVRfQVRPQiwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgVzEyODAsIE4sIE5F
RywgT0ZGKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi1URVNU
X0YoTGliWVVWQ29udmVydFRlc3QsIEZNVF9BVE9CIyNfU3ltZXRyaWMjI04pIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga1dpZHRoID0gKChXMTI4MCkgPiAwKSA/
IChXMTI4MCkgOiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50
IGtIZWlnaHQgPSBiZW5jaG1hcmtfaGVpZ2h0XzsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrSGVpZ2h0QSA9IChrSGVpZ2h0ICsgSEVJR0hUX0Eg
LSAxKSAvIEhFSUdIVF9BICogSEVJR0hUX0E7ICAgICAgICAgXAotICBjb25zdCBpbnQga1N0cmlk
ZUEgPSAoa1dpZHRoICogQlBQX0EgKyBTVFJJREVfQSAtIDEpIC8gU1RSSURFX0EgKiBTVFJJREVf
QTsgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiLCBrU3RyaWRlQSAqIGtIZWln
aHRBICsgT0ZGKTsgICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChk
c3RfYXJnYl9jLCBrU3RyaWRlQSAqIGtIZWlnaHRBKTsgICAgICAgICAgICAgICAgICAgICAgXAot
ICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlQSAqIGtIZWlnaHRB
KTsgICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlQSAq
IGtIZWlnaHRBOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3Jj
X2FyZ2JbaSArIE9GRl0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF9h
cmdiX2MsIDEsIGtTdHJpZGVBICoga0hlaWdodEEpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIG1lbXNldChkc3RfYXJnYl9vcHQsIDEwMSwga1N0cmlkZUEgKiBrSGVpZ2h0
QSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBNYXNrQ3B1RmxhZ3MoZGlzYWJs
ZV9jcHVfZmxhZ3NfKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgRk1UX0FUT0Ioc3JjX2FyZ2IgKyBPRkYsIGtTdHJpZGVBLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgIGRzdF9hcmdiX2MsIGtTdHJp
ZGVBLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICBrV2lkdGgsIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50
IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIEZNVF9BVE9CKHNyY19hcmdiICsgT0ZGLCBrU3RyaWRlQSwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICBkc3Rf
YXJnYl9vcHQsIGtTdHJpZGVBLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAga1dpZHRoLCBORUcga0hlaWdodCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEZNVF9BVE9CKGRzdF9hcmdiX2MsIGtTdHJpZGVB
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICBkc3RfYXJnYl9jLCBrU3RyaWRlQSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAga1dpZHRoLCBORUcga0hlaWdodCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFn
cyhiZW5jaG1hcmtfY3B1X2luZm9fKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBGTVRfQVRPQihkc3RfYXJnYl9vcHQsIGtTdHJpZGVBLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgZHN0X2FyZ2Jf
b3B0LCBrU3RyaWRlQSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgIGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IGtTdHJp
ZGVBICoga0hlaWdodEE7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBFWFBFQ1RfRVEoc3JjX2FyZ2JbaSArIE9GRl0sIGRzdF9hcmdiX29wdFtpXSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0VRKGRzdF9hcmdiX2NbaV0sIGRzdF9h
cmdiX29wdFtpXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfYXJnYik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9i
dWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0KKyAgfQogCiAjZGVmaW5lIFRFU1RT
WU0oRk1UX0FUT0IsIEJQUF9BLCBTVFJJREVfQSwgSEVJR0hUX0EpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIFRFU1RTWU1JKEZNVF9BVE9CLCBCUFBfQSwgU1RSSURFX0EsIEhFSUdI
VF9BLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICBiZW5jaG1h
cmtfd2lkdGhfIC0gNCwgX0FueSwgKywgMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgVEVTVFNZTUkoRk1UX0FUT0IsIEJQUF9BLCBTVFJJREVfQSwgSEVJR0hUX0EsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgIGJlbmNobWFya193aWR0
aF8sIF9VbmFsaWduZWQsICssIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBURVNUU1lNSShGTVRfQVRPQiwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgX09w
dCwgKywgMCkKKyAgVEVTVFNZTUkoRk1UX0FUT0IsIEJQUF9BLCBTVFJJREVfQSwgSEVJR0hUX0Es
IGJlbmNobWFya193aWR0aF8gLSA0LCBfQW55LCArLCBcCisgICAgICAgICAgIDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICBURVNUU1lNSShGTVRfQVRPQiwgQlBQX0EsIFNUUklERV9BLCBIRUlHSFRfQSwgYmVuY2ht
YXJrX3dpZHRoXywgX1VuYWxpZ25lZCwgIFwKKyAgICAgICAgICAgKywgMSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFRF
U1RTWU1JKEZNVF9BVE9CLCBCUFBfQSwgU1RSSURFX0EsIEhFSUdIVF9BLCBiZW5jaG1hcmtfd2lk
dGhfLCBfT3B0LCArLCAwKQogCiBURVNUU1lNKEFSR0JUb0FSR0IsIDQsIDQsIDEpCiBURVNUU1lN
KEFSR0JUb0JHUkEsIDQsIDQsIDEpCkBAIC0xMzc5LDggKzEyNTUsOSBAQCBURVNUX0YoTGliWVVW
Q29udmVydFRlc3QsIFRlc3Q1NjUpIHsKIFRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgVmFsaWRh
dGVKcGVnKSB7CiAgIGNvbnN0IGludCBrT2ZmID0gMTA7CiAgIGNvbnN0IGludCBrTWluSnBlZyA9
IDY0OwotICBjb25zdCBpbnQga0ltYWdlU2l6ZSA9IGJlbmNobWFya193aWR0aF8gKiBiZW5jaG1h
cmtfaGVpZ2h0XyA+PSBrTWluSnBlZyA/Ci0gICAgYmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFy
a19oZWlnaHRfIDoga01pbkpwZWc7CisgIGNvbnN0IGludCBrSW1hZ2VTaXplID0gYmVuY2htYXJr
X3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfID49IGtNaW5KcGVnCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID8gYmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDoga01pbkpwZWc7CiAgIGNvbnN0IGludCBrU2l6ZSA9
IGtJbWFnZVNpemUgKyBrT2ZmOwogICBhbGlnbl9idWZmZXJfcGFnZV9lbmQob3JpZ19waXhlbHMs
IGtTaXplKTsKIApAQCAtMTQwNiw4ICsxMjgzLDkgQEAgVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0
LCBWYWxpZGF0ZUpwZWcpIHsKIFRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgVmFsaWRhdGVKcGVn
TGFyZ2UpIHsKICAgY29uc3QgaW50IGtPZmYgPSAxMDsKICAgY29uc3QgaW50IGtNaW5KcGVnID0g
NjQ7Ci0gIGNvbnN0IGludCBrSW1hZ2VTaXplID0gYmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFy
a19oZWlnaHRfID49IGtNaW5KcGVnID8KLSAgICBiZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJr
X2hlaWdodF8gOiBrTWluSnBlZzsKKyAgY29uc3QgaW50IGtJbWFnZVNpemUgPSBiZW5jaG1hcmtf
d2lkdGhfICogYmVuY2htYXJrX2hlaWdodF8gPj0ga01pbkpwZWcKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPyBiZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJrX2hlaWdodF8KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOiBrTWluSnBlZzsKICAgY29uc3QgaW50IGtTaXplID0g
a0ltYWdlU2l6ZSArIGtPZmY7CiAgIGNvbnN0IGludCBrTXVsdGlwbGUgPSAxMDsKICAgY29uc3Qg
aW50IGtCdWZTaXplID0ga0ltYWdlU2l6ZSAqIGtNdWx0aXBsZSArIGtPZmY7CkBAIC0xNDMxLDgg
KzEzMDksOSBAQCBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIFZhbGlkYXRlSnBlZ0xhcmdlKSB7
CiBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEludmFsaWRhdGVKcGVnKSB7CiAgIGNvbnN0IGlu
dCBrT2ZmID0gMTA7CiAgIGNvbnN0IGludCBrTWluSnBlZyA9IDY0OwotICBjb25zdCBpbnQga0lt
YWdlU2l6ZSA9IGJlbmNobWFya193aWR0aF8gKiBiZW5jaG1hcmtfaGVpZ2h0XyA+PSBrTWluSnBl
ZyA/Ci0gICAgYmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfIDoga01pbkpwZWc7
CisgIGNvbnN0IGludCBrSW1hZ2VTaXplID0gYmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFya19o
ZWlnaHRfID49IGtNaW5KcGVnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gYmVuY2ht
YXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDoga01pbkpwZWc7CiAgIGNvbnN0IGludCBrU2l6ZSA9IGtJbWFnZVNpemUgKyBrT2ZmOwog
ICBhbGlnbl9idWZmZXJfcGFnZV9lbmQob3JpZ19waXhlbHMsIGtTaXplKTsKIApAQCAtMTQ4NSwx
NyArMTM2NCwxNiBAQCBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZ1enpKcGVnKSB7CiBURVNU
X0YoTGliWVVWQ29udmVydFRlc3QsIE1KUEdUb0k0MjApIHsKICAgY29uc3QgaW50IGtPZmYgPSAx
MDsKICAgY29uc3QgaW50IGtNaW5KcGVnID0gNjQ7Ci0gIGNvbnN0IGludCBrSW1hZ2VTaXplID0g
YmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfID49IGtNaW5KcGVnID8KLSAgICBi
ZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJrX2hlaWdodF8gOiBrTWluSnBlZzsKKyAgY29uc3Qg
aW50IGtJbWFnZVNpemUgPSBiZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJrX2hlaWdodF8gPj0g
a01pbkpwZWcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBiZW5jaG1hcmtfd2lkdGhf
ICogYmVuY2htYXJrX2hlaWdodF8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBrTWlu
SnBlZzsKICAgY29uc3QgaW50IGtTaXplID0ga0ltYWdlU2l6ZSArIGtPZmY7CiAgIGFsaWduX2J1
ZmZlcl9wYWdlX2VuZChvcmlnX3BpeGVscywga1NpemUpOwogICBhbGlnbl9idWZmZXJfcGFnZV9l
bmQoZHN0X3lfb3B0LCBiZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJrX2hlaWdodF8pOwotICBh
bGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3Vfb3B0LAotICAgICAgICAgICAgICAgICAgICAgICAg
U1VCU0FNUExFKGJlbmNobWFya193aWR0aF8sIDIpICoKLSAgICAgICAgICAgICAgICAgICAgICAg
IFNVQlNBTVBMRShiZW5jaG1hcmtfaGVpZ2h0XywgMikpOwotICBhbGlnbl9idWZmZXJfcGFnZV9l
bmQoZHN0X3Zfb3B0LAotICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGJlbmNobWFy
a193aWR0aF8sIDIpICoKLSAgICAgICAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShiZW5jaG1h
cmtfaGVpZ2h0XywgMikpOworICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3Vfb3B0LCBTVUJT
QU1QTEUoYmVuY2htYXJrX3dpZHRoXywgMikgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgU1VCU0FNUExFKGJlbmNobWFya19oZWlnaHRfLCAyKSk7CisgIGFsaWduX2J1
ZmZlcl9wYWdlX2VuZChkc3Rfdl9vcHQsIFNVQlNBTVBMRShiZW5jaG1hcmtfd2lkdGhfLCAyKSAq
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoYmVuY2ht
YXJrX2hlaWdodF8sIDIpKTsKIAogICAvLyBFT0ksIFNPSSB0byBtYWtlIE1KUEcgYXBwZWFyIHZh
bGlkLgogICBtZW1zZXQob3JpZ19waXhlbHMsIDAsIGtTaXplKTsKQEAgLTE1MDUsMTIgKzEzODMs
MTEgQEAgVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBNSlBHVG9JNDIwKSB7CiAgIG9yaWdfcGl4
ZWxzW2tTaXplIC0ga09mZiArIDFdID0gMHhkOTsgIC8vIEVPSS4KIAogICBmb3IgKGludCB0aW1l
cyA9IDA7IHRpbWVzIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK3RpbWVzKSB7Ci0gICAgaW50
IHJldCA9IE1KUEdUb0k0MjAob3JpZ19waXhlbHMsIGtTaXplLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIGRzdF95X29wdCwgYmVuY2htYXJrX3dpZHRoXywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBkc3RfdV9vcHQsIFNVQlNBTVBMRShiZW5jaG1hcmtfd2lkdGhfLCAyKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICBkc3Rfdl9vcHQsIFNVQlNBTVBMRShiZW5jaG1hcmtfd2lkdGhfLCAy
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtf
aGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5j
aG1hcmtfaGVpZ2h0Xyk7CisgICAgaW50IHJldCA9CisgICAgICAgIE1KUEdUb0k0MjAob3JpZ19w
aXhlbHMsIGtTaXplLCBkc3RfeV9vcHQsIGJlbmNobWFya193aWR0aF8sIGRzdF91X29wdCwKKyAg
ICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoYmVuY2htYXJrX3dpZHRoXywgMiksIGRzdF92X29w
dCwKKyAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoYmVuY2htYXJrX3dpZHRoXywgMiksIGJl
bmNobWFya193aWR0aF8sCisgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8sIGJl
bmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfKTsKICAgICAvLyBFeHBlY3QgZmFpbHVy
ZSBiZWNhdXNlIGltYWdlIGlzIG5vdCByZWFsbHkgdmFsaWQuCiAgICAgRVhQRUNUX0VRKDEsIHJl
dCk7CiAgIH0KQEAgLTE1MjQsOCArMTQwMSw5IEBAIFRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwg
TUpQR1RvSTQyMCkgewogVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBNSlBHVG9BUkdCKSB7CiAg
IGNvbnN0IGludCBrT2ZmID0gMTA7CiAgIGNvbnN0IGludCBrTWluSnBlZyA9IDY0OwotICBjb25z
dCBpbnQga0ltYWdlU2l6ZSA9IGJlbmNobWFya193aWR0aF8gKiBiZW5jaG1hcmtfaGVpZ2h0XyA+
PSBrTWluSnBlZyA/Ci0gICAgYmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfIDog
a01pbkpwZWc7CisgIGNvbnN0IGludCBrSW1hZ2VTaXplID0gYmVuY2htYXJrX3dpZHRoXyAqIGJl
bmNobWFya19oZWlnaHRfID49IGtNaW5KcGVnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID8gYmVuY2htYXJrX3dpZHRoXyAqIGJlbmNobWFya19oZWlnaHRfCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDoga01pbkpwZWc7CiAgIGNvbnN0IGludCBrU2l6ZSA9IGtJbWFnZVNpemUg
KyBrT2ZmOwogICBhbGlnbl9idWZmZXJfcGFnZV9lbmQob3JpZ19waXhlbHMsIGtTaXplKTsKICAg
YWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCwgYmVuY2htYXJrX3dpZHRoXyAqIGJl
bmNobWFya19oZWlnaHRfICogNCk7CkBAIC0xNTM4LDEwICsxNDE2LDkgQEAgVEVTVF9GKExpYllV
VkNvbnZlcnRUZXN0LCBNSlBHVG9BUkdCKSB7CiAgIG9yaWdfcGl4ZWxzW2tTaXplIC0ga09mZiAr
IDFdID0gMHhkOTsgIC8vIEVPSS4KIAogICBmb3IgKGludCB0aW1lcyA9IDA7IHRpbWVzIDwgYmVu
Y2htYXJrX2l0ZXJhdGlvbnNfOyArK3RpbWVzKSB7Ci0gICAgaW50IHJldCA9IE1KUEdUb0FSR0Io
b3JpZ19waXhlbHMsIGtTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX29w
dCwgYmVuY2htYXJrX3dpZHRoXyAqIDQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2ht
YXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
YmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOworICAgIGludCByZXQgPSBNSlBH
VG9BUkdCKG9yaWdfcGl4ZWxzLCBrU2l6ZSwgZHN0X2FyZ2Jfb3B0LCBiZW5jaG1hcmtfd2lkdGhf
ICogNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1h
cmtfaGVpZ2h0XywgYmVuY2htYXJrX3dpZHRoXywKKyAgICAgICAgICAgICAgICAgICAgICAgICBi
ZW5jaG1hcmtfaGVpZ2h0Xyk7CiAgICAgLy8gRXhwZWN0IGZhaWx1cmUgYmVjYXVzZSBpbWFnZSBp
cyBub3QgcmVhbGx5IHZhbGlkLgogICAgIEVYUEVDVF9FUSgxLCByZXQpOwogICB9CkBAIC0xNTU4
LDY2ICsxNDM1LDUzIEBAIFRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgTlYxMkNyb3ApIHsKICAg
Y29uc3QgaW50IGtXaWR0aCA9IGJlbmNobWFya193aWR0aF87CiAgIGNvbnN0IGludCBrSGVpZ2h0
ID0gYmVuY2htYXJrX2hlaWdodF87CiAgIGNvbnN0IGludCBjcm9wX3kgPQotICAgICgoYmVuY2ht
YXJrX2hlaWdodF8gLSAoYmVuY2htYXJrX2hlaWdodF8gKiAzNjAgLyA0ODApKSAvIDIgKyAxKSAm
IH4xOworICAgICAgKChiZW5jaG1hcmtfaGVpZ2h0XyAtIChiZW5jaG1hcmtfaGVpZ2h0XyAqIDM2
MCAvIDQ4MCkpIC8gMiArIDEpICYgfjE7CiAgIGNvbnN0IGludCBrRGVzdFdpZHRoID0gYmVuY2ht
YXJrX3dpZHRoXzsKICAgY29uc3QgaW50IGtEZXN0SGVpZ2h0ID0gYmVuY2htYXJrX2hlaWdodF8g
LSBjcm9wX3kgKiAyOwogICBjb25zdCBpbnQga1N0cmlkZVVWID0gU1VCU0FNUExFKGtXaWR0aCwg
U1VCU0FNUF9YKTsKLSAgY29uc3QgaW50IHNhbXBsZV9zaXplID0ga1dpZHRoICoga0hlaWdodCAr
Ci0gICAga1N0cmlkZVVWICoKLSAgICBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKSAqIDI7
CisgIGNvbnN0IGludCBzYW1wbGVfc2l6ZSA9CisgICAgICBrV2lkdGggKiBrSGVpZ2h0ICsga1N0
cmlkZVVWICogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSkgKiAyOwogICBhbGlnbl9idWZm
ZXJfcGFnZV9lbmQoc3JjX3ksIHNhbXBsZV9zaXplKTsKICAgdWludDgqIHNyY191diA9IHNyY195
ICsga1dpZHRoICoga0hlaWdodDsKIAogICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3ksIGtE
ZXN0V2lkdGggKiBrRGVzdEhlaWdodCk7Ci0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdSwK
LSAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrRGVzdFdpZHRoLCBTVUJTQU1QX1gpICoKLSAg
ICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrRGVzdEhlaWdodCwgU1VCU0FNUF9ZKSk7Ci0gIGFs
aWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdiwKLSAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShr
RGVzdFdpZHRoLCBTVUJTQU1QX1gpICoKLSAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrRGVz
dEhlaWdodCwgU1VCU0FNUF9ZKSk7CisgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdSwgU1VC
U0FNUExFKGtEZXN0V2lkdGgsIFNVQlNBTVBfWCkgKgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTVUJTQU1QTEUoa0Rlc3RIZWlnaHQsIFNVQlNBTVBfWSkpOworICBhbGlnbl9i
dWZmZXJfcGFnZV9lbmQoZHN0X3YsIFNVQlNBTVBMRShrRGVzdFdpZHRoLCBTVUJTQU1QX1gpICoK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtEZXN0SGVpZ2h0
LCBTVUJTQU1QX1kpKTsKIAogICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3lfMiwga0Rlc3RX
aWR0aCAqIGtEZXN0SGVpZ2h0KTsKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91XzIsCi0g
ICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0Rlc3RXaWR0aCwgU1VCU0FNUF9YKSAqCi0gICAg
ICAgICAgICAgICAgICBTVUJTQU1QTEUoa0Rlc3RIZWlnaHQsIFNVQlNBTVBfWSkpOwotICBhbGln
bl9idWZmZXJfcGFnZV9lbmQoZHN0X3ZfMiwKLSAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShr
RGVzdFdpZHRoLCBTVUJTQU1QX1gpICoKLSAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrRGVz
dEhlaWdodCwgU1VCU0FNUF9ZKSk7CisgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV8yLCBT
VUJTQU1QTEUoa0Rlc3RXaWR0aCwgU1VCU0FNUF9YKSAqCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU1VCU0FNUExFKGtEZXN0SGVpZ2h0LCBTVUJTQU1QX1kpKTsKKyAgYWxp
Z25fYnVmZmVyX3BhZ2VfZW5kKGRzdF92XzIsIFNVQlNBTVBMRShrRGVzdFdpZHRoLCBTVUJTQU1Q
X1gpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0Rl
c3RIZWlnaHQsIFNVQlNBTVBfWSkpOwogCiAgIGZvciAoaW50IGkgPSAwOyBpIDwga0hlaWdodCAq
IGtXaWR0aDsgKytpKSB7CiAgICAgc3JjX3lbaV0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOwogICB9
Ci0gIGZvciAoaW50IGkgPSAwOyBpIDwgKFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpICoK
LSAgICAgICBrU3RyaWRlVVYpICogMjsgKytpKSB7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgKFNV
QlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpICoga1N0cmlkZVVWKSAqIDI7ICsraSkgewogICAg
IHNyY191dltpXSA9IChmYXN0cmFuZCgpICYgMHhmZik7CiAgIH0KICAgbWVtc2V0KGRzdF95LCAx
LCBrRGVzdFdpZHRoICoga0Rlc3RIZWlnaHQpOwotICBtZW1zZXQoZHN0X3UsIDIsIFNVQlNBTVBM
RShrRGVzdFdpZHRoLCBTVUJTQU1QX1gpICoKLSAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUo
a0Rlc3RIZWlnaHQsIFNVQlNBTVBfWSkpOwotICBtZW1zZXQoZHN0X3YsIDMsIFNVQlNBTVBMRShr
RGVzdFdpZHRoLCBTVUJTQU1QX1gpICoKLSAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0Rl
c3RIZWlnaHQsIFNVQlNBTVBfWSkpOworICBtZW1zZXQoZHN0X3UsIDIsCisgICAgICAgICBTVUJT
QU1QTEUoa0Rlc3RXaWR0aCwgU1VCU0FNUF9YKSAqIFNVQlNBTVBMRShrRGVzdEhlaWdodCwgU1VC
U0FNUF9ZKSk7CisgIG1lbXNldChkc3RfdiwgMywKKyAgICAgICAgIFNVQlNBTVBMRShrRGVzdFdp
ZHRoLCBTVUJTQU1QX1gpICogU1VCU0FNUExFKGtEZXN0SGVpZ2h0LCBTVUJTQU1QX1kpKTsKICAg
bWVtc2V0KGRzdF95XzIsIDEsIGtEZXN0V2lkdGggKiBrRGVzdEhlaWdodCk7Ci0gIG1lbXNldChk
c3RfdV8yLCAyLCBTVUJTQU1QTEUoa0Rlc3RXaWR0aCwgU1VCU0FNUF9YKSAqCi0gICAgICAgICAg
ICAgICAgICAgICBTVUJTQU1QTEUoa0Rlc3RIZWlnaHQsIFNVQlNBTVBfWSkpOwotICBtZW1zZXQo
ZHN0X3ZfMiwgMywgU1VCU0FNUExFKGtEZXN0V2lkdGgsIFNVQlNBTVBfWCkgKgotICAgICAgICAg
ICAgICAgICAgICAgU1VCU0FNUExFKGtEZXN0SGVpZ2h0LCBTVUJTQU1QX1kpKTsKLQotICBDb252
ZXJ0VG9JNDIwKHNyY195LCBzYW1wbGVfc2l6ZSwKLSAgICAgICAgICAgICAgICBkc3RfeV8yLCBr
RGVzdFdpZHRoLAotICAgICAgICAgICAgICAgIGRzdF91XzIsIFNVQlNBTVBMRShrRGVzdFdpZHRo
LCBTVUJTQU1QX1gpLAotICAgICAgICAgICAgICAgIGRzdF92XzIsIFNVQlNBTVBMRShrRGVzdFdp
ZHRoLCBTVUJTQU1QX1gpLAotICAgICAgICAgICAgICAgIDAsIGNyb3BfeSwKLSAgICAgICAgICAg
ICAgICBrV2lkdGgsIGtIZWlnaHQsCi0gICAgICAgICAgICAgICAga0Rlc3RXaWR0aCwga0Rlc3RI
ZWlnaHQsCi0gICAgICAgICAgICAgICAgbGlieXV2OjprUm90YXRlMCwgbGlieXV2OjpGT1VSQ0Nf
TlYxMik7CisgIG1lbXNldChkc3RfdV8yLCAyLAorICAgICAgICAgU1VCU0FNUExFKGtEZXN0V2lk
dGgsIFNVQlNBTVBfWCkgKiBTVUJTQU1QTEUoa0Rlc3RIZWlnaHQsIFNVQlNBTVBfWSkpOworICBt
ZW1zZXQoZHN0X3ZfMiwgMywKKyAgICAgICAgIFNVQlNBTVBMRShrRGVzdFdpZHRoLCBTVUJTQU1Q
X1gpICogU1VCU0FNUExFKGtEZXN0SGVpZ2h0LCBTVUJTQU1QX1kpKTsKKworICBDb252ZXJ0VG9J
NDIwKHNyY195LCBzYW1wbGVfc2l6ZSwgZHN0X3lfMiwga0Rlc3RXaWR0aCwgZHN0X3VfMiwKKyAg
ICAgICAgICAgICAgICBTVUJTQU1QTEUoa0Rlc3RXaWR0aCwgU1VCU0FNUF9YKSwgZHN0X3ZfMiwK
KyAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa0Rlc3RXaWR0aCwgU1VCU0FNUF9YKSwgMCwgY3Jv
cF95LCBrV2lkdGgsIGtIZWlnaHQsCisgICAgICAgICAgICAgICAga0Rlc3RXaWR0aCwga0Rlc3RI
ZWlnaHQsIGxpYnl1djo6a1JvdGF0ZTAsIGxpYnl1djo6Rk9VUkNDX05WMTIpOwogCiAgIE5WMTJU
b0k0MjAoc3JjX3kgKyBjcm9wX3kgKiBrV2lkdGgsIGtXaWR0aCwKLSAgICAgICAgICAgICBzcmNf
dXYgKyAoY3JvcF95IC8gMikgKiBrU3RyaWRlVVYgKiAyLAotICAgICAgICAgICAgICAga1N0cmlk
ZVVWICogMiwKLSAgICAgICAgICAgICBkc3RfeSwga0Rlc3RXaWR0aCwKLSAgICAgICAgICAgICBk
c3RfdSwgU1VCU0FNUExFKGtEZXN0V2lkdGgsIFNVQlNBTVBfWCksCi0gICAgICAgICAgICAgZHN0
X3YsIFNVQlNBTVBMRShrRGVzdFdpZHRoLCBTVUJTQU1QX1gpLAotICAgICAgICAgICAgIGtEZXN0
V2lkdGgsIGtEZXN0SGVpZ2h0KTsKKyAgICAgICAgICAgICBzcmNfdXYgKyAoY3JvcF95IC8gMikg
KiBrU3RyaWRlVVYgKiAyLCBrU3RyaWRlVVYgKiAyLCBkc3RfeSwKKyAgICAgICAgICAgICBrRGVz
dFdpZHRoLCBkc3RfdSwgU1VCU0FNUExFKGtEZXN0V2lkdGgsIFNVQlNBTVBfWCksIGRzdF92LAor
ICAgICAgICAgICAgIFNVQlNBTVBMRShrRGVzdFdpZHRoLCBTVUJTQU1QX1gpLCBrRGVzdFdpZHRo
LCBrRGVzdEhlaWdodCk7CiAKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrRGVzdEhlaWdodDsgKytp
KSB7CiAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBrRGVzdFdpZHRoOyArK2opIHsKQEAgLTE2NTcs
MTAgKzE1MjEsNyBAQCBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIFRlc3RZVG9BUkdCKSB7CiAK
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCAzMjsgKytpKSB7CiAgICAgcHJpbnRmKCIlMmQgJWQ6ICVk
IDwtPiAlZCwlZCwlZCwlZFxuIiwgaSwgeVtpXSwgZXhwZWN0ZWRnW2ldLAotICAgICAgICAgICBh
cmdiW2kgKiA0ICsgMF0sCi0gICAgICAgICAgIGFyZ2JbaSAqIDQgKyAxXSwKLSAgICAgICAgICAg
YXJnYltpICogNCArIDJdLAotICAgICAgICAgICBhcmdiW2kgKiA0ICsgM10pOworICAgICAgICAg
ICBhcmdiW2kgKiA0ICsgMF0sIGFyZ2JbaSAqIDQgKyAxXSwgYXJnYltpICogNCArIDJdLCBhcmdi
W2kgKiA0ICsgM10pOwogICB9CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzI7ICsraSkgewogICAg
IEVYUEVDVF9FUShleHBlY3RlZGdbaV0sIGFyZ2JbaSAqIDQgKyAwXSk7CkBAIC0xNjY4LDEwICsx
NTI5LDcgQEAgVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBUZXN0WVRvQVJHQikgewogfQogCiBz
dGF0aWMgY29uc3QgdWludDgga05vRGl0aGVyNHg0WzE2XSA9IHsKLSAgMCwgMCwgMCwgMCwKLSAg
MCwgMCwgMCwgMCwKLSAgMCwgMCwgMCwgMCwKLSAgMCwgMCwgMCwgMCwKKyAgICAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAogfTsKIAogVEVTVF9GKExpYllV
VkNvbnZlcnRUZXN0LCBUZXN0Tm9EaXRoZXIpIHsKQEAgLTE2ODIsMTIgKzE1NDAsMTEgQEAgVEVT
VF9GKExpYllVVkNvbnZlcnRUZXN0LCBUZXN0Tm9EaXRoZXIpIHsKICAgTWVtUmFuZG9taXplKHNy
Y19hcmdiLCBiZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJrX2hlaWdodF8gKiA0KTsKICAgTWVt
UmFuZG9taXplKGRzdF9yZ2I1NjUsIGJlbmNobWFya193aWR0aF8gKiBiZW5jaG1hcmtfaGVpZ2h0
XyAqIDIpOwogICBNZW1SYW5kb21pemUoZHN0X3JnYjU2NWRpdGhlciwgYmVuY2htYXJrX3dpZHRo
XyAqIGJlbmNobWFya19oZWlnaHRfICogMik7Ci0gIEFSR0JUb1JHQjU2NShzcmNfYXJnYiwgYmVu
Y2htYXJrX3dpZHRoXyAqIDQsCi0gICAgICAgICAgICAgICBkc3RfcmdiNTY1LCBiZW5jaG1hcmtf
d2lkdGhfICogMiwKKyAgQVJHQlRvUkdCNTY1KHNyY19hcmdiLCBiZW5jaG1hcmtfd2lkdGhfICog
NCwgZHN0X3JnYjU2NSwgYmVuY2htYXJrX3dpZHRoXyAqIDIsCiAgICAgICAgICAgICAgICBiZW5j
aG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0Xyk7Ci0gIEFSR0JUb1JHQjU2NURpdGhlcihz
cmNfYXJnYiwgYmVuY2htYXJrX3dpZHRoXyAqIDQsCi0gICAgICAgICAgICAgICAgICAgICBkc3Rf
cmdiNTY1ZGl0aGVyLCBiZW5jaG1hcmtfd2lkdGhfICogMiwKLSAgICAgICAgICAgICAgICAgICAg
IGtOb0RpdGhlcjR4NCwgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOworICBB
UkdCVG9SR0I1NjVEaXRoZXIoc3JjX2FyZ2IsIGJlbmNobWFya193aWR0aF8gKiA0LCBkc3Rfcmdi
NTY1ZGl0aGVyLAorICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXyAqIDIsIGtO
b0RpdGhlcjR4NCwgYmVuY2htYXJrX3dpZHRoXywKKyAgICAgICAgICAgICAgICAgICAgIGJlbmNo
bWFya19oZWlnaHRfKTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfd2lkdGhfICog
YmVuY2htYXJrX2hlaWdodF8gKiAyOyArK2kpIHsKICAgICBFWFBFQ1RfRVEoZHN0X3JnYjU2NVtp
XSwgZHN0X3JnYjU2NWRpdGhlcltpXSk7CiAgIH0KQEAgLTE2OTksMTAgKzE1NTYsNyBAQCBURVNU
X0YoTGliWVVWQ29udmVydFRlc3QsIFRlc3ROb0RpdGhlcikgewogCiAvLyBPcmRlcmVkIDR4NCBk
aXRoZXIgZm9yIDg4OCB0byA1NjUuICBWYWx1ZXMgZnJvbSAwIHRvIDcuCiBzdGF0aWMgY29uc3Qg
dWludDgga0RpdGhlcjU2NV80eDRbMTZdID0gewotICAwLCA0LCAxLCA1LAotICA2LCAyLCA3LCAz
LAotICAxLCA1LCAwLCA0LAotICA3LCAzLCA2LCAyLAorICAgIDAsIDQsIDEsIDUsIDYsIDIsIDcs
IDMsIDEsIDUsIDAsIDQsIDcsIDMsIDYsIDIsCiB9OwogCiBURVNUX0YoTGliWVVWQ29udmVydFRl
c3QsIFRlc3REaXRoZXIpIHsKQEAgLTE3MTgsMTggKzE1NzIsMTUgQEAgVEVTVF9GKExpYllVVkNv
bnZlcnRUZXN0LCBUZXN0RGl0aGVyKSB7CiAgIE1lbVJhbmRvbWl6ZShkc3RfcmdiNTY1ZGl0aGVy
LCBiZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJrX2hlaWdodF8gKiAyKTsKICAgTWVtUmFuZG9t
aXplKGRzdF9hcmdiLCBiZW5jaG1hcmtfd2lkdGhfICogYmVuY2htYXJrX2hlaWdodF8gKiA0KTsK
ICAgTWVtUmFuZG9taXplKGRzdF9hcmdiZGl0aGVyLCBiZW5jaG1hcmtfd2lkdGhfICogYmVuY2ht
YXJrX2hlaWdodF8gKiA0KTsKLSAgQVJHQlRvUkdCNTY1KHNyY19hcmdiLCBiZW5jaG1hcmtfd2lk
dGhfICogNCwKLSAgICAgICAgICAgICAgIGRzdF9yZ2I1NjUsIGJlbmNobWFya193aWR0aF8gKiAy
LAorICBBUkdCVG9SR0I1NjUoc3JjX2FyZ2IsIGJlbmNobWFya193aWR0aF8gKiA0LCBkc3Rfcmdi
NTY1LCBiZW5jaG1hcmtfd2lkdGhfICogMiwKICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0
aF8sIGJlbmNobWFya19oZWlnaHRfKTsKLSAgQVJHQlRvUkdCNTY1RGl0aGVyKHNyY19hcmdiLCBi
ZW5jaG1hcmtfd2lkdGhfICogNCwKLSAgICAgICAgICAgICAgICAgICAgIGRzdF9yZ2I1NjVkaXRo
ZXIsIGJlbmNobWFya193aWR0aF8gKiAyLAotICAgICAgICAgICAgICAgICAgICAga0RpdGhlcjU2
NV80eDQsIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfKTsKLSAgUkdCNTY1VG9B
UkdCKGRzdF9yZ2I1NjUsIGJlbmNobWFya193aWR0aF8gKiAyLAotICAgICAgICAgICAgICAgZHN0
X2FyZ2IsIGJlbmNobWFya193aWR0aF8gKiA0LAotICAgICAgICAgICAgICAgYmVuY2htYXJrX3dp
ZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOwotICBSR0I1NjVUb0FSR0IoZHN0X3JnYjU2NWRpdGhl
ciwgYmVuY2htYXJrX3dpZHRoXyAqIDIsCi0gICAgICAgICAgICAgICBkc3RfYXJnYmRpdGhlciwg
YmVuY2htYXJrX3dpZHRoXyAqIDQsCisgIEFSR0JUb1JHQjU2NURpdGhlcihzcmNfYXJnYiwgYmVu
Y2htYXJrX3dpZHRoXyAqIDQsIGRzdF9yZ2I1NjVkaXRoZXIsCisgICAgICAgICAgICAgICAgICAg
ICBiZW5jaG1hcmtfd2lkdGhfICogMiwga0RpdGhlcjU2NV80eDQsIGJlbmNobWFya193aWR0aF8s
CisgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0Xyk7CisgIFJHQjU2NVRvQVJH
Qihkc3RfcmdiNTY1LCBiZW5jaG1hcmtfd2lkdGhfICogMiwgZHN0X2FyZ2IsIGJlbmNobWFya193
aWR0aF8gKiA0LAogICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hl
aWdodF8pOworICBSR0I1NjVUb0FSR0IoZHN0X3JnYjU2NWRpdGhlciwgYmVuY2htYXJrX3dpZHRo
XyAqIDIsIGRzdF9hcmdiZGl0aGVyLAorICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXyAq
IDQsIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfKTsKIAogICBmb3IgKGludCBp
ID0gMDsgaSA8IGJlbmNobWFya193aWR0aF8gKiBiZW5jaG1hcmtfaGVpZ2h0XyAqIDQ7ICsraSkg
ewogICAgIEVYUEVDVF9ORUFSKGRzdF9hcmdiW2ldLCBkc3RfYXJnYmRpdGhlcltpXSwgOSk7CkBA
IC0xNzQyLDIxOCArMTU5MywxOTcgQEAgVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBUZXN0RGl0
aGVyKSB7CiB9CiAKICNkZWZpbmUgVEVTVFBMQU5BUlRPQklEKEZNVF9QTEFOQVIsIFNVQlNBTVBf
WCwgU1VCU0FNUF9ZLCBGTVRfQiwgQlBQX0IsIEFMSUdOLCBcCi0gICAgICAgICAgICAgICAgICAg
ICAgIFlBTElHTiwgVzEyODAsIERJRkYsIE4sIE5FRywgT0ZGLCBGTVRfQywgQlBQX0MpICAgICAg
ICAgXAotVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBGTVRfUExBTkFSIyNUbyMjRk1UX0IjI0Rp
dGhlciMjTikgeyAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtXaWR0aCA9ICgoVzEy
ODApID4gMCkgPyAoVzEyODApIDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGNvbnN0IGludCBrSGVpZ2h0ID0gQUxJR05JTlQoYmVuY2htYXJrX2hlaWdodF8sIFlBTElHTik7
ICAgICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga1N0cmlkZUIgPSBBTElHTklOVChr
V2lkdGggKiBCUFBfQiwgQUxJR04pOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3Qg
aW50IGtTdHJpZGVVViA9IFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrU2l6ZVVWID0ga1N0cmlkZVVWICogU1VCU0FN
UExFKGtIZWlnaHQsIFNVQlNBTVBfWSk7ICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJf
cGFnZV9lbmQoc3JjX3ksIGtXaWR0aCAqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY191LCBrU2l6ZVVWICsgT0ZGKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfdiwga1NpemVVViArIE9GRik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYywga1N0cmlkZUIgKiBrSGVpZ2h0
ICsgT0ZGKTsgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9h
cmdiX29wdCwga1N0cmlkZUIgKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICBcCi0gIGZv
ciAoaW50IGkgPSAwOyBpIDwga1dpZHRoICoga0hlaWdodDsgKytpKSB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIHNyY195W2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAw
eGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga1NpemVVVjsgKytpKSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHNyY191W2kgKyBPRkZd
ID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICBzcmNfdltpICsgT0ZGXSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBtZW1zZXQoZHN0X2FyZ2JfYyArIE9GRiwgMSwga1N0cmlkZUIgKiBrSGVpZ2h0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbWVtc2V0KGRzdF9hcmdiX29wdCArIE9GRiwgMTAx
LCBrU3RyaWRlQiAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIE1hc2tD
cHVGbGFncyhkaXNhYmxlX2NwdV9mbGFnc18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBGTVRfUExBTkFSIyNUbyMjRk1UX0IjI0RpdGhlcihzcmNfeSAr
IE9GRiwga1dpZHRoLCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHNyY191ICsgT0ZGLCBrU3RyaWRlVVYsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBzcmNfdiArIE9GRiwga1N0cmlkZVVW
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgZHN0X2FyZ2JfYyArIE9GRiwga1N0cmlkZUIsICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIE1hc2tDcHVGbGFncyhiZW5jaG1hcmtfY3B1
X2luZm9fKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBm
b3IgKGludCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zXzsgKytpKSB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBGTVRfUExBTkFSIyNUbyMjRk1UX0IjI0RpdGhlcihz
cmNfeSArIE9GRiwga1dpZHRoLCAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIHNyY191ICsgT0ZGLCBrU3RyaWRlVVYsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdiArIE9GRiwga1N0
cmlkZVVWLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgZHN0X2FyZ2Jfb3B0ICsgT0ZGLCBrU3RyaWRlQiwgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGtXaWR0aCwgTkVHIGtIZWln
aHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgaW50IG1heF9kaWZmID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIC8qIENvbnZlcnQgdG8gQVJHQiBzbyA1NjUgaXMg
ZXhwYW5kZWQgdG8gYnl0ZXMgdGhhdCBjYW4gYmUgY29tcGFyZWQuICovICAgICAgXAotICBhbGln
bl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2IzMl9jLCBrV2lkdGggKiBCUFBfQyAgKiBrSGVpZ2h0
KTsgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiMzJfb3B0
LCBrV2lkdGggKiBCUFBfQyAgKiBrSGVpZ2h0KTsgICAgICAgICAgICBcCi0gIG1lbXNldChkc3Rf
YXJnYjMyX2MsIDIsIGtXaWR0aCAqIEJQUF9DICAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBtZW1zZXQoZHN0X2FyZ2IzMl9vcHQsIDEwMiwga1dpZHRoICogQlBQX0Mg
ICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgRk1UX0IjI1RvIyNGTVRfQyhk
c3RfYXJnYl9jICsgT0ZGLCBrU3RyaWRlQiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgZHN0X2FyZ2IzMl9jLCBrV2lkdGggKiBCUFBfQyAsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgIGtXaWR0aCwg
a0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
Rk1UX0IjI1RvIyNGTVRfQyhkc3RfYXJnYl9vcHQgKyBPRkYsIGtTdHJpZGVCLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgZHN0X2FyZ2IzMl9vcHQs
IGtXaWR0aCAqIEJQUF9DICwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgIGtXaWR0aCwga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrV2lkdGggKiBCUFBfQyAqIGtI
ZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaW50IGFic19kaWZm
ID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYjMyX2NbaV0pIC0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIHN0YXRpY19jYXN0
PGludD4oZHN0X2FyZ2IzMl9vcHRbaV0pKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFlBTElHTiwgVzEyODAsIERJRkYsIE4sIE5FRywgT0ZGLCBGTVRf
QywgQlBQX0MpICAgICAgICBcCisgIFRFU1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgRk1UX1BMQU5B
UiMjVG8jI0ZNVF9CIyNEaXRoZXIjI04pIHsgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGlu
dCBrV2lkdGggPSAoKFcxMjgwKSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga0hlaWdodCA9IEFMSUdOSU5UKGJlbmNobWFya19o
ZWlnaHRfLCBZQUxJR04pOyAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtTdHJp
ZGVCID0gQUxJR05JTlQoa1dpZHRoICogQlBQX0IsIEFMSUdOKTsgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIGNvbnN0IGludCBrU3RyaWRlVVYgPSBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1Q
X1gpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga1NpemVVViA9IGtT
dHJpZGVVViAqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJTQU1QX1kpOyAgICAgICAgICAgICBcCisg
ICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY195LCBrV2lkdGgqIGtIZWlnaHQgKyBPRkYpOyAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfdSwg
a1NpemVVViArIE9GRik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGln
bl9idWZmZXJfcGFnZV9lbmQoc3JjX3YsIGtTaXplVVYgKyBPRkYpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MsIGtT
dHJpZGVCKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZl
cl9wYWdlX2VuZChkc3RfYXJnYl9vcHQsIGtTdHJpZGVCKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAg
ICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtXaWR0aCAqIGtIZWlnaHQ7ICsraSkg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBzcmNfeVtpICsgT0ZGXSA9
IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIEVY
UEVDVF9MRShtYXhfZGlmZiwgRElGRik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY195
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX3YpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVm
ZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9vcHQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFn
ZV9lbmQoZHN0X2FyZ2IzMl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiMzJfb3B0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLX0KKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtTaXpl
VVY7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICBzcmNfdVtpICsgT0ZGXSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgc3JjX3ZbaSArIE9GRl0gPSAoZmFzdHJhbmQoKSAm
IDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgbWVtc2V0KGRzdF9hcmdiX2MgKyBPRkYsIDEsIGtTdHJpZGVCICog
a0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG1lbXNldChkc3RfYXJn
Yl9vcHQgKyBPRkYsIDEwMSwga1N0cmlkZUIgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBNYXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRk1UX1BMQU5BUiMjVG8jI0ZNVF9C
IyNEaXRoZXIoc3JjX3kgKyBPRkYsIGtXaWR0aCwgc3JjX3UgKyBPRkYsIGtTdHJpZGVVViwgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY192ICsgT0ZGLCBrU3RyaWRlVVYs
IGRzdF9hcmdiX2MgKyBPRkYsICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBrU3RyaWRlQiwgTlVMTCwga1dpZHRoLCBORUcga0hlaWdodCk7ICAgICAgICBcCisgICAgTWFz
a0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJh
dGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEZNVF9QTEFO
QVIjI1RvIyNGTVRfQiMjRGl0aGVyKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICAgICAgc3JjX3kgKyBPRkYsIGtXaWR0aCwgc3JjX3UgKyBPRkYsIGtT
dHJpZGVVViwgc3JjX3YgKyBPRkYsIGtTdHJpZGVVViwgXAorICAgICAgICAgIGRzdF9hcmdiX29w
dCArIE9GRiwga1N0cmlkZUIsIE5VTEwsIGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAgICAgICAgICAg
IFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW50IG1heF9kaWZmID0gMDsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IC8qIENvbnZlcnQgdG8gQVJHQiBzbyA1NjUgaXMgZXhwYW5kZWQgdG8gYnl0ZXMgdGhhdCBjYW4g
YmUgY29tcGFyZWQuICovICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Iz
Ml9jLCBrV2lkdGgqIEJQUF9DKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICBcCisgICAgYWxpZ25f
YnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiMzJfb3B0LCBrV2lkdGgqIEJQUF9DKiBrSGVpZ2h0KTsg
ICAgICAgICAgICAgXAorICAgIG1lbXNldChkc3RfYXJnYjMyX2MsIDIsIGtXaWR0aCogQlBQX0Mq
IGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X2Fy
Z2IzMl9vcHQsIDEwMiwga1dpZHRoKiBCUFBfQyoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgRk1UX0IjI1RvIyNGTVRfQyhkc3RfYXJnYl9jICsgT0ZGLCBrU3RyaWRlQiwg
ZHN0X2FyZ2IzMl9jLCBrV2lkdGggKiBCUFBfQywgXAorICAgICAgICAgICAgICAgICAgICAga1dp
ZHRoLCBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBGTVRfQiMjVG8jI0ZNVF9DKGRzdF9hcmdiX29wdCArIE9GRiwga1N0cmlkZUIsIGRzdF9h
cmdiMzJfb3B0LCAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICBrV2lkdGggKiBC
UFBfQywga1dpZHRoLCBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwga1dpZHRoICogQlBQX0MgKiBrSGVpZ2h0OyArK2kpIHsgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgIGludCBhYnNfZGlmZiA9IGFicyhzdGF0aWNfY2FzdDxp
bnQ+KGRzdF9hcmdiMzJfY1tpXSkgLSAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYjMyX29wdFtpXSkpOyAgICAgICAg
ICAgICAgICAgXAorICAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbWF4X2RpZmYgPSBh
YnNfZGlmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBFWFBFQ1RfTEUobWF4X2RpZmYsIERJRkYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChz
cmNfeSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVf
YWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX3UpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY192KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVk
X2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jfb3B0KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVy
X3BhZ2VfZW5kKGRzdF9hcmdiMzJfYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYjMyX29wdCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9CiAKICNkZWZpbmUgVEVTVFBMQU5BUlRPQkQo
Rk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgWUFMSUdOLCBESUZGLCBGTVRfQywgQlBQX0MpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RQTEFOQVJUT0JJRChGTVRfUExBTkFS
LCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIEJQUF9CLCBBTElHTiwgICAgIFwKLSAgICAg
ICAgWUFMSUdOLCBiZW5jaG1hcmtfd2lkdGhfIC0gNCwgRElGRiwgX0FueSwgKywgMCwgRk1UX0Ms
IEJQUF9DKSAgICAgICAgICBcCi0gICAgVEVTVFBMQU5BUlRPQklEKEZNVF9QTEFOQVIsIFNVQlNB
TVBfWCwgU1VCU0FNUF9ZLCBGTVRfQiwgQlBQX0IsIEFMSUdOLCAgICAgXAotICAgICAgICBZQUxJ
R04sIGJlbmNobWFya193aWR0aF8sIERJRkYsIF9VbmFsaWduZWQsICssIDEsIEZNVF9DLCBCUFBf
QykgICAgICAgIFwKLSAgICBURVNUUExBTkFSVE9CSUQoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBT
VUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sICAgICBcCi0gICAgICAgIFlBTElHTiwgYmVu
Y2htYXJrX3dpZHRoXywgRElGRiwgX0ludmVydCwgLSwgMCwgRk1UX0MsIEJQUF9DKSAgICAgICAg
ICAgXAotICAgIFRFU1RQTEFOQVJUT0JJRChGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBf
WSwgRk1UX0IsIEJQUF9CLCBBTElHTiwgICAgIFwKLSAgICAgICAgWUFMSUdOLCBiZW5jaG1hcmtf
d2lkdGhfLCBESUZGLCBfT3B0LCArLCAwLCBGTVRfQywgQlBQX0MpCisgICAgICAgICAgICAgICAg
ICAgICAgIFlBTElHTiwgRElGRiwgRk1UX0MsIEJQUF9DKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICBURVNUUExBTkFSVE9CSUQoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1Q
X1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sICAgICAgIFwKKyAgICAgICAgICAgICAgICAgIFlBTElH
TiwgYmVuY2htYXJrX3dpZHRoXyAtIDQsIERJRkYsIF9BbnksICssIDAsIEZNVF9DLCAgICAgICBc
CisgICAgICAgICAgICAgICAgICBCUFBfQykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICBURVNUUExBTkFSVE9CSUQoRk1UX1BMQU5BUiwg
U1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJR04sICAgICAgIFwKKyAgICAg
ICAgICAgICAgICAgIFlBTElHTiwgYmVuY2htYXJrX3dpZHRoXywgRElGRiwgX1VuYWxpZ25lZCwg
KywgMSwgRk1UX0MsICAgICBcCisgICAgICAgICAgICAgICAgICBCUFBfQykgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBURVNUUExBTkFS
VE9CSUQoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBCUFBfQiwgQUxJ
R04sICAgICAgIFwKKyAgICAgICAgICAgICAgICAgIFlBTElHTiwgYmVuY2htYXJrX3dpZHRoXywg
RElGRiwgX0ludmVydCwgLSwgMCwgRk1UX0MsIEJQUF9DKSBcCisgIFRFU1RQTEFOQVJUT0JJRChG
TVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIEJQUF9CLCBBTElHTiwgICAg
ICAgXAorICAgICAgICAgICAgICAgICAgWUFMSUdOLCBiZW5jaG1hcmtfd2lkdGhfLCBESUZGLCBf
T3B0LCArLCAwLCBGTVRfQywgQlBQX0MpCiAKIFRFU1RQTEFOQVJUT0JEKEk0MjAsIDIsIDIsIFJH
QjU2NSwgMiwgMiwgMSwgOSwgQVJHQiwgNCkKIAotI2RlZmluZSBURVNUUFRPQihOQU1FLCBVWVZZ
VE9JNDIwLCBVWVZZVE9OVjEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLVRF
U1RfRihMaWJZVVZDb252ZXJ0VGVzdCwgTkFNRSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrV2lkdGggPSBiZW5jaG1hcmtfd2lk
dGhfOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBp
bnQga0hlaWdodCA9IGJlbmNobWFya19oZWlnaHRfOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9w
YWdlX2VuZChvcmlnX3V5dnksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgICAgICAgNCAqIFNVQlNBTVBMRShrV2lkdGgsIDIpICoga0hl
aWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5k
KG9yaWdfeSwga1dpZHRoICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3UsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtX
aWR0aCwgMikgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCAyKSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3YsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgU1VCU0FNUExFKGtXaWR0aCwgMikgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrSGVpZ2h0LCAyKSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3lfb3JpZywga1dpZHRoICoga0hlaWdo
dCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRz
dF91dl9vcmlnLCAyICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCAyKSAqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgU1VCU0FNUExFKGtIZWln
aHQsIDIpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeSwga1dpZHRoICog
a0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJf
cGFnZV9lbmQoZHN0X3V2LCAyICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIDIpICogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBTVUJT
QU1QTEUoa0hlaWdodCwgMikpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgTWVtUmFuZG9taXplKG9yaWdfdXl2eSwgNCAq
IFNVQlNBTVBMRShrV2lkdGgsIDIpICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAvKiBDb252ZXJ0IFVZVlkgdG8gTlYxMiBpbiAyIHN0ZXBz
IGZvciByZWZlcmVuY2UgKi8gICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgbGlieXV2OjpV
WVZZVE9JNDIwKG9yaWdfdXl2eSwgNCAqIFNVQlNBTVBMRShrV2lkdGgsIDIpLCAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICBvcmlnX3ksIGtXaWR0aCwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
ICAgb3JpZ191LCBTVUJTQU1QTEUoa1dpZHRoLCAyKSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgIG9yaWdfdiwgU1VCU0FNUExFKGtXaWR0aCwgMiks
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICBrV2lk
dGgsIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBsaWJ5dXY6Okk0MjBUb05WMTIob3JpZ195LCBrV2lkdGgsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgIG9yaWdfdSwgU1VC
U0FNUExFKGtXaWR0aCwgMiksICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICBvcmlnX3YsIFNVQlNBTVBMRShrV2lkdGgsIDIpLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgZHN0X3lfb3JpZywga1dpZHRo
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgIGRzdF91dl9vcmlnLCAyICogU1VCU0FNUExFKGtXaWR0aCwgMiksICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICBrV2lkdGgsIGtIZWlnaHQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgLyogQ29udmVydCB0byBOVjEyICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2ht
YXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGxpYnl1djo6VVlWWVRPTlYxMihvcmlnX3V5dnksIDQgKiBTVUJTQU1QTEUoa1dpZHRoLCAyKSwg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgZHN0X3ksIGtXaWR0
aCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgIGRzdF91diwgMiAqIFNVQlNBTVBMRShrV2lkdGgsIDIpLCAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICBrV2lkdGgsIGtIZWlnaHQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IGtX
aWR0aCAqIGtIZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBFWFBFQ1RfRVEob3JpZ195W2ldLCBkc3RfeVtpXSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmb3Ig
KGludCBpID0gMDsgaSA8IGtXaWR0aCAqIGtIZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBFWFBFQ1RfRVEoZHN0X3lfb3JpZ1tpXSwgZHN0X3lbaV0p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IDIgKiBTVUJTQU1QTEUoa1dpZHRoLCAy
KSAqIFNVQlNBTVBMRShrSGVpZ2h0LCAyKTsgKytpKSB7IFwKLSAgICBFWFBFQ1RfRVEoZHN0X3V2
X29yaWdbaV0sIGRzdF91dltpXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3V5dnkpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQob3Jp
Z195KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2Fs
aWduZWRfYnVmZmVyX3BhZ2VfZW5kKG9yaWdfdSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3YpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9i
dWZmZXJfcGFnZV9lbmQoZHN0X3lfb3JpZyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF91dl9vcmlnKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9w
YWdlX2VuZChkc3RfeSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3V2KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotfQorI2RlZmluZSBURVNUUFRPQihOQU1FLCBVWVZZ
VE9JNDIwLCBVWVZZVE9OVjEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBU
RVNUX0YoTGliWVVWQ29udmVydFRlc3QsIE5BTUUpIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGludCBrV2lkdGggPSBiZW5jaG1hcmtfd2lk
dGhfOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGlu
dCBrSGVpZ2h0ID0gYmVuY2htYXJrX2hlaWdodF87ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdl
X2VuZChvcmlnX3V5dnksIDQgKiBTVUJTQU1QTEUoa1dpZHRoLCAyKSAqIGtIZWlnaHQpOyAgICAg
XAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3ksIGtXaWR0aCoga0hlaWdodCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChvcmln
X3UsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCAyKSAqIFNVQlNBTVBMRShrSGVp
Z2h0LCAyKSk7ICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3YsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCAyKSAqIFNVQlNBTVBMRShrSGVpZ2h0LCAyKSk7
ICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2Vu
ZChkc3RfeV9vcmlnLCBrV2lkdGgqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdXZfb3JpZywgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAyICogU1VC
U0FNUExFKGtXaWR0aCwgMikgKiBTVUJTQU1QTEUoa0hlaWdodCwgMikpOyAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeSwga1dpZHRoKiBr
SGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGFsaWduX2J1ZmZlcl9w
YWdlX2VuZChkc3RfdXYsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAyICogU1VCU0FNUExFKGtXaWR0aCwgMikg
KiBTVUJTQU1QTEUoa0hlaWdodCwgMikpOyAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IE1lbVJhbmRvbWl6ZShvcmlnX3V5dnksIDQgKiBTVUJTQU1QTEUoa1dpZHRoLCAyKSAqIGtIZWln
aHQpOyAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIC8qIENvbnZl
cnQgVVlWWSB0byBOVjEyIGluIDIgc3RlcHMgZm9yIHJlZmVyZW5jZSAqLyAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIGxpYnl1djo6VVlWWVRPSTQyMChvcmlnX3V5dnksIDQgKiBTVUJTQU1Q
TEUoa1dpZHRoLCAyKSwgb3JpZ195LCBrV2lkdGgsICAgXAorICAgICAgICAgICAgICAgICAgICAg
ICBvcmlnX3UsIFNVQlNBTVBMRShrV2lkdGgsIDIpLCBvcmlnX3YsICAgICAgICAgICAgICAgICAg
XAorICAgICAgICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCAyKSwga1dpZHRoLCBr
SGVpZ2h0KTsgICAgICAgICAgICAgICAgXAorICAgIGxpYnl1djo6STQyMFRvTlYxMihvcmlnX3ks
IGtXaWR0aCwgb3JpZ191LCBTVUJTQU1QTEUoa1dpZHRoLCAyKSwgb3JpZ192LCAgXAorICAgICAg
ICAgICAgICAgICAgICAgICBTVUJTQU1QTEUoa1dpZHRoLCAyKSwgZHN0X3lfb3JpZywga1dpZHRo
LCBkc3RfdXZfb3JpZywgXAorICAgICAgICAgICAgICAgICAgICAgICAyICogU1VCU0FNUExFKGtX
aWR0aCwgMiksIGtXaWR0aCwga0hlaWdodCk7ICAgICAgICAgICAgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIC8qIENvbnZlcnQgdG8gTlYxMiAqLyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
YmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgbGlieXV2OjpVWVZZVE9OVjEyKG9yaWdfdXl2eSwgNCAqIFNVQlNBTVBMRShrV2lkdGgs
IDIpLCBkc3RfeSwga1dpZHRoLCAgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF91diwg
MiAqIFNVQlNBTVBMRShrV2lkdGgsIDIpLCBrV2lkdGgsIGtIZWlnaHQpOyAgXAorICAgIH0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAw
OyBpIDwga1dpZHRoICoga0hlaWdodDsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgRVhQRUNUX0VRKG9yaWdfeVtpXSwgZHN0X3lbaV0pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IGZvciAoaW50IGkgPSAwOyBpIDwga1dpZHRoICoga0hlaWdodDsgKytpKSB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgRVhQRUNUX0VRKGRzdF95X29yaWdbaV0sIGRzdF95
W2ldKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMiAqIFNVQlNBTVBMRShrV2lkdGgs
IDIpICogU1VCU0FNUExFKGtIZWlnaHQsIDIpOyAgICAgXAorICAgICAgICAgKytpKSB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgRVhQRUNUX0VRKGRzdF91dl9vcmlnW2ldLCBkc3RfdXZbaV0pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQob3JpZ191
eXZ5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25l
ZF9idWZmZXJfcGFnZV9lbmQob3JpZ195KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQob3JpZ191KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJf
cGFnZV9lbmQob3JpZ192KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3lfb3JpZyk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQo
ZHN0X3V2X29yaWcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVf
YWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3kpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3V2KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9CiAKIFRFU1RQVE9CKFRl
c3RZVVkyVG9OVjEyLCBZVVkyVG9JNDIwLCBZVVkyVG9OVjEyKQogVEVTVFBUT0IoVGVzdFVZVllU
b05WMTIsIFVZVllUb0k0MjAsIFVZVllUb05WMTIpCiAKLSNkZWZpbmUgVEVTVFBMQU5BUlRPRUko
Rk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBTVUJfQiwgQlBQX0IsICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgIFcxMjgwLCBOLCBORUcsIE9GRiwgRk1UX0MsIEJQUF9D
KSAgICAgICAgICAgICAgICAgICAgICAgXAotVEVTVF9GKExpYllVVkNvbnZlcnRUZXN0LCBGTVRf
UExBTkFSIyNUbyMjRk1UX0IjI18jI0ZNVF9DIyNOKSB7ICAgICAgICAgICAgICAgIFwKLSAgY29u
c3QgaW50IGtXaWR0aCA9ICgoVzEyODApID4gMCkgPyAoVzEyODApIDogMTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrSGVpZ2h0ID0gYmVuY2htYXJrX2hlaWdo
dF87ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQg
a1N0cmlkZUIgPSBTVUJTQU1QTEUoa1dpZHRoLCBTVUJfQikgKiBCUFBfQjsgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtTdHJpZGVVViA9IFNVQlNBTVBMRShrV2lkdGgsIFNV
QlNBTVBfWCk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrU2l6ZVVW
ID0ga1N0cmlkZVVWICogU1VCU0FNUExFKGtIZWlnaHQsIFNVQlNBTVBfWSk7ICAgICAgICAgICAg
ICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3ksIGtXaWR0aCAqIGtIZWlnaHQgKyBP
RkYpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNy
Y191LCBrU2l6ZVVWICsgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
IGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfdiwga1NpemVVViArIE9GRik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jf
Yiwga1N0cmlkZUIgKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChp
bnQgaSA9IDA7IGkgPCBrV2lkdGggKiBrSGVpZ2h0OyArK2kpIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgc3JjX3lbaSArIE9GRl0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU2l6ZVVWOyArK2kpIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3JjX3VbaSArIE9GRl0gPSAo
ZmFzdHJhbmQoKSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIHNyY192W2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1l
bXNldChkc3RfYXJnYl9iICsgT0ZGLCAxLCBrU3RyaWRlQiAqIGtIZWlnaHQpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBmb3IgKGludCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVy
YXRpb25zXzsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBGTVRfUExB
TkFSIyNUbyMjRk1UX0Ioc3JjX3kgKyBPRkYsIGtXaWR0aCwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNyY191ICsgT0ZGLCBrU3Ry
aWRlVVYsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBzcmNfdiArIE9GRiwga1N0cmlkZVVWLCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X2FyZ2JfYiArIE9GRiwga1N0cmlk
ZUIsICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGtXaWR0aCwgTkVHIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgLyogQ29udmVydCB0byBhIDNyZCBmb3JtYXQgaW4g
MSBzdGVwIGFuZCAyIHN0ZXBzIGFuZCBjb21wYXJlICAqLyAgICAgICAgICAgICBcCi0gIGNvbnN0
IGludCBrU3RyaWRlQyA9IGtXaWR0aCAqIEJQUF9DOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYywga1N0
cmlkZUMgKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVy
X3BhZ2VfZW5kKGRzdF9hcmdiX2JjLCBrU3RyaWRlQyAqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAg
ICAgICAgICBcCi0gIG1lbXNldChkc3RfYXJnYl9jICsgT0ZGLCAyLCBrU3RyaWRlQyAqIGtIZWln
aHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X2FyZ2JfYmMg
KyBPRkYsIDMsIGtTdHJpZGVDICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgRk1UX1BMQU5BUiMjVG8jI0ZNVF9DKHNyY195ICsgT0ZGLCBrV2lkdGgsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBzcmNf
dSArIE9GRiwga1N0cmlkZVVWLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgc3JjX3YgKyBPRkYsIGtTdHJpZGVVViwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX2Mg
KyBPRkYsIGtTdHJpZGVDLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICBrV2lkdGgsIE5FRyBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAvKiBDb252ZXJ0IEIgdG8gQyAqLyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgRk1UX0IjI1RvIyNGTVRf
Qyhkc3RfYXJnYl9iICsgT0ZGLCBrU3RyaWRlQiwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgZHN0X2FyZ2JfYmMgKyBPRkYsIGtTdHJpZGVDLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgIGtXaWR0
aCwga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlQyAqIGtIZWlnaHQ7ICsraSkgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0VRKGRzdF9hcmdiX2NbaSArIE9G
Rl0sIGRzdF9hcmdiX2JjW2kgKyBPRkZdKTsgICAgICAgICAgICAgICAgICAgICAgXAotICB9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25l
ZF9idWZmZXJfcGFnZV9lbmQoc3JjX3UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY192KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZl
cl9wYWdlX2VuZChkc3RfYXJnYl9iKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2Vf
ZW5kKGRzdF9hcmdiX2JjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0K
KyNkZWZpbmUgVEVTVFBMQU5BUlRPRUkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ks
IEZNVF9CLCBTVUJfQiwgQlBQX0IsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgVzEyODAsIE4s
IE5FRywgT0ZGLCBGTVRfQywgQlBQX0MpICAgICAgICAgICAgICAgICAgICAgIFwKKyAgVEVTVF9G
KExpYllVVkNvbnZlcnRUZXN0LCBGTVRfUExBTkFSIyNUbyMjRk1UX0IjI18jI0ZNVF9DIyNOKSB7
ICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga1dpZHRoID0gKChXMTI4MCkgPiAwKSA/IChX
MTI4MCkgOiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga0hl
aWdodCA9IGJlbmNobWFya19oZWlnaHRfOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBjb25zdCBpbnQga1N0cmlkZUIgPSBTVUJTQU1QTEUoa1dpZHRoLCBTVUJfQikg
KiBCUFBfQjsgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga1N0cmlkZVVWID0g
U1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBjb25zdCBpbnQga1NpemVVViA9IGtTdHJpZGVVViAqIFNVQlNBTVBMRShrSGVpZ2h0LCBTVUJT
QU1QX1kpOyAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3ksIGtX
aWR0aCoga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9i
dWZmZXJfcGFnZV9lbmQoc3JjX3UsIGtTaXplVVYgKyBPRkYpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3YsIGtTaXplVVYgKyBP
RkYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFn
ZV9lbmQoZHN0X2FyZ2JfYiwga1N0cmlkZUIqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAg
IFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtXaWR0aCAqIGtIZWlnaHQ7ICsraSkgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHNyY195W2kgKyBPRkZdID0gKGZhc3Ry
YW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGtTaXplVVY7ICsraSkg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHNyY191W2kg
KyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgIHNyY192W2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBtZW1zZXQoZHN0X2FyZ2JfYiArIE9GRiwgMSwga1N0cmlkZUIgKiBrSGVpZ2h0KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGJlbmNobWFy
a19pdGVyYXRpb25zXzsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEZN
VF9QTEFOQVIjI1RvIyNGTVRfQihzcmNfeSArIE9GRiwga1dpZHRoLCBzcmNfdSArIE9GRiwga1N0
cmlkZVVWLCAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfdiArIE9GRiwg
a1N0cmlkZVVWLCBkc3RfYXJnYl9iICsgT0ZGLCAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBrU3RyaWRlQiwga1dpZHRoLCBORUcga0hlaWdodCk7ICAgICAgICAgICAgICAg
ICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAvKiBDb252ZXJ0IHRvIGEgM3JkIGZv
cm1hdCBpbiAxIHN0ZXAgYW5kIDIgc3RlcHMgYW5kIGNvbXBhcmUgICovICAgICAgICAgIFwKKyAg
ICBjb25zdCBpbnQga1N0cmlkZUMgPSBrV2lkdGggKiBCUFBfQzsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jf
Yywga1N0cmlkZUMqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9i
dWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYmMsIGtTdHJpZGVDKiBrSGVpZ2h0ICsgT0ZGKTsgICAg
ICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X2FyZ2JfYyArIE9GRiwgMiwga1N0cmlkZUMgKiBr
SGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X2FyZ2Jf
YmMgKyBPRkYsIDMsIGtTdHJpZGVDICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBGTVRfUExBTkFSIyNUbyMjRk1UX0Moc3JjX3kgKyBPRkYsIGtXaWR0aCwgc3JjX3Ug
KyBPRkYsIGtTdHJpZGVVViwgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3Jj
X3YgKyBPRkYsIGtTdHJpZGVVViwgZHN0X2FyZ2JfYyArIE9GRiwga1N0cmlkZUMsIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAga1dpZHRoLCBORUcga0hlaWdodCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAvKiBDb252ZXJ0IEIgdG8gQyAqLyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBGTVRfQiMjVG8j
I0ZNVF9DKGRzdF9hcmdiX2IgKyBPRkYsIGtTdHJpZGVCLCBkc3RfYXJnYl9iYyArIE9GRiwga1N0
cmlkZUMsIFwKKyAgICAgICAgICAgICAgICAgICAgIGtXaWR0aCwga0hlaWdodCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKGludCBpID0gMDsgaSA8
IGtTdHJpZGVDICoga0hlaWdodDsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgIEVYUEVDVF9FUShkc3RfYXJnYl9jW2kgKyBPRkZdLCBkc3RfYXJnYl9iY1tpICsgT0ZG
XSk7ICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVl
X2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY195KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY191KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRf
YnVmZmVyX3BhZ2VfZW5kKHNyY192KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2IpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3Bh
Z2VfZW5kKGRzdF9hcmdiX2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2JjKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgfQogCi0jZGVmaW5lIFRFU1RQTEFOQVJUT0UoRk1UX1BM
QU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBTVUJfQiwgQlBQX0IsICAgXAotICAg
ICAgICAgICAgICAgICAgICAgIEZNVF9DLCBCUFBfQykgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICBURVNUUExBTkFSVE9FSShGTVRfUExBTkFSLCBTVUJT
QU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIFNVQl9CLCBCUFBfQiwgICAgICBcCi0gICAgICAgIGJl
bmNobWFya193aWR0aF8gLSA0LCBfQW55LCArLCAwLCBGTVRfQywgQlBQX0MpICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIFRFU1RQTEFOQVJUT0VJKEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwg
U1VCU0FNUF9ZLCBGTVRfQiwgU1VCX0IsIEJQUF9CLCAgICAgIFwKLSAgICAgICAgYmVuY2htYXJr
X3dpZHRoXywgX1VuYWxpZ25lZCwgKywgMSwgRk1UX0MsIEJQUF9DKSAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgVEVTVFBMQU5BUlRPRUkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1Q
X1ksIEZNVF9CLCBTVUJfQiwgQlBQX0IsICAgICAgXAotICAgICAgICBiZW5jaG1hcmtfd2lkdGhf
LCBfSW52ZXJ0LCAtLCAwLCBGTVRfQywgQlBQX0MpICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICBURVNUUExBTkFSVE9FSShGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1U
X0IsIFNVQl9CLCBCUFBfQiwgICAgICBcCi0gICAgICAgIGJlbmNobWFya193aWR0aF8sIF9PcHQs
ICssIDAsIEZNVF9DLCBCUFBfQykKKyNkZWZpbmUgVEVTVFBMQU5BUlRPRShGTVRfUExBTkFSLCBT
VUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIFNVQl9CLCBCUFBfQiwgXAorICAgICAgICAgICAg
ICAgICAgICAgIEZNVF9DLCBCUFBfQykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgIFRFU1RQTEFOQVJUT0VJKEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FN
UF9ZLCBGTVRfQiwgU1VCX0IsIEJQUF9CLCAgICAgIFwKKyAgICAgICAgICAgICAgICAgYmVuY2ht
YXJrX3dpZHRoXyAtIDQsIF9BbnksICssIDAsIEZNVF9DLCBCUFBfQykgICAgICAgICAgICAgXAor
ICBURVNUUExBTkFSVE9FSShGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0Is
IFNVQl9CLCBCUFBfQiwgICAgICBcCisgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8s
IF9VbmFsaWduZWQsICssIDEsIEZNVF9DLCBCUFBfQykgICAgICAgICAgIFwKKyAgVEVTVFBMQU5B
UlRPRUkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBTVUJfQiwgQlBQ
X0IsICAgICAgXAorICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBfSW52ZXJ0LCAt
LCAwLCBGTVRfQywgQlBQX0MpICAgICAgICAgICAgICBcCisgIFRFU1RQTEFOQVJUT0VJKEZNVF9Q
TEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBGTVRfQiwgU1VCX0IsIEJQUF9CLCAgICAgIFwK
KyAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgX09wdCwgKywgMCwgRk1UX0MsIEJQ
UF9DKQogCiBURVNUUExBTkFSVE9FKEk0MjAsIDIsIDIsIEFSR0IsIDEsIDQsIEFCR1IsIDQpCiBU
RVNUUExBTkFSVE9FKEo0MjAsIDIsIDIsIEFSR0IsIDEsIDQsIEFSR0IsIDQpCkBAIC0xOTcxLDcg
KzE4MDEsNyBAQCBURVNUUExBTkFSVE9FKEk0MjAsIDIsIDIsIFJBVywgMSwgMywgQVJHQiwgNCkK
IFRFU1RQTEFOQVJUT0UoSTQyMCwgMiwgMiwgQVJHQiwgMSwgNCwgUkdCNTY1LCAyKQogVEVTVFBM
QU5BUlRPRShJNDIwLCAyLCAyLCBBUkdCLCAxLCA0LCBBUkdCMTU1NSwgMikKIFRFU1RQTEFOQVJU
T0UoSTQyMCwgMiwgMiwgQVJHQiwgMSwgNCwgQVJHQjQ0NDQsIDIpCi1URVNUUExBTkFSVE9FKEk0
MjIsIDIsIDEsIEFSR0IsIDEsIDQsIEFSR0IsIDQpCitURVNUUExBTkFSVE9FKEk0MjIsIDIsIDEs
IEFSR0IsIDEsIDQsIFJHQjU2NSwgMikKIFRFU1RQTEFOQVJUT0UoSjQyMiwgMiwgMSwgQVJHQiwg
MSwgNCwgQVJHQiwgNCkKIFRFU1RQTEFOQVJUT0UoSjQyMiwgMiwgMSwgQUJHUiwgMSwgNCwgQVJH
QiwgNCkKIFRFU1RQTEFOQVJUT0UoSDQyMiwgMiwgMSwgQVJHQiwgMSwgNCwgQVJHQiwgNCkKQEAg
LTE5ODgsNzcgKzE4MTgsMTA3IEBAIFRFU1RQTEFOQVJUT0UoSTQyMiwgMiwgMSwgWVVZMiwgMiwg
NCwgQVJHQiwgNCkKIFRFU1RQTEFOQVJUT0UoSTQyMiwgMiwgMSwgVVlWWSwgMiwgNCwgQVJHQiwg
NCkKIAogI2RlZmluZSBURVNUUVBMQU5BUlRPRUkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJT
QU1QX1ksIEZNVF9CLCBTVUJfQiwgQlBQX0IsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgVzEy
ODAsIE4sIE5FRywgT0ZGLCBGTVRfQywgQlBQX0MsIEFUVEVOKSAgICAgICAgICAgICAgICBcCi1U
RVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZNVF9QTEFOQVIjI1RvIyNGTVRfQiMjXyMjRk1UX0Mj
I04pIHsgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga1dpZHRoID0gKChXMTI4MCkgPiAw
KSA/IChXMTI4MCkgOiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3Qg
aW50IGtIZWlnaHQgPSBiZW5jaG1hcmtfaGVpZ2h0XzsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIGNvbnN0IGludCBrU3RyaWRlQiA9IFNVQlNBTVBMRShrV2lkdGgs
IFNVQl9CKSAqIEJQUF9COyAgICAgICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga1Np
emVVViA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBTVUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpICogU1VCU0FNUExFKGtI
ZWlnaHQsIFNVQlNBTVBfWSk7ICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfeSwga1dpZHRoICoga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAgICAgICAgICAg
XAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3UsIGtTaXplVVYgKyBPRkYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY192
LCBrU2l6ZVVWICsgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGFs
aWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfYSwga1dpZHRoICoga0hlaWdodCArIE9GRik7ICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYiwg
a1N0cmlkZUIgKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQg
aSA9IDA7IGkgPCBrV2lkdGggKiBrSGVpZ2h0OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgc3JjX3lbaSArIE9GRl0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHNyY19hW2kgKyBPRkZd
ID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga1Np
emVVVjsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIHNyY191W2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBzcmNfdltpICsgT0ZGXSA9IChmYXN0cmFuZCgp
ICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICBtZW1zZXQoZHN0X2FyZ2JfYiArIE9GRiwgMSwga1N0cmlkZUIg
KiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9
IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsraSkgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgRk1UX1BMQU5BUiMjVG8jI0ZNVF9CKHNyY195ICsgT0ZGLCBrV2lkdGgs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBzcmNfdSArIE9GRiwgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSwgICAgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3YgKyBPRkYsIFNVQlNBTVBMRShrV2lk
dGgsIFNVQlNBTVBfWCksICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNy
Y19hICsgT0ZGLCBrV2lkdGgsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBkc3RfYXJnYl9iICsgT0ZGLCBrU3RyaWRlQiwgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAga1dpZHRoLCBO
RUcga0hlaWdodCwgQVRURU4pOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAvKiBDb252ZXJ0IHRvIGEgM3JkIGZvcm1hdCBpbiAxIHN0ZXAgYW5k
IDIgc3RlcHMgYW5kIGNvbXBhcmUgICovICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50IGtTdHJp
ZGVDID0ga1dpZHRoICogQlBQX0M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9jLCBrU3RyaWRlQyAqIGtI
ZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAgICAgXAotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQo
ZHN0X2FyZ2JfYmMsIGtTdHJpZGVDICoga0hlaWdodCArIE9GRik7ICAgICAgICAgICAgICAgIFwK
LSAgbWVtc2V0KGRzdF9hcmdiX2MgKyBPRkYsIDIsIGtTdHJpZGVDICoga0hlaWdodCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIG1lbXNldChkc3RfYXJnYl9iYyArIE9GRiwgMywg
a1N0cmlkZUMgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBGTVRf
UExBTkFSIyNUbyMjRk1UX0Moc3JjX3kgKyBPRkYsIGtXaWR0aCwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIHNyY191ICsgT0ZGLCBT
VUJTQU1QTEUoa1dpZHRoLCBTVUJTQU1QX1gpLCAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICBzcmNfdiArIE9GRiwgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSwgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgc3JjX2EgKyBPRkYsIGtXaWR0aCwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGRzdF9hcmdiX2MgKyBPRkYsIGtTdHJpZGVDLCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBrV2lkdGgsIE5FRyBrSGVpZ2h0LCBBVFRFTik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAvKiBDb252ZXJ0IEIgdG8gQyAqLyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
Rk1UX0IjI1RvIyNGTVRfQyhkc3RfYXJnYl9iICsgT0ZGLCBrU3RyaWRlQiwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgZHN0X2FyZ2JfYmMgKyBP
RkYsIGtTdHJpZGVDLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgIGtXaWR0aCwga0hlaWdodCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlQyAqIGtIZWlnaHQ7
ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgRVhQRUNUX0VRKGRz
dF9hcmdiX2NbaSArIE9GRl0sIGRzdF9hcmdiX2JjW2kgKyBPRkZdKTsgICAgICAgICAgICAgICAg
ICAgICAgXAotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9w
YWdlX2VuZChzcmNfeSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Ci0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX3UpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5k
KHNyY192KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJl
ZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfYSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2Fy
Z2JfYik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBmcmVlX2FsaWdu
ZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9iYyk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi19CisgICAgICAgICAgICAgICAg
ICAgICAgICBXMTI4MCwgTiwgTkVHLCBPRkYsIEZNVF9DLCBCUFBfQywgQVRURU4pICAgICAgICAg
ICAgICAgXAorICBURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIEZNVF9QTEFOQVIjI1RvIyNGTVRf
QiMjXyMjRk1UX0MjI04pIHsgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQga1dpZHRoID0g
KChXMTI4MCkgPiAwKSA/IChXMTI4MCkgOiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgY29uc3QgaW50IGtIZWlnaHQgPSBiZW5jaG1hcmtfaGVpZ2h0XzsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNvbnN0IGludCBrU3RyaWRlQiA9IFNVQlNB
TVBMRShrV2lkdGgsIFNVQl9CKSAqIEJQUF9COyAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBj
b25zdCBpbnQga1NpemVVViA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCkg
KiBTVUJTQU1QTEUoa0hlaWdodCwgU1VCU0FNUF9ZKTsgICAgICAgICAgXAorICAgIGFsaWduX2J1
ZmZlcl9wYWdlX2VuZChzcmNfeSwga1dpZHRoKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3UsIGtTaXplVVYgKyBP
RkYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKHNyY192LCBrU2l6ZVVWICsgT0ZGKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfYSwga1dpZHRoKiBrSGVpZ2h0ICsg
T0ZGKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQo
ZHN0X2FyZ2JfYiwga1N0cmlkZUIqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAgICBcCisg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrV2lkdGggKiBrSGVpZ2h0OyArK2kpIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgc3JjX3lbaSArIE9GRl0gPSAoZmFzdHJhbmQo
KSAmIDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHNy
Y19hW2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkg
PSAwOyBpIDwga1NpemVVVjsgKytpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgIHNyY191W2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBzcmNfdltpICsgT0ZGXSA9
IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0X2FyZ2JfYiArIE9GRiwg
MSwga1N0cmlkZUIgKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsraSkgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgRk1UX1BMQU5BUiMjVG8jI0ZNVF9CKCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICBz
cmNfeSArIE9GRiwga1dpZHRoLCBzcmNfdSArIE9GRiwgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FN
UF9YKSwgICAgICBcCisgICAgICAgICAgc3JjX3YgKyBPRkYsIFNVQlNBTVBMRShrV2lkdGgsIFNV
QlNBTVBfWCksIHNyY19hICsgT0ZGLCBrV2lkdGgsICAgICAgXAorICAgICAgICAgIGRzdF9hcmdi
X2IgKyBPRkYsIGtTdHJpZGVCLCBrV2lkdGgsIE5FRyBrSGVpZ2h0LCBBVFRFTik7ICAgICAgICAg
ICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLyogQ29udmVydCB0byBhIDNyZCBm
b3JtYXQgaW4gMSBzdGVwIGFuZCAyIHN0ZXBzIGFuZCBjb21wYXJlICAqLyAgICAgICAgICAgXAor
ICAgIGNvbnN0IGludCBrU3RyaWRlQyA9IGtXaWR0aCAqIEJQUF9DOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2Fy
Z2JfYywga1N0cmlkZUMqIGtIZWlnaHQgKyBPRkYpOyAgICAgICAgICAgICAgICBcCisgICAgYWxp
Z25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2JjLCBrU3RyaWRlQyoga0hlaWdodCArIE9GRik7
ICAgICAgICAgICAgICAgXAorICAgIG1lbXNldChkc3RfYXJnYl9jICsgT0ZGLCAyLCBrU3RyaWRl
QyAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBtZW1zZXQoZHN0
X2FyZ2JfYmMgKyBPRkYsIDMsIGtTdHJpZGVDICoga0hlaWdodCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgRk1UX1BMQU5BUiMjVG8jI0ZNVF9DKCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBzcmNfeSArIE9GRiwg
a1dpZHRoLCBzcmNfdSArIE9GRiwgU1VCU0FNUExFKGtXaWR0aCwgU1VCU0FNUF9YKSwgICAgICAg
IFwKKyAgICAgICAgc3JjX3YgKyBPRkYsIFNVQlNBTVBMRShrV2lkdGgsIFNVQlNBTVBfWCksIHNy
Y19hICsgT0ZGLCBrV2lkdGgsICAgICAgICBcCisgICAgICAgIGRzdF9hcmdiX2MgKyBPRkYsIGtT
dHJpZGVDLCBrV2lkdGgsIE5FRyBrSGVpZ2h0LCBBVFRFTik7ICAgICAgICAgICAgICAgXAorICAg
IC8qIENvbnZlcnQgQiB0byBDICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBGTVRfQiMjVG8jI0ZNVF9DKGRzdF9hcmdiX2IgKyBP
RkYsIGtTdHJpZGVCLCBkc3RfYXJnYl9iYyArIE9GRiwga1N0cmlkZUMsICBcCisgICAgICAgICAg
ICAgICAgICAgICBrV2lkdGgsIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZUMgKiBrSGVpZ2h0
OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIEVYUEVDVF9FUShk
c3RfYXJnYl9jW2kgKyBPRkZdLCBkc3RfYXJnYl9iY1tpICsgT0ZGXSk7ICAgICAgICAgICAgICAg
ICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJf
cGFnZV9lbmQoc3JjX3kpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY191KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfdik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGZy
ZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX2EpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF9h
cmdiX2IpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2JfYmMp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgfQogCi0jZGVmaW5lIFRFU1RR
UExBTkFSVE9FKEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VCU0FNUF9ZLCBGTVRfQiwgU1VCX0Is
IEJQUF9CLCAgXAotICAgICAgICAgICAgICAgICAgICAgIEZNVF9DLCBCUFBfQykgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBURVNUUVBMQU5BUlRPRUko
Rk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBTVUJfQiwgQlBQX0IsICAg
ICBcCi0gICAgICAgIGJlbmNobWFya193aWR0aF8gLSA0LCBfQW55LCArLCAwLCBGTVRfQywgQlBQ
X0MsIDApICAgICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RRUExBTkFSVE9FSShGTVRfUExB
TkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIFNVQl9CLCBCUFBfQiwgICAgIFwKLSAg
ICAgICAgYmVuY2htYXJrX3dpZHRoXywgX1VuYWxpZ25lZCwgKywgMSwgRk1UX0MsIEJQUF9DLCAw
KSAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVFFQTEFOQVJUT0VJKEZNVF9QTEFOQVIsIFNV
QlNBTVBfWCwgU1VCU0FNUF9ZLCBGTVRfQiwgU1VCX0IsIEJQUF9CLCAgICAgXAotICAgICAgICBi
ZW5jaG1hcmtfd2lkdGhfLCBfSW52ZXJ0LCAtLCAwLCBGTVRfQywgQlBQX0MsIDApICAgICAgICAg
ICAgICAgICAgICAgIFwKLSAgICBURVNUUVBMQU5BUlRPRUkoRk1UX1BMQU5BUiwgU1VCU0FNUF9Y
LCBTVUJTQU1QX1ksIEZNVF9CLCBTVUJfQiwgQlBQX0IsICAgICBcCi0gICAgICAgIGJlbmNobWFy
a193aWR0aF8sIF9PcHQsICssIDAsIEZNVF9DLCBCUFBfQywgMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgVEVTVFFQTEFOQVJUT0VJKEZNVF9QTEFOQVIsIFNVQlNBTVBfWCwgU1VC
U0FNUF9ZLCBGTVRfQiwgU1VCX0IsIEJQUF9CLCAgIFwKLSAgICAgICAgICBiZW5jaG1hcmtfd2lk
dGhfLCBfUHJlbXVsdCwgKywgMCwgRk1UX0MsIEJQUF9DLCAxKQorI2RlZmluZSBURVNUUVBMQU5B
UlRPRShGTVRfUExBTkFSLCBTVUJTQU1QX1gsIFNVQlNBTVBfWSwgRk1UX0IsIFNVQl9CLCBCUFBf
QiwgXAorICAgICAgICAgICAgICAgICAgICAgICBGTVRfQywgQlBQX0MpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBURVNUUVBMQU5BUlRPRUkoRk1UX1BMQU5B
UiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBTVUJfQiwgQlBQX0IsICAgICAgXAorICAg
ICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXyAtIDQsIF9BbnksICssIDAsIEZNVF9DLCBC
UFBfQywgMCkgICAgICAgICAgXAorICBURVNUUVBMQU5BUlRPRUkoRk1UX1BMQU5BUiwgU1VCU0FN
UF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBTVUJfQiwgQlBQX0IsICAgICAgXAorICAgICAgICAgICAg
ICAgICAgYmVuY2htYXJrX3dpZHRoXywgX1VuYWxpZ25lZCwgKywgMSwgRk1UX0MsIEJQUF9DLCAw
KSAgICAgICAgXAorICBURVNUUVBMQU5BUlRPRUkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJT
QU1QX1ksIEZNVF9CLCBTVUJfQiwgQlBQX0IsICAgICAgXAorICAgICAgICAgICAgICAgICAgYmVu
Y2htYXJrX3dpZHRoXywgX0ludmVydCwgLSwgMCwgRk1UX0MsIEJQUF9DLCAwKSAgICAgICAgICAg
XAorICBURVNUUVBMQU5BUlRPRUkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZN
VF9CLCBTVUJfQiwgQlBQX0IsICAgICAgXAorICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dp
ZHRoXywgX09wdCwgKywgMCwgRk1UX0MsIEJQUF9DLCAwKSAgICAgICAgICAgICAgXAorICBURVNU
UVBMQU5BUlRPRUkoRk1UX1BMQU5BUiwgU1VCU0FNUF9YLCBTVUJTQU1QX1ksIEZNVF9CLCBTVUJf
QiwgQlBQX0IsICAgICAgXAorICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgX1By
ZW11bHQsICssIDAsIEZNVF9DLCBCUFBfQywgMSkKIAogVEVTVFFQTEFOQVJUT0UoSTQyMEFscGhh
LCAyLCAyLCBBUkdCLCAxLCA0LCBBQkdSLCA0KQogVEVTVFFQTEFOQVJUT0UoSTQyMEFscGhhLCAy
LCAyLCBBQkdSLCAxLCA0LCBBUkdCLCA0KQogCitURVNUX0YoTGliWVVWQ29udmVydFRlc3QsIFJv
dGF0ZVdpdGhBUkdCU291cmNlKSB7CisgIC8vIDJ4MiBmcmFtZXMKKyAgdWludDMyX3Qgc3JjWzRd
OworICB1aW50MzJfdCBkc3RbNF07CisgIC8vIHNvbWUgcmFuZG9tIGlucHV0CisgIHNyY1swXSA9
IDB4MTEwMDAwMDA7CisgIHNyY1sxXSA9IDB4MDA0NTAwMDA7CisgIHNyY1syXSA9IDB4MDAwMDlm
MDA7CisgIHNyY1szXSA9IDB4MDAwMDAwZmY7CisgIC8vIHplcm9zIG9uIGRlc3RpbmF0aW9uCisg
IGRzdFswXSA9IDB4MDAwMDAwMDA7CisgIGRzdFsxXSA9IDB4MDAwMDAwMDA7CisgIGRzdFsyXSA9
IDB4MDAwMDAwMDA7CisgIGRzdFszXSA9IDB4MDAwMDAwMDA7CisKKyAgaW50IHIgPSBDb252ZXJ0
VG9BUkdCKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KHNyYyksCisgICAgICAgICAgICAgICAg
ICAgICAgICAxNiwgIC8vIGlucHV0IHNpemUKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50
ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGRzdCksCisgICAgICAgICAgICAgICAgICAgICAgICA4LCAg
Ly8gZGVzdGluYXRpb24gc3RyaWRlCisgICAgICAgICAgICAgICAgICAgICAgICAwLCAgLy8gY3Jv
cF94CisgICAgICAgICAgICAgICAgICAgICAgICAwLCAgLy8gY3JvcF95CisgICAgICAgICAgICAg
ICAgICAgICAgICAyLCAgLy8gd2lkdGgKKyAgICAgICAgICAgICAgICAgICAgICAgIDIsICAvLyBo
ZWlnaHQKKyAgICAgICAgICAgICAgICAgICAgICAgIDIsICAvLyBjcm9wIHdpZHRoCisgICAgICAg
ICAgICAgICAgICAgICAgICAyLCAgLy8gY3JvcCBoZWlnaHQKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGtSb3RhdGU5MCwgRk9VUkNDX0FSR0IpOworCisgIEVYUEVDVF9FUShyLCAwKTsKKyAgLy8g
OTAgZGVncmVlcyByb3RhdGlvbiwgbm8gY29udmVyc2lvbgorICBFWFBFQ1RfRVEoZHN0WzBdLCBz
cmNbMl0pOworICBFWFBFQ1RfRVEoZHN0WzFdLCBzcmNbMF0pOworICBFWFBFQ1RfRVEoZHN0WzJd
LCBzcmNbM10pOworICBFWFBFQ1RfRVEoZHN0WzNdLCBzcmNbMV0pOworfQorCiB9ICAvLyBuYW1l
c3BhY2UgbGlieXV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3QvY3B1X3Rlc3QuY2MgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3QvY3B1
X3Rlc3QuY2MKaW5kZXggNzQzOGI5NWE2YTkxN2RlMGQ1ZGY0YTZiYzdjNDgxNGVjYTUwNmRjNy4u
YzBiODkxMGExMTVhNjU5NzdkMzM4NGFkYWRmNzFhM2ZlZTEzOTM1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90
ZXN0L2NwdV90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
dGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9jcHVfdGVzdC5jYwpAQCAtMTEsMTAgKzExLDEw
IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKKyNpbmNsdWRl
ICIuLi91bml0X3Rlc3QvdW5pdF90ZXN0LmgiCiAjaW5jbHVkZSAibGlieXV2L2Jhc2ljX3R5cGVz
LmgiCiAjaW5jbHVkZSAibGlieXV2L2NwdV9pZC5oIgogI2luY2x1ZGUgImxpYnl1di92ZXJzaW9u
LmgiCi0jaW5jbHVkZSAiLi4vdW5pdF90ZXN0L3VuaXRfdGVzdC5oIgogCiBuYW1lc3BhY2UgbGli
eXV2IHsKIApAQCAtNTEsNiArNTEsOCBAQCBURVNUX0YoTGliWVVWQmFzZVRlc3QsIFRlc3RDcHVI
YXMpIHsKICAgcHJpbnRmKCJIYXMgTUlQUyAleFxuIiwgaGFzX21pcHMpOwogICBpbnQgaGFzX2Rz
cHIyID0gVGVzdENwdUZsYWcoa0NwdUhhc0RTUFIyKTsKICAgcHJpbnRmKCJIYXMgRFNQUjIgJXhc
biIsIGhhc19kc3ByMik7CisgIGludCBoYXNfbXNhID0gVGVzdENwdUZsYWcoa0NwdUhhc01TQSk7
CisgIHByaW50ZigiSGFzIE1TQSAleFxuIiwgaGFzX21zYSk7CiB9CiAKIFRFU1RfRihMaWJZVVZC
YXNlVGVzdCwgVGVzdENwdUNvbXBpbGVyRW5hYmxlZCkgewpAQCAtNjQsMjMgKzY2LDI0IEBAIFRF
U1RfRihMaWJZVVZCYXNlVGVzdCwgVGVzdENwdUNvbXBpbGVyRW5hYmxlZCkgewogICBwcmludGYo
Ing2NCBidWlsZFxuIik7CiAjZW5kaWYKICNpZmRlZiBfTVNDX1ZFUgotcHJpbnRmKCJfTVNDX1ZF
UiAlZFxuIiwgX01TQ19WRVIpOworICBwcmludGYoIl9NU0NfVkVSICVkXG4iLCBfTVNDX1ZFUik7
CiAjZW5kaWYKLSNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJMRV9YODYpICYmIChkZWZpbmVkKEdD
Q19IQVNfQVZYMikgfHwgXAotICAgIGRlZmluZWQoQ0xBTkdfSEFTX0FWWDIpIHx8IGRlZmluZWQo
VklTVUFMQ19IQVNfQVZYMikpCisjaWYgIWRlZmluZWQoTElCWVVWX0RJU0FCTEVfWDg2KSAmJiAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgKGRlZmluZWQoR0NDX0hBU19BVlgyKSB8fCBkZWZp
bmVkKENMQU5HX0hBU19BVlgyKSB8fCBcCisgICAgIGRlZmluZWQoVklTVUFMQ19IQVNfQVZYMikp
CiAgIHByaW50ZigiSGFzIEFWWDIgMVxuIik7CiAjZWxzZQogICBwcmludGYoIkhhcyBBVlgyIDBc
biIpOwotICAvLyBJZiBjb21waWxlciBkb2VzIG5vdCBzdXBwb3J0IEFWWDIsIHRoZSBmb2xsb3dp
bmcgZnVuY3Rpb24gbm90IGV4cGVjdGVkOgorLy8gSWYgY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9y
dCBBVlgyLCB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIG5vdCBleHBlY3RlZDoKICNlbmRpZgogfQog
Ci0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBcCi0gICAg
ZGVmaW5lZChfTV9JWDg2KSB8fCBkZWZpbmVkKF9NX1g2NCkKKyNpZiBkZWZpbmVkKF9faTM4Nl9f
KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX01fSVg4NikgfHwgXAorICAgIGRl
ZmluZWQoX01fWDY0KQogVEVTVF9GKExpYllVVkJhc2VUZXN0LCBUZXN0Q3B1SWQpIHsKICAgaW50
IGhhc194ODYgPSBUZXN0Q3B1RmxhZyhrQ3B1SGFzWDg2KTsKICAgaWYgKGhhc194ODYpIHsKLSAg
ICB1aW50MzIgY3B1X2luZm9bNF07CisgICAgaW50IGNwdV9pbmZvWzRdOwogICAgIC8vIFZlbmRv
ciBJRDoKICAgICAvLyBBdXRoZW50aWNBTUQgQU1EIHByb2Nlc3NvcgogICAgIC8vIENlbnRhdXJI
YXVscyBDZW50YXVyIHByb2Nlc3NvcgpAQCAtMTEwLDggKzExMyw4IEBAIFRFU1RfRihMaWJZVVZC
YXNlVGVzdCwgVGVzdENwdUlkKSB7CiAgICAgQ3B1SWQoMSwgMCwgY3B1X2luZm8pOwogICAgIGlu
dCBmYW1pbHkgPSAoKGNwdV9pbmZvWzBdID4+IDgpICYgMHgwZikgfCAoKGNwdV9pbmZvWzBdID4+
IDE2KSAmIDB4ZmYwKTsKICAgICBpbnQgbW9kZWwgPSAoKGNwdV9pbmZvWzBdID4+IDQpICYgMHgw
ZikgfCAoKGNwdV9pbmZvWzBdID4+IDEyKSAmIDB4ZjApOwotICAgIHByaW50ZigiQ3B1IEZhbWls
eSAlZCAoMHgleCksIE1vZGVsICVkICgweCV4KVxuIiwgZmFtaWx5LCBmYW1pbHksCi0gICAgICAg
ICAgIG1vZGVsLCBtb2RlbCk7CisgICAgcHJpbnRmKCJDcHUgRmFtaWx5ICVkICgweCV4KSwgTW9k
ZWwgJWQgKDB4JXgpXG4iLCBmYW1pbHksIGZhbWlseSwgbW9kZWwsCisgICAgICAgICAgIG1vZGVs
KTsKICAgfQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3QvY3B1X3RocmVhZF90ZXN0LmNj
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYv
dW5pdF90ZXN0L2NwdV90aHJlYWRfdGVzdC5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTA2MWI5OGUwYmFmMDBk
MmQxZjc3ZTdmOTIxZjEwMGQzNTFjMTI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L2NwdV90
aHJlYWRfdGVzdC5jYwpAQCAtMCwwICsxLDYzIEBACisvKgorICogIENvcHlyaWdodCAyMDE3IFRo
ZSBMaWJZdXYgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqICBV
c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl
CisgKiAgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBv
ZiB0aGUgc291cmNlCisgKiAgdHJlZS4gQW4gYWRkaXRpb25hbCBpbnRlbGxlY3R1YWwgcHJvcGVy
dHkgcmlnaHRzIGdyYW50IGNhbiBiZSBmb3VuZAorICogIGluIHRoZSBmaWxlIFBBVEVOVFMuIEFs
bCBjb250cmlidXRpbmcgcHJvamVjdCBhdXRob3JzIG1heQorICogIGJlIGZvdW5kIGluIHRoZSBB
VVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgorICovCisKKyNpbmNs
dWRlIDxndGVzdC9ndGVzdC5oPgorCisjaW5jbHVkZSAibGlieXV2L2NwdV9pZC5oIgorCisjaWYg
ZGVmaW5lZChfX2NsYW5nX18pCisjaWYgX19oYXNfaW5jbHVkZSg8cHRocmVhZC5oPikKKyNkZWZp
bmUgTElCWVVWX0hBVkVfUFRIUkVBRCAxCisjZW5kaWYKKyNlbGlmIGRlZmluZWQoX19saW51eF9f
KQorI2RlZmluZSBMSUJZVVZfSEFWRV9QVEhSRUFEIDEKKyNlbmRpZgorCisjaWZkZWYgTElCWVVW
X0hBVkVfUFRIUkVBRAorI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyNlbmRpZgorCituYW1lc3BhY2Ug
bGlieXV2IHsKKworI2lmZGVmIExJQllVVl9IQVZFX1BUSFJFQUQKK3ZvaWQqIFRocmVhZE1haW4o
dm9pZCogYXJnKSB7CisgIGludCogZmxhZ3MgPSBzdGF0aWNfY2FzdDxpbnQqPihhcmcpOworCisg
ICpmbGFncyA9IFRlc3RDcHVGbGFnKGtDcHVIYXNTU1NFMyk7CisgIHJldHVybiBudWxscHRyOwor
fQorI2VuZGlmICAvLyBMSUJZVVZfSEFWRV9QVEhSRUFECisKKy8vIENhbGwgVGVzdENwdUZsYWco
KSBmcm9tIHR3byB0aHJlYWRzLiBUaHJlYWRTYW5pdGl6ZXIgc2hvdWxkIG5vdCByZXBvcnQgYW55
CisvLyBkYXRhIHJhY2UuCitURVNUKExpYllVVkNwdVRocmVhZFRlc3QsIFRlc3RDcHVGbGFnTXVs
dGlwbGVUaHJlYWRzKSB7CisjaWZkZWYgTElCWVVWX0hBVkVfUFRIUkVBRAorICBpbnQgY3B1X2Zs
YWdzMTsKKyAgaW50IGNwdV9mbGFnczI7CisgIGludCByZXQ7CisgIHB0aHJlYWRfdCB0aHJlYWQx
OworICBwdGhyZWFkX3QgdGhyZWFkMjsKKworICBNYXNrQ3B1RmxhZ3MoMCk7ICAvLyBSZXNldCB0
byAwIHRvIGFsbG93IGF1dG8gZGV0ZWN0LgorICByZXQgPSBwdGhyZWFkX2NyZWF0ZSgmdGhyZWFk
MSwgbnVsbHB0ciwgVGhyZWFkTWFpbiwgJmNwdV9mbGFnczEpOworICBBU1NFUlRfRVEocmV0LCAw
KTsKKyAgcmV0ID0gcHRocmVhZF9jcmVhdGUoJnRocmVhZDIsIG51bGxwdHIsIFRocmVhZE1haW4s
ICZjcHVfZmxhZ3MyKTsKKyAgQVNTRVJUX0VRKHJldCwgMCk7CisgIHJldCA9IHB0aHJlYWRfam9p
bih0aHJlYWQxLCBudWxscHRyKTsKKyAgRVhQRUNUX0VRKHJldCwgMCk7CisgIHJldCA9IHB0aHJl
YWRfam9pbih0aHJlYWQyLCBudWxscHRyKTsKKyAgRVhQRUNUX0VRKHJldCwgMCk7CisgIEVYUEVD
VF9FUShjcHVfZmxhZ3MxLCBjcHVfZmxhZ3MyKTsKKyNlbHNlCisgIHByaW50ZigicHRocmVhZCB1
bmF2YWlsYWJsZTsgVGVzdCBza2lwcGVkLiIpOworI2VuZGlmICAvLyBMSUJZVVZfSEFWRV9QVEhS
RUFECit9CisKK30gIC8vIG5hbWVzcGFjZSBsaWJ5dXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9tYXRo
X3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di91bml0X3Rlc3QvbWF0aF90ZXN0LmNjCmluZGV4IDE5YWY5ZjZiMDdmOGMwZGJhNmI1
MjNhNmQ5ZDQwNWFiOGJmYzA2Y2QuLjJiNGI1N2IxY2VhNGY2MzRlYmI4OTZlYjU0MzcwOGZkMzJk
MDk0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9tYXRoX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L21hdGhf
dGVzdC5jYwpAQCAtMTIsMTEgKzEyLDExIEBACiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVk
ZSA8dGltZS5oPgogCisjaW5jbHVkZSAiLi4vdW5pdF90ZXN0L3VuaXRfdGVzdC5oIgogI2luY2x1
ZGUgImxpYnl1di9iYXNpY190eXBlcy5oIgogI2luY2x1ZGUgImxpYnl1di9jcHVfaWQuaCIKICNp
bmNsdWRlICJsaWJ5dXYvc2NhbGUuaCIKICNpbmNsdWRlICJsaWJ5dXYvc2NhbGVfcm93LmgiCi0j
aW5jbHVkZSAiLi4vdW5pdF90ZXN0L3VuaXRfdGVzdC5oIgogCiBuYW1lc3BhY2UgbGlieXV2IHsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdW5pdF90ZXN0L3BsYW5hcl90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L3BsYW5hcl90ZXN0
LmNjCmluZGV4IGEyZWIxZmFhYzBlZmFmZDFlODYxZmQ0NzRmOTExMWY2YjdkZmRiZDguLjI4ZDU1
N2E1OWY2NTNhN2VlODAwODcwNDBmYzA2ZDliOTI5ODM3MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9w
bGFuYXJfdGVzdC5jYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3Ro
aXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3QvcGxhbmFyX3Rlc3QuY2MKQEAgLTExLDYgKzExLDcg
QEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDx0aW1lLmg+CiAKKyNpbmNsdWRlICIu
Li91bml0X3Rlc3QvdW5pdF90ZXN0LmgiCiAjaW5jbHVkZSAibGlieXV2L2NvbXBhcmUuaCIKICNp
bmNsdWRlICJsaWJ5dXYvY29udmVydC5oIgogI2luY2x1ZGUgImxpYnl1di9jb252ZXJ0X2FyZ2Iu
aCIKQEAgLTE5LDcgKzIwLDYgQEAKICNpbmNsdWRlICJsaWJ5dXYvY3B1X2lkLmgiCiAjaW5jbHVk
ZSAibGlieXV2L3BsYW5hcl9mdW5jdGlvbnMuaCIKICNpbmNsdWRlICJsaWJ5dXYvcm90YXRlLmgi
Ci0jaW5jbHVkZSAiLi4vdW5pdF90ZXN0L3VuaXRfdGVzdC5oIgogCiBuYW1lc3BhY2UgbGlieXV2
IHsKIApAQCAtOTAsMTEgKzkwLDExIEBAIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBUZXN0QXR0
ZW51YXRlKSB7CiAgIEVYUEVDVF9FUSgwLCBhdHRlbl9waXhlbHNbMCAqIDQgKyAzXSk7CiAgIEVY
UEVDVF9FUSg2NCwgYXR0ZW5fcGl4ZWxzWzEyOCAqIDQgKyAwXSk7CiAgIEVYUEVDVF9FUSgzMiwg
YXR0ZW5fcGl4ZWxzWzEyOCAqIDQgKyAxXSk7Ci0gIEVYUEVDVF9FUSgyMSwgIGF0dGVuX3BpeGVs
c1sxMjggKiA0ICsgMl0pOworICBFWFBFQ1RfRVEoMjEsIGF0dGVuX3BpeGVsc1sxMjggKiA0ICsg
Ml0pOwogICBFWFBFQ1RfRVEoMTI4LCBhdHRlbl9waXhlbHNbMTI4ICogNCArIDNdKTsKICAgRVhQ
RUNUX05FQVIoMjU1LCBhdHRlbl9waXhlbHNbMjU1ICogNCArIDBdLCAxKTsKICAgRVhQRUNUX05F
QVIoMTI3LCBhdHRlbl9waXhlbHNbMjU1ICogNCArIDFdLCAxKTsKLSAgRVhQRUNUX05FQVIoODUs
ICBhdHRlbl9waXhlbHNbMjU1ICogNCArIDJdLCAxKTsKKyAgRVhQRUNUX05FQVIoODUsIGF0dGVu
X3BpeGVsc1syNTUgKiA0ICsgMl0sIDEpOwogICBFWFBFQ1RfRVEoMjU1LCBhdHRlbl9waXhlbHNb
MjU1ICogNCArIDNdKTsKIAogICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGF0dGVuMl9w
aXhlbHMpOwpAQCAtMTAzLDkgKzEwMywxMyBAQCBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgVGVz
dEF0dGVudWF0ZSkgewogICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKG9yaWdfcGl4ZWxz
KTsKIH0KIAotc3RhdGljIGludCBUZXN0QXR0ZW51YXRlSShpbnQgd2lkdGgsIGludCBoZWlnaHQs
IGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGRpc2FibGVfY3B1X2ZsYWdzLCBpbnQgYmVuY2htYXJrX2NwdV9pbmZvLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgaW52ZXJ0LCBpbnQgb2ZmKSB7CitzdGF0aWMgaW50IFRlc3RBdHRl
bnVhdGVJKGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJlbmNobWFya19pdGVyYXRpb25zLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfY3B1X2luZm8sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBpbnZlcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvZmYp
IHsKICAgaWYgKHdpZHRoIDwgMSkgewogICAgIHdpZHRoID0gMTsKICAgfQpAQCAtMTIxLDIwICsx
MjUsMTcgQEAgc3RhdGljIGludCBUZXN0QXR0ZW51YXRlSShpbnQgd2lkdGgsIGludCBoZWlnaHQs
IGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKICAgbWVtc2V0KGRzdF9hcmdiX29wdCwgMCwga1N0
cmlkZSAqIGhlaWdodCk7CiAKICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzKTsKLSAg
QVJHQkF0dGVudWF0ZShzcmNfYXJnYiArIG9mZiwga1N0cmlkZSwKLSAgICAgICAgICAgICAgICBk
c3RfYXJnYl9jLCBrU3RyaWRlLAotICAgICAgICAgICAgICAgIHdpZHRoLCBpbnZlcnQgKiBoZWln
aHQpOworICBBUkdCQXR0ZW51YXRlKHNyY19hcmdiICsgb2ZmLCBrU3RyaWRlLCBkc3RfYXJnYl9j
LCBrU3RyaWRlLCB3aWR0aCwKKyAgICAgICAgICAgICAgICBpbnZlcnQgKiBoZWlnaHQpOwogICBN
YXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvKTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBi
ZW5jaG1hcmtfaXRlcmF0aW9uczsgKytpKSB7Ci0gICAgQVJHQkF0dGVudWF0ZShzcmNfYXJnYiAr
IG9mZiwga1N0cmlkZSwKLSAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX29wdCwga1N0cmlkZSwK
LSAgICAgICAgICAgICAgICAgIHdpZHRoLCBpbnZlcnQgKiBoZWlnaHQpOworICAgIEFSR0JBdHRl
bnVhdGUoc3JjX2FyZ2IgKyBvZmYsIGtTdHJpZGUsIGRzdF9hcmdiX29wdCwga1N0cmlkZSwgd2lk
dGgsCisgICAgICAgICAgICAgICAgICBpbnZlcnQgKiBoZWlnaHQpOwogICB9CiAgIGludCBtYXhf
ZGlmZiA9IDA7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZSAqIGhlaWdodDsgKytpKSB7
Ci0gICAgaW50IGFic19kaWZmID0KLSAgICAgICAgYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2Fy
Z2JfY1tpXSkgLQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9vcHRbaV0p
KTsKKyAgICBpbnQgYWJzX2RpZmYgPSBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9jW2ld
KSAtCisgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2Jfb3B0
W2ldKSk7CiAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsKICAgICAgIG1heF9kaWZmID0g
YWJzX2RpZmY7CiAgICAgfQpAQCAtMTQ3LDM5ICsxNDgsMzkgQEAgc3RhdGljIGludCBUZXN0QXR0
ZW51YXRlSShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywK
IAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JBdHRlbnVhdGVfQW55KSB7CiAgIGludCBt
YXhfZGlmZiA9IFRlc3RBdHRlbnVhdGVJKGJlbmNobWFya193aWR0aF8gLSAxLCBiZW5jaG1hcmtf
aGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJh
dGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFn
c18sIGJlbmNobWFya19jcHVfaW5mb18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICsxLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJh
dGlvbnNfLCBkaXNhYmxlX2NwdV9mbGFnc18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAwKTsKICAgRVhQRUNUX0xFKG1heF9kaWZmLCAy
KTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JBdHRlbnVhdGVfVW5hbGlnbmVk
KSB7Ci0gIGludCBtYXhfZGlmZiA9IFRlc3RBdHRlbnVhdGVJKGJlbmNobWFya193aWR0aF8sIGJl
bmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1h
cmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVf
Y3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKzEsIDEpOworICBpbnQgbWF4X2RpZmYgPQorICAgICAgVGVzdEF0dGVudWF0ZUko
YmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25z
XywKKyAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2Nw
dV9pbmZvXywgKzEsIDEpOwogICBFWFBFQ1RfTEUobWF4X2RpZmYsIDIpOwogfQogCiBURVNUX0Yo
TGliWVVWUGxhbmFyVGVzdCwgQVJHQkF0dGVudWF0ZV9JbnZlcnQpIHsKLSAgaW50IG1heF9kaWZm
ID0gVGVzdEF0dGVudWF0ZUkoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1h
cmtfY3B1X2luZm9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMSwgMCk7Cisg
IGludCBtYXhfZGlmZiA9CisgICAgICBUZXN0QXR0ZW51YXRlSShiZW5jaG1hcmtfd2lkdGhfLCBi
ZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICAgICAgICAgICAgICAg
ICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCk7CiAg
IEVYUEVDVF9MRShtYXhfZGlmZiwgMik7CiB9CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBB
UkdCQXR0ZW51YXRlX09wdCkgewotICBpbnQgbWF4X2RpZmYgPSBUZXN0QXR0ZW51YXRlSShiZW5j
aG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICsxLCAwKTsKKyAgaW50IG1heF9kaWZmID0KKyAgICAg
IFRlc3RBdHRlbnVhdGVJKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCBiZW5j
aG1hcmtfaXRlcmF0aW9uc18sCisgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFn
c18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAwKTsKICAgRVhQRUNUX0xFKG1heF9kaWZmLCAy
KTsKIH0KIAotc3RhdGljIGludCBUZXN0VW5hdHRlbnVhdGVJKGludCB3aWR0aCwgaW50IGhlaWdo
dCwgaW50IGJlbmNobWFya19pdGVyYXRpb25zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkaXNhYmxlX2NwdV9mbGFncywgaW50IGJlbmNobWFya19jcHVfaW5mbywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgaW52ZXJ0LCBpbnQgb2ZmKSB7CitzdGF0aWMgaW50IFRl
c3RVbmF0dGVudWF0ZUkoaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBoZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJlbmNobWFya19pdGVy
YXRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2NwdV9mbGFn
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmVuY2htYXJrX2NwdV9pbmZvLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnZlcnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IG9mZikgewogICBpZiAod2lkdGggPCAxKSB7CiAgICAgd2lkdGggPSAx
OwogICB9CkBAIC0xOTEsMjcgKzE5MiwyMyBAQCBzdGF0aWMgaW50IFRlc3RVbmF0dGVudWF0ZUko
aW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCiAgIGZvciAo
aW50IGkgPSAwOyBpIDwga1N0cmlkZSAqIGhlaWdodDsgKytpKSB7CiAgICAgc3JjX2FyZ2JbaSAr
IG9mZl0gPSAoZmFzdHJhbmQoKSAmIDB4ZmYpOwogICB9Ci0gIEFSR0JBdHRlbnVhdGUoc3JjX2Fy
Z2IgKyBvZmYsIGtTdHJpZGUsCi0gICAgICAgICAgICAgICAgc3JjX2FyZ2IgKyBvZmYsIGtTdHJp
ZGUsCi0gICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CisgIEFSR0JBdHRlbnVhdGUoc3Jj
X2FyZ2IgKyBvZmYsIGtTdHJpZGUsIHNyY19hcmdiICsgb2ZmLCBrU3RyaWRlLCB3aWR0aCwKKyAg
ICAgICAgICAgICAgICBoZWlnaHQpOwogICBtZW1zZXQoZHN0X2FyZ2JfYywgMCwga1N0cmlkZSAq
IGhlaWdodCk7CiAgIG1lbXNldChkc3RfYXJnYl9vcHQsIDAsIGtTdHJpZGUgKiBoZWlnaHQpOwog
CiAgIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFncyk7Ci0gIEFSR0JVbmF0dGVudWF0ZShz
cmNfYXJnYiArIG9mZiwga1N0cmlkZSwKLSAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX2MsIGtT
dHJpZGUsCi0gICAgICAgICAgICAgICAgICB3aWR0aCwgaW52ZXJ0ICogaGVpZ2h0KTsKKyAgQVJH
QlVuYXR0ZW51YXRlKHNyY19hcmdiICsgb2ZmLCBrU3RyaWRlLCBkc3RfYXJnYl9jLCBrU3RyaWRl
LCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgIGludmVydCAqIGhlaWdodCk7CiAgIE1hc2tDcHVG
bGFncyhiZW5jaG1hcmtfY3B1X2luZm8pOwogICBmb3IgKGludCBpID0gMDsgaSA8IGJlbmNobWFy
a19pdGVyYXRpb25zOyArK2kpIHsKLSAgICBBUkdCVW5hdHRlbnVhdGUoc3JjX2FyZ2IgKyBvZmYs
IGtTdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX29wdCwga1N0cmlkZSwKLSAg
ICAgICAgICAgICAgICAgICAgd2lkdGgsIGludmVydCAqIGhlaWdodCk7CisgICAgQVJHQlVuYXR0
ZW51YXRlKHNyY19hcmdiICsgb2ZmLCBrU3RyaWRlLCBkc3RfYXJnYl9vcHQsIGtTdHJpZGUsIHdp
ZHRoLAorICAgICAgICAgICAgICAgICAgICBpbnZlcnQgKiBoZWlnaHQpOwogICB9CiAgIGludCBt
YXhfZGlmZiA9IDA7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZSAqIGhlaWdodDsgKytp
KSB7Ci0gICAgaW50IGFic19kaWZmID0KLSAgICAgICAgYWJzKHN0YXRpY19jYXN0PGludD4oZHN0
X2FyZ2JfY1tpXSkgLQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9vcHRb
aV0pKTsKKyAgICBpbnQgYWJzX2RpZmYgPSBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9j
W2ldKSAtCisgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2Jf
b3B0W2ldKSk7CiAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsKICAgICAgIG1heF9kaWZm
ID0gYWJzX2RpZmY7CiAgICAgfQpAQCAtMjI0LDMzICsyMjEsMjkgQEAgc3RhdGljIGludCBUZXN0
VW5hdHRlbnVhdGVJKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGJlbmNobWFya19pdGVyYXRp
b25zLAogCiBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQlVuYXR0ZW51YXRlX0FueSkgewog
ICBpbnQgbWF4X2RpZmYgPSBUZXN0VW5hdHRlbnVhdGVJKGJlbmNobWFya193aWR0aF8gLSAxLCBi
ZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5j
aG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlz
YWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICsxLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sIGRpc2FibGVfY3B1X2ZsYWdzXywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7CiAgIEVY
UEVDVF9MRShtYXhfZGlmZiwgMik7CiB9CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBBUkdC
VW5hdHRlbnVhdGVfVW5hbGlnbmVkKSB7CiAgIGludCBtYXhfZGlmZiA9IFRlc3RVbmF0dGVudWF0
ZUkoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZv
XywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArMSwgMSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLCBkaXNhYmxlX2Nw
dV9mbGFnc18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2Nw
dV9pbmZvXywgKzEsIDEpOwogICBFWFBFQ1RfTEUobWF4X2RpZmYsIDIpOwogfQogCiBURVNUX0Yo
TGliWVVWUGxhbmFyVGVzdCwgQVJHQlVuYXR0ZW51YXRlX0ludmVydCkgewogICBpbnQgbWF4X2Rp
ZmYgPSBUZXN0VW5hdHRlbnVhdGVJKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRf
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25z
XywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18s
IGJlbmNobWFya19jcHVfaW5mb18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LTEsIDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVy
YXRpb25zXywgZGlzYWJsZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJlbmNobWFya19jcHVfaW5mb18sIC0xLCAwKTsKICAgRVhQRUNUX0xFKG1heF9kaWZm
LCAyKTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JVbmF0dGVudWF0ZV9PcHQp
IHsKICAgaW50IG1heF9kaWZmID0gVGVzdFVuYXR0ZW51YXRlSShiZW5jaG1hcmtfd2lkdGhfLCBi
ZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5j
aG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlz
YWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICsxLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sIGRpc2FibGVfY3B1X2ZsYWdzXywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7CiAgIEVY
UEVDVF9MRShtYXhfZGlmZiwgMik7CiB9CiAKQEAgLTI2OCw4ICsyNjEsNyBAQCBURVNUX0YoTGli
WVVWUGxhbmFyVGVzdCwgVGVzdEFSR0JDb21wdXRlQ3VtdWxhdGl2ZVN1bSkgewogICB9CiAKICAg
QVJHQkNvbXB1dGVDdW11bGF0aXZlU3VtKCZvcmlnX3BpeGVsc1swXVswXVswXSwgMTYgKiA0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFkZGVkX3BpeGVsc1swXVswXVswXSwgMTYgKiA0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYsIDE2KTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZhZGRlZF9waXhlbHNbMF1bMF1bMF0sIDE2ICogNCwgMTYsIDE2KTsKIAogICBm
b3IgKGludCB5ID0gMDsgeSA8IDE2OyArK3kpIHsKICAgICBmb3IgKGludCB4ID0gMDsgeCA8IDE2
OyArK3gpIHsKQEAgLTUwMywxMCArNDk1LDggQEAgVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIFRl
c3RBUkdCQ29sb3JNYXRyaXgpIHsKIAogICAvLyBNYXRyaXggZm9yIFNlcGlhLgogICBTSU1EX0FM
SUdORUQoc3RhdGljIGNvbnN0IGludDgga1JHQlRvU2VwaWFbXSkgPSB7Ci0gICAgMTcgLyAyLCA2
OCAvIDIsIDM1IC8gMiwgMCwKLSAgICAyMiAvIDIsIDg4IC8gMiwgNDUgLyAyLCAwLAotICAgIDI0
IC8gMiwgOTggLyAyLCA1MCAvIDIsIDAsCi0gICAgMCwgMCwgMCwgNjQsICAvLyBDb3B5IGFscGhh
LgorICAgICAgMTcgLyAyLCA2OCAvIDIsIDM1IC8gMiwgMCwgMjIgLyAyLCA4OCAvIDIsIDQ1IC8g
MiwgMCwKKyAgICAgIDI0IC8gMiwgOTggLyAyLCA1MCAvIDIsIDAsIDAsICAgICAgMCwgICAgICAw
LCAgICAgIDY0LCAgLy8gQ29weSBhbHBoYS4KICAgfTsKICAgbWVtc2V0KG9yaWdfcGl4ZWxzLCAw
LCBzaXplb2Yob3JpZ19waXhlbHMpKTsKIApAQCAtNTc5LDEwICs1NjksOCBAQCBURVNUX0YoTGli
WVVWUGxhbmFyVGVzdCwgVGVzdFJHQkNvbG9yTWF0cml4KSB7CiAKICAgLy8gTWF0cml4IGZvciBT
ZXBpYS4KICAgU0lNRF9BTElHTkVEKHN0YXRpYyBjb25zdCBpbnQ4IGtSR0JUb1NlcGlhW10pID0g
ewotICAgIDE3LCA2OCwgMzUsIDAsCi0gICAgMjIsIDg4LCA0NSwgMCwKLSAgICAyNCwgOTgsIDUw
LCAwLAotICAgIDAsIDAsIDAsIDAsICAvLyBVbnVzZWQgYnV0IG1ha2VzIG1hdHJpeCAxNiBieXRl
cy4KKyAgICAgIDE3LCA2OCwgMzUsIDAsIDIyLCA4OCwgNDUsIDAsCisgICAgICAyNCwgOTgsIDUw
LCAwLCAwLCAgMCwgIDAsICAwLCAgLy8gVW51c2VkIGJ1dCBtYWtlcyBtYXRyaXggMTYgYnl0ZXMu
CiAgIH07CiAgIG1lbXNldChvcmlnX3BpeGVscywgMCwgc2l6ZW9mKG9yaWdfcGl4ZWxzKSk7CiAK
QEAgLTY0MiwxMCArNjMwLDcgQEAgVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIFRlc3RBUkdCQ29s
b3JUYWJsZSkgewogCiAgIC8vIE1hdHJpeCBmb3IgU2VwaWEuCiAgIHN0YXRpYyBjb25zdCB1aW50
OCBrQVJHQlRhYmxlWzI1NiAqIDRdID0gewotICAgIDF1LCAydSwgM3UsIDR1LAotICAgIDV1LCA2
dSwgN3UsIDh1LAotICAgIDl1LCAxMHUsIDExdSwgMTJ1LAotICAgIDEzdSwgMTR1LCAxNXUsIDE2
dSwKKyAgICAgIDF1LCAydSwgM3UsIDR1LCA1dSwgNnUsIDd1LCA4dSwgOXUsIDEwdSwgMTF1LCAx
MnUsIDEzdSwgMTR1LCAxNXUsIDE2dSwKICAgfTsKIAogICBvcmlnX3BpeGVsc1swXVswXSA9IDB1
OwpAQCAtNzAxLDEwICs2ODYsNyBAQCBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgVGVzdFJHQkNv
bG9yVGFibGUpIHsKIAogICAvLyBNYXRyaXggZm9yIFNlcGlhLgogICBzdGF0aWMgY29uc3QgdWlu
dDgga0FSR0JUYWJsZVsyNTYgKiA0XSA9IHsKLSAgICAxdSwgMnUsIDN1LCA0dSwKLSAgICA1dSwg
NnUsIDd1LCA4dSwKLSAgICA5dSwgMTB1LCAxMXUsIDEydSwKLSAgICAxM3UsIDE0dSwgMTV1LCAx
NnUsCisgICAgICAxdSwgMnUsIDN1LCA0dSwgNXUsIDZ1LCA3dSwgOHUsIDl1LCAxMHUsIDExdSwg
MTJ1LCAxM3UsIDE0dSwgMTV1LCAxNnUsCiAgIH07CiAKICAgb3JpZ19waXhlbHNbMF1bMF0gPSAw
dTsKQEAgLTc2Miw4ICs3NDQsOCBAQCBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgVGVzdEFSR0JR
dWFudGl6ZSkgewogICAgIG9yaWdfcGl4ZWxzW2ldWzJdID0gaSAvIDM7CiAgICAgb3JpZ19waXhl
bHNbaV1bM10gPSBpOwogICB9Ci0gIEFSR0JRdWFudGl6ZSgmb3JpZ19waXhlbHNbMF1bMF0sIDAs
Ci0gICAgICAgICAgICAgICAoNjU1MzYgKyAoOCAvIDIpKSAvIDgsIDgsIDggLyAyLCAwLCAwLCAx
MjgwLCAxKTsKKyAgQVJHQlF1YW50aXplKCZvcmlnX3BpeGVsc1swXVswXSwgMCwgKDY1NTM2ICsg
KDggLyAyKSkgLyA4LCA4LCA4IC8gMiwgMCwgMCwKKyAgICAgICAgICAgICAgIDEyODAsIDEpOwog
CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTI4MDsgKytpKSB7CiAgICAgRVhQRUNUX0VRKChpIC8g
OCAqIDggKyA4IC8gMikgJiAyNTUsIG9yaWdfcGl4ZWxzW2ldWzBdKTsKQEAgLTc3Miw4ICs3NTQs
OCBAQCBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgVGVzdEFSR0JRdWFudGl6ZSkgewogICAgIEVY
UEVDVF9FUShpICYgMjU1LCBvcmlnX3BpeGVsc1tpXVszXSk7CiAgIH0KICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBiZW5jaG1hcmtfcGl4ZWxzX2RpdjEyODBfOyArK2kpIHsKLSAgICBBUkdCUXVhbnRp
emUoJm9yaWdfcGl4ZWxzWzBdWzBdLCAwLAotICAgICAgICAgICAgICAgICAoNjU1MzYgKyAoOCAv
IDIpKSAvIDgsIDgsIDggLyAyLCAwLCAwLCAxMjgwLCAxKTsKKyAgICBBUkdCUXVhbnRpemUoJm9y
aWdfcGl4ZWxzWzBdWzBdLCAwLCAoNjU1MzYgKyAoOCAvIDIpKSAvIDgsIDgsIDggLyAyLCAwLCAw
LAorICAgICAgICAgICAgICAgICAxMjgwLCAxKTsKICAgfQogfQogCkBAIC0xMDIwLDQ4ICsxMDAy
LDQ1IEBAIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBUZXN0SW50ZXJwb2xhdGVQbGFuZSkgewog
ICB9CiB9CiAKLSNkZWZpbmUgVEVTVFRFUlAoRk1UX0EsIEJQUF9BLCBTVFJJREVfQSwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgIEZNVF9C
LCBCUFBfQiwgU1RSSURFX0IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICAgICAgICAgICBXMTI4MCwgVEVSUCwgTiwgTkVHLCBPRkYpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLVRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBBUkdC
SW50ZXJwb2xhdGUjI1RFUlAjI04pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGNv
bnN0IGludCBrV2lkdGggPSAoKFcxMjgwKSA+IDApID8gKFcxMjgwKSA6IDE7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBpbnQga0hlaWdodCA9IGJlbmNobWFya19oZWln
aHRfOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgaW50
IGtTdHJpZGVBID0gKGtXaWR0aCAqIEJQUF9BICsgU1RSSURFX0EgLSAxKSAvIFNUUklERV9BICog
U1RSSURFX0E7ICBcCi0gIGNvbnN0IGludCBrU3RyaWRlQiA9IChrV2lkdGggKiBCUFBfQiArIFNU
UklERV9CIC0gMSkgLyBTVFJJREVfQiAqIFNUUklERV9COyAgXAotICBhbGlnbl9idWZmZXJfcGFn
ZV9lbmQoc3JjX2FyZ2JfYSwga1N0cmlkZUEgKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAg
ICAgIFwKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiX2IsIGtTdHJpZGVBICoga0hl
aWdodCArIE9GRik7ICAgICAgICAgICAgICAgICBcCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChk
c3RfYXJnYl9jLCBrU3RyaWRlQiAqIGtIZWlnaHQpOyAgICAgICAgICAgICAgICAgICAgICAgXAot
ICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlQiAqIGtIZWlnaHQp
OyAgICAgICAgICAgICAgICAgICAgIFwKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlQSAq
IGtIZWlnaHQ7ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3Jj
X2FyZ2JfYVtpICsgT0ZGXSA9IChmYXN0cmFuZCgpICYgMHhmZik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIHNyY19hcmdiX2JbaSArIE9GRl0gPSAoZmFzdHJhbmQoKSAm
IDB4ZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFnc18pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBBUkdCSW50ZXJwb2xhdGUoc3Jj
X2FyZ2JfYSArIE9GRiwga1N0cmlkZUEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICAgICAgICAgICAgICAgIHNyY19hcmdiX2IgKyBPRkYsIGtTdHJpZGVBLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBkc3RfYXJnYl9j
LCBrU3RyaWRlQiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
ICAgICAgICAgICAgICAga1dpZHRoLCBORUcga0hlaWdodCwgVEVSUCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50
IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIEFSR0JJbnRlcnBvbGF0ZShzcmNfYXJnYl9hICsgT0ZGLCBrU3Ry
aWRlQSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgc3JjX2FyZ2JfYiArIE9GRiwga1N0cmlkZUEsICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX29wdCwga1N0cmlkZUIsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICBrV2lk
dGgsIE5FRyBrSGVpZ2h0LCBURVJQKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZUIg
KiBrSGVpZ2h0OyArK2kpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIEVY
UEVDVF9FUShkc3RfYXJnYl9jW2ldLCBkc3RfYXJnYl9vcHRbaV0pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIGZyZWVfYWxpZ25l
ZF9idWZmZXJfcGFnZV9lbmQoc3JjX2FyZ2JfYSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiX2IpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgZnJlZV9hbGlnbmVkX2J1ZmZl
cl9wYWdlX2VuZChkc3RfYXJnYl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2FyZ2Jfb3B0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQotCi0jZGVmaW5lIFRFU1RJTlRFUlBPTEFU
RShURVJQKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIFRFU1RURVJQKEFSR0IsIDQsIDEsIEFSR0IsIDQsIDEsIGJlbmNobWFya193aWR0aF8g
LSAxLCBURVJQLCBfQW55LCArLCAwKSAgIFwKLSAgICBURVNUVEVSUChBUkdCLCA0LCAxLCBBUkdC
LCA0LCAxLCBiZW5jaG1hcmtfd2lkdGhfLCBURVJQLCBfVW5hbGlnbmVkLCArLCAxKSBcCi0gICAg
VEVTVFRFUlAoQVJHQiwgNCwgMSwgQVJHQiwgNCwgMSwgYmVuY2htYXJrX3dpZHRoXywgVEVSUCwg
X0ludmVydCwgLSwgMCkgICAgXAotICAgIFRFU1RURVJQKEFSR0IsIDQsIDEsIEFSR0IsIDQsIDEs
IGJlbmNobWFya193aWR0aF8sIFRFUlAsIF9PcHQsICssIDApCisjZGVmaW5lIFRFU1RURVJQKEZN
VF9BLCBCUFBfQSwgU1RSSURFX0EsIEZNVF9CLCBCUFBfQiwgU1RSSURFX0IsIFcxMjgwLCBURVJQ
LCBcCisgICAgICAgICAgICAgICAgIE4sIE5FRywgT0ZGKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBB
UkdCSW50ZXJwb2xhdGUjI1RFUlAjI04pIHsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
Y29uc3QgaW50IGtXaWR0aCA9ICgoVzEyODApID4gMCkgPyAoVzEyODApIDogMTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtIZWlnaHQgPSBiZW5jaG1hcmtfaGVp
Z2h0XzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50
IGtTdHJpZGVBID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICAgIChrV2lkdGggKiBCUFBfQSArIFNUUklERV9BIC0gMSkgLyBTVFJJ
REVfQSAqIFNUUklERV9BOyAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgaW50IGtTdHJpZGVC
ID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIChrV2lkdGggKiBCUFBfQiArIFNUUklERV9CIC0gMSkgLyBTVFJJREVfQiAqIFNU
UklERV9COyAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY19h
cmdiX2EsIGtTdHJpZGVBKiBrSGVpZ2h0ICsgT0ZGKTsgICAgICAgICAgICAgICBcCisgICAgYWxp
Z25fYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiX2IsIGtTdHJpZGVBKiBrSGVpZ2h0ICsgT0ZGKTsg
ICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX2MsIGtT
dHJpZGVCKiBrSGVpZ2h0KTsgICAgICAgICAgICAgICAgICAgICBcCisgICAgYWxpZ25fYnVmZmVy
X3BhZ2VfZW5kKGRzdF9hcmdiX29wdCwga1N0cmlkZUIqIGtIZWlnaHQpOyAgICAgICAgICAgICAg
ICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlQSAqIGtIZWlnaHQ7ICsraSkg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBzcmNfYXJnYl9hW2kgKyBPRkZd
ID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICBzcmNfYXJnYl9iW2kgKyBPRkZdID0gKGZhc3RyYW5kKCkgJiAweGZmKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgTWFza0Nw
dUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgQVJHQkludGVycG9sYXRlKHNyY19hcmdiX2EgKyBPRkYsIGtTdHJp
ZGVBLCBzcmNfYXJnYl9iICsgT0ZGLCBrU3RyaWRlQSwgICBcCisgICAgICAgICAgICAgICAgICAg
IGRzdF9hcmdiX2MsIGtTdHJpZGVCLCBrV2lkdGgsIE5FRyBrSGVpZ2h0LCBURVJQKTsgICAgICAg
ICBcCisgICAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5j
aG1hcmtfaXRlcmF0aW9uc187ICsraSkgeyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICBBUkdCSW50ZXJwb2xhdGUoc3JjX2FyZ2JfYSArIE9GRiwga1N0cmlkZUEsIHNyY19hcmdiX2Ig
KyBPRkYsIGtTdHJpZGVBLCBcCisgICAgICAgICAgICAgICAgICAgICAgZHN0X2FyZ2Jfb3B0LCBr
U3RyaWRlQiwga1dpZHRoLCBORUcga0hlaWdodCwgVEVSUCk7ICAgICBcCisgICAgfSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlQiAqIGtIZWlnaHQ7ICsr
aSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBFWFBFQ1RfRVEoZHN0X2Fy
Z2JfY1tpXSwgZHN0X2FyZ2Jfb3B0W2ldKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfYXJnYl9hKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJl
ZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfYXJnYl9iKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJn
Yl9jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZnJlZV9hbGlnbmVk
X2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9vcHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgIH0KKworI2RlZmluZSBURVNUSU5URVJQT0xBVEUoVEVSUCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1RURVJQKEFSR0IsIDQs
IDEsIEFSR0IsIDQsIDEsIGJlbmNobWFya193aWR0aF8gLSAxLCBURVJQLCBfQW55LCArLCAwKSAg
IFwKKyAgVEVTVFRFUlAoQVJHQiwgNCwgMSwgQVJHQiwgNCwgMSwgYmVuY2htYXJrX3dpZHRoXywg
VEVSUCwgX1VuYWxpZ25lZCwgKywgMSkgXAorICBURVNUVEVSUChBUkdCLCA0LCAxLCBBUkdCLCA0
LCAxLCBiZW5jaG1hcmtfd2lkdGhfLCBURVJQLCBfSW52ZXJ0LCAtLCAwKSAgICBcCisgIFRFU1RU
RVJQKEFSR0IsIDQsIDEsIEFSR0IsIDQsIDEsIGJlbmNobWFya193aWR0aF8sIFRFUlAsIF9PcHQs
ICssIDApCiAKIFRFU1RJTlRFUlBPTEFURSgwKQogVEVTVElOVEVSUE9MQVRFKDY0KQpAQCAtMTA2
OSw5ICsxMDQ4LDEzIEBAIFRFU1RJTlRFUlBPTEFURSgxMjgpCiBURVNUSU5URVJQT0xBVEUoMTky
KQogVEVTVElOVEVSUE9MQVRFKDI1NSkKIAotc3RhdGljIGludCBUZXN0QmxlbmQoaW50IHdpZHRo
LCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCi0gICAgICAgICAgICAgICAg
ICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsIGludCBiZW5jaG1hcmtfY3B1X2luZm8sCi0gICAg
ICAgICAgICAgICAgICAgICBpbnQgaW52ZXJ0LCBpbnQgb2ZmKSB7CitzdGF0aWMgaW50IFRlc3RC
bGVuZChpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAorICAgICAg
ICAgICAgICAgICAgICAgaW50IGJlbmNobWFya19pdGVyYXRpb25zLAorICAgICAgICAgICAgICAg
ICAgICAgaW50IGRpc2FibGVfY3B1X2ZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgaW50IGJl
bmNobWFya19jcHVfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgIGludCBpbnZlcnQsCisgICAg
ICAgICAgICAgICAgICAgICBpbnQgb2ZmKSB7CiAgIGlmICh3aWR0aCA8IDEpIHsKICAgICB3aWR0
aCA9IDE7CiAgIH0KQEAgLTEwOTMsMjIgKzEwNzYsMTcgQEAgc3RhdGljIGludCBUZXN0QmxlbmQo
aW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCiAgIG1lbXNl
dChkc3RfYXJnYl9vcHQsIDI1NSwga1N0cmlkZSAqIGhlaWdodCk7CiAKICAgTWFza0NwdUZsYWdz
KGRpc2FibGVfY3B1X2ZsYWdzKTsKLSAgQVJHQkJsZW5kKHNyY19hcmdiX2EgKyBvZmYsIGtTdHJp
ZGUsCi0gICAgICAgICAgICBzcmNfYXJnYl9iICsgb2ZmLCBrU3RyaWRlLAotICAgICAgICAgICAg
ZHN0X2FyZ2JfYywga1N0cmlkZSwKLSAgICAgICAgICAgIHdpZHRoLCBpbnZlcnQgKiBoZWlnaHQp
OworICBBUkdCQmxlbmQoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwgc3JjX2FyZ2JfYiArIG9m
Ziwga1N0cmlkZSwgZHN0X2FyZ2JfYywKKyAgICAgICAgICAgIGtTdHJpZGUsIHdpZHRoLCBpbnZl
cnQgKiBoZWlnaHQpOwogICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvKTsKICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uczsgKytpKSB7Ci0gICAgQVJHQkJs
ZW5kKHNyY19hcmdiX2EgKyBvZmYsIGtTdHJpZGUsCi0gICAgICAgICAgICAgIHNyY19hcmdiX2Ig
KyBvZmYsIGtTdHJpZGUsCi0gICAgICAgICAgICAgIGRzdF9hcmdiX29wdCwga1N0cmlkZSwKLSAg
ICAgICAgICAgICAgd2lkdGgsIGludmVydCAqIGhlaWdodCk7CisgICAgQVJHQkJsZW5kKHNyY19h
cmdiX2EgKyBvZmYsIGtTdHJpZGUsIHNyY19hcmdiX2IgKyBvZmYsIGtTdHJpZGUsCisgICAgICAg
ICAgICAgIGRzdF9hcmdiX29wdCwga1N0cmlkZSwgd2lkdGgsIGludmVydCAqIGhlaWdodCk7CiAg
IH0KICAgaW50IG1heF9kaWZmID0gMDsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlICog
aGVpZ2h0OyArK2kpIHsKLSAgICBpbnQgYWJzX2RpZmYgPQotICAgICAgICBhYnMoc3RhdGljX2Nh
c3Q8aW50Pihkc3RfYXJnYl9jW2ldKSAtCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRz
dF9hcmdiX29wdFtpXSkpOworICAgIGludCBhYnNfZGlmZiA9IGFicyhzdGF0aWNfY2FzdDxpbnQ+
KGRzdF9hcmdiX2NbaV0pIC0KKyAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50
Pihkc3RfYXJnYl9vcHRbaV0pKTsKICAgICBpZiAoYWJzX2RpZmYgPiBtYXhfZGlmZikgewogICAg
ICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsKICAgICB9CkBAIC0xMTIxLDM2ICsxMDk5LDQwIEBAIHN0
YXRpYyBpbnQgVGVzdEJsZW5kKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGJlbmNobWFya19p
dGVyYXRpb25zLAogfQogCiBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQkJsZW5kX0FueSkg
ewotICBpbnQgbWF4X2RpZmYgPSBUZXN0QmxlbmQoYmVuY2htYXJrX3dpZHRoXyAtIDQsIGJlbmNo
bWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJh
dGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCAg
YmVuY2htYXJrX2NwdV9pbmZvXywgKzEsIDApOworICBpbnQgbWF4X2RpZmYgPQorICAgICAgVGVz
dEJsZW5kKGJlbmNobWFya193aWR0aF8gLSA0LCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJr
X2l0ZXJhdGlvbnNfLAorICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2ht
YXJrX2NwdV9pbmZvXywgKzEsIDApOwogICBFWFBFQ1RfTEUobWF4X2RpZmYsIDEpOwogfQogCiBU
RVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQkJsZW5kX1VuYWxpZ25lZCkgewotICBpbnQgbWF4
X2RpZmYgPSBUZXN0QmxlbmQoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5m
b18sICsxLCAxKTsKKyAgaW50IG1heF9kaWZmID0KKyAgICAgIFRlc3RCbGVuZChiZW5jaG1hcmtf
d2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICAgICAg
ICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywgKzEsIDEp
OwogICBFWFBFQ1RfTEUobWF4X2RpZmYsIDEpOwogfQogCiBURVNUX0YoTGliWVVWUGxhbmFyVGVz
dCwgQVJHQkJsZW5kX0ludmVydCkgewotICBpbnQgbWF4X2RpZmYgPSBUZXN0QmxlbmQoYmVuY2ht
YXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNh
YmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sIC0xLCAwKTsKKyAgaW50IG1heF9k
aWZmID0KKyAgICAgIFRlc3RCbGVuZChiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0
XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2Zs
YWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywgLTEsIDApOwogICBFWFBFQ1RfTEUobWF4X2RpZmYs
IDEpOwogfQogCiBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQkJsZW5kX09wdCkgewotICBp
bnQgbWF4X2RpZmYgPSBUZXN0QmxlbmQoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdo
dF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19j
cHVfaW5mb18sICsxLCAwKTsKKyAgaW50IG1heF9kaWZmID0KKyAgICAgIFRlc3RCbGVuZChiZW5j
aG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAor
ICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywg
KzEsIDApOwogICBFWFBFQ1RfTEUobWF4X2RpZmYsIDEpOwogfQogCi1zdGF0aWMgdm9pZCBUZXN0
QmxlbmRQbGFuZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9u
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2NwdV9mbGFncywgaW50
IGJlbmNobWFya19jcHVfaW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnZl
cnQsIGludCBvZmYpIHsKK3N0YXRpYyB2b2lkIFRlc3RCbGVuZFBsYW5lKGludCB3aWR0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgYmVuY2htYXJrX2NwdV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGlu
dmVydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvZmYpIHsKICAgaWYgKHdpZHRo
IDwgMSkgewogICAgIHdpZHRoID0gMTsKICAgfQpAQCAtMTE3MCwyMSArMTE1MiwxNSBAQCBzdGF0
aWMgdm9pZCBUZXN0QmxlbmRQbGFuZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBiZW5jaG1h
cmtfaXRlcmF0aW9ucywKICAgICBzcmNfYXJnYl9iW2kgKyBvZmZdID0gMjU1IC0gKGkgJiAyNTUp
OwogICB9CiAgIG1lbXNldChzcmNfYXJnYl9hbHBoYSArIG9mZiwgMjU1LCB3aWR0aCk7Ci0gIEJs
ZW5kUGxhbmUoc3JjX2FyZ2JfYSArIG9mZiwgd2lkdGgsCi0gICAgICAgICAgICAgc3JjX2FyZ2Jf
YiArIG9mZiwgd2lkdGgsCi0gICAgICAgICAgICAgc3JjX2FyZ2JfYWxwaGEgKyBvZmYsIHdpZHRo
LAotICAgICAgICAgICAgIGRzdF9hcmdiX29wdCArIG9mZiwgd2lkdGgsCi0gICAgICAgICAgICAg
d2lkdGgsIDEpOworICBCbGVuZFBsYW5lKHNyY19hcmdiX2EgKyBvZmYsIHdpZHRoLCBzcmNfYXJn
Yl9iICsgb2ZmLCB3aWR0aCwKKyAgICAgICAgICAgICBzcmNfYXJnYl9hbHBoYSArIG9mZiwgd2lk
dGgsIGRzdF9hcmdiX29wdCArIG9mZiwgd2lkdGgsIHdpZHRoLCAxKTsKICAgZm9yIChpbnQgaSA9
IDA7IGkgPCB3aWR0aDsgKytpKSB7CiAgICAgRVhQRUNUX0VRKHNyY19hcmdiX2FbaSArIG9mZl0s
IGRzdF9hcmdiX29wdFtpICsgb2ZmXSk7CiAgIH0KICAgLy8gVGVzdCBkZXN0aW5hdGlvbiBpcyBt
YWludGFpbmVkIGV4YWN0bHkgaWYgYWxwaGEgaXMgMC4KICAgbWVtc2V0KHNyY19hcmdiX2FscGhh
ICsgb2ZmLCAwLCB3aWR0aCk7Ci0gIEJsZW5kUGxhbmUoc3JjX2FyZ2JfYSArIG9mZiwgd2lkdGgs
Ci0gICAgICAgICAgICAgc3JjX2FyZ2JfYiArIG9mZiwgd2lkdGgsCi0gICAgICAgICAgICAgc3Jj
X2FyZ2JfYWxwaGEgKyBvZmYsIHdpZHRoLAotICAgICAgICAgICAgIGRzdF9hcmdiX29wdCArIG9m
Ziwgd2lkdGgsCi0gICAgICAgICAgICAgd2lkdGgsIDEpOworICBCbGVuZFBsYW5lKHNyY19hcmdi
X2EgKyBvZmYsIHdpZHRoLCBzcmNfYXJnYl9iICsgb2ZmLCB3aWR0aCwKKyAgICAgICAgICAgICBz
cmNfYXJnYl9hbHBoYSArIG9mZiwgd2lkdGgsIGRzdF9hcmdiX29wdCArIG9mZiwgd2lkdGgsIHdp
ZHRoLCAxKTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCB3aWR0aDsgKytpKSB7CiAgICAgRVhQRUNU
X0VRKHNyY19hcmdiX2JbaSArIG9mZl0sIGRzdF9hcmdiX29wdFtpICsgb2ZmXSk7CiAgIH0KQEAg
LTExOTUsMTggKzExNzEsMTQgQEAgc3RhdGljIHZvaWQgVGVzdEJsZW5kUGxhbmUoaW50IHdpZHRo
LCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCiAgIH0KIAogICBNYXNrQ3B1
RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3MpOwotICBCbGVuZFBsYW5lKHNyY19hcmdiX2EgKyBvZmYs
IHdpZHRoLAotICAgICAgICAgICAgIHNyY19hcmdiX2IgKyBvZmYsIHdpZHRoLAotICAgICAgICAg
ICAgIHNyY19hcmdiX2FscGhhICsgb2ZmLCB3aWR0aCwKLSAgICAgICAgICAgICBkc3RfYXJnYl9j
ICsgb2ZmLCB3aWR0aCwKLSAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKKyAgQmxlbmRQbGFu
ZShzcmNfYXJnYl9hICsgb2ZmLCB3aWR0aCwgc3JjX2FyZ2JfYiArIG9mZiwgd2lkdGgsCisgICAg
ICAgICAgICAgc3JjX2FyZ2JfYWxwaGEgKyBvZmYsIHdpZHRoLCBkc3RfYXJnYl9jICsgb2ZmLCB3
aWR0aCwgd2lkdGgsCisgICAgICAgICAgICAgaW52ZXJ0ICogaGVpZ2h0KTsKICAgTWFza0NwdUZs
YWdzKGJlbmNobWFya19jcHVfaW5mbyk7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJr
X2l0ZXJhdGlvbnM7ICsraSkgewotICAgIEJsZW5kUGxhbmUoc3JjX2FyZ2JfYSArIG9mZiwgd2lk
dGgsCi0gICAgICAgICAgICAgICBzcmNfYXJnYl9iICsgb2ZmLCB3aWR0aCwKLSAgICAgICAgICAg
ICAgIHNyY19hcmdiX2FscGhhICsgb2ZmLCB3aWR0aCwKLSAgICAgICAgICAgICAgIGRzdF9hcmdi
X29wdCArIG9mZiwgd2lkdGgsCi0gICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKKyAgICBC
bGVuZFBsYW5lKHNyY19hcmdiX2EgKyBvZmYsIHdpZHRoLCBzcmNfYXJnYl9iICsgb2ZmLCB3aWR0
aCwKKyAgICAgICAgICAgICAgIHNyY19hcmdiX2FscGhhICsgb2ZmLCB3aWR0aCwgZHN0X2FyZ2Jf
b3B0ICsgb2ZmLCB3aWR0aCwgd2lkdGgsCisgICAgICAgICAgICAgICBpbnZlcnQgKiBoZWlnaHQp
OwogICB9CiAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZSAqIGhlaWdodDsgKytpKSB7CiAg
ICAgRVhQRUNUX0VRKGRzdF9hcmdiX2NbaSArIG9mZl0sIGRzdF9hcmdiX29wdFtpICsgb2ZmXSk7
CkBAIC0xMjM2LDExICsxMjA4LDE1IEBAIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBCbGVuZFBs
YW5lX0ludmVydCkgewogICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNo
bWFya19jcHVfaW5mb18sIC0xLCAxKTsKIH0KIAotI2RlZmluZSBTVUJTQU1QTEUodiwgYSkgKCgo
KHYpICsgKGEpIC0gMSkpIC8gKGEpKQorI2RlZmluZSBTVUJTQU1QTEUodiwgYSkgKCgoKHYpICsg
KGEpLTEpKSAvIChhKSkKIAotc3RhdGljIHZvaWQgVGVzdEk0MjBCbGVuZChpbnQgd2lkdGgsIGlu
dCBoZWlnaHQsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRpc2FibGVfY3B1X2ZsYWdzLCBpbnQgYmVuY2htYXJrX2NwdV9pbmZvLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW52ZXJ0LCBpbnQgb2ZmKSB7CitzdGF0aWMgdm9p
ZCBUZXN0STQyMEJsZW5kKGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJlbmNobWFya19pdGVyYXRp
b25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfY3B1X2luZm8sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBpbnZlcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBvZmYpIHsKICAgd2lkdGggPSAoKHdpZHRoKSA+IDApID8gKHdpZHRoKSA6IDE7CiAgIGNv
bnN0IGludCBrU3RyaWRlVVYgPSBTVUJTQU1QTEUod2lkdGgsIDIpOwogICBjb25zdCBpbnQga1Np
emVVViA9IGtTdHJpZGVVViAqIFNVQlNBTVBMRShoZWlnaHQsIDIpOwpAQCAtMTI3MywzMCArMTI0
OSwxOCBAQCBzdGF0aWMgdm9pZCBUZXN0STQyMEJsZW5kKGludCB3aWR0aCwgaW50IGhlaWdodCwg
aW50IGJlbmNobWFya19pdGVyYXRpb25zLAogICBtZW1zZXQoZHN0X3Zfb3B0LCAyNTUsIGtTaXpl
VVYgKyBvZmYpOwogCiAgIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFncyk7Ci0gIEk0MjBC
bGVuZChzcmNfeTAgKyBvZmYsIHdpZHRoLAotICAgICAgICAgICAgc3JjX3UwICsgb2ZmLCBrU3Ry
aWRlVVYsCi0gICAgICAgICAgICBzcmNfdjAgKyBvZmYsIGtTdHJpZGVVViwKLSAgICAgICAgICAg
IHNyY195MSArIG9mZiwgd2lkdGgsCi0gICAgICAgICAgICBzcmNfdTEgKyBvZmYsIGtTdHJpZGVV
ViwKLSAgICAgICAgICAgIHNyY192MSArIG9mZiwga1N0cmlkZVVWLAotICAgICAgICAgICAgc3Jj
X2EgKyBvZmYsIHdpZHRoLAotICAgICAgICAgICAgZHN0X3lfYyArIG9mZiwgd2lkdGgsCi0gICAg
ICAgICAgICBkc3RfdV9jICsgb2ZmLCBrU3RyaWRlVVYsCi0gICAgICAgICAgICBkc3Rfdl9jICsg
b2ZmLCBrU3RyaWRlVVYsCi0gICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKKyAgSTQyMEJsZW5k
KHNyY195MCArIG9mZiwgd2lkdGgsIHNyY191MCArIG9mZiwga1N0cmlkZVVWLCBzcmNfdjAgKyBv
ZmYsCisgICAgICAgICAgICBrU3RyaWRlVVYsIHNyY195MSArIG9mZiwgd2lkdGgsIHNyY191MSAr
IG9mZiwga1N0cmlkZVVWLAorICAgICAgICAgICAgc3JjX3YxICsgb2ZmLCBrU3RyaWRlVVYsIHNy
Y19hICsgb2ZmLCB3aWR0aCwgZHN0X3lfYyArIG9mZiwgd2lkdGgsCisgICAgICAgICAgICBkc3Rf
dV9jICsgb2ZmLCBrU3RyaWRlVVYsIGRzdF92X2MgKyBvZmYsIGtTdHJpZGVVViwgd2lkdGgsCisg
ICAgICAgICAgICBpbnZlcnQgKiBoZWlnaHQpOwogICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2Nw
dV9pbmZvKTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uczsgKytp
KSB7Ci0gICAgSTQyMEJsZW5kKHNyY195MCArIG9mZiwgd2lkdGgsCi0gICAgICAgICAgICAgIHNy
Y191MCArIG9mZiwga1N0cmlkZVVWLAotICAgICAgICAgICAgICBzcmNfdjAgKyBvZmYsIGtTdHJp
ZGVVViwKLSAgICAgICAgICAgICAgc3JjX3kxICsgb2ZmLCB3aWR0aCwKLSAgICAgICAgICAgICAg
c3JjX3UxICsgb2ZmLCBrU3RyaWRlVVYsCi0gICAgICAgICAgICAgIHNyY192MSArIG9mZiwga1N0
cmlkZVVWLAotICAgICAgICAgICAgICBzcmNfYSArIG9mZiwgd2lkdGgsCi0gICAgICAgICAgICAg
IGRzdF95X29wdCArIG9mZiwgd2lkdGgsCi0gICAgICAgICAgICAgIGRzdF91X29wdCArIG9mZiwg
a1N0cmlkZVVWLAotICAgICAgICAgICAgICBkc3Rfdl9vcHQgKyBvZmYsIGtTdHJpZGVVViwKLSAg
ICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CisgICAgSTQyMEJsZW5kKHNyY195MCArIG9mZiwg
d2lkdGgsIHNyY191MCArIG9mZiwga1N0cmlkZVVWLCBzcmNfdjAgKyBvZmYsCisgICAgICAgICAg
ICAgIGtTdHJpZGVVViwgc3JjX3kxICsgb2ZmLCB3aWR0aCwgc3JjX3UxICsgb2ZmLCBrU3RyaWRl
VVYsCisgICAgICAgICAgICAgIHNyY192MSArIG9mZiwga1N0cmlkZVVWLCBzcmNfYSArIG9mZiwg
d2lkdGgsIGRzdF95X29wdCArIG9mZiwKKyAgICAgICAgICAgICAgd2lkdGgsIGRzdF91X29wdCAr
IG9mZiwga1N0cmlkZVVWLCBkc3Rfdl9vcHQgKyBvZmYsIGtTdHJpZGVVViwKKyAgICAgICAgICAg
ICAgd2lkdGgsIGludmVydCAqIGhlaWdodCk7CiAgIH0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCB3
aWR0aCAqIGhlaWdodDsgKytpKSB7CiAgICAgRVhQRUNUX0VRKGRzdF95X2NbaSArIG9mZl0sIGRz
dF95X29wdFtpICsgb2ZmXSk7CkBAIC0xMzIzLDIxICsxMjg3LDIxIEBAIHN0YXRpYyB2b2lkIFRl
c3RJNDIwQmxlbmQoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJhdGlv
bnMsCiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBJNDIwQmxlbmRfT3B0KSB7CiAgIFRlc3RJ
NDIwQmxlbmQoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19p
dGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1h
cmtfY3B1X2luZm9fLCArMSwgMCk7CisgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3Nf
LCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7CiB9CiBURVNUX0YoTGliWVVWUGxhbmFyVGVz
dCwgSTQyMEJsZW5kX1VuYWxpZ25lZCkgewogICBUZXN0STQyMEJsZW5kKGJlbmNobWFya193aWR0
aF8sIGJlbmNobWFya19oZWlnaHRfLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAg
ICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywgKzEsIDEpOwor
ICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywg
KzEsIDEpOwogfQogCiAvLyBUT0RPKGZiYXJjaGFyZCk6IERJU0FCTEVEIGJlY2F1c2UgX0FueSB1
c2VzIEMuICBBdm9pZCBDIGFuZCByZS1lbmFibGUuCiBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwg
RElTQUJMRURfSTQyMEJsZW5kX0FueSkgewogICBUZXN0STQyMEJsZW5kKGJlbmNobWFya193aWR0
aF8gLSA0LCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAg
ICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAw
KTsKKyAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5m
b18sICsxLCAwKTsKIH0KIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBJNDIwQmxlbmRfSW52ZXJ0
KSB7CiAgIFRlc3RJNDIwQmxlbmQoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8s
IGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxh
Z3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCk7CisgICAgICAgICAgICAgICAgZGlzYWJs
ZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCk7CiB9CiAKIFRFU1RfRihM
aWJZVVZQbGFuYXJUZXN0LCBUZXN0QWZmaW5lKSB7CkBAIC0xMzUwLDEwICsxMzE0LDEwIEBAIFRF
U1RfRihMaWJZVVZQbGFuYXJUZXN0LCBUZXN0QWZmaW5lKSB7CiAgICAgfQogICB9CiAKLSAgZmxv
YXQgdXZfc3RlcFs0XSA9IHsgMC5mLCAwLmYsIDAuNzVmLCAwLmYgfTsKKyAgZmxvYXQgdXZfc3Rl
cFs0XSA9IHswLmYsIDAuZiwgMC43NWYsIDAuZn07CiAKLSAgQVJHQkFmZmluZVJvd19DKCZvcmln
X3BpeGVsc18wWzBdWzBdLCAwLCAmaW50ZXJwb2xhdGVfcGl4ZWxzX0NbMF1bMF0sCi0gICAgICAg
ICAgICAgICAgICB1dl9zdGVwLCAxMjgwKTsKKyAgQVJHQkFmZmluZVJvd19DKCZvcmlnX3BpeGVs
c18wWzBdWzBdLCAwLCAmaW50ZXJwb2xhdGVfcGl4ZWxzX0NbMF1bMF0sIHV2X3N0ZXAsCisgICAg
ICAgICAgICAgICAgICAxMjgwKTsKICAgRVhQRUNUX0VRKDB1LCBpbnRlcnBvbGF0ZV9waXhlbHNf
Q1swXVswXSk7CiAgIEVYUEVDVF9FUSg5NnUsIGludGVycG9sYXRlX3BpeGVsc19DWzEyOF1bMF0p
OwogICBFWFBFQ1RfRVEoMTkxdSwgaW50ZXJwb2xhdGVfcGl4ZWxzX0NbMjU1XVszXSk7CkBAIC0x
NDExLDE5ICsxMzc1LDE1IEBAIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBUZXN0Q29weVBsYW5l
KSB7CiAKICAgLy8gRGlzYWJsZSBhbGwgb3B0aW1pemF0aW9ucy4KICAgTWFza0NwdUZsYWdzKGRp
c2FibGVfY3B1X2ZsYWdzXyk7Ci0gIGRvdWJsZSBjX3RpbWUgPSBnZXRfdGltZSgpOwogICBmb3Ig
KGogPSAwOyBqIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyBqKyspIHsKICAgICBDb3B5UGxhbmUo
b3JpZ195ICsgeV9vZmYsIHlfc3QsIGRzdF9jICsgeV9vZmYsIHN0cmlkZSwgeXcsIHloKTsKICAg
fQotICBjX3RpbWUgPSAoZ2V0X3RpbWUoKSAtIGNfdGltZSkgLyBiZW5jaG1hcmtfaXRlcmF0aW9u
c187CiAKICAgLy8gRW5hYmxlIG9wdGltaXphdGlvbnMuCiAgIE1hc2tDcHVGbGFncyhiZW5jaG1h
cmtfY3B1X2luZm9fKTsKLSAgZG91YmxlIG9wdF90aW1lID0gZ2V0X3RpbWUoKTsKICAgZm9yIChq
ID0gMDsgaiA8IGJlbmNobWFya19pdGVyYXRpb25zXzsgaisrKSB7CiAgICAgQ29weVBsYW5lKG9y
aWdfeSArIHlfb2ZmLCB5X3N0LCBkc3Rfb3B0ICsgeV9vZmYsIHN0cmlkZSwgeXcsIHloKTsKICAg
fQotICBvcHRfdGltZSA9IChnZXRfdGltZSgpIC0gb3B0X3RpbWUpIC8gYmVuY2htYXJrX2l0ZXJh
dGlvbnNfOwogCiAgIGZvciAoaSA9IDA7IGkgPCB5X3BsYW5lX3NpemU7ICsraSkgewogICAgIGlm
IChkc3RfY1tpXSAhPSBkc3Rfb3B0W2ldKQpAQCAtMTQzNyw5ICsxMzk3LDEzIEBAIFRFU1RfRihM
aWJZVVZQbGFuYXJUZXN0LCBUZXN0Q29weVBsYW5lKSB7CiAgIEVYUEVDVF9FUSgwLCBlcnIpOwog
fQogCi1zdGF0aWMgaW50IFRlc3RNdWx0aXBseShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBi
ZW5jaG1hcmtfaXRlcmF0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxl
X2NwdV9mbGFncywgaW50IGJlbmNobWFya19jcHVfaW5mbywKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBpbnZlcnQsIGludCBvZmYpIHsKK3N0YXRpYyBpbnQgVGVzdE11bHRpcGx5KGludCB3
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCisgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
YmVuY2htYXJrX2NwdV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGludmVydCwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGludCBvZmYpIHsKICAgaWYgKHdpZHRoIDwgMSkgewog
ICAgIHdpZHRoID0gMTsKICAgfQpAQCAtMTQ1NywyMiArMTQyMSwxNyBAQCBzdGF0aWMgaW50IFRl
c3RNdWx0aXBseShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9u
cywKICAgbWVtc2V0KGRzdF9hcmdiX29wdCwgMCwga1N0cmlkZSAqIGhlaWdodCk7CiAKICAgTWFz
a0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzKTsKLSAgQVJHQk11bHRpcGx5KHNyY19hcmdiX2Eg
KyBvZmYsIGtTdHJpZGUsCi0gICAgICAgICAgICAgICBzcmNfYXJnYl9iICsgb2ZmLCBrU3RyaWRl
LAotICAgICAgICAgICAgICAgZHN0X2FyZ2JfYywga1N0cmlkZSwKLSAgICAgICAgICAgICAgIHdp
ZHRoLCBpbnZlcnQgKiBoZWlnaHQpOworICBBUkdCTXVsdGlwbHkoc3JjX2FyZ2JfYSArIG9mZiwg
a1N0cmlkZSwgc3JjX2FyZ2JfYiArIG9mZiwga1N0cmlkZSwgZHN0X2FyZ2JfYywKKyAgICAgICAg
ICAgICAgIGtTdHJpZGUsIHdpZHRoLCBpbnZlcnQgKiBoZWlnaHQpOwogICBNYXNrQ3B1RmxhZ3Mo
YmVuY2htYXJrX2NwdV9pbmZvKTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRl
cmF0aW9uczsgKytpKSB7Ci0gICAgQVJHQk11bHRpcGx5KHNyY19hcmdiX2EgKyBvZmYsIGtTdHJp
ZGUsCi0gICAgICAgICAgICAgICAgIHNyY19hcmdiX2IgKyBvZmYsIGtTdHJpZGUsCi0gICAgICAg
ICAgICAgICAgIGRzdF9hcmdiX29wdCwga1N0cmlkZSwKLSAgICAgICAgICAgICAgICAgd2lkdGgs
IGludmVydCAqIGhlaWdodCk7CisgICAgQVJHQk11bHRpcGx5KHNyY19hcmdiX2EgKyBvZmYsIGtT
dHJpZGUsIHNyY19hcmdiX2IgKyBvZmYsIGtTdHJpZGUsCisgICAgICAgICAgICAgICAgIGRzdF9h
cmdiX29wdCwga1N0cmlkZSwgd2lkdGgsIGludmVydCAqIGhlaWdodCk7CiAgIH0KICAgaW50IG1h
eF9kaWZmID0gMDsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrU3RyaWRlICogaGVpZ2h0OyArK2kp
IHsKLSAgICBpbnQgYWJzX2RpZmYgPQotICAgICAgICBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3Rf
YXJnYl9jW2ldKSAtCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX29wdFtp
XSkpOworICAgIGludCBhYnNfZGlmZiA9IGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX2Nb
aV0pIC0KKyAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9v
cHRbaV0pKTsKICAgICBpZiAoYWJzX2RpZmYgPiBtYXhfZGlmZikgewogICAgICAgbWF4X2RpZmYg
PSBhYnNfZGlmZjsKICAgICB9CkBAIC0xNDg2LDM1ICsxNDQ1LDM5IEBAIHN0YXRpYyBpbnQgVGVz
dE11bHRpcGx5KGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGJlbmNobWFya19pdGVyYXRpb25z
LAogCiBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQk11bHRpcGx5X0FueSkgewogICBpbnQg
bWF4X2RpZmYgPSBUZXN0TXVsdGlwbHkoYmVuY2htYXJrX3dpZHRoXyAtIDEsIGJlbmNobWFya19o
ZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlv
bnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBi
ZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sIGRpc2FibGVfY3B1X2ZsYWdzXywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAwKTsKICAgRVhQRUNU
X0xFKG1heF9kaWZmLCAxKTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JNdWx0
aXBseV9VbmFsaWduZWQpIHsKLSAgaW50IG1heF9kaWZmID0gVGVzdE11bHRpcGx5KGJlbmNobWFy
a193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMSk7CisgIGludCBt
YXhfZGlmZiA9CisgICAgICBUZXN0TXVsdGlwbHkoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJr
X2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgICAgICBkaXNh
YmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAxKTsKICAgRVhQRUNUX0xF
KG1heF9kaWZmLCAxKTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JNdWx0aXBs
eV9JbnZlcnQpIHsKLSAgaW50IG1heF9kaWZmID0gVGVzdE11bHRpcGx5KGJlbmNobWFya193aWR0
aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVu
Y2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJs
ZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCk7CisgIGludCBtYXhfZGlm
ZiA9CisgICAgICBUZXN0TXVsdGlwbHkoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdo
dF8sIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2Nw
dV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sIC0xLCAwKTsKICAgRVhQRUNUX0xFKG1heF9k
aWZmLCAxKTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JNdWx0aXBseV9PcHQp
IHsKLSAgaW50IG1heF9kaWZmID0gVGVzdE11bHRpcGx5KGJlbmNobWFya193aWR0aF8sIGJlbmNo
bWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxh
Z3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7CisgIGludCBtYXhfZGlmZiA9CisgICAg
ICBUZXN0TXVsdGlwbHkoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNo
bWFya19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18s
IGJlbmNobWFya19jcHVfaW5mb18sICsxLCAwKTsKICAgRVhQRUNUX0xFKG1heF9kaWZmLCAxKTsK
IH0KIAotc3RhdGljIGludCBUZXN0QWRkKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGJlbmNo
bWFya19pdGVyYXRpb25zLAotICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2NwdV9mbGFn
cywgIGludCBiZW5jaG1hcmtfY3B1X2luZm8sCi0gICAgICAgICAgICAgICAgICAgaW50IGludmVy
dCwgaW50IG9mZikgeworc3RhdGljIGludCBUZXN0QWRkKGludCB3aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfaXRl
cmF0aW9ucywKKyAgICAgICAgICAgICAgICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsCisgICAg
ICAgICAgICAgICAgICAgaW50IGJlbmNobWFya19jcHVfaW5mbywKKyAgICAgICAgICAgICAgICAg
ICBpbnQgaW52ZXJ0LAorICAgICAgICAgICAgICAgICAgIGludCBvZmYpIHsKICAgaWYgKHdpZHRo
IDwgMSkgewogICAgIHdpZHRoID0gMTsKICAgfQpAQCAtMTUzMiwyMiArMTQ5NSwxNyBAQCBzdGF0
aWMgaW50IFRlc3RBZGQoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJh
dGlvbnMsCiAgIG1lbXNldChkc3RfYXJnYl9vcHQsIDAsIGtTdHJpZGUgKiBoZWlnaHQpOwogCiAg
IE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFncyk7Ci0gIEFSR0JBZGQoc3JjX2FyZ2JfYSAr
IG9mZiwga1N0cmlkZSwKLSAgICAgICAgICBzcmNfYXJnYl9iICsgb2ZmLCBrU3RyaWRlLAotICAg
ICAgICAgIGRzdF9hcmdiX2MsIGtTdHJpZGUsCi0gICAgICAgICAgd2lkdGgsIGludmVydCAqIGhl
aWdodCk7CisgIEFSR0JBZGQoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwgc3JjX2FyZ2JfYiAr
IG9mZiwga1N0cmlkZSwgZHN0X2FyZ2JfYywKKyAgICAgICAgICBrU3RyaWRlLCB3aWR0aCwgaW52
ZXJ0ICogaGVpZ2h0KTsKICAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mbyk7CiAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnM7ICsraSkgewotICAgIEFSR0JB
ZGQoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwKLSAgICAgICAgICAgIHNyY19hcmdiX2IgKyBv
ZmYsIGtTdHJpZGUsCi0gICAgICAgICAgICBkc3RfYXJnYl9vcHQsIGtTdHJpZGUsCi0gICAgICAg
ICAgICB3aWR0aCwgaW52ZXJ0ICogaGVpZ2h0KTsKKyAgICBBUkdCQWRkKHNyY19hcmdiX2EgKyBv
ZmYsIGtTdHJpZGUsIHNyY19hcmdiX2IgKyBvZmYsIGtTdHJpZGUsIGRzdF9hcmdiX29wdCwKKyAg
ICAgICAgICAgIGtTdHJpZGUsIHdpZHRoLCBpbnZlcnQgKiBoZWlnaHQpOwogICB9CiAgIGludCBt
YXhfZGlmZiA9IDA7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwga1N0cmlkZSAqIGhlaWdodDsgKytp
KSB7Ci0gICAgaW50IGFic19kaWZmID0KLSAgICAgICAgYWJzKHN0YXRpY19jYXN0PGludD4oZHN0
X2FyZ2JfY1tpXSkgLQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9vcHRb
aV0pKTsKKyAgICBpbnQgYWJzX2RpZmYgPSBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9j
W2ldKSAtCisgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2Jf
b3B0W2ldKSk7CiAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsKICAgICAgIG1heF9kaWZm
ID0gYWJzX2RpZmY7CiAgICAgfQpAQCAtMTU2MCwzNiArMTUxOCw0MCBAQCBzdGF0aWMgaW50IFRl
c3RBZGQoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCiB9
CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBBUkdCQWRkX0FueSkgewotICBpbnQgbWF4X2Rp
ZmYgPSBUZXN0QWRkKGJlbmNobWFya193aWR0aF8gLSAxLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCAgYmVuY2htYXJrX2NwdV9pbmZvXywg
KzEsIDApOworICBpbnQgbWF4X2RpZmYgPQorICAgICAgVGVzdEFkZChiZW5jaG1hcmtfd2lkdGhf
IC0gMSwgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgICAgICAg
ICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7CiAg
IEVYUEVDVF9MRShtYXhfZGlmZiwgMSk7CiB9CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBB
UkdCQWRkX1VuYWxpZ25lZCkgewotICBpbnQgbWF4X2RpZmYgPSBUZXN0QWRkKGJlbmNobWFya193
aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNo
bWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9m
bGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAxKTsKKyAgaW50IG1heF9kaWZmID0KKyAg
ICAgIFRlc3RBZGQoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFy
a19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1h
cmtfY3B1X2luZm9fLCArMSwgMSk7CiAgIEVYUEVDVF9MRShtYXhfZGlmZiwgMSk7CiB9CiAKIFRF
U1RfRihMaWJZVVZQbGFuYXJUZXN0LCBBUkdCQWRkX0ludmVydCkgewotICBpbnQgbWF4X2RpZmYg
PSBUZXN0QWRkKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sIC0xLCAwKTsK
KyAgaW50IG1heF9kaWZmID0KKyAgICAgIFRlc3RBZGQoYmVuY2htYXJrX3dpZHRoXywgYmVuY2ht
YXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgZGlzYWJs
ZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCk7CiAgIEVYUEVDVF9MRSht
YXhfZGlmZiwgMSk7CiB9CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBBUkdCQWRkX09wdCkg
ewotICBpbnQgbWF4X2RpZmYgPSBUZXN0QWRkKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19o
ZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywK
LSAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19j
cHVfaW5mb18sICsxLCAwKTsKKyAgaW50IG1heF9kaWZmID0KKyAgICAgIFRlc3RBZGQoYmVuY2ht
YXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAg
ICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwg
MCk7CiAgIEVYUEVDVF9MRShtYXhfZGlmZiwgMSk7CiB9CiAKLXN0YXRpYyBpbnQgVGVzdFN1YnRy
YWN0KGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGJlbmNobWFya19pdGVyYXRpb25zLAotICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGRpc2FibGVfY3B1X2ZsYWdzLCBpbnQgYmVuY2htYXJr
X2NwdV9pbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IGludmVydCwgaW50IG9mZikg
eworc3RhdGljIGludCBUZXN0U3VidHJhY3QoaW50IHdpZHRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtf
aXRlcmF0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2NwdV9mbGFn
cywKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfY3B1X2luZm8sCisgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgaW52ZXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAg
aW50IG9mZikgewogICBpZiAod2lkdGggPCAxKSB7CiAgICAgd2lkdGggPSAxOwogICB9CkBAIC0x
NjA3LDIyICsxNTY5LDE3IEBAIHN0YXRpYyBpbnQgVGVzdFN1YnRyYWN0KGludCB3aWR0aCwgaW50
IGhlaWdodCwgaW50IGJlbmNobWFya19pdGVyYXRpb25zLAogICBtZW1zZXQoZHN0X2FyZ2Jfb3B0
LCAwLCBrU3RyaWRlICogaGVpZ2h0KTsKIAogICBNYXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxh
Z3MpOwotICBBUkdCU3VidHJhY3Qoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwKLSAgICAgICAg
ICAgICAgIHNyY19hcmdiX2IgKyBvZmYsIGtTdHJpZGUsCi0gICAgICAgICAgICAgICBkc3RfYXJn
Yl9jLCBrU3RyaWRlLAotICAgICAgICAgICAgICAgd2lkdGgsIGludmVydCAqIGhlaWdodCk7Cisg
IEFSR0JTdWJ0cmFjdChzcmNfYXJnYl9hICsgb2ZmLCBrU3RyaWRlLCBzcmNfYXJnYl9iICsgb2Zm
LCBrU3RyaWRlLCBkc3RfYXJnYl9jLAorICAgICAgICAgICAgICAga1N0cmlkZSwgd2lkdGgsIGlu
dmVydCAqIGhlaWdodCk7CiAgIE1hc2tDcHVGbGFncyhiZW5jaG1hcmtfY3B1X2luZm8pOwogICBm
b3IgKGludCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zOyArK2kpIHsKLSAgICBBUkdC
U3VidHJhY3Qoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwKLSAgICAgICAgICAgICAgICAgc3Jj
X2FyZ2JfYiArIG9mZiwga1N0cmlkZSwKLSAgICAgICAgICAgICAgICAgZHN0X2FyZ2Jfb3B0LCBr
U3RyaWRlLAotICAgICAgICAgICAgICAgICB3aWR0aCwgaW52ZXJ0ICogaGVpZ2h0KTsKKyAgICBB
UkdCU3VidHJhY3Qoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwgc3JjX2FyZ2JfYiArIG9mZiwg
a1N0cmlkZSwKKyAgICAgICAgICAgICAgICAgZHN0X2FyZ2Jfb3B0LCBrU3RyaWRlLCB3aWR0aCwg
aW52ZXJ0ICogaGVpZ2h0KTsKICAgfQogICBpbnQgbWF4X2RpZmYgPSAwOwogICBmb3IgKGludCBp
ID0gMDsgaSA8IGtTdHJpZGUgKiBoZWlnaHQ7ICsraSkgewotICAgIGludCBhYnNfZGlmZiA9Ci0g
ICAgICAgIGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX2NbaV0pIC0KLSAgICAgICAgICAg
IHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2Jfb3B0W2ldKSk7CisgICAgaW50IGFic19kaWZmID0g
YWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2JfY1tpXSkgLQorICAgICAgICAgICAgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX29wdFtpXSkpOwogICAgIGlmIChhYnNfZGlm
ZiA+IG1heF9kaWZmKSB7CiAgICAgICBtYXhfZGlmZiA9IGFic19kaWZmOwogICAgIH0KQEAgLTE2
MzYsMzUgKzE1OTMsMzkgQEAgc3RhdGljIGludCBUZXN0U3VidHJhY3QoaW50IHdpZHRoLCBpbnQg
aGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCiAKIFRFU1RfRihMaWJZVVZQbGFuYXJU
ZXN0LCBBUkdCU3VidHJhY3RfQW55KSB7CiAgIGludCBtYXhfZGlmZiA9IFRlc3RTdWJ0cmFjdChi
ZW5jaG1hcmtfd2lkdGhfIC0gMSwgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAw
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywg
ZGlzYWJsZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2ht
YXJrX2NwdV9pbmZvXywgKzEsIDApOwogICBFWFBFQ1RfTEUobWF4X2RpZmYsIDEpOwogfQogCiBU
RVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQlN1YnRyYWN0X1VuYWxpZ25lZCkgewotICBpbnQg
bWF4X2RpZmYgPSBUZXN0U3VidHJhY3QoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdo
dF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNo
bWFya19jcHVfaW5mb18sICsxLCAxKTsKKyAgaW50IG1heF9kaWZmID0KKyAgICAgIFRlc3RTdWJ0
cmFjdChiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJh
dGlvbnNfLAorICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJr
X2NwdV9pbmZvXywgKzEsIDEpOwogICBFWFBFQ1RfTEUobWF4X2RpZmYsIDEpOwogfQogCiBURVNU
X0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQlN1YnRyYWN0X0ludmVydCkgewotICBpbnQgbWF4X2Rp
ZmYgPSBUZXN0U3VidHJhY3QoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19j
cHVfaW5mb18sIC0xLCAwKTsKKyAgaW50IG1heF9kaWZmID0KKyAgICAgIFRlc3RTdWJ0cmFjdChi
ZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNf
LAorICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9p
bmZvXywgLTEsIDApOwogICBFWFBFQ1RfTEUobWF4X2RpZmYsIDEpOwogfQogCiBURVNUX0YoTGli
WVVWUGxhbmFyVGVzdCwgQVJHQlN1YnRyYWN0X09wdCkgewotICBpbnQgbWF4X2RpZmYgPSBUZXN0
U3VidHJhY3QoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18s
ICsxLCAwKTsKKyAgaW50IG1heF9kaWZmID0KKyAgICAgIFRlc3RTdWJ0cmFjdChiZW5jaG1hcmtf
d2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICAgICAg
ICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywgKzEs
IDApOwogICBFWFBFQ1RfTEUobWF4X2RpZmYsIDEpOwogfQogCi1zdGF0aWMgaW50IFRlc3RTb2Jl
bChpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKLSAgICAg
ICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2NwdV9mbGFncywgaW50IGJlbmNobWFya19jcHVf
aW5mbywKLSAgICAgICAgICAgICAgICAgICAgIGludCBpbnZlcnQsIGludCBvZmYpIHsKK3N0YXRp
YyBpbnQgVGVzdFNvYmVsKGludCB3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgIGludCBoZWln
aHQsCisgICAgICAgICAgICAgICAgICAgICBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCisgICAg
ICAgICAgICAgICAgICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsCisgICAgICAgICAgICAgICAg
ICAgICBpbnQgYmVuY2htYXJrX2NwdV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgaW50IGlu
dmVydCwKKyAgICAgICAgICAgICAgICAgICAgIGludCBvZmYpIHsKICAgaWYgKHdpZHRoIDwgMSkg
ewogICAgIHdpZHRoID0gMTsKICAgfQpAQCAtMTY4MSwyMCArMTY0MiwxNyBAQCBzdGF0aWMgaW50
IFRlc3RTb2JlbChpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9u
cywKICAgbWVtc2V0KGRzdF9hcmdiX29wdCwgMCwga1N0cmlkZSAqIGhlaWdodCk7CiAKICAgTWFz
a0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzKTsKLSAgQVJHQlNvYmVsKHNyY19hcmdiX2EgKyBv
ZmYsIGtTdHJpZGUsCi0gICAgICAgICAgICBkc3RfYXJnYl9jLCBrU3RyaWRlLAotICAgICAgICAg
ICAgd2lkdGgsIGludmVydCAqIGhlaWdodCk7CisgIEFSR0JTb2JlbChzcmNfYXJnYl9hICsgb2Zm
LCBrU3RyaWRlLCBkc3RfYXJnYl9jLCBrU3RyaWRlLCB3aWR0aCwKKyAgICAgICAgICAgIGludmVy
dCAqIGhlaWdodCk7CiAgIE1hc2tDcHVGbGFncyhiZW5jaG1hcmtfY3B1X2luZm8pOwogICBmb3Ig
KGludCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zOyArK2kpIHsKLSAgICBBUkdCU29i
ZWwoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwKLSAgICAgICAgICAgICAgZHN0X2FyZ2Jfb3B0
LCBrU3RyaWRlLAotICAgICAgICAgICAgICB3aWR0aCwgaW52ZXJ0ICogaGVpZ2h0KTsKKyAgICBB
UkdCU29iZWwoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwgZHN0X2FyZ2Jfb3B0LCBrU3RyaWRl
LCB3aWR0aCwKKyAgICAgICAgICAgICAgaW52ZXJ0ICogaGVpZ2h0KTsKICAgfQogICBpbnQgbWF4
X2RpZmYgPSAwOwogICBmb3IgKGludCBpID0gMDsgaSA8IGtTdHJpZGUgKiBoZWlnaHQ7ICsraSkg
ewotICAgIGludCBhYnNfZGlmZiA9Ci0gICAgICAgIGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF9h
cmdiX2NbaV0pIC0KLSAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2Jfb3B0W2ld
KSk7CisgICAgaW50IGFic19kaWZmID0gYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2JfY1tp
XSkgLQorICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX29w
dFtpXSkpOwogICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7CiAgICAgICBtYXhfZGlmZiA9
IGFic19kaWZmOwogICAgIH0KQEAgLTE3MDYsMzYgKzE2NjQsNDAgQEAgc3RhdGljIGludCBUZXN0
U29iZWwoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCiB9
CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBBUkdCU29iZWxfQW55KSB7Ci0gIGludCBtYXhf
ZGlmZiA9IFRlc3RTb2JlbChiZW5jaG1hcmtfd2lkdGhfIC0gMSwgYmVuY2htYXJrX2hlaWdodF8s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVf
aW5mb18sICsxLCAwKTsKKyAgaW50IG1heF9kaWZmID0KKyAgICAgIFRlc3RTb2JlbChiZW5jaG1h
cmtfd2lkdGhfIC0gMSwgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywK
KyAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18s
ICsxLCAwKTsKICAgRVhQRUNUX0VRKDAsIG1heF9kaWZmKTsKIH0KIAogVEVTVF9GKExpYllVVlBs
YW5hclRlc3QsIEFSR0JTb2JlbF9VbmFsaWduZWQpIHsKLSAgaW50IG1heF9kaWZmID0gVGVzdFNv
YmVsKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMSk7Cisg
IGludCBtYXhfZGlmZiA9CisgICAgICBUZXN0U29iZWwoYmVuY2htYXJrX3dpZHRoXywgYmVuY2ht
YXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgICBkaXNh
YmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAxKTsKICAgRVhQRUNUX0VR
KDAsIG1heF9kaWZmKTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JTb2JlbF9J
bnZlcnQpIHsKLSAgaW50IG1heF9kaWZmID0gVGVzdFNvYmVsKGJlbmNobWFya193aWR0aF8sIGJl
bmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3Nf
LCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCk7CisgIGludCBtYXhfZGlmZiA9CisgICAgICBU
ZXN0U29iZWwoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19p
dGVyYXRpb25zXywKKyAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFy
a19jcHVfaW5mb18sIC0xLCAwKTsKICAgRVhQRUNUX0VRKDAsIG1heF9kaWZmKTsKIH0KIAogVEVT
VF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JTb2JlbF9PcHQpIHsKLSAgaW50IG1heF9kaWZmID0g
VGVzdFNvYmVsKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwg
MCk7CisgIGludCBtYXhfZGlmZiA9CisgICAgICBUZXN0U29iZWwoYmVuY2htYXJrX3dpZHRoXywg
YmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAg
ICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAwKTsKICAgRVhQ
RUNUX0VRKDAsIG1heF9kaWZmKTsKIH0KIAotc3RhdGljIGludCBUZXN0U29iZWxUb1BsYW5lKGlu
dCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGJlbmNobWFya19pdGVyYXRpb25zLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2NwdV9mbGFncywgaW50IGJlbmNobWFya19j
cHVfaW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW52ZXJ0LCBpbnQgb2Zm
KSB7CitzdGF0aWMgaW50IFRlc3RTb2JlbFRvUGxhbmUoaW50IHdpZHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGJlbmNobWFya19pdGVyYXRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkaXNhYmxlX2NwdV9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmVu
Y2htYXJrX2NwdV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnZlcnQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG9mZikgewogICBpZiAod2lkdGggPCAx
KSB7CiAgICAgd2lkdGggPSAxOwogICB9CkBAIC0xNzU0LDIwICsxNzE2LDE3IEBAIHN0YXRpYyBp
bnQgVGVzdFNvYmVsVG9QbGFuZShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBiZW5jaG1hcmtf
aXRlcmF0aW9ucywKICAgbWVtc2V0KGRzdF9hcmdiX29wdCwgMCwga0RzdFN0cmlkZSAqIGhlaWdo
dCk7CiAKICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzKTsKLSAgQVJHQlNvYmVsVG9Q
bGFuZShzcmNfYXJnYl9hICsgb2ZmLCBrU3JjU3RyaWRlLAotICAgICAgICAgICAgICAgICAgIGRz
dF9hcmdiX2MsIGtEc3RTdHJpZGUsCi0gICAgICAgICAgICAgICAgICAgd2lkdGgsIGludmVydCAq
IGhlaWdodCk7CisgIEFSR0JTb2JlbFRvUGxhbmUoc3JjX2FyZ2JfYSArIG9mZiwga1NyY1N0cmlk
ZSwgZHN0X2FyZ2JfYywga0RzdFN0cmlkZSwgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgaW52
ZXJ0ICogaGVpZ2h0KTsKICAgTWFza0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mbyk7CiAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnM7ICsraSkgewotICAgIEFSR0JT
b2JlbFRvUGxhbmUoc3JjX2FyZ2JfYSArIG9mZiwga1NyY1N0cmlkZSwKLSAgICAgICAgICAgICAg
ICAgICAgIGRzdF9hcmdiX29wdCwga0RzdFN0cmlkZSwKKyAgICBBUkdCU29iZWxUb1BsYW5lKHNy
Y19hcmdiX2EgKyBvZmYsIGtTcmNTdHJpZGUsIGRzdF9hcmdiX29wdCwga0RzdFN0cmlkZSwKICAg
ICAgICAgICAgICAgICAgICAgIHdpZHRoLCBpbnZlcnQgKiBoZWlnaHQpOwogICB9CiAgIGludCBt
YXhfZGlmZiA9IDA7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwga0RzdFN0cmlkZSAqIGhlaWdodDsg
KytpKSB7Ci0gICAgaW50IGFic19kaWZmID0KLSAgICAgICAgYWJzKHN0YXRpY19jYXN0PGludD4o
ZHN0X2FyZ2JfY1tpXSkgLQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9v
cHRbaV0pKTsKKyAgICBpbnQgYWJzX2RpZmYgPSBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJn
Yl9jW2ldKSAtCisgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X2Fy
Z2Jfb3B0W2ldKSk7CiAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsKICAgICAgIG1heF9k
aWZmID0gYWJzX2RpZmY7CiAgICAgfQpAQCAtMTc4MCwzOSArMTczOSwzOSBAQCBzdGF0aWMgaW50
IFRlc3RTb2JlbFRvUGxhbmUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0
ZXJhdGlvbnMsCiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBBUkdCU29iZWxUb1BsYW5lX0Fu
eSkgewogICBpbnQgbWF4X2RpZmYgPSBUZXN0U29iZWxUb1BsYW5lKGJlbmNobWFya193aWR0aF8g
LSAxLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICsxLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sIGRpc2FibGVfY3B1X2ZsYWdzXywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7
CiAgIEVYUEVDVF9FUSgwLCBtYXhfZGlmZik7CiB9CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0
LCBBUkdCU29iZWxUb1BsYW5lX1VuYWxpZ25lZCkgewogICBpbnQgbWF4X2RpZmYgPSBUZXN0U29i
ZWxUb1BsYW5lKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19j
cHVfaW5mb18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKzEsIDEpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlz
YWJsZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNo
bWFya19jcHVfaW5mb18sICsxLCAxKTsKICAgRVhQRUNUX0VRKDAsIG1heF9kaWZmKTsKIH0KIAog
VEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JTb2JlbFRvUGxhbmVfSW52ZXJ0KSB7CiAgIGlu
dCBtYXhfZGlmZiA9IFRlc3RTb2JlbFRvUGxhbmUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJr
X2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1
X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtMSwgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2ht
YXJrX2l0ZXJhdGlvbnNfLCBkaXNhYmxlX2NwdV9mbGFnc18sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYmVuY2htYXJrX2NwdV9pbmZvXywgLTEsIDApOwogICBFWFBFQ1RfRVEo
MCwgbWF4X2RpZmYpOwogfQogCiBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQlNvYmVsVG9Q
bGFuZV9PcHQpIHsKICAgaW50IG1heF9kaWZmID0gVGVzdFNvYmVsVG9QbGFuZShiZW5jaG1hcmtf
d2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICsxLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sIGRpc2FibGVfY3B1X2ZsYWdzXywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwg
MCk7CiAgIEVYUEVDVF9FUSgwLCBtYXhfZGlmZik7CiB9CiAKLXN0YXRpYyBpbnQgVGVzdFNvYmVs
WFkoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCi0gICAg
ICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2NwdV9mbGFncywgaW50IGJlbmNobWFya19j
cHVfaW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGludmVydCwgaW50IG9mZikgewor
c3RhdGljIGludCBUZXN0U29iZWxYWShpbnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAg
IGludCBoZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfaXRlcmF0
aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGRpc2FibGVfY3B1X2ZsYWdzLAorICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgYmVuY2htYXJrX2NwdV9pbmZvLAorICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaW52ZXJ0LAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgb2ZmKSB7
CiAgIGlmICh3aWR0aCA8IDEpIHsKICAgICB3aWR0aCA9IDE7CiAgIH0KQEAgLTE4MjksMjAgKzE3
ODgsMTcgQEAgc3RhdGljIGludCBUZXN0U29iZWxYWShpbnQgd2lkdGgsIGludCBoZWlnaHQsIGlu
dCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKICAgbWVtc2V0KGRzdF9hcmdiX29wdCwgMCwga1N0cmlk
ZSAqIGhlaWdodCk7CiAKICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzKTsKLSAgQVJH
QlNvYmVsWFkoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwKLSAgICAgICAgICAgIGRzdF9hcmdi
X2MsIGtTdHJpZGUsCi0gICAgICAgICAgICB3aWR0aCwgaW52ZXJ0ICogaGVpZ2h0KTsKKyAgQVJH
QlNvYmVsWFkoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwgZHN0X2FyZ2JfYywga1N0cmlkZSwg
d2lkdGgsCisgICAgICAgICAgICAgIGludmVydCAqIGhlaWdodCk7CiAgIE1hc2tDcHVGbGFncyhi
ZW5jaG1hcmtfY3B1X2luZm8pOwogICBmb3IgKGludCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVy
YXRpb25zOyArK2kpIHsKLSAgICBBUkdCU29iZWxYWShzcmNfYXJnYl9hICsgb2ZmLCBrU3RyaWRl
LAotICAgICAgICAgICAgICBkc3RfYXJnYl9vcHQsIGtTdHJpZGUsCi0gICAgICAgICAgICAgIHdp
ZHRoLCBpbnZlcnQgKiBoZWlnaHQpOworICAgIEFSR0JTb2JlbFhZKHNyY19hcmdiX2EgKyBvZmYs
IGtTdHJpZGUsIGRzdF9hcmdiX29wdCwga1N0cmlkZSwgd2lkdGgsCisgICAgICAgICAgICAgICAg
aW52ZXJ0ICogaGVpZ2h0KTsKICAgfQogICBpbnQgbWF4X2RpZmYgPSAwOwogICBmb3IgKGludCBp
ID0gMDsgaSA8IGtTdHJpZGUgKiBoZWlnaHQ7ICsraSkgewotICAgIGludCBhYnNfZGlmZiA9Ci0g
ICAgICAgIGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX2NbaV0pIC0KLSAgICAgICAgICAg
IHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2Jfb3B0W2ldKSk7CisgICAgaW50IGFic19kaWZmID0g
YWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2JfY1tpXSkgLQorICAgICAgICAgICAgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX29wdFtpXSkpOwogICAgIGlmIChhYnNfZGlm
ZiA+IG1heF9kaWZmKSB7CiAgICAgICBtYXhfZGlmZiA9IGFic19kaWZmOwogICAgIH0KQEAgLTE4
NTUsMzUgKzE4MTEsNDAgQEAgc3RhdGljIGludCBUZXN0U29iZWxYWShpbnQgd2lkdGgsIGludCBo
ZWlnaHQsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKIAogVEVTVF9GKExpYllVVlBsYW5hclRl
c3QsIEFSR0JTb2JlbFhZX0FueSkgewogICBpbnQgbWF4X2RpZmYgPSBUZXN0U29iZWxYWShiZW5j
aG1hcmtfd2lkdGhfIC0gMSwgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJs
ZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1
X2luZm9fLCArMSwgMCk7CiAgIEVYUEVDVF9FUSgwLCBtYXhfZGlmZik7CiB9CiAKIFRFU1RfRihM
aWJZVVZQbGFuYXJUZXN0LCBBUkdCU29iZWxYWV9VbmFsaWduZWQpIHsKLSAgaW50IG1heF9kaWZm
ID0gVGVzdFNvYmVsWFkoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2lu
Zm9fLCArMSwgMSk7CisgIGludCBtYXhfZGlmZiA9CisgICAgICBUZXN0U29iZWxYWShiZW5jaG1h
cmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICAg
ICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAr
MSwgMSk7CiAgIEVYUEVDVF9FUSgwLCBtYXhfZGlmZik7CiB9CiAKIFRFU1RfRihMaWJZVVZQbGFu
YXJUZXN0LCBBUkdCU29iZWxYWV9JbnZlcnQpIHsKLSAgaW50IG1heF9kaWZmID0gVGVzdFNvYmVs
WFkoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCk7
CisgIGludCBtYXhfZGlmZiA9CisgICAgICBUZXN0U29iZWxYWShiZW5jaG1hcmtfd2lkdGhfLCBi
ZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICAgICAgICAgICAgICAg
ICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCk7CiAgIEVY
UEVDVF9FUSgwLCBtYXhfZGlmZik7CiB9CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBBUkdC
U29iZWxYWV9PcHQpIHsKLSAgaW50IG1heF9kaWZmID0gVGVzdFNvYmVsWFkoYmVuY2htYXJrX3dp
ZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJl
bmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJs
ZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7CisgIGludCBtYXhfZGlm
ZiA9CisgICAgICBUZXN0U29iZWxYWShiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0
XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVf
ZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCk7CiAgIEVYUEVDVF9FUSgwLCBtYXhf
ZGlmZik7CiB9CiAKLXN0YXRpYyBpbnQgVGVzdEJsdXIoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBp
bnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxl
X2NwdV9mbGFncywgaW50IGJlbmNobWFya19jcHVfaW5mbywKLSAgICAgICAgICAgICAgICAgICAg
aW50IGludmVydCwgaW50IG9mZiwgaW50IHJhZGl1cykgeworc3RhdGljIGludCBUZXN0Qmx1cihp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGludCBoZWlnaHQsCisgICAgICAgICAgICAg
ICAgICAgIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgaW50
IGRpc2FibGVfY3B1X2ZsYWdzLAorICAgICAgICAgICAgICAgICAgICBpbnQgYmVuY2htYXJrX2Nw
dV9pbmZvLAorICAgICAgICAgICAgICAgICAgICBpbnQgaW52ZXJ0LAorICAgICAgICAgICAgICAg
ICAgICBpbnQgb2ZmLAorICAgICAgICAgICAgICAgICAgICBpbnQgcmFkaXVzKSB7CiAgIGlmICh3
aWR0aCA8IDEpIHsKICAgICB3aWR0aCA9IDE7CiAgIH0KQEAgLTE5MDEsMjIgKzE4NjIsMTkgQEAg
c3RhdGljIGludCBUZXN0Qmx1cihpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBiZW5jaG1hcmtf
aXRlcmF0aW9ucywKICAgbWVtc2V0KGRzdF9hcmdiX29wdCwgMCwga1N0cmlkZSAqIGhlaWdodCk7
CiAKICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzKTsKLSAgQVJHQkJsdXIoc3JjX2Fy
Z2JfYSArIG9mZiwga1N0cmlkZSwKLSAgICAgICAgICAgZHN0X2FyZ2JfYywga1N0cmlkZSwKLSAg
ICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxpbnQzMio+KGRzdF9jdW1zdW0pLCB3aWR0aCAqIDQs
Ci0gICAgICAgICAgIHdpZHRoLCBpbnZlcnQgKiBoZWlnaHQsIHJhZGl1cyk7CisgIEFSR0JCbHVy
KHNyY19hcmdiX2EgKyBvZmYsIGtTdHJpZGUsIGRzdF9hcmdiX2MsIGtTdHJpZGUsCisgICAgICAg
ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8aW50MzIqPihkc3RfY3Vtc3VtKSwgd2lkdGggKiA0LCB3aWR0
aCwKKyAgICAgICAgICAgaW52ZXJ0ICogaGVpZ2h0LCByYWRpdXMpOwogICBNYXNrQ3B1RmxhZ3Mo
YmVuY2htYXJrX2NwdV9pbmZvKTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRl
cmF0aW9uczsgKytpKSB7Ci0gICAgQVJHQkJsdXIoc3JjX2FyZ2JfYSArIG9mZiwga1N0cmlkZSwK
LSAgICAgICAgICAgICBkc3RfYXJnYl9vcHQsIGtTdHJpZGUsCi0gICAgICAgICAgICAgcmVpbnRl
cnByZXRfY2FzdDxpbnQzMio+KGRzdF9jdW1zdW0pLCB3aWR0aCAqIDQsCi0gICAgICAgICAgICAg
d2lkdGgsIGludmVydCAqIGhlaWdodCwgcmFkaXVzKTsKKyAgICBBUkdCQmx1cihzcmNfYXJnYl9h
ICsgb2ZmLCBrU3RyaWRlLCBkc3RfYXJnYl9vcHQsIGtTdHJpZGUsCisgICAgICAgICAgICAgcmVp
bnRlcnByZXRfY2FzdDxpbnQzMio+KGRzdF9jdW1zdW0pLCB3aWR0aCAqIDQsIHdpZHRoLAorICAg
ICAgICAgICAgIGludmVydCAqIGhlaWdodCwgcmFkaXVzKTsKICAgfQogICBpbnQgbWF4X2RpZmYg
PSAwOwogICBmb3IgKGludCBpID0gMDsgaSA8IGtTdHJpZGUgKiBoZWlnaHQ7ICsraSkgewotICAg
IGludCBhYnNfZGlmZiA9Ci0gICAgICAgIGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX2Nb
aV0pIC0KLSAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2Jfb3B0W2ldKSk7Cisg
ICAgaW50IGFic19kaWZmID0gYWJzKHN0YXRpY19jYXN0PGludD4oZHN0X2FyZ2JfY1tpXSkgLQor
ICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX29wdFtpXSkp
OwogICAgIGlmIChhYnNfZGlmZiA+IG1heF9kaWZmKSB7CiAgICAgICBtYXhfZGlmZiA9IGFic19k
aWZmOwogICAgIH0KQEAgLTE5MzAsNjcgKzE4ODgsNTkgQEAgc3RhdGljIGludCBUZXN0Qmx1cihp
bnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKIAogc3RhdGlj
IGNvbnN0IGludCBrQmx1clNpemUgPSA1NTsKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBBUkdC
Qmx1cl9BbnkpIHsKLSAgaW50IG1heF9kaWZmID0gVGVzdEJsdXIoYmVuY2htYXJrX3dpZHRoXyAt
IDEsIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1h
cmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2Zs
YWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKzEs
IDAsIGtCbHVyU2l6ZSk7CisgIGludCBtYXhfZGlmZiA9CisgICAgICBUZXN0Qmx1cihiZW5jaG1h
cmtfd2lkdGhfIC0gMSwgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywK
KyAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywg
KzEsIDAsIGtCbHVyU2l6ZSk7CiAgIEVYUEVDVF9MRShtYXhfZGlmZiwgMSk7CiB9CiAKIFRFU1Rf
RihMaWJZVVZQbGFuYXJUZXN0LCBBUkdCQmx1cl9VbmFsaWduZWQpIHsKLSAgaW50IG1heF9kaWZm
ID0gVGVzdEJsdXIoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICArMSwgMSwga0JsdXJTaXplKTsKKyAgaW50IG1heF9kaWZm
ID0KKyAgICAgIFRlc3RCbHVyKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCBi
ZW5jaG1hcmtfaXRlcmF0aW9uc18sCisgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18s
IGJlbmNobWFya19jcHVfaW5mb18sICsxLCAxLCBrQmx1clNpemUpOwogICBFWFBFQ1RfTEUobWF4
X2RpZmYsIDEpOwogfQogCiBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQkJsdXJfSW52ZXJ0
KSB7Ci0gIGludCBtYXhfZGlmZiA9IFRlc3RCbHVyKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFy
a19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9u
c18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2ht
YXJrX2NwdV9pbmZvXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgLTEsIDAsIGtCbHVyU2l6
ZSk7CisgIGludCBtYXhfZGlmZiA9CisgICAgICBUZXN0Qmx1cihiZW5jaG1hcmtfd2lkdGhfLCBi
ZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICAgICAgICAgICAgICAg
ZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCwga0JsdXJTaXpl
KTsKICAgRVhQRUNUX0xFKG1heF9kaWZmLCAxKTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRl
c3QsIEFSR0JCbHVyX09wdCkgewotICBpbnQgbWF4X2RpZmYgPSBUZXN0Qmx1cihiZW5jaG1hcmtf
d2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYmVu
Y2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2Nw
dV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICsxLCAwLCBrQmx1clNpemUpOworICBpbnQgbWF4X2RpZmYgPQorICAgICAgVGVzdEJsdXIoYmVu
Y2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywK
KyAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXywg
KzEsIDAsIGtCbHVyU2l6ZSk7CiAgIEVYUEVDVF9MRShtYXhfZGlmZiwgMSk7CiB9CiAKIHN0YXRp
YyBjb25zdCBpbnQga0JsdXJTbWFsbFNpemUgPSA1OwogVEVTVF9GKExpYllVVlBsYW5hclRlc3Qs
IEFSR0JCbHVyU21hbGxfQW55KSB7Ci0gIGludCBtYXhfZGlmZiA9IFRlc3RCbHVyKGJlbmNobWFy
a193aWR0aF8gLSAxLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNh
YmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICsxLCAwLCBrQmx1clNtYWxsU2l6ZSk7CisgIGludCBtYXhfZGlmZiA9CisgICAgICBU
ZXN0Qmx1cihiZW5jaG1hcmtfd2lkdGhfIC0gMSwgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFy
a19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2ht
YXJrX2NwdV9pbmZvXywgKzEsIDAsIGtCbHVyU21hbGxTaXplKTsKICAgRVhQRUNUX0xFKG1heF9k
aWZmLCAxKTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JCbHVyU21hbGxfVW5h
bGlnbmVkKSB7Ci0gIGludCBtYXhfZGlmZiA9IFRlc3RCbHVyKGJlbmNobWFya193aWR0aF8sIGJl
bmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRl
cmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywg
YmVuY2htYXJrX2NwdV9pbmZvXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKzEsIDEsIGtC
bHVyU21hbGxTaXplKTsKKyAgaW50IG1heF9kaWZmID0KKyAgICAgIFRlc3RCbHVyKGJlbmNobWFy
a193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCisgICAg
ICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAx
LCBrQmx1clNtYWxsU2l6ZSk7CiAgIEVYUEVDVF9MRShtYXhfZGlmZiwgMSk7CiB9CiAKIFRFU1Rf
RihMaWJZVVZQbGFuYXJUZXN0LCBBUkdCQmx1clNtYWxsX0ludmVydCkgewotICBpbnQgbWF4X2Rp
ZmYgPSBUZXN0Qmx1cihiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCAwLCBrQmx1clNtYWxsU2l6ZSk7CisgIGludCBt
YXhfZGlmZiA9CisgICAgICBUZXN0Qmx1cihiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVp
Z2h0XywgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVf
ZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCwga0JsdXJTbWFsbFNpemUpOwogICBF
WFBFQ1RfTEUobWF4X2RpZmYsIDEpOwogfQogCiBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJH
QkJsdXJTbWFsbF9PcHQpIHsKLSAgaW50IG1heF9kaWZmID0gVGVzdEJsdXIoYmVuY2htYXJrX3dp
ZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNo
bWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVf
ZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAr
MSwgMCwga0JsdXJTbWFsbFNpemUpOworICBpbnQgbWF4X2RpZmYgPQorICAgICAgVGVzdEJsdXIo
YmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25z
XywKKyAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZv
XywgKzEsIDAsIGtCbHVyU21hbGxTaXplKTsKICAgRVhQRUNUX0xFKG1heF9kaWZmLCAxKTsKIH0K
IApAQCAtMjAwMSwxMCArMTk1MSwxMCBAQCBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgVGVzdEFS
R0JQb2x5bm9taWFsKSB7CiAgIG1lbXNldChvcmlnX3BpeGVscywgMCwgc2l6ZW9mKG9yaWdfcGl4
ZWxzKSk7CiAKICAgU0lNRF9BTElHTkVEKHN0YXRpYyBjb25zdCBmbG9hdCBrV2FybWlmeVBvbHlu
b21pYWxbMTZdKSA9IHsKLSAgICAwLjk0MjMwZiwgIC0zLjAzMzAwZiwgICAgLTIuOTI1MDBmLCAg
MC5mLCAgLy8gQzAKLSAgICAwLjU4NDUwMGYsICAxLjExMjAwMGYsICAgIDEuNTM1MDAwZiwgMS5m
LCAgLy8gQzEgeAotICAgIDAuMDAxMzEzZiwgLTAuMDAyNTAzZiwgICAtMC4wMDQ0OTZmLCAwLmYs
ICAvLyBDMiB4ICogeAotICAgIDAuMGYsICAgICAgIDAuMDAwMDA2OTY1ZiwgMC4wMDAwMDg3ODFm
LCAwLmYsICAvLyBDMyB4ICogeCAqIHgKKyAgICAgIDAuOTQyMzBmLCAgLTMuMDMzMDBmLCAgICAt
Mi45MjUwMGYsICAgIDAuZiwgIC8vIEMwCisgICAgICAwLjU4NDUwMGYsIDEuMTEyMDAwZiwgICAg
MS41MzUwMDBmLCAgICAxLmYsICAvLyBDMSB4CisgICAgICAwLjAwMTMxM2YsIC0wLjAwMjUwM2Ys
ICAgLTAuMDA0NDk2ZiwgICAwLmYsICAvLyBDMiB4ICogeAorICAgICAgMC4wZiwgICAgICAwLjAw
MDAwNjk2NWYsIDAuMDAwMDA4NzgxZiwgMC5mLCAgLy8gQzMgeCAqIHggKiB4CiAgIH07CiAKICAg
Ly8gVGVzdCBibHVlCkBAIC0yMDgxLDc3ICsyMDMxLDEzNyBAQCBURVNUX0YoTGliWVVWUGxhbmFy
VGVzdCwgVGVzdEFSR0JQb2x5bm9taWFsKSB7CiAgIH0KIH0KIAotaW50IFRlc3RIYWxmRmxvYXRQ
bGFuZShpbnQgYmVuY2htYXJrX3dpZHRoLCBpbnQgYmVuY2htYXJrX2hlaWdodCwKK2ludCBUZXN0
SGFsZkZsb2F0UGxhbmUoaW50IGJlbmNobWFya193aWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGJlbmNobWFya19oZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5j
aG1hcmtfaXRlcmF0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGRpc2FibGVfY3B1
X2ZsYWdzLCBpbnQgYmVuY2htYXJrX2NwdV9pbmZvLAotICAgICAgICAgICAgICAgICAgICAgICBm
bG9hdCBzY2FsZSkgeworICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzYWJsZV9jcHVfZmxh
Z3MsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfY3B1X2luZm8sCisgICAg
ICAgICAgICAgICAgICAgICAgIGZsb2F0IHNjYWxlLAorICAgICAgICAgICAgICAgICAgICAgICBp
bnQgbWFzaykgewogICBpbnQgaSwgajsKICAgY29uc3QgaW50IHlfcGxhbmVfc2l6ZSA9IGJlbmNo
bWFya193aWR0aCAqIGJlbmNobWFya19oZWlnaHQgKiAyOwogCi0gIGFsaWduX2J1ZmZlcl9wYWdl
X2VuZChvcmlnX3ksIHlfcGxhbmVfc2l6ZSk7Ci0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3Rf
YywgeV9wbGFuZV9zaXplKTsKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9vcHQsIHlfcGxh
bmVfc2l6ZSk7CisgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChvcmlnX3ksIHlfcGxhbmVfc2l6ZSAq
IDMpOworICB1aW50OCogZHN0X29wdCA9IG9yaWdfeSArIHlfcGxhbmVfc2l6ZTsKKyAgdWludDgq
IGRzdF9jID0gb3JpZ195ICsgeV9wbGFuZV9zaXplICogMjsKKwogICBNZW1SYW5kb21pemUob3Jp
Z195LCB5X3BsYW5lX3NpemUpOwogICBtZW1zZXQoZHN0X2MsIDAsIHlfcGxhbmVfc2l6ZSk7CiAg
IG1lbXNldChkc3Rfb3B0LCAxLCB5X3BsYW5lX3NpemUpOwogCisgIGZvciAoaSA9IDA7IGkgPCB5
X3BsYW5lX3NpemUgLyAyOyArK2kpIHsKKyAgICByZWludGVycHJldF9jYXN0PHVpbnQxNio+KG9y
aWdfeSlbaV0gJj0gbWFzazsKKyAgfQorCiAgIC8vIERpc2FibGUgYWxsIG9wdGltaXphdGlvbnMu
CiAgIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFncyk7Ci0gIGRvdWJsZSBjX3RpbWUgPSBn
ZXRfdGltZSgpOwogICBmb3IgKGogPSAwOyBqIDwgYmVuY2htYXJrX2l0ZXJhdGlvbnM7IGorKykg
ewogICAgIEhhbGZGbG9hdFBsYW5lKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2Kj4ob3JpZ195KSwg
YmVuY2htYXJrX3dpZHRoICogMiwKLSAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0
PHVpbnQxNio+KGRzdF9jKSwgYmVuY2htYXJrX3dpZHRoICogMiwKLSAgICAgICAgICAgICAgICAg
ICBzY2FsZSwgYmVuY2htYXJrX3dpZHRoLCBiZW5jaG1hcmtfaGVpZ2h0KTsKKyAgICAgICAgICAg
ICAgICAgICByZWludGVycHJldF9jYXN0PHVpbnQxNio+KGRzdF9jKSwgYmVuY2htYXJrX3dpZHRo
ICogMiwgc2NhbGUsCisgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoLCBiZW5jaG1h
cmtfaGVpZ2h0KTsKICAgfQotICBjX3RpbWUgPSAoZ2V0X3RpbWUoKSAtIGNfdGltZSkgLyBiZW5j
aG1hcmtfaXRlcmF0aW9uczsKIAogICAvLyBFbmFibGUgb3B0aW1pemF0aW9ucy4KICAgTWFza0Nw
dUZsYWdzKGJlbmNobWFya19jcHVfaW5mbyk7Ci0gIGRvdWJsZSBvcHRfdGltZSA9IGdldF90aW1l
KCk7CiAgIGZvciAoaiA9IDA7IGogPCBiZW5jaG1hcmtfaXRlcmF0aW9uczsgaisrKSB7CiAgICAg
SGFsZkZsb2F0UGxhbmUocmVpbnRlcnByZXRfY2FzdDx1aW50MTYqPihvcmlnX3kpLCBiZW5jaG1h
cmtfd2lkdGggKiAyLAogICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2
Kj4oZHN0X29wdCksIGJlbmNobWFya193aWR0aCAqIDIsCiAgICAgICAgICAgICAgICAgICAgc2Nh
bGUsIGJlbmNobWFya193aWR0aCwgYmVuY2htYXJrX2hlaWdodCk7CiAgIH0KLSAgb3B0X3RpbWUg
PSAoZ2V0X3RpbWUoKSAtIG9wdF90aW1lKSAvIGJlbmNobWFya19pdGVyYXRpb25zOwogCi0gIGlu
dCBkaWZmID0gMDsKLSAgZm9yIChpID0gMDsgaSA8IHlfcGxhbmVfc2l6ZTsgKytpKSB7Ci0gICAg
ZGlmZiA9IGRzdF9jW2ldIC0gZHN0X29wdFtpXTsKLSAgICBpZiAoZGlmZikgYnJlYWs7CisgIGlu
dCBtYXhfZGlmZiA9IDA7CisgIGZvciAoaSA9IDA7IGkgPCB5X3BsYW5lX3NpemUgLyAyOyArK2kp
IHsKKyAgICBpbnQgYWJzX2RpZmYgPSBhYnMoc3RhdGljX2Nhc3Q8aW50PihyZWludGVycHJldF9j
YXN0PHVpbnQxNio+KGRzdF9jKVtpXSkgLQorICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxpbnQ+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2Kj4oZHN0X29wdClbaV0pKTsKKyAgICBp
ZiAoYWJzX2RpZmYgPiBtYXhfZGlmZikgeworICAgICAgbWF4X2RpZmYgPSBhYnNfZGlmZjsKKyAg
ICB9CiAgIH0KIAogICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKG9yaWdfeSk7Ci0gIGZy
ZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X2MpOwotICBmcmVlX2FsaWduZWRfYnVmZmVy
X3BhZ2VfZW5kKGRzdF9vcHQpOwotICByZXR1cm4gZGlmZjsKKyAgcmV0dXJuIG1heF9kaWZmOwor
fQorCisjaWYgZGVmaW5lZChfX2FybV9fKQorc3RhdGljIHZvaWQgRW5hYmxlRmx1c2hEZW5vcm1h
bFRvWmVybyh2b2lkKSB7CisgIHVpbnQzMl90IGN3OworICBfX2FzbV9fIF9fdm9sYXRpbGVfXygK
KyAgICAgICJ2bXJzICAgJTAsIGZwc2NyICAgICAgICAgXG4iCisgICAgICAib3JyICAgICUwLCAl
MCwgIzB4MTAwMDAwMCAgICAgICAgXG4iCisgICAgICAidm1zciAgIGZwc2NyLCAlMCAgICAgICAg
IFxuIgorICAgICAgOiAiPXIiKGN3KTo6Im1lbW9yeSIpOwogfQorI2VuZGlmCiAKIC8vIDUgYml0
IGV4cG9uZW50IHdpdGggYmlhcyBvZiAxNSB3aWxsIHVuZGVyZmxvdyB0byBhIGRlbm9ybWFsIGlm
IHNjYWxlIGNhdXNlcwogLy8gZXhwb25lbnQgdG8gYmUgbGVzcyB0aGFuIDAuICAxNSAtIGxvZzIo
NjU1MzYpID0gLTEvICBUaGlzIHNob3VsZG50IG5vcm1hbGx5CiAvLyBoYXBwZW4gc2luY2Ugc2Nh
bGUgaXMgMS8oMTw8Yml0cykgd2hlcmUgYml0cyBpcyA5LCAxMCBvciAxMi4KLVRFU1RfRihMaWJZ
VVZQbGFuYXJUZXN0LCBUZXN0SGFsZkZsb2F0UGxhbmVfZGVub3JtYWwpIHsKKworVEVTVF9GKExp
YllVVlBsYW5hclRlc3QsIFRlc3RIYWxmRmxvYXRQbGFuZV8xNmJpdF9kZW5vcm1hbCkgeworLy8g
MzIgYml0IGFybSByb3VuZGluZyBvbiBkZW5vcm1hbCBjYXNlIGlzIG9mZiBieSAxIGNvbXBhcmVk
IHRvIEMuCisjaWYgZGVmaW5lZChfX2FybV9fKQorICBFbmFibGVGbHVzaERlbm9ybWFsVG9aZXJv
KCk7CisjZW5kaWYKICAgaW50IGRpZmYgPSBUZXN0SGFsZkZsb2F0UGxhbmUoYmVuY2htYXJrX3dp
ZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAxLjBmIC8gNjU1MzYuMGYpOwotICBFWFBFQ1RfRVEoZGlmZiwgMCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywg
ZGlzYWJsZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5j
aG1hcmtfY3B1X2luZm9fLCAxLjBmIC8gNjU1MzYuMGYsIDY1NTM1KTsKKyAgRVhQRUNUX0VRKDAs
IGRpZmYpOworfQorCitURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgVGVzdEhhbGZGbG9hdFBsYW5l
XzE2Yml0X09uZSkgeworICBpbnQgZGlmZiA9IFRlc3RIYWxmRmxvYXRQbGFuZShiZW5jaG1hcmtf
d2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLCBkaXNhYmxlX2NwdV9mbGFnc18sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19jcHVfaW5mb18sIDEuMGYsIDY1NTM1KTsK
KyAgRVhQRUNUX0xFKGRpZmYsIDEpOworfQorCitURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgVGVz
dEhhbGZGbG9hdFBsYW5lXzE2Yml0X09wdCkgeworICBpbnQgZGlmZiA9IFRlc3RIYWxmRmxvYXRQ
bGFuZShiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLCBkaXNhYmxlX2NwdV9mbGFn
c18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19jcHVfaW5mb18s
IDEuMGYgLyA0MDk2LjBmLCA2NTUzNSk7CisgIEVYUEVDVF9FUSgwLCBkaWZmKTsKK30KKworVEVT
VF9GKExpYllVVlBsYW5hclRlc3QsIFRlc3RIYWxmRmxvYXRQbGFuZV8xMGJpdF9PcHQpIHsKKyAg
aW50IGRpZmYgPSBUZXN0SGFsZkZsb2F0UGxhbmUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJr
X2hlaWdodF8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVy
YXRpb25zXywgZGlzYWJsZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBiZW5jaG1hcmtfY3B1X2luZm9fLCAxLjBmIC8gMTAyNC4wZiwgMTAyMyk7CisgIEVYUEVD
VF9FUSgwLCBkaWZmKTsKK30KKworVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIFRlc3RIYWxmRmxv
YXRQbGFuZV85Yml0X09wdCkgeworICBpbnQgZGlmZiA9IFRlc3RIYWxmRmxvYXRQbGFuZShiZW5j
aG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLCBkaXNhYmxlX2NwdV9mbGFnc18sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19jcHVfaW5mb18sIDEuMGYgLyA1
MTIuMGYsIDUxMSk7CisgIEVYUEVDVF9FUSgwLCBkaWZmKTsKIH0KIAogVEVTVF9GKExpYllVVlBs
YW5hclRlc3QsIFRlc3RIYWxmRmxvYXRQbGFuZV9PcHQpIHsKICAgaW50IGRpZmYgPSBUZXN0SGFs
ZkZsb2F0UGxhbmUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1
X2luZm9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBmIC8gNDA5Ni4wZik7
Ci0gIEVYUEVDVF9FUShkaWZmLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YmVuY2htYXJrX2l0ZXJhdGlvbnNfLCBkaXNhYmxlX2NwdV9mbGFnc18sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19jcHVfaW5mb18sIDEuMGYgLyA0MDk2LjBmLCA0
MDk1KTsKKyAgRVhQRUNUX0VRKDAsIGRpZmYpOwogfQogCiBURVNUX0YoTGliWVVWUGxhbmFyVGVz
dCwgVGVzdEhhbGZGbG9hdFBsYW5lX09mZmJ5MSkgewogICBpbnQgZGlmZiA9IFRlc3RIYWxmRmxv
YXRQbGFuZShiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5m
b18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGYgLyAxMDIzLjBmKTsKLSAg
RVhQRUNUX0VRKGRpZmYsIDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5j
aG1hcmtfaXRlcmF0aW9uc18sIGRpc2FibGVfY3B1X2ZsYWdzXywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYmVuY2htYXJrX2NwdV9pbmZvXywgMS4wZiAvIDQwOTUuMGYsIDQwOTUp
OworICBFWFBFQ1RfRVEoMCwgZGlmZik7Cit9CisKK1RFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBU
ZXN0SGFsZkZsb2F0UGxhbmVfT25lKSB7CisgIGludCBkaWZmID0gVGVzdEhhbGZGbG9hdFBsYW5l
KGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sIGRpc2FibGVfY3B1X2ZsYWdzXywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2NwdV9pbmZvXywgMS4w
ZiwgMjA0Nyk7CisgIEVYUEVDVF9FUSgwLCBkaWZmKTsKK30KKworVEVTVF9GKExpYllVVlBsYW5h
clRlc3QsIFRlc3RIYWxmRmxvYXRQbGFuZV8xMmJpdF9PbmUpIHsKKyAgaW50IGRpZmYgPSBUZXN0
SGFsZkZsb2F0UGxhbmUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJs
ZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtf
Y3B1X2luZm9fLCAxLjBmLCA0MDk1KTsKKyAgRVhQRUNUX0xFKGRpZmYsIDEpOwogfQogCiBURVNU
X0YoTGliWVVWUGxhbmFyVGVzdCwgVGVzdEFSR0JMdW1hQ29sb3JUYWJsZSkgewpAQCAtMjI0Mywx
NSArMjI1MywxMyBAQCBURVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgVGVzdEFSR0JDb3B5QWxwaGEp
IHsKICAgbWVtY3B5KGRzdF9waXhlbHNfYywgZHN0X3BpeGVsc19vcHQsIGtTaXplKTsKIAogICBN
YXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsKLSAgQVJHQkNvcHlBbHBoYShvcmlnX3Bp
eGVscywgYmVuY2htYXJrX3dpZHRoXyAqIDQsCi0gICAgICAgICAgICAgICAgZHN0X3BpeGVsc19j
LCBiZW5jaG1hcmtfd2lkdGhfICogNCwKLSAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhf
LCBiZW5jaG1hcmtfaGVpZ2h0Xyk7CisgIEFSR0JDb3B5QWxwaGEob3JpZ19waXhlbHMsIGJlbmNo
bWFya193aWR0aF8gKiA0LCBkc3RfcGl4ZWxzX2MsCisgICAgICAgICAgICAgICAgYmVuY2htYXJr
X3dpZHRoXyAqIDQsIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfKTsKICAgTWFz
a0NwdUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOwogCiAgIGZvciAoaW50IGkgPSAwOyBpIDwg
YmVuY2htYXJrX2l0ZXJhdGlvbnNfOyArK2kpIHsKLSAgICBBUkdCQ29weUFscGhhKG9yaWdfcGl4
ZWxzLCBiZW5jaG1hcmtfd2lkdGhfICogNCwKLSAgICAgICAgICAgICAgICAgIGRzdF9waXhlbHNf
b3B0LCBiZW5jaG1hcmtfd2lkdGhfICogNCwKLSAgICAgICAgICAgICAgICAgIGJlbmNobWFya193
aWR0aF8sIGJlbmNobWFya19oZWlnaHRfKTsKKyAgICBBUkdCQ29weUFscGhhKG9yaWdfcGl4ZWxz
LCBiZW5jaG1hcmtfd2lkdGhfICogNCwgZHN0X3BpeGVsc19vcHQsCisgICAgICAgICAgICAgICAg
ICBiZW5jaG1hcmtfd2lkdGhfICogNCwgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdo
dF8pOwogICB9CiAgIGZvciAoaW50IGkgPSAwOyBpIDwga1NpemU7ICsraSkgewogICAgIEVYUEVD
VF9FUShkc3RfcGl4ZWxzX2NbaV0sIGRzdF9waXhlbHNfb3B0W2ldKTsKQEAgLTIyNzMsMTUgKzIy
ODEsMTMgQEAgVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIFRlc3RBUkdCRXh0cmFjdEFscGhhKSB7
CiAgIG1lbWNweShkc3RfcGl4ZWxzX2MsIGRzdF9waXhlbHNfb3B0LCBrUGl4ZWxzKTsKIAogICBN
YXNrQ3B1RmxhZ3MoZGlzYWJsZV9jcHVfZmxhZ3NfKTsKLSAgQVJHQkV4dHJhY3RBbHBoYShzcmNf
cGl4ZWxzLCBiZW5jaG1hcmtfd2lkdGhfICogNCwKLSAgICAgICAgICAgICAgICAgICBkc3RfcGl4
ZWxzX2MsIGJlbmNobWFya193aWR0aF8sCi0gICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dp
ZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOworICBBUkdCRXh0cmFjdEFscGhhKHNyY19waXhlbHMs
IGJlbmNobWFya193aWR0aF8gKiA0LCBkc3RfcGl4ZWxzX2MsCisgICAgICAgICAgICAgICAgICAg
YmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOwog
ICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7CiAKICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsraSkgewotICAgIEFSR0JFeHRyYWN0QWxwaGEo
c3JjX3BpeGVscywgYmVuY2htYXJrX3dpZHRoXyAqIDQsCi0gICAgICAgICAgICAgICAgICAgICBk
c3RfcGl4ZWxzX29wdCwgYmVuY2htYXJrX3dpZHRoXywKLSAgICAgICAgICAgICAgICAgICAgIGJl
bmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfKTsKKyAgICBBUkdCRXh0cmFjdEFscGhh
KHNyY19waXhlbHMsIGJlbmNobWFya193aWR0aF8gKiA0LCBkc3RfcGl4ZWxzX29wdCwKKyAgICAg
ICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya193aWR0aF8sIGJlbmNo
bWFya19oZWlnaHRfKTsKICAgfQogICBmb3IgKGludCBpID0gMDsgaSA8IGtQaXhlbHM7ICsraSkg
ewogICAgIEVYUEVDVF9FUShkc3RfcGl4ZWxzX2NbaV0sIGRzdF9waXhlbHNfb3B0W2ldKTsKQEAg
LTIzMDMsMTUgKzIzMDksMTMgQEAgVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIFRlc3RBUkdCQ29w
eVlUb0FscGhhKSB7CiAgIG1lbWNweShkc3RfcGl4ZWxzX2MsIGRzdF9waXhlbHNfb3B0LCBrUGl4
ZWxzICogNCk7CiAKICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7Ci0gIEFSR0JD
b3B5WVRvQWxwaGEob3JpZ19waXhlbHMsIGJlbmNobWFya193aWR0aF8sCi0gICAgICAgICAgICAg
ICAgICAgZHN0X3BpeGVsc19jLCBiZW5jaG1hcmtfd2lkdGhfICogNCwKLSAgICAgICAgICAgICAg
ICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0Xyk7CisgIEFSR0JDb3B5WVRv
QWxwaGEob3JpZ19waXhlbHMsIGJlbmNobWFya193aWR0aF8sIGRzdF9waXhlbHNfYywKKyAgICAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfICogNCwgYmVuY2htYXJrX3dpZHRoXywgYmVu
Y2htYXJrX2hlaWdodF8pOwogICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvXyk7CiAK
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsraSkgewotICAg
IEFSR0JDb3B5WVRvQWxwaGEob3JpZ19waXhlbHMsIGJlbmNobWFya193aWR0aF8sCi0gICAgICAg
ICAgICAgICAgICAgICBkc3RfcGl4ZWxzX29wdCwgYmVuY2htYXJrX3dpZHRoXyAqIDQsCi0gICAg
ICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0Xyk7Cisg
ICAgQVJHQkNvcHlZVG9BbHBoYShvcmlnX3BpeGVscywgYmVuY2htYXJrX3dpZHRoXywgZHN0X3Bp
eGVsc19vcHQsCisgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfICogNCwgYmVu
Y2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8pOwogICB9CiAgIGZvciAoaW50IGkgPSAw
OyBpIDwga1BpeGVscyAqIDQ7ICsraSkgewogICAgIEVYUEVDVF9FUShkc3RfcGl4ZWxzX2NbaV0s
IGRzdF9waXhlbHNfb3B0W2ldKTsKQEAgLTIzMjIsOSArMjMyNiwxNCBAQCBURVNUX0YoTGliWVVW
UGxhbmFyVGVzdCwgVGVzdEFSR0JDb3B5WVRvQWxwaGEpIHsKICAgZnJlZV9hbGlnbmVkX2J1ZmZl
cl9wYWdlX2VuZChvcmlnX3BpeGVscyk7CiB9CiAKLXN0YXRpYyBpbnQgVGVzdEFSR0JSZWN0KGlu
dCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGJlbmNobWFya19pdGVyYXRpb25zLAotICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRpc2FibGVfY3B1X2ZsYWdzLCBpbnQgYmVuY2htYXJrX2NwdV9p
bmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IGludmVydCwgaW50IG9mZiwgaW50IGJw
cCkgeworc3RhdGljIGludCBUZXN0QVJHQlJlY3QoaW50IHdpZHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1h
cmtfaXRlcmF0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2NwdV9m
bGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfY3B1X2luZm8sCisg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW52ZXJ0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IG9mZiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBicHApIHsKICAgaWYgKHdp
ZHRoIDwgMSkgewogICAgIHdpZHRoID0gMTsKICAgfQpAQCAtMjM1NSw5ICsyMzY0LDggQEAgc3Rh
dGljIGludCBUZXN0QVJHQlJlY3QoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYmVuY2htYXJr
X2l0ZXJhdGlvbnMsCiAgIH0KICAgaW50IG1heF9kaWZmID0gMDsKICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBrU3RyaWRlICogaGVpZ2h0OyArK2kpIHsKLSAgICBpbnQgYWJzX2RpZmYgPQotICAgICAg
ICBhYnMoc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9jW2kgKyBvZmZdKSAtCi0gICAgICAgICAg
ICBzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX29wdFtpICsgb2ZmXSkpOworICAgIGludCBhYnNf
ZGlmZiA9IGFicyhzdGF0aWNfY2FzdDxpbnQ+KGRzdF9hcmdiX2NbaSArIG9mZl0pIC0KKyAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihkc3RfYXJnYl9vcHRbaSArIG9mZl0p
KTsKICAgICBpZiAoYWJzX2RpZmYgPiBtYXhfZGlmZikgewogICAgICAgbWF4X2RpZmYgPSBhYnNf
ZGlmZjsKICAgICB9CkBAIC0yMzY5LDY1ICsyMzc3LDU3IEBAIHN0YXRpYyBpbnQgVGVzdEFSR0JS
ZWN0KGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGJlbmNobWFya19pdGVyYXRpb25zLAogCiBU
RVNUX0YoTGliWVVWUGxhbmFyVGVzdCwgQVJHQlJlY3RfQW55KSB7CiAgIGludCBtYXhfZGlmZiA9
IFRlc3RBUkdCUmVjdChiZW5jaG1hcmtfd2lkdGhfIC0gMSwgYmVuY2htYXJrX2hlaWdodF8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19j
cHVfaW5mb18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICArMSwgMCwgNCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sIGRpc2FibGVf
Y3B1X2ZsYWdzXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19jcHVf
aW5mb18sICsxLCAwLCA0KTsKICAgRVhQRUNUX0VRKDAsIG1heF9kaWZmKTsKIH0KIAogVEVTVF9G
KExpYllVVlBsYW5hclRlc3QsIEFSR0JSZWN0X1VuYWxpZ25lZCkgewotICBpbnQgbWF4X2RpZmYg
PSBUZXN0QVJHQlJlY3QoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVf
aW5mb18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICArMSwgMSwgNCk7CisgIGludCBt
YXhfZGlmZiA9CisgICAgICBUZXN0QVJHQlJlY3QoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJr
X2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgICAgICBkaXNh
YmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAxLCA0KTsKICAgRVhQRUNU
X0VRKDAsIG1heF9kaWZmKTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIEFSR0JSZWN0
X0ludmVydCkgewotICBpbnQgbWF4X2RpZmYgPSBUZXN0QVJHQlJlY3QoYmVuY2htYXJrX3dpZHRo
XywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5j
aG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxl
X2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtMSwgMCwgNCk7CisgIGludCBtYXhfZGlmZiA9CisgICAgICBUZXN0QVJHQlJlY3Qo
YmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19pdGVyYXRpb25z
XywKKyAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVf
aW5mb18sIC0xLCAwLCA0KTsKICAgRVhQRUNUX0VRKDAsIG1heF9kaWZmKTsKIH0KIAogVEVTVF9G
KExpYllVVlBsYW5hclRlc3QsIEFSR0JSZWN0X09wdCkgewotICBpbnQgbWF4X2RpZmYgPSBUZXN0
QVJHQlJlY3QoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICArMSwgMCwgNCk7CisgIGludCBtYXhfZGlm
ZiA9CisgICAgICBUZXN0QVJHQlJlY3QoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdo
dF8sIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2Nw
dV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18sICsxLCAwLCA0KTsKICAgRVhQRUNUX0VRKDAs
IG1heF9kaWZmKTsKIH0KIAogVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIFNldFBsYW5lX0FueSkg
ewogICBpbnQgbWF4X2RpZmYgPSBUZXN0QVJHQlJlY3QoYmVuY2htYXJrX3dpZHRoXyAtIDEsIGJl
bmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJr
X2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVf
ZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKzEsIDAsIDEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfLCBkaXNhYmxlX2NwdV9mbGFnc18sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCwgMSk7CiAgIEVYUEVDVF9FUSgwLCBtYXhf
ZGlmZik7CiB9CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBTZXRQbGFuZV9VbmFsaWduZWQp
IHsKLSAgaW50IG1heF9kaWZmID0gVGVzdEFSR0JSZWN0KGJlbmNobWFya193aWR0aF8sIGJlbmNo
bWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxh
Z3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KzEsIDEsIDEpOworICBpbnQgbWF4X2RpZmYgPQorICAgICAgVGVzdEFSR0JSZWN0KGJlbmNobWFy
a193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCisgICAg
ICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAr
MSwgMSwgMSk7CiAgIEVYUEVDVF9FUSgwLCBtYXhfZGlmZik7CiB9CiAKIFRFU1RfRihMaWJZVVZQ
bGFuYXJUZXN0LCBTZXRQbGFuZV9JbnZlcnQpIHsKLSAgaW50IG1heF9kaWZmID0gVGVzdEFSR0JS
ZWN0KGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEsIDAsIDEpOworICBpbnQgbWF4X2RpZmYgPQor
ICAgICAgVGVzdEFSR0JSZWN0KGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCBi
ZW5jaG1hcmtfaXRlcmF0aW9uc18sCisgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxh
Z3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCAtMSwgMCwgMSk7CiAgIEVYUEVDVF9FUSgwLCBtYXhf
ZGlmZik7CiB9CiAKIFRFU1RfRihMaWJZVVZQbGFuYXJUZXN0LCBTZXRQbGFuZV9PcHQpIHsKLSAg
aW50IG1heF9kaWZmID0gVGVzdEFSR0JSZWN0KGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19o
ZWlnaHRfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlv
bnNfLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBi
ZW5jaG1hcmtfY3B1X2luZm9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKzEsIDAs
IDEpOworICBpbnQgbWF4X2RpZmYgPQorICAgICAgVGVzdEFSR0JSZWN0KGJlbmNobWFya193aWR0
aF8sIGJlbmNobWFya19oZWlnaHRfLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCisgICAgICAgICAg
ICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fLCArMSwgMCwg
MSk7CiAgIEVYUEVDVF9FUSgwLCBtYXhfZGlmZik7CiB9CiAKQEAgLTI0NDYsMjYgKzI0NDYsMjIg
QEAgVEVTVF9GKExpYllVVlBsYW5hclRlc3QsIE1lcmdlVVZQbGFuZV9PcHQpIHsKICAgTWVtUmFu
ZG9taXplKGRzdF9waXhlbHNfYywga1BpeGVscyAqIDIpOwogCiAgIE1hc2tDcHVGbGFncyhkaXNh
YmxlX2NwdV9mbGFnc18pOwotICBTcGxpdFVWUGxhbmUoc3JjX3BpeGVscywgYmVuY2htYXJrX3dp
ZHRoXyAqIDIsCi0gICAgICAgICAgICAgICB0bXBfcGl4ZWxzX3UsIGJlbmNobWFya193aWR0aF8s
Ci0gICAgICAgICAgICAgICB0bXBfcGl4ZWxzX3YsIGJlbmNobWFya193aWR0aF8sCi0gICAgICAg
ICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0Xyk7Ci0gIE1lcmdlVVZQ
bGFuZSh0bXBfcGl4ZWxzX3UsIGJlbmNobWFya193aWR0aF8sCi0gICAgICAgICAgICAgICB0bXBf
cGl4ZWxzX3YsIGJlbmNobWFya193aWR0aF8sCi0gICAgICAgICAgICAgICBkc3RfcGl4ZWxzX2Ms
IGJlbmNobWFya193aWR0aF8gKiAyLAotICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywg
YmVuY2htYXJrX2hlaWdodF8pOworICBTcGxpdFVWUGxhbmUoc3JjX3BpeGVscywgYmVuY2htYXJr
X3dpZHRoXyAqIDIsIHRtcF9waXhlbHNfdSwgYmVuY2htYXJrX3dpZHRoXywKKyAgICAgICAgICAg
ICAgIHRtcF9waXhlbHNfdiwgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX3dpZHRoXywKKyAg
ICAgICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfKTsKKyAgTWVyZ2VVVlBsYW5lKHRtcF9waXhl
bHNfdSwgYmVuY2htYXJrX3dpZHRoXywgdG1wX3BpeGVsc192LCBiZW5jaG1hcmtfd2lkdGhfLAor
ICAgICAgICAgICAgICAgZHN0X3BpeGVsc19jLCBiZW5jaG1hcmtfd2lkdGhfICogMiwgYmVuY2ht
YXJrX3dpZHRoXywKKyAgICAgICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfKTsKICAgTWFza0Nw
dUZsYWdzKGJlbmNobWFya19jcHVfaW5mb18pOwogCi0gIFNwbGl0VVZQbGFuZShzcmNfcGl4ZWxz
LCBiZW5jaG1hcmtfd2lkdGhfICogMiwKLSAgICAgICAgICAgICAgIHRtcF9waXhlbHNfdSwgYmVu
Y2htYXJrX3dpZHRoXywKLSAgICAgICAgICAgICAgIHRtcF9waXhlbHNfdiwgYmVuY2htYXJrX3dp
ZHRoXywKLSAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRf
KTsKKyAgU3BsaXRVVlBsYW5lKHNyY19waXhlbHMsIGJlbmNobWFya193aWR0aF8gKiAyLCB0bXBf
cGl4ZWxzX3UsIGJlbmNobWFya193aWR0aF8sCisgICAgICAgICAgICAgICB0bXBfcGl4ZWxzX3Ys
IGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya193aWR0aF8sCisgICAgICAgICAgICAgICBiZW5j
aG1hcmtfaGVpZ2h0Xyk7CiAKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0
aW9uc187ICsraSkgewotICAgIE1lcmdlVVZQbGFuZSh0bXBfcGl4ZWxzX3UsIGJlbmNobWFya193
aWR0aF8sCi0gICAgICAgICAgICAgICAgIHRtcF9waXhlbHNfdiwgYmVuY2htYXJrX3dpZHRoXywK
LSAgICAgICAgICAgICAgICAgZHN0X3BpeGVsc19vcHQsIGJlbmNobWFya193aWR0aF8gKiAyLAot
ICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0Xyk7Cisg
ICAgTWVyZ2VVVlBsYW5lKHRtcF9waXhlbHNfdSwgYmVuY2htYXJrX3dpZHRoXywgdG1wX3BpeGVs
c192LCBiZW5jaG1hcmtfd2lkdGhfLAorICAgICAgICAgICAgICAgICBkc3RfcGl4ZWxzX29wdCwg
YmVuY2htYXJrX3dpZHRoXyAqIDIsIGJlbmNobWFya193aWR0aF8sCisgICAgICAgICAgICAgICAg
IGJlbmNobWFya19oZWlnaHRfKTsKICAgfQogCiAgIGZvciAoaW50IGkgPSAwOyBpIDwga1BpeGVs
cyAqIDI7ICsraSkgewpAQCAtMjQ5NCwyNiArMjQ5MCwyMiBAQCBURVNUX0YoTGliWVVWUGxhbmFy
VGVzdCwgU3BsaXRVVlBsYW5lX09wdCkgewogICBNZW1SYW5kb21pemUoZHN0X3BpeGVsc19jLCBr
UGl4ZWxzICogMik7CiAKICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzXyk7Ci0gIFNw
bGl0VVZQbGFuZShzcmNfcGl4ZWxzLCBiZW5jaG1hcmtfd2lkdGhfICogMiwKLSAgICAgICAgICAg
ICAgIHRtcF9waXhlbHNfdSwgYmVuY2htYXJrX3dpZHRoXywKLSAgICAgICAgICAgICAgIHRtcF9w
aXhlbHNfdiwgYmVuY2htYXJrX3dpZHRoXywKLSAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0
aF8sIGJlbmNobWFya19oZWlnaHRfKTsKLSAgTWVyZ2VVVlBsYW5lKHRtcF9waXhlbHNfdSwgYmVu
Y2htYXJrX3dpZHRoXywKLSAgICAgICAgICAgICAgIHRtcF9waXhlbHNfdiwgYmVuY2htYXJrX3dp
ZHRoXywKLSAgICAgICAgICAgICAgIGRzdF9waXhlbHNfYywgYmVuY2htYXJrX3dpZHRoXyAqIDIs
Ci0gICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0Xyk7Cisg
IFNwbGl0VVZQbGFuZShzcmNfcGl4ZWxzLCBiZW5jaG1hcmtfd2lkdGhfICogMiwgdG1wX3BpeGVs
c191LCBiZW5jaG1hcmtfd2lkdGhfLAorICAgICAgICAgICAgICAgdG1wX3BpeGVsc192LCBiZW5j
aG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfd2lkdGhfLAorICAgICAgICAgICAgICAgYmVuY2htYXJr
X2hlaWdodF8pOworICBNZXJnZVVWUGxhbmUodG1wX3BpeGVsc191LCBiZW5jaG1hcmtfd2lkdGhf
LCB0bXBfcGl4ZWxzX3YsIGJlbmNobWFya193aWR0aF8sCisgICAgICAgICAgICAgICBkc3RfcGl4
ZWxzX2MsIGJlbmNobWFya193aWR0aF8gKiAyLCBiZW5jaG1hcmtfd2lkdGhfLAorICAgICAgICAg
ICAgICAgYmVuY2htYXJrX2hlaWdodF8pOwogICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9p
bmZvXyk7CiAKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICsr
aSkgewotICAgIFNwbGl0VVZQbGFuZShzcmNfcGl4ZWxzLCBiZW5jaG1hcmtfd2lkdGhfICogMiwK
LSAgICAgICAgICAgICAgICAgdG1wX3BpeGVsc191LCBiZW5jaG1hcmtfd2lkdGhfLAotICAgICAg
ICAgICAgICAgICB0bXBfcGl4ZWxzX3YsIGJlbmNobWFya193aWR0aF8sCisgICAgU3BsaXRVVlBs
YW5lKHNyY19waXhlbHMsIGJlbmNobWFya193aWR0aF8gKiAyLCB0bXBfcGl4ZWxzX3UsCisgICAg
ICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIHRtcF9waXhlbHNfdiwgYmVuY2htYXJrX3dp
ZHRoXywKICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdo
dF8pOwogICB9Ci0gIE1lcmdlVVZQbGFuZSh0bXBfcGl4ZWxzX3UsIGJlbmNobWFya193aWR0aF8s
Ci0gICAgICAgICAgICAgICB0bXBfcGl4ZWxzX3YsIGJlbmNobWFya193aWR0aF8sCi0gICAgICAg
ICAgICAgICBkc3RfcGl4ZWxzX29wdCwgYmVuY2htYXJrX3dpZHRoXyAqIDIsCi0gICAgICAgICAg
ICAgICBiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0Xyk7CisgIE1lcmdlVVZQbGFu
ZSh0bXBfcGl4ZWxzX3UsIGJlbmNobWFya193aWR0aF8sIHRtcF9waXhlbHNfdiwgYmVuY2htYXJr
X3dpZHRoXywKKyAgICAgICAgICAgICAgIGRzdF9waXhlbHNfb3B0LCBiZW5jaG1hcmtfd2lkdGhf
ICogMiwgYmVuY2htYXJrX3dpZHRoXywKKyAgICAgICAgICAgICAgIGJlbmNobWFya19oZWlnaHRf
KTsKIAogICBmb3IgKGludCBpID0gMDsgaSA8IGtQaXhlbHMgKiAyOyArK2kpIHsKICAgICBFWFBF
Q1RfRVEoZHN0X3BpeGVsc19jW2ldLCBkc3RfcGl4ZWxzX29wdFtpXSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0
X3Rlc3Qvcm90YXRlX2FyZ2JfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9yb3RhdGVfYXJnYl90ZXN0LmNjCmlu
ZGV4IDljODNjMzU2MzAzNjM4MWNhM2MxNGJiZTdjNTNhMzAzNTc5ODY2YmIuLmQyMDAzODk1OTYx
NTU2YzY0MGVlMjFlZWUxMTMxNGQzMjlmMzJkZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9yb3RhdGVf
YXJnYl90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhp
cmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9yb3RhdGVfYXJnYl90ZXN0LmNjCkBAIC0xMCwxNCAr
MTAsMTYgQEAKIAogI2luY2x1ZGUgPHN0ZGxpYi5oPgogCisjaW5jbHVkZSAiLi4vdW5pdF90ZXN0
L3VuaXRfdGVzdC5oIgogI2luY2x1ZGUgImxpYnl1di9jcHVfaWQuaCIKICNpbmNsdWRlICJsaWJ5
dXYvcm90YXRlX2FyZ2IuaCIKLSNpbmNsdWRlICIuLi91bml0X3Rlc3QvdW5pdF90ZXN0LmgiCiAK
IG5hbWVzcGFjZSBsaWJ5dXYgewogCi12b2lkIFRlc3RSb3RhdGVCcHAoaW50IHNyY193aWR0aCwg
aW50IHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IGRz
dF9oZWlnaHQsCit2b2lkIFRlc3RSb3RhdGVCcHAoaW50IHNyY193aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRo
LAorICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAogICAgICAgICAgICAgICAgICAg
IGxpYnl1djo6Um90YXRpb25Nb2RlIG1vZGUsCiAgICAgICAgICAgICAgICAgICAgaW50IGJlbmNo
bWFya19pdGVyYXRpb25zLAogICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2NwdV9mbGFn
cywKQEAgLTUxLDI2ICs1MywyMiBAQCB2b2lkIFRlc3RSb3RhdGVCcHAoaW50IHNyY193aWR0aCwg
aW50IHNyY19oZWlnaHQsCiAKICAgaWYgKGtCcHAgPT0gMSkgewogICAgIE1hc2tDcHVGbGFncyhk
aXNhYmxlX2NwdV9mbGFncyk7ICAvLyBEaXNhYmxlIGFsbCBDUFUgb3B0aW1pemF0aW9uLgotICAg
IFJvdGF0ZVBsYW5lKHNyY19hcmdiLCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAg
ZHN0X2FyZ2JfYywgZHN0X3N0cmlkZV9hcmdiLAorICAgIFJvdGF0ZVBsYW5lKHNyY19hcmdiLCBz
cmNfc3RyaWRlX2FyZ2IsIGRzdF9hcmdiX2MsIGRzdF9zdHJpZGVfYXJnYiwKICAgICAgICAgICAg
ICAgICBzcmNfd2lkdGgsIHNyY19oZWlnaHQsIG1vZGUpOwogCiAgICAgTWFza0NwdUZsYWdzKGJl
bmNobWFya19jcHVfaW5mbyk7ICAvLyBFbmFibGUgYWxsIENQVSBvcHRpbWl6YXRpb24uCiAgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uczsgKytpKSB7Ci0gICAgICBS
b3RhdGVQbGFuZShzcmNfYXJnYiwgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAg
ZHN0X2FyZ2Jfb3B0LCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICBSb3RhdGVQbGFuZShzcmNfYXJn
Yiwgc3JjX3N0cmlkZV9hcmdiLCBkc3RfYXJnYl9vcHQsIGRzdF9zdHJpZGVfYXJnYiwKICAgICAg
ICAgICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCwgbW9kZSk7CiAgICAgfQogICB9IGVs
c2UgaWYgKGtCcHAgPT0gNCkgewogICAgIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFncyk7
ICAvLyBEaXNhYmxlIGFsbCBDUFUgb3B0aW1pemF0aW9uLgotICAgIEFSR0JSb3RhdGUoc3JjX2Fy
Z2IsIHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgIGRzdF9hcmdiX2MsIGRzdF9zdHJp
ZGVfYXJnYiwKKyAgICBBUkdCUm90YXRlKHNyY19hcmdiLCBzcmNfc3RyaWRlX2FyZ2IsIGRzdF9h
cmdiX2MsIGRzdF9zdHJpZGVfYXJnYiwKICAgICAgICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hl
aWdodCwgbW9kZSk7CiAKICAgICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvKTsgIC8v
IEVuYWJsZSBhbGwgQ1BVIG9wdGltaXphdGlvbi4KICAgICBmb3IgKGludCBpID0gMDsgaSA8IGJl
bmNobWFya19pdGVyYXRpb25zOyArK2kpIHsKLSAgICAgIEFSR0JSb3RhdGUoc3JjX2FyZ2IsIHNy
Y19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgZHN0X2FyZ2Jfb3B0LCBkc3Rfc3RyaWRl
X2FyZ2IsCisgICAgICBBUkdCUm90YXRlKHNyY19hcmdiLCBzcmNfc3RyaWRlX2FyZ2IsIGRzdF9h
cmdiX29wdCwgZHN0X3N0cmlkZV9hcmdiLAogICAgICAgICAgICAgICAgICBzcmNfd2lkdGgsIHNy
Y19oZWlnaHQsIG1vZGUpOwogICAgIH0KICAgfQpAQCAtODUsMTEyICs4MywxMDQgQEAgdm9pZCBU
ZXN0Um90YXRlQnBwKGludCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogICBmcmVlX2FsaWdu
ZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY19hcmdiKTsKIH0KIAotc3RhdGljIHZvaWQgQVJHQlRlc3RS
b3RhdGUoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKK3N0YXRpYyB2b2lkIEFSR0JU
ZXN0Um90YXRlKGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnl1djo6Um90YXRpb25Nb2RlIG1vZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgYmVuY2htYXJrX2NwdV9pbmZvKSB7Ci0gIFRlc3RSb3RhdGVCcHAoc3JjX3dpZHRoLCBz
cmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgIGRzdF93aWR0aCwgZHN0X2hlaWdodCwKLSAgICAg
ICAgICAgICAgICBtb2RlLCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKLSAgICAgICAgICAgICAgICBk
aXNhYmxlX2NwdV9mbGFncywgYmVuY2htYXJrX2NwdV9pbmZvLCA0KTsKKyAgVGVzdFJvdGF0ZUJw
cChzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF93aWR0aCwgZHN0X2hlaWdodCwgbW9kZSwKKyAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9ucywgZGlzYWJsZV9jcHVfZmxhZ3MsIGJl
bmNobWFya19jcHVfaW5mbywgNCk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBBUkdC
Um90YXRlMF9PcHQpIHsKLSAgQVJHQlRlc3RSb3RhdGUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2ht
YXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFy
a19oZWlnaHRfLAotICAgICAgICAgICAgICAgICBrUm90YXRlMCwgYmVuY2htYXJrX2l0ZXJhdGlv
bnNfLAorICBBUkdCVGVzdFJvdGF0ZShiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0
XywgYmVuY2htYXJrX3dpZHRoXywKKyAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8s
IGtSb3RhdGUwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCiAgICAgICAgICAgICAgICAgIGRpc2Fi
bGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZS
b3RhdGVUZXN0LCBBUkdCUm90YXRlOTBfT3B0KSB7Ci0gIEFSR0JUZXN0Um90YXRlKGJlbmNobWFy
a193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICBiZW5jaG1hcmtf
aGVpZ2h0XywgYmVuY2htYXJrX3dpZHRoXywKLSAgICAgICAgICAgICAgICAga1JvdGF0ZTkwLCBi
ZW5jaG1hcmtfaXRlcmF0aW9uc18sCisgIEFSR0JUZXN0Um90YXRlKGJlbmNobWFya193aWR0aF8s
IGJlbmNobWFya19oZWlnaHRfLCBiZW5jaG1hcmtfaGVpZ2h0XywKKyAgICAgICAgICAgICAgICAg
YmVuY2htYXJrX3dpZHRoXywga1JvdGF0ZTkwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCiAgICAg
ICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9
CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBBUkdCUm90YXRlMTgwX09wdCkgewotICBBUkdC
VGVzdFJvdGF0ZShiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAg
ICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAg
ICAgICAgIGtSb3RhdGUxODAsIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgQVJHQlRlc3RSb3Rh
dGUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya193aWR0aF8s
CisgICAgICAgICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfLCBrUm90YXRlMTgwLCBiZW5jaG1h
cmtfaXRlcmF0aW9uc18sCiAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVu
Y2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBBUkdCUm90
YXRlMjcwX09wdCkgewotICBBUkdCVGVzdFJvdGF0ZShiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1h
cmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFy
a193aWR0aF8sCi0gICAgICAgICAgICAgICAgIGtSb3RhdGUyNzAsIGJlbmNobWFya19pdGVyYXRp
b25zXywKKyAgQVJHQlRlc3RSb3RhdGUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdo
dF8sIGJlbmNobWFya19oZWlnaHRfLAorICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhf
LCBrUm90YXRlMjcwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCiAgICAgICAgICAgICAgICAgIGRp
c2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKLXN0YXRpYyB2b2lk
IFRlc3RSb3RhdGVQbGFuZShpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKK3N0YXRp
YyB2b2lkIFRlc3RSb3RhdGVQbGFuZShpbnQgc3JjX3dpZHRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieXV2OjpSb3RhdGlvbk1vZGUgbW9kZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRpc2FibGVfY3B1X2ZsYWdzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfY3B1X2luZm8pIHsKLSAgVGVzdFJv
dGF0ZUJwcChzcmNfd2lkdGgsIHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgZHN0X3dpZHRo
LCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgIG1vZGUsIGJlbmNobWFya19pdGVyYXRpb25z
LAotICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzLCBiZW5jaG1hcmtfY3B1X2luZm8s
IDEpOworICBUZXN0Um90YXRlQnBwKHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBk
c3RfaGVpZ2h0LCBtb2RlLAorICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zLCBk
aXNhYmxlX2NwdV9mbGFncywgYmVuY2htYXJrX2NwdV9pbmZvLCAxKTsKIH0KIAogVEVTVF9GKExp
YllVVlJvdGF0ZVRlc3QsIFJvdGF0ZVBsYW5lMF9PcHQpIHsKLSAgVGVzdFJvdGF0ZVBsYW5lKGJl
bmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAgYmVu
Y2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICBrUm90
YXRlMCwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICBkaXNhYmxlX2Nw
dV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18pOworICBUZXN0Um90YXRlUGxhbmUoYmVuY2ht
YXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya193aWR0aF8sCisgICAgICAg
ICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0Xywga1JvdGF0ZTAsIGJlbmNobWFya19pdGVyYXRp
b25zXywKKyAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2Nw
dV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBSb3RhdGVQbGFuZTkwX09w
dCkgewotICBUZXN0Um90YXRlUGxhbmUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdo
dF8sCi0gICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX3dpZHRo
XywKLSAgICAgICAgICAgICAgICAgIGtSb3RhdGU5MCwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAot
ICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18p
OworICBUZXN0Um90YXRlUGxhbmUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8s
IGJlbmNobWFya19oZWlnaHRfLAorICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywg
a1JvdGF0ZTkwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCisgICAgICAgICAgICAgICAgICBkaXNh
YmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18pOwogfQogCiBURVNUX0YoTGliWVVW
Um90YXRlVGVzdCwgUm90YXRlUGxhbmUxODBfT3B0KSB7Ci0gIFRlc3RSb3RhdGVQbGFuZShiZW5j
aG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgIGJlbmNo
bWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICAga1JvdGF0
ZTE4MCwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICBkaXNhYmxlX2Nw
dV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18pOworICBUZXN0Um90YXRlUGxhbmUoYmVuY2ht
YXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya193aWR0aF8sCisgICAgICAg
ICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0Xywga1JvdGF0ZTE4MCwgYmVuY2htYXJrX2l0ZXJh
dGlvbnNfLAorICAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtf
Y3B1X2luZm9fKTsKIH0KIAogVEVTVF9GKExpYllVVlJvdGF0ZVRlc3QsIFJvdGF0ZVBsYW5lMjcw
X09wdCkgewotICBUZXN0Um90YXRlUGxhbmUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hl
aWdodF8sCi0gICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX3dp
ZHRoXywKLSAgICAgICAgICAgICAgICAgIGtSb3RhdGUyNzAsIGJlbmNobWFya19pdGVyYXRpb25z
XywKLSAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2lu
Zm9fKTsKKyAgVGVzdFJvdGF0ZVBsYW5lKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWln
aHRfLCBiZW5jaG1hcmtfaGVpZ2h0XywKKyAgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0
aF8sIGtSb3RhdGUyNzAsIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgICAgICAgICAgICAgICAg
IGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihM
aWJZVVZSb3RhdGVUZXN0LCBESVNBQkxFRF9Sb3RhdGVQbGFuZTBfT2RkKSB7CiAgIFRlc3RSb3Rh
dGVQbGFuZShiZW5jaG1hcmtfd2lkdGhfIC0gMywgYmVuY2htYXJrX2hlaWdodF8gLSAxLAotICAg
ICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0g
MSwKLSAgICAgICAgICAgICAgICAgIGtSb3RhdGUwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0g
ICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7
CisgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfIC0gMywgYmVuY2htYXJrX2hlaWdo
dF8gLSAxLCBrUm90YXRlMCwKKyAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25z
XywgZGlzYWJsZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2NwdV9p
bmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBESVNBQkxFRF9Sb3RhdGVQbGFu
ZTkwX09kZCkgewogICBUZXN0Um90YXRlUGxhbmUoYmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNo
bWFya19oZWlnaHRfIC0gMSwKLSAgICAgICAgICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfIC0g
MSwgYmVuY2htYXJrX3dpZHRoXyAtIDMsCi0gICAgICAgICAgICAgICAgICBrUm90YXRlOTAsIGJl
bmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3Nf
LCBiZW5jaG1hcmtfY3B1X2luZm9fKTsKKyAgICAgICAgICAgICAgICAgIGJlbmNobWFya19oZWln
aHRfIC0gMSwgYmVuY2htYXJrX3dpZHRoXyAtIDMsIGtSb3RhdGU5MCwKKyAgICAgICAgICAgICAg
ICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJsZV9jcHVfZmxhZ3NfLAorICAgICAgICAg
ICAgICAgICAgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVU
ZXN0LCBESVNBQkxFRF9Sb3RhdGVQbGFuZTE4MF9PZGQpIHsKICAgVGVzdFJvdGF0ZVBsYW5lKGJl
bmNobWFya193aWR0aF8gLSAzLCBiZW5jaG1hcmtfaGVpZ2h0XyAtIDEsCi0gICAgICAgICAgICAg
ICAgICBiZW5jaG1hcmtfd2lkdGhfIC0gMywgYmVuY2htYXJrX2hlaWdodF8gLSAxLAotICAgICAg
ICAgICAgICAgICAga1JvdGF0ZTE4MCwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAg
ICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18pOworICAgICAg
ICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0gMSwg
a1JvdGF0ZTE4MCwKKyAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlz
YWJsZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2NwdV9pbmZvXyk7
CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBESVNBQkxFRF9Sb3RhdGVQbGFuZTI3MF9P
ZGQpIHsKICAgVGVzdFJvdGF0ZVBsYW5lKGJlbmNobWFya193aWR0aF8gLSAzLCBiZW5jaG1hcmtf
aGVpZ2h0XyAtIDEsCi0gICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0XyAtIDEsIGJl
bmNobWFya193aWR0aF8gLSAzLAotICAgICAgICAgICAgICAgICAga1JvdGF0ZTI3MCwgYmVuY2ht
YXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJl
bmNobWFya19jcHVfaW5mb18pOworICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8g
LSAxLCBiZW5jaG1hcmtfd2lkdGhfIC0gMywga1JvdGF0ZTI3MCwKKyAgICAgICAgICAgICAgICAg
IGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJsZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAg
ICAgICAgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIH0gIC8vIG5hbWVzcGFjZSBsaWJ5dXYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3VuaXRfdGVzdC9yb3RhdGVfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9yb3RhdGVfdGVzdC5j
YwppbmRleCAwN2UyZjczYTAzOGQ3NGZhZjVlNTE3OTM0NTJhOTUwNThiYzVkMDA5Li5kMDRiOTZl
OWM2OGIzZWQ1ZWYwNmI1NzA1YTM1ZjQ2Yjk3NjliYzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3Qvcm90
YXRlX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGly
ZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L3JvdGF0ZV90ZXN0LmNjCkBAIC0xMCwxNyArMTAsMjAg
QEAKIAogI2luY2x1ZGUgPHN0ZGxpYi5oPgogCisjaW5jbHVkZSAiLi4vdW5pdF90ZXN0L3VuaXRf
dGVzdC5oIgogI2luY2x1ZGUgImxpYnl1di9jcHVfaWQuaCIKICNpbmNsdWRlICJsaWJ5dXYvcm90
YXRlLmgiCi0jaW5jbHVkZSAiLi4vdW5pdF90ZXN0L3VuaXRfdGVzdC5oIgogCiBuYW1lc3BhY2Ug
bGlieXV2IHsKIAotc3RhdGljIHZvaWQgSTQyMFRlc3RSb3RhdGUoaW50IHNyY193aWR0aCwgaW50
IHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBp
bnQgZHN0X2hlaWdodCwKK3N0YXRpYyB2b2lkIEk0MjBUZXN0Um90YXRlKGludCBzcmNfd2lkdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgZHN0X2hlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnl1djo6Um90
YXRpb25Nb2RlIG1vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmVuY2htYXJr
X2l0ZXJhdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzYWJsZV9jcHVf
ZmxhZ3MsIGludCBiZW5jaG1hcmtfY3B1X2luZm8pIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBkaXNhYmxlX2NwdV9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBiZW5jaG1hcmtfY3B1X2luZm8pIHsKICAgaWYgKHNyY193aWR0aCA8IDEpIHsKICAgICBzcmNf
d2lkdGggPSAxOwogICB9CkBAIC01MCwyNiArNTMsMjEgQEAgc3RhdGljIHZvaWQgSTQyMFRlc3RS
b3RhdGUoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIG1lbXNldChkc3RfaTQyMF9v
cHQsIDMsIGRzdF9pNDIwX3NpemUpOwogCiAgIE1hc2tDcHVGbGFncyhkaXNhYmxlX2NwdV9mbGFn
cyk7ICAvLyBEaXNhYmxlIGFsbCBDUFUgb3B0aW1pemF0aW9uLgotICBJNDIwUm90YXRlKHNyY19p
NDIwLCBzcmNfd2lkdGgsCi0gICAgICAgICAgICAgc3JjX2k0MjAgKyBzcmNfaTQyMF95X3NpemUs
IChzcmNfd2lkdGggKyAxKSAvIDIsCi0gICAgICAgICAgICAgc3JjX2k0MjAgKyBzcmNfaTQyMF95
X3NpemUgKyBzcmNfaTQyMF91dl9zaXplLCAoc3JjX3dpZHRoICsgMSkgLyAyLAotICAgICAgICAg
ICAgIGRzdF9pNDIwX2MsIGRzdF93aWR0aCwKKyAgSTQyMFJvdGF0ZShzcmNfaTQyMCwgc3JjX3dp
ZHRoLCBzcmNfaTQyMCArIHNyY19pNDIwX3lfc2l6ZSwKKyAgICAgICAgICAgICAoc3JjX3dpZHRo
ICsgMSkgLyAyLCBzcmNfaTQyMCArIHNyY19pNDIwX3lfc2l6ZSArIHNyY19pNDIwX3V2X3NpemUs
CisgICAgICAgICAgICAgKHNyY193aWR0aCArIDEpIC8gMiwgZHN0X2k0MjBfYywgZHN0X3dpZHRo
LAogICAgICAgICAgICAgIGRzdF9pNDIwX2MgKyBkc3RfaTQyMF95X3NpemUsIChkc3Rfd2lkdGgg
KyAxKSAvIDIsCiAgICAgICAgICAgICAgZHN0X2k0MjBfYyArIGRzdF9pNDIwX3lfc2l6ZSArIGRz
dF9pNDIwX3V2X3NpemUsCi0gICAgICAgICAgICAgICAoZHN0X3dpZHRoICsgMSkgLyAyLAotICAg
ICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCwgbW9kZSk7CisgICAgICAgICAgICAgKGRz
dF93aWR0aCArIDEpIC8gMiwgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBtb2RlKTsKIAogICBNYXNr
Q3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvKTsgIC8vIEVuYWJsZSBhbGwgQ1BVIG9wdGltaXph
dGlvbi4KICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5jaG1hcmtfaXRlcmF0aW9uczsgKytpKSB7
Ci0gICAgSTQyMFJvdGF0ZShzcmNfaTQyMCwgc3JjX3dpZHRoLAotICAgICAgICAgICAgICAgc3Jj
X2k0MjAgKyBzcmNfaTQyMF95X3NpemUsIChzcmNfd2lkdGggKyAxKSAvIDIsCi0gICAgICAgICAg
ICAgICBzcmNfaTQyMCArIHNyY19pNDIwX3lfc2l6ZSArIHNyY19pNDIwX3V2X3NpemUsCi0gICAg
ICAgICAgICAgICAgIChzcmNfd2lkdGggKyAxKSAvIDIsCi0gICAgICAgICAgICAgICBkc3RfaTQy
MF9vcHQsIGRzdF93aWR0aCwKLSAgICAgICAgICAgICAgIGRzdF9pNDIwX29wdCArIGRzdF9pNDIw
X3lfc2l6ZSwgKGRzdF93aWR0aCArIDEpIC8gMiwKLSAgICAgICAgICAgICAgIGRzdF9pNDIwX29w
dCArIGRzdF9pNDIwX3lfc2l6ZSArIGRzdF9pNDIwX3V2X3NpemUsCi0gICAgICAgICAgICAgICAg
IChkc3Rfd2lkdGggKyAxKSAvIDIsCi0gICAgICAgICAgICAgICBzcmNfd2lkdGgsIHNyY19oZWln
aHQsIG1vZGUpOworICAgIEk0MjBSb3RhdGUoCisgICAgICAgIHNyY19pNDIwLCBzcmNfd2lkdGgs
IHNyY19pNDIwICsgc3JjX2k0MjBfeV9zaXplLCAoc3JjX3dpZHRoICsgMSkgLyAyLAorICAgICAg
ICBzcmNfaTQyMCArIHNyY19pNDIwX3lfc2l6ZSArIHNyY19pNDIwX3V2X3NpemUsIChzcmNfd2lk
dGggKyAxKSAvIDIsCisgICAgICAgIGRzdF9pNDIwX29wdCwgZHN0X3dpZHRoLCBkc3RfaTQyMF9v
cHQgKyBkc3RfaTQyMF95X3NpemUsCisgICAgICAgIChkc3Rfd2lkdGggKyAxKSAvIDIsIGRzdF9p
NDIwX29wdCArIGRzdF9pNDIwX3lfc2l6ZSArIGRzdF9pNDIwX3V2X3NpemUsCisgICAgICAgIChk
c3Rfd2lkdGggKyAxKSAvIDIsIHNyY193aWR0aCwgc3JjX2hlaWdodCwgbW9kZSk7CiAgIH0KIAog
ICAvLyBSb3RhdGlvbiBzaG91bGQgYmUgZXhhY3QuCkBAIC04MywzMCArODEsMjYgQEAgc3RhdGlj
IHZvaWQgSTQyMFRlc3RSb3RhdGUoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiB9CiAK
IFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBJNDIwUm90YXRlMF9PcHQpIHsKLSAgSTQyMFRlc3RS
b3RhdGUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAg
ICAgIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAg
ICBrUm90YXRlMCwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICBJNDIwVGVzdFJvdGF0ZShiZW5j
aG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX3dpZHRoXywKKyAgICAg
ICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8sIGtSb3RhdGUwLCBiZW5jaG1hcmtfaXRlcmF0
aW9uc18sCiAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2Nw
dV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBJNDIwUm90YXRlOTBfT3B0
KSB7Ci0gIEk0MjBUZXN0Um90YXRlKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRf
LAotICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX3dpZHRoXywK
LSAgICAgICAgICAgICAgICAga1JvdGF0ZTkwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCisgIEk0
MjBUZXN0Um90YXRlKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCBiZW5jaG1h
cmtfaGVpZ2h0XywKKyAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywga1JvdGF0ZTkw
LCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCiAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2Zs
YWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0
LCBJNDIwUm90YXRlMTgwX09wdCkgewotICBJNDIwVGVzdFJvdGF0ZShiZW5jaG1hcmtfd2lkdGhf
LCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywg
YmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgIGtSb3RhdGUxODAsIGJlbmNobWFy
a19pdGVyYXRpb25zXywKKyAgSTQyMFRlc3RSb3RhdGUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2ht
YXJrX2hlaWdodF8sIGJlbmNobWFya193aWR0aF8sCisgICAgICAgICAgICAgICAgIGJlbmNobWFy
a19oZWlnaHRfLCBrUm90YXRlMTgwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCiAgICAgICAgICAg
ICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRF
U1RfRihMaWJZVVZSb3RhdGVUZXN0LCBJNDIwUm90YXRlMjcwX09wdCkgewotICBJNDIwVGVzdFJv
dGF0ZShiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAg
ICAgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya193aWR0aF8sCi0gICAgICAgICAgICAgICAg
IGtSb3RhdGUyNzAsIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgSTQyMFRlc3RSb3RhdGUoYmVu
Y2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19oZWlnaHRfLAorICAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBrUm90YXRlMjcwLCBiZW5jaG1hcmtfaXRl
cmF0aW9uc18sCiAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJr
X2NwdV9pbmZvXyk7CiB9CiAKQEAgLTExNSwzNyArMTA5LDQwIEBAIFRFU1RfRihMaWJZVVZSb3Rh
dGVUZXN0LCBJNDIwUm90YXRlMjcwX09wdCkgewogLy8gdGVzdGVkIGJ5IHBhc3NpbmcgYW4gb2Rk
IHdpZHRoIGNvbW1hbmQgbGluZSBvciBlbnZpcm9ubWVudCB2YXJpYWJsZS4KIFRFU1RfRihMaWJZ
VVZSb3RhdGVUZXN0LCBESVNBQkxFRF9JNDIwUm90YXRlMF9PZGQpIHsKICAgSTQyMFRlc3RSb3Rh
dGUoYmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0gMSwKLSAgICAgICAg
ICAgICAgICAgYmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0gMSwKLSAg
ICAgICAgICAgICAgICAga1JvdGF0ZTAsIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAg
ICAgICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fKTsKKyAgICAg
ICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0gMSwg
a1JvdGF0ZTAsCisgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJs
ZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fKTsKIH0K
IAogVEVTVF9GKExpYllVVlJvdGF0ZVRlc3QsIERJU0FCTEVEX0k0MjBSb3RhdGU5MF9PZGQpIHsK
ICAgSTQyMFRlc3RSb3RhdGUoYmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRf
IC0gMSwKLSAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8gLSAxLCBiZW5jaG1hcmtf
d2lkdGhfIC0gMywKLSAgICAgICAgICAgICAgICAga1JvdGF0ZTkwLCBiZW5jaG1hcmtfaXRlcmF0
aW9uc18sCi0gICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2Nw
dV9pbmZvXyk7CisgICAgICAgICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfIC0gMSwgYmVuY2ht
YXJrX3dpZHRoXyAtIDMsIGtSb3RhdGU5MCwKKyAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfLCBkaXNhYmxlX2NwdV9mbGFnc18sCisgICAgICAgICAgICAgICAgIGJlbmNobWFy
a19jcHVfaW5mb18pOwogfQogCiBURVNUX0YoTGliWVVWUm90YXRlVGVzdCwgRElTQUJMRURfSTQy
MFJvdGF0ZTE4MF9PZGQpIHsKICAgSTQyMFRlc3RSb3RhdGUoYmVuY2htYXJrX3dpZHRoXyAtIDMs
IGJlbmNobWFya19oZWlnaHRfIC0gMSwKLSAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRo
XyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0gMSwKLSAgICAgICAgICAgICAgICAga1JvdGF0ZTE4
MCwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAotICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9m
bGFnc18sIGJlbmNobWFya19jcHVfaW5mb18pOworICAgICAgICAgICAgICAgICBiZW5jaG1hcmtf
d2lkdGhfIC0gMywgYmVuY2htYXJrX2hlaWdodF8gLSAxLCBrUm90YXRlMTgwLAorICAgICAgICAg
ICAgICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18sIGRpc2FibGVfY3B1X2ZsYWdzXywKKyAgICAg
ICAgICAgICAgICAgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3Rh
dGVUZXN0LCBESVNBQkxFRF9JNDIwUm90YXRlMjcwX09kZCkgewogICBJNDIwVGVzdFJvdGF0ZShi
ZW5jaG1hcmtfd2lkdGhfIC0gMywgYmVuY2htYXJrX2hlaWdodF8gLSAxLAotICAgICAgICAgICAg
ICAgICBiZW5jaG1hcmtfaGVpZ2h0XyAtIDEsIGJlbmNobWFya193aWR0aF8gLSAzLAotICAgICAg
ICAgICAgICAgICBrUm90YXRlMjcwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAg
ICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CisgICAgICAg
ICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfIC0gMSwgYmVuY2htYXJrX3dpZHRoXyAtIDMsIGtS
b3RhdGUyNzAsCisgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJs
ZV9jcHVfZmxhZ3NfLAorICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fKTsKIH0K
IAotc3RhdGljIHZvaWQgTlYxMlRlc3RSb3RhdGUoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWln
aHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBpbnQgZHN0X2hl
aWdodCwKK3N0YXRpYyB2b2lkIE5WMTJUZXN0Um90YXRlKGludCBzcmNfd2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X2hlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnl1djo6Um90YXRpb25Nb2Rl
IG1vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmVuY2htYXJrX2l0ZXJhdGlv
bnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsIGlu
dCBiZW5jaG1hcmtfY3B1X2luZm8pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk
aXNhYmxlX2NwdV9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1h
cmtfY3B1X2luZm8pIHsKICAgaWYgKHNyY193aWR0aCA8IDEpIHsKICAgICBzcmNfd2lkdGggPSAx
OwogICB9CkBAIC0xNzYsMjMgKzE3MywxOSBAQCBzdGF0aWMgdm9pZCBOVjEyVGVzdFJvdGF0ZShp
bnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgbWVtc2V0KGRzdF9pNDIwX29wdCwgMywg
ZHN0X2k0MjBfc2l6ZSk7CiAKICAgTWFza0NwdUZsYWdzKGRpc2FibGVfY3B1X2ZsYWdzKTsgIC8v
IERpc2FibGUgYWxsIENQVSBvcHRpbWl6YXRpb24uCi0gIE5WMTJUb0k0MjBSb3RhdGUoc3JjX252
MTIsIHNyY193aWR0aCwKLSAgICAgICAgICAgICAgICAgICBzcmNfbnYxMiArIHNyY19udjEyX3lf
c2l6ZSwgKHNyY193aWR0aCArIDEpICYgfjEsCi0gICAgICAgICAgICAgICAgICAgZHN0X2k0MjBf
YywgZHN0X3dpZHRoLAorICBOVjEyVG9JNDIwUm90YXRlKHNyY19udjEyLCBzcmNfd2lkdGgsIHNy
Y19udjEyICsgc3JjX252MTJfeV9zaXplLAorICAgICAgICAgICAgICAgICAgIChzcmNfd2lkdGgg
KyAxKSAmIH4xLCBkc3RfaTQyMF9jLCBkc3Rfd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgZHN0
X2k0MjBfYyArIGRzdF9pNDIwX3lfc2l6ZSwgKGRzdF93aWR0aCArIDEpIC8gMiwKICAgICAgICAg
ICAgICAgICAgICBkc3RfaTQyMF9jICsgZHN0X2k0MjBfeV9zaXplICsgZHN0X2k0MjBfdXZfc2l6
ZSwKLSAgICAgICAgICAgICAgICAgICAgIChkc3Rfd2lkdGggKyAxKSAvIDIsCi0gICAgICAgICAg
ICAgICAgICAgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBtb2RlKTsKKyAgICAgICAgICAgICAgICAg
ICAoZHN0X3dpZHRoICsgMSkgLyAyLCBzcmNfd2lkdGgsIHNyY19oZWlnaHQsIG1vZGUpOwogCiAg
IE1hc2tDcHVGbGFncyhiZW5jaG1hcmtfY3B1X2luZm8pOyAgLy8gRW5hYmxlIGFsbCBDUFUgb3B0
aW1pemF0aW9uLgogICBmb3IgKGludCBpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zOyAr
K2kpIHsKLSAgICBOVjEyVG9JNDIwUm90YXRlKHNyY19udjEyLCBzcmNfd2lkdGgsCi0gICAgICAg
ICAgICAgICAgICAgICBzcmNfbnYxMiArIHNyY19udjEyX3lfc2l6ZSwgKHNyY193aWR0aCArIDEp
ICYgfjEsCi0gICAgICAgICAgICAgICAgICAgICBkc3RfaTQyMF9vcHQsIGRzdF93aWR0aCwKKyAg
ICBOVjEyVG9JNDIwUm90YXRlKHNyY19udjEyLCBzcmNfd2lkdGgsIHNyY19udjEyICsgc3JjX252
MTJfeV9zaXplLAorICAgICAgICAgICAgICAgICAgICAgKHNyY193aWR0aCArIDEpICYgfjEsIGRz
dF9pNDIwX29wdCwgZHN0X3dpZHRoLAogICAgICAgICAgICAgICAgICAgICAgZHN0X2k0MjBfb3B0
ICsgZHN0X2k0MjBfeV9zaXplLCAoZHN0X3dpZHRoICsgMSkgLyAyLAogICAgICAgICAgICAgICAg
ICAgICAgZHN0X2k0MjBfb3B0ICsgZHN0X2k0MjBfeV9zaXplICsgZHN0X2k0MjBfdXZfc2l6ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgKGRzdF93aWR0aCArIDEpIC8gMiwKLSAgICAgICAgICAg
ICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCwgbW9kZSk7CisgICAgICAgICAgICAgICAg
ICAgICAoZHN0X3dpZHRoICsgMSkgLyAyLCBzcmNfd2lkdGgsIHNyY19oZWlnaHQsIG1vZGUpOwog
ICB9CiAKICAgLy8gUm90YXRpb24gc2hvdWxkIGJlIGV4YWN0LgpAQCAtMjA2LDkxICsxOTksNzkg
QEAgc3RhdGljIHZvaWQgTlYxMlRlc3RSb3RhdGUoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWln
aHQsCiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBOVjEyUm90YXRlMF9PcHQpIHsKLSAg
TlYxMlRlc3RSb3RhdGUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAg
ICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAg
ICAgICAgICAgICBrUm90YXRlMCwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICBOVjEyVGVzdFJv
dGF0ZShiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJrX3dpZHRo
XywKKyAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8sIGtSb3RhdGUwLCBiZW5jaG1h
cmtfaXRlcmF0aW9uc18sCiAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVu
Y2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBOVjEyUm90
YXRlOTBfT3B0KSB7Ci0gIE5WMTJUZXN0Um90YXRlKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFy
a19oZWlnaHRfLAotICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0XywgYmVuY2htYXJr
X3dpZHRoXywKLSAgICAgICAgICAgICAgICAga1JvdGF0ZTkwLCBiZW5jaG1hcmtfaXRlcmF0aW9u
c18sCisgIE5WMTJUZXN0Um90YXRlKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRf
LCBiZW5jaG1hcmtfaGVpZ2h0XywKKyAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywg
a1JvdGF0ZTkwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCiAgICAgICAgICAgICAgICAgIGRpc2Fi
bGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZS
b3RhdGVUZXN0LCBOVjEyUm90YXRlMTgwX09wdCkgewotICBOVjEyVGVzdFJvdGF0ZShiZW5jaG1h
cmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAgICAgICAgYmVuY2htYXJr
X3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgIGtSb3RhdGUxODAs
IGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgTlYxMlRlc3RSb3RhdGUoYmVuY2htYXJrX3dpZHRo
XywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya193aWR0aF8sCisgICAgICAgICAgICAgICAg
IGJlbmNobWFya19oZWlnaHRfLCBrUm90YXRlMTgwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCiAg
ICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7
CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBOVjEyUm90YXRlMjcwX09wdCkgewotICBO
VjEyVGVzdFJvdGF0ZShiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAg
ICAgICAgICAgICAgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya193aWR0aF8sCi0gICAgICAg
ICAgICAgICAgIGtSb3RhdGUyNzAsIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgTlYxMlRlc3RS
b3RhdGUoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya19oZWln
aHRfLAorICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfLCBrUm90YXRlMjcwLCBiZW5j
aG1hcmtfaXRlcmF0aW9uc18sCiAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywg
YmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBESVNB
QkxFRF9OVjEyUm90YXRlMF9PZGQpIHsKICAgTlYxMlRlc3RSb3RhdGUoYmVuY2htYXJrX3dpZHRo
XyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0gMSwKLSAgICAgICAgICAgICAgICAgYmVuY2htYXJr
X3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0gMSwKLSAgICAgICAgICAgICAgICAga1Jv
dGF0ZTAsIGJlbmNobWFya19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgZGlzYWJsZV9j
cHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fKTsKKyAgICAgICAgICAgICAgICAgYmVuY2ht
YXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0gMSwga1JvdGF0ZTAsCisgICAgICAg
ICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJsZV9jcHVfZmxhZ3NfLAorICAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fKTsKIH0KIAogVEVTVF9GKExpYllVVlJv
dGF0ZVRlc3QsIERJU0FCTEVEX05WMTJSb3RhdGU5MF9PZGQpIHsKICAgTlYxMlRlc3RSb3RhdGUo
YmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRfIC0gMSwKLSAgICAgICAgICAg
ICAgICAgYmVuY2htYXJrX2hlaWdodF8gLSAxLCBiZW5jaG1hcmtfd2lkdGhfIC0gMywKLSAgICAg
ICAgICAgICAgICAga1JvdGF0ZTkwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAg
ICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CisgICAgICAg
ICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfIC0gMSwgYmVuY2htYXJrX3dpZHRoXyAtIDMsIGtS
b3RhdGU5MCwKKyAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLCBkaXNhYmxl
X2NwdV9mbGFnc18sCisgICAgICAgICAgICAgICAgIGJlbmNobWFya19jcHVfaW5mb18pOwogfQog
CiBURVNUX0YoTGliWVVWUm90YXRlVGVzdCwgRElTQUJMRURfTlYxMlJvdGF0ZTE4MF9PZGQpIHsK
ICAgTlYxMlRlc3RSb3RhdGUoYmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19oZWlnaHRf
IC0gMSwKLSAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXyAtIDMsIGJlbmNobWFya19o
ZWlnaHRfIC0gMSwKLSAgICAgICAgICAgICAgICAga1JvdGF0ZTE4MCwgYmVuY2htYXJrX2l0ZXJh
dGlvbnNfLAotICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19j
cHVfaW5mb18pOworICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfd2lkdGhfIC0gMywgYmVuY2ht
YXJrX2hlaWdodF8gLSAxLCBrUm90YXRlMTgwLAorICAgICAgICAgICAgICAgICBiZW5jaG1hcmtf
aXRlcmF0aW9uc18sIGRpc2FibGVfY3B1X2ZsYWdzXywKKyAgICAgICAgICAgICAgICAgYmVuY2ht
YXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBESVNBQkxFRF9O
VjEyUm90YXRlMjcwX09kZCkgewogICBOVjEyVGVzdFJvdGF0ZShiZW5jaG1hcmtfd2lkdGhfIC0g
MywgYmVuY2htYXJrX2hlaWdodF8gLSAxLAotICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaGVp
Z2h0XyAtIDEsIGJlbmNobWFya193aWR0aF8gLSAzLAotICAgICAgICAgICAgICAgICBrUm90YXRl
MjcwLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sCi0gICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1
X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CisgICAgICAgICAgICAgICAgIGJlbmNobWFy
a19oZWlnaHRfIC0gMSwgYmVuY2htYXJrX3dpZHRoXyAtIDMsIGtSb3RhdGUyNzAsCisgICAgICAg
ICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJsZV9jcHVfZmxhZ3NfLAorICAg
ICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fKTsKIH0KIAogVEVTVF9GKExpYllVVlJv
dGF0ZVRlc3QsIE5WMTJSb3RhdGUwX0ludmVydCkgewotICBOVjEyVGVzdFJvdGF0ZShiZW5jaG1h
cmtfd2lkdGhfLCAtYmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgIGJlbmNobWFy
a193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICBrUm90YXRlMCwg
YmVuY2htYXJrX2l0ZXJhdGlvbnNfLAorICBOVjEyVGVzdFJvdGF0ZShiZW5jaG1hcmtfd2lkdGhf
LCAtYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya193aWR0aF8sCisgICAgICAgICAgICAgICAg
IGJlbmNobWFya19oZWlnaHRfLCBrUm90YXRlMCwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLAogICAg
ICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18pOwog
fQogCiBURVNUX0YoTGliWVVWUm90YXRlVGVzdCwgTlYxMlJvdGF0ZTkwX0ludmVydCkgewotICBO
VjEyVGVzdFJvdGF0ZShiZW5jaG1hcmtfd2lkdGhfLCAtYmVuY2htYXJrX2hlaWdodF8sCi0gICAg
ICAgICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfLCBiZW5jaG1hcmtfd2lkdGhfLAotICAgICAg
ICAgICAgICAgICBrUm90YXRlOTAsIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgTlYxMlRlc3RS
b3RhdGUoYmVuY2htYXJrX3dpZHRoXywgLWJlbmNobWFya19oZWlnaHRfLCBiZW5jaG1hcmtfaGVp
Z2h0XywKKyAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywga1JvdGF0ZTkwLCBiZW5j
aG1hcmtfaXRlcmF0aW9uc18sCiAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywg
YmVuY2htYXJrX2NwdV9pbmZvXyk7CiB9CiAKIFRFU1RfRihMaWJZVVZSb3RhdGVUZXN0LCBOVjEy
Um90YXRlMTgwX0ludmVydCkgewotICBOVjEyVGVzdFJvdGF0ZShiZW5jaG1hcmtfd2lkdGhfLCAt
YmVuY2htYXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8sIGJl
bmNobWFya19oZWlnaHRfLAotICAgICAgICAgICAgICAgICBrUm90YXRlMTgwLCBiZW5jaG1hcmtf
aXRlcmF0aW9uc18sCisgIE5WMTJUZXN0Um90YXRlKGJlbmNobWFya193aWR0aF8sIC1iZW5jaG1h
cmtfaGVpZ2h0XywgYmVuY2htYXJrX3dpZHRoXywKKyAgICAgICAgICAgICAgICAgYmVuY2htYXJr
X2hlaWdodF8sIGtSb3RhdGUxODAsIGJlbmNobWFya19pdGVyYXRpb25zXywKICAgICAgICAgICAg
ICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fKTsKIH0KIAogVEVT
VF9GKExpYllVVlJvdGF0ZVRlc3QsIE5WMTJSb3RhdGUyNzBfSW52ZXJ0KSB7Ci0gIE5WMTJUZXN0
Um90YXRlKGJlbmNobWFya193aWR0aF8sIC1iZW5jaG1hcmtfaGVpZ2h0XywKLSAgICAgICAgICAg
ICAgICAgYmVuY2htYXJrX2hlaWdodF8sIGJlbmNobWFya193aWR0aF8sCi0gICAgICAgICAgICAg
ICAgIGtSb3RhdGUyNzAsIGJlbmNobWFya19pdGVyYXRpb25zXywKKyAgTlYxMlRlc3RSb3RhdGUo
YmVuY2htYXJrX3dpZHRoXywgLWJlbmNobWFya19oZWlnaHRfLCBiZW5jaG1hcmtfaGVpZ2h0XywK
KyAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywga1JvdGF0ZTI3MCwgYmVuY2htYXJr
X2l0ZXJhdGlvbnNfLAogICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNo
bWFya19jcHVfaW5mb18pOwogfQogCi0KLQotCi0KIH0gIC8vIG5hbWVzcGFjZSBsaWJ5dXYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkv
bGlieXV2L3VuaXRfdGVzdC9zY2FsZV9hcmdiX3Rlc3QuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3Qvc2NhbGVfYXJnYl90
ZXN0LmNjCmluZGV4IGY5OTc4MmY3MzFjOTk4ZTFhNDQ0MzBkYWE1YThjNTdmMmY2ZDcxN2EuLmQx
MWFlYzIwNDc2MDNjZmEzZGMzN2E2YTMzOTlkNzVmNjhjYmI4ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVz
dC9zY2FsZV9hcmdiX3Rlc3QuY2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L3NjYWxlX2FyZ2JfdGVzdC5jYwpAQCAt
MTEsMTEgKzExLDExIEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8dGltZS5oPgog
CisjaW5jbHVkZSAiLi4vdW5pdF90ZXN0L3VuaXRfdGVzdC5oIgogI2luY2x1ZGUgImxpYnl1di9j
b252ZXJ0X2FyZ2IuaCIKICNpbmNsdWRlICJsaWJ5dXYvY3B1X2lkLmgiCiAjaW5jbHVkZSAibGli
eXV2L3NjYWxlX2FyZ2IuaCIKICNpbmNsdWRlICJsaWJ5dXYvdmlkZW9fY29tbW9uLmgiCi0jaW5j
bHVkZSAiLi4vdW5pdF90ZXN0L3VuaXRfdGVzdC5oIgogCiBuYW1lc3BhY2UgbGlieXV2IHsKIApA
QCAtMjMsMTggKzIzLDIyIEBAIG5hbWVzcGFjZSBsaWJ5dXYgewogI2RlZmluZSBGSUxFTElORVNU
UihmaWxlLCBsaW5lKSBmaWxlICI6IiBTVFJJTkdJWkUobGluZSkKIAogLy8gVGVzdCBzY2FsaW5n
IHdpdGggQyB2cyBPcHQgYW5kIHJldHVybiBtYXhpbXVtIHBpeGVsIGRpZmZlcmVuY2UuIDAgPSBl
eGFjdC4KLXN0YXRpYyBpbnQgQVJHQlRlc3RGaWx0ZXIoaW50IHNyY193aWR0aCwgaW50IHNyY19o
ZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBkc3Rf
aGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXJNb2RlIGYsIGludCBiZW5j
aG1hcmtfaXRlcmF0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRpc2FibGVf
Y3B1X2ZsYWdzLCBpbnQgYmVuY2htYXJrX2NwdV9pbmZvKSB7CitzdGF0aWMgaW50IEFSR0JUZXN0
RmlsdGVyKGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
aGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgRmlsdGVyTW9kZSBmLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmVuY2ht
YXJrX2l0ZXJhdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXNhYmxlX2Nw
dV9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJlbmNobWFya19jcHVfaW5m
bykgewogICBpZiAoIVNpemVWYWxpZChzcmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF93aWR0aCwg
ZHN0X2hlaWdodCkpIHsKICAgICByZXR1cm4gMDsKICAgfQogCiAgIGludCBpLCBqOwogICBjb25z
dCBpbnQgYiA9IDA7ICAvLyAxMjggdG8gdGVzdCBmb3IgcGFkZGluZy9zdHJpZGUuCi0gIGludDY0
IHNyY19hcmdiX3BsYW5lX3NpemUgPSAoQWJzKHNyY193aWR0aCkgKyBiICogMikgKgotICAgICAg
KEFicyhzcmNfaGVpZ2h0KSArIGIgKiAyKSAqIDRMTDsKKyAgaW50NjQgc3JjX2FyZ2JfcGxhbmVf
c2l6ZSA9CisgICAgICAoQWJzKHNyY193aWR0aCkgKyBiICogMikgKiAoQWJzKHNyY19oZWlnaHQp
ICsgYiAqIDIpICogNExMOwogICBpbnQgc3JjX3N0cmlkZV9hcmdiID0gKGIgKiAyICsgQWJzKHNy
Y193aWR0aCkpICogNDsKIAogICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX2FyZ2IsIHNyY19h
cmdiX3BsYW5lX3NpemUpOwpAQCAtNTksMjEgKzYzLDE4IEBAIHN0YXRpYyBpbnQgQVJHQlRlc3RG
aWx0ZXIoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIC8vIFdhcm0gdXAgYm90aCB2
ZXJzaW9ucyBmb3IgY29uc2lzdGVudCBiZW5jaG1hcmtzLgogICBNYXNrQ3B1RmxhZ3MoZGlzYWJs
ZV9jcHVfZmxhZ3MpOyAgLy8gRGlzYWJsZSBhbGwgQ1BVIG9wdGltaXphdGlvbi4KICAgQVJHQlNj
YWxlKHNyY19hcmdiICsgKHNyY19zdHJpZGVfYXJnYiAqIGIpICsgYiAqIDQsIHNyY19zdHJpZGVf
YXJnYiwKLSAgICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCwKLSAgICAgICAgICAgIGRz
dF9hcmdiX2MgKyAoZHN0X3N0cmlkZV9hcmdiICogYikgKyBiICogNCwgZHN0X3N0cmlkZV9hcmdi
LAotICAgICAgICAgICAgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBmKTsKKyAgICAgICAgICAgIHNy
Y193aWR0aCwgc3JjX2hlaWdodCwgZHN0X2FyZ2JfYyArIChkc3Rfc3RyaWRlX2FyZ2IgKiBiKSAr
IGIgKiA0LAorICAgICAgICAgICAgZHN0X3N0cmlkZV9hcmdiLCBkc3Rfd2lkdGgsIGRzdF9oZWln
aHQsIGYpOwogICBNYXNrQ3B1RmxhZ3MoYmVuY2htYXJrX2NwdV9pbmZvKTsgIC8vIEVuYWJsZSBh
bGwgQ1BVIG9wdGltaXphdGlvbi4KICAgQVJHQlNjYWxlKHNyY19hcmdiICsgKHNyY19zdHJpZGVf
YXJnYiAqIGIpICsgYiAqIDQsIHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgIHNyY193aWR0
aCwgc3JjX2hlaWdodCwKLSAgICAgICAgICAgIGRzdF9hcmdiX29wdCArIChkc3Rfc3RyaWRlX2Fy
Z2IgKiBiKSArIGIgKiA0LCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICBkc3Rfd2lkdGgs
IGRzdF9oZWlnaHQsIGYpOworICAgICAgICAgICAgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rf
YXJnYl9vcHQgKyAoZHN0X3N0cmlkZV9hcmdiICogYikgKyBiICogNCwKKyAgICAgICAgICAgIGRz
dF9zdHJpZGVfYXJnYiwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBmKTsKIAogICBNYXNrQ3B1Rmxh
Z3MoZGlzYWJsZV9jcHVfZmxhZ3MpOyAgLy8gRGlzYWJsZSBhbGwgQ1BVIG9wdGltaXphdGlvbi4K
ICAgZG91YmxlIGNfdGltZSA9IGdldF90aW1lKCk7CiAgIEFSR0JTY2FsZShzcmNfYXJnYiArIChz
cmNfc3RyaWRlX2FyZ2IgKiBiKSArIGIgKiA0LCBzcmNfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAg
ICBzcmNfd2lkdGgsIHNyY19oZWlnaHQsCi0gICAgICAgICAgICBkc3RfYXJnYl9jICsgKGRzdF9z
dHJpZGVfYXJnYiAqIGIpICsgYiAqIDQsIGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgIGRz
dF93aWR0aCwgZHN0X2hlaWdodCwgZik7CisgICAgICAgICAgICBzcmNfd2lkdGgsIHNyY19oZWln
aHQsIGRzdF9hcmdiX2MgKyAoZHN0X3N0cmlkZV9hcmdiICogYikgKyBiICogNCwKKyAgICAgICAg
ICAgIGRzdF9zdHJpZGVfYXJnYiwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBmKTsKIAogICBjX3Rp
bWUgPSAoZ2V0X3RpbWUoKSAtIGNfdGltZSk7CiAKQEAgLTg4LDggKzg5LDggQEAgc3RhdGljIGlu
dCBBUkdCVGVzdEZpbHRlcihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgb3B0X3Rp
bWUgPSAoZ2V0X3RpbWUoKSAtIG9wdF90aW1lKSAvIGJlbmNobWFya19pdGVyYXRpb25zOwogCiAg
IC8vIFJlcG9ydCBwZXJmb3JtYW5jZSBvZiBDIHZzIE9QVAotICBwcmludGYoImZpbHRlciAlZCAt
ICU4ZCB1cyBDIC0gJThkIHVzIE9QVFxuIiwKLSAgICAgICAgIGYsIHN0YXRpY19jYXN0PGludD4o
Y190aW1lICogMWU2KSwgc3RhdGljX2Nhc3Q8aW50PihvcHRfdGltZSAqIDFlNikpOworICBwcmlu
dGYoImZpbHRlciAlZCAtICU4ZCB1cyBDIC0gJThkIHVzIE9QVFxuIiwgZiwKKyAgICAgICAgIHN0
YXRpY19jYXN0PGludD4oY190aW1lICogMWU2KSwgc3RhdGljX2Nhc3Q8aW50PihvcHRfdGltZSAq
IDFlNikpOwogCiAgIC8vIEMgdmVyc2lvbiBtYXkgYmUgYSBsaXR0bGUgb2ZmIGZyb20gdGhlIG9w
dGltaXplZC4gT3JkZXIgb2YKICAgLy8gIG9wZXJhdGlvbnMgbWF5IGludHJvZHVjZSByb3VuZGlu
ZyBzb21ld2hlcmUuIFNvIGRvIGEgZGlmZmVyZW5jZQpAQCAtMTE1LDEwICsxMTYsMTQgQEAgc3Rh
dGljIGludCBBUkdCVGVzdEZpbHRlcihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKIHN0
YXRpYyBjb25zdCBpbnQga1RpbGVYID0gODsKIHN0YXRpYyBjb25zdCBpbnQga1RpbGVZID0gODsK
IAotc3RhdGljIGludCBUaWxlQVJHQlNjYWxlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNy
Y19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoLCBp
bnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2Is
IGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93
aWR0aCwgaW50IGRzdF9oZWlnaHQsCitzdGF0aWMgaW50IFRpbGVBUkdCU2NhbGUoY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2Fy
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVf
YXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAg
IEZpbHRlck1vZGUgZmlsdGVyaW5nKSB7CiAgIGZvciAoaW50IHkgPSAwOyB5IDwgZHN0X2hlaWdo
dDsgeSArPSBrVGlsZVkpIHsKICAgICBmb3IgKGludCB4ID0gMDsgeCA8IGRzdF93aWR0aDsgeCAr
PSBrVGlsZVgpIHsKQEAgLTEzMCwxMSArMTM1LDkgQEAgc3RhdGljIGludCBUaWxlQVJHQlNjYWxl
KGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgICAgIGlmICh5
ICsgY2xpcF9oZWlnaHQgPiBkc3RfaGVpZ2h0KSB7CiAgICAgICAgIGNsaXBfaGVpZ2h0ID0gZHN0
X2hlaWdodCAtIHk7CiAgICAgICB9Ci0gICAgICBpbnQgciA9IEFSR0JTY2FsZUNsaXAoc3JjX2Fy
Z2IsIHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfd2lk
dGgsIHNyY19oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHN0X2FyZ2IsIGRz
dF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfd2lkdGgsIGRz
dF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCwgeSwgY2xpcF93aWR0aCwg
Y2xpcF9oZWlnaHQsIGZpbHRlcmluZyk7CisgICAgICBpbnQgciA9IEFSR0JTY2FsZUNsaXAoc3Jj
X2FyZ2IsIHNyY19zdHJpZGVfYXJnYiwgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiLCBkc3Rfc3RyaWRlX2FyZ2IsIGRzdF93aWR0aCwg
ZHN0X2hlaWdodCwgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB5LCBjbGlwX3dpZHRo
LCBjbGlwX2hlaWdodCwgZmlsdGVyaW5nKTsKICAgICAgIGlmIChyKSB7CiAgICAgICAgIHJldHVy
biByOwogICAgICAgfQpAQCAtMTQzLDE2ICsxNDYsMTkgQEAgc3RhdGljIGludCBUaWxlQVJHQlNj
YWxlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwgaW50IHNyY19zdHJpZGVfYXJnYiwKICAgcmV0dXJu
IDA7CiB9CiAKLXN0YXRpYyBpbnQgQVJHQkNsaXBUZXN0RmlsdGVyKGludCBzcmNfd2lkdGgsIGlu
dCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0
aCwgaW50IGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXJN
b2RlIGYsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucykgeworc3RhdGljIGludCBBUkdCQ2xpcFRl
c3RGaWx0ZXIoaW50IHNyY193aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyTW9kZSBmLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGJlbmNobWFya19pdGVyYXRpb25zKSB7CiAgIGlmICghU2l6ZVZhbGlk
KHNyY193aWR0aCwgc3JjX2hlaWdodCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0KSkgewogICAgIHJl
dHVybiAwOwogICB9CiAKICAgY29uc3QgaW50IGIgPSAxMjg7Ci0gIGludDY0IHNyY19hcmdiX3Bs
YW5lX3NpemUgPSAoQWJzKHNyY193aWR0aCkgKyBiICogMikgKgotICAgICAgKEFicyhzcmNfaGVp
Z2h0KSArIGIgKiAyKSAqIDQ7CisgIGludDY0IHNyY19hcmdiX3BsYW5lX3NpemUgPQorICAgICAg
KEFicyhzcmNfd2lkdGgpICsgYiAqIDIpICogKEFicyhzcmNfaGVpZ2h0KSArIGIgKiAyKSAqIDQ7
CiAgIGludCBzcmNfc3RyaWRlX2FyZ2IgPSAoYiAqIDIgKyBBYnMoc3JjX3dpZHRoKSkgKiA0Owog
CiAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfYXJnYiwgc3JjX2FyZ2JfcGxhbmVfc2l6ZSk7
CkBAIC0xODQsOSArMTkwLDggQEAgc3RhdGljIGludCBBUkdCQ2xpcFRlc3RGaWx0ZXIoaW50IHNy
Y193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIC8vIERvIGZ1bGwgaW1hZ2UsIG5vIGNsaXBwaW5n
LgogICBkb3VibGUgY190aW1lID0gZ2V0X3RpbWUoKTsKICAgQVJHQlNjYWxlKHNyY19hcmdiICsg
KHNyY19zdHJpZGVfYXJnYiAqIGIpICsgYiAqIDQsIHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAg
ICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCwKLSAgICAgICAgICAgIGRzdF9hcmdiX2MgKyAoZHN0
X3N0cmlkZV9hcmdiICogYikgKyBiICogNCwgZHN0X3N0cmlkZV9hcmdiLAotICAgICAgICAgICAg
ZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LCBmKTsKKyAgICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hl
aWdodCwgZHN0X2FyZ2JfYyArIChkc3Rfc3RyaWRlX2FyZ2IgKiBiKSArIGIgKiA0LAorICAgICAg
ICAgICAgZHN0X3N0cmlkZV9hcmdiLCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIGYpOwogICBjX3Rp
bWUgPSAoZ2V0X3RpbWUoKSAtIGNfdGltZSk7CiAKICAgLy8gRG8gdGlsZWQgaW1hZ2UsIGNsaXBw
aW5nIHNjYWxlIHRvIGEgdGlsZSBhdCBhIHRpbWUuCkBAIC0yMDAsOCArMjA1LDggQEAgc3RhdGlj
IGludCBBUkdCQ2xpcFRlc3RGaWx0ZXIoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAg
IG9wdF90aW1lID0gKGdldF90aW1lKCkgLSBvcHRfdGltZSkgLyBiZW5jaG1hcmtfaXRlcmF0aW9u
czsKIAogICAvLyBSZXBvcnQgcGVyZm9ybWFuY2Ugb2YgRnVsbCB2cyBUaWxlZC4KLSAgcHJpbnRm
KCJmaWx0ZXIgJWQgLSAlOGQgdXMgRnVsbCAtICU4ZCB1cyBUaWxlZFxuIiwKLSAgICAgICAgIGYs
IHN0YXRpY19jYXN0PGludD4oY190aW1lICogMWU2KSwgc3RhdGljX2Nhc3Q8aW50PihvcHRfdGlt
ZSAqIDFlNikpOworICBwcmludGYoImZpbHRlciAlZCAtICU4ZCB1cyBGdWxsIC0gJThkIHVzIFRp
bGVkXG4iLCBmLAorICAgICAgICAgc3RhdGljX2Nhc3Q8aW50PihjX3RpbWUgKiAxZTYpLCBzdGF0
aWNfY2FzdDxpbnQ+KG9wdF90aW1lICogMWU2KSk7CiAKICAgLy8gQ29tcGFyZSBmdWxsIHNjYWxl
ZCBpbWFnZSB2cyB0aWxlZCBpbWFnZS4KICAgaW50IG1heF9kaWZmID0gMDsKQEAgLTIyNiwzMiAr
MjMxLDMwIEBAIHN0YXRpYyBpbnQgQVJHQkNsaXBUZXN0RmlsdGVyKGludCBzcmNfd2lkdGgsIGlu
dCBzcmNfaGVpZ2h0LAogI2RlZmluZSBEWCh4LCBub20sIGRlbm9tKSBzdGF0aWNfY2FzdDxpbnQ+
KChBYnMoeCkgLyBub20pICogbm9tKQogI2RlZmluZSBTWCh4LCBub20sIGRlbm9tKSBzdGF0aWNf
Y2FzdDxpbnQ+KCh4IC8gbm9tKSAqIGRlbm9tKQogCi0jZGVmaW5lIFRFU1RfRkFDVE9SMShuYW1l
LCBmaWx0ZXIsIG5vbSwgZGVub20sIG1heF9kaWZmKSAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsIEFSR0JTY2FsZURvd25CeSMjbmFtZSMjXyMjZmls
dGVyKSB7ICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBkaWZmID0gQVJHQlRlc3RGaWx0ZXIo
U1goYmVuY2htYXJrX3dpZHRoXywgbm9tLCBkZW5vbSksICAgICAgICAgICAgICBcCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFNYKGJlbmNobWFya19oZWlnaHRfLCBub20sIGRlbm9t
KSwgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEWChiZW5j
aG1hcmtfd2lkdGhfLCBub20sIGRlbm9tKSwgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRFgoYmVuY2htYXJrX2hlaWdodF8sIG5vbSwgZGVub20pLCAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtGaWx0ZXIjI2ZpbHRl
ciwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLCAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVfaW5mb18pOyAgICAg
IFwKLSAgICAgIEVYUEVDVF9MRShkaWZmLCBtYXhfZGlmZik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsIEFSR0JTY2FsZURvd25DbGlwQnkjI25hbWUjI18jI2Zp
bHRlcikgeyAgICAgICAgICAgIFwKLSAgICAgIGludCBkaWZmID0gQVJHQkNsaXBUZXN0RmlsdGVy
KFNYKGJlbmNobWFya193aWR0aF8sIG5vbSwgZGVub20pLCAgICAgICAgICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTWChiZW5jaG1hcmtfaGVpZ2h0Xywgbm9tLCBkZW5v
bSksICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFgoYmVu
Y2htYXJrX3dpZHRoXywgbm9tLCBkZW5vbSksICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIERYKGJlbmNobWFya19oZWlnaHRfLCBub20sIGRlbm9tKSwgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrRmlsdGVyIyNmaWx0
ZXIsIGJlbmNobWFya19pdGVyYXRpb25zXyk7ICAgXAotICAgICAgRVhQRUNUX0xFKGRpZmYsIG1h
eF9kaWZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgICB9CisjZGVmaW5lIFRFU1RfRkFDVE9SMShuYW1lLCBmaWx0ZXIsIG5vbSwgZGVub20sIG1h
eF9kaWZmKSAgICAgICAgICAgICAgICAgICAgIFwKKyAgVEVTVF9GKExpYllVVlNjYWxlVGVzdCwg
QVJHQlNjYWxlRG93bkJ5IyNuYW1lIyNfIyNmaWx0ZXIpIHsgICAgICAgICAgICAgICAgXAorICAg
IGludCBkaWZmID0gQVJHQlRlc3RGaWx0ZXIoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgIFNYKGJlbmNobWFya193aWR0aF8sIG5vbSwgZGVu
b20pLCBTWChiZW5jaG1hcmtfaGVpZ2h0Xywgbm9tLCBkZW5vbSksIFwKKyAgICAgICAgRFgoYmVu
Y2htYXJrX3dpZHRoXywgbm9tLCBkZW5vbSksIERYKGJlbmNobWFya19oZWlnaHRfLCBub20sIGRl
bm9tKSwgXAorICAgICAgICBrRmlsdGVyIyNmaWx0ZXIsIGJlbmNobWFya19pdGVyYXRpb25zXywg
ZGlzYWJsZV9jcHVfZmxhZ3NfLCAgICAgICAgICBcCisgICAgICAgIGJlbmNobWFya19jcHVfaW5m
b18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBFWFBFQ1RfTEUoZGlmZiwgbWF4X2RpZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1RfRihMaWJZ
VVZTY2FsZVRlc3QsIEFSR0JTY2FsZURvd25DbGlwQnkjI25hbWUjI18jI2ZpbHRlcikgeyAgICAg
ICAgICAgIFwKKyAgICBpbnQgZGlmZiA9IEFSR0JDbGlwVGVzdEZpbHRlciggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBTWChiZW5jaG1hcmtfd2lk
dGhfLCBub20sIGRlbm9tKSwgU1goYmVuY2htYXJrX2hlaWdodF8sIG5vbSwgZGVub20pLCBcCisg
ICAgICAgIERYKGJlbmNobWFya193aWR0aF8sIG5vbSwgZGVub20pLCBEWChiZW5jaG1hcmtfaGVp
Z2h0Xywgbm9tLCBkZW5vbSksIFwKKyAgICAgICAga0ZpbHRlciMjZmlsdGVyLCBiZW5jaG1hcmtf
aXRlcmF0aW9uc18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9M
RShkaWZmLCBtYXhfZGlmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgIH0KIAogLy8gVGVzdCBhIHNjYWxlIGZhY3RvciB3aXRoIGFsbCA0IGZpbHRl
cnMuICBFeHBlY3QgdW5maWx0ZXJlZCB0byBiZSBleGFjdCwgYnV0CiAvLyBmaWx0ZXJpbmcgaXMg
ZGlmZmVyZW50IGZpeGVkIHBvaW50IGltcGxlbWVudGF0aW9ucyBmb3IgU1NTRTMsIE5lb24gYW5k
IEMuCi0jZGVmaW5lIFRFU1RfRkFDVE9SKG5hbWUsIG5vbSwgZGVub20pICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RfRkFDVE9SMShuYW1lLCBOb25l
LCBub20sIGRlbm9tLCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBURVNUX0ZBQ1RPUjEobmFtZSwgTGluZWFyLCBub20sIGRlbm9tLCAzKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVF9GQUNUT1IxKG5hbWUsIEJpbGluZWFyLCBu
b20sIGRlbm9tLCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1Rf
RkFDVE9SMShuYW1lLCBCb3gsIG5vbSwgZGVub20sIDMpCisjZGVmaW5lIFRFU1RfRkFDVE9SKG5h
bWUsIG5vbSwgZGVub20pICAgICAgICAgXAorICBURVNUX0ZBQ1RPUjEobmFtZSwgTm9uZSwgbm9t
LCBkZW5vbSwgMCkgICAgIFwKKyAgVEVTVF9GQUNUT1IxKG5hbWUsIExpbmVhciwgbm9tLCBkZW5v
bSwgMykgICBcCisgIFRFU1RfRkFDVE9SMShuYW1lLCBCaWxpbmVhciwgbm9tLCBkZW5vbSwgMykg
XAorICBURVNUX0ZBQ1RPUjEobmFtZSwgQm94LCBub20sIGRlbm9tLCAzKQogCiBURVNUX0ZBQ1RP
UigyLCAxLCAyKQogVEVTVF9GQUNUT1IoNCwgMSwgNCkKQEAgLTI2NSwzOSArMjY4LDM3IEBAIFRF
U1RfRkFDVE9SKDMsIDEsIDMpCiAjdW5kZWYgRFgKIAogI2RlZmluZSBURVNUX1NDQUxFVE8xKG5h
bWUsIHdpZHRoLCBoZWlnaHQsIGZpbHRlciwgbWF4X2RpZmYpICAgICAgICAgICAgICAgICAgIFwK
LSAgICBURVNUX0YoTGliWVVWU2NhbGVUZXN0LCBuYW1lIyNUbyMjd2lkdGgjI3gjI2hlaWdodCMj
XyMjZmlsdGVyKSB7ICAgICAgICAgICBcCi0gICAgICBpbnQgZGlmZiA9IEFSR0JUZXN0RmlsdGVy
KGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0LCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga0ZpbHRl
ciMjZmlsdGVyLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZv
Xyk7ICAgICAgXAotICAgICAgRVhQRUNUX0xFKGRpZmYsIG1heF9kaWZmKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gICAgVEVTVF9GKExpYllVVlNjYWxlVGVzdCwgbmFtZSMjRnJvbSMjd2lkdGgjI3gjI2hl
aWdodCMjXyMjZmlsdGVyKSB7ICAgICAgICAgXAotICAgICAgaW50IGRpZmYgPSBBUkdCVGVzdEZp
bHRlcih3aWR0aCwgaGVpZ2h0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWJzKGJlbmNobWFya193aWR0aF8pLCBBYnMo
YmVuY2htYXJrX2hlaWdodF8pLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtG
aWx0ZXIjI2ZpbHRlciwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfLCAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NwdV9mbGFnc18sIGJlbmNobWFya19jcHVf
aW5mb18pOyAgICAgIFwKLSAgICAgIEVYUEVDVF9MRShkaWZmLCBtYXhfZGlmZik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsIG5hbWUjI0NsaXBUbyMjd2lkdGgj
I3gjI2hlaWdodCMjXyMjZmlsdGVyKSB7ICAgICAgIFwKLSAgICAgIGludCBkaWZmID0gQVJHQkNs
aXBUZXN0RmlsdGVyKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0LCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAga0ZpbHRlciMjZmlsdGVyLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18pOyAgIFwKLSAgICAg
IEVYUEVDVF9MRShkaWZmLCBtYXhfZGlmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RfRihM
aWJZVVZTY2FsZVRlc3QsIG5hbWUjI0NsaXBGcm9tIyN3aWR0aCMjeCMjaGVpZ2h0IyNfIyNmaWx0
ZXIpIHsgICAgIFwKLSAgICAgIGludCBkaWZmID0gQVJHQkNsaXBUZXN0RmlsdGVyKHdpZHRoLCBo
ZWlnaHQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBBYnMoYmVuY2htYXJrX3dpZHRoXyksICAgICAgICAgICAgICAgICAg
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWJzKGJlbmNobWFya19o
ZWlnaHRfKSwgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGtGaWx0ZXIjI2ZpbHRlciwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfKTsgICBcCi0g
ICAgICBFWFBFQ1RfTEUoZGlmZiwgbWF4X2RpZmYpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0KKyAgVEVTVF9GKExpYllVVlNjYWxlVGVzdCwg
bmFtZSMjVG8jI3dpZHRoIyN4IyNoZWlnaHQjI18jI2ZpbHRlcikgeyAgICAgICAgICAgICBcCisg
ICAgaW50IGRpZmYgPSBBUkdCVGVzdEZpbHRlcihiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtf
aGVpZ2h0Xywgd2lkdGgsICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVp
Z2h0LCBrRmlsdGVyIyNmaWx0ZXIsIGJlbmNobWFya19pdGVyYXRpb25zXywgIFwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9p
bmZvXyk7ICAgICAgICBcCisgICAgRVhQRUNUX0xFKGRpZmYsIG1heF9kaWZmKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgVEVTVF9GKExpYllVVlNjYWxlVGVzdCwgbmFtZSMjRnJvbSMjd2lkdGgjI3gj
I2hlaWdodCMjXyMjZmlsdGVyKSB7ICAgICAgICAgICBcCisgICAgaW50IGRpZmYgPSBBUkdCVGVz
dEZpbHRlcih3aWR0aCwgaGVpZ2h0LCBBYnMoYmVuY2htYXJrX3dpZHRoXyksICAgICAgICAgICAg
XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWJzKGJlbmNobWFya19oZWlnaHRfKSwg
a0ZpbHRlciMjZmlsdGVyLCAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJsZV9jcHVfZmxhZ3NfLCAgICAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9MRShkaWZmLCBtYXhfZGlmZik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgfSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgIFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsIG5hbWUjI0NsaXBUbyMjd2lk
dGgjI3gjI2hlaWdodCMjXyMjZmlsdGVyKSB7ICAgICAgICAgXAorICAgIGludCBkaWZmID0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgQVJHQkNsaXBUZXN0RmlsdGVyKGJlbmNobWFya193aWR0aF8sIGJlbmNo
bWFya19oZWlnaHRfLCB3aWR0aCwgaGVpZ2h0LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBrRmlsdGVyIyNmaWx0ZXIsIGJlbmNobWFya19pdGVyYXRpb25zXyk7ICAgICAgICAgICAgXAor
ICAgIEVYUEVDVF9MRShkaWZmLCBtYXhfZGlmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1Rf
RihMaWJZVVZTY2FsZVRlc3QsIG5hbWUjI0NsaXBGcm9tIyN3aWR0aCMjeCMjaGVpZ2h0IyNfIyNm
aWx0ZXIpIHsgICAgICAgXAorICAgIGludCBkaWZmID0gQVJHQkNsaXBUZXN0RmlsdGVyKHdpZHRo
LCBoZWlnaHQsIEFicyhiZW5jaG1hcmtfd2lkdGhfKSwgICAgICAgIFwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBBYnMoYmVuY2htYXJrX2hlaWdodF8pLCBrRmlsdGVyIyNmaWx0
ZXIsICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX2l0
ZXJhdGlvbnNfKTsgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEVYUEVDVF9MRShkaWZmLCBt
YXhfZGlmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgfQogCiAvLy8gVGVzdCBzY2FsZSB0byBhIHNwZWNpZmllZCBzaXplIHdpdGggYWxsIDQg
ZmlsdGVycy4KLSNkZWZpbmUgVEVTVF9TQ0FMRVRPKG5hbWUsIHdpZHRoLCBoZWlnaHQpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVF9TQ0FMRVRPMShuYW1l
LCB3aWR0aCwgaGVpZ2h0LCBOb25lLCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIFRFU1RfU0NBTEVUTzEobmFtZSwgd2lkdGgsIGhlaWdodCwgTGluZWFyLCAzKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBURVNUX1NDQUxFVE8xKG5hbWUsIHdpZHRo
LCBoZWlnaHQsIEJpbGluZWFyLCAzKQorI2RlZmluZSBURVNUX1NDQUxFVE8obmFtZSwgd2lkdGgs
IGhlaWdodCkgICAgICAgXAorICBURVNUX1NDQUxFVE8xKG5hbWUsIHdpZHRoLCBoZWlnaHQsIE5v
bmUsIDApICAgXAorICBURVNUX1NDQUxFVE8xKG5hbWUsIHdpZHRoLCBoZWlnaHQsIExpbmVhciwg
MykgXAorICBURVNUX1NDQUxFVE8xKG5hbWUsIHdpZHRoLCBoZWlnaHQsIEJpbGluZWFyLCAzKQog
CiBURVNUX1NDQUxFVE8oQVJHQlNjYWxlLCAxLCAxKQogVEVTVF9TQ0FMRVRPKEFSR0JTY2FsZSwg
MzIwLCAyNDApCkBAIC0zMTAsMzEgKzMxMSwzMyBAQCBURVNUX1NDQUxFVE8oQVJHQlNjYWxlLCAx
MjgwLCA3MjApCiAKIC8vIFNjYWxlIHdpdGggWVVWIGNvbnZlcnNpb24gdG8gQVJHQiBhbmQgY2xp
cHBpbmcuCiBMSUJZVVZfQVBJCi1pbnQgWVVWVG9BUkdCU2NhbGVSZWZlcmVuY2UyKGNvbnN0IHVp
bnQ4KiBzcmNfeSwgaW50IHNyY19zdHJpZGVfeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY191LCBpbnQgc3JjX3N0cmlkZV91LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX3YsIGludCBzcmNfc3RyaWRlX3YsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMiBzcmNfZm91cmNjLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDgqIGRzdF9hcmdiLCBpbnQgZHN0X3N0cmlkZV9hcmdi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzIgZHN0X2ZvdXJjYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjbGlwX3gsIGludCBjbGlwX3ksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjbGlwX3dpZHRoLCBpbnQgY2xpcF9oZWlnaHQs
CitpbnQgWVVWVG9BUkdCU2NhbGVSZWZlcmVuY2UyKGNvbnN0IHVpbnQ4KiBzcmNfeSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY19zdHJpZGVfeSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY191LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgc3JjX3N0cmlkZV91LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCB1aW50OCogc3JjX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
c3RyaWRlX3YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMiAvKiBzcmNfZm91
cmNjICovLCAgLy8gVE9ETzogQWRkIHN1cHBvcnQuCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
aGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0X2FyZ2IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfc3RyaWRlX2FyZ2IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMiAvKiBkc3RfZm91cmNjICovLCAgLy8gVE9ETzog
QWRkIHN1cHBvcnQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgY2xpcF94LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgY2xpcF95LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY2xpcF93
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsaXBfaGVpZ2h0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEZpbHRlck1vZGUgZmlsdGVyaW5nKSB7CiAg
IHVpbnQ4KiBhcmdiX2J1ZmZlciA9IHN0YXRpY19jYXN0PHVpbnQ4Kj4obWFsbG9jKHNyY193aWR0
aCAqIHNyY19oZWlnaHQgKiA0KSk7CiAgIGludCByOwotICBJNDIwVG9BUkdCKHNyY195LCBzcmNf
c3RyaWRlX3ksCi0gICAgICAgICAgICAgc3JjX3UsIHNyY19zdHJpZGVfdSwKLSAgICAgICAgICAg
ICBzcmNfdiwgc3JjX3N0cmlkZV92LAotICAgICAgICAgICAgIGFyZ2JfYnVmZmVyLCBzcmNfd2lk
dGggKiA0LAotICAgICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCk7Ci0KLSAgciA9IEFS
R0JTY2FsZUNsaXAoYXJnYl9idWZmZXIsIHNyY193aWR0aCAqIDQsCi0gICAgICAgICAgICAgICAg
ICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgZHN0X2FyZ2Is
IGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgZHN0X3dpZHRoLCBkc3RfaGVp
Z2h0LAotICAgICAgICAgICAgICAgICAgICBjbGlwX3gsIGNsaXBfeSwgY2xpcF93aWR0aCwgY2xp
cF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgIGZpbHRlcmluZyk7CisgIEk0MjBUb0FSR0Io
c3JjX3ksIHNyY19zdHJpZGVfeSwgc3JjX3UsIHNyY19zdHJpZGVfdSwgc3JjX3YsIHNyY19zdHJp
ZGVfdiwKKyAgICAgICAgICAgICBhcmdiX2J1ZmZlciwgc3JjX3dpZHRoICogNCwgc3JjX3dpZHRo
LCBzcmNfaGVpZ2h0KTsKKworICByID0gQVJHQlNjYWxlQ2xpcChhcmdiX2J1ZmZlciwgc3JjX3dp
ZHRoICogNCwgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3RfYXJnYiwKKyAgICAgICAgICAgICAg
ICAgICAgZHN0X3N0cmlkZV9hcmdiLCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIGNsaXBfeCwgY2xp
cF95LAorICAgICAgICAgICAgICAgICAgICBjbGlwX3dpZHRoLCBjbGlwX2hlaWdodCwgZmlsdGVy
aW5nKTsKICAgZnJlZShhcmdiX2J1ZmZlcik7CiAgIHJldHVybiByOwogfQpAQCAtMzYwLDEzICsz
NjMsMTUgQEAgc3RhdGljIHZvaWQgRmlsbFJhbXAodWludDgqIGJ1ZiwgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0LCBpbnQgdiwgaW50IGR4LCBpbnQgZHkpIHsKIH0KIAogLy8gVGVzdCBzY2FsaW5nIHdp
dGggQyB2cyBPcHQgYW5kIHJldHVybiBtYXhpbXVtIHBpeGVsIGRpZmZlcmVuY2UuIDAgPSBleGFj
dC4KLXN0YXRpYyBpbnQgWVVWVG9BUkdCVGVzdEZpbHRlcihpbnQgc3JjX3dpZHRoLCBpbnQgc3Jj
X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLCBp
bnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXJNb2Rl
IGYsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsIGludCBiZW5jaG1hcmtfY3B1X2luZm8pIHsKK3N0
YXRpYyBpbnQgWVVWVG9BUkdCVGVzdEZpbHRlcihpbnQgc3JjX3dpZHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzcmNfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRzdF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyTW9k
ZSBmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfaXRlcmF0
aW9ucykgewogICBpbnQ2NCBzcmNfeV9wbGFuZV9zaXplID0gQWJzKHNyY193aWR0aCkgKiBBYnMo
c3JjX2hlaWdodCk7Ci0gIGludDY0IHNyY191dl9wbGFuZV9zaXplID0gKChBYnMoc3JjX3dpZHRo
KSArIDEpIC8gMikgKgotICAgICAgKChBYnMoc3JjX2hlaWdodCkgKyAxKSAvIDIpOworICBpbnQ2
NCBzcmNfdXZfcGxhbmVfc2l6ZSA9CisgICAgICAoKEFicyhzcmNfd2lkdGgpICsgMSkgLyAyKSAq
ICgoQWJzKHNyY19oZWlnaHQpICsgMSkgLyAyKTsKICAgaW50IHNyY19zdHJpZGVfeSA9IEFicyhz
cmNfd2lkdGgpOwogICBpbnQgc3JjX3N0cmlkZV91diA9IChBYnMoc3JjX3dpZHRoKSArIDEpIC8g
MjsKIApAQCAtMzc0LDggKzM3OSw4IEBAIHN0YXRpYyBpbnQgWVVWVG9BUkdCVGVzdEZpbHRlcihp
bnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNy
Y191LCBzcmNfdXZfcGxhbmVfc2l6ZSk7CiAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfdiwg
c3JjX3V2X3BsYW5lX3NpemUpOwogCi0gIGludDY0IGRzdF9hcmdiX3BsYW5lX3NpemUgPSAoZHN0
X3dpZHRoKSAqIChkc3RfaGVpZ2h0KSAqIDRMTDsKLSAgaW50IGRzdF9zdHJpZGVfYXJnYiA9IChk
c3Rfd2lkdGgpICogNDsKKyAgaW50NjQgZHN0X2FyZ2JfcGxhbmVfc2l6ZSA9IChkc3Rfd2lkdGgp
ICogKGRzdF9oZWlnaHQpKjRMTDsKKyAgaW50IGRzdF9zdHJpZGVfYXJnYiA9IChkc3Rfd2lkdGgp
KjQ7CiAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfYXJnYl9jLCBkc3RfYXJnYl9wbGFuZV9z
aXplKTsKICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF9hcmdiX29wdCwgZHN0X2FyZ2JfcGxh
bmVfc2l6ZSk7CiAgIGlmICghZHN0X2FyZ2JfYyB8fCAhZHN0X2FyZ2Jfb3B0IHx8ICFzcmNfeSB8
fCAhc3JjX3UgfHwgIXNyY192KSB7CkBAIC0zOTAsMjggKzM5NSwxOCBAQCBzdGF0aWMgaW50IFlV
VlRvQVJHQlRlc3RGaWx0ZXIoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIG1lbXNl
dChkc3RfYXJnYl9jLCAyLCBkc3RfYXJnYl9wbGFuZV9zaXplKTsKICAgbWVtc2V0KGRzdF9hcmdi
X29wdCwgMywgZHN0X2FyZ2JfcGxhbmVfc2l6ZSk7CiAKLSAgWVVWVG9BUkdCU2NhbGVSZWZlcmVu
Y2UyKHNyY195LCBzcmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNf
dSwgc3JjX3N0cmlkZV91diwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY192LCBzcmNf
c3RyaWRlX3V2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieXV2OjpGT1VSQ0NfSTQy
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9hcmdiX2MsIGRzdF9zdHJpZGVfYXJnYiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnl1djo6Rk9VUkNDX0k0MjAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAwLCAwLCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBmKTsKKyAgWVVWVG9BUkdCU2NhbGVSZWZlcmVuY2UyKHNyY195LCBzcmNfc3Ry
aWRlX3ksIHNyY191LCBzcmNfc3RyaWRlX3V2LCBzcmNfdiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNyY19zdHJpZGVfdXYsIGxpYnl1djo6Rk9VUkNDX0k0MjAsIHNyY193aWR0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19oZWlnaHQsIGRzdF9hcmdiX2MsIGRzdF9zdHJp
ZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnl1djo6Rk9VUkNDX0k0MjAs
IGRzdF93aWR0aCwgZHN0X2hlaWdodCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRzdF93aWR0aCwgZHN0X2hlaWdodCwgZik7CiAKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBiZW5j
aG1hcmtfaXRlcmF0aW9uczsgKytpKSB7Ci0gICAgWVVWVG9BUkdCU2NhbGVDbGlwKHNyY195LCBz
cmNfc3RyaWRlX3ksCi0gICAgICAgICAgICAgICAgICAgICAgIHNyY191LCBzcmNfc3RyaWRlX3V2
LAotICAgICAgICAgICAgICAgICAgICAgICBzcmNfdiwgc3JjX3N0cmlkZV91diwKLSAgICAgICAg
ICAgICAgICAgICAgICAgbGlieXV2OjpGT1VSQ0NfSTQyMCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICBkc3RfYXJn
Yl9vcHQsIGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgbGlieXV2OjpG
T1VSQ0NfSTQyMCwKLSAgICAgICAgICAgICAgICAgICAgICAgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0
LAotICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsCi0g
ICAgICAgICAgICAgICAgICAgICAgIGYpOworICAgIFlVVlRvQVJHQlNjYWxlQ2xpcChzcmNfeSwg
c3JjX3N0cmlkZV95LCBzcmNfdSwgc3JjX3N0cmlkZV91diwgc3JjX3YsCisgICAgICAgICAgICAg
ICAgICAgICAgIHNyY19zdHJpZGVfdXYsIGxpYnl1djo6Rk9VUkNDX0k0MjAsIHNyY193aWR0aCwK
KyAgICAgICAgICAgICAgICAgICAgICAgc3JjX2hlaWdodCwgZHN0X2FyZ2Jfb3B0LCBkc3Rfc3Ry
aWRlX2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgIGxpYnl1djo6Rk9VUkNDX0k0MjAsIGRz
dF93aWR0aCwgZHN0X2hlaWdodCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgZHN0X3dp
ZHRoLCBkc3RfaGVpZ2h0LCBmKTsKICAgfQogICBpbnQgbWF4X2RpZmYgPSAwOwogICBmb3IgKGlu
dCBpID0gMDsgaSA8IGRzdF9oZWlnaHQ7ICsraSkgewpAQCAtNDE5LDkgKzQxNCw3IEBAIHN0YXRp
YyBpbnQgWVVWVG9BUkdCVGVzdEZpbHRlcihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwK
ICAgICAgIGludCBhYnNfZGlmZiA9IEFicyhkc3RfYXJnYl9jWyhpICogZHN0X3N0cmlkZV9hcmdi
KSArIGpdIC0KICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfYXJnYl9vcHRbKGkgKiBkc3Rf
c3RyaWRlX2FyZ2IpICsgal0pOwogICAgICAgaWYgKGFic19kaWZmID4gbWF4X2RpZmYpIHsKLSAg
ICAgICAgcHJpbnRmKCJlcnJvciAlZCBhdCAlZCwlZCBjICVkIG9wdCAlZCIsCi0gICAgICAgICAg
ICAgICBhYnNfZGlmZiwKLSAgICAgICAgICAgICAgIGosIGksCisgICAgICAgIHByaW50ZigiZXJy
b3IgJWQgYXQgJWQsJWQgYyAlZCBvcHQgJWQiLCBhYnNfZGlmZiwgaiwgaSwKICAgICAgICAgICAg
ICAgIGRzdF9hcmdiX2NbKGkgKiBkc3Rfc3RyaWRlX2FyZ2IpICsgal0sCiAgICAgICAgICAgICAg
ICBkc3RfYXJnYl9vcHRbKGkgKiBkc3Rfc3RyaWRlX2FyZ2IpICsgal0pOwogICAgICAgICBFWFBF
Q1RfTEUoYWJzX2RpZmYsIDQwKTsKQEAgLTQzOSwyNCArNDMyLDE4IEBAIHN0YXRpYyBpbnQgWVVW
VG9BUkdCVGVzdEZpbHRlcihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKIH0KIAogVEVT
VF9GKExpYllVVlNjYWxlVGVzdCwgWVVWVG9SR0JTY2FsZVVwKSB7Ci0gIGludCBkaWZmID0gWVVW
VG9BUkdCVGVzdEZpbHRlcihiZW5jaG1hcmtfd2lkdGhfLCBiZW5jaG1hcmtfaGVpZ2h0XywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8gKiAzIC8gMiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19oZWlnaHRfICogMyAv
IDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ5dXY6OmtGaWx0ZXJCaWxp
bmVhciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRp
b25zXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdz
XywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CisgIGludCBkaWZmID0KKyAgICAgIFlVVlRvQVJHQlRl
c3RGaWx0ZXIoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdodF8sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJlbmNobWFya193aWR0aF8gKiAzIC8gMiwgYmVuY2htYXJrX2hlaWdo
dF8gKiAzIC8gMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieXV2OjprRmlsdGVyQmls
aW5lYXIsIGJlbmNobWFya19pdGVyYXRpb25zXyk7CiAgIEVYUEVDVF9MRShkaWZmLCAxMCk7CiB9
CiAKIFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsIFlVVlRvUkdCU2NhbGVEb3duKSB7Ci0gIGludCBk
aWZmID0gWVVWVG9BUkdCVGVzdEZpbHRlcihiZW5jaG1hcmtfd2lkdGhfICogMyAvIDIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfaGVpZ2h0XyAqIDMgLyAyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrX3dpZHRoXywgYmVuY2ht
YXJrX2hlaWdodF8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ5dXY6OmtG
aWx0ZXJCaWxpbmVhciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFy
a19pdGVyYXRpb25zXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVf
Y3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7CisgIGludCBkaWZmID0gWVVWVG9BUkdC
VGVzdEZpbHRlcigKKyAgICAgIGJlbmNobWFya193aWR0aF8gKiAzIC8gMiwgYmVuY2htYXJrX2hl
aWdodF8gKiAzIC8gMiwgYmVuY2htYXJrX3dpZHRoXywKKyAgICAgIGJlbmNobWFya19oZWlnaHRf
LCBsaWJ5dXY6OmtGaWx0ZXJCaWxpbmVhciwgYmVuY2htYXJrX2l0ZXJhdGlvbnNfKTsKICAgRVhQ
RUNUX0xFKGRpZmYsIDEwKTsKIH0KIAotCiB9ICAvLyBuYW1lc3BhY2UgbGlieXV2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1
di91bml0X3Rlc3Qvc2NhbGVfdGVzdC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9zY2FsZV90ZXN0LmNjCmluZGV4IGY0
MDQ0M2UyOTA3MDE1YWJmMTNlMzZiNTI2OTBmNDI3OGZjNzE0NzMuLjBiNGVjMzBiNTFlY2QwOTRh
NGZlNDliNjFlMjgyNWUwZDRmZWUzZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC9zY2FsZV90ZXN0LmNj
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3VuaXRfdGVzdC9zY2FsZV90ZXN0LmNjCkBAIC0xMSw5ICsxMSw5IEBACiAjaW5jbHVkZSA8
c3RkbGliLmg+CiAjaW5jbHVkZSA8dGltZS5oPgogCisjaW5jbHVkZSAiLi4vdW5pdF90ZXN0L3Vu
aXRfdGVzdC5oIgogI2luY2x1ZGUgImxpYnl1di9jcHVfaWQuaCIKICNpbmNsdWRlICJsaWJ5dXYv
c2NhbGUuaCIKLSNpbmNsdWRlICIuLi91bml0X3Rlc3QvdW5pdF90ZXN0LmgiCiAKICNkZWZpbmUg
U1RSSU5HSVpFKGxpbmUpICNsaW5lCiAjZGVmaW5lIEZJTEVMSU5FU1RSKGZpbGUsIGxpbmUpIGZp
bGUgIjoiIFNUUklOR0laRShsaW5lKQpAQCAtMjEsMTAgKzIxLDE0IEBACiBuYW1lc3BhY2UgbGli
eXV2IHsKIAogLy8gVGVzdCBzY2FsaW5nIHdpdGggQyB2cyBPcHQgYW5kIHJldHVybiBtYXhpbXVt
IHBpeGVsIGRpZmZlcmVuY2UuIDAgPSBleGFjdC4KLXN0YXRpYyBpbnQgVGVzdEZpbHRlcihpbnQg
c3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0
X3dpZHRoLCBpbnQgZHN0X2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXJNb2Rl
IGYsIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZGlzYWJsZV9jcHVfZmxhZ3MsIGludCBiZW5jaG1hcmtfY3B1X2luZm8pIHsKK3N0YXRpYyBpbnQg
VGVzdEZpbHRlcihpbnQgc3JjX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNf
aGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsCisgICAgICAgICAg
ICAgICAgICAgICAgaW50IGRzdF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy
TW9kZSBmLAorICAgICAgICAgICAgICAgICAgICAgIGludCBiZW5jaG1hcmtfaXRlcmF0aW9ucywK
KyAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3MsCisgICAgICAgICAg
ICAgICAgICAgICAgaW50IGJlbmNobWFya19jcHVfaW5mbykgewogICBpZiAoIVNpemVWYWxpZChz
cmNfd2lkdGgsIHNyY19oZWlnaHQsIGRzdF93aWR0aCwgZHN0X2hlaWdodCkpIHsKICAgICByZXR1
cm4gMDsKICAgfQpAQCAtNDEsOSArNDUsOCBAQCBzdGF0aWMgaW50IFRlc3RGaWx0ZXIoaW50IHNy
Y193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAgIGludCBzcmNfc3RyaWRlX3V2ID0gYiAqIDIgKyBz
cmNfd2lkdGhfdXY7CiAKICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY195LCBzcmNfeV9wbGFu
ZV9zaXplKQotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3UsIHNyY191dl9wbGFuZV9zaXpl
KQotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3YsIHNyY191dl9wbGFuZV9zaXplKQotICBp
ZiAoIXNyY195IHx8ICFzcmNfdSB8fCAhc3JjX3YpIHsKKyAgICAgIGFsaWduX2J1ZmZlcl9wYWdl
X2VuZChzcmNfdSwgc3JjX3V2X3BsYW5lX3NpemUpIGFsaWduX2J1ZmZlcl9wYWdlX2VuZCgKKyAg
ICAgICAgICBzcmNfdiwgc3JjX3V2X3BsYW5lX3NpemUpIGlmICghc3JjX3kgfHwgIXNyY191IHx8
ICFzcmNfdikgewogICAgIHByaW50ZigiU2tpcHBlZC4gIEFsbG9jIGZhaWxlZCAiIEZJTEVMSU5F
U1RSKF9fRklMRV9fLCBfX0xJTkVfXykgIlxuIik7CiAgICAgcmV0dXJuIDA7CiAgIH0KQEAgLTYx
LDEzICs2NCwxNSBAQCBzdGF0aWMgaW50IFRlc3RGaWx0ZXIoaW50IHNyY193aWR0aCwgaW50IHNy
Y19oZWlnaHQsCiAgIGludCBkc3Rfc3RyaWRlX3V2ID0gYiAqIDIgKyBkc3Rfd2lkdGhfdXY7CiAK
ICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95X2MsIGRzdF95X3BsYW5lX3NpemUpCi0gIGFs
aWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV9jLCBkc3RfdXZfcGxhbmVfc2l6ZSkKLSAgYWxpZ25f
YnVmZmVyX3BhZ2VfZW5kKGRzdF92X2MsIGRzdF91dl9wbGFuZV9zaXplKQotICBhbGlnbl9idWZm
ZXJfcGFnZV9lbmQoZHN0X3lfb3B0LCBkc3RfeV9wbGFuZV9zaXplKQotICBhbGlnbl9idWZmZXJf
cGFnZV9lbmQoZHN0X3Vfb3B0LCBkc3RfdXZfcGxhbmVfc2l6ZSkKLSAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKGRzdF92X29wdCwgZHN0X3V2X3BsYW5lX3NpemUpCi0gIGlmICghZHN0X3lfYyB8fCAh
ZHN0X3VfYyB8fCAhZHN0X3ZfYyB8fAotICAgICAgIWRzdF95X29wdHx8ICFkc3RfdV9vcHR8fCAh
ZHN0X3Zfb3B0KSB7CisgICAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3VfYywgZHN0X3V2
X3BsYW5lX3NpemUpCisgICAgICAgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF92X2MsIGRz
dF91dl9wbGFuZV9zaXplKQorICAgICAgICAgICAgICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0
X3lfb3B0LCBkc3RfeV9wbGFuZV9zaXplKQorICAgICAgICAgICAgICAgICAgYWxpZ25fYnVmZmVy
X3BhZ2VfZW5kKGRzdF91X29wdCwgZHN0X3V2X3BsYW5lX3NpemUpCisgICAgICAgICAgICAgICAg
ICAgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKAorICAgICAgICAgICAgICAgICAgICAgICAgICBk
c3Rfdl9vcHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF91dl9wbGFuZV9zaXplKSBp
ZiAoIWRzdF95X2MgfHwgIWRzdF91X2MgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAhZHN0X3ZfYyB8fCAhZHN0X3lfb3B0IHx8CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWRzdF91X29wdCB8fCAhZHN0
X3Zfb3B0KSB7CiAgICAgcHJpbnRmKCJTa2lwcGVkLiAgQWxsb2MgZmFpbGVkICIgRklMRUxJTkVT
VFIoX19GSUxFX18sIF9fTElORV9fKSAiXG4iKTsKICAgICByZXR1cm4gMDsKICAgfQpAQCAtNzYs
MTIgKzgxLDExIEBAIHN0YXRpYyBpbnQgVGVzdEZpbHRlcihpbnQgc3JjX3dpZHRoLCBpbnQgc3Jj
X2hlaWdodCwKICAgZG91YmxlIGNfdGltZSA9IGdldF90aW1lKCk7CiAgIEk0MjBTY2FsZShzcmNf
eSArIChzcmNfc3RyaWRlX3kgKiBiKSArIGIsIHNyY19zdHJpZGVfeSwKICAgICAgICAgICAgIHNy
Y191ICsgKHNyY19zdHJpZGVfdXYgKiBiKSArIGIsIHNyY19zdHJpZGVfdXYsCi0gICAgICAgICAg
ICBzcmNfdiArIChzcmNfc3RyaWRlX3V2ICogYikgKyBiLCBzcmNfc3RyaWRlX3V2LAotICAgICAg
ICAgICAgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgZHN0X3lfYyArIChkc3Rf
c3RyaWRlX3kgKiBiKSArIGIsIGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgIHNyY192ICsgKHNy
Y19zdHJpZGVfdXYgKiBiKSArIGIsIHNyY19zdHJpZGVfdXYsIHNyY193aWR0aCwKKyAgICAgICAg
ICAgIHNyY19oZWlnaHQsIGRzdF95X2MgKyAoZHN0X3N0cmlkZV95ICogYikgKyBiLCBkc3Rfc3Ry
aWRlX3ksCiAgICAgICAgICAgICBkc3RfdV9jICsgKGRzdF9zdHJpZGVfdXYgKiBiKSArIGIsIGRz
dF9zdHJpZGVfdXYsCi0gICAgICAgICAgICBkc3Rfdl9jICsgKGRzdF9zdHJpZGVfdXYgKiBiKSAr
IGIsIGRzdF9zdHJpZGVfdXYsCi0gICAgICAgICAgICBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIGYp
OworICAgICAgICAgICAgZHN0X3ZfYyArIChkc3Rfc3RyaWRlX3V2ICogYikgKyBiLCBkc3Rfc3Ry
aWRlX3V2LCBkc3Rfd2lkdGgsCisgICAgICAgICAgICBkc3RfaGVpZ2h0LCBmKTsKICAgY190aW1l
ID0gKGdldF90aW1lKCkgLSBjX3RpbWUpOwogCiAgIE1hc2tDcHVGbGFncyhiZW5jaG1hcmtfY3B1
X2luZm8pOyAgLy8gRW5hYmxlIGFsbCBDUFUgb3B0aW1pemF0aW9uLgpAQCAtODksMTkgKzkzLDE2
IEBAIHN0YXRpYyBpbnQgVGVzdEZpbHRlcihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwK
ICAgZm9yIChpID0gMDsgaSA8IGJlbmNobWFya19pdGVyYXRpb25zOyArK2kpIHsKICAgICBJNDIw
U2NhbGUoc3JjX3kgKyAoc3JjX3N0cmlkZV95ICogYikgKyBiLCBzcmNfc3RyaWRlX3ksCiAgICAg
ICAgICAgICAgIHNyY191ICsgKHNyY19zdHJpZGVfdXYgKiBiKSArIGIsIHNyY19zdHJpZGVfdXYs
Ci0gICAgICAgICAgICAgIHNyY192ICsgKHNyY19zdHJpZGVfdXYgKiBiKSArIGIsIHNyY19zdHJp
ZGVfdXYsCi0gICAgICAgICAgICAgIHNyY193aWR0aCwgc3JjX2hlaWdodCwKLSAgICAgICAgICAg
ICAgZHN0X3lfb3B0ICsgKGRzdF9zdHJpZGVfeSAqIGIpICsgYiwgZHN0X3N0cmlkZV95LAorICAg
ICAgICAgICAgICBzcmNfdiArIChzcmNfc3RyaWRlX3V2ICogYikgKyBiLCBzcmNfc3RyaWRlX3V2
LCBzcmNfd2lkdGgsCisgICAgICAgICAgICAgIHNyY19oZWlnaHQsIGRzdF95X29wdCArIChkc3Rf
c3RyaWRlX3kgKiBiKSArIGIsIGRzdF9zdHJpZGVfeSwKICAgICAgICAgICAgICAgZHN0X3Vfb3B0
ICsgKGRzdF9zdHJpZGVfdXYgKiBiKSArIGIsIGRzdF9zdHJpZGVfdXYsCi0gICAgICAgICAgICAg
IGRzdF92X29wdCArIChkc3Rfc3RyaWRlX3V2ICogYikgKyBiLCBkc3Rfc3RyaWRlX3V2LAotICAg
ICAgICAgICAgICBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIGYpOworICAgICAgICAgICAgICBkc3Rf
dl9vcHQgKyAoZHN0X3N0cmlkZV91diAqIGIpICsgYiwgZHN0X3N0cmlkZV91diwgZHN0X3dpZHRo
LAorICAgICAgICAgICAgICBkc3RfaGVpZ2h0LCBmKTsKICAgfQogICBvcHRfdGltZSA9IChnZXRf
dGltZSgpIC0gb3B0X3RpbWUpIC8gYmVuY2htYXJrX2l0ZXJhdGlvbnM7CiAgIC8vIFJlcG9ydCBw
ZXJmb3JtYW5jZSBvZiBDIHZzIE9QVAotICBwcmludGYoImZpbHRlciAlZCAtICU4ZCB1cyBDIC0g
JThkIHVzIE9QVFxuIiwKLSAgICAgICAgIGYsCi0gICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGNf
dGltZSAqIDFlNiksCi0gICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KG9wdF90aW1lICogMWU2KSk7
CisgIHByaW50ZigiZmlsdGVyICVkIC0gJThkIHVzIEMgLSAlOGQgdXMgT1BUXG4iLCBmLAorICAg
ICAgICAgc3RhdGljX2Nhc3Q8aW50PihjX3RpbWUgKiAxZTYpLCBzdGF0aWNfY2FzdDxpbnQ+KG9w
dF90aW1lICogMWU2KSk7CiAKICAgLy8gQyB2ZXJzaW9uIG1heSBiZSBhIGxpdHRsZSBvZmYgZnJv
bSB0aGUgb3B0aW1pemVkLiBPcmRlciBvZgogICAvLyAgb3BlcmF0aW9ucyBtYXkgaW50cm9kdWNl
IHJvdW5kaW5nIHNvbWV3aGVyZS4gU28gZG8gYSBkaWZmZXJlbmNlCkBAIC0xMzMsMjUgKzEzNCwy
NyBAQCBzdGF0aWMgaW50IFRlc3RGaWx0ZXIoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQs
CiAgICAgfQogICB9CiAKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9jKQot
ICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF91X2MpCi0gIGZyZWVfYWxpZ25lZF9i
dWZmZXJfcGFnZV9lbmQoZHN0X3ZfYykKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChk
c3RfeV9vcHQpCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3Vfb3B0KQotICBm
cmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF92X29wdCkKKyAgZnJlZV9hbGlnbmVkX2J1
ZmZlcl9wYWdlX2VuZChkc3RfeV9jKSBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF91
X2MpCisgICAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF92X2MpCisgICAgICAg
ICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV9vcHQpCisgICAgICAgICAgICAg
IGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3Vfb3B0KQorICAgICAgICAgICAgICAg
ICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl9vcHQpCiAKLSAgZnJlZV9hbGln
bmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSkKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfdSkKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdikKKyAgICAgICAg
ICAgICAgICAgICAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY195KQorICAgICAg
ICAgICAgICAgICAgICAgICAgICBmcmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKHNyY191KQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfdikKIAotICByZXR1cm4gbWF4X2RpZmY7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIG1heF9kaWZmOwogfQogCiAvLyBUZXN0IHNjYWxpbmcgd2l0aCA4IGJp
dCBDIHZzIDE2IGJpdCBDIGFuZCByZXR1cm4gbWF4aW11bSBwaXhlbCBkaWZmZXJlbmNlLgogLy8g
MCA9IGV4YWN0Lgotc3RhdGljIGludCBUZXN0RmlsdGVyXzE2KGludCBzcmNfd2lkdGgsIGludCBz
cmNfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lkdGgsIGludCBk
c3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlck1vZGUgZiwgaW50IGJl
bmNobWFya19pdGVyYXRpb25zKSB7CitzdGF0aWMgaW50IFRlc3RGaWx0ZXJfMTYoaW50IHNyY193
aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBkc3RfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlck1vZGUgZiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnMpIHsKICAg
aWYgKCFTaXplVmFsaWQoc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LCBkc3Rfd2lkdGgsIGRzdF9oZWln
aHQpKSB7CiAgICAgcmV0dXJuIDA7CiAgIH0KQEAgLTE2MSwyMCArMTY0LDE4IEBAIHN0YXRpYyBp
bnQgVGVzdEZpbHRlcl8xNihpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgaW50IHNy
Y193aWR0aF91diA9IChBYnMoc3JjX3dpZHRoKSArIDEpID4+IDE7CiAgIGludCBzcmNfaGVpZ2h0
X3V2ID0gKEFicyhzcmNfaGVpZ2h0KSArIDEpID4+IDE7CiAKLSAgaW50NjQgc3JjX3lfcGxhbmVf
c2l6ZSA9IChBYnMoc3JjX3dpZHRoKSArIGIgKiAyKSAqCi0gICAgICAoQWJzKHNyY19oZWlnaHQp
ICsgYiAqIDIpOworICBpbnQ2NCBzcmNfeV9wbGFuZV9zaXplID0gKEFicyhzcmNfd2lkdGgpICsg
YiAqIDIpICogKEFicyhzcmNfaGVpZ2h0KSArIGIgKiAyKTsKICAgaW50NjQgc3JjX3V2X3BsYW5l
X3NpemUgPSAoc3JjX3dpZHRoX3V2ICsgYiAqIDIpICogKHNyY19oZWlnaHRfdXYgKyBiICogMik7
CiAKICAgaW50IHNyY19zdHJpZGVfeSA9IGIgKiAyICsgQWJzKHNyY193aWR0aCk7CiAgIGludCBz
cmNfc3RyaWRlX3V2ID0gYiAqIDIgKyBzcmNfd2lkdGhfdXY7CiAKLSAgYWxpZ25fYnVmZmVyX3Bh
Z2VfZW5kKHNyY195LCBzcmNfeV9wbGFuZV9zaXplKQotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQo
c3JjX3UsIHNyY191dl9wbGFuZV9zaXplKQotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3Ys
IHNyY191dl9wbGFuZV9zaXplKQotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3lfMTYsIHNy
Y195X3BsYW5lX3NpemUgKiAyKQotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3VfMTYsIHNy
Y191dl9wbGFuZV9zaXplICogMikKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY192XzE2LCBz
cmNfdXZfcGxhbmVfc2l6ZSAqIDIpCi0gIHVpbnQxNiogcF9zcmNfeV8xNiA9IHJlaW50ZXJwcmV0
X2Nhc3Q8dWludDE2Kj4oc3JjX3lfMTYpOworICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoc3JjX3ks
IHNyY195X3BsYW5lX3NpemUpIGFsaWduX2J1ZmZlcl9wYWdlX2VuZCgKKyAgICAgIHNyY191LCBz
cmNfdXZfcGxhbmVfc2l6ZSkgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY192LCBzcmNfdXZfcGxh
bmVfc2l6ZSkKKyAgICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChzcmNfeV8xNiwgc3JjX3lfcGxh
bmVfc2l6ZSAqIDIpCisgICAgICAgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHNyY191XzE2LCBz
cmNfdXZfcGxhbmVfc2l6ZSAqIDIpCisgICAgICAgICAgICAgIGFsaWduX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfdl8xNiwgc3JjX3V2X3BsYW5lX3NpemUgKiAyKQorICAgICAgICAgICAgICAgICAgdWlu
dDE2KiBwX3NyY195XzE2ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MTYqPihzcmNfeV8xNik7CiAg
IHVpbnQxNiogcF9zcmNfdV8xNiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2Kj4oc3JjX3VfMTYp
OwogICB1aW50MTYqIHBfc3JjX3ZfMTYgPSByZWludGVycHJldF9jYXN0PHVpbnQxNio+KHNyY192
XzE2KTsKIApAQCAtMjA1LDM0ICsyMDYsMzMgQEAgc3RhdGljIGludCBUZXN0RmlsdGVyXzE2KGlu
dCBzcmNfd2lkdGgsIGludCBzcmNfaGVpZ2h0LAogICBpbnQgZHN0X3N0cmlkZV91diA9IGIgKiAy
ICsgZHN0X3dpZHRoX3V2OwogCiAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3RfeV84LCBkc3Rf
eV9wbGFuZV9zaXplKQotICBhbGlnbl9idWZmZXJfcGFnZV9lbmQoZHN0X3VfOCwgZHN0X3V2X3Bs
YW5lX3NpemUpCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl84LCBkc3RfdXZfcGxhbmVf
c2l6ZSkKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF95XzE2LCBkc3RfeV9wbGFuZV9zaXpl
ICogMikKLSAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91XzE2LCBkc3RfdXZfcGxhbmVfc2l6
ZSAqIDIpCi0gIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl8xNiwgZHN0X3V2X3BsYW5lX3Np
emUgKiAyKQotCi0gIHVpbnQxNiogcF9kc3RfeV8xNiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2
Kj4oZHN0X3lfMTYpOworICAgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRzdF91XzgsIGRzdF91
dl9wbGFuZV9zaXplKQorICAgICAgICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl84LCBk
c3RfdXZfcGxhbmVfc2l6ZSkKKyAgICAgICAgICAgICAgYWxpZ25fYnVmZmVyX3BhZ2VfZW5kKGRz
dF95XzE2LCBkc3RfeV9wbGFuZV9zaXplICogMikKKyAgICAgICAgICAgICAgICAgIGFsaWduX2J1
ZmZlcl9wYWdlX2VuZChkc3RfdV8xNiwgZHN0X3V2X3BsYW5lX3NpemUgKiAyKQorICAgICAgICAg
ICAgICAgICAgICAgIGFsaWduX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl8xNiwgZHN0X3V2X3BsYW5l
X3NpemUgKiAyKQorCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNiogcF9kc3RfeV8x
NiA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHVpbnQx
Nio+KGRzdF95XzE2KTsKICAgdWludDE2KiBwX2RzdF91XzE2ID0gcmVpbnRlcnByZXRfY2FzdDx1
aW50MTYqPihkc3RfdV8xNik7CiAgIHVpbnQxNiogcF9kc3Rfdl8xNiA9IHJlaW50ZXJwcmV0X2Nh
c3Q8dWludDE2Kj4oZHN0X3ZfMTYpOwogCiAgIEk0MjBTY2FsZShzcmNfeSArIChzcmNfc3RyaWRl
X3kgKiBiKSArIGIsIHNyY19zdHJpZGVfeSwKICAgICAgICAgICAgIHNyY191ICsgKHNyY19zdHJp
ZGVfdXYgKiBiKSArIGIsIHNyY19zdHJpZGVfdXYsCi0gICAgICAgICAgICBzcmNfdiArIChzcmNf
c3RyaWRlX3V2ICogYikgKyBiLCBzcmNfc3RyaWRlX3V2LAotICAgICAgICAgICAgc3JjX3dpZHRo
LCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgZHN0X3lfOCArIChkc3Rfc3RyaWRlX3kgKiBiKSAr
IGIsIGRzdF9zdHJpZGVfeSwKKyAgICAgICAgICAgIHNyY192ICsgKHNyY19zdHJpZGVfdXYgKiBi
KSArIGIsIHNyY19zdHJpZGVfdXYsIHNyY193aWR0aCwKKyAgICAgICAgICAgIHNyY19oZWlnaHQs
IGRzdF95XzggKyAoZHN0X3N0cmlkZV95ICogYikgKyBiLCBkc3Rfc3RyaWRlX3ksCiAgICAgICAg
ICAgICBkc3RfdV84ICsgKGRzdF9zdHJpZGVfdXYgKiBiKSArIGIsIGRzdF9zdHJpZGVfdXYsCi0g
ICAgICAgICAgICBkc3Rfdl84ICsgKGRzdF9zdHJpZGVfdXYgKiBiKSArIGIsIGRzdF9zdHJpZGVf
dXYsCi0gICAgICAgICAgICBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsIGYpOworICAgICAgICAgICAg
ZHN0X3ZfOCArIChkc3Rfc3RyaWRlX3V2ICogYikgKyBiLCBkc3Rfc3RyaWRlX3V2LCBkc3Rfd2lk
dGgsCisgICAgICAgICAgICBkc3RfaGVpZ2h0LCBmKTsKIAogICBmb3IgKGkgPSAwOyBpIDwgYmVu
Y2htYXJrX2l0ZXJhdGlvbnM7ICsraSkgewogICAgIEk0MjBTY2FsZV8xNihwX3NyY195XzE2ICsg
KHNyY19zdHJpZGVfeSAqIGIpICsgYiwgc3JjX3N0cmlkZV95LAogICAgICAgICAgICAgICAgICBw
X3NyY191XzE2ICsgKHNyY19zdHJpZGVfdXYgKiBiKSArIGIsIHNyY19zdHJpZGVfdXYsCi0gICAg
ICAgICAgICAgICAgIHBfc3JjX3ZfMTYgKyAoc3JjX3N0cmlkZV91diAqIGIpICsgYiwgc3JjX3N0
cmlkZV91diwKLSAgICAgICAgICAgICAgICAgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAg
ICAgICAgICAgICBwX2RzdF95XzE2ICsgKGRzdF9zdHJpZGVfeSAqIGIpICsgYiwgZHN0X3N0cmlk
ZV95LAorICAgICAgICAgICAgICAgICBwX3NyY192XzE2ICsgKHNyY19zdHJpZGVfdXYgKiBiKSAr
IGIsIHNyY19zdHJpZGVfdXYsIHNyY193aWR0aCwKKyAgICAgICAgICAgICAgICAgc3JjX2hlaWdo
dCwgcF9kc3RfeV8xNiArIChkc3Rfc3RyaWRlX3kgKiBiKSArIGIsIGRzdF9zdHJpZGVfeSwKICAg
ICAgICAgICAgICAgICAgcF9kc3RfdV8xNiArIChkc3Rfc3RyaWRlX3V2ICogYikgKyBiLCBkc3Rf
c3RyaWRlX3V2LAotICAgICAgICAgICAgICAgICBwX2RzdF92XzE2ICsgKGRzdF9zdHJpZGVfdXYg
KiBiKSArIGIsIGRzdF9zdHJpZGVfdXYsCi0gICAgICAgICAgICAgICAgIGRzdF93aWR0aCwgZHN0
X2hlaWdodCwgZik7CisgICAgICAgICAgICAgICAgIHBfZHN0X3ZfMTYgKyAoZHN0X3N0cmlkZV91
diAqIGIpICsgYiwgZHN0X3N0cmlkZV91diwgZHN0X3dpZHRoLAorICAgICAgICAgICAgICAgICBk
c3RfaGVpZ2h0LCBmKTsKICAgfQogCiAgIC8vIEV4cGVjdCBhbiBleGFjdCBtYXRjaApAQCAtMjYy
LDIxICsyNjIsMjAgQEAgc3RhdGljIGludCBUZXN0RmlsdGVyXzE2KGludCBzcmNfd2lkdGgsIGlu
dCBzcmNfaGVpZ2h0LAogICAgIH0KICAgfQogCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9l
bmQoZHN0X3lfOCkKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV84KQotICBm
cmVlX2FsaWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF92XzgpCi0gIGZyZWVfYWxpZ25lZF9idWZm
ZXJfcGFnZV9lbmQoZHN0X3lfMTYpCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0
X3VfMTYpCi0gIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3ZfMTYpCi0KLSAgZnJl
ZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSkKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9w
YWdlX2VuZChzcmNfdSkKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdikKLSAg
ZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfeV8xNikKLSAgZnJlZV9hbGlnbmVkX2J1
ZmZlcl9wYWdlX2VuZChzcmNfdV8xNikKLSAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChz
cmNfdl8xNikKLQotICByZXR1cm4gbWF4X2RpZmY7CisgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFn
ZV9lbmQoZHN0X3lfOCkgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3RfdV84KQorICAg
ICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChkc3Rfdl84KQorICAgICAgICAgIGZyZWVf
YWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3lfMTYpCisgICAgICAgICAgICAgIGZyZWVfYWxp
Z25lZF9idWZmZXJfcGFnZV9lbmQoZHN0X3VfMTYpCisgICAgICAgICAgICAgICAgICBmcmVlX2Fs
aWduZWRfYnVmZmVyX3BhZ2VfZW5kKGRzdF92XzE2KQorCisgICAgICAgICAgICAgICAgICAgICAg
ZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfeSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX3YpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdlX2Vu
ZChzcmNfeV8xNikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJlZV9h
bGlnbmVkX2J1ZmZlcl9wYWdlX2VuZChzcmNfdV8xNikKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZyZWVfYWxpZ25lZF9idWZmZXJfcGFnZV9lbmQoc3JjX3ZfMTYp
CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bWF4X2RpZmY7CiB9CiAKIC8vIFRoZSBmb2xsb3dpbmcgYWRqdXN0bWVudHMgaW4gZGltZW5zaW9u
cyBlbnN1cmUgdGhlIHNjYWxlIGZhY3RvciB3aWxsIGJlCkBAIC0yODUsMzIgKzI4NCwzMCBAQCBz
dGF0aWMgaW50IFRlc3RGaWx0ZXJfMTYoaW50IHNyY193aWR0aCwgaW50IHNyY19oZWlnaHQsCiAj
ZGVmaW5lIERYKHgsIG5vbSwgZGVub20pIHN0YXRpY19jYXN0PGludD4oKChBYnMoeCkgLyBub20g
KyAxKSAvIDIpICogbm9tICogMikKICNkZWZpbmUgU1goeCwgbm9tLCBkZW5vbSkgc3RhdGljX2Nh
c3Q8aW50PigoKHggLyBub20gKyAxKSAvIDIpICogZGVub20gKiAyKQogCi0jZGVmaW5lIFRFU1Rf
RkFDVE9SMShuYW1lLCBmaWx0ZXIsIG5vbSwgZGVub20sIG1heF9kaWZmKSAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsIFNjYWxlRG93bkJ5IyNuYW1l
IyNfIyNmaWx0ZXIpIHsgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIGludCBkaWZmID0gVGVz
dEZpbHRlcihTWChiZW5jaG1hcmtfd2lkdGhfLCBub20sIGRlbm9tKSwgICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU1goYmVuY2htYXJrX2hlaWdodF8sIG5v
bSwgZGVub20pLCAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IERYKGJlbmNobWFya193aWR0aF8sIG5vbSwgZGVub20pLCAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBEWChiZW5jaG1hcmtfaGVpZ2h0Xywgbm9tLCBkZW5v
bSksICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAga0ZpbHRl
ciMjZmlsdGVyLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZv
Xyk7ICAgICAgICAgIFwKLSAgICAgIEVYUEVDVF9MRShkaWZmLCBtYXhfZGlmZik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsIERJU0FCTEVEX1NjYWxlRG93bkJ5
IyNuYW1lIyNfIyNmaWx0ZXIjI18xNikgeyAgICAgIFwKLSAgICAgIGludCBkaWZmID0gVGVzdEZp
bHRlcl8xNihTWChiZW5jaG1hcmtfd2lkdGhfLCBub20sIGRlbm9tKSwgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1goYmVuY2htYXJrX2hlaWdodF8sIG5v
bSwgZGVub20pLCAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IERYKGJlbmNobWFya193aWR0aF8sIG5vbSwgZGVub20pLCAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBEWChiZW5jaG1hcmtfaGVpZ2h0Xywgbm9tLCBkZW5v
bSksICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga0ZpbHRl
ciMjZmlsdGVyLCBiZW5jaG1hcmtfaXRlcmF0aW9uc18pOyAgICAgICAgXAotICAgICAgRVhQRUNU
X0xFKGRpZmYsIG1heF9kaWZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICB9CisjZGVmaW5lIFRFU1RfRkFDVE9SMShuYW1lLCBmaWx0ZXIsIG5v
bSwgZGVub20sIG1heF9kaWZmKSAgICAgICAgICAgICAgICAgICAgIFwKKyAgVEVTVF9GKExpYllV
VlNjYWxlVGVzdCwgU2NhbGVEb3duQnkjI25hbWUjI18jI2ZpbHRlcikgeyAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGludCBkaWZmID0gVGVzdEZpbHRlciggICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFNYKGJlbmNobWFya193aWR0
aF8sIG5vbSwgZGVub20pLCBTWChiZW5jaG1hcmtfaGVpZ2h0Xywgbm9tLCBkZW5vbSksIFwKKyAg
ICAgICAgRFgoYmVuY2htYXJrX3dpZHRoXywgbm9tLCBkZW5vbSksIERYKGJlbmNobWFya19oZWln
aHRfLCBub20sIGRlbm9tKSwgXAorICAgICAgICBrRmlsdGVyIyNmaWx0ZXIsIGJlbmNobWFya19p
dGVyYXRpb25zXywgZGlzYWJsZV9jcHVfZmxhZ3NfLCAgICAgICAgICBcCisgICAgICAgIGJlbmNo
bWFya19jcHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBFWFBFQ1RfTEUoZGlmZiwgbWF4X2RpZmYpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB9ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
IFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsIERJU0FCTEVEX1NjYWxlRG93bkJ5IyNuYW1lIyNfIyNm
aWx0ZXIjI18xNikgeyAgICAgIFwKKyAgICBpbnQgZGlmZiA9IFRlc3RGaWx0ZXJfMTYoICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBTWChi
ZW5jaG1hcmtfd2lkdGhfLCBub20sIGRlbm9tKSwgU1goYmVuY2htYXJrX2hlaWdodF8sIG5vbSwg
ZGVub20pLCBcCisgICAgICAgIERYKGJlbmNobWFya193aWR0aF8sIG5vbSwgZGVub20pLCBEWChi
ZW5jaG1hcmtfaGVpZ2h0Xywgbm9tLCBkZW5vbSksIFwKKyAgICAgICAga0ZpbHRlciMjZmlsdGVy
LCBiZW5jaG1hcmtfaXRlcmF0aW9uc18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIEVYUEVDVF9MRShkaWZmLCBtYXhfZGlmZik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgIH0KIAogLy8gVGVzdCBhIHNjYWxlIGZhY3RvciB3aXRo
IGFsbCA0IGZpbHRlcnMuICBFeHBlY3QgdW5maWx0ZXJlZCB0byBiZSBleGFjdCwgYnV0CiAvLyBm
aWx0ZXJpbmcgaXMgZGlmZmVyZW50IGZpeGVkIHBvaW50IGltcGxlbWVudGF0aW9ucyBmb3IgU1NT
RTMsIE5lb24gYW5kIEMuCi0jZGVmaW5lIFRFU1RfRkFDVE9SKG5hbWUsIG5vbSwgZGVub20sIGJv
eGRpZmYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RfRkFDVE9S
MShuYW1lLCBOb25lLCBub20sIGRlbm9tLCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBURVNUX0ZBQ1RPUjEobmFtZSwgTGluZWFyLCBub20sIGRlbm9tLCAzKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVF9GQUNUT1IxKG5hbWUs
IEJpbGluZWFyLCBub20sIGRlbm9tLCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIFRFU1RfRkFDVE9SMShuYW1lLCBCb3gsIG5vbSwgZGVub20sIGJveGRpZmYpCisjZGVm
aW5lIFRFU1RfRkFDVE9SKG5hbWUsIG5vbSwgZGVub20sIGJveGRpZmYpIFwKKyAgVEVTVF9GQUNU
T1IxKG5hbWUsIE5vbmUsIG5vbSwgZGVub20sIDApICAgICAgXAorICBURVNUX0ZBQ1RPUjEobmFt
ZSwgTGluZWFyLCBub20sIGRlbm9tLCAzKSAgICBcCisgIFRFU1RfRkFDVE9SMShuYW1lLCBCaWxp
bmVhciwgbm9tLCBkZW5vbSwgMykgIFwKKyAgVEVTVF9GQUNUT1IxKG5hbWUsIEJveCwgbm9tLCBk
ZW5vbSwgYm94ZGlmZikKIAogVEVTVF9GQUNUT1IoMiwgMSwgMiwgMCkKIFRFU1RfRkFDVE9SKDQs
IDEsIDQsIDApCkBAIC0zMjMsNDIgKzMyMCw0MCBAQCBURVNUX0ZBQ1RPUigzLCAxLCAzLCAwKQog
I3VuZGVmIFNYCiAjdW5kZWYgRFgKIAotI2RlZmluZSBURVNUX1NDQUxFVE8xKG5hbWUsIHdpZHRo
LCBoZWlnaHQsIGZpbHRlciwgbWF4X2RpZmYpICAgICAgICAgICAgICAgICAgIFwKLSAgICBURVNU
X0YoTGliWVVWU2NhbGVUZXN0LCBuYW1lIyNUbyMjd2lkdGgjI3gjI2hlaWdodCMjXyMjZmlsdGVy
KSB7ICAgICAgICAgICBcCi0gICAgICBpbnQgZGlmZiA9IFRlc3RGaWx0ZXIoYmVuY2htYXJrX3dp
ZHRoXywgYmVuY2htYXJrX2hlaWdodF8sICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBrRmlsdGVyIyNmaWx0ZXIsIGJl
bmNobWFya19pdGVyYXRpb25zXywgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfLCBiZW5jaG1hcmtfY3B1X2luZm9fKTsgICAgICAgICAg
XAotICAgICAgRVhQRUNUX0xFKGRpZmYsIG1heF9kaWZmKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg
VEVTVF9GKExpYllVVlNjYWxlVGVzdCwgbmFtZSMjRnJvbSMjd2lkdGgjI3gjI2hlaWdodCMjXyMj
ZmlsdGVyKSB7ICAgICAgICAgXAotICAgICAgaW50IGRpZmYgPSBUZXN0RmlsdGVyKHdpZHRoLCBo
ZWlnaHQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBBYnMoYmVuY2htYXJrX3dpZHRoXyksIEFicyhiZW5jaG1hcmtfaGVp
Z2h0XyksICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAga0ZpbHRlciMjZmlsdGVy
LCBiZW5jaG1hcmtfaXRlcmF0aW9uc18sICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAg
ICAgIFwKLSAgICAgIEVYUEVDVF9MRShkaWZmLCBtYXhfZGlmZik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgRElTQUJMRURfIyNuYW1lIyNUbyMjd2lk
dGgjI3gjI2hlaWdodCMjXyMjZmlsdGVyIyNfMTYpIHsgICAgICAgICAgICAgICBcCi0gICAgICBp
bnQgZGlmZiA9IFRlc3RGaWx0ZXJfMTYoYmVuY2htYXJrX3dpZHRoXywgYmVuY2htYXJrX2hlaWdo
dF8sICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBo
ZWlnaHQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBrRmlsdGVyIyNmaWx0ZXIsIGJlbmNobWFya19pdGVyYXRpb25zXyk7
ICAgICAgICBcCi0gICAgICBFWFBFQ1RfTEUoZGlmZiwgbWF4X2RpZmYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBURVNUX0YoTGliWVVWU2NhbGVUZXN0LCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIERJU0FCTEVEXyMjbmFtZSMjRnJv
bSMjd2lkdGgjI3gjI2hlaWdodCMjXyMjZmlsdGVyIyNfMTYpIHsgICAgICAgICAgICAgXAotICAg
ICAgaW50IGRpZmYgPSBUZXN0RmlsdGVyXzE2KHdpZHRoLCBoZWlnaHQsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBYnMo
YmVuY2htYXJrX3dpZHRoXyksIEFicyhiZW5jaG1hcmtfaGVpZ2h0XyksICBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAga0ZpbHRlciMjZmlsdGVyLCBiZW5jaG1hcmtfaXRlcmF0aW9u
c18pOyAgICAgICAgXAotICAgICAgRVhQRUNUX0xFKGRpZmYsIG1heF9kaWZmKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9CisjZGVmaW5lIFRF
U1RfU0NBTEVUTzEobmFtZSwgd2lkdGgsIGhlaWdodCwgZmlsdGVyLCBtYXhfZGlmZikgICAgICAg
ICAgICAgICAgICBcCisgIFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsIG5hbWUjI1RvIyN3aWR0aCMj
eCMjaGVpZ2h0IyNfIyNmaWx0ZXIpIHsgICAgICAgICAgICBcCisgICAgaW50IGRpZmYgPSBUZXN0
RmlsdGVyKGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCB3aWR0aCwgaGVpZ2h0
LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIGtGaWx0ZXIjI2ZpbHRlciwgYmVuY2htYXJr
X2l0ZXJhdGlvbnNfLCAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRp
c2FibGVfY3B1X2ZsYWdzXywgYmVuY2htYXJrX2NwdV9pbmZvXyk7ICAgICAgICAgICBcCisgICAg
RVhQRUNUX0xFKGRpZmYsIG1heF9kaWZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1RfRihMaWJZ
VVZTY2FsZVRlc3QsIG5hbWUjI0Zyb20jI3dpZHRoIyN4IyNoZWlnaHQjI18jI2ZpbHRlcikgeyAg
ICAgICAgICBcCisgICAgaW50IGRpZmYgPSBUZXN0RmlsdGVyKHdpZHRoLCBoZWlnaHQsIEFicyhi
ZW5jaG1hcmtfd2lkdGhfKSwgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIEFicyhiZW5jaG1hcmtfaGVpZ2h0XyksIGtGaWx0ZXIjI2ZpbHRlciwgICAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXywgZGlzYWJs
ZV9jcHVfZmxhZ3NfLCAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNo
bWFya19jcHVfaW5mb18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgRVhQ
RUNUX0xFKGRpZmYsIG1heF9kaWZmKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIFRFU1RfRihMaWJZVVZT
Y2FsZVRlc3QsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICBESVNBQkxFRF8jI25hbWUjI1RvIyN3aWR0aCMjeCMjaGVpZ2h0IyNf
IyNmaWx0ZXIjI18xNikgeyAgICAgICAgICAgICBcCisgICAgaW50IGRpZmYgPSBUZXN0RmlsdGVy
XzE2KGJlbmNobWFya193aWR0aF8sIGJlbmNobWFya19oZWlnaHRfLCB3aWR0aCwgICAgICBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCwga0ZpbHRlciMjZmlsdGVyLCBiZW5j
aG1hcmtfaXRlcmF0aW9uc18pOyBcCisgICAgRVhQRUNUX0xFKGRpZmYsIG1heF9kaWZmKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgIFRFU1RfRihMaWJZVVZTY2FsZVRlc3QsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICBESVNBQkxFRF8j
I25hbWUjI0Zyb20jI3dpZHRoIyN4IyNoZWlnaHQjI18jI2ZpbHRlciMjXzE2KSB7ICAgICAgICAg
ICBcCisgICAgaW50IGRpZmYgPSBUZXN0RmlsdGVyXzE2KHdpZHRoLCBoZWlnaHQsIEFicyhiZW5j
aG1hcmtfd2lkdGhfKSwgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEFicyhiZW5jaG1hcmtfaGVpZ2h0XyksIGtGaWx0ZXIjI2ZpbHRlciwgICAgICAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJlbmNobWFya19pdGVyYXRpb25zXyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgRVhQRUNUX0xFKGRpZmYsIG1heF9kaWZmKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIH0KIAogLy8gVGVz
dCBzY2FsZSB0byBhIHNwZWNpZmllZCBzaXplIHdpdGggYWxsIDQgZmlsdGVycy4KLSNkZWZpbmUg
VEVTVF9TQ0FMRVRPKG5hbWUsIHdpZHRoLCBoZWlnaHQpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgVEVTVF9TQ0FMRVRPMShuYW1lLCB3aWR0aCwgaGVpZ2h0LCBO
b25lLCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFRFU1RfU0NBTEVU
TzEobmFtZSwgd2lkdGgsIGhlaWdodCwgTGluZWFyLCAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBURVNUX1NDQUxFVE8xKG5hbWUsIHdpZHRoLCBoZWlnaHQsIEJpbGluZWFy
LCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgVEVTVF9TQ0FMRVRPMShuYW1l
LCB3aWR0aCwgaGVpZ2h0LCBCb3gsIDApCisjZGVmaW5lIFRFU1RfU0NBTEVUTyhuYW1lLCB3aWR0
aCwgaGVpZ2h0KSAgICAgICAgIFwKKyAgVEVTVF9TQ0FMRVRPMShuYW1lLCB3aWR0aCwgaGVpZ2h0
LCBOb25lLCAwKSAgICAgXAorICBURVNUX1NDQUxFVE8xKG5hbWUsIHdpZHRoLCBoZWlnaHQsIExp
bmVhciwgMCkgICBcCisgIFRFU1RfU0NBTEVUTzEobmFtZSwgd2lkdGgsIGhlaWdodCwgQmlsaW5l
YXIsIDApIFwKKyAgVEVTVF9TQ0FMRVRPMShuYW1lLCB3aWR0aCwgaGVpZ2h0LCBCb3gsIDApCiAK
IFRFU1RfU0NBTEVUTyhTY2FsZSwgMSwgMSkKIFRFU1RfU0NBTEVUTyhTY2FsZSwgMzIwLCAyNDAp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3Bh
cnR5L2xpYnl1di91bml0X3Rlc3QvdW5pdF90ZXN0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L3VuaXRfdGVzdC5jYwpp
bmRleCBlNzU1MTBmZDc0N2ZkNmNlYjI5OWE5NTllNTViNTg2ZTA1NmUzYjRlLi41NTI5N2UzNjBi
MTEzODFkZDA4YmU2MmI1MTI1YzgyNDlmNzU0NzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3QvdW5pdF90
ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFy
dHkvbGlieXV2L3VuaXRfdGVzdC91bml0X3Rlc3QuY2MKQEAgLTE0LDcgKzE0LDkgQEAKIAogI2lu
Y2x1ZGUgPGNzdHJpbmc+CiAKKyNpZmRlZiBMSUJZVVZfVVNFX0dGTEFHUwogI2luY2x1ZGUgImdm
bGFncy9nZmxhZ3MuaCIKKyNlbmRpZgogCiAvLyBDaGFuZ2UgdGhpcyB0byAxMDAwIGZvciBiZW5j
aG1hcmtpbmcuCiAvLyBUT0RPKGZiYXJjaGFyZCk6IEFkZCBjb21tYW5kIGxpbmUgcGFyc2luZyB0
byBwYXNzIHRoaXMgYXMgb3B0aW9uLgpAQCAtMjIsMjEgKzI0LDMzIEBACiAKIHVuc2lnbmVkIGlu
dCBmYXN0cmFuZF9zZWVkID0gMHhmYjsKIAorI2lmZGVmIExJQllVVl9VU0VfR0ZMQUdTCiBERUZJ
TkVfaW50MzIobGlieXV2X3dpZHRoLCAwLCAid2lkdGggb2YgdGVzdCBpbWFnZS4iKTsKIERFRklO
RV9pbnQzMihsaWJ5dXZfaGVpZ2h0LCAwLCAiaGVpZ2h0IG9mIHRlc3QgaW1hZ2UuIik7CiBERUZJ
TkVfaW50MzIobGlieXV2X3JlcGVhdCwgMCwgIm51bWJlciBvZiB0aW1lcyB0byByZXBlYXQgdGVz
dC4iKTsKLURFRklORV9pbnQzMihsaWJ5dXZfZmxhZ3MsIDAsCi0gICAgICAgICAgICAgImNwdSBm
bGFncyBmb3IgcmVmZXJlbmNlIGNvZGUuIDEgPSBDLCAtMSA9IFNJTUQiKTsKLURFRklORV9pbnQz
MihsaWJ5dXZfY3B1X2luZm8sIDAsCitERUZJTkVfaW50MzIobGlieXV2X2ZsYWdzLCAwLCAiY3B1
IGZsYWdzIGZvciByZWZlcmVuY2UgY29kZS4gMSA9IEMsIC0xID0gU0lNRCIpOworREVGSU5FX2lu
dDMyKGxpYnl1dl9jcHVfaW5mbywKKyAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICJjcHUg
ZmxhZ3MgZm9yIGJlbmNobWFyayBjb2RlLiAxID0gQywgLTEgPSBTSU1EIik7CisjZWxzZQorLy8g
RGlzYWJsZSBjb21tYW5kIGxpbmUgcGFyYW1ldGVycyBpZiBnZmxhZ3MgZGlzYWJsZWQuCitzdGF0
aWMgY29uc3QgaW50MzIgRkxBR1NfbGlieXV2X3dpZHRoID0gMDsKK3N0YXRpYyBjb25zdCBpbnQz
MiBGTEFHU19saWJ5dXZfaGVpZ2h0ID0gMDsKK3N0YXRpYyBjb25zdCBpbnQzMiBGTEFHU19saWJ5
dXZfcmVwZWF0ID0gMDsKK3N0YXRpYyBjb25zdCBpbnQzMiBGTEFHU19saWJ5dXZfZmxhZ3MgPSAw
Oworc3RhdGljIGNvbnN0IGludDMyIEZMQUdTX2xpYnl1dl9jcHVfaW5mbyA9IDA7CisjZW5kaWYK
IAogLy8gRm9yIHF1aWNrZXIgdW5pdHRlc3RzLCBkZWZhdWx0IGlzIDEyOCB4IDcyLiAgQnV0IHdo
ZW4gYmVuY2htYXJraW5nLAogLy8gZGVmYXVsdCB0byA3MjBwLiAgQWxsb3cgc2l6ZSB0byBzcGVj
aWZ5LgogLy8gU2V0IGZsYWdzIHRvIC0xIGZvciBiZW5jaG1hcmtpbmcgdG8gYXZvaWQgc2xvd2Vy
IEMgY29kZS4KIAotTGliWVVWQ29udmVydFRlc3Q6OkxpYllVVkNvbnZlcnRUZXN0KCkgOgotICAg
IGJlbmNobWFya19pdGVyYXRpb25zXyhCRU5DSE1BUktfSVRFUkFUSU9OUyksIGJlbmNobWFya193
aWR0aF8oMTI4KSwKLSAgICBiZW5jaG1hcmtfaGVpZ2h0Xyg3MiksIGRpc2FibGVfY3B1X2ZsYWdz
XygxKSwgYmVuY2htYXJrX2NwdV9pbmZvXygtMSkgeworTGliWVVWQ29udmVydFRlc3Q6OkxpYllV
VkNvbnZlcnRUZXN0KCkKKyAgICA6IGJlbmNobWFya19pdGVyYXRpb25zXyhCRU5DSE1BUktfSVRF
UkFUSU9OUyksCisgICAgICBiZW5jaG1hcmtfd2lkdGhfKDEyOCksCisgICAgICBiZW5jaG1hcmtf
aGVpZ2h0Xyg3MiksCisgICAgICBkaXNhYmxlX2NwdV9mbGFnc18oMSksCisgICAgICBiZW5jaG1h
cmtfY3B1X2luZm9fKC0xKSB7CiAgIGNvbnN0IGNoYXIqIHJlcGVhdCA9IGdldGVudigiTElCWVVW
X1JFUEVBVCIpOwogICBpZiAocmVwZWF0KSB7CiAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfID0g
YXRvaShyZXBlYXQpOyAgLy8gTk9MSU5UCkBAIC03NiwxOSArOTAsMjYgQEAgTGliWVVWQ29udmVy
dFRlc3Q6OkxpYllVVkNvbnZlcnRUZXN0KCkgOgogICBpZiAoRkxBR1NfbGlieXV2X2NwdV9pbmZv
KSB7CiAgICAgYmVuY2htYXJrX2NwdV9pbmZvXyA9IEZMQUdTX2xpYnl1dl9jcHVfaW5mbzsKICAg
fQotICBiZW5jaG1hcmtfcGl4ZWxzX2RpdjI1Nl8gPSBzdGF0aWNfY2FzdDxpbnQ+KCgKLSAgICAg
IHN0YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya193aWR0aF8pKSAqCi0gICAgICBzdGF0
aWNfY2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfaGVpZ2h0XykpICoKLSAgICAgIHN0YXRpY19j
YXN0PGRvdWJsZT4oYmVuY2htYXJrX2l0ZXJhdGlvbnNfKSAgKyAyNTUuMCkgLyAyNTYuMCk7Ci0g
IGJlbmNobWFya19waXhlbHNfZGl2MTI4MF8gPSBzdGF0aWNfY2FzdDxpbnQ+KCgKLSAgICAgIHN0
YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya193aWR0aF8pKSAqCi0gICAgICBzdGF0aWNf
Y2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfaGVpZ2h0XykpICoKLSAgICAgIHN0YXRpY19jYXN0
PGRvdWJsZT4oYmVuY2htYXJrX2l0ZXJhdGlvbnNfKSAgKyAxMjc5LjApIC8gMTI4MC4wKTsKKyAg
YmVuY2htYXJrX3BpeGVsc19kaXYyNTZfID0KKyAgICAgIHN0YXRpY19jYXN0PGludD4oKHN0YXRp
Y19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya193aWR0aF8pKSAqCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2htYXJrX2hlaWdodF8pKSAq
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihiZW5jaG1h
cmtfaXRlcmF0aW9uc18pICsKKyAgICAgICAgICAgICAgICAgICAgICAgIDI1NS4wKSAvCisgICAg
ICAgICAgICAgICAgICAgICAgIDI1Ni4wKTsKKyAgYmVuY2htYXJrX3BpeGVsc19kaXYxMjgwXyA9
CisgICAgICBzdGF0aWNfY2FzdDxpbnQ+KChzdGF0aWNfY2FzdDxkb3VibGU+KEFicyhiZW5jaG1h
cmtfd2lkdGhfKSkgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGRv
dWJsZT4oQWJzKGJlbmNobWFya19oZWlnaHRfKSkgKgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oYmVuY2htYXJrX2l0ZXJhdGlvbnNfKSArCisgICAgICAg
ICAgICAgICAgICAgICAgICAxMjc5LjApIC8KKyAgICAgICAgICAgICAgICAgICAgICAgMTI4MC4w
KTsKIH0KIAotTGliWVVWQ29sb3JUZXN0OjpMaWJZVVZDb2xvclRlc3QoKSA6Ci0gICAgYmVuY2ht
YXJrX2l0ZXJhdGlvbnNfKEJFTkNITUFSS19JVEVSQVRJT05TKSwgYmVuY2htYXJrX3dpZHRoXygx
MjgpLAotICAgIGJlbmNobWFya19oZWlnaHRfKDcyKSwgZGlzYWJsZV9jcHVfZmxhZ3NfKDEpLCBi
ZW5jaG1hcmtfY3B1X2luZm9fKC0xKSB7CitMaWJZVVZDb2xvclRlc3Q6OkxpYllVVkNvbG9yVGVz
dCgpCisgICAgOiBiZW5jaG1hcmtfaXRlcmF0aW9uc18oQkVOQ0hNQVJLX0lURVJBVElPTlMpLAor
ICAgICAgYmVuY2htYXJrX3dpZHRoXygxMjgpLAorICAgICAgYmVuY2htYXJrX2hlaWdodF8oNzIp
LAorICAgICAgZGlzYWJsZV9jcHVfZmxhZ3NfKDEpLAorICAgICAgYmVuY2htYXJrX2NwdV9pbmZv
XygtMSkgewogICBjb25zdCBjaGFyKiByZXBlYXQgPSBnZXRlbnYoIkxJQllVVl9SRVBFQVQiKTsK
ICAgaWYgKHJlcGVhdCkgewogICAgIGJlbmNobWFya19pdGVyYXRpb25zXyA9IGF0b2kocmVwZWF0
KTsgIC8vIE5PTElOVApAQCAtMTI4LDE5ICsxNDksMjYgQEAgTGliWVVWQ29sb3JUZXN0OjpMaWJZ
VVZDb2xvclRlc3QoKSA6CiAgIGlmIChGTEFHU19saWJ5dXZfY3B1X2luZm8pIHsKICAgICBiZW5j
aG1hcmtfY3B1X2luZm9fID0gRkxBR1NfbGlieXV2X2NwdV9pbmZvOwogICB9Ci0gIGJlbmNobWFy
a19waXhlbHNfZGl2MjU2XyA9IHN0YXRpY19jYXN0PGludD4oKAotICAgICAgc3RhdGljX2Nhc3Q8
ZG91YmxlPihBYnMoYmVuY2htYXJrX3dpZHRoXykpICoKLSAgICAgIHN0YXRpY19jYXN0PGRvdWJs
ZT4oQWJzKGJlbmNobWFya19oZWlnaHRfKSkgKgotICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihi
ZW5jaG1hcmtfaXRlcmF0aW9uc18pICArIDI1NS4wKSAvIDI1Ni4wKTsKLSAgYmVuY2htYXJrX3Bp
eGVsc19kaXYxMjgwXyA9IHN0YXRpY19jYXN0PGludD4oKAotICAgICAgc3RhdGljX2Nhc3Q8ZG91
YmxlPihBYnMoYmVuY2htYXJrX3dpZHRoXykpICoKLSAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4o
QWJzKGJlbmNobWFya19oZWlnaHRfKSkgKgotICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihiZW5j
aG1hcmtfaXRlcmF0aW9uc18pICArIDEyNzkuMCkgLyAxMjgwLjApOworICBiZW5jaG1hcmtfcGl4
ZWxzX2RpdjI1Nl8gPQorICAgICAgc3RhdGljX2Nhc3Q8aW50Pigoc3RhdGljX2Nhc3Q8ZG91Ymxl
PihBYnMoYmVuY2htYXJrX3dpZHRoXykpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGF0aWNfY2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfaGVpZ2h0XykpICoKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KGJlbmNobWFya19pdGVyYXRpb25z
XykgKworICAgICAgICAgICAgICAgICAgICAgICAgMjU1LjApIC8KKyAgICAgICAgICAgICAgICAg
ICAgICAgMjU2LjApOworICBiZW5jaG1hcmtfcGl4ZWxzX2RpdjEyODBfID0KKyAgICAgIHN0YXRp
Y19jYXN0PGludD4oKHN0YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya193aWR0aF8pKSAq
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVu
Y2htYXJrX2hlaWdodF8pKSAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8ZG91YmxlPihiZW5jaG1hcmtfaXRlcmF0aW9uc18pICsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIDEyNzkuMCkgLworICAgICAgICAgICAgICAgICAgICAgICAxMjgwLjApOwogfQogCi1MaWJZ
VVZTY2FsZVRlc3Q6OkxpYllVVlNjYWxlVGVzdCgpIDoKLSAgICBiZW5jaG1hcmtfaXRlcmF0aW9u
c18oQkVOQ0hNQVJLX0lURVJBVElPTlMpLCBiZW5jaG1hcmtfd2lkdGhfKDEyOCksCi0gICAgYmVu
Y2htYXJrX2hlaWdodF8oNzIpLCBkaXNhYmxlX2NwdV9mbGFnc18oMSksIGJlbmNobWFya19jcHVf
aW5mb18oLTEpIHsKK0xpYllVVlNjYWxlVGVzdDo6TGliWVVWU2NhbGVUZXN0KCkKKyAgICA6IGJl
bmNobWFya19pdGVyYXRpb25zXyhCRU5DSE1BUktfSVRFUkFUSU9OUyksCisgICAgICBiZW5jaG1h
cmtfd2lkdGhfKDEyOCksCisgICAgICBiZW5jaG1hcmtfaGVpZ2h0Xyg3MiksCisgICAgICBkaXNh
YmxlX2NwdV9mbGFnc18oMSksCisgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fKC0xKSB7CiAgIGNv
bnN0IGNoYXIqIHJlcGVhdCA9IGdldGVudigiTElCWVVWX1JFUEVBVCIpOwogICBpZiAocmVwZWF0
KSB7CiAgICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfID0gYXRvaShyZXBlYXQpOyAgLy8gTk9MSU5U
CkBAIC0xODAsMTkgKzIwOCwyNiBAQCBMaWJZVVZTY2FsZVRlc3Q6OkxpYllVVlNjYWxlVGVzdCgp
IDoKICAgaWYgKEZMQUdTX2xpYnl1dl9jcHVfaW5mbykgewogICAgIGJlbmNobWFya19jcHVfaW5m
b18gPSBGTEFHU19saWJ5dXZfY3B1X2luZm87CiAgIH0KLSAgYmVuY2htYXJrX3BpeGVsc19kaXYy
NTZfID0gc3RhdGljX2Nhc3Q8aW50PigoCi0gICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KEFicyhi
ZW5jaG1hcmtfd2lkdGhfKSkgKgotICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2ht
YXJrX2hlaWdodF8pKSAqCi0gICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KGJlbmNobWFya19pdGVy
YXRpb25zXykgICsgMjU1LjApIC8gMjU2LjApOwotICBiZW5jaG1hcmtfcGl4ZWxzX2RpdjEyODBf
ID0gc3RhdGljX2Nhc3Q8aW50PigoCi0gICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KEFicyhiZW5j
aG1hcmtfd2lkdGhfKSkgKgotICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2htYXJr
X2hlaWdodF8pKSAqCi0gICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KGJlbmNobWFya19pdGVyYXRp
b25zXykgICsgMTI3OS4wKSAvIDEyODAuMCk7CisgIGJlbmNobWFya19waXhlbHNfZGl2MjU2XyA9
CisgICAgICBzdGF0aWNfY2FzdDxpbnQ+KChzdGF0aWNfY2FzdDxkb3VibGU+KEFicyhiZW5jaG1h
cmtfd2lkdGhfKSkgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGRv
dWJsZT4oQWJzKGJlbmNobWFya19oZWlnaHRfKSkgKgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oYmVuY2htYXJrX2l0ZXJhdGlvbnNfKSArCisgICAgICAg
ICAgICAgICAgICAgICAgICAyNTUuMCkgLworICAgICAgICAgICAgICAgICAgICAgICAyNTYuMCk7
CisgIGJlbmNobWFya19waXhlbHNfZGl2MTI4MF8gPQorICAgICAgc3RhdGljX2Nhc3Q8aW50Pigo
c3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2htYXJrX3dpZHRoXykpICoKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfaGVpZ2h0
XykpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KGJl
bmNobWFya19pdGVyYXRpb25zXykgKworICAgICAgICAgICAgICAgICAgICAgICAgMTI3OS4wKSAv
CisgICAgICAgICAgICAgICAgICAgICAgIDEyODAuMCk7CiB9CiAKLUxpYllVVlJvdGF0ZVRlc3Q6
OkxpYllVVlJvdGF0ZVRlc3QoKSA6Ci0gICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfKEJFTkNITUFS
S19JVEVSQVRJT05TKSwgYmVuY2htYXJrX3dpZHRoXygxMjgpLAotICAgIGJlbmNobWFya19oZWln
aHRfKDcyKSwgZGlzYWJsZV9jcHVfZmxhZ3NfKDEpLCBiZW5jaG1hcmtfY3B1X2luZm9fKC0xKSB7
CitMaWJZVVZSb3RhdGVUZXN0OjpMaWJZVVZSb3RhdGVUZXN0KCkKKyAgICA6IGJlbmNobWFya19p
dGVyYXRpb25zXyhCRU5DSE1BUktfSVRFUkFUSU9OUyksCisgICAgICBiZW5jaG1hcmtfd2lkdGhf
KDEyOCksCisgICAgICBiZW5jaG1hcmtfaGVpZ2h0Xyg3MiksCisgICAgICBkaXNhYmxlX2NwdV9m
bGFnc18oMSksCisgICAgICBiZW5jaG1hcmtfY3B1X2luZm9fKC0xKSB7CiAgIGNvbnN0IGNoYXIq
IHJlcGVhdCA9IGdldGVudigiTElCWVVWX1JFUEVBVCIpOwogICBpZiAocmVwZWF0KSB7CiAgICAg
YmVuY2htYXJrX2l0ZXJhdGlvbnNfID0gYXRvaShyZXBlYXQpOyAgLy8gTk9MSU5UCkBAIC0yMzIs
MTkgKzI2NywyNiBAQCBMaWJZVVZSb3RhdGVUZXN0OjpMaWJZVVZSb3RhdGVUZXN0KCkgOgogICBp
ZiAoRkxBR1NfbGlieXV2X2NwdV9pbmZvKSB7CiAgICAgYmVuY2htYXJrX2NwdV9pbmZvXyA9IEZM
QUdTX2xpYnl1dl9jcHVfaW5mbzsKICAgfQotICBiZW5jaG1hcmtfcGl4ZWxzX2RpdjI1Nl8gPSBz
dGF0aWNfY2FzdDxpbnQ+KCgKLSAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFy
a193aWR0aF8pKSAqCi0gICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfaGVp
Z2h0XykpICoKLSAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oYmVuY2htYXJrX2l0ZXJhdGlvbnNf
KSAgKyAyNTUuMCkgLyAyNTYuMCk7Ci0gIGJlbmNobWFya19waXhlbHNfZGl2MTI4MF8gPSBzdGF0
aWNfY2FzdDxpbnQ+KCgKLSAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya193
aWR0aF8pKSAqCi0gICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfaGVpZ2h0
XykpICoKLSAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oYmVuY2htYXJrX2l0ZXJhdGlvbnNfKSAg
KyAxMjc5LjApIC8gMTI4MC4wKTsKKyAgYmVuY2htYXJrX3BpeGVsc19kaXYyNTZfID0KKyAgICAg
IHN0YXRpY19jYXN0PGludD4oKHN0YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya193aWR0
aF8pKSAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihB
YnMoYmVuY2htYXJrX2hlaWdodF8pKSAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8ZG91YmxlPihiZW5jaG1hcmtfaXRlcmF0aW9uc18pICsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIDI1NS4wKSAvCisgICAgICAgICAgICAgICAgICAgICAgIDI1Ni4wKTsKKyAgYmVu
Y2htYXJrX3BpeGVsc19kaXYxMjgwXyA9CisgICAgICBzdGF0aWNfY2FzdDxpbnQ+KChzdGF0aWNf
Y2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfd2lkdGhfKSkgKgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya19oZWlnaHRfKSkgKgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oYmVuY2htYXJr
X2l0ZXJhdGlvbnNfKSArCisgICAgICAgICAgICAgICAgICAgICAgICAxMjc5LjApIC8KKyAgICAg
ICAgICAgICAgICAgICAgICAgMTI4MC4wKTsKIH0KIAotTGliWVVWUGxhbmFyVGVzdDo6TGliWVVW
UGxhbmFyVGVzdCgpIDoKLSAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18oQkVOQ0hNQVJLX0lURVJB
VElPTlMpLCBiZW5jaG1hcmtfd2lkdGhfKDEyOCksCi0gICAgYmVuY2htYXJrX2hlaWdodF8oNzIp
LCBkaXNhYmxlX2NwdV9mbGFnc18oMSksIGJlbmNobWFya19jcHVfaW5mb18oLTEpIHsKK0xpYllV
VlBsYW5hclRlc3Q6OkxpYllVVlBsYW5hclRlc3QoKQorICAgIDogYmVuY2htYXJrX2l0ZXJhdGlv
bnNfKEJFTkNITUFSS19JVEVSQVRJT05TKSwKKyAgICAgIGJlbmNobWFya193aWR0aF8oMTI4KSwK
KyAgICAgIGJlbmNobWFya19oZWlnaHRfKDcyKSwKKyAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXygx
KSwKKyAgICAgIGJlbmNobWFya19jcHVfaW5mb18oLTEpIHsKICAgY29uc3QgY2hhciogcmVwZWF0
ID0gZ2V0ZW52KCJMSUJZVVZfUkVQRUFUIik7CiAgIGlmIChyZXBlYXQpIHsKICAgICBiZW5jaG1h
cmtfaXRlcmF0aW9uc18gPSBhdG9pKHJlcGVhdCk7ICAvLyBOT0xJTlQKQEAgLTI4NCwxOSArMzI2
LDI2IEBAIExpYllVVlBsYW5hclRlc3Q6OkxpYllVVlBsYW5hclRlc3QoKSA6CiAgIGlmIChGTEFH
U19saWJ5dXZfY3B1X2luZm8pIHsKICAgICBiZW5jaG1hcmtfY3B1X2luZm9fID0gRkxBR1NfbGli
eXV2X2NwdV9pbmZvOwogICB9Ci0gIGJlbmNobWFya19waXhlbHNfZGl2MjU2XyA9IHN0YXRpY19j
YXN0PGludD4oKAotICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2htYXJrX3dpZHRo
XykpICoKLSAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya19oZWlnaHRfKSkg
KgotICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihiZW5jaG1hcmtfaXRlcmF0aW9uc18pICArIDI1
NS4wKSAvIDI1Ni4wKTsKLSAgYmVuY2htYXJrX3BpeGVsc19kaXYxMjgwXyA9IHN0YXRpY19jYXN0
PGludD4oKAotICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2htYXJrX3dpZHRoXykp
ICoKLSAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya19oZWlnaHRfKSkgKgot
ICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihiZW5jaG1hcmtfaXRlcmF0aW9uc18pICArIDEyNzku
MCkgLyAxMjgwLjApOworICBiZW5jaG1hcmtfcGl4ZWxzX2RpdjI1Nl8gPQorICAgICAgc3RhdGlj
X2Nhc3Q8aW50Pigoc3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2htYXJrX3dpZHRoXykpICoK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KEFicyhiZW5j
aG1hcmtfaGVpZ2h0XykpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2Fz
dDxkb3VibGU+KGJlbmNobWFya19pdGVyYXRpb25zXykgKworICAgICAgICAgICAgICAgICAgICAg
ICAgMjU1LjApIC8KKyAgICAgICAgICAgICAgICAgICAgICAgMjU2LjApOworICBiZW5jaG1hcmtf
cGl4ZWxzX2RpdjEyODBfID0KKyAgICAgIHN0YXRpY19jYXN0PGludD4oKHN0YXRpY19jYXN0PGRv
dWJsZT4oQWJzKGJlbmNobWFya193aWR0aF8pKSAqCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2htYXJrX2hlaWdodF8pKSAqCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihiZW5jaG1hcmtfaXRlcmF0
aW9uc18pICsKKyAgICAgICAgICAgICAgICAgICAgICAgIDEyNzkuMCkgLworICAgICAgICAgICAg
ICAgICAgICAgICAxMjgwLjApOwogfQogCi1MaWJZVVZCYXNlVGVzdDo6TGliWVVWQmFzZVRlc3Qo
KSA6Ci0gICAgYmVuY2htYXJrX2l0ZXJhdGlvbnNfKEJFTkNITUFSS19JVEVSQVRJT05TKSwgYmVu
Y2htYXJrX3dpZHRoXygxMjgpLAotICAgIGJlbmNobWFya19oZWlnaHRfKDcyKSwgZGlzYWJsZV9j
cHVfZmxhZ3NfKDEpLCBiZW5jaG1hcmtfY3B1X2luZm9fKC0xKSB7CitMaWJZVVZCYXNlVGVzdDo6
TGliWVVWQmFzZVRlc3QoKQorICAgIDogYmVuY2htYXJrX2l0ZXJhdGlvbnNfKEJFTkNITUFSS19J
VEVSQVRJT05TKSwKKyAgICAgIGJlbmNobWFya193aWR0aF8oMTI4KSwKKyAgICAgIGJlbmNobWFy
a19oZWlnaHRfKDcyKSwKKyAgICAgIGRpc2FibGVfY3B1X2ZsYWdzXygxKSwKKyAgICAgIGJlbmNo
bWFya19jcHVfaW5mb18oLTEpIHsKICAgY29uc3QgY2hhciogcmVwZWF0ID0gZ2V0ZW52KCJMSUJZ
VVZfUkVQRUFUIik7CiAgIGlmIChyZXBlYXQpIHsKICAgICBiZW5jaG1hcmtfaXRlcmF0aW9uc18g
PSBhdG9pKHJlcGVhdCk7ICAvLyBOT0xJTlQKQEAgLTMzNiwyMSArMzg1LDI3IEBAIExpYllVVkJh
c2VUZXN0OjpMaWJZVVZCYXNlVGVzdCgpIDoKICAgaWYgKEZMQUdTX2xpYnl1dl9jcHVfaW5mbykg
ewogICAgIGJlbmNobWFya19jcHVfaW5mb18gPSBGTEFHU19saWJ5dXZfY3B1X2luZm87CiAgIH0K
LSAgYmVuY2htYXJrX3BpeGVsc19kaXYyNTZfID0gc3RhdGljX2Nhc3Q8aW50PigoCi0gICAgICBz
dGF0aWNfY2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfd2lkdGhfKSkgKgotICAgICAgc3RhdGlj
X2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2htYXJrX2hlaWdodF8pKSAqCi0gICAgICBzdGF0aWNfY2Fz
dDxkb3VibGU+KGJlbmNobWFya19pdGVyYXRpb25zXykgICsgMjU1LjApIC8gMjU2LjApOwotICBi
ZW5jaG1hcmtfcGl4ZWxzX2RpdjEyODBfID0gc3RhdGljX2Nhc3Q8aW50PigoCi0gICAgICBzdGF0
aWNfY2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfd2lkdGhfKSkgKgotICAgICAgc3RhdGljX2Nh
c3Q8ZG91YmxlPihBYnMoYmVuY2htYXJrX2hlaWdodF8pKSAqCi0gICAgICBzdGF0aWNfY2FzdDxk
b3VibGU+KGJlbmNobWFya19pdGVyYXRpb25zXykgICsgMTI3OS4wKSAvIDEyODAuMCk7CisgIGJl
bmNobWFya19waXhlbHNfZGl2MjU2XyA9CisgICAgICBzdGF0aWNfY2FzdDxpbnQ+KChzdGF0aWNf
Y2FzdDxkb3VibGU+KEFicyhiZW5jaG1hcmtfd2lkdGhfKSkgKgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oQWJzKGJlbmNobWFya19oZWlnaHRfKSkgKgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oYmVuY2htYXJr
X2l0ZXJhdGlvbnNfKSArCisgICAgICAgICAgICAgICAgICAgICAgICAyNTUuMCkgLworICAgICAg
ICAgICAgICAgICAgICAgICAyNTYuMCk7CisgIGJlbmNobWFya19waXhlbHNfZGl2MTI4MF8gPQor
ICAgICAgc3RhdGljX2Nhc3Q8aW50Pigoc3RhdGljX2Nhc3Q8ZG91YmxlPihBYnMoYmVuY2htYXJr
X3dpZHRoXykpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3Vi
bGU+KEFicyhiZW5jaG1hcmtfaGVpZ2h0XykpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxkb3VibGU+KGJlbmNobWFya19pdGVyYXRpb25zXykgKworICAgICAgICAg
ICAgICAgICAgICAgICAgMTI3OS4wKSAvCisgICAgICAgICAgICAgICAgICAgICAgIDEyODAuMCk7
CiB9CiAKIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikgewogICA6OnRlc3Rpbmc6Oklu
aXRHb29nbGVUZXN0KCZhcmdjLCBhcmd2KTsKKyNpZmRlZiBMSUJZVVZfVVNFX0dGTEFHUwogICAv
LyBBbGxvd0NvbW1hbmRMaW5lUGFyc2luZyBhbGxvd3MgdXMgdG8gaWdub3JlIGZsYWdzIHBhc3Nl
ZCBvbiB0byB1cyBieQogICAvLyBDaHJvbWl1bSBidWlsZCBib3RzIHdpdGhvdXQgaGF2aW5nIHRv
IGV4cGxpY2l0bHkgZGlzYWJsZSB0aGVtLgogICBnb29nbGU6OkFsbG93Q29tbWFuZExpbmVSZXBh
cnNpbmcoKTsKICAgZ29vZ2xlOjpQYXJzZUNvbW1hbmRMaW5lRmxhZ3MoJmFyZ2MsICZhcmd2LCB0
cnVlKTsKKyNlbmRpZgogICByZXR1cm4gUlVOX0FMTF9URVNUUygpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdW5p
dF90ZXN0L3VuaXRfdGVzdC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90
aGlyZF9wYXJ0eS9saWJ5dXYvdW5pdF90ZXN0L3VuaXRfdGVzdC5oCmluZGV4IGYyYzRiZWYwMDE4
MmEyOGJkNWQ0YzliMzRiNmNlOTVmNmQ0OWJlNzEuLmY3ZDYwYTc2ODQ3MDU4ZjgzZTZjNDRkOTA1
YzZkZWJjZjU5M2U4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC91bml0X3Rlc3QuaAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rl
c3QvdW5pdF90ZXN0LmgKQEAgLTE0LDggKzE0LDggQEAKICNpZmRlZiBXSU4zMgogI2luY2x1ZGUg
PHdpbmRvd3MuaD4KICNlbHNlCi0jaW5jbHVkZSA8c3lzL3RpbWUuaD4KICNpbmNsdWRlIDxzeXMv
cmVzb3VyY2UuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgogI2VuZGlmCiAKICNpbmNsdWRlIDxn
dGVzdC9ndGVzdC5oPgpAQCAtNTQsOCArNTQsMTAgQEAgc3RhdGljIF9faW5saW5lIGludCBBYnMo
aW50IHYpIHsKIHN0YXRpYyBjb25zdCBpbnQga01heFdpZHRoID0gMzI3Njg7CiBzdGF0aWMgY29u
c3QgaW50IGtNYXhIZWlnaHQgPSAzMjc2ODsKIAotc3RhdGljIGlubGluZSBib29sIFNpemVWYWxp
ZChpbnQgc3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQpIHsKK3N0YXRpYyBpbmxpbmUgYm9v
bCBTaXplVmFsaWQoaW50IHNyY193aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHNyY19oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3Rfd2lk
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0KSB7CiAgIGlm
IChzcmNfd2lkdGggPiBrTWF4V2lkdGggfHwgc3JjX2hlaWdodCA+IGtNYXhIZWlnaHQgfHwKICAg
ICAgIGRzdF93aWR0aCA+IGtNYXhXaWR0aCB8fCBkc3RfaGVpZ2h0ID4ga01heEhlaWdodCkgewog
ICAgIHByaW50ZigiV2FybmluZyAtIHNpemUgdG9vIGxhcmdlIHRvIHRlc3QuICBTa2lwcGluZ1xu
Iik7CkBAIC02NCwxNSArNjYsMTYgQEAgc3RhdGljIGlubGluZSBib29sIFNpemVWYWxpZChpbnQg
c3JjX3dpZHRoLCBpbnQgc3JjX2hlaWdodCwKICAgcmV0dXJuIHRydWU7CiB9CiAKLSNkZWZpbmUg
YWxpZ25fYnVmZmVyX3BhZ2VfZW5kKHZhciwgc2l6ZSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gIHVpbnQ4KiB2YXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICB1aW50OCogdmFyIyNf
bWVtOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgdmFyIyNfbWVtID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OCo+KG1hbGxvYygo
KHNpemUpICsgNDA5NSArIDYzKSAmIH40MDk1KSk7ICBcCi0gIHZhciA9ICh1aW50OCopKChpbnRw
dHJfdCkodmFyIyNfbWVtICsgKCgoc2l6ZSkgKyA0MDk1ICsgNjMpICYgfjQwOTUpIC0gICAgICAg
XAotICAgICAgKHNpemUpKSAmIH42Myk7CisjZGVmaW5lIGFsaWduX2J1ZmZlcl9wYWdlX2VuZCh2
YXIsIHNpemUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHVpbnQ4
KiB2YXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgIHVpbnQ4KiB2YXIjI19tZW07ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHZhciMjX21lbSA9IHJl
aW50ZXJwcmV0X2Nhc3Q8dWludDgqPihtYWxsb2MoKChzaXplKSArIDQwOTUgKyA2MykgJiB+NDA5
NSkpOyBcCisgIHZhciA9ICh1aW50OCopKChpbnRwdHJfdCkodmFyIyNfbWVtICsgKCgoc2l6ZSkg
KyA0MDk1ICsgNjMpICYgfjQwOTUpIC0gICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKHNpemUpKSAmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgICAgICAgICAgIH42Myk7CiAKICNkZWZpbmUgZnJlZV9hbGlnbmVkX2J1ZmZlcl9wYWdl
X2VuZCh2YXIpIFwKLSAgZnJlZSh2YXIjI19tZW0pOyAgXAorICBmcmVlKHZhciMjX21lbSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICB2YXIgPSAwOwogCiAjaWZkZWYgV0lOMzIKQEAgLTEy
Miw3OCArMTI1LDc4IEBAIGNsYXNzIExpYllVVkNvbG9yVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6
OlRlc3QgewogIHByb3RlY3RlZDoKICAgTGliWVVWQ29sb3JUZXN0KCk7CiAKLSAgaW50IGJlbmNo
bWFya19pdGVyYXRpb25zXzsgIC8vIERlZmF1bHQgMS4gVXNlIDEwMDAgZm9yIGJlbmNobWFya2lu
Zy4KLSAgaW50IGJlbmNobWFya193aWR0aF87ICAvLyBEZWZhdWx0IDEyODAuICBVc2UgNjQwIGZv
ciBiZW5jaG1hcmtpbmcgVkdBLgotICBpbnQgYmVuY2htYXJrX2hlaWdodF87ICAvLyBEZWZhdWx0
IDcyMC4gIFVzZSAzNjAgZm9yIGJlbmNobWFya2luZyBWR0EuCisgIGludCBiZW5jaG1hcmtfaXRl
cmF0aW9uc187ICAgICAvLyBEZWZhdWx0IDEuIFVzZSAxMDAwIGZvciBiZW5jaG1hcmtpbmcuCisg
IGludCBiZW5jaG1hcmtfd2lkdGhfOyAgICAgICAgICAvLyBEZWZhdWx0IDEyODAuICBVc2UgNjQw
IGZvciBiZW5jaG1hcmtpbmcgVkdBLgorICBpbnQgYmVuY2htYXJrX2hlaWdodF87ICAgICAgICAg
Ly8gRGVmYXVsdCA3MjAuICBVc2UgMzYwIGZvciBiZW5jaG1hcmtpbmcgVkdBLgogICBpbnQgYmVu
Y2htYXJrX3BpeGVsc19kaXYyNTZfOyAgLy8gVG90YWwgcGl4ZWxzIHRvIGJlbmNobWFyayAvIDI1
Ni4KICAgaW50IGJlbmNobWFya19waXhlbHNfZGl2MTI4MF87ICAvLyBUb3RhbCBwaXhlbHMgdG8g
YmVuY2htYXJrIC8gMTI4MC4KLSAgaW50IGRpc2FibGVfY3B1X2ZsYWdzXzsgIC8vIERlZmF1bHQg
MS4gIFVzZSAtMSBmb3IgYmVuY2htYXJraW5nLgotICBpbnQgYmVuY2htYXJrX2NwdV9pbmZvXzsg
IC8vIERlZmF1bHQgLTEuICBVc2UgMSB0byBkaXNhYmxlIFNJTUQuCisgIGludCBkaXNhYmxlX2Nw
dV9mbGFnc187ICAgICAgICAgLy8gRGVmYXVsdCAxLiAgVXNlIC0xIGZvciBiZW5jaG1hcmtpbmcu
CisgIGludCBiZW5jaG1hcmtfY3B1X2luZm9fOyAgICAgICAgLy8gRGVmYXVsdCAtMS4gIFVzZSAx
IHRvIGRpc2FibGUgU0lNRC4KIH07CiAKIGNsYXNzIExpYllVVkNvbnZlcnRUZXN0IDogcHVibGlj
IDo6dGVzdGluZzo6VGVzdCB7CiAgcHJvdGVjdGVkOgogICBMaWJZVVZDb252ZXJ0VGVzdCgpOwog
Ci0gIGludCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICAvLyBEZWZhdWx0IDEuIFVzZSAxMDAwIGZv
ciBiZW5jaG1hcmtpbmcuCi0gIGludCBiZW5jaG1hcmtfd2lkdGhfOyAgLy8gRGVmYXVsdCAxMjgw
LiAgVXNlIDY0MCBmb3IgYmVuY2htYXJraW5nIFZHQS4KLSAgaW50IGJlbmNobWFya19oZWlnaHRf
OyAgLy8gRGVmYXVsdCA3MjAuICBVc2UgMzYwIGZvciBiZW5jaG1hcmtpbmcgVkdBLgorICBpbnQg
YmVuY2htYXJrX2l0ZXJhdGlvbnNfOyAgICAgLy8gRGVmYXVsdCAxLiBVc2UgMTAwMCBmb3IgYmVu
Y2htYXJraW5nLgorICBpbnQgYmVuY2htYXJrX3dpZHRoXzsgICAgICAgICAgLy8gRGVmYXVsdCAx
MjgwLiAgVXNlIDY0MCBmb3IgYmVuY2htYXJraW5nIFZHQS4KKyAgaW50IGJlbmNobWFya19oZWln
aHRfOyAgICAgICAgIC8vIERlZmF1bHQgNzIwLiAgVXNlIDM2MCBmb3IgYmVuY2htYXJraW5nIFZH
QS4KICAgaW50IGJlbmNobWFya19waXhlbHNfZGl2MjU2XzsgIC8vIFRvdGFsIHBpeGVscyB0byBi
ZW5jaG1hcmsgLyAyNTYuCiAgIGludCBiZW5jaG1hcmtfcGl4ZWxzX2RpdjEyODBfOyAgLy8gVG90
YWwgcGl4ZWxzIHRvIGJlbmNobWFyayAvIDEyODAuCi0gIGludCBkaXNhYmxlX2NwdV9mbGFnc187
ICAvLyBEZWZhdWx0IDEuICBVc2UgLTEgZm9yIGJlbmNobWFya2luZy4KLSAgaW50IGJlbmNobWFy
a19jcHVfaW5mb187ICAvLyBEZWZhdWx0IC0xLiAgVXNlIDEgdG8gZGlzYWJsZSBTSU1ELgorICBp
bnQgZGlzYWJsZV9jcHVfZmxhZ3NfOyAgICAgICAgIC8vIERlZmF1bHQgMS4gIFVzZSAtMSBmb3Ig
YmVuY2htYXJraW5nLgorICBpbnQgYmVuY2htYXJrX2NwdV9pbmZvXzsgICAgICAgIC8vIERlZmF1
bHQgLTEuICBVc2UgMSB0byBkaXNhYmxlIFNJTUQuCiB9OwogCiBjbGFzcyBMaWJZVVZTY2FsZVRl
c3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsKICBwcm90ZWN0ZWQ6CiAgIExpYllVVlNjYWxl
VGVzdCgpOwogCi0gIGludCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICAvLyBEZWZhdWx0IDEuIFVz
ZSAxMDAwIGZvciBiZW5jaG1hcmtpbmcuCi0gIGludCBiZW5jaG1hcmtfd2lkdGhfOyAgLy8gRGVm
YXVsdCAxMjgwLiAgVXNlIDY0MCBmb3IgYmVuY2htYXJraW5nIFZHQS4KLSAgaW50IGJlbmNobWFy
a19oZWlnaHRfOyAgLy8gRGVmYXVsdCA3MjAuICBVc2UgMzYwIGZvciBiZW5jaG1hcmtpbmcgVkdB
LgorICBpbnQgYmVuY2htYXJrX2l0ZXJhdGlvbnNfOyAgICAgLy8gRGVmYXVsdCAxLiBVc2UgMTAw
MCBmb3IgYmVuY2htYXJraW5nLgorICBpbnQgYmVuY2htYXJrX3dpZHRoXzsgICAgICAgICAgLy8g
RGVmYXVsdCAxMjgwLiAgVXNlIDY0MCBmb3IgYmVuY2htYXJraW5nIFZHQS4KKyAgaW50IGJlbmNo
bWFya19oZWlnaHRfOyAgICAgICAgIC8vIERlZmF1bHQgNzIwLiAgVXNlIDM2MCBmb3IgYmVuY2ht
YXJraW5nIFZHQS4KICAgaW50IGJlbmNobWFya19waXhlbHNfZGl2MjU2XzsgIC8vIFRvdGFsIHBp
eGVscyB0byBiZW5jaG1hcmsgLyAyNTYuCiAgIGludCBiZW5jaG1hcmtfcGl4ZWxzX2RpdjEyODBf
OyAgLy8gVG90YWwgcGl4ZWxzIHRvIGJlbmNobWFyayAvIDEyODAuCi0gIGludCBkaXNhYmxlX2Nw
dV9mbGFnc187ICAvLyBEZWZhdWx0IDEuICBVc2UgLTEgZm9yIGJlbmNobWFya2luZy4KLSAgaW50
IGJlbmNobWFya19jcHVfaW5mb187ICAvLyBEZWZhdWx0IC0xLiAgVXNlIDEgdG8gZGlzYWJsZSBT
SU1ELgorICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3NfOyAgICAgICAgIC8vIERlZmF1bHQgMS4gIFVz
ZSAtMSBmb3IgYmVuY2htYXJraW5nLgorICBpbnQgYmVuY2htYXJrX2NwdV9pbmZvXzsgICAgICAg
IC8vIERlZmF1bHQgLTEuICBVc2UgMSB0byBkaXNhYmxlIFNJTUQuCiB9OwogCiBjbGFzcyBMaWJZ
VVZSb3RhdGVUZXN0IDogcHVibGljIDo6dGVzdGluZzo6VGVzdCB7CiAgcHJvdGVjdGVkOgogICBM
aWJZVVZSb3RhdGVUZXN0KCk7CiAKLSAgaW50IGJlbmNobWFya19pdGVyYXRpb25zXzsgIC8vIERl
ZmF1bHQgMS4gVXNlIDEwMDAgZm9yIGJlbmNobWFya2luZy4KLSAgaW50IGJlbmNobWFya193aWR0
aF87ICAvLyBEZWZhdWx0IDEyODAuICBVc2UgNjQwIGZvciBiZW5jaG1hcmtpbmcgVkdBLgotICBp
bnQgYmVuY2htYXJrX2hlaWdodF87ICAvLyBEZWZhdWx0IDcyMC4gIFVzZSAzNjAgZm9yIGJlbmNo
bWFya2luZyBWR0EuCisgIGludCBiZW5jaG1hcmtfaXRlcmF0aW9uc187ICAgICAvLyBEZWZhdWx0
IDEuIFVzZSAxMDAwIGZvciBiZW5jaG1hcmtpbmcuCisgIGludCBiZW5jaG1hcmtfd2lkdGhfOyAg
ICAgICAgICAvLyBEZWZhdWx0IDEyODAuICBVc2UgNjQwIGZvciBiZW5jaG1hcmtpbmcgVkdBLgor
ICBpbnQgYmVuY2htYXJrX2hlaWdodF87ICAgICAgICAgLy8gRGVmYXVsdCA3MjAuICBVc2UgMzYw
IGZvciBiZW5jaG1hcmtpbmcgVkdBLgogICBpbnQgYmVuY2htYXJrX3BpeGVsc19kaXYyNTZfOyAg
Ly8gVG90YWwgcGl4ZWxzIHRvIGJlbmNobWFyayAvIDI1Ni4KICAgaW50IGJlbmNobWFya19waXhl
bHNfZGl2MTI4MF87ICAvLyBUb3RhbCBwaXhlbHMgdG8gYmVuY2htYXJrIC8gMTI4MC4KLSAgaW50
IGRpc2FibGVfY3B1X2ZsYWdzXzsgIC8vIERlZmF1bHQgMS4gIFVzZSAtMSBmb3IgYmVuY2htYXJr
aW5nLgotICBpbnQgYmVuY2htYXJrX2NwdV9pbmZvXzsgIC8vIERlZmF1bHQgLTEuICBVc2UgMSB0
byBkaXNhYmxlIFNJTUQuCisgIGludCBkaXNhYmxlX2NwdV9mbGFnc187ICAgICAgICAgLy8gRGVm
YXVsdCAxLiAgVXNlIC0xIGZvciBiZW5jaG1hcmtpbmcuCisgIGludCBiZW5jaG1hcmtfY3B1X2lu
Zm9fOyAgICAgICAgLy8gRGVmYXVsdCAtMS4gIFVzZSAxIHRvIGRpc2FibGUgU0lNRC4KIH07CiAK
IGNsYXNzIExpYllVVlBsYW5hclRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsKICBwcm90
ZWN0ZWQ6CiAgIExpYllVVlBsYW5hclRlc3QoKTsKIAotICBpbnQgYmVuY2htYXJrX2l0ZXJhdGlv
bnNfOyAgLy8gRGVmYXVsdCAxLiBVc2UgMTAwMCBmb3IgYmVuY2htYXJraW5nLgotICBpbnQgYmVu
Y2htYXJrX3dpZHRoXzsgIC8vIERlZmF1bHQgMTI4MC4gIFVzZSA2NDAgZm9yIGJlbmNobWFya2lu
ZyBWR0EuCi0gIGludCBiZW5jaG1hcmtfaGVpZ2h0XzsgIC8vIERlZmF1bHQgNzIwLiAgVXNlIDM2
MCBmb3IgYmVuY2htYXJraW5nIFZHQS4KKyAgaW50IGJlbmNobWFya19pdGVyYXRpb25zXzsgICAg
IC8vIERlZmF1bHQgMS4gVXNlIDEwMDAgZm9yIGJlbmNobWFya2luZy4KKyAgaW50IGJlbmNobWFy
a193aWR0aF87ICAgICAgICAgIC8vIERlZmF1bHQgMTI4MC4gIFVzZSA2NDAgZm9yIGJlbmNobWFy
a2luZyBWR0EuCisgIGludCBiZW5jaG1hcmtfaGVpZ2h0XzsgICAgICAgICAvLyBEZWZhdWx0IDcy
MC4gIFVzZSAzNjAgZm9yIGJlbmNobWFya2luZyBWR0EuCiAgIGludCBiZW5jaG1hcmtfcGl4ZWxz
X2RpdjI1Nl87ICAvLyBUb3RhbCBwaXhlbHMgdG8gYmVuY2htYXJrIC8gMjU2LgogICBpbnQgYmVu
Y2htYXJrX3BpeGVsc19kaXYxMjgwXzsgIC8vIFRvdGFsIHBpeGVscyB0byBiZW5jaG1hcmsgLyAx
MjgwLgotICBpbnQgZGlzYWJsZV9jcHVfZmxhZ3NfOyAgLy8gRGVmYXVsdCAxLiAgVXNlIC0xIGZv
ciBiZW5jaG1hcmtpbmcuCi0gIGludCBiZW5jaG1hcmtfY3B1X2luZm9fOyAgLy8gRGVmYXVsdCAt
MS4gIFVzZSAxIHRvIGRpc2FibGUgU0lNRC4KKyAgaW50IGRpc2FibGVfY3B1X2ZsYWdzXzsgICAg
ICAgICAvLyBEZWZhdWx0IDEuICBVc2UgLTEgZm9yIGJlbmNobWFya2luZy4KKyAgaW50IGJlbmNo
bWFya19jcHVfaW5mb187ICAgICAgICAvLyBEZWZhdWx0IC0xLiAgVXNlIDEgdG8gZGlzYWJsZSBT
SU1ELgogfTsKIAogY2xhc3MgTGliWVVWQmFzZVRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0
IHsKICBwcm90ZWN0ZWQ6CiAgIExpYllVVkJhc2VUZXN0KCk7CiAKLSAgaW50IGJlbmNobWFya19p
dGVyYXRpb25zXzsgIC8vIERlZmF1bHQgMS4gVXNlIDEwMDAgZm9yIGJlbmNobWFya2luZy4KLSAg
aW50IGJlbmNobWFya193aWR0aF87ICAvLyBEZWZhdWx0IDEyODAuICBVc2UgNjQwIGZvciBiZW5j
aG1hcmtpbmcgVkdBLgotICBpbnQgYmVuY2htYXJrX2hlaWdodF87ICAvLyBEZWZhdWx0IDcyMC4g
IFVzZSAzNjAgZm9yIGJlbmNobWFya2luZyBWR0EuCisgIGludCBiZW5jaG1hcmtfaXRlcmF0aW9u
c187ICAgICAvLyBEZWZhdWx0IDEuIFVzZSAxMDAwIGZvciBiZW5jaG1hcmtpbmcuCisgIGludCBi
ZW5jaG1hcmtfd2lkdGhfOyAgICAgICAgICAvLyBEZWZhdWx0IDEyODAuICBVc2UgNjQwIGZvciBi
ZW5jaG1hcmtpbmcgVkdBLgorICBpbnQgYmVuY2htYXJrX2hlaWdodF87ICAgICAgICAgLy8gRGVm
YXVsdCA3MjAuICBVc2UgMzYwIGZvciBiZW5jaG1hcmtpbmcgVkdBLgogICBpbnQgYmVuY2htYXJr
X3BpeGVsc19kaXYyNTZfOyAgLy8gVG90YWwgcGl4ZWxzIHRvIGJlbmNobWFyayAvIDI1Ni4KICAg
aW50IGJlbmNobWFya19waXhlbHNfZGl2MTI4MF87ICAvLyBUb3RhbCBwaXhlbHMgdG8gYmVuY2ht
YXJrIC8gMTI4MC4KLSAgaW50IGRpc2FibGVfY3B1X2ZsYWdzXzsgIC8vIERlZmF1bHQgMS4gIFVz
ZSAtMSBmb3IgYmVuY2htYXJraW5nLgotICBpbnQgYmVuY2htYXJrX2NwdV9pbmZvXzsgIC8vIERl
ZmF1bHQgLTEuICBVc2UgMSB0byBkaXNhYmxlIFNJTUQuCisgIGludCBkaXNhYmxlX2NwdV9mbGFn
c187ICAgICAgICAgLy8gRGVmYXVsdCAxLiAgVXNlIC0xIGZvciBiZW5jaG1hcmtpbmcuCisgIGlu
dCBiZW5jaG1hcmtfY3B1X2luZm9fOyAgICAgICAgLy8gRGVmYXVsdCAtMS4gIFVzZSAxIHRvIGRp
c2FibGUgU0lNRC4KIH07CiAKICNlbmRpZiAgLy8gVU5JVF9URVNUX1VOSVRfVEVTVF9IXyAgTk9M
SU5UCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJk
X3BhcnR5L2xpYnl1di91bml0X3Rlc3QvdmlkZW9fY29tbW9uX3Rlc3QuY2MgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91bml0X3Rlc3Qvdmlk
ZW9fY29tbW9uX3Rlc3QuY2MKaW5kZXggZDJiMDQ5OTY0ODkxMTBmOWZmYmFjNjA0YjgwZDVmMGVk
NjVmNjBkZC4uZjE2YjY3NzJmOTViYWQ1NTJhMzE2NjA5NDk0ZjkzYjU4MDRiMWQ4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvdW5pdF90ZXN0L3ZpZGVvX2NvbW1vbl90ZXN0LmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3VuaXRfdGVzdC92aWRlb19jb21t
b25fdGVzdC5jYwpAQCAtMTEsMjYgKzExLDIzIEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5j
bHVkZSA8c3RyaW5nLmg+CiAKLSNpbmNsdWRlICJsaWJ5dXYvdmlkZW9fY29tbW9uLmgiCiAjaW5j
bHVkZSAiLi4vdW5pdF90ZXN0L3VuaXRfdGVzdC5oIgorI2luY2x1ZGUgImxpYnl1di92aWRlb19j
b21tb24uaCIKIAogbmFtZXNwYWNlIGxpYnl1diB7CiAKIC8vIFRlc3RzIEZvdXJDQyBjb2RlcyBp
biB2aWRlbyBjb21tb24sIHdoaWNoIGFyZSB1c2VkIGZvciBDb252ZXJ0VG9JNDIwKCkuCiAKIHN0
YXRpYyBib29sIFRlc3RWYWxpZENoYXIodWludDMyIG9uZWNjKSB7Ci0gIGlmICgob25lY2MgPj0g
JzAnICYmIG9uZWNjIDw9ICc5JykgfHwKLSAgICAgIChvbmVjYyA+PSAnQScgJiYgb25lY2MgPD0g
J1onKSB8fAotICAgICAgKG9uZWNjID49ICdhJyAmJiBvbmVjYyA8PSAneicpIHx8Ci0gICAgICAo
b25lY2MgPT0gJyAnKSB8fCAob25lY2MgPT0gMHhmZikpIHsKKyAgaWYgKChvbmVjYyA+PSAnMCcg
JiYgb25lY2MgPD0gJzknKSB8fCAob25lY2MgPj0gJ0EnICYmIG9uZWNjIDw9ICdaJykgfHwKKyAg
ICAgIChvbmVjYyA+PSAnYScgJiYgb25lY2MgPD0gJ3onKSB8fCAob25lY2MgPT0gJyAnKSB8fCAo
b25lY2MgPT0gMHhmZikpIHsKICAgICByZXR1cm4gdHJ1ZTsKICAgfQogICByZXR1cm4gZmFsc2U7
CiB9CiAKIHN0YXRpYyBib29sIFRlc3RWYWxpZEZvdXJDQyh1aW50MzIgZm91cmNjLCBpbnQgYnBw
KSB7Ci0gIGlmICghVGVzdFZhbGlkQ2hhcihmb3VyY2MgJiAweGZmKSB8fAotICAgICAgIVRlc3RW
YWxpZENoYXIoKGZvdXJjYyA+PiA4KSAmIDB4ZmYpIHx8CisgIGlmICghVGVzdFZhbGlkQ2hhcihm
b3VyY2MgJiAweGZmKSB8fCAhVGVzdFZhbGlkQ2hhcigoZm91cmNjID4+IDgpICYgMHhmZikgfHwK
ICAgICAgICFUZXN0VmFsaWRDaGFyKChmb3VyY2MgPj4gMTYpICYgMHhmZikgfHwKICAgICAgICFU
ZXN0VmFsaWRDaGFyKChmb3VyY2MgPj4gMjQpICYgMHhmZikpIHsKICAgICByZXR1cm4gZmFsc2U7
CkBAIC01MiwxMCArNDksMTAgQEAgVEVTVF9GKExpYllVVkJhc2VUZXN0LCBUZXN0Q2Fub25pY2Fs
Rm91ckNDKSB7CiAgIEVYUEVDVF9FUShzdGF0aWNfY2FzdDx1aW50MzI+KEZPVVJDQ19VWVZZKSwg
Q2Fub25pY2FsRm91ckNDKEZPVVJDQ18yVlVZKSk7CiAgIEVYUEVDVF9FUShzdGF0aWNfY2FzdDx1
aW50MzI+KEZPVVJDQ19NSlBHKSwgQ2Fub25pY2FsRm91ckNDKEZPVVJDQ19KUEVHKSk7CiAgIEVY
UEVDVF9FUShzdGF0aWNfY2FzdDx1aW50MzI+KEZPVVJDQ19NSlBHKSwgQ2Fub25pY2FsRm91ckND
KEZPVVJDQ19ETUIxKSk7Ci0gIEVYUEVDVF9FUShzdGF0aWNfY2FzdDx1aW50MzI+KEZPVVJDQ19S
QVcpLCAgQ2Fub25pY2FsRm91ckNDKEZPVVJDQ19SR0IzKSk7CisgIEVYUEVDVF9FUShzdGF0aWNf
Y2FzdDx1aW50MzI+KEZPVVJDQ19SQVcpLCBDYW5vbmljYWxGb3VyQ0MoRk9VUkNDX1JHQjMpKTsK
ICAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PHVpbnQzMj4oRk9VUkNDXzI0QkcpLCBDYW5vbmljYWxG
b3VyQ0MoRk9VUkNDX0JHUjMpKTsKICAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PHVpbnQzMj4oRk9V
UkNDX0JHUkEpLCBDYW5vbmljYWxGb3VyQ0MoRk9VUkNDX0NNMzIpKTsKLSAgRVhQRUNUX0VRKHN0
YXRpY19jYXN0PHVpbnQzMj4oRk9VUkNDX1JBVyksICBDYW5vbmljYWxGb3VyQ0MoRk9VUkNDX0NN
MjQpKTsKKyAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PHVpbnQzMj4oRk9VUkNDX1JBVyksIENhbm9u
aWNhbEZvdXJDQyhGT1VSQ0NfQ00yNCkpOwogICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMy
PihGT1VSQ0NfUkdCTyksIENhbm9uaWNhbEZvdXJDQyhGT1VSQ0NfTDU1NSkpOwogICBFWFBFQ1Rf
RVEoc3RhdGljX2Nhc3Q8dWludDMyPihGT1VSQ0NfUkdCUCksIENhbm9uaWNhbEZvdXJDQyhGT1VS
Q0NfTDU2NSkpOwogICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMyPihGT1VSQ0NfUkdCTyks
IENhbm9uaWNhbEZvdXJDQyhGT1VSQ0NfNTU1MSkpOwpAQCAtNzcsNyArNzQsNyBAQCBURVNUX0Yo
TGliWVVWQmFzZVRlc3QsIFRlc3RGb3VyQ0MpIHsKICAgRVhQRUNUX1RSVUUoVGVzdFZhbGlkRm91
ckNDKEZPVVJDQ19CR1JBLCBGT1VSQ0NfQlBQX0JHUkEpKTsKICAgRVhQRUNUX1RSVUUoVGVzdFZh
bGlkRm91ckNDKEZPVVJDQ19BQkdSLCBGT1VSQ0NfQlBQX0FCR1IpKTsKICAgRVhQRUNUX1RSVUUo
VGVzdFZhbGlkRm91ckNDKEZPVVJDQ18yNEJHLCBGT1VSQ0NfQlBQXzI0QkcpKTsKLSAgRVhQRUNU
X1RSVUUoVGVzdFZhbGlkRm91ckNDKEZPVVJDQ19SQVcsICBGT1VSQ0NfQlBQX1JBVykpOworICBF
WFBFQ1RfVFJVRShUZXN0VmFsaWRGb3VyQ0MoRk9VUkNDX1JBVywgRk9VUkNDX0JQUF9SQVcpKTsK
ICAgRVhQRUNUX1RSVUUoVGVzdFZhbGlkRm91ckNDKEZPVVJDQ19SR0JBLCBGT1VSQ0NfQlBQX1JH
QkEpKTsKICAgRVhQRUNUX1RSVUUoVGVzdFZhbGlkRm91ckNDKEZPVVJDQ19SR0JQLCBGT1VSQ0Nf
QlBQX1JHQlApKTsKICAgRVhQRUNUX1RSVUUoVGVzdFZhbGlkRm91ckNDKEZPVVJDQ19SR0JPLCBG
T1VSQ0NfQlBQX1JHQk8pKTsKQEAgLTEwMCw3ICs5Nyw3IEBAIFRFU1RfRihMaWJZVVZCYXNlVGVz
dCwgVGVzdEZvdXJDQykgewogICBFWFBFQ1RfVFJVRShUZXN0VmFsaWRGb3VyQ0MoRk9VUkNDX1JH
QjMsIEZPVVJDQ19CUFBfUkdCMykpOwogICBFWFBFQ1RfVFJVRShUZXN0VmFsaWRGb3VyQ0MoRk9V
UkNDX0JHUjMsIEZPVVJDQ19CUFBfQkdSMykpOwogICBFWFBFQ1RfVFJVRShUZXN0VmFsaWRGb3Vy
Q0MoRk9VUkNDX0gyNjQsIEZPVVJDQ19CUFBfSDI2NCkpOwotICBFWFBFQ1RfVFJVRShUZXN0VmFs
aWRGb3VyQ0MoRk9VUkNDX0FOWSwgIEZPVVJDQ19CUFBfQU5ZKSk7CisgIEVYUEVDVF9UUlVFKFRl
c3RWYWxpZEZvdXJDQyhGT1VSQ0NfQU5ZLCBGT1VSQ0NfQlBQX0FOWSkpOwogfQogCiB9ICAvLyBu
YW1lc3BhY2UgbGlieXV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL2NvbXBhcmUuY2MgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL2NvbXBhcmUuY2MK
aW5kZXggYzM2YzBmYTVmM2YwODM3NzQ4MDY1MWE5N2ViNWQ1MDNiMDZmYmFlOS4uZWYwYmVlZmFm
ZWU1ZWQyNTc1OWY1NTA0ZTNjMTI0NmRiMGI5YmFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRpbC9jb21wYXJlLmNj
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGli
eXV2L3V0aWwvY29tcGFyZS5jYwpAQCAtMzksMTAgKzM5LDEyIEBAIGludCBtYWluKGludCBhcmdj
LCBjaGFyKiogYXJndikgewogICBpbnQgYW10MiA9IDA7CiAgIGRvIHsKICAgICBhbXQxID0gc3Rh
dGljX2Nhc3Q8aW50PihmcmVhZChidWYxLCAxLCBrQmxvY2tTaXplLCBmaW4xKSk7Ci0gICAgaWYg
KGFtdDEgPiAwKSBoYXNoMSA9IGxpYnl1djo6SGFzaERqYjIoYnVmMSwgYW10MSwgaGFzaDEpOwor
ICAgIGlmIChhbXQxID4gMCkKKyAgICAgIGhhc2gxID0gbGlieXV2OjpIYXNoRGpiMihidWYxLCBh
bXQxLCBoYXNoMSk7CiAgICAgaWYgKGZpbjIpIHsKICAgICAgIGFtdDIgPSBzdGF0aWNfY2FzdDxp
bnQ+KGZyZWFkKGJ1ZjIsIDEsIGtCbG9ja1NpemUsIGZpbjIpKTsKLSAgICAgIGlmIChhbXQyID4g
MCkgaGFzaDIgPSBsaWJ5dXY6Okhhc2hEamIyKGJ1ZjIsIGFtdDIsIGhhc2gyKTsKKyAgICAgIGlm
IChhbXQyID4gMCkKKyAgICAgICAgaGFzaDIgPSBsaWJ5dXY6Okhhc2hEamIyKGJ1ZjIsIGFtdDIs
IGhhc2gyKTsKICAgICAgIGludCBhbXRfbWluID0gKGFtdDEgPCBhbXQyKSA/IGFtdDEgOiBhbXQy
OwogICAgICAgc2l6ZV9taW4gKz0gYW10X21pbjsKICAgICAgIHN1bV9zcXVhcmVfZXJyICs9IGxp
Ynl1djo6Q29tcHV0ZVN1bVNxdWFyZUVycm9yKGJ1ZjEsIGJ1ZjIsIGFtdF9taW4pOwpAQCAtNTIs
OCArNTQsOCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpIHsKICAgcHJpbnRmKCJo
YXNoMSAleCIsIGhhc2gxKTsKICAgaWYgKGZpbjIpIHsKICAgICBwcmludGYoIiwgaGFzaDIgJXgi
LCBoYXNoMik7Ci0gICAgZG91YmxlIG1zZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oc3VtX3NxdWFy
ZV9lcnIpIC8KLSAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihzaXplX21pbik7
CisgICAgZG91YmxlIG1zZSA9CisgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oc3VtX3NxdWFy
ZV9lcnIpIC8gc3RhdGljX2Nhc3Q8ZG91YmxlPihzaXplX21pbik7CiAgICAgcHJpbnRmKCIsIG1z
ZSAlLjJmIiwgbXNlKTsKICAgICBkb3VibGUgcHNuciA9IGxpYnl1djo6U3VtU3F1YXJlRXJyb3JU
b1BzbnIoc3VtX3NxdWFyZV9lcnIsIHNpemVfbWluKTsKICAgICBwcmludGYoIiwgcHNuciAlLjJm
XG4iLCBwc25yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2UvdGhpcmRfcGFydHkvbGlieXV2L3V0aWwvY29udmVydC5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3V0aWwvY29udmVydC5jYwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWYwNzE0MTZkYTQxYjExY2FjZTA3MTUyZTU0ZTU0
OTc0YTljN2Y2YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91
dGlsL2NvbnZlcnQuY2MKKysrIC9kZXYvbnVsbApAQCAtMSwzNjUgKzAsMCBAQAotLyoKLSAqICBD
b3B5cmlnaHQgMjAxMyBUaGUgTGliWXV2IFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiAgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZQotICogIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZQotICogIHRyZWUuIEFuIGFkZGl0aW9uYWwgaW50
ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBncmFudCBjYW4gYmUgZm91bmQKLSAqICBpbiB0aGUg
ZmlsZSBQQVRFTlRTLiBBbGwgY29udHJpYnV0aW5nIHByb2plY3QgYXV0aG9ycyBtYXkKLSAqICBi
ZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJl
ZS4KLSAqLwotCi0vLyBDb252ZXJ0IGFuIEFSR0IgaW1hZ2UgdG8gWVVWLgotLy8gVXNhZ2U6IGNv
bnZlcnQgc3JjX2FyZ2IucmF3IGRzdF95dXYucmF3Ci0KLSNpZm5kZWYgX0NSVF9TRUNVUkVfTk9f
V0FSTklOR1MKLSNkZWZpbmUgX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MKLSNlbmRpZgotCi0jaW5j
bHVkZSA8c3RkZGVmLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4K
LSNpbmNsdWRlIDxzdHJpbmcuaD4KLQotI2luY2x1ZGUgImxpYnl1di9jb252ZXJ0LmgiCi0jaW5j
bHVkZSAibGlieXV2L3BsYW5hcl9mdW5jdGlvbnMuaCIKLSNpbmNsdWRlICJsaWJ5dXYvc2NhbGVf
YXJnYi5oIgotCi0vLyBvcHRpb25zCi1ib29sIHZlcmJvc2UgPSBmYWxzZTsKLWJvb2wgYXR0ZW51
YXRlID0gZmFsc2U7Ci1ib29sIHVuYXR0ZW51YXRlID0gZmFsc2U7Ci1pbnQgaW1hZ2Vfd2lkdGgg
PSAwLCBpbWFnZV9oZWlnaHQgPSAwOyAgLy8gb3JpZ2luYWwgd2lkdGggYW5kIGhlaWdodAotaW50
IGRzdF93aWR0aCA9IDAsIGRzdF9oZWlnaHQgPSAwOyAgLy8gbmV3IHdpZHRoIGFuZCBoZWlnaHQK
LWludCBmaWxlaW5kZXhfb3JnID0gMDsgIC8vIGFyZ3YgYXJndW1lbnQgY29udGFpbnMgdGhlIG9y
aWdpbmFsIGZpbGUgbmFtZS4KLWludCBmaWxlaW5kZXhfcmVjID0gMDsgIC8vIGFyZ3YgYXJndW1l
bnQgY29udGFpbnMgdGhlIHJlY29uc3RydWN0ZWQgZmlsZSBuYW1lLgotaW50IG51bV9yZWMgPSAw
OyAgLy8gTnVtYmVyIG9mIHJlY29uc3RydWN0ZWQgaW1hZ2VzLgotaW50IG51bV9za2lwX29yZyA9
IDA7ICAvLyBOdW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gb3JpZ2luYWwuCi1pbnQgbnVtX2Zy
YW1lcyA9IDA7ICAvLyBOdW1iZXIgb2YgZnJhbWVzIHRvIGNvbnZlcnQuCi1pbnQgZmlsdGVyID0g
MTsgIC8vIEJpbGluZWFyIGZpbHRlciBmb3Igc2NhbGluZy4KLQotc3RhdGljIF9faW5saW5lIHVp
bnQzMiBBYnMoaW50MzIgdikgewotICByZXR1cm4gdiA+PSAwID8gdiA6IC12OwotfQotCi0vLyBQ
YXJzZSBQWVVWIGZvcm1hdC4gaWUgbmFtZS4xOTIweDgwMF8yNEh6X1A0MjAueXV2Ci1ib29sIEV4
dHJhY3RSZXNvbHV0aW9uRnJvbUZpbGVuYW1lKGNvbnN0IGNoYXIqIG5hbWUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCogd2lkdGhfcHRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQqIGhlaWdodF9wdHIpIHsKLSAgLy8gSXNvbGF0ZSB0aGUg
LndpZHRoX2hlaWdodC4gc2VjdGlvbiBvZiB0aGUgZmlsZW5hbWUgYnkgc2VhcmNoaW5nIGZvciBh
Ci0gIC8vIGRvdCBvciB1bmRlcnNjb3JlIGZvbGxvd2VkIGJ5IGEgZGlnaXQuCi0gIGZvciAoaW50
IGkgPSAwOyBuYW1lW2ldOyArK2kpIHsKLSAgICBpZiAoKG5hbWVbaV0gPT0gJy4nIHx8IG5hbWVb
aV0gPT0gJ18nKSAmJgotICAgICAgICBuYW1lW2kgKyAxXSA+PSAnMCcgJiYgbmFtZVtpICsgMV0g
PD0gJzknKSB7Ci0gICAgICBpbnQgbiA9IHNzY2FuZihuYW1lICsgaSArIDEsICIlZHglZCIsIHdp
ZHRoX3B0ciwgaGVpZ2h0X3B0cik7ICAvLyBOT0xJTlQKLSAgICAgIGlmICgyID09IG4pIHsKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICB9Ci0gICAgfQotICB9Ci0gIHJldHVybiBmYWxzZTsK
LX0KLQotdm9pZCBQcmludEhlbHAoY29uc3QgY2hhciAqIHByb2dyYW0pIHsKLSAgcHJpbnRmKCIl
cyBbLW9wdGlvbnNdIHNyY19hcmdiLnJhdyBkc3RfeXV2LnJhd1xuIiwgcHJvZ3JhbSk7Ci0gIHBy
aW50ZigiIC1zIDx3aWR0aD4gPGhlaWdodD4gLi4uLiBzcGVjaWZ5IHNvdXJjZSByZXNvbHV0aW9u
LiAgIgotICAgICAgICAgIk9wdGlvbmFsIGlmIG5hbWUgY29udGFpbnNcbiIKLSAgICAgICAgICIg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb24gKGllLiAiCi0gICAgICAgICAibmFt
ZS4xOTIweDgwMF8yNEh6X1A0MjAueXV2KVxuIgotICAgICAgICAgIiAgICAgICAgICAgICAgICAg
ICAgICAgICAgTmVnYXRpdmUgdmFsdWUgbWlycm9ycy5cbiIpOwotICBwcmludGYoIiAtZCA8d2lk
dGg+IDxoZWlnaHQ+IC4uLi4gc3BlY2lmeSBkZXN0aW5hdGlvbiByZXNvbHV0aW9uLlxuIik7Ci0g
IHByaW50ZigiIC1mIDxmaWx0ZXI+IC4uLi4uLi4uLi4uLiAwID0gcG9pbnQsIDEgPSBiaWxpbmVh
ciAoZGVmYXVsdCkuXG4iKTsKLSAgcHJpbnRmKCIgLXNraXAgPHNyY19hcmdiPiAuLi4uLi4uIE51
bWJlciBvZiBmcmFtZSB0byBza2lwIG9mIHNyY19hcmdiXG4iKTsKLSAgcHJpbnRmKCIgLWZyYW1l
cyA8bnVtPiAuLi4uLi4uLi4uIE51bWJlciBvZiBmcmFtZXMgdG8gY29udmVydFxuIik7Ci0gIHBy
aW50ZigiIC1hdHRlbnVhdGUgLi4uLi4uLi4uLi4uLiBBdHRlbnVhdGUgdGhlIEFSR0IgaW1hZ2Vc
biIpOwotICBwcmludGYoIiAtdW5hdHRlbnVhdGUgLi4uLi4uLi4uLi4gVW5hdHRlbnVhdGUgdGhl
IEFSR0IgaW1hZ2VcbiIpOwotICBwcmludGYoIiAtdiAuLi4uLi4uLi4uLi4uLi4uLi4uLi4gdmVy
Ym9zZVxuIik7Ci0gIHByaW50ZigiIC1oIC4uLi4uLi4uLi4uLi4uLi4uLi4uLiB0aGlzIGhlbHBc
biIpOwotICBleGl0KDApOwotfQotCi12b2lkIFBhcnNlT3B0aW9ucyhpbnQgYXJnYywgY29uc3Qg
Y2hhciogYXJndltdKSB7Ci0gIGlmIChhcmdjIDw9IDEpIFByaW50SGVscChhcmd2WzBdKTsKLSAg
Zm9yIChpbnQgYyA9IDE7IGMgPCBhcmdjOyArK2MpIHsKLSAgICBpZiAoIXN0cmNtcChhcmd2W2Nd
LCAiLXYiKSkgewotICAgICAgdmVyYm9zZSA9IHRydWU7Ci0gICAgfSBlbHNlIGlmICghc3RyY21w
KGFyZ3ZbY10sICItYXR0ZW51YXRlIikpIHsKLSAgICAgIGF0dGVudWF0ZSA9IHRydWU7Ci0gICAg
fSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbY10sICItdW5hdHRlbnVhdGUiKSkgewotICAgICAgdW5h
dHRlbnVhdGUgPSB0cnVlOwotICAgIH0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2NdLCAiLWgiKSB8
fCAhc3RyY21wKGFyZ3ZbY10sICItaGVscCIpKSB7Ci0gICAgICBQcmludEhlbHAoYXJndlswXSk7
Ci0gICAgfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbY10sICItcyIpICYmIGMgKyAyIDwgYXJnYykg
ewotICAgICAgaW1hZ2Vfd2lkdGggPSBhdG9pKGFyZ3ZbKytjXSk7ICAgIC8vIE5PTElOVAotICAg
ICAgaW1hZ2VfaGVpZ2h0ID0gYXRvaShhcmd2WysrY10pOyAgIC8vIE5PTElOVAotICAgIH0gZWxz
ZSBpZiAoIXN0cmNtcChhcmd2W2NdLCAiLWQiKSAmJiBjICsgMiA8IGFyZ2MpIHsKLSAgICAgIGRz
dF93aWR0aCA9IGF0b2koYXJndlsrK2NdKTsgICAgLy8gTk9MSU5UCi0gICAgICBkc3RfaGVpZ2h0
ID0gYXRvaShhcmd2WysrY10pOyAgIC8vIE5PTElOVAotICAgIH0gZWxzZSBpZiAoIXN0cmNtcChh
cmd2W2NdLCAiLXNraXAiKSAmJiBjICsgMSA8IGFyZ2MpIHsKLSAgICAgIG51bV9za2lwX29yZyA9
IGF0b2koYXJndlsrK2NdKTsgICAvLyBOT0xJTlQKLSAgICB9IGVsc2UgaWYgKCFzdHJjbXAoYXJn
dltjXSwgIi1mcmFtZXMiKSAmJiBjICsgMSA8IGFyZ2MpIHsKLSAgICAgIG51bV9mcmFtZXMgPSBh
dG9pKGFyZ3ZbKytjXSk7ICAgICAvLyBOT0xJTlQKLSAgICB9IGVsc2UgaWYgKCFzdHJjbXAoYXJn
dltjXSwgIi1mIikgJiYgYyArIDEgPCBhcmdjKSB7Ci0gICAgICBmaWx0ZXIgPSBhdG9pKGFyZ3Zb
KytjXSk7ICAgICAvLyBOT0xJTlQKLSAgICB9IGVsc2UgaWYgKGFyZ3ZbY11bMF0gPT0gJy0nKSB7
Ci0gICAgICBmcHJpbnRmKHN0ZGVyciwgIlVua25vd24gb3B0aW9uLiAlc1xuIiwgYXJndltjXSk7
Ci0gICAgfSBlbHNlIGlmIChmaWxlaW5kZXhfb3JnID09IDApIHsKLSAgICAgIGZpbGVpbmRleF9v
cmcgPSBjOwotICAgIH0gZWxzZSBpZiAoZmlsZWluZGV4X3JlYyA9PSAwKSB7Ci0gICAgICBmaWxl
aW5kZXhfcmVjID0gYzsKLSAgICAgIG51bV9yZWMgPSAxOwotICAgIH0gZWxzZSB7Ci0gICAgICAr
K251bV9yZWM7Ci0gICAgfQotICB9Ci0gIGlmIChmaWxlaW5kZXhfb3JnID09IDAgfHwgZmlsZWlu
ZGV4X3JlYyA9PSAwKSB7Ci0gICAgZnByaW50ZihzdGRlcnIsICJNaXNzaW5nIGZpbGVuYW1lc1xu
Iik7Ci0gICAgUHJpbnRIZWxwKGFyZ3ZbMF0pOwotICB9Ci0gIGlmIChudW1fc2tpcF9vcmcgPCAw
KSB7Ci0gICAgZnByaW50ZihzdGRlcnIsICJTa2lwcGVkIGZyYW1lcyBpbmNvcnJlY3RcbiIpOwot
ICAgIFByaW50SGVscChhcmd2WzBdKTsKLSAgfQotICBpZiAobnVtX2ZyYW1lcyA8IDApIHsKLSAg
ICBmcHJpbnRmKHN0ZGVyciwgIk51bWJlciBvZiBmcmFtZXMgaW5jb3JyZWN0XG4iKTsKLSAgICBQ
cmludEhlbHAoYXJndlswXSk7Ci0gIH0KLQotICBpbnQgb3JnX3dpZHRoLCBvcmdfaGVpZ2h0Owot
ICBpbnQgcmVjX3dpZHRoLCByZWNfaGVpZ2h0OwotICBib29sIG9yZ19yZXNfYXZhaWwgPSBFeHRy
YWN0UmVzb2x1dGlvbkZyb21GaWxlbmFtZShhcmd2W2ZpbGVpbmRleF9vcmddLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3JnX3dpZHRoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3Jn
X2hlaWdodCk7Ci0gIGJvb2wgcmVjX3Jlc19hdmFpbCA9IEV4dHJhY3RSZXNvbHV0aW9uRnJvbUZp
bGVuYW1lKGFyZ3ZbZmlsZWluZGV4X3JlY10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZyZWNfd2lkdGgsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZWNfaGVpZ2h0KTsKLSAgaWYgKGlt
YWdlX3dpZHRoID09IDAgfHwgaW1hZ2VfaGVpZ2h0ID09IDApIHsKLSAgICBpZiAob3JnX3Jlc19h
dmFpbCkgewotICAgICAgaW1hZ2Vfd2lkdGggPSBvcmdfd2lkdGg7Ci0gICAgICBpbWFnZV9oZWln
aHQgPSBvcmdfaGVpZ2h0OwotICAgIH0gZWxzZSBpZiAocmVjX3Jlc19hdmFpbCkgewotICAgICAg
aW1hZ2Vfd2lkdGggPSByZWNfd2lkdGg7Ci0gICAgICBpbWFnZV9oZWlnaHQgPSByZWNfaGVpZ2h0
OwotICAgIH0gZWxzZSB7Ci0gICAgICBmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcgZGltZW5zaW9u
cy5cbiIpOwotICAgICAgUHJpbnRIZWxwKGFyZ3ZbMF0pOwotICAgIH0KLSAgfQotICBpZiAoZHN0
X3dpZHRoID09IDAgfHwgZHN0X2hlaWdodCA9PSAwKSB7Ci0gICAgaWYgKHJlY19yZXNfYXZhaWwp
IHsKLSAgICAgIGRzdF93aWR0aCA9IHJlY193aWR0aDsKLSAgICAgIGRzdF9oZWlnaHQgPSByZWNf
aGVpZ2h0OwotICAgIH0gZWxzZSB7Ci0gICAgICBkc3Rfd2lkdGggPSBBYnMoaW1hZ2Vfd2lkdGgp
OwotICAgICAgZHN0X2hlaWdodCA9IEFicyhpbWFnZV9oZWlnaHQpOwotICAgIH0KLSAgfQotfQot
Ci1zdGF0aWMgY29uc3QgaW50IGtUaWxlWCA9IDMyOwotc3RhdGljIGNvbnN0IGludCBrVGlsZVkg
PSAzMjsKLQotc3RhdGljIGludCBUaWxlQVJHQlNjYWxlKGNvbnN0IHVpbnQ4KiBzcmNfYXJnYiwg
aW50IHNyY19zdHJpZGVfYXJnYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjX3dp
ZHRoLCBpbnQgc3JjX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OCogZHN0
X2FyZ2IsIGludCBkc3Rfc3RyaWRlX2FyZ2IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGli
eXV2OjpGaWx0ZXJNb2RlIGZpbHRlcmluZykgewotICBmb3IgKGludCB5ID0gMDsgeSA8IGRzdF9o
ZWlnaHQ7IHkgKz0ga1RpbGVZKSB7Ci0gICAgZm9yIChpbnQgeCA9IDA7IHggPCBkc3Rfd2lkdGg7
IHggKz0ga1RpbGVYKSB7Ci0gICAgICBpbnQgY2xpcF93aWR0aCA9IGtUaWxlWDsKLSAgICAgIGlm
ICh4ICsgY2xpcF93aWR0aCA+IGRzdF93aWR0aCkgewotICAgICAgICBjbGlwX3dpZHRoID0gZHN0
X3dpZHRoIC0geDsKLSAgICAgIH0KLSAgICAgIGludCBjbGlwX2hlaWdodCA9IGtUaWxlWTsKLSAg
ICAgIGlmICh5ICsgY2xpcF9oZWlnaHQgPiBkc3RfaGVpZ2h0KSB7Ci0gICAgICAgIGNsaXBfaGVp
Z2h0ID0gZHN0X2hlaWdodCAtIHk7Ci0gICAgICB9Ci0gICAgICBpbnQgciA9IGxpYnl1djo6QVJH
QlNjYWxlQ2xpcChzcmNfYXJnYiwgc3JjX3N0cmlkZV9hcmdiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3JjX3dpZHRoLCBzcmNfaGVpZ2h0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZHN0X2FyZ2IsIGRzdF9zdHJpZGVfYXJnYiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF93aWR0aCwgZHN0X2hlaWdodCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsIHksIGNsaXBfd2lkdGgsIGNsaXBfaGVp
Z2h0LCBmaWx0ZXJpbmcpOwotICAgICAgaWYgKHIpIHsKLSAgICAgICAgcmV0dXJuIHI7Ci0gICAg
ICB9Ci0gICAgfQotICB9Ci0gIHJldHVybiAwOwotfQotCi1pbnQgbWFpbihpbnQgYXJnYywgY29u
c3QgY2hhciogYXJndltdKSB7Ci0gIFBhcnNlT3B0aW9ucyhhcmdjLCBhcmd2KTsKLQotICAvLyBP
cGVuIG9yaWdpbmFsIGZpbGUgKGZpcnN0IGZpbGUgYXJndW1lbnQpCi0gIEZJTEUqIGNvbnN0IGZp
bGVfb3JnID0gZm9wZW4oYXJndltmaWxlaW5kZXhfb3JnXSwgInJiIik7Ci0gIGlmIChmaWxlX29y
ZyA9PSBOVUxMKSB7Ci0gICAgZnByaW50ZihzdGRlcnIsICJDYW5ub3Qgb3BlbiAlc1xuIiwgYXJn
dltmaWxlaW5kZXhfb3JnXSk7Ci0gICAgZXhpdCgxKTsKLSAgfQotCi0gIC8vIE9wZW4gYWxsIGZp
bGVzIHRvIGNvbnZlcnQgdG8KLSAgRklMRSoqIGZpbGVfcmVjID0gbmV3IEZJTEUqIFtudW1fcmVj
XTsKLSAgbWVtc2V0KGZpbGVfcmVjLCAwLCBudW1fcmVjICogc2l6ZW9mKEZJTEUqKSk7IC8vIE5P
TElOVAotICBmb3IgKGludCBjdXJfcmVjID0gMDsgY3VyX3JlYyA8IG51bV9yZWM7ICsrY3VyX3Jl
YykgewotICAgIGZpbGVfcmVjW2N1cl9yZWNdID0gZm9wZW4oYXJndltmaWxlaW5kZXhfcmVjICsg
Y3VyX3JlY10sICJ3YiIpOwotICAgIGlmIChmaWxlX3JlY1tjdXJfcmVjXSA9PSBOVUxMKSB7Ci0g
ICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbm5vdCBvcGVuICVzXG4iLCBhcmd2W2ZpbGVpbmRleF9y
ZWMgKyBjdXJfcmVjXSk7Ci0gICAgICBmY2xvc2UoZmlsZV9vcmcpOwotICAgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBjdXJfcmVjOyArK2kpIHsKLSAgICAgICAgZmNsb3NlKGZpbGVfcmVjW2ldKTsK
LSAgICAgIH0KLSAgICAgIGRlbGV0ZVtdIGZpbGVfcmVjOwotICAgICAgZXhpdCgxKTsKLSAgICB9
Ci0gIH0KLQotICBib29sIG9yZ19pc195dXYgPSBzdHJzdHIoYXJndltmaWxlaW5kZXhfb3JnXSwg
Il9QNDIwLiIpICE9IE5VTEw7Ci0gIGJvb2wgb3JnX2lzX2FyZ2IgPSBzdHJzdHIoYXJndltmaWxl
aW5kZXhfb3JnXSwgIl9BUkdCLiIpICE9IE5VTEw7Ci0gIGlmICghb3JnX2lzX3l1diAmJiAhb3Jn
X2lzX2FyZ2IpIHsKLSAgICBmcHJpbnRmKHN0ZGVyciwgIk9yaWdpbmFsIGZvcm1hdCB1bmtub3du
ICVzXG4iLCBhcmd2W2ZpbGVpbmRleF9vcmddKTsKLSAgICBleGl0KDEpOwotICB9Ci0gIGludCBv
cmdfc2l6ZSA9IEFicyhpbWFnZV93aWR0aCkgKiBBYnMoaW1hZ2VfaGVpZ2h0KSAqIDQ7ICAvLyBB
UkdCCi0gIC8vIElucHV0IGlzIFlVVgotICBpZiAob3JnX2lzX3l1dikgewotICAgIGNvbnN0IGlu
dCB5X3NpemUgPSBBYnMoaW1hZ2Vfd2lkdGgpICogQWJzKGltYWdlX2hlaWdodCk7Ci0gICAgY29u
c3QgaW50IHV2X3NpemUgPSAoKEFicyhpbWFnZV93aWR0aCkgKyAxKSAvIDIpICoKLSAgICAgICAg
KChBYnMoaW1hZ2VfaGVpZ2h0KSArIDEpIC8gMik7Ci0gICAgb3JnX3NpemUgPSB5X3NpemUgKyAy
ICogdXZfc2l6ZTsgIC8vIFlVViBvcmlnaW5hbC4KLSAgfQotCi0gIGNvbnN0IGludCBkc3Rfc2l6
ZSA9IGRzdF93aWR0aCAqIGRzdF9oZWlnaHQgKiA0OyAgLy8gQVJHQiBzY2FsZWQKLSAgY29uc3Qg
aW50IHlfc2l6ZSA9IGRzdF93aWR0aCAqIGRzdF9oZWlnaHQ7Ci0gIGNvbnN0IGludCB1dl9zaXpl
ID0gKChkc3Rfd2lkdGggKyAxKSAvIDIpICogKChkc3RfaGVpZ2h0ICsgMSkgLyAyKTsKLSAgY29u
c3Qgc2l6ZV90IHRvdGFsX3NpemUgPSB5X3NpemUgKyAyICogdXZfc2l6ZTsKLSNpZiBkZWZpbmVk
KF9NU0NfVkVSKQotICBfZnNlZWtpNjQoZmlsZV9vcmcsCi0gICAgICAgICAgICBzdGF0aWNfY2Fz
dDxfX2ludDY0PihudW1fc2tpcF9vcmcpICoKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PF9faW50
NjQ+KG9yZ19zaXplKSwgU0VFS19TRVQpOwotI2Vsc2UKLSAgZnNlZWsoZmlsZV9vcmcsIG51bV9z
a2lwX29yZyAqIHRvdGFsX3NpemUsIFNFRUtfU0VUKTsKLSNlbmRpZgotCi0gIHVpbnQ4KiBjb25z
dCBjaF9vcmcgPSBuZXcgdWludDhbb3JnX3NpemVdOwotICB1aW50OCogY29uc3QgY2hfZHN0ID0g
bmV3IHVpbnQ4W2RzdF9zaXplXTsKLSAgdWludDgqIGNvbnN0IGNoX3JlYyA9IG5ldyB1aW50OFt0
b3RhbF9zaXplXTsKLSAgaWYgKGNoX29yZyA9PSBOVUxMIHx8IGNoX3JlYyA9PSBOVUxMKSB7Ci0g
ICAgZnByaW50ZihzdGRlcnIsICJObyBtZW1vcnkgYXZhaWxhYmxlXG4iKTsKLSAgICBmY2xvc2Uo
ZmlsZV9vcmcpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtX3JlYzsgKytpKSB7Ci0gICAg
ICBmY2xvc2UoZmlsZV9yZWNbaV0pOwotICAgIH0KLSAgICBkZWxldGVbXSBjaF9vcmc7Ci0gICAg
ZGVsZXRlW10gY2hfZHN0OwotICAgIGRlbGV0ZVtdIGNoX3JlYzsKLSAgICBkZWxldGVbXSBmaWxl
X3JlYzsKLSAgICBleGl0KDEpOwotICB9Ci0KLSAgaWYgKHZlcmJvc2UpIHsKLSAgICBwcmludGYo
IlNpemU6ICVkeCVkIHRvICVkeCVkXG4iLCBpbWFnZV93aWR0aCwgaW1hZ2VfaGVpZ2h0LAotICAg
ICAgICAgICBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQpOwotICB9Ci0KLSAgaW50IG51bWJlcl9vZl9m
cmFtZXM7Ci0gIGZvciAobnVtYmVyX29mX2ZyYW1lcyA9IDA7IDsgKytudW1iZXJfb2ZfZnJhbWVz
KSB7Ci0gICAgaWYgKG51bV9mcmFtZXMgJiYgbnVtYmVyX29mX2ZyYW1lcyA+PSBudW1fZnJhbWVz
KQotICAgICAgYnJlYWs7Ci0KLSAgICAvLyBMb2FkIG9yaWdpbmFsIFlVViBvciBBUkdCIGZyYW1l
LgotICAgIHNpemVfdCBieXRlc19vcmcgPSBmcmVhZChjaF9vcmcsIHNpemVvZih1aW50OCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4ob3JnX3NpemUp
LCBmaWxlX29yZyk7Ci0gICAgaWYgKGJ5dGVzX29yZyA8IHN0YXRpY19jYXN0PHNpemVfdD4ob3Jn
X3NpemUpKQotICAgICAgYnJlYWs7Ci0KLSAgICAvLyBUT0RPKGZiYXJjaGFyZCk6IEF0dGVudWF0
ZSBkb2VzbnQgbmVlZCB0byBrbm93IGRpbWVuc2lvbnMuCi0gICAgLy8gQVJHQiBhdHRlbnVhdGUg
ZnJhbWUKLSAgICBpZiAob3JnX2lzX2FyZ2IgJiYgYXR0ZW51YXRlKSB7Ci0gICAgICBsaWJ5dXY6
OkFSR0JBdHRlbnVhdGUoY2hfb3JnLCAwLCBjaF9vcmcsIDAsIG9yZ19zaXplIC8gNCwgMSk7Ci0g
ICAgfQotICAgIC8vIEFSR0IgdW5hdHRlbnVhdGUgZnJhbWUKLSAgICBpZiAob3JnX2lzX2FyZ2Ig
JiYgdW5hdHRlbnVhdGUpIHsKLSAgICAgIGxpYnl1djo6QVJHQlVuYXR0ZW51YXRlKGNoX29yZywg
MCwgY2hfb3JnLCAwLCBvcmdfc2l6ZSAvIDQsIDEpOwotICAgIH0KLQotICAgIGZvciAoaW50IGN1
cl9yZWMgPSAwOyBjdXJfcmVjIDwgbnVtX3JlYzsgKytjdXJfcmVjKSB7Ci0gICAgICAvLyBTY2Fs
ZSBZVVYgb3IgQVJHQiBmcmFtZS4KLSAgICAgIGlmIChvcmdfaXNfeXV2KSB7Ci0gICAgICAgIGlu
dCBzcmNfd2lkdGggPSBBYnMoaW1hZ2Vfd2lkdGgpOwotICAgICAgICBpbnQgc3JjX2hlaWdodCA9
IEFicyhpbWFnZV9oZWlnaHQpOwotICAgICAgICBpbnQgaGFsZl9zcmNfd2lkdGggPSAoc3JjX3dp
ZHRoICsgMSkgLyAyOwotICAgICAgICBpbnQgaGFsZl9zcmNfaGVpZ2h0ID0gKHNyY19oZWlnaHQg
KyAxKSAvIDI7Ci0gICAgICAgIGludCBoYWxmX2RzdF93aWR0aCA9IChkc3Rfd2lkdGggKyAxKSAv
IDI7Ci0gICAgICAgIGludCBoYWxmX2RzdF9oZWlnaHQgPSAoZHN0X2hlaWdodCArIDEpIC8gMjsK
LSAgICAgICAgSTQyMFNjYWxlKGNoX29yZywgc3JjX3dpZHRoLAotICAgICAgICAgICAgICAgICAg
Y2hfb3JnICsgc3JjX3dpZHRoICogc3JjX2hlaWdodCwgaGFsZl9zcmNfd2lkdGgsCi0gICAgICAg
ICAgICAgICAgICBjaF9vcmcgKyBzcmNfd2lkdGggKiBzcmNfaGVpZ2h0ICsKLSAgICAgICAgICAg
ICAgICAgICAgICBoYWxmX3NyY193aWR0aCAqIGhhbGZfc3JjX2hlaWdodCwgIGhhbGZfc3JjX3dp
ZHRoLAotICAgICAgICAgICAgICAgICAgaW1hZ2Vfd2lkdGgsIGltYWdlX2hlaWdodCwKLSAgICAg
ICAgICAgICAgICAgIGNoX3JlYywgZHN0X3dpZHRoLAotICAgICAgICAgICAgICAgICAgY2hfcmVj
ICsgZHN0X3dpZHRoICogZHN0X2hlaWdodCwgaGFsZl9kc3Rfd2lkdGgsCi0gICAgICAgICAgICAg
ICAgICBjaF9yZWMgKyBkc3Rfd2lkdGggKiBkc3RfaGVpZ2h0ICsKLSAgICAgICAgICAgICAgICAg
ICAgICBoYWxmX2RzdF93aWR0aCAqIGhhbGZfZHN0X2hlaWdodCwgIGhhbGZfZHN0X3dpZHRoLAot
ICAgICAgICAgICAgICAgICAgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAg
ICAgICAgIHN0YXRpY19jYXN0PGxpYnl1djo6RmlsdGVyTW9kZT4oZmlsdGVyKSk7Ci0gICAgICB9
IGVsc2UgewotICAgICAgICBUaWxlQVJHQlNjYWxlKGNoX29yZywgQWJzKGltYWdlX3dpZHRoKSAq
IDQsCi0gICAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfd2lkdGgsIGltYWdlX2hlaWdodCwKLSAg
ICAgICAgICAgICAgICAgICAgICBjaF9kc3QsIGRzdF93aWR0aCAqIDQsCi0gICAgICAgICAgICAg
ICAgICAgICAgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PGxpYnl1djo6RmlsdGVyTW9kZT4oZmlsdGVyKSk7Ci0gICAgICB9Ci0gICAgICBi
b29sIHJlY19pc195dXYgPSBzdHJzdHIoYXJndltmaWxlaW5kZXhfcmVjICsgY3VyX3JlY10sICJf
UDQyMC4iKSAhPSBOVUxMOwotICAgICAgYm9vbCByZWNfaXNfYXJnYiA9Ci0gICAgICAgICAgc3Ry
c3RyKGFyZ3ZbZmlsZWluZGV4X3JlYyArIGN1cl9yZWNdLCAiX0FSR0IuIikgIT0gTlVMTDsKLSAg
ICAgIGlmICghcmVjX2lzX3l1diAmJiAhcmVjX2lzX2FyZ2IpIHsKLSAgICAgICAgZnByaW50Zihz
dGRlcnIsICJPdXRwdXQgZm9ybWF0IHVua25vd24gJXNcbiIsCi0gICAgICAgICAgICAgICAgYXJn
dltmaWxlaW5kZXhfcmVjICsgY3VyX3JlY10pOwotICAgICAgICBjb250aW51ZTsgIC8vIEFkdmFu
Y2UgdG8gbmV4dCBmaWxlLgotICAgICAgfQotCi0gICAgICAvLyBDb252ZXJ0IEFSR0IgdG8gWVVW
LgotICAgICAgaWYgKCFvcmdfaXNfeXV2ICYmIHJlY19pc195dXYpIHsKLSAgICAgICAgaW50IGhh
bGZfd2lkdGggPSAoZHN0X3dpZHRoICsgMSkgLyAyOwotICAgICAgICBpbnQgaGFsZl9oZWlnaHQg
PSAoZHN0X2hlaWdodCArIDEpIC8gMjsKLSAgICAgICAgbGlieXV2OjpBUkdCVG9JNDIwKGNoX2Rz
dCwgZHN0X3dpZHRoICogNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoX3JlYywgZHN0
X3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hfcmVjICsgZHN0X3dpZHRoICog
ZHN0X2hlaWdodCwgaGFsZl93aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoX3Jl
YyArIGRzdF93aWR0aCAqIGRzdF9oZWlnaHQgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGhhbGZfd2lkdGggKiBoYWxmX2hlaWdodCwgIGhhbGZfd2lkdGgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQpOwotICAgICAgfQotCi0gICAgICAv
LyBPdXRwdXQgWVVWIG9yIEFSR0IgZnJhbWUuCi0gICAgICBpZiAocmVjX2lzX3l1dikgewotICAg
ICAgICBzaXplX3QgYnl0ZXNfcmVjID0gZndyaXRlKGNoX3JlYywgc2l6ZW9mKHVpbnQ4KSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxzaXplX3Q+KHRvdGFs
X3NpemUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfcmVjW2N1cl9y
ZWNdKTsKLSAgICAgICAgaWYgKGJ5dGVzX3JlYyA8IHN0YXRpY19jYXN0PHNpemVfdD4odG90YWxf
c2l6ZSkpCi0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9IGVsc2UgewotICAgICAgICBzaXplX3Qg
Ynl0ZXNfcmVjID0gZndyaXRlKGNoX2RzdCwgc2l6ZW9mKHVpbnQ4KSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxzaXplX3Q+KGRzdF9zaXplKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3JlY1tjdXJfcmVjXSk7Ci0gICAgICAg
IGlmIChieXRlc19yZWMgPCBzdGF0aWNfY2FzdDxzaXplX3Q+KGRzdF9zaXplKSkKLSAgICAgICAg
ICBicmVhazsKLSAgICAgIH0KLSAgICAgIGlmICh2ZXJib3NlKSB7Ci0gICAgICAgIHByaW50Zigi
JTVkIiwgbnVtYmVyX29mX2ZyYW1lcyk7Ci0gICAgICB9Ci0gICAgICBpZiAodmVyYm9zZSkgewot
ICAgICAgICBwcmludGYoIlx0JXMiLCBhcmd2W2ZpbGVpbmRleF9yZWMgKyBjdXJfcmVjXSk7Ci0g
ICAgICAgIHByaW50ZigiXG4iKTsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLQotICBmY2xvc2UoZmls
ZV9vcmcpOwotICBmb3IgKGludCBjdXJfcmVjID0gMDsgY3VyX3JlYyA8IG51bV9yZWM7ICsrY3Vy
X3JlYykgewotICAgIGZjbG9zZShmaWxlX3JlY1tjdXJfcmVjXSk7Ci0gIH0KLSAgZGVsZXRlW10g
Y2hfb3JnOwotICBkZWxldGVbXSBjaF9kc3Q7Ci0gIGRlbGV0ZVtdIGNoX3JlYzsKLSAgZGVsZXRl
W10gZmlsZV9yZWM7Ci0gIHJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRpbC9jcHVpZC5jIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRpbC9j
cHVpZC5jCmluZGV4IDk3MTZmMTE1NzNkOWVmMjViN2JkM2JkOTg0OGU5Y2QxNmE1NDE4NTcuLmVj
MDIxN2E2NWI2ZmQyZmNiNWUwMjQyNDFkYTNjYTAxNWE3MzA0OGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3V0aWwvY3B1
aWQuYworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5
L2xpYnl1di91dGlsL2NwdWlkLmMKQEAgLTI1LDcgKzI1LDcgQEAgaW50IG1haW4oaW50IGFyZ2Ms
IGNvbnN0IGNoYXIqIGFyZ3ZbXSkgewogI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo
X194ODZfNjRfXykgfHwgXAogICAgIGRlZmluZWQoX01fSVg4NikgfHwgZGVmaW5lZChfTV9YNjQp
CiAgIGlmIChoYXNfeDg2KSB7Ci0gICAgdWludDMyIGZhbWlseSwgbW9kZWwsIGNwdV9pbmZvWzRd
OworICAgIGludCBmYW1pbHksIG1vZGVsLCBjcHVfaW5mb1s0XTsKICAgICAvLyBWZW5kb3IgSUQ6
CiAgICAgLy8gQXV0aGVudGljQU1EIEFNRCBwcm9jZXNzb3IKICAgICAvLyBDZW50YXVySGF1bHMg
Q2VudGF1ciBwcm9jZXNzb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3V0aWwvcHNuci5jYyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3V0aWwvcHNuci5jYwppbmRl
eCA1MmIwNGJkNTE2NmY0YmM5ODEyNTE2MTg3YjAxMGNmY2NmMWM0ZTQ4Li4yN2Y4NzZjMGI0YWVl
N2UyNzc1NTVjZmEzZDNlMzg2YmU2MmRiZjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL3BzbnIuY2MKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRp
bC9wc25yLmNjCkBAIC0yNyw3ICsyNyw3IEBAIHR5cGVkZWYgdW5zaWduZWQgX19pbnQ2NCB1aW50
NjQ7CiAjZWxzZSAgLy8gQ09NUElMRVJfTVNWQwogI2lmIGRlZmluZWQoX19MUDY0X18pICYmICFk
ZWZpbmVkKF9fT3BlbkJTRF9fKSAmJiAhZGVmaW5lZChfX0FQUExFX18pCiB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgdWludDY0OyAgLy8gTk9MSU5UCi0jZWxzZSAgLy8gZGVmaW5lZChfX0xQNjRfXykg
JiYgIWRlZmluZWQoX19PcGVuQlNEX18pICYmICFkZWZpbmVkKF9fQVBQTEVfXykKKyNlbHNlICAg
Ly8gZGVmaW5lZChfX0xQNjRfXykgJiYgIWRlZmluZWQoX19PcGVuQlNEX18pICYmICFkZWZpbmVk
KF9fQVBQTEVfXykKIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVpbnQ2NDsgIC8vIE5PTElO
VAogI2VuZGlmICAvLyBfX0xQNjRfXwogI2VuZGlmICAvLyBfTVNDX1ZFUgpAQCAtMzksODUgKzM5
LDgxIEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVpbnQ2NDsgIC8vIE5PTElOVAogICAg
ICFkZWZpbmVkKF9fYWFyY2g2NF9fKQogI2RlZmluZSBIQVNfU1VNU1FVQVJFRVJST1JfTkVPTgog
c3RhdGljIHVpbnQzMiBTdW1TcXVhcmVFcnJvcl9ORU9OKGNvbnN0IHVpbnQ4KiBzcmNfYSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2IsIGludCBj
b3VudCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBz
cmNfYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY291bnQpIHsKICAg
dm9sYXRpbGUgdWludDMyIHNzZTsKLSAgYXNtIHZvbGF0aWxlICgKLSAgICAidm1vdi51OCAgICBx
NywgIzAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInZtb3YudTggICAgcTksICMw
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJ2bW92LnU4ICAgIHE4LCAjMCAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAidm1vdi51OCAgICBxMTAsICMwICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCisgIGFzbSB2b2xhdGlsZSgKKyAgICAgICJ2bW92LnU4ICAgIHE3
LCAjMCAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2bW92LnU4ICAgIHE5LCAj
MCAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2bW92LnU4ICAgIHE4LCAjMCAg
ICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ2bW92LnU4ICAgIHExMCwgIzAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKIAotICAiMTogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKLSAgICAidmxkMS51OCAgICB7cTB9LCBbJTBdISAgICAgICAg
ICAgICAgICAgICAgXG4iCi0gICAgInZsZDEudTggICAge3ExfSwgWyUxXSEgICAgICAgICAgICAg
ICAgICAgIFxuIgotICAgICJ2c3VibC51OCAgIHEyLCBkMCwgZDIgICAgICAgICAgICAgICAgICAg
ICBcbiIKLSAgICAidnN1YmwudTggICBxMywgZDEsIGQzICAgICAgICAgICAgICAgICAgICAgXG4i
Ci0gICAgInZtbGFsLnMxNiAgcTcsIGQ0LCBkNCAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJ2bWxhbC5zMTYgIHE4LCBkNiwgZDYgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAidm1s
YWwuczE2ICBxOCwgZDUsIGQ1ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInZtbGFsLnMx
NiAgcTEwLCBkNywgZDcgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdWJzICAgICAgICUy
LCAlMiwgIzE2ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAiYmhpICAgICAgICAxYiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAiMTogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAidmxkMS51OCAgICB7cTB9LCBbJTBdISAg
ICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAidmxkMS51OCAgICB7cTF9LCBbJTFdISAgICAg
ICAgICAgICAgICAgICAgXG4iCisgICAgICAidnN1YmwudTggICBxMiwgZDAsIGQyICAgICAgICAg
ICAgICAgICAgICAgXG4iCisgICAgICAidnN1YmwudTggICBxMywgZDEsIGQzICAgICAgICAgICAg
ICAgICAgICAgXG4iCisgICAgICAidm1sYWwuczE2ICBxNywgZDQsIGQ0ICAgICAgICAgICAgICAg
ICAgICAgXG4iCisgICAgICAidm1sYWwuczE2ICBxOCwgZDYsIGQ2ICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAidm1sYWwuczE2ICBxOCwgZDUsIGQ1ICAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAidm1sYWwuczE2ICBxMTAsIGQ3LCBkNyAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAic3VicyAgICAgICAlMiwgJTIsICMxNiAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAiYmhpICAgICAgICAxYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAKLSAg
ICAidmFkZC51MzIgICBxNywgcTcsIHE4ICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInZh
ZGQudTMyICAgcTksIHE5LCBxMTAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJ2YWRkLnUz
MiAgIHExMCwgcTcsIHE5ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAidnBhZGRsLnUzMiBx
MSwgcTEwICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInZhZGQudTY0ICAgZDAsIGQy
LCBkMyAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJ2bW92LjMyICAgICUzLCBkMFswXSAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICA6ICIrciIoc3JjX2EpLAotICAgICAgIityIihz
cmNfYiksCi0gICAgICAiK3IiKGNvdW50KSwKLSAgICAgICI9ciIoc3NlKQotICAgIDoKLSAgICA6
ICJtZW1vcnkiLCAiY2MiLCAicTAiLCAicTEiLCAicTIiLCAicTMiLCAicTciLCAicTgiLCAicTki
LCAicTEwIik7CisgICAgICAidmFkZC51MzIgICBxNywgcTcsIHE4ICAgICAgICAgICAgICAgICAg
ICAgXG4iCisgICAgICAidmFkZC51MzIgICBxOSwgcTksIHExMCAgICAgICAgICAgICAgICAgICAg
XG4iCisgICAgICAidmFkZC51MzIgICBxMTAsIHE3LCBxOSAgICAgICAgICAgICAgICAgICAgXG4i
CisgICAgICAidnBhZGRsLnUzMiBxMSwgcTEwICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisg
ICAgICAidmFkZC51NjQgICBkMCwgZDIsIGQzICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAg
ICAidm1vdi4zMiAgICAlMywgZDBbMF0gICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICA6
ICIrciIoc3JjX2EpLCAiK3IiKHNyY19iKSwgIityIihjb3VudCksICI9ciIoc3NlKQorICAgICAg
OgorICAgICAgOiAibWVtb3J5IiwgImNjIiwgInEwIiwgInExIiwgInEyIiwgInEzIiwgInE3Iiwg
InE4IiwgInE5IiwgInExMCIpOwogICByZXR1cm4gc3NlOwogfQogI2VsaWYgIWRlZmluZWQoTElC
WVVWX0RJU0FCTEVfTkVPTikgJiYgZGVmaW5lZChfX2FhcmNoNjRfXykKICNkZWZpbmUgSEFTX1NV
TVNRVUFSRUVSUk9SX05FT04KIHN0YXRpYyB1aW50MzIgU3VtU3F1YXJlRXJyb3JfTkVPTihjb25z
dCB1aW50OCogc3JjX2EsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDgqIHNyY19iLCBpbnQgY291bnQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1aW50OCogc3JjX2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGNvdW50KSB7CiAgIHZvbGF0aWxlIHVpbnQzMiBzc2U7Ci0gIGFzbSB2b2xhdGlsZSAo
Ci0gICAgImVvciAgICAgICAgdjE2LjE2YiwgdjE2LjE2YiwgdjE2LjE2YiAgICAgIFxuIgotICAg
ICJlb3IgICAgICAgIHYxOC4xNmIsIHYxOC4xNmIsIHYxOC4xNmIgICAgICBcbiIKLSAgICAiZW9y
ICAgICAgICB2MTcuMTZiLCB2MTcuMTZiLCB2MTcuMTZiICAgICAgXG4iCi0gICAgImVvciAgICAg
ICAgdjE5LjE2YiwgdjE5LjE2YiwgdjE5LjE2YiAgICAgIFxuIgorICBhc20gdm9sYXRpbGUoCisg
ICAgICAiZW9yICAgICAgICB2MTYuMTZiLCB2MTYuMTZiLCB2MTYuMTZiICAgICAgXG4iCisgICAg
ICAiZW9yICAgICAgICB2MTguMTZiLCB2MTguMTZiLCB2MTguMTZiICAgICAgXG4iCisgICAgICAi
ZW9yICAgICAgICB2MTcuMTZiLCB2MTcuMTZiLCB2MTcuMTZiICAgICAgXG4iCisgICAgICAiZW9y
ICAgICAgICB2MTkuMTZiLCB2MTkuMTZiLCB2MTkuMTZiICAgICAgXG4iCiAKLSAgIjE6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgImxkMSAgICAgICAg
e3YwLjE2Yn0sIFslMF0sICMxNiAgICAgICAgICAgIFxuIgotICAgICJsZDEgICAgICAgIHt2MS4x
NmJ9LCBbJTFdLCAjMTYgICAgICAgICAgICBcbiIKLSAgICAic3VicyAgICAgICAldzIsICV3Miwg
IzE2ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInVzdWJsICAgICAgdjIuOGgsIHYwLjhiLCB2
MS44YiAgICAgICAgICAgIFxuIgotICAgICJ1c3VibDIgICAgIHYzLjhoLCB2MC4xNmIsIHYxLjE2
YiAgICAgICAgICBcbiIKLSAgICAic21sYWwgICAgICB2MTYuNHMsIHYyLjRoLCB2Mi40aCAgICAg
ICAgICAgXG4iCi0gICAgInNtbGFsICAgICAgdjE3LjRzLCB2My40aCwgdjMuNGggICAgICAgICAg
IFxuIgotICAgICJzbWxhbDIgICAgIHYxOC40cywgdjIuOGgsIHYyLjhoICAgICAgICAgICBcbiIK
LSAgICAic21sYWwyICAgICB2MTkuNHMsIHYzLjhoLCB2My44aCAgICAgICAgICAgXG4iCi0gICAg
ImIuZ3QgICAgICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIjE6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImxkMSAg
ICAgICAge3YwLjE2Yn0sIFslMF0sICMxNiAgICAgICAgICAgIFxuIgorICAgICAgImxkMSAgICAg
ICAge3YxLjE2Yn0sIFslMV0sICMxNiAgICAgICAgICAgIFxuIgorICAgICAgInN1YnMgICAgICAg
JXcyLCAldzIsICMxNiAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInVzdWJsICAgICAgdjIu
OGgsIHYwLjhiLCB2MS44YiAgICAgICAgICAgIFxuIgorICAgICAgInVzdWJsMiAgICAgdjMuOGgs
IHYwLjE2YiwgdjEuMTZiICAgICAgICAgIFxuIgorICAgICAgInNtbGFsICAgICAgdjE2LjRzLCB2
Mi40aCwgdjIuNGggICAgICAgICAgIFxuIgorICAgICAgInNtbGFsICAgICAgdjE3LjRzLCB2My40
aCwgdjMuNGggICAgICAgICAgIFxuIgorICAgICAgInNtbGFsMiAgICAgdjE4LjRzLCB2Mi44aCwg
djIuOGggICAgICAgICAgIFxuIgorICAgICAgInNtbGFsMiAgICAgdjE5LjRzLCB2My44aCwgdjMu
OGggICAgICAgICAgIFxuIgorICAgICAgImIuZ3QgICAgICAgMWIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgogCi0gICAgImFkZCAgICAgICAgdjE2LjRzLCB2MTYuNHMsIHYxNy40cyAg
ICAgICAgIFxuIgotICAgICJhZGQgICAgICAgIHYxOC40cywgdjE4LjRzLCB2MTkuNHMgICAgICAg
ICBcbiIKLSAgICAiYWRkICAgICAgICB2MTkuNHMsIHYxNi40cywgdjE4LjRzICAgICAgICAgXG4i
Ci0gICAgImFkZHYgICAgICAgczAsIHYxOS40cyAgICAgICAgICAgICAgICAgICAgIFxuIgotICAg
ICJmbW92ICAgICAgICV3MywgczAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICA6ICIr
ciIoc3JjX2EpLAotICAgICAgIityIihzcmNfYiksCi0gICAgICAiK3IiKGNvdW50KSwKLSAgICAg
ICI9ciIoc3NlKQotICAgIDoKLSAgICA6ICJjYyIsICJ2MCIsICJ2MSIsICJ2MiIsICJ2MyIsICJ2
MTYiLCAidjE3IiwgInYxOCIsICJ2MTkiKTsKKyAgICAgICJhZGQgICAgICAgIHYxNi40cywgdjE2
LjRzLCB2MTcuNHMgICAgICAgICBcbiIKKyAgICAgICJhZGQgICAgICAgIHYxOC40cywgdjE4LjRz
LCB2MTkuNHMgICAgICAgICBcbiIKKyAgICAgICJhZGQgICAgICAgIHYxOS40cywgdjE2LjRzLCB2
MTguNHMgICAgICAgICBcbiIKKyAgICAgICJhZGR2ICAgICAgIHMwLCB2MTkuNHMgICAgICAgICAg
ICAgICAgICAgICBcbiIKKyAgICAgICJmbW92ICAgICAgICV3MywgczAgICAgICAgICAgICAgICAg
ICAgICAgICBcbiIKKyAgICAgIDogIityIihzcmNfYSksICIrciIoc3JjX2IpLCAiK3IiKGNvdW50
KSwgIj1yIihzc2UpCisgICAgICA6CisgICAgICA6ICJjYyIsICJ2MCIsICJ2MSIsICJ2MiIsICJ2
MyIsICJ2MTYiLCAidjE3IiwgInYxOCIsICJ2MTkiKTsKICAgcmV0dXJuIHNzZTsKIH0KICNlbGlm
ICFkZWZpbmVkKExJQllVVl9ESVNBQkxFX1g4NikgJiYgZGVmaW5lZChfTV9JWDg2KSAmJiBkZWZp
bmVkKF9NU0NfVkVSKQogI2RlZmluZSBIQVNfU1VNU1FVQVJFRVJST1JfU1NFMgotX19kZWNsc3Bl
YyhuYWtlZCkKLXN0YXRpYyB1aW50MzIgU3VtU3F1YXJlRXJyb3JfU1NFMihjb25zdCB1aW50OCog
LypzcmNfYSovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiAvKnNyY19iKi8sIGludCAvKmNvdW50Ki8pIHsKK19fZGVjbHNwZWMobmFrZWQpIHN0YXRpYyB1
aW50MzIgU3VtU3F1YXJlRXJyb3JfU1NFMihjb25zdCB1aW50OCogLypzcmNfYSovLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4
KiAvKnNyY19iKi8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IC8qY291bnQqLykgewogICBfX2FzbSB7Ci0gICAgbW92ICAgICAgICBlYXgs
IFtlc3AgKyA0XSAgICAvLyBzcmNfYQotICAgIG1vdiAgICAgICAgZWR4LCBbZXNwICsgOF0gICAg
Ly8gc3JjX2IKLSAgICBtb3YgICAgICAgIGVjeCwgW2VzcCArIDEyXSAgIC8vIGNvdW50CisgICAg
bW92ICAgICAgICBlYXgsIFtlc3AgKyA0XSAgLy8gc3JjX2EKKyAgICBtb3YgICAgICAgIGVkeCwg
W2VzcCArIDhdICAvLyBzcmNfYgorICAgIG1vdiAgICAgICAgZWN4LCBbZXNwICsgMTJdICAvLyBj
b3VudAogICAgIHB4b3IgICAgICAgeG1tMCwgeG1tMAogICAgIHB4b3IgICAgICAgeG1tNSwgeG1t
NQogICAgIHN1YiAgICAgICAgZWR4LCBlYXgKQEAgLTE1MSw0NyArMTQ3LDQ5IEBAIHN0YXRpYyB1
aW50MzIgU3VtU3F1YXJlRXJyb3JfU1NFMihjb25zdCB1aW50OCogLypzcmNfYSovLAogI2VsaWYg
IWRlZmluZWQoTElCWVVWX0RJU0FCTEVfWDg2KSAmJiAoZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk
ZWZpbmVkKF9faTM4Nl9fKSkKICNkZWZpbmUgSEFTX1NVTVNRVUFSRUVSUk9SX1NTRTIKIHN0YXRp
YyB1aW50MzIgU3VtU3F1YXJlRXJyb3JfU1NFMihjb25zdCB1aW50OCogc3JjX2EsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHNyY19iLCBpbnQgY291bnQp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvdW50KSB7CiAgIHVpbnQz
MiBzc2U7Ci0gIGFzbSB2b2xhdGlsZSAoICAvLyBOT0xJTlQKLSAgICAicHhvciAgICAgICUleG1t
MCwlJXhtbTAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB4b3IgICAgICAlJXhtbTUsJSV4
bW01ICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJzdWIgICAgICAgJTAsJTEgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcbiIKKyAgYXNtIHZvbGF0aWxlKCAgLy8gTk9MSU5UCisgICAgICAi
cHhvciAgICAgICUleG1tMCwlJXhtbTAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAicHhv
ciAgICAgICUleG1tNSwlJXhtbTUgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICAic3ViICAg
ICAgICUwLCUxICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCiAKLSAgIjE6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxdSAgICAoJTAp
LCUleG1tMSAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJtb3ZkcXUgICAgKCUwLCUxLDEp
LCUleG1tMiAgICAgICAgICAgICAgICBcbiIKLSAgICAibGVhICAgICAgIDB4MTAoJTApLCUwICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0gICAgIm1vdmRxdSAgICAlJXhtbTEsJSV4bW0zICAgICAg
ICAgICAgICAgICAgIFxuIgotICAgICJwc3VidXNiICAgJSV4bW0yLCUleG1tMSAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAicHN1YnVzYiAgICUleG1tMywlJXhtbTIgICAgICAgICAgICAgICAg
ICAgXG4iCi0gICAgInBvciAgICAgICAlJXhtbTIsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJtb3ZkcXUgICAgJSV4bW0xLCUleG1tMiAgICAgICAgICAgICAgICAgICBcbiIKLSAg
ICAicHVucGNrbGJ3ICUleG1tNSwlJXhtbTEgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInB1
bnBja2hidyAlJXhtbTUsJSV4bW0yICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwbWFkZHdk
ICAgJSV4bW0xLCUleG1tMSAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAicG1hZGR3ZCAgICUl
eG1tMiwlJXhtbTIgICAgICAgICAgICAgICAgICAgXG4iCi0gICAgInBhZGRkICAgICAlJXhtbTEs
JSV4bW0wICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJwYWRkZCAgICAgJSV4bW0yLCUleG1t
MCAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAic3ViICAgICAgICQweDEwLCUyICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgImphICAgICAgICAxYiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFxuIgorICAgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFxuIgorICAgICAgIm1vdmRxdSAgICAoJTApLCUleG1tMSAgICAgICAgICAgICAgICAg
ICAgIFxuIgorICAgICAgIm1vdmRxdSAgICAoJTAsJTEsMSksJSV4bW0yICAgICAgICAgICAgICAg
IFxuIgorICAgICAgImxlYSAgICAgICAweDEwKCUwKSwlMCAgICAgICAgICAgICAgICAgICAgIFxu
IgorICAgICAgIm1vdmRxdSAgICAlJXhtbTEsJSV4bW0zICAgICAgICAgICAgICAgICAgIFxuIgor
ICAgICAgInBzdWJ1c2IgICAlJXhtbTIsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxuIgorICAg
ICAgInBzdWJ1c2IgICAlJXhtbTMsJSV4bW0yICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAg
InBvciAgICAgICAlJXhtbTIsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgIm1v
dmRxdSAgICAlJXhtbTEsJSV4bW0yICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBj
a2xidyAlJXhtbTUsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInB1bnBja2hi
dyAlJXhtbTUsJSV4bW0yICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInBtYWRkd2QgICAl
JXhtbTEsJSV4bW0xICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInBtYWRkd2QgICAlJXht
bTIsJSV4bW0yICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInBhZGRkICAgICAlJXhtbTEs
JSV4bW0wICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInBhZGRkICAgICAlJXhtbTIsJSV4
bW0wICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgInN1YiAgICAgICAkMHgxMCwlMiAgICAg
ICAgICAgICAgICAgICAgICAgIFxuIgorICAgICAgImphICAgICAgICAxYiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgogCi0gICAgInBzaHVmZCAgICAkMHhlZSwlJXhtbTAsJSV4bW0x
ICAgICAgICAgICAgIFxuIgotICAgICJwYWRkZCAgICAgJSV4bW0xLCUleG1tMCAgICAgICAgICAg
ICAgICAgICBcbiIKLSAgICAicHNodWZkICAgICQweDEsJSV4bW0wLCUleG1tMSAgICAgICAgICAg
ICAgXG4iCi0gICAgInBhZGRkICAgICAlJXhtbTEsJSV4bW0wICAgICAgICAgICAgICAgICAgIFxu
IgotICAgICJtb3ZkICAgICAgJSV4bW0wLCUzICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAg
ICAgICJwc2h1ZmQgICAgJDB4ZWUsJSV4bW0wLCUleG1tMSAgICAgICAgICAgICBcbiIKKyAgICAg
ICJwYWRkZCAgICAgJSV4bW0xLCUleG1tMCAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJw
c2h1ZmQgICAgJDB4MSwlJXhtbTAsJSV4bW0xICAgICAgICAgICAgICBcbiIKKyAgICAgICJwYWRk
ZCAgICAgJSV4bW0xLCUleG1tMCAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJtb3ZkICAg
ICAgJSV4bW0wLCUzICAgICAgICAgICAgICAgICAgICAgICBcbiIKIAotICA6ICIrciIoc3JjX2Ep
LCAgICAgIC8vICUwCi0gICAgIityIihzcmNfYiksICAgICAgLy8gJTEKLSAgICAiK3IiKGNvdW50
KSwgICAgICAvLyAlMgotICAgICI9ZyIoc3NlKSAgICAgICAgIC8vICUzCi0gIDoKLSAgOiAibWVt
b3J5IiwgImNjIgorICAgICAgOiAiK3IiKHNyY19hKSwgIC8vICUwCisgICAgICAgICIrciIoc3Jj
X2IpLCAgLy8gJTEKKyAgICAgICAgIityIihjb3VudCksICAvLyAlMgorICAgICAgICAiPWciKHNz
ZSkgICAgIC8vICUzCisgICAgICA6CisgICAgICA6ICJtZW1vcnkiLCAiY2MiCiAjaWYgZGVmaW5l
ZChfX1NTRTJfXykKLSAgICAsICJ4bW0wIiwgInhtbTEiLCAieG1tMiIsICJ4bW0zIiwgInhtbTUi
CisgICAgICAgICwKKyAgICAgICAgInhtbTAiLCAieG1tMSIsICJ4bW0yIiwgInhtbTMiLCAieG1t
NSIKICNlbmRpZgotICApOyAgLy8gTk9MSU5UCisgICAgICApOyAgLy8gTk9MSU5UCiAgIHJldHVy
biBzc2U7CiB9CiAjZW5kaWYgIC8vIExJQllVVl9ESVNBQkxFX1g4NiBldGMKQEAgLTE5OSwyMCAr
MTk3LDIyIEBAIHN0YXRpYyB1aW50MzIgU3VtU3F1YXJlRXJyb3JfU1NFMihjb25zdCB1aW50OCog
c3JjX2EsCiAjaWYgZGVmaW5lZChIQVNfU1VNU1FVQVJFRVJST1JfU1NFMikKICNpZiAoZGVmaW5l
ZChfX3BpY19fKSB8fCBkZWZpbmVkKF9fQVBQTEVfXykpICYmIGRlZmluZWQoX19pMzg2X18pCiBz
dGF0aWMgX19pbmxpbmUgdm9pZCBfX2NwdWlkKGludCBjcHVfaW5mb1s0XSwgaW50IGluZm9fdHlw
ZSkgewotICBhc20gdm9sYXRpbGUgKCAgLy8gTk9MSU5UCi0gICAgIm1vdiAlJWVieCwgJSVlZGkg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICJjcHVpZCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcbiIKLSAgICAieGNoZyAlJWVkaSwgJSVlYnggICAgICAgICAg
ICAgICAgICAgICAgICAgXG4iCi0gICAgOiAiPWEiKGNwdV9pbmZvWzBdKSwgIj1EIihjcHVfaW5m
b1sxXSksICI9YyIoY3B1X2luZm9bMl0pLCAiPWQiKGNwdV9pbmZvWzNdKQotICAgIDogImEiKGlu
Zm9fdHlwZSkpOworICBhc20gdm9sYXRpbGUoICAvLyBOT0xJTlQKKyAgICAgICJtb3YgJSVlYngs
ICUlZWRpICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJjcHVpZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgICJ4Y2hnICUlZWRpLCAlJWVi
eCAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKKyAgICAgIDogIj1hIihjcHVfaW5mb1swXSks
ICI9RCIoY3B1X2luZm9bMV0pLCAiPWMiKGNwdV9pbmZvWzJdKSwKKyAgICAgICAgIj1kIihjcHVf
aW5mb1szXSkKKyAgICAgIDogImEiKGluZm9fdHlwZSkpOwogfQogLy8gRm9yIGdjYy9jbGFuZyBi
dXQgbm90IGNsYW5nY2wuCi0jZWxpZiAoZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4
Nl82NF9fKSkgJiYgIWRlZmluZWQoX01TQ19WRVIpCisjZWxpZiAhZGVmaW5lZChfTVNDX1ZFUikg
JiYgKGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykpCiBzdGF0aWMgX19p
bmxpbmUgdm9pZCBfX2NwdWlkKGludCBjcHVfaW5mb1s0XSwgaW50IGluZm9fdHlwZSkgewotICBh
c20gdm9sYXRpbGUgKCAgLy8gTk9MSU5UCi0gICAgImNwdWlkICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFxuIgotICAgIDogIj1hIihjcHVfaW5mb1swXSksICI9YiIoY3B1X2lu
Zm9bMV0pLCAiPWMiKGNwdV9pbmZvWzJdKSwgIj1kIihjcHVfaW5mb1szXSkKLSAgICA6ICJhIihp
bmZvX3R5cGUpKTsKKyAgYXNtIHZvbGF0aWxlKCAgLy8gTk9MSU5UCisgICAgICAiY3B1aWQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgICA6ICI9YSIoY3B1X2lu
Zm9bMF0pLCAiPWIiKGNwdV9pbmZvWzFdKSwgIj1jIihjcHVfaW5mb1syXSksCisgICAgICAgICI9
ZCIoY3B1X2luZm9bM10pCisgICAgICA6ICJhIihpbmZvX3R5cGUpKTsKIH0KICNlbmRpZgogCkBA
IC0yMjksNyArMjI5LDggQEAgc3RhdGljIGludCBDcHVIYXNTU0UyKCkgewogI2VuZGlmICAvLyBI
QVNfU1VNU1FVQVJFRVJST1JfU1NFMgogCiBzdGF0aWMgdWludDMyIFN1bVNxdWFyZUVycm9yX0Mo
Y29uc3QgdWludDgqIHNyY19hLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4KiBzcmNfYiwgaW50IGNvdW50KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgdWludDgqIHNyY19iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBjb3VudCkgewogICB1aW50MzIgc3NlID0gMHU7CiAgIGZvciAoaW50IHggPSAwOyB4IDwgY291
bnQ7ICsreCkgewogICAgIGludCBkaWZmID0gc3JjX2FbeF0gLSBzcmNfYlt4XTsKQEAgLTIzOSw5
ICsyNDAsMTAgQEAgc3RhdGljIHVpbnQzMiBTdW1TcXVhcmVFcnJvcl9DKGNvbnN0IHVpbnQ4KiBz
cmNfYSwKIH0KIAogZG91YmxlIENvbXB1dGVTdW1TcXVhcmVFcnJvcihjb25zdCB1aW50OCogc3Jj
X2EsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiBzcmNfYiwgaW50
IGNvdW50KSB7Ci0gIHVpbnQzMiAoKlN1bVNxdWFyZUVycm9yKShjb25zdCB1aW50OCogc3JjX2Es
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogc3JjX2IsIGludCBjb3Vu
dCkgPSBTdW1TcXVhcmVFcnJvcl9DOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1aW50OCogc3JjX2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb3VudCkg
eworICB1aW50MzIgKCpTdW1TcXVhcmVFcnJvcikoY29uc3QgdWludDgqIHNyY19hLCBjb25zdCB1
aW50OCogc3JjX2IsIGludCBjb3VudCkgPQorICAgICAgU3VtU3F1YXJlRXJyb3JfQzsKICNpZiBk
ZWZpbmVkKEhBU19TVU1TUVVBUkVFUlJPUl9ORU9OKQogICBTdW1TcXVhcmVFcnJvciA9IFN1bVNx
dWFyZUVycm9yX05FT047CiAjZW5kaWYKQEAgLTI1Myw3ICsyNTUsNyBAQCBkb3VibGUgQ29tcHV0
ZVN1bVNxdWFyZUVycm9yKGNvbnN0IHVpbnQ4KiBzcmNfYSwKICAgY29uc3QgaW50IGtCbG9ja1Np
emUgPSAxIDw8IDE1OwogICB1aW50NjQgc3NlID0gMDsKICNpZmRlZiBfT1BFTk1QCi0jcHJhZ21h
IG9tcCBwYXJhbGxlbCBmb3IgcmVkdWN0aW9uKCs6IHNzZSkKKyNwcmFnbWEgb21wIHBhcmFsbGVs
IGZvciByZWR1Y3Rpb24oKyA6IHNzZSkKICNlbmRpZgogICBmb3IgKGludCBpID0gMDsgaSA8IChj
b3VudCAtIChrQmxvY2tTaXplIC0gMSkpOyBpICs9IGtCbG9ja1NpemUpIHsKICAgICBzc2UgKz0g
U3VtU3F1YXJlRXJyb3Ioc3JjX2EgKyBpLCBzcmNfYiArIGksIGtCbG9ja1NpemUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5
dXYvdXRpbC9wc25yX21haW4uY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL3BzbnJfbWFpbi5jYwppbmRleCAwNTE4YWI4NGUwNjc4
Y2VhMDVmZTQyYjgyM2E1NjI3MzEwYTg1NWJlLi40ZDkzMGJlNGFlZGZjMDkwZDFjMzAyZjM1YjI2
YzNjMjVjODljYTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL3BzbnJfbWFpbi5jYworKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL3BzbnJfbWFp
bi5jYwpAQCAtNzEsOCArNzEsOCBAQCBib29sIEV4dHJhY3RSZXNvbHV0aW9uRnJvbUZpbGVuYW1l
KGNvbnN0IGNoYXIqIG5hbWUsCiAgIC8vIElzb2xhdGUgdGhlIC53aWR0aF9oZWlnaHQuIHNlY3Rp
b24gb2YgdGhlIGZpbGVuYW1lIGJ5IHNlYXJjaGluZyBmb3IgYQogICAvLyBkb3Qgb3IgdW5kZXJz
Y29yZSBmb2xsb3dlZCBieSBhIGRpZ2l0LgogICBmb3IgKGludCBpID0gMDsgbmFtZVtpXTsgKytp
KSB7Ci0gICAgaWYgKChuYW1lW2ldID09ICcuJyB8fCBuYW1lW2ldID09ICdfJykgJiYKLSAgICAg
ICAgbmFtZVtpICsgMV0gPj0gJzAnICYmIG5hbWVbaSArIDFdIDw9ICc5JykgeworICAgIGlmICgo
bmFtZVtpXSA9PSAnLicgfHwgbmFtZVtpXSA9PSAnXycpICYmIG5hbWVbaSArIDFdID49ICcwJyAm
JgorICAgICAgICBuYW1lW2kgKyAxXSA8PSAnOScpIHsKICAgICAgIGludCBuID0gc3NjYW5mKG5h
bWUgKyBpICsgMSwgIiVkeCVkIiwgd2lkdGhfcHRyLCBoZWlnaHRfcHRyKTsgIC8vIE5PTElOVAog
ICAgICAgaWYgKDIgPT0gbikgewogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTg4LDcgKzg4LDcg
QEAgYm9vbCBFeHRyYWN0UmVzb2x1dGlvbkZyb21GaWxlbmFtZShjb25zdCBjaGFyKiBuYW1lLAog
ICAgIHJldHVybiBmYWxzZTsKICAgfQogICBmc2VlayhmaWxlX29yZywgMCwgU0VFS19FTkQpOwot
ICBzaXplX3QgdG90YWxfc2l6ZSAgPSBmdGVsbChmaWxlX29yZyk7CisgIHNpemVfdCB0b3RhbF9z
aXplID0gZnRlbGwoZmlsZV9vcmcpOwogICBmc2VlayhmaWxlX29yZywgMCwgU0VFS19TRVQpOwog
ICB1aW50OCogY29uc3QgY2hfb3JnID0gbmV3IHVpbnQ4W3RvdGFsX3NpemVdOwogICBtZW1zZXQo
Y2hfb3JnLCAwLCB0b3RhbF9zaXplKTsKQEAgLTEwOSw4ICsxMDksMTAgQEAgYm9vbCBFeHRyYWN0
UmVzb2x1dGlvbkZyb21GaWxlbmFtZShjb25zdCBjaGFyKiBuYW1lLAogLy8gVGhpcyBjYW4gYmUg
dXNlZnVsIHdoZW4gY29tcGFyaW5nIGNvZGVjcyB0aGF0IGFyZSBpbmNvbnNpc3RhbnQgYWJvdXQg
WQogdWludDggU2NhbGVZKHVpbnQ4IHkpIHsKICAgaW50IG55ID0gKHkgLSAxNikgKiAyNTYgLyAy
MjQ7Ci0gIGlmIChueSA8IDApIG55ID0gMDsKLSAgaWYgKG55ID4gMjU1KSBueSA9IDI1NTsKKyAg
aWYgKG55IDwgMCkKKyAgICBueSA9IDA7CisgIGlmIChueSA+IDI1NSkKKyAgICBueSA9IDI1NTsK
ICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQ4PihueSk7CiB9CiAKQEAgLTExOSwxNiArMTIxLDE4
IEBAIGRvdWJsZSBHZXRNU0UoZG91YmxlIHNzZSwgZG91YmxlIHNpemUpIHsKICAgcmV0dXJuIHNz
ZSAvIHNpemU7CiB9CiAKLXZvaWQgUHJpbnRIZWxwKGNvbnN0IGNoYXIgKiBwcm9ncmFtKSB7Cit2
b2lkIFByaW50SGVscChjb25zdCBjaGFyKiBwcm9ncmFtKSB7CiAgIHByaW50ZigiJXMgWy1vcHRp
b25zXSBvcmdfc2VxIHJlY19zZXEgW3JlY19zZXEyLi4gZXRjXVxuIiwgcHJvZ3JhbSk7CiAjaWZk
ZWYgSEFWRV9KUEVHCiAgIHByaW50ZigianBlZyBvciByYXcgWVVWIDQyMCBzdXBwb3J0ZWQuXG4i
KTsKICNlbmRpZgogICBwcmludGYoIm9wdGlvbnM6XG4iKTsKLSAgcHJpbnRmKCIgLXMgPHdpZHRo
PiA8aGVpZ2h0PiAuLi4uIHNwZWNpZnkgWVVWIHNpemUsIG1hbmRhdG9yeSBpZiBub25lIG9mIHRo
ZSAiCi0gICAgICAgICAic2VxdWVuY2VzIGhhdmUgdGhlXG4iKTsKLSAgcHJpbnRmKCIgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb24gZW1iZWRkZWQgaW4gdGhlaXIgZmlsZW5hbWUg
KGllLiAiCi0gICAgICAgICAibmFtZS4xOTIweDgwMF8yNEh6X1A0MjAueXV2KVxuIik7CisgIHBy
aW50ZigKKyAgICAgICIgLXMgPHdpZHRoPiA8aGVpZ2h0PiAuLi4uIHNwZWNpZnkgWVVWIHNpemUs
IG1hbmRhdG9yeSBpZiBub25lIG9mIHRoZSAiCisgICAgICAic2VxdWVuY2VzIGhhdmUgdGhlXG4i
KTsKKyAgcHJpbnRmKAorICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlv
biBlbWJlZGRlZCBpbiB0aGVpciBmaWxlbmFtZSAoaWUuICIKKyAgICAgICJuYW1lLjE5MjB4ODAw
XzI0SHpfUDQyMC55dXYpXG4iKTsKICAgcHJpbnRmKCIgLXBzbnIgLi4uLi4uLi4uLi4uLi4uLi4u
IGNvbXB1dGUgUFNOUiAoZGVmYXVsdClcbiIpOwogICBwcmludGYoIiAtc3NpbSAuLi4uLi4uLi4u
Li4uLi4uLi4gY29tcHV0ZSBTU0lNXG4iKTsKICAgcHJpbnRmKCIgLW1zZSAuLi4uLi4uLi4uLi4u
Li4uLi4uIGNvbXB1dGUgTVNFXG4iKTsKQEAgLTE0Niw3ICsxNTAsOCBAQCB2b2lkIFByaW50SGVs
cChjb25zdCBjaGFyICogcHJvZ3JhbSkgewogfQogCiB2b2lkIFBhcnNlT3B0aW9ucyhpbnQgYXJn
YywgY29uc3QgY2hhciogYXJndltdKSB7Ci0gIGlmIChhcmdjIDw9IDEpIFByaW50SGVscChhcmd2
WzBdKTsKKyAgaWYgKGFyZ2MgPD0gMSkKKyAgICBQcmludEhlbHAoYXJndlswXSk7CiAgIGZvciAo
aW50IGMgPSAxOyBjIDwgYXJnYzsgKytjKSB7CiAgICAgaWYgKCFzdHJjbXAoYXJndltjXSwgIi12
IikpIHsKICAgICAgIHZlcmJvc2UgPSB0cnVlOwpAQCAtMTY4LDE2ICsxNzMsMTYgQEAgdm9pZCBQ
YXJzZU9wdGlvbnMoaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkgewogICAgIH0gZWxzZSBp
ZiAoIXN0cmNtcChhcmd2W2NdLCAiLWgiKSB8fCAhc3RyY21wKGFyZ3ZbY10sICItaGVscCIpKSB7
CiAgICAgICBQcmludEhlbHAoYXJndlswXSk7CiAgICAgfSBlbHNlIGlmICghc3RyY21wKGFyZ3Zb
Y10sICItcyIpICYmIGMgKyAyIDwgYXJnYykgewotICAgICAgaW1hZ2Vfd2lkdGggPSBhdG9pKGFy
Z3ZbKytjXSk7ICAgIC8vIE5PTElOVAotICAgICAgaW1hZ2VfaGVpZ2h0ID0gYXRvaShhcmd2Wysr
Y10pOyAgIC8vIE5PTElOVAorICAgICAgaW1hZ2Vfd2lkdGggPSBhdG9pKGFyZ3ZbKytjXSk7ICAg
Ly8gTk9MSU5UCisgICAgICBpbWFnZV9oZWlnaHQgPSBhdG9pKGFyZ3ZbKytjXSk7ICAvLyBOT0xJ
TlQKICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoYXJndltjXSwgIi1za2lwIikgJiYgYyArIDIgPCBh
cmdjKSB7Ci0gICAgICBudW1fc2tpcF9vcmcgPSBhdG9pKGFyZ3ZbKytjXSk7ICAgLy8gTk9MSU5U
Ci0gICAgICBudW1fc2tpcF9yZWMgPSBhdG9pKGFyZ3ZbKytjXSk7ICAgLy8gTk9MSU5UCisgICAg
ICBudW1fc2tpcF9vcmcgPSBhdG9pKGFyZ3ZbKytjXSk7ICAvLyBOT0xJTlQKKyAgICAgIG51bV9z
a2lwX3JlYyA9IGF0b2koYXJndlsrK2NdKTsgIC8vIE5PTElOVAogICAgIH0gZWxzZSBpZiAoIXN0
cmNtcChhcmd2W2NdLCAiLWZyYW1lcyIpICYmIGMgKyAxIDwgYXJnYykgewotICAgICAgbnVtX2Zy
YW1lcyA9IGF0b2koYXJndlsrK2NdKTsgICAgIC8vIE5PTElOVAorICAgICAgbnVtX2ZyYW1lcyA9
IGF0b2koYXJndlsrK2NdKTsgIC8vIE5PTElOVAogI2lmZGVmIF9PUEVOTVAKICAgICB9IGVsc2Ug
aWYgKCFzdHJjbXAoYXJndltjXSwgIi10IikgJiYgYyArIDEgPCBhcmdjKSB7Ci0gICAgICBudW1f
dGhyZWFkcyA9IGF0b2koYXJndlsrK2NdKTsgICAgLy8gTk9MSU5UCisgICAgICBudW1fdGhyZWFk
cyA9IGF0b2koYXJndlsrK2NdKTsgIC8vIE5PTElOVAogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChh
cmd2W2NdWzBdID09ICctJykgewogICAgICAgZnByaW50ZihzdGRlcnIsICJVbmtub3duIG9wdGlv
bi4gJXNcbiIsIGFyZ3ZbY10pOwpAQCAtMjA2LDExICsyMTEsOSBAQCB2b2lkIFBhcnNlT3B0aW9u
cyhpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKSB7CiAgICAgaW50IG9yZ193aWR0aCwgb3Jn
X2hlaWdodDsKICAgICBpbnQgcmVjX3dpZHRoLCByZWNfaGVpZ2h0OwogICAgIGJvb2wgb3JnX3Jl
c19hdmFpbCA9IEV4dHJhY3RSZXNvbHV0aW9uRnJvbUZpbGVuYW1lKGFyZ3ZbZmlsZWluZGV4X29y
Z10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJm9yZ193aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmb3JnX2hlaWdodCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9yZ193aWR0aCwgJm9yZ19oZWlnaHQpOwogICAg
IGJvb2wgcmVjX3Jlc19hdmFpbCA9IEV4dHJhY3RSZXNvbHV0aW9uRnJvbUZpbGVuYW1lKGFyZ3Zb
ZmlsZWluZGV4X3JlY10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJnJlY193aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVjX2hlaWdodCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlY193aWR0aCwgJnJlY19o
ZWlnaHQpOwogICAgIGlmIChvcmdfcmVzX2F2YWlsKSB7CiAgICAgICBpZiAocmVjX3Jlc19hdmFp
bCkgewogICAgICAgICBpZiAoKG9yZ193aWR0aCA9PSByZWNfd2lkdGgpICYmIChvcmdfaGVpZ2h0
ID09IHJlY19oZWlnaHQpKSB7CkBAIC0yMzQsMTEgKzIzNywxNSBAQCB2b2lkIFBhcnNlT3B0aW9u
cyhpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKSB7CiAgIH0KIH0KIAotYm9vbCBVcGRhdGVN
ZXRyaWNzKHVpbnQ4KiBjaF9vcmcsIHVpbnQ4KiBjaF9yZWMsCi0gICAgICAgICAgICAgICAgICAg
Y29uc3QgaW50IHlfc2l6ZSwgY29uc3QgaW50IHV2X3NpemUsIGNvbnN0IHNpemVfdCB0b3RhbF9z
aXplLAorYm9vbCBVcGRhdGVNZXRyaWNzKHVpbnQ4KiBjaF9vcmcsCisgICAgICAgICAgICAgICAg
ICAgdWludDgqIGNoX3JlYywKKyAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgeV9zaXplLAor
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCB1dl9zaXplLAorICAgICAgICAgICAgICAgICAg
IGNvbnN0IHNpemVfdCB0b3RhbF9zaXplLAogICAgICAgICAgICAgICAgICAgIGludCBudW1iZXJf
b2ZfZnJhbWVzLAogICAgICAgICAgICAgICAgICAgIG1ldHJpYyogY3VyX2Rpc3RvcnRpb25fcHNu
ciwKLSAgICAgICAgICAgICAgICAgICBtZXRyaWMqIGRpc3RvcnRlZF9mcmFtZSwgYm9vbCBkb19w
c25yKSB7CisgICAgICAgICAgICAgICAgICAgbWV0cmljKiBkaXN0b3J0ZWRfZnJhbWUsCisgICAg
ICAgICAgICAgICAgICAgYm9vbCBkb19wc25yKSB7CiAgIGNvbnN0IGludCB1dl9vZmZzZXQgPSAo
ZG9fc3dhcF91diA/IHV2X3NpemUgOiAwKTsKICAgY29uc3QgdWludDgqIGNvbnN0IHVfb3JnID0g
Y2hfb3JnICsgeV9zaXplICsgdXZfb2Zmc2V0OwogICBjb25zdCB1aW50OCogY29uc3QgdV9yZWMg
PSBjaF9yZWMgKyB5X3NpemU7CkBAIC0yNDcsMTEgKzI1NCwxMSBAQCBib29sIFVwZGF0ZU1ldHJp
Y3ModWludDgqIGNoX29yZywgdWludDgqIGNoX3JlYywKICAgaWYgKGRvX3BzbnIpIHsKICNpZmRl
ZiBIQVZFX0pQRUcKICAgICBkb3VibGUgeV9lcnIgPSBzdGF0aWNfY2FzdDxkb3VibGU+KAotICAg
ICAgbGlieXV2OjpDb21wdXRlU3VtU3F1YXJlRXJyb3IoY2hfb3JnLCBjaF9yZWMsIHlfc2l6ZSkp
OworICAgICAgICBsaWJ5dXY6OkNvbXB1dGVTdW1TcXVhcmVFcnJvcihjaF9vcmcsIGNoX3JlYywg
eV9zaXplKSk7CiAgICAgZG91YmxlIHVfZXJyID0gc3RhdGljX2Nhc3Q8ZG91YmxlPigKLSAgICAg
IGxpYnl1djo6Q29tcHV0ZVN1bVNxdWFyZUVycm9yKHVfb3JnLCB1X3JlYywgdXZfc2l6ZSkpOwor
ICAgICAgICBsaWJ5dXY6OkNvbXB1dGVTdW1TcXVhcmVFcnJvcih1X29yZywgdV9yZWMsIHV2X3Np
emUpKTsKICAgICBkb3VibGUgdl9lcnIgPSBzdGF0aWNfY2FzdDxkb3VibGU+KAotICAgICAgbGli
eXV2OjpDb21wdXRlU3VtU3F1YXJlRXJyb3Iodl9vcmcsIHZfcmVjLCB1dl9zaXplKSk7CisgICAg
ICAgIGxpYnl1djo6Q29tcHV0ZVN1bVNxdWFyZUVycm9yKHZfb3JnLCB2X3JlYywgdXZfc2l6ZSkp
OwogI2Vsc2UKICAgICBkb3VibGUgeV9lcnIgPSBDb21wdXRlU3VtU3F1YXJlRXJyb3IoY2hfb3Jn
LCBjaF9yZWMsIHlfc2l6ZSk7CiAgICAgZG91YmxlIHVfZXJyID0gQ29tcHV0ZVN1bVNxdWFyZUVy
cm9yKHVfb3JnLCB1X3JlYywgdXZfc2l6ZSk7CkBAIC0yNjUsMTcgKzI3MiwxNyBAQCBib29sIFVw
ZGF0ZU1ldHJpY3ModWludDgqIGNoX29yZywgdWludDgqIGNoX3JlYywKICAgICBkaXN0b3J0ZWRf
ZnJhbWUtPnkgPSBDb21wdXRlUFNOUih5X2Vyciwgc3RhdGljX2Nhc3Q8ZG91YmxlPih5X3NpemUp
KTsKICAgICBkaXN0b3J0ZWRfZnJhbWUtPnUgPSBDb21wdXRlUFNOUih1X2Vyciwgc3RhdGljX2Nh
c3Q8ZG91YmxlPih1dl9zaXplKSk7CiAgICAgZGlzdG9ydGVkX2ZyYW1lLT52ID0gQ29tcHV0ZVBT
TlIodl9lcnIsIHN0YXRpY19jYXN0PGRvdWJsZT4odXZfc2l6ZSkpOwotICAgIGRpc3RvcnRlZF9m
cmFtZS0+YWxsID0gQ29tcHV0ZVBTTlIodG90YWxfZXJyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPih0b3RhbF9zaXplKSk7CisgICAg
ZGlzdG9ydGVkX2ZyYW1lLT5hbGwgPQorICAgICAgICBDb21wdXRlUFNOUih0b3RhbF9lcnIsIHN0
YXRpY19jYXN0PGRvdWJsZT4odG90YWxfc2l6ZSkpOwogICB9IGVsc2UgewogICAgIGRpc3RvcnRl
ZF9mcmFtZS0+eSA9IENhbGNTU0lNKGNoX29yZywgY2hfcmVjLCBpbWFnZV93aWR0aCwgaW1hZ2Vf
aGVpZ2h0KTsKLSAgICBkaXN0b3J0ZWRfZnJhbWUtPnUgPSBDYWxjU1NJTSh1X29yZywgdV9yZWMs
IChpbWFnZV93aWR0aCArIDEpIC8gMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChpbWFnZV9oZWlnaHQgKyAxKSAvIDIpOwotICAgIGRpc3RvcnRlZF9mcmFtZS0+diA9IENhbGNT
U0lNKHZfb3JnLCB2X3JlYywgKGltYWdlX3dpZHRoICsgMSkgLyAyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKGltYWdlX2hlaWdodCArIDEpIC8gMik7CisgICAgZGlzdG9ydGVk
X2ZyYW1lLT51ID0KKyAgICAgICAgQ2FsY1NTSU0odV9vcmcsIHVfcmVjLCAoaW1hZ2Vfd2lkdGgg
KyAxKSAvIDIsIChpbWFnZV9oZWlnaHQgKyAxKSAvIDIpOworICAgIGRpc3RvcnRlZF9mcmFtZS0+
diA9CisgICAgICAgIENhbGNTU0lNKHZfb3JnLCB2X3JlYywgKGltYWdlX3dpZHRoICsgMSkgLyAy
LCAoaW1hZ2VfaGVpZ2h0ICsgMSkgLyAyKTsKICAgICBkaXN0b3J0ZWRfZnJhbWUtPmFsbCA9Ci0g
ICAgICAoZGlzdG9ydGVkX2ZyYW1lLT55ICsgZGlzdG9ydGVkX2ZyYW1lLT51ICsgZGlzdG9ydGVk
X2ZyYW1lLT52KQotICAgICAgICAvIHRvdGFsX3NpemU7CisgICAgICAgIChkaXN0b3J0ZWRfZnJh
bWUtPnkgKyBkaXN0b3J0ZWRfZnJhbWUtPnUgKyBkaXN0b3J0ZWRfZnJhbWUtPnYpIC8KKyAgICAg
ICAgdG90YWxfc2l6ZTsKICAgICBkaXN0b3J0ZWRfZnJhbWUtPnkgLz0geV9zaXplOwogICAgIGRp
c3RvcnRlZF9mcmFtZS0+dSAvPSB1dl9zaXplOwogICAgIGRpc3RvcnRlZF9mcmFtZS0+diAvPSB1
dl9zaXplOwpAQCAtMzMwLDggKzMzNyw4IEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFy
KiBhcmd2W10pIHsKICAgfQogCiAgIC8vIE9wZW4gYWxsIGZpbGVzIHRvIGNvbXBhcmUgdG8KLSAg
RklMRSoqIGZpbGVfcmVjID0gbmV3IEZJTEUqIFtudW1fcmVjXTsKLSAgbWVtc2V0KGZpbGVfcmVj
LCAwLCBudW1fcmVjICogc2l6ZW9mKEZJTEUqKSk7IC8vIE5PTElOVAorICBGSUxFKiogZmlsZV9y
ZWMgPSBuZXcgRklMRSpbbnVtX3JlY107CisgIG1lbXNldChmaWxlX3JlYywgMCwgbnVtX3JlYyAq
IHNpemVvZihGSUxFKikpOyAgLy8gTk9MSU5UCiAgIGZvciAoaW50IGN1cl9yZWMgPSAwOyBjdXJf
cmVjIDwgbnVtX3JlYzsgKytjdXJfcmVjKSB7CiAgICAgZmlsZV9yZWNbY3VyX3JlY10gPSBmb3Bl
bihhcmd2W2ZpbGVpbmRleF9yZWMgKyBjdXJfcmVjXSwgInJiIik7CiAgICAgaWYgKGZpbGVfcmVj
W2N1cl9yZWNdID09IE5VTEwpIHsKQEAgLTM0NywyMCArMzU0LDIxIEBAIGludCBtYWluKGludCBh
cmdjLCBjb25zdCBjaGFyKiBhcmd2W10pIHsKIAogICBjb25zdCBpbnQgeV9zaXplID0gaW1hZ2Vf
d2lkdGggKiBpbWFnZV9oZWlnaHQ7CiAgIGNvbnN0IGludCB1dl9zaXplID0gKChpbWFnZV93aWR0
aCArIDEpIC8gMikgKiAoKGltYWdlX2hlaWdodCArIDEpIC8gMik7Ci0gIGNvbnN0IHNpemVfdCB0
b3RhbF9zaXplID0geV9zaXplICsgMiAqIHV2X3NpemU7ICAgIC8vIE5PTElOVAorICBjb25zdCBz
aXplX3QgdG90YWxfc2l6ZSA9IHlfc2l6ZSArIDIgKiB1dl9zaXplOyAgLy8gTk9MSU5UCiAjaWYg
ZGVmaW5lZChfTVNDX1ZFUikKLSAgX2ZzZWVraTY0KGZpbGVfb3JnLAotICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8X19pbnQ2ND4obnVtX3NraXBfb3JnKSAqCi0gICAgICAgICAgICBzdGF0aWNfY2Fz
dDxfX2ludDY0Pih0b3RhbF9zaXplKSwgU0VFS19TRVQpOworICBfZnNlZWtpNjQoCisgICAgICBm
aWxlX29yZywKKyAgICAgIHN0YXRpY19jYXN0PF9faW50NjQ+KG51bV9za2lwX29yZykgKiBzdGF0
aWNfY2FzdDxfX2ludDY0Pih0b3RhbF9zaXplKSwKKyAgICAgIFNFRUtfU0VUKTsKICNlbHNlCiAg
IGZzZWVrKGZpbGVfb3JnLCBudW1fc2tpcF9vcmcgKiB0b3RhbF9zaXplLCBTRUVLX1NFVCk7CiAj
ZW5kaWYKICAgZm9yIChpbnQgY3VyX3JlYyA9IDA7IGN1cl9yZWMgPCBudW1fcmVjOyArK2N1cl9y
ZWMpIHsKICNpZiBkZWZpbmVkKF9NU0NfVkVSKQotICAgIF9mc2Vla2k2NChmaWxlX3JlY1tjdXJf
cmVjXSwKLSAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8X19pbnQ2ND4obnVtX3NraXBfcmVjKSAq
Ci0gICAgICAgICAgICAgIHN0YXRpY19jYXN0PF9faW50NjQ+KHRvdGFsX3NpemUpLAotICAgICAg
ICAgICAgICBTRUVLX1NFVCk7CisgICAgX2ZzZWVraTY0KAorICAgICAgICBmaWxlX3JlY1tjdXJf
cmVjXSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8X19pbnQ2ND4obnVtX3NraXBfcmVjKSAqIHN0YXRp
Y19jYXN0PF9faW50NjQ+KHRvdGFsX3NpemUpLAorICAgICAgICBTRUVLX1NFVCk7CiAjZWxzZQog
ICAgIGZzZWVrKGZpbGVfcmVjW2N1cl9yZWNdLCBudW1fc2tpcF9yZWMgKiB0b3RhbF9zaXplLCBT
RUVLX1NFVCk7CiAjZW5kaWYKQEAgLTQyMCw3ICs0MjgsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y29uc3QgY2hhciogYXJndltdKSB7CiAgIH0KIAogICBpbnQgbnVtYmVyX29mX2ZyYW1lczsKLSAg
Zm9yIChudW1iZXJfb2ZfZnJhbWVzID0gMDsgOyArK251bWJlcl9vZl9mcmFtZXMpIHsKKyAgZm9y
IChudW1iZXJfb2ZfZnJhbWVzID0gMDs7ICsrbnVtYmVyX29mX2ZyYW1lcykgewogICAgIGlmIChu
dW1fZnJhbWVzICYmIG51bWJlcl9vZl9mcmFtZXMgPj0gbnVtX2ZyYW1lcykKICAgICAgIGJyZWFr
OwogCkBAIC00MzIsMTcgKzQ0MCwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciog
YXJndltdKSB7CiAgICAgICBtZW1jcHkoY2hfanBlZywgY2hfb3JnLCBieXRlc19vcmcpOwogICAg
ICAgbWVtc2V0KGNoX29yZywgMCwgdG90YWxfc2l6ZSk7CiAKLSAgICAgIGlmICgwICE9IGxpYnl1
djo6TUpQR1RvSTQyMChjaF9qcGVnLCBieXRlc19vcmcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY2hfb3JnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlt
YWdlX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoX29yZyArIHlf
c2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2Vfd2lkdGggKyAx
KSAvIDIsCisgICAgICBpZiAoMCAhPSBsaWJ5dXY6Ok1KUEdUb0k0MjAoY2hfanBlZywgYnl0ZXNf
b3JnLCBjaF9vcmcsIGltYWdlX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNoX29yZyArIHlfc2l6ZSwgKGltYWdlX3dpZHRoICsgMSkgLyAyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNoX29yZyArIHlfc2l6ZSArIHV2X3NpemUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGltYWdlX3dpZHRoICsgMSkgLyAyLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlX3dpZHRoLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGltYWdlX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbWFnZV93aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbWFnZV9oZWlnaHQpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlt
YWdlX3dpZHRoICsgMSkgLyAyLCBpbWFnZV93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbWFnZV9oZWlnaHQsIGltYWdlX3dpZHRoLCBpbWFnZV9oZWlnaHQpKSB7CiAg
ICAgICAgIGRlbGV0ZVtdIGNoX2pwZWc7CiAgICAgICAgIGJyZWFrOwogICAgICAgfQpAQCAtNDUz
LDggKzQ1NSw4IEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pIHsKICAg
ICB9CiAKICAgICBmb3IgKGludCBjdXJfcmVjID0gMDsgY3VyX3JlYyA8IG51bV9yZWM7ICsrY3Vy
X3JlYykgewotICAgICAgc2l6ZV90IGJ5dGVzX3JlYyA9IGZyZWFkKGNoX3JlYywgc2l6ZW9mKHVp
bnQ4KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9zaXplLCBmaWxlX3Jl
Y1tjdXJfcmVjXSk7CisgICAgICBzaXplX3QgYnl0ZXNfcmVjID0KKyAgICAgICAgICBmcmVhZChj
aF9yZWMsIHNpemVvZih1aW50OCksIHRvdGFsX3NpemUsIGZpbGVfcmVjW2N1cl9yZWNdKTsKICAg
ICAgIGlmIChieXRlc19yZWMgPCB0b3RhbF9zaXplKSB7CiAjaWZkZWYgSEFWRV9KUEVHCiAgICAg
ICAgIC8vIFRyeSBwYXJzaW5nIGZpbGUgYXMgYSBqcGVnLgpAQCAtNDYyLDE3ICs0NjQsMTEgQEAg
aW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkgewogICAgICAgICBtZW1jcHko
Y2hfanBlZywgY2hfcmVjLCBieXRlc19yZWMpOwogICAgICAgICBtZW1zZXQoY2hfcmVjLCAwLCB0
b3RhbF9zaXplKTsKIAotICAgICAgICBpZiAoMCAhPSBsaWJ5dXY6Ok1KUEdUb0k0MjAoY2hfanBl
ZywgYnl0ZXNfcmVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hfcmVj
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfd2lkdGgsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaF9yZWMgKyB5X3NpemUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2Vfd2lkdGggKyAxKSAvIDIsCisgICAg
ICAgIGlmICgwICE9IGxpYnl1djo6TUpQR1RvSTQyMChjaF9qcGVnLCBieXRlc19yZWMsIGNoX3Jl
YywgaW1hZ2Vfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaF9y
ZWMgKyB5X3NpemUsIChpbWFnZV93aWR0aCArIDEpIC8gMiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNoX3JlYyArIHlfc2l6ZSArIHV2X3NpemUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2Vfd2lkdGggKyAxKSAvIDIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZV93aWR0aCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGltYWdlX2hlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGltYWdlX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW1hZ2VfaGVpZ2h0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGltYWdlX3dpZHRoICsgMSkgLyAyLCBpbWFnZV93aWR0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGltYWdlX2hlaWdodCwgaW1hZ2Vfd2lkdGgsIGltYWdlX2hlaWdo
dCkpIHsKICAgICAgICAgICBkZWxldGVbXSBjaF9qcGVnOwogICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CkBAIC00ODgsMTAgKzQ4NCw4IEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFy
KiBhcmd2W10pIHsKICAgICAgIGlmIChkb19wc25yKSB7CiAgICAgICAgIG1ldHJpYyBkaXN0b3J0
ZWRfZnJhbWU7CiAgICAgICAgIG1ldHJpYyogY3VyX2Rpc3RvcnRpb25fcHNuciA9ICZkaXN0b3J0
aW9uX3BzbnJbY3VyX3JlY107Ci0gICAgICAgIGJvb2wgaXNtaW4gPSBVcGRhdGVNZXRyaWNzKGNo
X29yZywgY2hfcmVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5X3NpemUs
IHV2X3NpemUsIHRvdGFsX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG51bWJlcl9vZl9mcmFtZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1
cl9kaXN0b3J0aW9uX3BzbnIsCisgICAgICAgIGJvb2wgaXNtaW4gPSBVcGRhdGVNZXRyaWNzKGNo
X29yZywgY2hfcmVjLCB5X3NpemUsIHV2X3NpemUsIHRvdGFsX3NpemUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG51bWJlcl9vZl9mcmFtZXMsIGN1cl9kaXN0b3J0aW9uX3Bz
bnIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkaXN0b3J0ZWRfZnJhbWUs
IHRydWUpOwogICAgICAgICBpZiAodmVyYm9zZSkgewogICAgICAgICAgIHByaW50ZigiXHQlMTAu
NmYiLCBkaXN0b3J0ZWRfZnJhbWUueSk7CkBAIC01MDQsMTAgKzQ5OCw4IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pIHsKICAgICAgIGlmIChkb19zc2ltKSB7CiAgICAg
ICAgIG1ldHJpYyBkaXN0b3J0ZWRfZnJhbWU7CiAgICAgICAgIG1ldHJpYyogY3VyX2Rpc3RvcnRp
b25fc3NpbSA9ICZkaXN0b3J0aW9uX3NzaW1bY3VyX3JlY107Ci0gICAgICAgIGJvb2wgaXNtaW4g
PSBVcGRhdGVNZXRyaWNzKGNoX29yZywgY2hfcmVjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB5X3NpemUsIHV2X3NpemUsIHRvdGFsX3NpemUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG51bWJlcl9vZl9mcmFtZXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGN1cl9kaXN0b3J0aW9uX3NzaW0sCisgICAgICAgIGJvb2wgaXNtaW4g
PSBVcGRhdGVNZXRyaWNzKGNoX29yZywgY2hfcmVjLCB5X3NpemUsIHV2X3NpemUsIHRvdGFsX3Np
emUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlcl9vZl9mcmFtZXMs
IGN1cl9kaXN0b3J0aW9uX3NzaW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZkaXN0b3J0ZWRfZnJhbWUsIGZhbHNlKTsKICAgICAgICAgaWYgKHZlcmJvc2UpIHsKICAgICAg
ICAgICBwcmludGYoIlx0JTEwLjZmIiwgZGlzdG9ydGVkX2ZyYW1lLnkpOwpAQCAtNTQzLDI0ICs1
MzUsMjAgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkgewogICAgIH0K
IAogICAgIGlmIChkb19wc25yKSB7Ci0gICAgICBjb25zdCBkb3VibGUgZ2xvYmFsX3BzbnJfeSA9
IENvbXB1dGVQU05SKAotICAgICAgICAgIGN1cl9kaXN0b3J0aW9uX3BzbnItPmdsb2JhbF95LAot
ICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oeV9zaXplKSAqIG51bWJlcl9vZl9mcmFtZXMp
OwotICAgICAgY29uc3QgZG91YmxlIGdsb2JhbF9wc25yX3UgPSBDb21wdXRlUFNOUigKLSAgICAg
ICAgICBjdXJfZGlzdG9ydGlvbl9wc25yLT5nbG9iYWxfdSwKLSAgICAgICAgICBzdGF0aWNfY2Fz
dDxkb3VibGU+KHV2X3NpemUpICogbnVtYmVyX29mX2ZyYW1lcyk7Ci0gICAgICBjb25zdCBkb3Vi
bGUgZ2xvYmFsX3BzbnJfdiA9IENvbXB1dGVQU05SKAotICAgICAgICAgIGN1cl9kaXN0b3J0aW9u
X3BzbnItPmdsb2JhbF92LAotICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4odXZfc2l6ZSkg
KiBudW1iZXJfb2ZfZnJhbWVzKTsKLSAgICAgIGNvbnN0IGRvdWJsZSBnbG9iYWxfcHNucl9hbGwg
PSBDb21wdXRlUFNOUigKLSAgICAgICAgICBjdXJfZGlzdG9ydGlvbl9wc25yLT5nbG9iYWxfYWxs
LAotICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4odG90YWxfc2l6ZSkgKiBudW1iZXJfb2Zf
ZnJhbWVzKTsKLSAgICAgIHByaW50ZigiR2xvYmFsOlx0JTEwLjZmXHQlMTAuNmZcdCUxMC42Zlx0
JTEwLjZmXHQlNWQiLAotICAgICAgICAgIGdsb2JhbF9wc25yX3ksCi0gICAgICAgICAgZ2xvYmFs
X3BzbnJfdSwKLSAgICAgICAgICBnbG9iYWxfcHNucl92LAotICAgICAgICAgIGdsb2JhbF9wc25y
X2FsbCwKLSAgICAgICAgICBudW1iZXJfb2ZfZnJhbWVzKTsKKyAgICAgIGNvbnN0IGRvdWJsZSBn
bG9iYWxfcHNucl95ID0KKyAgICAgICAgICBDb21wdXRlUFNOUihjdXJfZGlzdG9ydGlvbl9wc25y
LT5nbG9iYWxfeSwKKyAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KHlf
c2l6ZSkgKiBudW1iZXJfb2ZfZnJhbWVzKTsKKyAgICAgIGNvbnN0IGRvdWJsZSBnbG9iYWxfcHNu
cl91ID0KKyAgICAgICAgICBDb21wdXRlUFNOUihjdXJfZGlzdG9ydGlvbl9wc25yLT5nbG9iYWxf
dSwKKyAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KHV2X3NpemUpICog
bnVtYmVyX29mX2ZyYW1lcyk7CisgICAgICBjb25zdCBkb3VibGUgZ2xvYmFsX3BzbnJfdiA9Cisg
ICAgICAgICAgQ29tcHV0ZVBTTlIoY3VyX2Rpc3RvcnRpb25fcHNuci0+Z2xvYmFsX3YsCisgICAg
ICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPih1dl9zaXplKSAqIG51bWJlcl9v
Zl9mcmFtZXMpOworICAgICAgY29uc3QgZG91YmxlIGdsb2JhbF9wc25yX2FsbCA9CisgICAgICAg
ICAgQ29tcHV0ZVBTTlIoY3VyX2Rpc3RvcnRpb25fcHNuci0+Z2xvYmFsX2FsbCwKKyAgICAgICAg
ICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KHRvdGFsX3NpemUpICogbnVtYmVyX29m
X2ZyYW1lcyk7CisgICAgICBwcmludGYoIkdsb2JhbDpcdCUxMC42Zlx0JTEwLjZmXHQlMTAuNmZc
dCUxMC42Zlx0JTVkIiwgZ2xvYmFsX3BzbnJfeSwKKyAgICAgICAgICAgICBnbG9iYWxfcHNucl91
LCBnbG9iYWxfcHNucl92LCBnbG9iYWxfcHNucl9hbGwsIG51bWJlcl9vZl9mcmFtZXMpOwogICAg
ICAgaWYgKHNob3dfbmFtZSkgewogICAgICAgICBwcmludGYoIlx0JXMiLCBhcmd2W2ZpbGVpbmRl
eF9yZWMgKyBjdXJfcmVjXSk7CiAgICAgICB9CkBAIC01NzAsMjAgKzU1OCwxNCBAQCBpbnQgbWFp
bihpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKSB7CiAgICAgaWYgKCFxdWlldCkgewogICAg
ICAgcHJpbnRmKCJBdmc6Iik7CiAgICAgICBpZiAoZG9fcHNucikgewotICAgICAgICBwcmludGYo
Ilx0JTEwLjZmXHQlMTAuNmZcdCUxMC42Zlx0JTEwLjZmXHQlNWQiLAotICAgICAgICAgICAgIGN1
cl9kaXN0b3J0aW9uX3BzbnItPnksCi0gICAgICAgICAgICAgY3VyX2Rpc3RvcnRpb25fcHNuci0+
dSwKLSAgICAgICAgICAgICBjdXJfZGlzdG9ydGlvbl9wc25yLT52LAotICAgICAgICAgICAgIGN1
cl9kaXN0b3J0aW9uX3BzbnItPmFsbCwKLSAgICAgICAgICAgICBudW1iZXJfb2ZfZnJhbWVzKTsK
KyAgICAgICAgcHJpbnRmKCJcdCUxMC42Zlx0JTEwLjZmXHQlMTAuNmZcdCUxMC42Zlx0JTVkIiwg
Y3VyX2Rpc3RvcnRpb25fcHNuci0+eSwKKyAgICAgICAgICAgICAgIGN1cl9kaXN0b3J0aW9uX3Bz
bnItPnUsIGN1cl9kaXN0b3J0aW9uX3BzbnItPnYsCisgICAgICAgICAgICAgICBjdXJfZGlzdG9y
dGlvbl9wc25yLT5hbGwsIG51bWJlcl9vZl9mcmFtZXMpOwogICAgICAgfQogICAgICAgaWYgKGRv
X3NzaW0pIHsKLSAgICAgICAgcHJpbnRmKCJcdCUxMC42Zlx0JTEwLjZmXHQlMTAuNmZcdCUxMC42
Zlx0JTVkIiwKLSAgICAgICAgICAgICBjdXJfZGlzdG9ydGlvbl9zc2ltLT55LAotICAgICAgICAg
ICAgIGN1cl9kaXN0b3J0aW9uX3NzaW0tPnUsCi0gICAgICAgICAgICAgY3VyX2Rpc3RvcnRpb25f
c3NpbS0+diwKLSAgICAgICAgICAgICBjdXJfZGlzdG9ydGlvbl9zc2ltLT5hbGwsCi0gICAgICAg
ICAgICAgbnVtYmVyX29mX2ZyYW1lcyk7CisgICAgICAgIHByaW50ZigiXHQlMTAuNmZcdCUxMC42
Zlx0JTEwLjZmXHQlMTAuNmZcdCU1ZCIsIGN1cl9kaXN0b3J0aW9uX3NzaW0tPnksCisgICAgICAg
ICAgICAgICBjdXJfZGlzdG9ydGlvbl9zc2ltLT51LCBjdXJfZGlzdG9ydGlvbl9zc2ltLT52LAor
ICAgICAgICAgICAgICAgY3VyX2Rpc3RvcnRpb25fc3NpbS0+YWxsLCBudW1iZXJfb2ZfZnJhbWVz
KTsKICAgICAgIH0KICAgICAgIGlmIChzaG93X25hbWUpIHsKICAgICAgICAgcHJpbnRmKCJcdCVz
IiwgYXJndltmaWxlaW5kZXhfcmVjICsgY3VyX3JlY10pOwpAQCAtNTk0LDE5ICs1NzYsMTUgQEAg
aW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkgewogICAgICAgcHJpbnRmKCJN
aW46Iik7CiAgICAgICBpZiAoZG9fcHNucikgewogICAgICAgICBwcmludGYoIlx0JTEwLjZmXHQl
MTAuNmZcdCUxMC42Zlx0JTEwLjZmXHQlNWQiLAotICAgICAgICAgICAgY3VyX2Rpc3RvcnRpb25f
cHNuci0+bWluX3ksCi0gICAgICAgICAgICBjdXJfZGlzdG9ydGlvbl9wc25yLT5taW5fdSwKLSAg
ICAgICAgICAgIGN1cl9kaXN0b3J0aW9uX3BzbnItPm1pbl92LAotICAgICAgICAgICAgY3VyX2Rp
c3RvcnRpb25fcHNuci0+bWluX2FsbCwKLSAgICAgICAgICAgIGN1cl9kaXN0b3J0aW9uX3BzbnIt
Pm1pbl9mcmFtZSk7CisgICAgICAgICAgICAgICBjdXJfZGlzdG9ydGlvbl9wc25yLT5taW5feSwg
Y3VyX2Rpc3RvcnRpb25fcHNuci0+bWluX3UsCisgICAgICAgICAgICAgICBjdXJfZGlzdG9ydGlv
bl9wc25yLT5taW5fdiwgY3VyX2Rpc3RvcnRpb25fcHNuci0+bWluX2FsbCwKKyAgICAgICAgICAg
ICAgIGN1cl9kaXN0b3J0aW9uX3BzbnItPm1pbl9mcmFtZSk7CiAgICAgICB9CiAgICAgICBpZiAo
ZG9fc3NpbSkgewogICAgICAgICBwcmludGYoIlx0JTEwLjZmXHQlMTAuNmZcdCUxMC42Zlx0JTEw
LjZmXHQlNWQiLAotICAgICAgICAgICAgY3VyX2Rpc3RvcnRpb25fc3NpbS0+bWluX3ksCi0gICAg
ICAgICAgICBjdXJfZGlzdG9ydGlvbl9zc2ltLT5taW5fdSwKLSAgICAgICAgICAgIGN1cl9kaXN0
b3J0aW9uX3NzaW0tPm1pbl92LAotICAgICAgICAgICAgY3VyX2Rpc3RvcnRpb25fc3NpbS0+bWlu
X2FsbCwKLSAgICAgICAgICAgIGN1cl9kaXN0b3J0aW9uX3NzaW0tPm1pbl9mcmFtZSk7CisgICAg
ICAgICAgICAgICBjdXJfZGlzdG9ydGlvbl9zc2ltLT5taW5feSwgY3VyX2Rpc3RvcnRpb25fc3Np
bS0+bWluX3UsCisgICAgICAgICAgICAgICBjdXJfZGlzdG9ydGlvbl9zc2ltLT5taW5fdiwgY3Vy
X2Rpc3RvcnRpb25fc3NpbS0+bWluX2FsbCwKKyAgICAgICAgICAgICAgIGN1cl9kaXN0b3J0aW9u
X3NzaW0tPm1pbl9mcmFtZSk7CiAgICAgICB9CiAgICAgICBpZiAoc2hvd19uYW1lKSB7CiAgICAg
ICAgIHByaW50ZigiXHQlcyIsIGFyZ3ZbZmlsZWluZGV4X3JlYyArIGN1cl9yZWNdKTsKQEAgLTYx
NSwyMCArNTkzLDIwIEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pIHsK
ICAgICB9CiAKICAgICBpZiAoZG9fbXNlKSB7Ci0gICAgICBkb3VibGUgZ2xvYmFsX21zZV95ID0g
R2V0TVNFKGN1cl9kaXN0b3J0aW9uX3BzbnItPmdsb2JhbF95LAotICAgICAgICBzdGF0aWNfY2Fz
dDxkb3VibGU+KHlfc2l6ZSkgKiBudW1iZXJfb2ZfZnJhbWVzKTsKLSAgICAgIGRvdWJsZSBnbG9i
YWxfbXNlX3UgPSBHZXRNU0UoY3VyX2Rpc3RvcnRpb25fcHNuci0+Z2xvYmFsX3UsCi0gICAgICAg
IHN0YXRpY19jYXN0PGRvdWJsZT4odXZfc2l6ZSkgKiBudW1iZXJfb2ZfZnJhbWVzKTsKLSAgICAg
IGRvdWJsZSBnbG9iYWxfbXNlX3YgPSBHZXRNU0UoY3VyX2Rpc3RvcnRpb25fcHNuci0+Z2xvYmFs
X3YsCi0gICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4odXZfc2l6ZSkgKiBudW1iZXJfb2ZfZnJh
bWVzKTsKLSAgICAgIGRvdWJsZSBnbG9iYWxfbXNlX2FsbCA9IEdldE1TRShjdXJfZGlzdG9ydGlv
bl9wc25yLT5nbG9iYWxfYWxsLAotICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KHRvdGFsX3Np
emUpICogbnVtYmVyX29mX2ZyYW1lcyk7Ci0gICAgICBwcmludGYoIk1TRTpcdCUxMC42Zlx0JTEw
LjZmXHQlMTAuNmZcdCUxMC42Zlx0JTVkIiwKLSAgICAgICAgICBnbG9iYWxfbXNlX3ksCi0gICAg
ICAgICAgZ2xvYmFsX21zZV91LAotICAgICAgICAgIGdsb2JhbF9tc2VfdiwKLSAgICAgICAgICBn
bG9iYWxfbXNlX2FsbCwKLSAgICAgICAgICBudW1iZXJfb2ZfZnJhbWVzKTsKKyAgICAgIGRvdWJs
ZSBnbG9iYWxfbXNlX3kgPQorICAgICAgICAgIEdldE1TRShjdXJfZGlzdG9ydGlvbl9wc25yLT5n
bG9iYWxfeSwKKyAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPih5X3NpemUpICog
bnVtYmVyX29mX2ZyYW1lcyk7CisgICAgICBkb3VibGUgZ2xvYmFsX21zZV91ID0KKyAgICAgICAg
ICBHZXRNU0UoY3VyX2Rpc3RvcnRpb25fcHNuci0+Z2xvYmFsX3UsCisgICAgICAgICAgICAgICAg
IHN0YXRpY19jYXN0PGRvdWJsZT4odXZfc2l6ZSkgKiBudW1iZXJfb2ZfZnJhbWVzKTsKKyAgICAg
IGRvdWJsZSBnbG9iYWxfbXNlX3YgPQorICAgICAgICAgIEdldE1TRShjdXJfZGlzdG9ydGlvbl9w
c25yLT5nbG9iYWxfdiwKKyAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPih1dl9z
aXplKSAqIG51bWJlcl9vZl9mcmFtZXMpOworICAgICAgZG91YmxlIGdsb2JhbF9tc2VfYWxsID0K
KyAgICAgICAgICBHZXRNU0UoY3VyX2Rpc3RvcnRpb25fcHNuci0+Z2xvYmFsX2FsbCwKKyAgICAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPih0b3RhbF9zaXplKSAqIG51bWJlcl9vZl9m
cmFtZXMpOworICAgICAgcHJpbnRmKCJNU0U6XHQlMTAuNmZcdCUxMC42Zlx0JTEwLjZmXHQlMTAu
NmZcdCU1ZCIsIGdsb2JhbF9tc2VfeSwKKyAgICAgICAgICAgICBnbG9iYWxfbXNlX3UsIGdsb2Jh
bF9tc2VfdiwgZ2xvYmFsX21zZV9hbGwsIG51bWJlcl9vZl9mcmFtZXMpOwogICAgICAgaWYgKHNo
b3dfbmFtZSkgewogICAgICAgICBwcmludGYoIlx0JXMiLCBhcmd2W2ZpbGVpbmRleF9yZWMgKyBj
dXJfcmVjXSk7CiAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL3NzaW0uY2MgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xpYnl1di91dGlsL3NzaW0uY2MKaW5k
ZXggNWE2Mzk5Yjc4MjZkYWZiNDM2ZGYyZDc2OGI2ODJlZWQ1ZTMzYjAyZi4uNDNlNzI1ZDgyMTA0
ZjY4M2ExMTMxZTRhYzBhN2FlZDI4NzliZmU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRpbC9zc2ltLmNjCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3V0
aWwvc3NpbS5jYwpAQCAtMTYsMTEgKzE2LDExIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi10
eXBlZGVmIHVuc2lnbmVkIGludCB1aW50MzI7ICAgICAvLyBOT0xJTlQKLXR5cGVkZWYgdW5zaWdu
ZWQgc2hvcnQgdWludDE2OyAgIC8vIE5PTElOVAordHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMy
OyAgICAvLyBOT0xJTlQKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgdWludDE2OyAgLy8gTk9MSU5U
CiAKICNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJMRV9YODYpICYmICFkZWZpbmVkKF9fU1NFMl9f
KSAmJiBcCi0gIChkZWZpbmVkKF9NX1g2NCkgfHwgKGRlZmluZWQoX01fSVg4Nl9GUCkgJiYgKF9N
X0lYODZfRlAgPj0gMikpKQorICAgIChkZWZpbmVkKF9NX1g2NCkgfHwgKGRlZmluZWQoX01fSVg4
Nl9GUCkgJiYgKF9NX0lYODZfRlAgPj0gMikpKQogI2RlZmluZSBfX1NTRTJfXwogI2VuZGlmCiAj
aWYgIWRlZmluZWQoTElCWVVWX0RJU0FCTEVfWDg2KSAmJiBkZWZpbmVkKF9fU1NFMl9fKQpAQCAt
MzgsMjIgKzM4LDI5IEBAIGVudW0geyBLRVJORUwgPSAzLCBLRVJORUxfU0laRSA9IDIgKiBLRVJO
RUwgKyAxIH07CiAvLyBUaGUgbWF4aW11bSB2YWx1ZSAoMTEgeCAxMSkgbXVzdCBiZSBsZXNzIHRo
YW4gMTI4IHRvIGF2b2lkIHNpZ24KIC8vIHByb2JsZW1zIGR1cmluZyB0aGUgY2FsbHMgdG8gX21t
X211bGxvX2VwaTE2KCkuCiBzdGF0aWMgY29uc3QgaW50IEtbS0VSTkVMX1NJWkVdID0gewotICAx
LCAzLCA3LCAxMSwgNywgMywgMSAgICAvLyB+MTEgKiBleHAoLTAuMyAqIGkgKiBpKQorICAgIDEs
IDMsIDcsIDExLCA3LCAzLCAxICAvLyB+MTEgKiBleHAoLTAuMyAqIGkgKiBpKQogfTsKIHN0YXRp
YyBjb25zdCBkb3VibGUga2lXW0tFUk5FTCArIDEgKyAxXSA9IHsKLSAgMS4gLyAxMDg5LiwgICAv
LyAxIC8gc3VtKGk6MC4uNiwgai4uNikgS1tpXSpLW2pdCi0gIDEuIC8gMTA4OS4sICAgLy8gMSAv
IHN1bShpOjAuLjYsIGouLjYpIEtbaV0qS1tqXQotICAxLiAvIDEwNTYuLCAgIC8vIDEgLyBzdW0o
aTowLi41LCBqLi42KSBLW2ldKktbal0KLSAgMS4gLyA5NTcuLCAgICAvLyAxIC8gc3VtKGk6MC4u
NCwgai4uNikgS1tpXSpLW2pdCi0gIDEuIC8gNzI2LiwgICAgLy8gMSAvIHN1bShpOjAuLjMsIGou
LjYpIEtbaV0qS1tqXQorICAgIDEuIC8gMTA4OS4sICAvLyAxIC8gc3VtKGk6MC4uNiwgai4uNikg
S1tpXSpLW2pdCisgICAgMS4gLyAxMDg5LiwgIC8vIDEgLyBzdW0oaTowLi42LCBqLi42KSBLW2ld
Kktbal0KKyAgICAxLiAvIDEwNTYuLCAgLy8gMSAvIHN1bShpOjAuLjUsIGouLjYpIEtbaV0qS1tq
XQorICAgIDEuIC8gOTU3LiwgICAvLyAxIC8gc3VtKGk6MC4uNCwgai4uNikgS1tpXSpLW2pdCisg
ICAgMS4gLyA3MjYuLCAgIC8vIDEgLyBzdW0oaTowLi4zLCBqLi42KSBLW2ldKktbal0KIH07CiAK
ICNpZiAhZGVmaW5lZChMSUJZVVZfRElTQUJMRV9YODYpICYmIGRlZmluZWQoX19TU0UyX18pCiAK
LSNkZWZpbmUgUFdFSUdIVChBLCBCKSAgc3RhdGljX2Nhc3Q8dWludDE2PihLWyhBKV0gKiBLWyhC
KV0pICAgLy8gd2VpZ2h0IHByb2R1Y3QKLSNkZWZpbmUgTUFLRV9XRUlHSFQoTCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgeyB7IHsgUFdFSUdIVChM
LCAwKSwgUFdFSUdIVChMLCAxKSwgUFdFSUdIVChMLCAyKSwgUFdFSUdIVChMLCAzKSwgIFwKLSAg
ICAgICAgUFdFSUdIVChMLCA0KSwgUFdFSUdIVChMLCA1KSwgUFdFSUdIVChMLCA2KSwgMCB9IH0g
fQorI2RlZmluZSBQV0VJR0hUKEEsIEIpIHN0YXRpY19jYXN0PHVpbnQxNj4oS1soQSldICogS1so
QildKSAgLy8gd2VpZ2h0IHByb2R1Y3QKKyNkZWZpbmUgTUFLRV9XRUlHSFQoTCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFBXRUlHSFQoTCwgMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAs
IFBXRUlHSFQoTCwgMSksIFBXRUlHSFQoTCwgMiksIFBXRUlHSFQoTCwgMyksIFBXRUlHSFQoTCwg
NCksIFwKKyAgICAgICAgICAgIFBXRUlHSFQoTCwgNSksIFBXRUlHSFQoTCwgNiksIDAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
fQogCiAvLyBXZSBuZWVkIHRoaXMgdW5pb24gdHJpY2sgdG8gYmUgYWJsZSB0byBpbml0aWFsaXpl
IGNvbnN0YW50IHN0YXRpYyBfX20xMjhpCiAvLyB2YWx1ZXMuIFdlIGNhbid0IGNhbGwgX21tX3Nl
dF9lcGkxNigpIGZvciBzdGF0aWMgY29tcGlsZS10aW1lIGluaXRpYWxpemF0aW9uLgpAQCAtNjIs
MzIgKzY5LDM2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgewogICAgIHVpbnQxNiBpMTZfWzhdOwog
ICAgIF9fbTEyOGkgbV87CiAgIH0gdmFsdWVzXzsKLX0gVzAgPSBNQUtFX1dFSUdIVCgwKSwKLSAg
VzEgPSBNQUtFX1dFSUdIVCgxKSwKLSAgVzIgPSBNQUtFX1dFSUdIVCgyKSwKK30gVzAgPSBNQUtF
X1dFSUdIVCgwKSwgVzEgPSBNQUtFX1dFSUdIVCgxKSwgVzIgPSBNQUtFX1dFSUdIVCgyKSwKICAg
VzMgPSBNQUtFX1dFSUdIVCgzKTsKLSAgLy8gLi4uIHRoZSByZXN0IGlzIHN5bW1ldHJpYy4KKy8v
IC4uLiB0aGUgcmVzdCBpcyBzeW1tZXRyaWMuCiAjdW5kZWYgTUFLRV9XRUlHSFQKICN1bmRlZiBQ
V0VJR0hUCiAjZW5kaWYKIAogLy8gQ29tbW9uIGZpbmFsIGV4cHJlc3Npb24gZm9yIFNTSU0sIG9u
Y2UgdGhlIHdlaWdodGVkIHN1bXMgYXJlIGtub3duLgotc3RhdGljIGRvdWJsZSBGaW5hbGl6ZVNT
SU0oZG91YmxlIGl3LCBkb3VibGUgeG0sIGRvdWJsZSB5bSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvdWJsZSB4eG0sIGRvdWJsZSB4eW0sIGRvdWJsZSB5eW0pIHsKK3N0YXRpYyBkb3Vi
bGUgRmluYWxpemVTU0lNKGRvdWJsZSBpdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRv
dWJsZSB4bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB5bSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvdWJsZSB4eG0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkb3VibGUgeHltLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHl5bSkgewog
ICBjb25zdCBkb3VibGUgaXd4ID0geG0gKiBpdzsKICAgY29uc3QgZG91YmxlIGl3eSA9IHltICog
aXc7CiAgIGRvdWJsZSBzeHggPSB4eG0gKiBpdyAtIGl3eCAqIGl3eDsKICAgZG91YmxlIHN5eSA9
IHl5bSAqIGl3IC0gaXd5ICogaXd5OwogICAvLyBzbWFsbCBlcnJvcnMgYXJlIHBvc3NpYmxlLCBk
dWUgdG8gcm91bmRpbmcuIENsYW1wIHRvIHplcm8uCi0gIGlmIChzeHggPCAwLikgc3h4ID0gMC47
Ci0gIGlmIChzeXkgPCAwLikgc3l5ID0gMC47CisgIGlmIChzeHggPCAwLikKKyAgICBzeHggPSAw
LjsKKyAgaWYgKHN5eSA8IDAuKQorICAgIHN5eSA9IDAuOwogICBjb25zdCBkb3VibGUgc3hzeSA9
IHNxcnQoc3h4ICogc3l5KTsKICAgY29uc3QgZG91YmxlIHN4eSA9IHh5bSAqIGl3IC0gaXd4ICog
aXd5OwogICBzdGF0aWMgY29uc3QgZG91YmxlIEMxMSA9ICgwLjAxICogMC4wMSkgKiAoMjU1ICog
MjU1KTsKICAgc3RhdGljIGNvbnN0IGRvdWJsZSBDMjIgPSAoMC4wMyAqIDAuMDMpICogKDI1NSAq
IDI1NSk7CiAgIHN0YXRpYyBjb25zdCBkb3VibGUgQzMzID0gKDAuMDE1ICogMC4wMTUpICogKDI1
NSAqIDI1NSk7CiAgIGNvbnN0IGRvdWJsZSBsID0gKDIuICogaXd4ICogaXd5ICsgQzExKSAvIChp
d3ggKiBpd3ggKyBpd3kgKiBpd3kgKyBDMTEpOwotICBjb25zdCBkb3VibGUgYyA9ICgyLiAqIHN4
c3kgICAgICArIEMyMikgLyAoc3h4ICsgc3l5ICsgQzIyKTsKKyAgY29uc3QgZG91YmxlIGMgPSAo
Mi4gKiBzeHN5ICsgQzIyKSAvIChzeHggKyBzeXkgKyBDMjIpOwogICBjb25zdCBkb3VibGUgcyA9
IChzeHkgKyBDMzMpIC8gKHN4c3kgKyBDMzMpOwogICByZXR1cm4gbCAqIGMgKiBzOwogfQpAQCAt
OTgsMTUgKzEwOSwyMSBAQCBzdGF0aWMgZG91YmxlIEZpbmFsaXplU1NJTShkb3VibGUgaXcsIGRv
dWJsZSB4bSwgZG91YmxlIHltLAogLy8gTm90ZTogd29yc3QgY2FzZSBvZiBhY2N1bXVsYXRpb24g
aXMgYSB3ZWlnaHQgb2YgMzMgPSAxMSArIDIgKiAoNyArIDMgKyAxKQogLy8gd2l0aCBhIGRpZmYg
b2YgMjU1LCBzcXVhcmVkLiBUaGUgbWF4aW11bSBlcnJvciBpcyB0aHVzIDB4NDM4ODI0MSwKIC8v
IHdoaWNoIGZpdHMgaW50byAzMiBiaXRzIGludGVnZXJzLgotZG91YmxlIEdldFNTSU0oY29uc3Qg
dWludDggKm9yZywgY29uc3QgdWludDggKnJlYywKLSAgICAgICAgICAgICAgIGludCB4bywgaW50
IHlvLCBpbnQgVywgaW50IEgsIGludCBzdHJpZGUpIHsKK2RvdWJsZSBHZXRTU0lNKGNvbnN0IHVp
bnQ4KiBvcmcsCisgICAgICAgICAgICAgICBjb25zdCB1aW50OCogcmVjLAorICAgICAgICAgICAg
ICAgaW50IHhvLAorICAgICAgICAgICAgICAgaW50IHlvLAorICAgICAgICAgICAgICAgaW50IFcs
CisgICAgICAgICAgICAgICBpbnQgSCwKKyAgICAgICAgICAgICAgIGludCBzdHJpZGUpIHsKICAg
dWludDMyIHdzID0gMCwgeG0gPSAwLCB5bSA9IDAsIHh4bSA9IDAsIHh5bSA9IDAsIHl5bSA9IDA7
CiAgIG9yZyArPSAoeW8gLSBLRVJORUwpICogc3RyaWRlOwogICBvcmcgKz0gKHhvIC0gS0VSTkVM
KTsKICAgcmVjICs9ICh5byAtIEtFUk5FTCkgKiBzdHJpZGU7CiAgIHJlYyArPSAoeG8gLSBLRVJO
RUwpOwogICBmb3IgKGludCB5XyA9IDA7IHlfIDwgS0VSTkVMX1NJWkU7ICsreV8sIG9yZyArPSBz
dHJpZGUsIHJlYyArPSBzdHJpZGUpIHsKLSAgICBpZiAoKCh5byAtIEtFUk5FTCArIHlfKSA8IDAp
IHx8ICgoeW8gLSBLRVJORUwgKyB5XykgPj0gSCkpIGNvbnRpbnVlOworICAgIGlmICgoKHlvIC0g
S0VSTkVMICsgeV8pIDwgMCkgfHwgKCh5byAtIEtFUk5FTCArIHlfKSA+PSBIKSkKKyAgICAgIGNv
bnRpbnVlOwogICAgIGNvbnN0IGludCBXeSA9IEtbeV9dOwogICAgIGZvciAoaW50IHhfID0gMDsg
eF8gPCBLRVJORUxfU0laRTsgKyt4XykgewogICAgICAgY29uc3QgaW50IFd4eSA9IFd5ICogS1t4
X107CkBAIC0xMTQsOCArMTMxLDggQEAgZG91YmxlIEdldFNTSU0oY29uc3QgdWludDggKm9yZywg
Y29uc3QgdWludDggKnJlYywKICAgICAgICAgY29uc3QgaW50IG9yZ194ID0gb3JnW3hfXTsKICAg
ICAgICAgY29uc3QgaW50IHJlY194ID0gcmVjW3hfXTsKICAgICAgICAgd3MgKz0gV3h5OwotICAg
ICAgICB4bSAgKz0gV3h5ICogb3JnX3g7Ci0gICAgICAgIHltICArPSBXeHkgKiByZWNfeDsKKyAg
ICAgICAgeG0gKz0gV3h5ICogb3JnX3g7CisgICAgICAgIHltICs9IFd4eSAqIHJlY194OwogICAg
ICAgICB4eG0gKz0gV3h5ICogb3JnX3ggKiBvcmdfeDsKICAgICAgICAgeHltICs9IFd4eSAqIG9y
Z194ICogcmVjX3g7CiAgICAgICAgIHl5bSArPSBXeHkgKiByZWNfeCAqIHJlY194OwpAQCAtMTI1
LDggKzE0MiwxMSBAQCBkb3VibGUgR2V0U1NJTShjb25zdCB1aW50OCAqb3JnLCBjb25zdCB1aW50
OCAqcmVjLAogICByZXR1cm4gRmluYWxpemVTU0lNKDEuIC8gd3MsIHhtLCB5bSwgeHhtLCB4eW0s
IHl5bSk7CiB9CiAKLWRvdWJsZSBHZXRTU0lNRnVsbEtlcm5lbChjb25zdCB1aW50OCAqb3JnLCBj
b25zdCB1aW50OCAqcmVjLAotICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4bywgaW50IHlv
LCBpbnQgc3RyaWRlLAorZG91YmxlIEdldFNTSU1GdWxsS2VybmVsKGNvbnN0IHVpbnQ4KiBvcmcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDgqIHJlYywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgeG8sCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHlvLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgZG91YmxlIGFyZWFfd2VpZ2h0KSB7CiAgIHVpbnQzMiB4bSA9IDAsIHltID0gMCwgeHht
ID0gMCwgeHltID0gMCwgeXltID0gMDsKIApAQCAtMTYxLDggKzE4MSw4IEBAIGRvdWJsZSBHZXRT
U0lNRnVsbEtlcm5lbChjb25zdCB1aW50OCAqb3JnLCBjb25zdCB1aW50OCAqcmVjLAogICAgICAg
Y29uc3QgaW50IGxsMiA9IHJlY1tkeTIgLSB4XTsKICAgICAgIGNvbnN0IGludCBscjIgPSByZWNb
ZHkyICsgeF07CiAKLSAgICAgIHhtICArPSBXeHkgKiAodWwxICsgdXIxICsgbGwxICsgbHIxKTsK
LSAgICAgIHltICArPSBXeHkgKiAodWwyICsgdXIyICsgbGwyICsgbHIyKTsKKyAgICAgIHhtICs9
IFd4eSAqICh1bDEgKyB1cjEgKyBsbDEgKyBscjEpOworICAgICAgeW0gKz0gV3h5ICogKHVsMiAr
IHVyMiArIGxsMiArIGxyMik7CiAgICAgICB4eG0gKz0gV3h5ICogKHVsMSAqIHVsMSArIHVyMSAq
IHVyMSArIGxsMSAqIGxsMSArIGxyMSAqIGxyMSk7CiAgICAgICB4eW0gKz0gV3h5ICogKHVsMSAq
IHVsMiArIHVyMSAqIHVyMiArIGxsMSAqIGxsMiArIGxyMSAqIGxyMik7CiAgICAgICB5eW0gKz0g
V3h5ICogKHVsMiAqIHVsMiArIHVyMiAqIHVyMiArIGxsMiAqIGxsMiArIGxyMiAqIGxyMik7CkBA
IC0xODksOCArMjA5LDggQEAgZG91YmxlIEdldFNTSU1GdWxsS2VybmVsKGNvbnN0IHVpbnQ4ICpv
cmcsIGNvbnN0IHVpbnQ4ICpyZWMsCiAgICAgY29uc3QgaW50IGwyID0gcmVjWy15XTsKICAgICBj
b25zdCBpbnQgcjIgPSByZWNbeV07CiAKLSAgICB4bSAgKz0gV3h5ICogKHUxICsgZDEgKyBsMSAr
IHIxKTsKLSAgICB5bSAgKz0gV3h5ICogKHUyICsgZDIgKyBsMiArIHIyKTsKKyAgICB4bSArPSBX
eHkgKiAodTEgKyBkMSArIGwxICsgcjEpOworICAgIHltICs9IFd4eSAqICh1MiArIGQyICsgbDIg
KyByMik7CiAgICAgeHhtICs9IFd4eSAqICh1MSAqIHUxICsgZDEgKiBkMSArIGwxICogbDEgKyBy
MSAqIHIxKTsKICAgICB4eW0gKz0gV3h5ICogKHUxICogdTIgKyBkMSAqIGQyICsgbDEgKiBsMiAr
IHIxICogcjIpOwogICAgIHl5bSArPSBXeHkgKiAodTIgKiB1MiArIGQyICogZDIgKyBsMiAqIGwy
ICsgcjIgKiByMik7CkBAIC0yMDEsMTMgKzIyMSwxMyBAQCBkb3VibGUgR2V0U1NJTUZ1bGxLZXJu
ZWwoY29uc3QgdWludDggKm9yZywgY29uc3QgdWludDggKnJlYywKICAgY29uc3QgaW50IHMxID0g
b3JnWzBdOwogICBjb25zdCBpbnQgczIgPSByZWNbMF07CiAKLSAgeG0gICs9IFd4eSAqIHMxOwot
ICB5bSAgKz0gV3h5ICogczI7CisgIHhtICs9IFd4eSAqIHMxOworICB5bSArPSBXeHkgKiBzMjsK
ICAgeHhtICs9IFd4eSAqIHMxICogczE7CiAgIHh5bSArPSBXeHkgKiBzMSAqIHMyOwogICB5eW0g
Kz0gV3h5ICogczIgKiBzMjsKIAotI2Vsc2UgICAvLyBfX1NTRTJfXworI2Vsc2UgIC8vIF9fU1NF
Ml9fCiAKICAgb3JnICs9ICh5byAtIEtFUk5FTCkgKiBzdHJpZGUgKyAoeG8gLSBLRVJORUwpOwog
ICByZWMgKz0gKHlvIC0gS0VSTkVMKSAqIHN0cmlkZSArICh4byAtIEtFUk5FTCk7CkBAIC0yMjEs
MjkgKzI0MSwzMSBAQCBkb3VibGUgR2V0U1NJTUZ1bGxLZXJuZWwoY29uc3QgdWludDggKm9yZywg
Y29uc3QgdWludDggKnJlYywKIAogLy8gUmVhZCA4IHBpeGVscyBhdCBsaW5lICNMLCBhbmQgY29u
dmVydCB0byAxNmJpdCwgcGVyZm9ybSB3ZWlnaHRpbmcKIC8vIGFuZCBhY2NjdW11bGF0ZS4KLSNk
ZWZpbmUgTE9BRF9MSU5FX1BBSVIoTCwgV0VJR0hUKSBkbyB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBfX20xMjhpIHYwID0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICBfbW1fbG9h
ZGxfZXBpNjQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBfX20xMjhpKj4ob3JnICsgKEwpICogc3Ry
aWRlKSk7IFwKLSAgY29uc3QgX19tMTI4aSB2MSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgX21tX2xvYWRsX2VwaTY0KHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgX19tMTI4aSo+KHJlYyArIChMKSAqIHN0cmlkZSkpOyBcCi0g
IGNvbnN0IF9fbTEyOGkgdzAgPSBfbW1fdW5wYWNrbG9fZXBpOCh2MCwgemVybyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgY29uc3QgX19tMTI4aSB3MSA9IF9tbV91bnBhY2tsb19l
cGk4KHYxLCB6ZXJvKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICBjb25zdCBfX20x
MjhpIHd3MCA9IF9tbV9tdWxsb19lcGkxNih3MCwgKFdFSUdIVCkudmFsdWVzXy5tXyk7ICAgICAg
ICAgICAgICBcCi0gIGNvbnN0IF9fbTEyOGkgd3cxID0gX21tX211bGxvX2VwaTE2KHcxLCAoV0VJ
R0hUKS52YWx1ZXNfLm1fKTsgICAgICAgICAgICAgIFwKLSAgeCA9IF9tbV9hZGRfZXBpMzIoeCwg
X21tX3VucGFja2xvX2VwaTE2KHd3MCwgemVybykpOyAgICAgICAgICAgICAgICAgICAgICAgXAot
ICB5ID0gX21tX2FkZF9lcGkzMih5LCBfbW1fdW5wYWNrbG9fZXBpMTYod3cxLCB6ZXJvKSk7ICAg
ICAgICAgICAgICAgICAgICAgICBcCi0gIHggPSBfbW1fYWRkX2VwaTMyKHgsIF9tbV91bnBhY2to
aV9lcGkxNih3dzAsIHplcm8pKTsgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgeSA9IF9tbV9h
ZGRfZXBpMzIoeSwgX21tX3VucGFja2hpX2VwaTE2KHd3MSwgemVybykpOyAgICAgICAgICAgICAg
ICAgICAgICAgXAotICB4eCA9IF9tbV9hZGRfZXBpMzIoeHgsIF9tbV9tYWRkX2VwaTE2KHd3MCwg
dzApKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gIHh5ID0gX21tX2FkZF9lcGkzMih4
eSwgX21tX21hZGRfZXBpMTYod3cwLCB3MSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
LSAgeXkgPSBfbW1fYWRkX2VwaTMyKHl5LCBfbW1fbWFkZF9lcGkxNih3dzEsIHcxKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotfSB3aGlsZSAoMCkKLQotI2RlZmluZSBBRERfQU5EX1NU
T1JFX0ZPVVJfRVBJMzIoTSwgT1VUKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCi0gIHVpbnQzMiB0bXBbNF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgX21tX3N0b3JldV9zaTEyOChyZWludGVycHJl
dF9jYXN0PF9fbTEyOGkqPih0bXApLCAoTSkpOyAgICAgICAgICAgICAgICAgICAgXAotICAoT1VU
KSA9IHRtcFszXSArIHRtcFsyXSArIHRtcFsxXSArIHRtcFswXTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi19IHdoaWxlICgwKQorI2RlZmluZSBMT0FEX0xJTkVfUEFJUihMLCBX
RUlHSFQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBfX20xMjhpIHYwID0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBfbW1fbG9h
ZGxfZXBpNjQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBfX20xMjhpKj4ob3JnICsgKEwpKnN0cmlk
ZSkpOyBcCisgICAgY29uc3QgX19tMTI4aSB2MSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgX21tX2xvYWRsX2VwaTY0KHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgX19tMTI4aSo+KHJlYyArIChMKSpzdHJpZGUpKTsgXAorICAg
IGNvbnN0IF9fbTEyOGkgdzAgPSBfbW1fdW5wYWNrbG9fZXBpOCh2MCwgemVybyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgY29uc3QgX19tMTI4aSB3MSA9IF9tbV91bnBhY2tsb19l
cGk4KHYxLCB6ZXJvKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBfX20x
MjhpIHd3MCA9IF9tbV9tdWxsb19lcGkxNih3MCwgKFdFSUdIVCkudmFsdWVzXy5tXyk7ICAgICAg
ICAgICAgXAorICAgIGNvbnN0IF9fbTEyOGkgd3cxID0gX21tX211bGxvX2VwaTE2KHcxLCAoV0VJ
R0hUKS52YWx1ZXNfLm1fKTsgICAgICAgICAgICBcCisgICAgeCA9IF9tbV9hZGRfZXBpMzIoeCwg
X21tX3VucGFja2xvX2VwaTE2KHd3MCwgemVybykpOyAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICB5ID0gX21tX2FkZF9lcGkzMih5LCBfbW1fdW5wYWNrbG9fZXBpMTYod3cxLCB6ZXJvKSk7ICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIHggPSBfbW1fYWRkX2VwaTMyKHgsIF9tbV91bnBhY2to
aV9lcGkxNih3dzAsIHplcm8pKTsgICAgICAgICAgICAgICAgICAgICBcCisgICAgeSA9IF9tbV9h
ZGRfZXBpMzIoeSwgX21tX3VucGFja2hpX2VwaTE2KHd3MSwgemVybykpOyAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICB4eCA9IF9tbV9hZGRfZXBpMzIoeHgsIF9tbV9tYWRkX2VwaTE2KHd3MCwg
dzApKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHh5ID0gX21tX2FkZF9lcGkzMih4
eSwgX21tX21hZGRfZXBpMTYod3cwLCB3MSkpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgeXkgPSBfbW1fYWRkX2VwaTMyKHl5LCBfbW1fbWFkZF9lcGkxNih3dzEsIHcxKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBBRERfQU5EX1NU
T1JFX0ZPVVJfRVBJMzIoTSwgT1VUKSAgICAgICAgICAgICAgICAgICAgXAorICBkbyB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVp
bnQzMiB0bXBbNF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIF9tbV9zdG9yZXVfc2kxMjgocmVpbnRlcnByZXRfY2FzdDxfX20xMjhpKj4odG1wKSwgKE0p
KTsgXAorICAgIChPVVQpID0gdG1wWzNdICsgdG1wWzJdICsgdG1wWzFdICsgdG1wWzBdOyAgICAg
ICAgICAgICAgXAorICB9IHdoaWxlICgwKQogCiAgIExPQURfTElORV9QQUlSKDAsIFcwKTsKICAg
TE9BRF9MSU5FX1BBSVIoMSwgVzEpOwpAQCAtMjY2LDEwICsyODgsMTQgQEAgZG91YmxlIEdldFNT
SU1GdWxsS2VybmVsKGNvbnN0IHVpbnQ4ICpvcmcsIGNvbnN0IHVpbnQ4ICpyZWMsCiAgIHJldHVy
biBGaW5hbGl6ZVNTSU0oYXJlYV93ZWlnaHQsIHhtLCB5bSwgeHhtLCB4eW0sIHl5bSk7CiB9CiAK
LXN0YXRpYyBpbnQgc3RhcnRfbWF4KGludCB4LCBpbnQgeSkgeyByZXR1cm4gKHggPiB5KSA/IHgg
OiB5OyB9CitzdGF0aWMgaW50IHN0YXJ0X21heChpbnQgeCwgaW50IHkpIHsKKyAgcmV0dXJuICh4
ID4geSkgPyB4IDogeTsKK30KIAotZG91YmxlIENhbGNTU0lNKGNvbnN0IHVpbnQ4ICpvcmcsIGNv
bnN0IHVpbnQ4ICpyZWMsCi0gICAgICAgICAgICAgICAgY29uc3QgaW50IGltYWdlX3dpZHRoLCBj
b25zdCBpbnQgaW1hZ2VfaGVpZ2h0KSB7Citkb3VibGUgQ2FsY1NTSU0oY29uc3QgdWludDgqIG9y
ZywKKyAgICAgICAgICAgICAgICBjb25zdCB1aW50OCogcmVjLAorICAgICAgICAgICAgICAgIGNv
bnN0IGludCBpbWFnZV93aWR0aCwKKyAgICAgICAgICAgICAgICBjb25zdCBpbnQgaW1hZ2VfaGVp
Z2h0KSB7CiAgIGRvdWJsZSBTU0lNID0gMC47CiAgIGNvbnN0IGludCBLRVJORUxfWSA9IChpbWFn
ZV9oZWlnaHQgPCBLRVJORUwpID8gaW1hZ2VfaGVpZ2h0IDogS0VSTkVMOwogICBjb25zdCBpbnQg
S0VSTkVMX1ggPSAoaW1hZ2Vfd2lkdGggPCBLRVJORUwpID8gaW1hZ2Vfd2lkdGggOiBLRVJORUw7
CkBAIC0yODQsNyArMzEwLDcgQEAgZG91YmxlIENhbGNTU0lNKGNvbnN0IHVpbnQ4ICpvcmcsIGNv
bnN0IHVpbnQ4ICpyZWMsCiAgIH0KIAogI2lmZGVmIF9PUEVOTVAKLSAgI3ByYWdtYSBvbXAgcGFy
YWxsZWwgZm9yIHJlZHVjdGlvbigrOiBTU0lNKQorI3ByYWdtYSBvbXAgcGFyYWxsZWwgZm9yIHJl
ZHVjdGlvbigrIDogU1NJTSkKICNlbmRpZgogICBmb3IgKGludCBqID0gS0VSTkVMX1k7IGogPCBp
bWFnZV9oZWlnaHQgLSBLRVJORUxfWTsgKytqKSB7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBL
RVJORUxfWDsgKytpKSB7CkBAIC0zMDIsOCArMzI4LDggQEAgZG91YmxlIENhbGNTU0lNKGNvbnN0
IHVpbnQ4ICpvcmcsIGNvbnN0IHVpbnQ4ICpyZWMsCiAgICAgICAvLyBOT1RFOiB3ZSBjb3VsZCB1
c2Ugc2ltaWxhciBtZXRob2QgZm9yIHRoZSBsZWZ0LW1vc3QgcGl4ZWxzIHRvby4KICAgICAgIGNv
bnN0IGludCBrU2NyYXRjaFdpZHRoID0gODsKICAgICAgIGNvbnN0IGludCBrU2NyYXRjaFN0cmlk
ZSA9IGtTY3JhdGNoV2lkdGggKyBLRVJORUwgKyAxOwotICAgICAgdWludDggc2NyYXRjaF9vcmdb
S0VSTkVMX1NJWkUgKiBrU2NyYXRjaFN0cmlkZV0gPSB7IDAgfTsKLSAgICAgIHVpbnQ4IHNjcmF0
Y2hfcmVjW0tFUk5FTF9TSVpFICoga1NjcmF0Y2hTdHJpZGVdID0geyAwIH07CisgICAgICB1aW50
OCBzY3JhdGNoX29yZ1tLRVJORUxfU0laRSAqIGtTY3JhdGNoU3RyaWRlXSA9IHswfTsKKyAgICAg
IHVpbnQ4IHNjcmF0Y2hfcmVjW0tFUk5FTF9TSVpFICoga1NjcmF0Y2hTdHJpZGVdID0gezB9Owog
CiAgICAgICBmb3IgKGludCBrID0gMDsgayA8IEtFUk5FTF9TSVpFOyArK2spIHsKICAgICAgICAg
Y29uc3QgaW50IG9mZnNldCA9CkBAIC0zMTEsOSArMzM3LDkgQEAgZG91YmxlIENhbGNTU0lNKGNv
bnN0IHVpbnQ4ICpvcmcsIGNvbnN0IHVpbnQ4ICpyZWMsCiAgICAgICAgIG1lbWNweShzY3JhdGNo
X29yZyArIGsgKiBrU2NyYXRjaFN0cmlkZSwgb3JnICsgb2Zmc2V0LCBrU2NyYXRjaFdpZHRoKTsK
ICAgICAgICAgbWVtY3B5KHNjcmF0Y2hfcmVjICsgayAqIGtTY3JhdGNoU3RyaWRlLCByZWMgKyBv
ZmZzZXQsIGtTY3JhdGNoV2lkdGgpOwogICAgICAgfQotICAgICAgZm9yIChpbnQgayA9IDA7ICBr
IDw9IEtFUk5FTF9YICsgMTsgKytrKSB7Ci0gICAgICAgIFNTSU0gKz0gR2V0U1NJTUZ1bGxLZXJu
ZWwoc2NyYXRjaF9vcmcsIHNjcmF0Y2hfcmVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEtFUk5FTCArIGssIEtFUk5FTCwga1NjcmF0Y2hTdHJpZGUsIGtpV1trXSk7CisgICAg
ICBmb3IgKGludCBrID0gMDsgayA8PSBLRVJORUxfWCArIDE7ICsraykgeworICAgICAgICBTU0lN
ICs9IEdldFNTSU1GdWxsS2VybmVsKHNjcmF0Y2hfb3JnLCBzY3JhdGNoX3JlYywgS0VSTkVMICsg
aywgS0VSTkVMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtTY3JhdGNoU3Ry
aWRlLCBraVdba10pOwogICAgICAgfQogICAgIH0KICAgfQpAQCAtMzMzLDQgKzM1OSwzIEBAIGRv
dWJsZSBDYWxjTFNTSU0oZG91YmxlIHNzaW0pIHsKICNpZmRlZiBfX2NwbHVzcGx1cwogfSAgLy8g
ZXh0ZXJuICJDIgogI2VuZGlmCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2UvdGhpcmRfcGFydHkvbGlieXV2L3V0aWwvc3NpbS5oIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRpbC9zc2ltLmgKaW5k
ZXggZmIyYTBlOTU5ODQzMmE5ZTliZTc3MWQwYTAyNjE3ODFiNTE0YjIzMS4uNDY0N2Y0NWRlMTRl
YTMxOTI1NzZlMDRjMjRiOTJlYTFkMjg2YzgxMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRpbC9zc2ltLmgKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRp
bC9zc2ltLmgKQEAgLTI0LDggKzI0LDEwIEBAIHR5cGVkZWYgdW5zaWduZWQgY2hhciB1aW50ODsK
ICNkZWZpbmUgVUlOVDhfVFlQRV9ERUZJTkVECiAjZW5kaWYKIAotZG91YmxlIENhbGNTU0lNKGNv
bnN0IHVpbnQ4KiBvcmcsIGNvbnN0IHVpbnQ4KiByZWMsCi0gICAgICAgICAgICAgICAgY29uc3Qg
aW50IGltYWdlX3dpZHRoLCBjb25zdCBpbnQgaW1hZ2VfaGVpZ2h0KTsKK2RvdWJsZSBDYWxjU1NJ
TShjb25zdCB1aW50OCogb3JnLAorICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4KiByZWMsCisg
ICAgICAgICAgICAgICAgY29uc3QgaW50IGltYWdlX3dpZHRoLAorICAgICAgICAgICAgICAgIGNv
bnN0IGludCBpbWFnZV9oZWlnaHQpOwogCiBkb3VibGUgQ2FsY0xTU0lNKGRvdWJsZSBzc2ltKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS90aGlyZF9w
YXJ0eS9saWJ5dXYvdXRpbC95dXZjb252ZXJ0LmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS90aGlyZF9wYXJ0eS9saWJ5dXYvdXRpbC95dXZjb252ZXJ0LmNjCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJjMDFkOWZmNTAzZTc0ODg2ZWZmNDhiZDhiODhjMGM0YTBiYTdlMTkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3RoaXJkX3BhcnR5L2xp
Ynl1di91dGlsL3l1dmNvbnZlcnQuY2MKQEAgLTAsMCArMSwzNjIgQEAKKy8qCisgKiAgQ29weXJp
Z2h0IDIwMTMgVGhlIExpYll1diBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0
eWxlIGxpY2Vuc2UKKyAqICB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGlu
IHRoZSByb290IG9mIHRoZSBzb3VyY2UKKyAqICB0cmVlLiBBbiBhZGRpdGlvbmFsIGludGVsbGVj
dHVhbCBwcm9wZXJ0eSByaWdodHMgZ3JhbnQgY2FuIGJlIGZvdW5kCisgKiAgaW4gdGhlIGZpbGUg
UEFURU5UUy4gQWxsIGNvbnRyaWJ1dGluZyBwcm9qZWN0IGF1dGhvcnMgbWF5CisgKiAgYmUgZm91
bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCisg
Ki8KKworLy8gQ29udmVydCBhbiBBUkdCIGltYWdlIHRvIFlVVi4KKy8vIFVzYWdlOiB5dXZjb252
ZXJ0IHNyY19hcmdiLnJhdyBkc3RfeXV2LnJhdworCisjaWZuZGVmIF9DUlRfU0VDVVJFX05PX1dB
Uk5JTkdTCisjZGVmaW5lIF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTCisjZW5kaWYKKworI2luY2x1
ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+Cisj
aW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJsaWJ5dXYvY29udmVydC5oIgorI2luY2x1
ZGUgImxpYnl1di9wbGFuYXJfZnVuY3Rpb25zLmgiCisjaW5jbHVkZSAibGlieXV2L3NjYWxlX2Fy
Z2IuaCIKKworLy8gb3B0aW9ucworYm9vbCB2ZXJib3NlID0gZmFsc2U7Citib29sIGF0dGVudWF0
ZSA9IGZhbHNlOworYm9vbCB1bmF0dGVudWF0ZSA9IGZhbHNlOworaW50IGltYWdlX3dpZHRoID0g
MCwgaW1hZ2VfaGVpZ2h0ID0gMDsgIC8vIG9yaWdpbmFsIHdpZHRoIGFuZCBoZWlnaHQKK2ludCBk
c3Rfd2lkdGggPSAwLCBkc3RfaGVpZ2h0ID0gMDsgICAgICAvLyBuZXcgd2lkdGggYW5kIGhlaWdo
dAoraW50IGZpbGVpbmRleF9vcmcgPSAwOyAgLy8gYXJndiBhcmd1bWVudCBjb250YWlucyB0aGUg
b3JpZ2luYWwgZmlsZSBuYW1lLgoraW50IGZpbGVpbmRleF9yZWMgPSAwOyAgLy8gYXJndiBhcmd1
bWVudCBjb250YWlucyB0aGUgcmVjb25zdHJ1Y3RlZCBmaWxlIG5hbWUuCitpbnQgbnVtX3JlYyA9
IDA7ICAgICAgICAvLyBOdW1iZXIgb2YgcmVjb25zdHJ1Y3RlZCBpbWFnZXMuCitpbnQgbnVtX3Nr
aXBfb3JnID0gMDsgICAvLyBOdW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gb3JpZ2luYWwuCitp
bnQgbnVtX2ZyYW1lcyA9IDA7ICAgICAvLyBOdW1iZXIgb2YgZnJhbWVzIHRvIGNvbnZlcnQuCitp
bnQgZmlsdGVyID0gMTsgICAgICAgICAvLyBCaWxpbmVhciBmaWx0ZXIgZm9yIHNjYWxpbmcuCisK
K3N0YXRpYyBfX2lubGluZSB1aW50MzIgQWJzKGludDMyIHYpIHsKKyAgcmV0dXJuIHYgPj0gMCA/
IHYgOiAtdjsKK30KKworLy8gUGFyc2UgUFlVViBmb3JtYXQuIGllIG5hbWUuMTkyMHg4MDBfMjRI
el9QNDIwLnl1dgorYm9vbCBFeHRyYWN0UmVzb2x1dGlvbkZyb21GaWxlbmFtZShjb25zdCBjaGFy
KiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHdpZHRoX3B0
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KiBoZWlnaHRfcHRyKSB7
CisgIC8vIElzb2xhdGUgdGhlIC53aWR0aF9oZWlnaHQuIHNlY3Rpb24gb2YgdGhlIGZpbGVuYW1l
IGJ5IHNlYXJjaGluZyBmb3IgYQorICAvLyBkb3Qgb3IgdW5kZXJzY29yZSBmb2xsb3dlZCBieSBh
IGRpZ2l0LgorICBmb3IgKGludCBpID0gMDsgbmFtZVtpXTsgKytpKSB7CisgICAgaWYgKChuYW1l
W2ldID09ICcuJyB8fCBuYW1lW2ldID09ICdfJykgJiYgbmFtZVtpICsgMV0gPj0gJzAnICYmCisg
ICAgICAgIG5hbWVbaSArIDFdIDw9ICc5JykgeworICAgICAgaW50IG4gPSBzc2NhbmYobmFtZSAr
IGkgKyAxLCAiJWR4JWQiLCB3aWR0aF9wdHIsIGhlaWdodF9wdHIpOyAgLy8gTk9MSU5UCisgICAg
ICBpZiAoMiA9PSBuKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfQorICAgIH0KKyAg
fQorICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUHJpbnRIZWxwKGNvbnN0IGNoYXIqIHByb2dy
YW0pIHsKKyAgcHJpbnRmKCIlcyBbLW9wdGlvbnNdIHNyY19hcmdiLnJhdyBkc3RfeXV2LnJhd1xu
IiwgcHJvZ3JhbSk7CisgIHByaW50ZigKKyAgICAgICIgLXMgPHdpZHRoPiA8aGVpZ2h0PiAuLi4u
IHNwZWNpZnkgc291cmNlIHJlc29sdXRpb24uICAiCisgICAgICAiT3B0aW9uYWwgaWYgbmFtZSBj
b250YWluc1xuIgorICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbiAo
aWUuICIKKyAgICAgICJuYW1lLjE5MjB4ODAwXzI0SHpfUDQyMC55dXYpXG4iCisgICAgICAiICAg
ICAgICAgICAgICAgICAgICAgICAgICBOZWdhdGl2ZSB2YWx1ZSBtaXJyb3JzLlxuIik7CisgIHBy
aW50ZigiIC1kIDx3aWR0aD4gPGhlaWdodD4gLi4uLiBzcGVjaWZ5IGRlc3RpbmF0aW9uIHJlc29s
dXRpb24uXG4iKTsKKyAgcHJpbnRmKCIgLWYgPGZpbHRlcj4gLi4uLi4uLi4uLi4uIDAgPSBwb2lu
dCwgMSA9IGJpbGluZWFyIChkZWZhdWx0KS5cbiIpOworICBwcmludGYoIiAtc2tpcCA8c3JjX2Fy
Z2I+IC4uLi4uLi4gTnVtYmVyIG9mIGZyYW1lIHRvIHNraXAgb2Ygc3JjX2FyZ2JcbiIpOworICBw
cmludGYoIiAtZnJhbWVzIDxudW0+IC4uLi4uLi4uLi4gTnVtYmVyIG9mIGZyYW1lcyB0byBjb252
ZXJ0XG4iKTsKKyAgcHJpbnRmKCIgLWF0dGVudWF0ZSAuLi4uLi4uLi4uLi4uIEF0dGVudWF0ZSB0
aGUgQVJHQiBpbWFnZVxuIik7CisgIHByaW50ZigiIC11bmF0dGVudWF0ZSAuLi4uLi4uLi4uLiBV
bmF0dGVudWF0ZSB0aGUgQVJHQiBpbWFnZVxuIik7CisgIHByaW50ZigiIC12IC4uLi4uLi4uLi4u
Li4uLi4uLi4uLiB2ZXJib3NlXG4iKTsKKyAgcHJpbnRmKCIgLWggLi4uLi4uLi4uLi4uLi4uLi4u
Li4uIHRoaXMgaGVscFxuIik7CisgIGV4aXQoMCk7Cit9CisKK3ZvaWQgUGFyc2VPcHRpb25zKGlu
dCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pIHsKKyAgaWYgKGFyZ2MgPD0gMSkKKyAgICBQcmlu
dEhlbHAoYXJndlswXSk7CisgIGZvciAoaW50IGMgPSAxOyBjIDwgYXJnYzsgKytjKSB7CisgICAg
aWYgKCFzdHJjbXAoYXJndltjXSwgIi12IikpIHsKKyAgICAgIHZlcmJvc2UgPSB0cnVlOworICAg
IH0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2NdLCAiLWF0dGVudWF0ZSIpKSB7CisgICAgICBhdHRl
bnVhdGUgPSB0cnVlOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2NdLCAiLXVuYXR0ZW51
YXRlIikpIHsKKyAgICAgIHVuYXR0ZW51YXRlID0gdHJ1ZTsKKyAgICB9IGVsc2UgaWYgKCFzdHJj
bXAoYXJndltjXSwgIi1oIikgfHwgIXN0cmNtcChhcmd2W2NdLCAiLWhlbHAiKSkgeworICAgICAg
UHJpbnRIZWxwKGFyZ3ZbMF0pOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2NdLCAiLXMi
KSAmJiBjICsgMiA8IGFyZ2MpIHsKKyAgICAgIGltYWdlX3dpZHRoID0gYXRvaShhcmd2WysrY10p
OyAgIC8vIE5PTElOVAorICAgICAgaW1hZ2VfaGVpZ2h0ID0gYXRvaShhcmd2WysrY10pOyAgLy8g
Tk9MSU5UCisgICAgfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbY10sICItZCIpICYmIGMgKyAyIDwg
YXJnYykgeworICAgICAgZHN0X3dpZHRoID0gYXRvaShhcmd2WysrY10pOyAgIC8vIE5PTElOVAor
ICAgICAgZHN0X2hlaWdodCA9IGF0b2koYXJndlsrK2NdKTsgIC8vIE5PTElOVAorICAgIH0gZWxz
ZSBpZiAoIXN0cmNtcChhcmd2W2NdLCAiLXNraXAiKSAmJiBjICsgMSA8IGFyZ2MpIHsKKyAgICAg
IG51bV9za2lwX29yZyA9IGF0b2koYXJndlsrK2NdKTsgIC8vIE5PTElOVAorICAgIH0gZWxzZSBp
ZiAoIXN0cmNtcChhcmd2W2NdLCAiLWZyYW1lcyIpICYmIGMgKyAxIDwgYXJnYykgeworICAgICAg
bnVtX2ZyYW1lcyA9IGF0b2koYXJndlsrK2NdKTsgIC8vIE5PTElOVAorICAgIH0gZWxzZSBpZiAo
IXN0cmNtcChhcmd2W2NdLCAiLWYiKSAmJiBjICsgMSA8IGFyZ2MpIHsKKyAgICAgIGZpbHRlciA9
IGF0b2koYXJndlsrK2NdKTsgIC8vIE5PTElOVAorICAgIH0gZWxzZSBpZiAoYXJndltjXVswXSA9
PSAnLScpIHsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5rbm93biBvcHRpb24uICVzXG4iLCBh
cmd2W2NdKTsKKyAgICB9IGVsc2UgaWYgKGZpbGVpbmRleF9vcmcgPT0gMCkgeworICAgICAgZmls
ZWluZGV4X29yZyA9IGM7CisgICAgfSBlbHNlIGlmIChmaWxlaW5kZXhfcmVjID09IDApIHsKKyAg
ICAgIGZpbGVpbmRleF9yZWMgPSBjOworICAgICAgbnVtX3JlYyA9IDE7CisgICAgfSBlbHNlIHsK
KyAgICAgICsrbnVtX3JlYzsKKyAgICB9CisgIH0KKyAgaWYgKGZpbGVpbmRleF9vcmcgPT0gMCB8
fCBmaWxlaW5kZXhfcmVjID09IDApIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcgZmls
ZW5hbWVzXG4iKTsKKyAgICBQcmludEhlbHAoYXJndlswXSk7CisgIH0KKyAgaWYgKG51bV9za2lw
X29yZyA8IDApIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIlNraXBwZWQgZnJhbWVzIGluY29ycmVj
dFxuIik7CisgICAgUHJpbnRIZWxwKGFyZ3ZbMF0pOworICB9CisgIGlmIChudW1fZnJhbWVzIDwg
MCkgeworICAgIGZwcmludGYoc3RkZXJyLCAiTnVtYmVyIG9mIGZyYW1lcyBpbmNvcnJlY3RcbiIp
OworICAgIFByaW50SGVscChhcmd2WzBdKTsKKyAgfQorCisgIGludCBvcmdfd2lkdGgsIG9yZ19o
ZWlnaHQ7CisgIGludCByZWNfd2lkdGgsIHJlY19oZWlnaHQ7CisgIGJvb2wgb3JnX3Jlc19hdmFp
bCA9IEV4dHJhY3RSZXNvbHV0aW9uRnJvbUZpbGVuYW1lKGFyZ3ZbZmlsZWluZGV4X29yZ10sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvcmdf
d2lkdGgsICZvcmdfaGVpZ2h0KTsKKyAgYm9vbCByZWNfcmVzX2F2YWlsID0gRXh0cmFjdFJlc29s
dXRpb25Gcm9tRmlsZW5hbWUoYXJndltmaWxlaW5kZXhfcmVjXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlY193aWR0aCwgJnJlY19oZWln
aHQpOworICBpZiAoaW1hZ2Vfd2lkdGggPT0gMCB8fCBpbWFnZV9oZWlnaHQgPT0gMCkgeworICAg
IGlmIChvcmdfcmVzX2F2YWlsKSB7CisgICAgICBpbWFnZV93aWR0aCA9IG9yZ193aWR0aDsKKyAg
ICAgIGltYWdlX2hlaWdodCA9IG9yZ19oZWlnaHQ7CisgICAgfSBlbHNlIGlmIChyZWNfcmVzX2F2
YWlsKSB7CisgICAgICBpbWFnZV93aWR0aCA9IHJlY193aWR0aDsKKyAgICAgIGltYWdlX2hlaWdo
dCA9IHJlY19oZWlnaHQ7CisgICAgfSBlbHNlIHsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAiTWlz
c2luZyBkaW1lbnNpb25zLlxuIik7CisgICAgICBQcmludEhlbHAoYXJndlswXSk7CisgICAgfQor
ICB9CisgIGlmIChkc3Rfd2lkdGggPT0gMCB8fCBkc3RfaGVpZ2h0ID09IDApIHsKKyAgICBpZiAo
cmVjX3Jlc19hdmFpbCkgeworICAgICAgZHN0X3dpZHRoID0gcmVjX3dpZHRoOworICAgICAgZHN0
X2hlaWdodCA9IHJlY19oZWlnaHQ7CisgICAgfSBlbHNlIHsKKyAgICAgIGRzdF93aWR0aCA9IEFi
cyhpbWFnZV93aWR0aCk7CisgICAgICBkc3RfaGVpZ2h0ID0gQWJzKGltYWdlX2hlaWdodCk7Cisg
ICAgfQorICB9Cit9CisKK3N0YXRpYyBjb25zdCBpbnQga1RpbGVYID0gMzI7CitzdGF0aWMgY29u
c3QgaW50IGtUaWxlWSA9IDMyOworCitzdGF0aWMgaW50IFRpbGVBUkdCU2NhbGUoY29uc3QgdWlu
dDgqIHNyY19hcmdiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNfc3RyaWRlX2Fy
Z2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNyY193aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OCogZHN0X2FyZ2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdF9zdHJpZGVf
YXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZHN0X3dpZHRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCBkc3RfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnl1djo6RmlsdGVyTW9kZSBmaWx0ZXJpbmcpIHsKKyAgZm9yIChpbnQgeSA9IDA7IHkgPCBk
c3RfaGVpZ2h0OyB5ICs9IGtUaWxlWSkgeworICAgIGZvciAoaW50IHggPSAwOyB4IDwgZHN0X3dp
ZHRoOyB4ICs9IGtUaWxlWCkgeworICAgICAgaW50IGNsaXBfd2lkdGggPSBrVGlsZVg7CisgICAg
ICBpZiAoeCArIGNsaXBfd2lkdGggPiBkc3Rfd2lkdGgpIHsKKyAgICAgICAgY2xpcF93aWR0aCA9
IGRzdF93aWR0aCAtIHg7CisgICAgICB9CisgICAgICBpbnQgY2xpcF9oZWlnaHQgPSBrVGlsZVk7
CisgICAgICBpZiAoeSArIGNsaXBfaGVpZ2h0ID4gZHN0X2hlaWdodCkgeworICAgICAgICBjbGlw
X2hlaWdodCA9IGRzdF9oZWlnaHQgLSB5OworICAgICAgfQorICAgICAgaW50IHIgPSBsaWJ5dXY6
OkFSR0JTY2FsZUNsaXAoc3JjX2FyZ2IsIHNyY19zdHJpZGVfYXJnYiwgc3JjX3dpZHRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX2hlaWdodCwgZHN0X2FyZ2IsIGRz
dF9zdHJpZGVfYXJnYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF93
aWR0aCwgZHN0X2hlaWdodCwgeCwgeSwgY2xpcF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNsaXBfaGVpZ2h0LCBmaWx0ZXJpbmcpOworICAgICAgaWYgKHIpIHsK
KyAgICAgICAgcmV0dXJuIHI7CisgICAgICB9CisgICAgfQorICB9CisgIHJldHVybiAwOworfQor
CitpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKSB7CisgIFBhcnNlT3B0aW9u
cyhhcmdjLCBhcmd2KTsKKworICAvLyBPcGVuIG9yaWdpbmFsIGZpbGUgKGZpcnN0IGZpbGUgYXJn
dW1lbnQpCisgIEZJTEUqIGNvbnN0IGZpbGVfb3JnID0gZm9wZW4oYXJndltmaWxlaW5kZXhfb3Jn
XSwgInJiIik7CisgIGlmIChmaWxlX29yZyA9PSBOVUxMKSB7CisgICAgZnByaW50ZihzdGRlcnIs
ICJDYW5ub3Qgb3BlbiAlc1xuIiwgYXJndltmaWxlaW5kZXhfb3JnXSk7CisgICAgZXhpdCgxKTsK
KyAgfQorCisgIC8vIE9wZW4gYWxsIGZpbGVzIHRvIGNvbnZlcnQgdG8KKyAgRklMRSoqIGZpbGVf
cmVjID0gbmV3IEZJTEUqW251bV9yZWNdOworICBtZW1zZXQoZmlsZV9yZWMsIDAsIG51bV9yZWMg
KiBzaXplb2YoRklMRSopKTsgIC8vIE5PTElOVAorICBmb3IgKGludCBjdXJfcmVjID0gMDsgY3Vy
X3JlYyA8IG51bV9yZWM7ICsrY3VyX3JlYykgeworICAgIGZpbGVfcmVjW2N1cl9yZWNdID0gZm9w
ZW4oYXJndltmaWxlaW5kZXhfcmVjICsgY3VyX3JlY10sICJ3YiIpOworICAgIGlmIChmaWxlX3Jl
Y1tjdXJfcmVjXSA9PSBOVUxMKSB7CisgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbm5vdCBvcGVu
ICVzXG4iLCBhcmd2W2ZpbGVpbmRleF9yZWMgKyBjdXJfcmVjXSk7CisgICAgICBmY2xvc2UoZmls
ZV9vcmcpOworICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjdXJfcmVjOyArK2kpIHsKKyAgICAg
ICAgZmNsb3NlKGZpbGVfcmVjW2ldKTsKKyAgICAgIH0KKyAgICAgIGRlbGV0ZVtdIGZpbGVfcmVj
OworICAgICAgZXhpdCgxKTsKKyAgICB9CisgIH0KKworICBib29sIG9yZ19pc195dXYgPSBzdHJz
dHIoYXJndltmaWxlaW5kZXhfb3JnXSwgIl9QNDIwLiIpICE9IE5VTEw7CisgIGJvb2wgb3JnX2lz
X2FyZ2IgPSBzdHJzdHIoYXJndltmaWxlaW5kZXhfb3JnXSwgIl9BUkdCLiIpICE9IE5VTEw7Cisg
IGlmICghb3JnX2lzX3l1diAmJiAhb3JnX2lzX2FyZ2IpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwg
Ik9yaWdpbmFsIGZvcm1hdCB1bmtub3duICVzXG4iLCBhcmd2W2ZpbGVpbmRleF9vcmddKTsKKyAg
ICBleGl0KDEpOworICB9CisgIGludCBvcmdfc2l6ZSA9IEFicyhpbWFnZV93aWR0aCkgKiBBYnMo
aW1hZ2VfaGVpZ2h0KSAqIDQ7ICAvLyBBUkdCCisgIC8vIElucHV0IGlzIFlVVgorICBpZiAob3Jn
X2lzX3l1dikgeworICAgIGNvbnN0IGludCB5X3NpemUgPSBBYnMoaW1hZ2Vfd2lkdGgpICogQWJz
KGltYWdlX2hlaWdodCk7CisgICAgY29uc3QgaW50IHV2X3NpemUgPQorICAgICAgICAoKEFicyhp
bWFnZV93aWR0aCkgKyAxKSAvIDIpICogKChBYnMoaW1hZ2VfaGVpZ2h0KSArIDEpIC8gMik7Cisg
ICAgb3JnX3NpemUgPSB5X3NpemUgKyAyICogdXZfc2l6ZTsgIC8vIFlVViBvcmlnaW5hbC4KKyAg
fQorCisgIGNvbnN0IGludCBkc3Rfc2l6ZSA9IGRzdF93aWR0aCAqIGRzdF9oZWlnaHQgKiA0OyAg
Ly8gQVJHQiBzY2FsZWQKKyAgY29uc3QgaW50IHlfc2l6ZSA9IGRzdF93aWR0aCAqIGRzdF9oZWln
aHQ7CisgIGNvbnN0IGludCB1dl9zaXplID0gKChkc3Rfd2lkdGggKyAxKSAvIDIpICogKChkc3Rf
aGVpZ2h0ICsgMSkgLyAyKTsKKyAgY29uc3Qgc2l6ZV90IHRvdGFsX3NpemUgPSB5X3NpemUgKyAy
ICogdXZfc2l6ZTsKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKQorICBfZnNlZWtpNjQoZmlsZV9vcmcs
CisgICAgICAgICAgICBzdGF0aWNfY2FzdDxfX2ludDY0PihudW1fc2tpcF9vcmcpICogc3RhdGlj
X2Nhc3Q8X19pbnQ2ND4ob3JnX3NpemUpLAorICAgICAgICAgICAgU0VFS19TRVQpOworI2Vsc2UK
KyAgZnNlZWsoZmlsZV9vcmcsIG51bV9za2lwX29yZyAqIHRvdGFsX3NpemUsIFNFRUtfU0VUKTsK
KyNlbmRpZgorCisgIHVpbnQ4KiBjb25zdCBjaF9vcmcgPSBuZXcgdWludDhbb3JnX3NpemVdOwor
ICB1aW50OCogY29uc3QgY2hfZHN0ID0gbmV3IHVpbnQ4W2RzdF9zaXplXTsKKyAgdWludDgqIGNv
bnN0IGNoX3JlYyA9IG5ldyB1aW50OFt0b3RhbF9zaXplXTsKKyAgaWYgKGNoX29yZyA9PSBOVUxM
IHx8IGNoX3JlYyA9PSBOVUxMKSB7CisgICAgZnByaW50ZihzdGRlcnIsICJObyBtZW1vcnkgYXZh
aWxhYmxlXG4iKTsKKyAgICBmY2xvc2UoZmlsZV9vcmcpOworICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgbnVtX3JlYzsgKytpKSB7CisgICAgICBmY2xvc2UoZmlsZV9yZWNbaV0pOworICAgIH0KKyAg
ICBkZWxldGVbXSBjaF9vcmc7CisgICAgZGVsZXRlW10gY2hfZHN0OworICAgIGRlbGV0ZVtdIGNo
X3JlYzsKKyAgICBkZWxldGVbXSBmaWxlX3JlYzsKKyAgICBleGl0KDEpOworICB9CisKKyAgaWYg
KHZlcmJvc2UpIHsKKyAgICBwcmludGYoIlNpemU6ICVkeCVkIHRvICVkeCVkXG4iLCBpbWFnZV93
aWR0aCwgaW1hZ2VfaGVpZ2h0LCBkc3Rfd2lkdGgsCisgICAgICAgICAgIGRzdF9oZWlnaHQpOwor
ICB9CisKKyAgaW50IG51bWJlcl9vZl9mcmFtZXM7CisgIGZvciAobnVtYmVyX29mX2ZyYW1lcyA9
IDA7OyArK251bWJlcl9vZl9mcmFtZXMpIHsKKyAgICBpZiAobnVtX2ZyYW1lcyAmJiBudW1iZXJf
b2ZfZnJhbWVzID49IG51bV9mcmFtZXMpCisgICAgICBicmVhazsKKworICAgIC8vIExvYWQgb3Jp
Z2luYWwgWVVWIG9yIEFSR0IgZnJhbWUuCisgICAgc2l6ZV90IGJ5dGVzX29yZyA9CisgICAgICAg
IGZyZWFkKGNoX29yZywgc2l6ZW9mKHVpbnQ4KSwgc3RhdGljX2Nhc3Q8c2l6ZV90Pihvcmdfc2l6
ZSksIGZpbGVfb3JnKTsKKyAgICBpZiAoYnl0ZXNfb3JnIDwgc3RhdGljX2Nhc3Q8c2l6ZV90Pihv
cmdfc2l6ZSkpCisgICAgICBicmVhazsKKworICAgIC8vIFRPRE8oZmJhcmNoYXJkKTogQXR0ZW51
YXRlIGRvZXNudCBuZWVkIHRvIGtub3cgZGltZW5zaW9ucy4KKyAgICAvLyBBUkdCIGF0dGVudWF0
ZSBmcmFtZQorICAgIGlmIChvcmdfaXNfYXJnYiAmJiBhdHRlbnVhdGUpIHsKKyAgICAgIGxpYnl1
djo6QVJHQkF0dGVudWF0ZShjaF9vcmcsIDAsIGNoX29yZywgMCwgb3JnX3NpemUgLyA0LCAxKTsK
KyAgICB9CisgICAgLy8gQVJHQiB1bmF0dGVudWF0ZSBmcmFtZQorICAgIGlmIChvcmdfaXNfYXJn
YiAmJiB1bmF0dGVudWF0ZSkgeworICAgICAgbGlieXV2OjpBUkdCVW5hdHRlbnVhdGUoY2hfb3Jn
LCAwLCBjaF9vcmcsIDAsIG9yZ19zaXplIC8gNCwgMSk7CisgICAgfQorCisgICAgZm9yIChpbnQg
Y3VyX3JlYyA9IDA7IGN1cl9yZWMgPCBudW1fcmVjOyArK2N1cl9yZWMpIHsKKyAgICAgIC8vIFNj
YWxlIFlVViBvciBBUkdCIGZyYW1lLgorICAgICAgaWYgKG9yZ19pc195dXYpIHsKKyAgICAgICAg
aW50IHNyY193aWR0aCA9IEFicyhpbWFnZV93aWR0aCk7CisgICAgICAgIGludCBzcmNfaGVpZ2h0
ID0gQWJzKGltYWdlX2hlaWdodCk7CisgICAgICAgIGludCBoYWxmX3NyY193aWR0aCA9IChzcmNf
d2lkdGggKyAxKSAvIDI7CisgICAgICAgIGludCBoYWxmX3NyY19oZWlnaHQgPSAoc3JjX2hlaWdo
dCArIDEpIC8gMjsKKyAgICAgICAgaW50IGhhbGZfZHN0X3dpZHRoID0gKGRzdF93aWR0aCArIDEp
IC8gMjsKKyAgICAgICAgaW50IGhhbGZfZHN0X2hlaWdodCA9IChkc3RfaGVpZ2h0ICsgMSkgLyAy
OworICAgICAgICBJNDIwU2NhbGUoCisgICAgICAgICAgICBjaF9vcmcsIHNyY193aWR0aCwgY2hf
b3JnICsgc3JjX3dpZHRoICogc3JjX2hlaWdodCwgaGFsZl9zcmNfd2lkdGgsCisgICAgICAgICAg
ICBjaF9vcmcgKyBzcmNfd2lkdGggKiBzcmNfaGVpZ2h0ICsgaGFsZl9zcmNfd2lkdGggKiBoYWxm
X3NyY19oZWlnaHQsCisgICAgICAgICAgICBoYWxmX3NyY193aWR0aCwgaW1hZ2Vfd2lkdGgsIGlt
YWdlX2hlaWdodCwgY2hfcmVjLCBkc3Rfd2lkdGgsCisgICAgICAgICAgICBjaF9yZWMgKyBkc3Rf
d2lkdGggKiBkc3RfaGVpZ2h0LCBoYWxmX2RzdF93aWR0aCwKKyAgICAgICAgICAgIGNoX3JlYyAr
IGRzdF93aWR0aCAqIGRzdF9oZWlnaHQgKyBoYWxmX2RzdF93aWR0aCAqIGhhbGZfZHN0X2hlaWdo
dCwKKyAgICAgICAgICAgIGhhbGZfZHN0X3dpZHRoLCBkc3Rfd2lkdGgsIGRzdF9oZWlnaHQsCisg
ICAgICAgICAgICBzdGF0aWNfY2FzdDxsaWJ5dXY6OkZpbHRlck1vZGU+KGZpbHRlcikpOworICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgVGlsZUFSR0JTY2FsZShjaF9vcmcsIEFicyhpbWFnZV93aWR0
aCkgKiA0LCBpbWFnZV93aWR0aCwgaW1hZ2VfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAg
IGNoX2RzdCwgZHN0X3dpZHRoICogNCwgZHN0X3dpZHRoLCBkc3RfaGVpZ2h0LAorICAgICAgICAg
ICAgICAgICAgICAgIHN0YXRpY19jYXN0PGxpYnl1djo6RmlsdGVyTW9kZT4oZmlsdGVyKSk7Cisg
ICAgICB9CisgICAgICBib29sIHJlY19pc195dXYgPSBzdHJzdHIoYXJndltmaWxlaW5kZXhfcmVj
ICsgY3VyX3JlY10sICJfUDQyMC4iKSAhPSBOVUxMOworICAgICAgYm9vbCByZWNfaXNfYXJnYiA9
CisgICAgICAgICAgc3Ryc3RyKGFyZ3ZbZmlsZWluZGV4X3JlYyArIGN1cl9yZWNdLCAiX0FSR0Iu
IikgIT0gTlVMTDsKKyAgICAgIGlmICghcmVjX2lzX3l1diAmJiAhcmVjX2lzX2FyZ2IpIHsKKyAg
ICAgICAgZnByaW50ZihzdGRlcnIsICJPdXRwdXQgZm9ybWF0IHVua25vd24gJXNcbiIsCisgICAg
ICAgICAgICAgICAgYXJndltmaWxlaW5kZXhfcmVjICsgY3VyX3JlY10pOworICAgICAgICBjb250
aW51ZTsgIC8vIEFkdmFuY2UgdG8gbmV4dCBmaWxlLgorICAgICAgfQorCisgICAgICAvLyBDb252
ZXJ0IEFSR0IgdG8gWVVWLgorICAgICAgaWYgKCFvcmdfaXNfeXV2ICYmIHJlY19pc195dXYpIHsK
KyAgICAgICAgaW50IGhhbGZfd2lkdGggPSAoZHN0X3dpZHRoICsgMSkgLyAyOworICAgICAgICBp
bnQgaGFsZl9oZWlnaHQgPSAoZHN0X2hlaWdodCArIDEpIC8gMjsKKyAgICAgICAgbGlieXV2OjpB
UkdCVG9JNDIwKAorICAgICAgICAgICAgY2hfZHN0LCBkc3Rfd2lkdGggKiA0LCBjaF9yZWMsIGRz
dF93aWR0aCwKKyAgICAgICAgICAgIGNoX3JlYyArIGRzdF93aWR0aCAqIGRzdF9oZWlnaHQsIGhh
bGZfd2lkdGgsCisgICAgICAgICAgICBjaF9yZWMgKyBkc3Rfd2lkdGggKiBkc3RfaGVpZ2h0ICsg
aGFsZl93aWR0aCAqIGhhbGZfaGVpZ2h0LAorICAgICAgICAgICAgaGFsZl93aWR0aCwgZHN0X3dp
ZHRoLCBkc3RfaGVpZ2h0KTsKKyAgICAgIH0KKworICAgICAgLy8gT3V0cHV0IFlVViBvciBBUkdC
IGZyYW1lLgorICAgICAgaWYgKHJlY19pc195dXYpIHsKKyAgICAgICAgc2l6ZV90IGJ5dGVzX3Jl
YyA9CisgICAgICAgICAgICBmd3JpdGUoY2hfcmVjLCBzaXplb2YodWludDgpLCBzdGF0aWNfY2Fz
dDxzaXplX3Q+KHRvdGFsX3NpemUpLAorICAgICAgICAgICAgICAgICAgIGZpbGVfcmVjW2N1cl9y
ZWNdKTsKKyAgICAgICAgaWYgKGJ5dGVzX3JlYyA8IHN0YXRpY19jYXN0PHNpemVfdD4odG90YWxf
c2l6ZSkpCisgICAgICAgICAgYnJlYWs7CisgICAgICB9IGVsc2UgeworICAgICAgICBzaXplX3Qg
Ynl0ZXNfcmVjID0KKyAgICAgICAgICAgIGZ3cml0ZShjaF9kc3QsIHNpemVvZih1aW50OCksIHN0
YXRpY19jYXN0PHNpemVfdD4oZHN0X3NpemUpLAorICAgICAgICAgICAgICAgICAgIGZpbGVfcmVj
W2N1cl9yZWNdKTsKKyAgICAgICAgaWYgKGJ5dGVzX3JlYyA8IHN0YXRpY19jYXN0PHNpemVfdD4o
ZHN0X3NpemUpKQorICAgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgaWYgKHZlcmJvc2Up
IHsKKyAgICAgICAgcHJpbnRmKCIlNWQiLCBudW1iZXJfb2ZfZnJhbWVzKTsKKyAgICAgIH0KKyAg
ICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgIHByaW50ZigiXHQlcyIsIGFyZ3ZbZmlsZWluZGV4
X3JlYyArIGN1cl9yZWNdKTsKKyAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgfQorICAgIH0K
KyAgfQorCisgIGZjbG9zZShmaWxlX29yZyk7CisgIGZvciAoaW50IGN1cl9yZWMgPSAwOyBjdXJf
cmVjIDwgbnVtX3JlYzsgKytjdXJfcmVjKSB7CisgICAgZmNsb3NlKGZpbGVfcmVjW2N1cl9yZWNd
KTsKKyAgfQorICBkZWxldGVbXSBjaF9vcmc7CisgIGRlbGV0ZVtdIGNoX2RzdDsKKyAgZGVsZXRl
W10gY2hfcmVjOworICBkZWxldGVbXSBmaWxlX3JlYzsKKyAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>